@kilocode/sdk 7.3.54 → 7.4.0
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/gen/types.gen.d.ts +8 -0
- package/dist/v2/gen/sdk.gen.d.ts +193 -1
- package/dist/v2/gen/sdk.gen.js +419 -0
- package/dist/v2/gen/types.gen.d.ts +957 -45
- package/package.json +1 -1
package/dist/v2/gen/sdk.gen.js
CHANGED
|
@@ -3779,6 +3779,37 @@ export class BackgroundProcess extends HeyApiClient {
|
|
|
3779
3779
|
});
|
|
3780
3780
|
}
|
|
3781
3781
|
}
|
|
3782
|
+
export class BranchName extends HeyApiClient {
|
|
3783
|
+
/**
|
|
3784
|
+
* Generate branch name
|
|
3785
|
+
*
|
|
3786
|
+
* Generate a task-focused branch name from the current conversation.
|
|
3787
|
+
*/
|
|
3788
|
+
generate(parameters, options) {
|
|
3789
|
+
const params = buildClientParams([parameters], [
|
|
3790
|
+
{
|
|
3791
|
+
args: [
|
|
3792
|
+
{ in: "path", key: "sessionID" },
|
|
3793
|
+
{ in: "query", key: "directory" },
|
|
3794
|
+
{ in: "query", key: "workspace" },
|
|
3795
|
+
{ in: "body", key: "prompt" },
|
|
3796
|
+
{ in: "body", key: "providerID" },
|
|
3797
|
+
{ in: "body", key: "modelID" },
|
|
3798
|
+
],
|
|
3799
|
+
},
|
|
3800
|
+
]);
|
|
3801
|
+
return (options?.client ?? this.client).post({
|
|
3802
|
+
url: "/session/{sessionID}/branch-name",
|
|
3803
|
+
...options,
|
|
3804
|
+
...params,
|
|
3805
|
+
headers: {
|
|
3806
|
+
"Content-Type": "application/json",
|
|
3807
|
+
...options?.headers,
|
|
3808
|
+
...params.headers,
|
|
3809
|
+
},
|
|
3810
|
+
});
|
|
3811
|
+
}
|
|
3812
|
+
}
|
|
3782
3813
|
export class CommitMessage extends HeyApiClient {
|
|
3783
3814
|
/**
|
|
3784
3815
|
* Generate commit message
|
|
@@ -3899,6 +3930,124 @@ export class Indexing extends HeyApiClient {
|
|
|
3899
3930
|
});
|
|
3900
3931
|
}
|
|
3901
3932
|
}
|
|
3933
|
+
export class InteractiveTerminal extends HeyApiClient {
|
|
3934
|
+
/**
|
|
3935
|
+
* List interactive terminals
|
|
3936
|
+
*
|
|
3937
|
+
* List active human-driven terminal sessions for the current instance.
|
|
3938
|
+
*/
|
|
3939
|
+
list(parameters, options) {
|
|
3940
|
+
const params = buildClientParams([parameters], [
|
|
3941
|
+
{
|
|
3942
|
+
args: [
|
|
3943
|
+
{ in: "query", key: "directory" },
|
|
3944
|
+
{ in: "query", key: "workspace" },
|
|
3945
|
+
],
|
|
3946
|
+
},
|
|
3947
|
+
]);
|
|
3948
|
+
return (options?.client ?? this.client).get({
|
|
3949
|
+
url: "/interactive-terminal",
|
|
3950
|
+
...options,
|
|
3951
|
+
...params,
|
|
3952
|
+
});
|
|
3953
|
+
}
|
|
3954
|
+
/**
|
|
3955
|
+
* Get interactive terminal
|
|
3956
|
+
*
|
|
3957
|
+
* Get metadata and retained output for an active interactive terminal.
|
|
3958
|
+
*/
|
|
3959
|
+
get(parameters, options) {
|
|
3960
|
+
const params = buildClientParams([parameters], [
|
|
3961
|
+
{
|
|
3962
|
+
args: [
|
|
3963
|
+
{ in: "path", key: "terminalID" },
|
|
3964
|
+
{ in: "query", key: "directory" },
|
|
3965
|
+
{ in: "query", key: "workspace" },
|
|
3966
|
+
],
|
|
3967
|
+
},
|
|
3968
|
+
]);
|
|
3969
|
+
return (options?.client ?? this.client).get({
|
|
3970
|
+
url: "/interactive-terminal/{terminalID}",
|
|
3971
|
+
...options,
|
|
3972
|
+
...params,
|
|
3973
|
+
});
|
|
3974
|
+
}
|
|
3975
|
+
/**
|
|
3976
|
+
* Write interactive terminal input
|
|
3977
|
+
*
|
|
3978
|
+
* Send raw keyboard input to an active interactive terminal.
|
|
3979
|
+
*/
|
|
3980
|
+
write(parameters, options) {
|
|
3981
|
+
const params = buildClientParams([parameters], [
|
|
3982
|
+
{
|
|
3983
|
+
args: [
|
|
3984
|
+
{ in: "path", key: "terminalID" },
|
|
3985
|
+
{ in: "query", key: "directory" },
|
|
3986
|
+
{ in: "query", key: "workspace" },
|
|
3987
|
+
{ key: "interactiveTerminalWriteInput", map: "body" },
|
|
3988
|
+
],
|
|
3989
|
+
},
|
|
3990
|
+
]);
|
|
3991
|
+
return (options?.client ?? this.client).post({
|
|
3992
|
+
url: "/interactive-terminal/{terminalID}/input",
|
|
3993
|
+
...options,
|
|
3994
|
+
...params,
|
|
3995
|
+
headers: {
|
|
3996
|
+
"Content-Type": "application/json",
|
|
3997
|
+
...options?.headers,
|
|
3998
|
+
...params.headers,
|
|
3999
|
+
},
|
|
4000
|
+
});
|
|
4001
|
+
}
|
|
4002
|
+
/**
|
|
4003
|
+
* Resize interactive terminal
|
|
4004
|
+
*
|
|
4005
|
+
* Resize an active interactive terminal's PTY.
|
|
4006
|
+
*/
|
|
4007
|
+
resize(parameters, options) {
|
|
4008
|
+
const params = buildClientParams([parameters], [
|
|
4009
|
+
{
|
|
4010
|
+
args: [
|
|
4011
|
+
{ in: "path", key: "terminalID" },
|
|
4012
|
+
{ in: "query", key: "directory" },
|
|
4013
|
+
{ in: "query", key: "workspace" },
|
|
4014
|
+
{ key: "interactiveTerminalResizeInput", map: "body" },
|
|
4015
|
+
],
|
|
4016
|
+
},
|
|
4017
|
+
]);
|
|
4018
|
+
return (options?.client ?? this.client).post({
|
|
4019
|
+
url: "/interactive-terminal/{terminalID}/resize",
|
|
4020
|
+
...options,
|
|
4021
|
+
...params,
|
|
4022
|
+
headers: {
|
|
4023
|
+
"Content-Type": "application/json",
|
|
4024
|
+
...options?.headers,
|
|
4025
|
+
...params.headers,
|
|
4026
|
+
},
|
|
4027
|
+
});
|
|
4028
|
+
}
|
|
4029
|
+
/**
|
|
4030
|
+
* Close interactive terminal
|
|
4031
|
+
*
|
|
4032
|
+
* Terminate an active interactive terminal and unblock its tool call.
|
|
4033
|
+
*/
|
|
4034
|
+
close(parameters, options) {
|
|
4035
|
+
const params = buildClientParams([parameters], [
|
|
4036
|
+
{
|
|
4037
|
+
args: [
|
|
4038
|
+
{ in: "path", key: "terminalID" },
|
|
4039
|
+
{ in: "query", key: "directory" },
|
|
4040
|
+
{ in: "query", key: "workspace" },
|
|
4041
|
+
],
|
|
4042
|
+
},
|
|
4043
|
+
]);
|
|
4044
|
+
return (options?.client ?? this.client).post({
|
|
4045
|
+
url: "/interactive-terminal/{terminalID}/close",
|
|
4046
|
+
...options,
|
|
4047
|
+
...params,
|
|
4048
|
+
});
|
|
4049
|
+
}
|
|
4050
|
+
}
|
|
3902
4051
|
export class Audio extends HeyApiClient {
|
|
3903
4052
|
/**
|
|
3904
4053
|
* Speech to text transcription
|
|
@@ -4266,6 +4415,82 @@ export class Heap extends HeyApiClient {
|
|
|
4266
4415
|
});
|
|
4267
4416
|
}
|
|
4268
4417
|
}
|
|
4418
|
+
export class Notebook extends HeyApiClient {
|
|
4419
|
+
/**
|
|
4420
|
+
* List pending notebook requests
|
|
4421
|
+
*
|
|
4422
|
+
* List pending native notebook requests for the routed workspace.
|
|
4423
|
+
*/
|
|
4424
|
+
list(parameters, options) {
|
|
4425
|
+
const params = buildClientParams([parameters], [
|
|
4426
|
+
{
|
|
4427
|
+
args: [
|
|
4428
|
+
{ in: "query", key: "directory" },
|
|
4429
|
+
{ in: "query", key: "workspace" },
|
|
4430
|
+
],
|
|
4431
|
+
},
|
|
4432
|
+
]);
|
|
4433
|
+
return (options?.client ?? this.client).get({
|
|
4434
|
+
url: "/kilocode/notebook",
|
|
4435
|
+
...options,
|
|
4436
|
+
...params,
|
|
4437
|
+
});
|
|
4438
|
+
}
|
|
4439
|
+
/**
|
|
4440
|
+
* Reply to a notebook request
|
|
4441
|
+
*
|
|
4442
|
+
* Complete a pending native notebook request with a structured result.
|
|
4443
|
+
*/
|
|
4444
|
+
reply(parameters, options) {
|
|
4445
|
+
const params = buildClientParams([parameters], [
|
|
4446
|
+
{
|
|
4447
|
+
args: [
|
|
4448
|
+
{ in: "path", key: "requestID" },
|
|
4449
|
+
{ in: "query", key: "directory" },
|
|
4450
|
+
{ in: "query", key: "workspace" },
|
|
4451
|
+
{ in: "body", key: "result" },
|
|
4452
|
+
],
|
|
4453
|
+
},
|
|
4454
|
+
]);
|
|
4455
|
+
return (options?.client ?? this.client).post({
|
|
4456
|
+
url: "/kilocode/notebook/{requestID}/reply",
|
|
4457
|
+
...options,
|
|
4458
|
+
...params,
|
|
4459
|
+
headers: {
|
|
4460
|
+
"Content-Type": "application/json",
|
|
4461
|
+
...options?.headers,
|
|
4462
|
+
...params.headers,
|
|
4463
|
+
},
|
|
4464
|
+
});
|
|
4465
|
+
}
|
|
4466
|
+
/**
|
|
4467
|
+
* Reject a notebook request
|
|
4468
|
+
*
|
|
4469
|
+
* Complete a pending native notebook request with a structured host error.
|
|
4470
|
+
*/
|
|
4471
|
+
reject(parameters, options) {
|
|
4472
|
+
const params = buildClientParams([parameters], [
|
|
4473
|
+
{
|
|
4474
|
+
args: [
|
|
4475
|
+
{ in: "path", key: "requestID" },
|
|
4476
|
+
{ in: "query", key: "directory" },
|
|
4477
|
+
{ in: "query", key: "workspace" },
|
|
4478
|
+
{ in: "body", key: "error" },
|
|
4479
|
+
],
|
|
4480
|
+
},
|
|
4481
|
+
]);
|
|
4482
|
+
return (options?.client ?? this.client).post({
|
|
4483
|
+
url: "/kilocode/notebook/{requestID}/reject",
|
|
4484
|
+
...options,
|
|
4485
|
+
...params,
|
|
4486
|
+
headers: {
|
|
4487
|
+
"Content-Type": "application/json",
|
|
4488
|
+
...options?.headers,
|
|
4489
|
+
...params.headers,
|
|
4490
|
+
},
|
|
4491
|
+
});
|
|
4492
|
+
}
|
|
4493
|
+
}
|
|
4269
4494
|
export class SessionImport extends HeyApiClient {
|
|
4270
4495
|
/**
|
|
4271
4496
|
* Insert project for session import
|
|
@@ -4414,6 +4639,27 @@ export class SessionImport extends HeyApiClient {
|
|
|
4414
4639
|
}
|
|
4415
4640
|
}
|
|
4416
4641
|
export class Kilocode extends HeyApiClient {
|
|
4642
|
+
/**
|
|
4643
|
+
* Check agent requirements
|
|
4644
|
+
*
|
|
4645
|
+
* Check whether the selected agent's requirements are available in the request directory.
|
|
4646
|
+
*/
|
|
4647
|
+
agentRequirements(parameters, options) {
|
|
4648
|
+
const params = buildClientParams([parameters], [
|
|
4649
|
+
{
|
|
4650
|
+
args: [
|
|
4651
|
+
{ in: "query", key: "directory" },
|
|
4652
|
+
{ in: "query", key: "workspace" },
|
|
4653
|
+
{ in: "query", key: "agent" },
|
|
4654
|
+
],
|
|
4655
|
+
},
|
|
4656
|
+
]);
|
|
4657
|
+
return (options?.client ?? this.client).get({
|
|
4658
|
+
url: "/kilocode/agent/requirements",
|
|
4659
|
+
...options,
|
|
4660
|
+
...params,
|
|
4661
|
+
});
|
|
4662
|
+
}
|
|
4417
4663
|
/**
|
|
4418
4664
|
* Remove a skill
|
|
4419
4665
|
*
|
|
@@ -4466,15 +4712,108 @@ export class Kilocode extends HeyApiClient {
|
|
|
4466
4712
|
},
|
|
4467
4713
|
});
|
|
4468
4714
|
}
|
|
4715
|
+
/**
|
|
4716
|
+
* Get session model usage
|
|
4717
|
+
*
|
|
4718
|
+
* Get token usage and direct cost by model for the complete top-level session tree.
|
|
4719
|
+
*/
|
|
4720
|
+
sessionModelUsage(parameters, options) {
|
|
4721
|
+
const params = buildClientParams([parameters], [
|
|
4722
|
+
{
|
|
4723
|
+
args: [
|
|
4724
|
+
{ in: "path", key: "sessionID" },
|
|
4725
|
+
{ in: "query", key: "directory" },
|
|
4726
|
+
{ in: "query", key: "workspace" },
|
|
4727
|
+
],
|
|
4728
|
+
},
|
|
4729
|
+
]);
|
|
4730
|
+
return (options?.client ?? this.client).get({
|
|
4731
|
+
url: "/session/{sessionID}/model-usage",
|
|
4732
|
+
...options,
|
|
4733
|
+
...params,
|
|
4734
|
+
});
|
|
4735
|
+
}
|
|
4469
4736
|
_heap;
|
|
4470
4737
|
get heap() {
|
|
4471
4738
|
return (this._heap ??= new Heap({ client: this.client }));
|
|
4472
4739
|
}
|
|
4740
|
+
_notebook;
|
|
4741
|
+
get notebook() {
|
|
4742
|
+
return (this._notebook ??= new Notebook({ client: this.client }));
|
|
4743
|
+
}
|
|
4473
4744
|
_sessionImport;
|
|
4474
4745
|
get sessionImport() {
|
|
4475
4746
|
return (this._sessionImport ??= new SessionImport({ client: this.client }));
|
|
4476
4747
|
}
|
|
4477
4748
|
}
|
|
4749
|
+
export class AnacondaDesktop extends HeyApiClient {
|
|
4750
|
+
/**
|
|
4751
|
+
* Get Anaconda Desktop setup status
|
|
4752
|
+
*
|
|
4753
|
+
* Discover the locally installed Anaconda Desktop and its active inference server.
|
|
4754
|
+
*/
|
|
4755
|
+
status(parameters, options) {
|
|
4756
|
+
const params = buildClientParams([parameters], [
|
|
4757
|
+
{
|
|
4758
|
+
args: [
|
|
4759
|
+
{ in: "query", key: "directory" },
|
|
4760
|
+
{ in: "query", key: "workspace" },
|
|
4761
|
+
],
|
|
4762
|
+
},
|
|
4763
|
+
]);
|
|
4764
|
+
return (options?.client ?? this.client).get({
|
|
4765
|
+
url: "/kilocode/anaconda-desktop/status",
|
|
4766
|
+
...options,
|
|
4767
|
+
...params,
|
|
4768
|
+
});
|
|
4769
|
+
}
|
|
4770
|
+
/**
|
|
4771
|
+
* Open Anaconda Desktop
|
|
4772
|
+
*
|
|
4773
|
+
* Open the locally installed Anaconda Desktop application.
|
|
4774
|
+
*/
|
|
4775
|
+
open(parameters, options) {
|
|
4776
|
+
const params = buildClientParams([parameters], [
|
|
4777
|
+
{
|
|
4778
|
+
args: [
|
|
4779
|
+
{ in: "query", key: "directory" },
|
|
4780
|
+
{ in: "query", key: "workspace" },
|
|
4781
|
+
],
|
|
4782
|
+
},
|
|
4783
|
+
]);
|
|
4784
|
+
return (options?.client ?? this.client).post({
|
|
4785
|
+
url: "/kilocode/anaconda-desktop/open",
|
|
4786
|
+
...options,
|
|
4787
|
+
...params,
|
|
4788
|
+
});
|
|
4789
|
+
}
|
|
4790
|
+
/**
|
|
4791
|
+
* Synchronize Anaconda Desktop provider
|
|
4792
|
+
*
|
|
4793
|
+
* Discover the active local inference server and replace Kilo provider authentication metadata.
|
|
4794
|
+
*/
|
|
4795
|
+
sync(parameters, options) {
|
|
4796
|
+
const params = buildClientParams([parameters], [
|
|
4797
|
+
{
|
|
4798
|
+
args: [
|
|
4799
|
+
{ in: "query", key: "directory" },
|
|
4800
|
+
{ in: "query", key: "workspace" },
|
|
4801
|
+
{ in: "body", key: "acknowledgeToolLimitations" },
|
|
4802
|
+
],
|
|
4803
|
+
},
|
|
4804
|
+
]);
|
|
4805
|
+
return (options?.client ?? this.client).post({
|
|
4806
|
+
url: "/kilocode/anaconda-desktop/sync",
|
|
4807
|
+
...options,
|
|
4808
|
+
...params,
|
|
4809
|
+
headers: {
|
|
4810
|
+
"Content-Type": "application/json",
|
|
4811
|
+
...options?.headers,
|
|
4812
|
+
...params.headers,
|
|
4813
|
+
},
|
|
4814
|
+
});
|
|
4815
|
+
}
|
|
4816
|
+
}
|
|
4478
4817
|
export class Network extends HeyApiClient {
|
|
4479
4818
|
/**
|
|
4480
4819
|
* List pending network waits
|
|
@@ -4601,6 +4940,70 @@ export class Remote extends HeyApiClient {
|
|
|
4601
4940
|
});
|
|
4602
4941
|
}
|
|
4603
4942
|
}
|
|
4943
|
+
export class Sandbox extends HeyApiClient {
|
|
4944
|
+
/**
|
|
4945
|
+
* Get sandbox backend support
|
|
4946
|
+
*
|
|
4947
|
+
* Get sandbox backend availability without creating a session.
|
|
4948
|
+
*/
|
|
4949
|
+
support(parameters, options) {
|
|
4950
|
+
const params = buildClientParams([parameters], [
|
|
4951
|
+
{
|
|
4952
|
+
args: [
|
|
4953
|
+
{ in: "query", key: "directory" },
|
|
4954
|
+
{ in: "query", key: "workspace" },
|
|
4955
|
+
],
|
|
4956
|
+
},
|
|
4957
|
+
]);
|
|
4958
|
+
return (options?.client ?? this.client).get({
|
|
4959
|
+
url: "/sandbox/support",
|
|
4960
|
+
...options,
|
|
4961
|
+
...params,
|
|
4962
|
+
});
|
|
4963
|
+
}
|
|
4964
|
+
/**
|
|
4965
|
+
* Get session sandbox status
|
|
4966
|
+
*
|
|
4967
|
+
* Get the effective sandbox state for one session.
|
|
4968
|
+
*/
|
|
4969
|
+
status(parameters, options) {
|
|
4970
|
+
const params = buildClientParams([parameters], [
|
|
4971
|
+
{
|
|
4972
|
+
args: [
|
|
4973
|
+
{ in: "path", key: "sessionID" },
|
|
4974
|
+
{ in: "query", key: "directory" },
|
|
4975
|
+
{ in: "query", key: "workspace" },
|
|
4976
|
+
],
|
|
4977
|
+
},
|
|
4978
|
+
]);
|
|
4979
|
+
return (options?.client ?? this.client).get({
|
|
4980
|
+
url: "/session/{sessionID}/sandbox",
|
|
4981
|
+
...options,
|
|
4982
|
+
...params,
|
|
4983
|
+
});
|
|
4984
|
+
}
|
|
4985
|
+
/**
|
|
4986
|
+
* Toggle session sandbox
|
|
4987
|
+
*
|
|
4988
|
+
* Toggle and persist the sandbox state for one session.
|
|
4989
|
+
*/
|
|
4990
|
+
toggle(parameters, options) {
|
|
4991
|
+
const params = buildClientParams([parameters], [
|
|
4992
|
+
{
|
|
4993
|
+
args: [
|
|
4994
|
+
{ in: "path", key: "sessionID" },
|
|
4995
|
+
{ in: "query", key: "directory" },
|
|
4996
|
+
{ in: "query", key: "workspace" },
|
|
4997
|
+
],
|
|
4998
|
+
},
|
|
4999
|
+
]);
|
|
5000
|
+
return (options?.client ?? this.client).post({
|
|
5001
|
+
url: "/session/{sessionID}/sandbox/toggle",
|
|
5002
|
+
...options,
|
|
5003
|
+
...params,
|
|
5004
|
+
});
|
|
5005
|
+
}
|
|
5006
|
+
}
|
|
4604
5007
|
export class Suggestion extends HeyApiClient {
|
|
4605
5008
|
/**
|
|
4606
5009
|
* List pending suggestions
|
|
@@ -4848,6 +5251,10 @@ export class KiloClient extends HeyApiClient {
|
|
|
4848
5251
|
get backgroundProcess() {
|
|
4849
5252
|
return (this._backgroundProcess ??= new BackgroundProcess({ client: this.client }));
|
|
4850
5253
|
}
|
|
5254
|
+
_branchName;
|
|
5255
|
+
get branchName() {
|
|
5256
|
+
return (this._branchName ??= new BranchName({ client: this.client }));
|
|
5257
|
+
}
|
|
4851
5258
|
_commitMessage;
|
|
4852
5259
|
get commitMessage() {
|
|
4853
5260
|
return (this._commitMessage ??= new CommitMessage({ client: this.client }));
|
|
@@ -4860,6 +5267,10 @@ export class KiloClient extends HeyApiClient {
|
|
|
4860
5267
|
get indexing() {
|
|
4861
5268
|
return (this._indexing ??= new Indexing({ client: this.client }));
|
|
4862
5269
|
}
|
|
5270
|
+
_interactiveTerminal;
|
|
5271
|
+
get interactiveTerminal() {
|
|
5272
|
+
return (this._interactiveTerminal ??= new InteractiveTerminal({ client: this.client }));
|
|
5273
|
+
}
|
|
4863
5274
|
_kilo;
|
|
4864
5275
|
get kilo() {
|
|
4865
5276
|
return (this._kilo ??= new Kilo({ client: this.client }));
|
|
@@ -4868,6 +5279,10 @@ export class KiloClient extends HeyApiClient {
|
|
|
4868
5279
|
get kilocode() {
|
|
4869
5280
|
return (this._kilocode ??= new Kilocode({ client: this.client }));
|
|
4870
5281
|
}
|
|
5282
|
+
_anacondaDesktop;
|
|
5283
|
+
get anacondaDesktop() {
|
|
5284
|
+
return (this._anacondaDesktop ??= new AnacondaDesktop({ client: this.client }));
|
|
5285
|
+
}
|
|
4871
5286
|
_network;
|
|
4872
5287
|
get network() {
|
|
4873
5288
|
return (this._network ??= new Network({ client: this.client }));
|
|
@@ -4876,6 +5291,10 @@ export class KiloClient extends HeyApiClient {
|
|
|
4876
5291
|
get remote() {
|
|
4877
5292
|
return (this._remote ??= new Remote({ client: this.client }));
|
|
4878
5293
|
}
|
|
5294
|
+
_sandbox;
|
|
5295
|
+
get sandbox() {
|
|
5296
|
+
return (this._sandbox ??= new Sandbox({ client: this.client }));
|
|
5297
|
+
}
|
|
4879
5298
|
_suggestion;
|
|
4880
5299
|
get suggestion() {
|
|
4881
5300
|
return (this._suggestion ??= new Suggestion({ client: this.client }));
|