@dosu/cli 0.51.0 → 0.52.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/README.md +0 -1
- package/bin/dosu.js +35 -171
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -115,7 +115,6 @@ Once authenticated against a deployment, you can drive the Dosu platform without
|
|
|
115
115
|
| `dosu ask` | Ask a question and get an AI-generated answer |
|
|
116
116
|
| `dosu knowledge` | Search and browse your knowledge base |
|
|
117
117
|
| `dosu docs` | Manage documents (list, create, update, import, publish, AI-generate) |
|
|
118
|
-
| `dosu suggest` | Review and manage AI document suggestions |
|
|
119
118
|
| `dosu threads` | List and manage conversation threads |
|
|
120
119
|
| `dosu review` | Document review workflow |
|
|
121
120
|
| `dosu sources` | Manage connected data sources (list, sync, update) |
|
package/bin/dosu.js
CHANGED
|
@@ -5000,7 +5000,7 @@ function isNpxInvocation(channel = INSTALL_CHANNEL, env = process.env) {
|
|
|
5000
5000
|
function getVersionString() {
|
|
5001
5001
|
return `v${VERSION}`;
|
|
5002
5002
|
}
|
|
5003
|
-
var VERSION = "0.
|
|
5003
|
+
var VERSION = "0.52.0", INSTALL_CHANNEL = "npm";
|
|
5004
5004
|
|
|
5005
5005
|
// src/debug/logger.ts
|
|
5006
5006
|
import {
|
|
@@ -6881,13 +6881,6 @@ var init_default_deployment_config = __esm(() => {
|
|
|
6881
6881
|
enabled: true,
|
|
6882
6882
|
review_required: true
|
|
6883
6883
|
},
|
|
6884
|
-
auto_label_config: {
|
|
6885
|
-
enabled: false,
|
|
6886
|
-
multiple_labels_per_group: false,
|
|
6887
|
-
include: [],
|
|
6888
|
-
exclude: [],
|
|
6889
|
-
separator: null
|
|
6890
|
-
},
|
|
6891
6884
|
voting: {
|
|
6892
6885
|
enabled: false
|
|
6893
6886
|
},
|
|
@@ -6907,30 +6900,6 @@ var init_default_deployment_config = __esm(() => {
|
|
|
6907
6900
|
surface_code: true,
|
|
6908
6901
|
suggest_changes_and_workarounds: true
|
|
6909
6902
|
},
|
|
6910
|
-
auto_label_config: {
|
|
6911
|
-
enabled: false,
|
|
6912
|
-
multiple_labels_per_group: false,
|
|
6913
|
-
include: [],
|
|
6914
|
-
exclude: [],
|
|
6915
|
-
separator: null
|
|
6916
|
-
},
|
|
6917
|
-
lgtm_label: {
|
|
6918
|
-
enabled: false,
|
|
6919
|
-
name: "lgtm",
|
|
6920
|
-
color: "238636",
|
|
6921
|
-
description: "This PR has been approved by a maintainer"
|
|
6922
|
-
},
|
|
6923
|
-
size_label: {
|
|
6924
|
-
enabled: false,
|
|
6925
|
-
name: "size",
|
|
6926
|
-
separator: ":"
|
|
6927
|
-
},
|
|
6928
|
-
auto_merge_label_config: {
|
|
6929
|
-
enabled: false,
|
|
6930
|
-
name: "auto-merge",
|
|
6931
|
-
color: "FFA500",
|
|
6932
|
-
description: "This PR is set to be merged"
|
|
6933
|
-
},
|
|
6934
6903
|
diff_review_policies: []
|
|
6935
6904
|
},
|
|
6936
6905
|
discussions: {
|
|
@@ -11475,7 +11444,7 @@ var init_settings = __esm(() => {
|
|
|
11475
11444
|
});
|
|
11476
11445
|
|
|
11477
11446
|
// src/telemetry/debug-id.ts
|
|
11478
|
-
var BUNDLE_DEBUG_ID_PLACEHOLDER = "
|
|
11447
|
+
var BUNDLE_DEBUG_ID_PLACEHOLDER = "1a1d772d-8140-9eda-6475-6e2164756e21";
|
|
11479
11448
|
|
|
11480
11449
|
// src/telemetry/telemetry.ts
|
|
11481
11450
|
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
@@ -14078,7 +14047,7 @@ __export(exports_tui, {
|
|
|
14078
14047
|
handleLogout: () => handleLogout
|
|
14079
14048
|
});
|
|
14080
14049
|
async function runTUI() {
|
|
14081
|
-
console.log(
|
|
14050
|
+
console.log(import_picocolors28.default.magenta(LOGO));
|
|
14082
14051
|
const cfg = loadConfig();
|
|
14083
14052
|
while (true) {
|
|
14084
14053
|
const insightsReady = Boolean(cfg.active_account?.target?.space_id && cfg.active_account?.target?.deployment_id && cfg.active_account?.target?.api_key);
|
|
@@ -14192,7 +14161,7 @@ function handleLogout(cfg) {
|
|
|
14192
14161
|
saveConfig(cfg);
|
|
14193
14162
|
log.success("Credentials cleared.");
|
|
14194
14163
|
}
|
|
14195
|
-
var
|
|
14164
|
+
var import_picocolors28, LOGO = `
|
|
14196
14165
|
/$$$$$$$
|
|
14197
14166
|
| $$__ $$
|
|
14198
14167
|
| $$ \\ $$ /$$$$$$ /$$$$$$$ /$$ /$$
|
|
@@ -14209,7 +14178,7 @@ var init_tui = __esm(() => {
|
|
|
14209
14178
|
init_config();
|
|
14210
14179
|
init_flow2();
|
|
14211
14180
|
init_styles();
|
|
14212
|
-
|
|
14181
|
+
import_picocolors28 = __toESM(require_picocolors(), 1);
|
|
14213
14182
|
});
|
|
14214
14183
|
|
|
14215
14184
|
// src/auth/ticket.ts
|
|
@@ -17263,110 +17232,6 @@ function sourcesCommand() {
|
|
|
17263
17232
|
return cmd;
|
|
17264
17233
|
}
|
|
17265
17234
|
|
|
17266
|
-
// src/commands/suggest.ts
|
|
17267
|
-
init_commander();
|
|
17268
|
-
var import_picocolors24 = __toESM(require_picocolors(), 1);
|
|
17269
|
-
|
|
17270
|
-
// src/client/supabase.ts
|
|
17271
|
-
async function listSpaceDataSourceIds(config, spaceId) {
|
|
17272
|
-
const accessToken = config.active_account?.session.access_token;
|
|
17273
|
-
if (!accessToken)
|
|
17274
|
-
throw new Error("Not logged in. Run 'dosu login' first.");
|
|
17275
|
-
const endpoint = new URL("/rest/v1/space_data_source", getSupabaseURL());
|
|
17276
|
-
endpoint.searchParams.set("select", "data_source_id");
|
|
17277
|
-
endpoint.searchParams.set("space_id", `eq.${spaceId}`);
|
|
17278
|
-
const response = await fetch(endpoint, {
|
|
17279
|
-
headers: {
|
|
17280
|
-
apikey: getSupabaseAnonKey(),
|
|
17281
|
-
Authorization: `Bearer ${accessToken}`
|
|
17282
|
-
}
|
|
17283
|
-
});
|
|
17284
|
-
if (!response.ok) {
|
|
17285
|
-
throw new Error(`Failed to list this deployment's data sources (status ${response.status}).`);
|
|
17286
|
-
}
|
|
17287
|
-
const rows = await response.json();
|
|
17288
|
-
if (!Array.isArray(rows) || rows.some((row) => !isDataSourceLink(row))) {
|
|
17289
|
-
throw new Error("Supabase returned an invalid space_data_source response.");
|
|
17290
|
-
}
|
|
17291
|
-
return rows.map((row) => row.data_source_id);
|
|
17292
|
-
}
|
|
17293
|
-
function isDataSourceLink(value) {
|
|
17294
|
-
return value !== null && typeof value === "object" && "data_source_id" in value && typeof value.data_source_id === "string";
|
|
17295
|
-
}
|
|
17296
|
-
|
|
17297
|
-
// src/commands/suggest.ts
|
|
17298
|
-
init_trpc();
|
|
17299
|
-
function requireConfig12() {
|
|
17300
|
-
const cfg = requireLoginConfig();
|
|
17301
|
-
if (!cfg.active_account?.target?.space_id) {
|
|
17302
|
-
console.error(import_picocolors24.default.red("Missing space config. Run 'dosu setup' to reconfigure."));
|
|
17303
|
-
process.exit(1);
|
|
17304
|
-
}
|
|
17305
|
-
return cfg;
|
|
17306
|
-
}
|
|
17307
|
-
async function getKnowledgeStoreId3(client, spaceId) {
|
|
17308
|
-
const store = await client.knowledgeStore.getBySpaceId.query({
|
|
17309
|
-
space_id: spaceId
|
|
17310
|
-
});
|
|
17311
|
-
if (!store) {
|
|
17312
|
-
console.error(import_picocolors24.default.red("No knowledge store found for this deployment."));
|
|
17313
|
-
process.exit(1);
|
|
17314
|
-
}
|
|
17315
|
-
return store.id;
|
|
17316
|
-
}
|
|
17317
|
-
function suggestCommand() {
|
|
17318
|
-
const cmd = new Command("suggest").description("AI document suggestions");
|
|
17319
|
-
cmd.command("list").description("List pending document suggestions").option("--json", "Output as JSON").action(async (opts) => {
|
|
17320
|
-
const cfg = requireConfig12();
|
|
17321
|
-
const client = createTypedClient(cfg);
|
|
17322
|
-
const ksId = await getKnowledgeStoreId3(client, cfg.active_account.target.space_id);
|
|
17323
|
-
const suggestions = await client.suggestedDoc.listForKnowledgeStore.query({
|
|
17324
|
-
knowledgeStoreId: ksId
|
|
17325
|
-
});
|
|
17326
|
-
if (opts.json) {
|
|
17327
|
-
printResult(suggestions, opts);
|
|
17328
|
-
return;
|
|
17329
|
-
}
|
|
17330
|
-
if (!suggestions || suggestions.length === 0) {
|
|
17331
|
-
console.log(import_picocolors24.default.dim("No pending suggestions."));
|
|
17332
|
-
return;
|
|
17333
|
-
}
|
|
17334
|
-
printTable(["ID", "Title"], suggestions.map((s) => [
|
|
17335
|
-
s.id.slice(0, 8),
|
|
17336
|
-
s.title ?? "(untitled)"
|
|
17337
|
-
]), { rawData: suggestions });
|
|
17338
|
-
});
|
|
17339
|
-
cmd.command("generate").description("Generate new document suggestions from data sources").option("--json", "Output as JSON").action(async (opts) => {
|
|
17340
|
-
const cfg = requireConfig12();
|
|
17341
|
-
const client = createTypedClient(cfg);
|
|
17342
|
-
const ksId = await getKnowledgeStoreId3(client, cfg.active_account.target.space_id);
|
|
17343
|
-
const dataSourceIds = await listSpaceDataSourceIds(cfg, cfg.active_account.target.space_id);
|
|
17344
|
-
if (dataSourceIds.length === 0) {
|
|
17345
|
-
throw new Error("No data sources are connected to the active deployment.");
|
|
17346
|
-
}
|
|
17347
|
-
const result = await client.suggestedDoc.generate.mutate({
|
|
17348
|
-
knowledgeStoreId: ksId,
|
|
17349
|
-
dataSourceIds
|
|
17350
|
-
});
|
|
17351
|
-
if (opts.json) {
|
|
17352
|
-
printResult(result, opts);
|
|
17353
|
-
return;
|
|
17354
|
-
}
|
|
17355
|
-
console.log(import_picocolors24.default.green("Document suggestions are being generated."));
|
|
17356
|
-
});
|
|
17357
|
-
cmd.command("reject").description("Reject a suggestion").argument("<id>", "Suggestion ID").option("--json", "Output as JSON").action(async (id, opts) => {
|
|
17358
|
-
const cfg = requireConfig12();
|
|
17359
|
-
const client = createTypedClient(cfg);
|
|
17360
|
-
await client.suggestedDoc.delete.mutate({ id });
|
|
17361
|
-
if (opts.json) {
|
|
17362
|
-
printResult({ success: true, id }, opts);
|
|
17363
|
-
return;
|
|
17364
|
-
}
|
|
17365
|
-
console.log(import_picocolors24.default.green("Suggestion rejected."));
|
|
17366
|
-
});
|
|
17367
|
-
return cmd;
|
|
17368
|
-
}
|
|
17369
|
-
|
|
17370
17235
|
// src/commands/telemetry.ts
|
|
17371
17236
|
init_commander();
|
|
17372
17237
|
init_settings();
|
|
@@ -17435,11 +17300,11 @@ function telemetryCommand() {
|
|
|
17435
17300
|
// src/commands/threads.ts
|
|
17436
17301
|
init_commander();
|
|
17437
17302
|
init_trpc();
|
|
17438
|
-
var
|
|
17439
|
-
function
|
|
17303
|
+
var import_picocolors24 = __toESM(require_picocolors(), 1);
|
|
17304
|
+
function requireConfig12() {
|
|
17440
17305
|
const cfg = requireLoginConfig();
|
|
17441
17306
|
if (!cfg.active_account?.target?.space_id) {
|
|
17442
|
-
console.error(
|
|
17307
|
+
console.error(import_picocolors24.default.red("Missing space config. Run 'dosu setup' to reconfigure."));
|
|
17443
17308
|
process.exit(1);
|
|
17444
17309
|
}
|
|
17445
17310
|
return cfg;
|
|
@@ -17451,7 +17316,7 @@ function threadsCommand() {
|
|
|
17451
17316
|
"resolved",
|
|
17452
17317
|
"archived"
|
|
17453
17318
|
])).option("--search <query>", "Search threads").addOption(new Option("--limit <n>", "Maximum results (default: 20; max: 100)").argParser(positiveIntegerAtMost(100)).default(20)).option("--json", "Output as JSON").action(async (opts) => {
|
|
17454
|
-
const cfg =
|
|
17319
|
+
const cfg = requireConfig12();
|
|
17455
17320
|
const client = createTypedClient(cfg);
|
|
17456
17321
|
const input = {
|
|
17457
17322
|
__testing_scope__: undefined,
|
|
@@ -17490,7 +17355,7 @@ function threadsCommand() {
|
|
|
17490
17355
|
return;
|
|
17491
17356
|
}
|
|
17492
17357
|
if (!threads || threads.length === 0) {
|
|
17493
|
-
console.log(
|
|
17358
|
+
console.log(import_picocolors24.default.dim("No threads found."));
|
|
17494
17359
|
return;
|
|
17495
17360
|
}
|
|
17496
17361
|
printTable(["ID", "Title", "Status", "Created"], threads.map((t2) => [
|
|
@@ -17501,7 +17366,7 @@ function threadsCommand() {
|
|
|
17501
17366
|
]), { rawData: threads });
|
|
17502
17367
|
});
|
|
17503
17368
|
cmd.command("get").description("View a thread and its messages").argument("<id>", "Thread ID").addOption(new Option("--limit <n>", "Number of messages to show (default: 20; -1 for all)").argParser(messageLimit).default(20)).option("--json", "Output as JSON").action(async (id, opts) => {
|
|
17504
|
-
const cfg =
|
|
17369
|
+
const cfg = requireConfig12();
|
|
17505
17370
|
const client = createTypedClient(cfg);
|
|
17506
17371
|
const [thread, messagesData] = await Promise.all([
|
|
17507
17372
|
client.thread.get.query(id),
|
|
@@ -17515,10 +17380,10 @@ function threadsCommand() {
|
|
|
17515
17380
|
return;
|
|
17516
17381
|
}
|
|
17517
17382
|
if (!thread) {
|
|
17518
|
-
console.log(
|
|
17383
|
+
console.log(import_picocolors24.default.dim("Thread not found."));
|
|
17519
17384
|
return;
|
|
17520
17385
|
}
|
|
17521
|
-
console.log(
|
|
17386
|
+
console.log(import_picocolors24.default.bold(thread.generated_title ?? "(untitled thread)"));
|
|
17522
17387
|
printInfo([
|
|
17523
17388
|
["ID", thread.id],
|
|
17524
17389
|
["Created", formatDate(thread.created_at)],
|
|
@@ -17529,13 +17394,13 @@ function threadsCommand() {
|
|
|
17529
17394
|
if (messages && messages.length > 0) {
|
|
17530
17395
|
const allMessages = messages.flatMap((group) => group.messages);
|
|
17531
17396
|
console.log(`
|
|
17532
|
-
${
|
|
17533
|
-
console.log(
|
|
17397
|
+
${import_picocolors24.default.bold("Messages")} (${allMessages.length})`);
|
|
17398
|
+
console.log(import_picocolors24.default.dim("─".repeat(60)));
|
|
17534
17399
|
for (const msg of allMessages) {
|
|
17535
17400
|
const role = msg.author_role ?? "unknown";
|
|
17536
17401
|
const date = formatDate(msg.created_at);
|
|
17537
17402
|
console.log(`
|
|
17538
|
-
${
|
|
17403
|
+
${import_picocolors24.default.bold(role)} ${import_picocolors24.default.dim(date)}`);
|
|
17539
17404
|
if (msg.body) {
|
|
17540
17405
|
console.log(truncate(msg.body, 500));
|
|
17541
17406
|
}
|
|
@@ -17543,14 +17408,14 @@ ${import_picocolors25.default.bold(role)} ${import_picocolors25.default.dim(date
|
|
|
17543
17408
|
}
|
|
17544
17409
|
});
|
|
17545
17410
|
cmd.command("archive").description("Archive a thread").argument("<id>", "Thread ID").option("--json", "Output as JSON").action(async (id, opts) => {
|
|
17546
|
-
const cfg =
|
|
17411
|
+
const cfg = requireConfig12();
|
|
17547
17412
|
const client = createTypedClient(cfg);
|
|
17548
17413
|
await client.thread.archive.mutate({ threadId: id, archived: true });
|
|
17549
17414
|
if (opts.json) {
|
|
17550
17415
|
printResult({ success: true, id }, opts);
|
|
17551
17416
|
return;
|
|
17552
17417
|
}
|
|
17553
|
-
console.log(
|
|
17418
|
+
console.log(import_picocolors24.default.green(`Thread ${id.slice(0, 8)} archived.`));
|
|
17554
17419
|
});
|
|
17555
17420
|
return cmd;
|
|
17556
17421
|
}
|
|
@@ -17558,21 +17423,21 @@ ${import_picocolors25.default.bold(role)} ${import_picocolors25.default.dim(date
|
|
|
17558
17423
|
// src/commands/topics.ts
|
|
17559
17424
|
init_commander();
|
|
17560
17425
|
init_trpc();
|
|
17561
|
-
var
|
|
17562
|
-
function
|
|
17426
|
+
var import_picocolors25 = __toESM(require_picocolors(), 1);
|
|
17427
|
+
function requireConfig13() {
|
|
17563
17428
|
const cfg = requireLoginConfig();
|
|
17564
17429
|
if (!cfg.active_account?.target?.space_id) {
|
|
17565
|
-
console.error(
|
|
17430
|
+
console.error(import_picocolors25.default.red("Missing space config. Run 'dosu setup' to reconfigure."));
|
|
17566
17431
|
process.exit(1);
|
|
17567
17432
|
}
|
|
17568
17433
|
return cfg;
|
|
17569
17434
|
}
|
|
17570
|
-
async function
|
|
17435
|
+
async function getKnowledgeStoreId3(client, spaceId) {
|
|
17571
17436
|
const store = await client.knowledgeStore.getBySpaceId.query({
|
|
17572
17437
|
space_id: spaceId
|
|
17573
17438
|
});
|
|
17574
17439
|
if (!store) {
|
|
17575
|
-
console.error(
|
|
17440
|
+
console.error(import_picocolors25.default.red("No knowledge store found for this deployment."));
|
|
17576
17441
|
process.exit(1);
|
|
17577
17442
|
}
|
|
17578
17443
|
return store.id;
|
|
@@ -17580,9 +17445,9 @@ async function getKnowledgeStoreId4(client, spaceId) {
|
|
|
17580
17445
|
function topicsCommand() {
|
|
17581
17446
|
const cmd = new Command("topics").description("Browse Topics in your knowledge base");
|
|
17582
17447
|
cmd.command("list").description("List all topics").option("--json", "Output as JSON").action(async (opts) => {
|
|
17583
|
-
const cfg =
|
|
17448
|
+
const cfg = requireConfig13();
|
|
17584
17449
|
const client = createTypedClient(cfg);
|
|
17585
|
-
const ksId = await
|
|
17450
|
+
const ksId = await getKnowledgeStoreId3(client, cfg.active_account.target.space_id);
|
|
17586
17451
|
const topics = await client.topic.listTopicsByKnowledgeStore.query({
|
|
17587
17452
|
knowledge_store_id: ksId
|
|
17588
17453
|
});
|
|
@@ -17591,7 +17456,7 @@ function topicsCommand() {
|
|
|
17591
17456
|
return;
|
|
17592
17457
|
}
|
|
17593
17458
|
if (!topics || topics.length === 0) {
|
|
17594
|
-
console.log(
|
|
17459
|
+
console.log(import_picocolors25.default.dim("No topics found."));
|
|
17595
17460
|
return;
|
|
17596
17461
|
}
|
|
17597
17462
|
printTable(["ID", "Name", "Description"], topics.map((t2) => [
|
|
@@ -17601,9 +17466,9 @@ function topicsCommand() {
|
|
|
17601
17466
|
]), { rawData: topics });
|
|
17602
17467
|
});
|
|
17603
17468
|
cmd.command("pages").description("List pages with a specific topic").argument("<topic-id>", "Topic ID").option("--search <query>", "Search within the topic's pages").addOption(new Option("--limit <n>", "Maximum results").argParser(positiveInteger).default(10)).option("--json", "Output as JSON").action(async (topicId, opts) => {
|
|
17604
|
-
const cfg =
|
|
17469
|
+
const cfg = requireConfig13();
|
|
17605
17470
|
const client = createTypedClient(cfg);
|
|
17606
|
-
const ksId = await
|
|
17471
|
+
const ksId = await getKnowledgeStoreId3(client, cfg.active_account.target.space_id);
|
|
17607
17472
|
const result = await client.topic.getPagesByTopicId.query({
|
|
17608
17473
|
knowledge_store_id: ksId,
|
|
17609
17474
|
topic_id: topicId,
|
|
@@ -17616,7 +17481,7 @@ function topicsCommand() {
|
|
|
17616
17481
|
return;
|
|
17617
17482
|
}
|
|
17618
17483
|
if (!pages || pages.length === 0) {
|
|
17619
|
-
console.log(
|
|
17484
|
+
console.log(import_picocolors25.default.dim("No pages found with this topic."));
|
|
17620
17485
|
return;
|
|
17621
17486
|
}
|
|
17622
17487
|
printTable(["ID", "Title"], pages.map((p2) => [
|
|
@@ -17630,7 +17495,7 @@ function topicsCommand() {
|
|
|
17630
17495
|
// src/commands/upgrade.ts
|
|
17631
17496
|
init_commander();
|
|
17632
17497
|
init_skill();
|
|
17633
|
-
var
|
|
17498
|
+
var import_picocolors26 = __toESM(require_picocolors(), 1);
|
|
17634
17499
|
import { spawnSync as spawnSync2 } from "node:child_process";
|
|
17635
17500
|
import { realpathSync } from "node:fs";
|
|
17636
17501
|
import { homedir as homedir6 } from "node:os";
|
|
@@ -17799,7 +17664,7 @@ Could not update Dosu automatically.`);
|
|
|
17799
17664
|
${plan.manualCommand}`);
|
|
17800
17665
|
return result.status && result.status > 0 ? result.status : 1;
|
|
17801
17666
|
}
|
|
17802
|
-
console.log(
|
|
17667
|
+
console.log(import_picocolors26.default.green(`
|
|
17803
17668
|
✓ Update command completed.`));
|
|
17804
17669
|
console.log('Run "dosu --version" to verify.');
|
|
17805
17670
|
return 0;
|
|
@@ -17812,7 +17677,7 @@ async function completeUpgrade(channel = INSTALL_CHANNEL, options = {}) {
|
|
|
17812
17677
|
try {
|
|
17813
17678
|
const result = await installSkill();
|
|
17814
17679
|
if (result.success) {
|
|
17815
|
-
console.log(
|
|
17680
|
+
console.log(import_picocolors26.default.green("✓ Skills updated."));
|
|
17816
17681
|
} else {
|
|
17817
17682
|
console.error('Skills could not be refreshed. Run "dosu skill update" to retry.');
|
|
17818
17683
|
}
|
|
@@ -17841,7 +17706,7 @@ init_skill_update_check();
|
|
|
17841
17706
|
// src/version/update-check.ts
|
|
17842
17707
|
init_config();
|
|
17843
17708
|
init_logger();
|
|
17844
|
-
var
|
|
17709
|
+
var import_picocolors27 = __toESM(require_picocolors(), 1);
|
|
17845
17710
|
import { existsSync as existsSync17, mkdirSync as mkdirSync10, readFileSync as readFileSync14, writeFileSync as writeFileSync11 } from "node:fs";
|
|
17846
17711
|
import { join as join28 } from "node:path";
|
|
17847
17712
|
var CACHE_FILENAME3 = "update-check.json";
|
|
@@ -17934,7 +17799,7 @@ function buildUpdateNotice(current, latest, channel, interactive, npx = false) {
|
|
|
17934
17799
|
`└${horizontal}┘`
|
|
17935
17800
|
];
|
|
17936
17801
|
return `
|
|
17937
|
-
${frameLines.map((line) =>
|
|
17802
|
+
${frameLines.map((line) => import_picocolors27.default.yellow(line)).join(`
|
|
17938
17803
|
`)}
|
|
17939
17804
|
`;
|
|
17940
17805
|
}
|
|
@@ -18363,7 +18228,6 @@ Use 'dosu mcp add <agent>' to add Dosu MCP to a tool.`);
|
|
|
18363
18228
|
program2.addCommand(orgCommand());
|
|
18364
18229
|
program2.addCommand(reviewCommand());
|
|
18365
18230
|
program2.addCommand(sourcesCommand());
|
|
18366
|
-
program2.addCommand(suggestCommand());
|
|
18367
18231
|
program2.addCommand(telemetryCommand());
|
|
18368
18232
|
program2.addCommand(topicsCommand());
|
|
18369
18233
|
program2.addCommand(threadsCommand());
|
|
@@ -18484,4 +18348,4 @@ execute().catch((err) => {
|
|
|
18484
18348
|
process.exit(1);
|
|
18485
18349
|
});
|
|
18486
18350
|
|
|
18487
|
-
//# debugId=
|
|
18351
|
+
//# debugId=1a1d772d-8140-9eda-6475-6e2164756e21
|