@dosu/cli 0.3.4 → 0.3.5
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/bin/dosu.js +234 -195
- package/package.json +1 -1
package/bin/dosu.js
CHANGED
|
@@ -3747,18 +3747,6 @@ var init_client = __esm(() => {
|
|
|
3747
3747
|
};
|
|
3748
3748
|
});
|
|
3749
3749
|
|
|
3750
|
-
// src/setup/styles.ts
|
|
3751
|
-
function dim(msg) {
|
|
3752
|
-
return import_picocolors2.default.dim(msg);
|
|
3753
|
-
}
|
|
3754
|
-
function info(msg) {
|
|
3755
|
-
return import_picocolors2.default.cyan(msg);
|
|
3756
|
-
}
|
|
3757
|
-
var import_picocolors2;
|
|
3758
|
-
var init_styles = __esm(() => {
|
|
3759
|
-
import_picocolors2 = __toESM(require_picocolors(), 1);
|
|
3760
|
-
});
|
|
3761
|
-
|
|
3762
3750
|
// src/auth/server.ts
|
|
3763
3751
|
function buildSuccessHtml(email) {
|
|
3764
3752
|
const emailLine = email ? `<p class="email">Signed in as <strong>${email.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")}</strong></p>` : "";
|
|
@@ -4535,6 +4523,239 @@ var init_flow = __esm(() => {
|
|
|
4535
4523
|
init_server();
|
|
4536
4524
|
});
|
|
4537
4525
|
|
|
4526
|
+
// src/tui/tui.ts
|
|
4527
|
+
var exports_tui = {};
|
|
4528
|
+
__export(exports_tui, {
|
|
4529
|
+
runTUI: () => runTUI,
|
|
4530
|
+
handleLogout: () => handleLogout
|
|
4531
|
+
});
|
|
4532
|
+
async function runTUI() {
|
|
4533
|
+
console.log(import_picocolors2.default.magenta(LOGO));
|
|
4534
|
+
const cfg = loadConfig();
|
|
4535
|
+
if (!isAuthenticated(cfg)) {
|
|
4536
|
+
await handleAuthenticate(cfg);
|
|
4537
|
+
if (!isAuthenticated(cfg))
|
|
4538
|
+
return;
|
|
4539
|
+
}
|
|
4540
|
+
while (true) {
|
|
4541
|
+
const hasDeployment = !!cfg.deployment_id;
|
|
4542
|
+
const action = await ve({
|
|
4543
|
+
message: "What would you like to do?",
|
|
4544
|
+
options: [
|
|
4545
|
+
{
|
|
4546
|
+
label: "Authenticate",
|
|
4547
|
+
value: "auth",
|
|
4548
|
+
hint: isAuthenticated(cfg) ? "Re-authenticate" : undefined
|
|
4549
|
+
},
|
|
4550
|
+
{
|
|
4551
|
+
label: "Choose Deployment",
|
|
4552
|
+
value: "deployments",
|
|
4553
|
+
hint: !isAuthenticated(cfg) ? "Login first" : undefined
|
|
4554
|
+
},
|
|
4555
|
+
{
|
|
4556
|
+
label: "Add MCP",
|
|
4557
|
+
value: "mcp-add",
|
|
4558
|
+
hint: !hasDeployment ? "Select deployment first" : undefined
|
|
4559
|
+
},
|
|
4560
|
+
{
|
|
4561
|
+
label: "Remove MCP",
|
|
4562
|
+
value: "mcp-remove",
|
|
4563
|
+
hint: !hasDeployment ? "Select deployment first" : undefined
|
|
4564
|
+
},
|
|
4565
|
+
{ label: "Clear Credentials", value: "logout" },
|
|
4566
|
+
{ label: "Exit", value: "exit" }
|
|
4567
|
+
]
|
|
4568
|
+
});
|
|
4569
|
+
if (pD(action) || action === "exit") {
|
|
4570
|
+
break;
|
|
4571
|
+
}
|
|
4572
|
+
switch (action) {
|
|
4573
|
+
case "auth":
|
|
4574
|
+
await handleAuthenticate(cfg);
|
|
4575
|
+
break;
|
|
4576
|
+
case "deployments":
|
|
4577
|
+
await handleDeployments(cfg);
|
|
4578
|
+
break;
|
|
4579
|
+
case "mcp-add":
|
|
4580
|
+
if (!hasDeployment) {
|
|
4581
|
+
M2.warn("Please select a deployment first.");
|
|
4582
|
+
continue;
|
|
4583
|
+
}
|
|
4584
|
+
await handleMCPAdd(cfg);
|
|
4585
|
+
break;
|
|
4586
|
+
case "mcp-remove":
|
|
4587
|
+
if (!hasDeployment) {
|
|
4588
|
+
M2.warn("Please select a deployment first.");
|
|
4589
|
+
continue;
|
|
4590
|
+
}
|
|
4591
|
+
await handleMCPRemove(cfg);
|
|
4592
|
+
break;
|
|
4593
|
+
case "logout":
|
|
4594
|
+
handleLogout(cfg);
|
|
4595
|
+
break;
|
|
4596
|
+
}
|
|
4597
|
+
}
|
|
4598
|
+
Se("Goodbye!");
|
|
4599
|
+
}
|
|
4600
|
+
async function handleDeployments(cfg) {
|
|
4601
|
+
if (!isAuthenticated(cfg)) {
|
|
4602
|
+
M2.warn("Please authenticate first.");
|
|
4603
|
+
return;
|
|
4604
|
+
}
|
|
4605
|
+
const client = new Client(cfg);
|
|
4606
|
+
try {
|
|
4607
|
+
const deployments = await client.getDeployments();
|
|
4608
|
+
if (deployments.length === 0) {
|
|
4609
|
+
M2.warn("No deployments found.");
|
|
4610
|
+
return;
|
|
4611
|
+
}
|
|
4612
|
+
const selected = await ve({
|
|
4613
|
+
message: "Select a deployment",
|
|
4614
|
+
options: deployments.map((d3) => ({
|
|
4615
|
+
label: `${d3.name} ${import_picocolors2.default.dim(`(${d3.org_name})`)}`,
|
|
4616
|
+
value: d3.deployment_id
|
|
4617
|
+
}))
|
|
4618
|
+
});
|
|
4619
|
+
if (pD(selected))
|
|
4620
|
+
return;
|
|
4621
|
+
const deployment = deployments.find((d3) => d3.deployment_id === selected);
|
|
4622
|
+
if (deployment) {
|
|
4623
|
+
cfg.deployment_id = deployment.deployment_id;
|
|
4624
|
+
cfg.deployment_name = deployment.name;
|
|
4625
|
+
saveConfig(cfg);
|
|
4626
|
+
M2.success(`Selected: ${deployment.name}`);
|
|
4627
|
+
}
|
|
4628
|
+
} catch (err) {
|
|
4629
|
+
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4630
|
+
}
|
|
4631
|
+
}
|
|
4632
|
+
async function handleMCPAdd(cfg) {
|
|
4633
|
+
const { allProviders: allProviders2 } = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
4634
|
+
const providers = allProviders2();
|
|
4635
|
+
const selected = await ve({
|
|
4636
|
+
message: "Select tool to add MCP to",
|
|
4637
|
+
options: providers.map((p2) => ({
|
|
4638
|
+
label: p2.name(),
|
|
4639
|
+
value: p2.id(),
|
|
4640
|
+
hint: p2.supportsLocal() ? "local + global" : "global only"
|
|
4641
|
+
}))
|
|
4642
|
+
});
|
|
4643
|
+
if (pD(selected))
|
|
4644
|
+
return;
|
|
4645
|
+
const provider = providers.find((p2) => p2.id() === selected);
|
|
4646
|
+
if (!provider)
|
|
4647
|
+
return;
|
|
4648
|
+
try {
|
|
4649
|
+
provider.install(cfg, true);
|
|
4650
|
+
M2.success(`Added Dosu MCP to ${provider.name()}`);
|
|
4651
|
+
} catch (err) {
|
|
4652
|
+
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4653
|
+
}
|
|
4654
|
+
}
|
|
4655
|
+
async function handleMCPRemove(_cfg) {
|
|
4656
|
+
const { allProviders: allProviders2 } = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
4657
|
+
const providers = allProviders2();
|
|
4658
|
+
const selected = await ve({
|
|
4659
|
+
message: "Select tool to remove MCP from",
|
|
4660
|
+
options: providers.filter((p2) => p2.id() !== "manual").map((p2) => ({
|
|
4661
|
+
label: p2.name(),
|
|
4662
|
+
value: p2.id()
|
|
4663
|
+
}))
|
|
4664
|
+
});
|
|
4665
|
+
if (pD(selected))
|
|
4666
|
+
return;
|
|
4667
|
+
const provider = providers.find((p2) => p2.id() === selected);
|
|
4668
|
+
if (!provider)
|
|
4669
|
+
return;
|
|
4670
|
+
try {
|
|
4671
|
+
provider.remove(true);
|
|
4672
|
+
M2.success(`Removed Dosu MCP from ${provider.name()}`);
|
|
4673
|
+
} catch (err) {
|
|
4674
|
+
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4675
|
+
}
|
|
4676
|
+
}
|
|
4677
|
+
async function handleAuthenticate(cfg) {
|
|
4678
|
+
if (cfg.access_token) {
|
|
4679
|
+
const s = Y2();
|
|
4680
|
+
s.start("Verifying session...");
|
|
4681
|
+
try {
|
|
4682
|
+
const apiClient = new Client(cfg);
|
|
4683
|
+
const resp = await apiClient.doRequestRaw("GET", "/v1/mcp/deployments");
|
|
4684
|
+
if (resp.status === 200) {
|
|
4685
|
+
s.stop("Already authenticated.");
|
|
4686
|
+
return;
|
|
4687
|
+
}
|
|
4688
|
+
try {
|
|
4689
|
+
await apiClient.refreshToken();
|
|
4690
|
+
s.stop("Session refreshed.");
|
|
4691
|
+
return;
|
|
4692
|
+
} catch {}
|
|
4693
|
+
s.stop("Session expired.");
|
|
4694
|
+
} catch {
|
|
4695
|
+
s.stop("Verification failed.");
|
|
4696
|
+
}
|
|
4697
|
+
}
|
|
4698
|
+
const shouldLogin = await ye({ message: "Open browser to log in?" });
|
|
4699
|
+
if (pD(shouldLogin) || !shouldLogin)
|
|
4700
|
+
return;
|
|
4701
|
+
try {
|
|
4702
|
+
const { startOAuthFlow: startOAuthFlow2 } = await Promise.resolve().then(() => (init_flow(), exports_flow));
|
|
4703
|
+
const s = Y2();
|
|
4704
|
+
s.start("Waiting for authentication...");
|
|
4705
|
+
const token = await startOAuthFlow2(undefined, "/cli/auth");
|
|
4706
|
+
s.stop("Authenticated");
|
|
4707
|
+
cfg.access_token = token.access_token;
|
|
4708
|
+
cfg.refresh_token = token.refresh_token;
|
|
4709
|
+
cfg.expires_at = Math.floor(Date.now() / 1000) + token.expires_in;
|
|
4710
|
+
cfg.mode = token.mode === MODE_OSS ? MODE_OSS : undefined;
|
|
4711
|
+
saveConfig(cfg);
|
|
4712
|
+
} catch (err) {
|
|
4713
|
+
M2.error(`Authentication failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4714
|
+
}
|
|
4715
|
+
}
|
|
4716
|
+
function handleLogout(cfg) {
|
|
4717
|
+
if (!isAuthenticated(cfg)) {
|
|
4718
|
+
M2.warn("You are not logged in.");
|
|
4719
|
+
return;
|
|
4720
|
+
}
|
|
4721
|
+
cfg.access_token = "";
|
|
4722
|
+
cfg.refresh_token = "";
|
|
4723
|
+
cfg.expires_at = 0;
|
|
4724
|
+
cfg.deployment_id = undefined;
|
|
4725
|
+
cfg.deployment_name = undefined;
|
|
4726
|
+
cfg.api_key = undefined;
|
|
4727
|
+
saveConfig(cfg);
|
|
4728
|
+
M2.success("Credentials cleared.");
|
|
4729
|
+
}
|
|
4730
|
+
var import_picocolors2, LOGO = `
|
|
4731
|
+
/$$$$$$$
|
|
4732
|
+
| $$__ $$
|
|
4733
|
+
| $$ \\ $$ /$$$$$$ /$$$$$$$ /$$ /$$
|
|
4734
|
+
| $$ | $$ /$$__ $$ /$$_____/| $$ | $$
|
|
4735
|
+
| $$ | $$| $$ \\ $$| $$$$$$ | $$ | $$
|
|
4736
|
+
| $$ | $$| $$ | $$ \\____ $$| $$ | $$
|
|
4737
|
+
| $$$$$$$/| $$$$$$/ /$$$$$$$/| $$$$$$/
|
|
4738
|
+
|_______/ \\______/ |_______/ \\______/
|
|
4739
|
+
`;
|
|
4740
|
+
var init_tui = __esm(() => {
|
|
4741
|
+
init_dist2();
|
|
4742
|
+
init_client();
|
|
4743
|
+
init_config();
|
|
4744
|
+
import_picocolors2 = __toESM(require_picocolors(), 1);
|
|
4745
|
+
});
|
|
4746
|
+
|
|
4747
|
+
// src/setup/styles.ts
|
|
4748
|
+
function dim(msg) {
|
|
4749
|
+
return import_picocolors3.default.dim(msg);
|
|
4750
|
+
}
|
|
4751
|
+
function info(msg) {
|
|
4752
|
+
return import_picocolors3.default.cyan(msg);
|
|
4753
|
+
}
|
|
4754
|
+
var import_picocolors3;
|
|
4755
|
+
var init_styles = __esm(() => {
|
|
4756
|
+
import_picocolors3 = __toESM(require_picocolors(), 1);
|
|
4757
|
+
});
|
|
4758
|
+
|
|
4538
4759
|
// src/setup/flow.ts
|
|
4539
4760
|
var exports_flow2 = {};
|
|
4540
4761
|
__export(exports_flow2, {
|
|
@@ -4864,188 +5085,6 @@ var init_flow2 = __esm(() => {
|
|
|
4864
5085
|
init_styles();
|
|
4865
5086
|
});
|
|
4866
5087
|
|
|
4867
|
-
// src/tui/tui.ts
|
|
4868
|
-
var exports_tui = {};
|
|
4869
|
-
__export(exports_tui, {
|
|
4870
|
-
runTUI: () => runTUI,
|
|
4871
|
-
handleLogout: () => handleLogout
|
|
4872
|
-
});
|
|
4873
|
-
async function runTUI() {
|
|
4874
|
-
console.log(import_picocolors3.default.magenta(LOGO));
|
|
4875
|
-
const cfg = loadConfig();
|
|
4876
|
-
if (!isAuthenticated(cfg)) {
|
|
4877
|
-
await runSetup();
|
|
4878
|
-
return;
|
|
4879
|
-
}
|
|
4880
|
-
while (true) {
|
|
4881
|
-
const hasDeployment = !!cfg.deployment_id;
|
|
4882
|
-
const action = await ve({
|
|
4883
|
-
message: "What would you like to do?",
|
|
4884
|
-
options: [
|
|
4885
|
-
{
|
|
4886
|
-
label: "Authenticate",
|
|
4887
|
-
value: "setup",
|
|
4888
|
-
hint: isAuthenticated(cfg) ? "Re-authenticate" : undefined
|
|
4889
|
-
},
|
|
4890
|
-
{
|
|
4891
|
-
label: "Choose Deployment",
|
|
4892
|
-
value: "deployments",
|
|
4893
|
-
hint: !isAuthenticated(cfg) ? "Login first" : undefined
|
|
4894
|
-
},
|
|
4895
|
-
{
|
|
4896
|
-
label: "Add MCP",
|
|
4897
|
-
value: "mcp-add",
|
|
4898
|
-
hint: !hasDeployment ? "Select deployment first" : undefined
|
|
4899
|
-
},
|
|
4900
|
-
{
|
|
4901
|
-
label: "Remove MCP",
|
|
4902
|
-
value: "mcp-remove",
|
|
4903
|
-
hint: !hasDeployment ? "Select deployment first" : undefined
|
|
4904
|
-
},
|
|
4905
|
-
{ label: "Clear Credentials", value: "logout" },
|
|
4906
|
-
{ label: "Exit", value: "exit" }
|
|
4907
|
-
]
|
|
4908
|
-
});
|
|
4909
|
-
if (pD(action) || action === "exit") {
|
|
4910
|
-
break;
|
|
4911
|
-
}
|
|
4912
|
-
switch (action) {
|
|
4913
|
-
case "setup":
|
|
4914
|
-
await runSetup();
|
|
4915
|
-
break;
|
|
4916
|
-
case "deployments":
|
|
4917
|
-
await handleDeployments(cfg);
|
|
4918
|
-
break;
|
|
4919
|
-
case "mcp-add":
|
|
4920
|
-
if (!hasDeployment) {
|
|
4921
|
-
M2.warn("Please select a deployment first.");
|
|
4922
|
-
continue;
|
|
4923
|
-
}
|
|
4924
|
-
await handleMCPAdd(cfg);
|
|
4925
|
-
break;
|
|
4926
|
-
case "mcp-remove":
|
|
4927
|
-
if (!hasDeployment) {
|
|
4928
|
-
M2.warn("Please select a deployment first.");
|
|
4929
|
-
continue;
|
|
4930
|
-
}
|
|
4931
|
-
await handleMCPRemove(cfg);
|
|
4932
|
-
break;
|
|
4933
|
-
case "logout":
|
|
4934
|
-
handleLogout(cfg);
|
|
4935
|
-
break;
|
|
4936
|
-
}
|
|
4937
|
-
}
|
|
4938
|
-
Se("Goodbye!");
|
|
4939
|
-
}
|
|
4940
|
-
async function handleDeployments(cfg) {
|
|
4941
|
-
if (!isAuthenticated(cfg)) {
|
|
4942
|
-
M2.warn("Please authenticate first.");
|
|
4943
|
-
return;
|
|
4944
|
-
}
|
|
4945
|
-
const client = new Client(cfg);
|
|
4946
|
-
try {
|
|
4947
|
-
const deployments = await client.getDeployments();
|
|
4948
|
-
if (deployments.length === 0) {
|
|
4949
|
-
M2.warn("No deployments found.");
|
|
4950
|
-
return;
|
|
4951
|
-
}
|
|
4952
|
-
const selected = await ve({
|
|
4953
|
-
message: "Select a deployment",
|
|
4954
|
-
options: deployments.map((d3) => ({
|
|
4955
|
-
label: `${d3.name} ${import_picocolors3.default.dim(`(${d3.org_name})`)}`,
|
|
4956
|
-
value: d3.deployment_id
|
|
4957
|
-
}))
|
|
4958
|
-
});
|
|
4959
|
-
if (pD(selected))
|
|
4960
|
-
return;
|
|
4961
|
-
const deployment = deployments.find((d3) => d3.deployment_id === selected);
|
|
4962
|
-
if (deployment) {
|
|
4963
|
-
cfg.deployment_id = deployment.deployment_id;
|
|
4964
|
-
cfg.deployment_name = deployment.name;
|
|
4965
|
-
saveConfig(cfg);
|
|
4966
|
-
M2.success(`Selected: ${deployment.name}`);
|
|
4967
|
-
}
|
|
4968
|
-
} catch (err) {
|
|
4969
|
-
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4970
|
-
}
|
|
4971
|
-
}
|
|
4972
|
-
async function handleMCPAdd(cfg) {
|
|
4973
|
-
const { allProviders: allProviders2 } = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
4974
|
-
const providers = allProviders2();
|
|
4975
|
-
const selected = await ve({
|
|
4976
|
-
message: "Select tool to add MCP to",
|
|
4977
|
-
options: providers.map((p2) => ({
|
|
4978
|
-
label: p2.name(),
|
|
4979
|
-
value: p2.id(),
|
|
4980
|
-
hint: p2.supportsLocal() ? "local + global" : "global only"
|
|
4981
|
-
}))
|
|
4982
|
-
});
|
|
4983
|
-
if (pD(selected))
|
|
4984
|
-
return;
|
|
4985
|
-
const provider = providers.find((p2) => p2.id() === selected);
|
|
4986
|
-
if (!provider)
|
|
4987
|
-
return;
|
|
4988
|
-
try {
|
|
4989
|
-
provider.install(cfg, true);
|
|
4990
|
-
M2.success(`Added Dosu MCP to ${provider.name()}`);
|
|
4991
|
-
} catch (err) {
|
|
4992
|
-
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
4993
|
-
}
|
|
4994
|
-
}
|
|
4995
|
-
async function handleMCPRemove(_cfg) {
|
|
4996
|
-
const { allProviders: allProviders2 } = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
4997
|
-
const providers = allProviders2();
|
|
4998
|
-
const selected = await ve({
|
|
4999
|
-
message: "Select tool to remove MCP from",
|
|
5000
|
-
options: providers.filter((p2) => p2.id() !== "manual").map((p2) => ({
|
|
5001
|
-
label: p2.name(),
|
|
5002
|
-
value: p2.id()
|
|
5003
|
-
}))
|
|
5004
|
-
});
|
|
5005
|
-
if (pD(selected))
|
|
5006
|
-
return;
|
|
5007
|
-
const provider = providers.find((p2) => p2.id() === selected);
|
|
5008
|
-
if (!provider)
|
|
5009
|
-
return;
|
|
5010
|
-
try {
|
|
5011
|
-
provider.remove(true);
|
|
5012
|
-
M2.success(`Removed Dosu MCP from ${provider.name()}`);
|
|
5013
|
-
} catch (err) {
|
|
5014
|
-
M2.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
5015
|
-
}
|
|
5016
|
-
}
|
|
5017
|
-
function handleLogout(cfg) {
|
|
5018
|
-
if (!isAuthenticated(cfg)) {
|
|
5019
|
-
M2.warn("You are not logged in.");
|
|
5020
|
-
return;
|
|
5021
|
-
}
|
|
5022
|
-
cfg.access_token = "";
|
|
5023
|
-
cfg.refresh_token = "";
|
|
5024
|
-
cfg.expires_at = 0;
|
|
5025
|
-
cfg.deployment_id = undefined;
|
|
5026
|
-
cfg.deployment_name = undefined;
|
|
5027
|
-
cfg.api_key = undefined;
|
|
5028
|
-
saveConfig(cfg);
|
|
5029
|
-
M2.success("Credentials cleared.");
|
|
5030
|
-
}
|
|
5031
|
-
var import_picocolors3, LOGO = `
|
|
5032
|
-
/$$$$$$$
|
|
5033
|
-
| $$__ $$
|
|
5034
|
-
| $$ \\ $$ /$$$$$$ /$$$$$$$ /$$ /$$
|
|
5035
|
-
| $$ | $$ /$$__ $$ /$$_____/| $$ | $$
|
|
5036
|
-
| $$ | $$| $$ \\ $$| $$$$$$ | $$ | $$
|
|
5037
|
-
| $$ | $$| $$ | $$ \\____ $$| $$ | $$
|
|
5038
|
-
| $$$$$$$/| $$$$$$/ /$$$$$$$/| $$$$$$/
|
|
5039
|
-
|_______/ \\______/ |_______/ \\______/
|
|
5040
|
-
`;
|
|
5041
|
-
var init_tui = __esm(() => {
|
|
5042
|
-
init_dist2();
|
|
5043
|
-
init_client();
|
|
5044
|
-
init_config();
|
|
5045
|
-
init_flow2();
|
|
5046
|
-
import_picocolors3 = __toESM(require_picocolors(), 1);
|
|
5047
|
-
});
|
|
5048
|
-
|
|
5049
5088
|
// node_modules/commander/esm.mjs
|
|
5050
5089
|
var import__ = __toESM(require_commander(), 1);
|
|
5051
5090
|
var {
|
|
@@ -5067,7 +5106,7 @@ init_config();
|
|
|
5067
5106
|
init_providers();
|
|
5068
5107
|
|
|
5069
5108
|
// src/version/version.ts
|
|
5070
|
-
var VERSION = "0.3.
|
|
5109
|
+
var VERSION = "0.3.5";
|
|
5071
5110
|
function getVersionString() {
|
|
5072
5111
|
return `v${VERSION}`;
|
|
5073
5112
|
}
|