@dosu/cli 0.48.0 → 0.48.2
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 +31 -16
- package/package.json +1 -1
package/bin/dosu.js
CHANGED
|
@@ -4739,7 +4739,7 @@ function isNpxInvocation(channel = INSTALL_CHANNEL, env = process.env) {
|
|
|
4739
4739
|
function getVersionString() {
|
|
4740
4740
|
return `v${VERSION}`;
|
|
4741
4741
|
}
|
|
4742
|
-
var VERSION = "0.48.
|
|
4742
|
+
var VERSION = "0.48.2", INSTALL_CHANNEL = "npm";
|
|
4743
4743
|
|
|
4744
4744
|
// src/debug/logger.ts
|
|
4745
4745
|
import {
|
|
@@ -10336,7 +10336,7 @@ var init_settings = __esm(() => {
|
|
|
10336
10336
|
});
|
|
10337
10337
|
|
|
10338
10338
|
// src/telemetry/debug-id.ts
|
|
10339
|
-
var BUNDLE_DEBUG_ID_PLACEHOLDER = "
|
|
10339
|
+
var BUNDLE_DEBUG_ID_PLACEHOLDER = "5ce578c4-b058-6d8b-6475-6e2164756e21";
|
|
10340
10340
|
|
|
10341
10341
|
// src/telemetry/telemetry.ts
|
|
10342
10342
|
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
@@ -11167,10 +11167,18 @@ function allowlistedWorkflowProperties(properties) {
|
|
|
11167
11167
|
if (Array.isArray(input.providers)) {
|
|
11168
11168
|
safe.providers = input.providers.filter((provider) => typeof provider === "string" && /^[a-z][a-z0-9-]{0,31}$/.test(provider)).slice(0, 50);
|
|
11169
11169
|
}
|
|
11170
|
-
for (const key of [
|
|
11170
|
+
for (const key of [
|
|
11171
|
+
"completed_mcp",
|
|
11172
|
+
"completed_skill",
|
|
11173
|
+
"completed_agents_md",
|
|
11174
|
+
"completed_logs_handoff"
|
|
11175
|
+
]) {
|
|
11171
11176
|
if (typeof input[key] === "boolean")
|
|
11172
11177
|
safe[key] = input[key];
|
|
11173
11178
|
}
|
|
11179
|
+
if (input.logs_handoff === "accepted" || input.logs_handoff === "declined" || input.logs_handoff === "cancelled") {
|
|
11180
|
+
safe.logs_handoff = input.logs_handoff;
|
|
11181
|
+
}
|
|
11174
11182
|
return safe;
|
|
11175
11183
|
}
|
|
11176
11184
|
function safeIdentifier(value, maxLength) {
|
|
@@ -11447,31 +11455,33 @@ function printManualLogsNudge(opts = {}) {
|
|
|
11447
11455
|
log.message(info(prompt));
|
|
11448
11456
|
}
|
|
11449
11457
|
function confirmLogsHandoffMessage(agent) {
|
|
11450
|
-
|
|
11451
|
-
|
|
11452
|
-
}
|
|
11453
|
-
return `We'll hand off to ${kickoffAgentLabel(agent)} to mine these into Dosu. Continue?`;
|
|
11458
|
+
const lead = agent === "cursor" && !cursorAgentBin() ? "We'll print a prompt to paste into Agent to mine these into Dosu. Cursor CLI isn't on PATH, so nothing runs until you send it." : `We'll hand off to ${kickoffAgentLabel(agent)} to mine these into Dosu.`;
|
|
11459
|
+
return `${lead} ${LOGS_HANDOFF_PRIVACY}`;
|
|
11454
11460
|
}
|
|
11455
11461
|
async function offerLogsHandoff(options = {}) {
|
|
11456
11462
|
const hits = detectLogSources(options.home);
|
|
11457
11463
|
if (hits.length === 0)
|
|
11458
|
-
return null;
|
|
11464
|
+
return { plan: null };
|
|
11459
11465
|
const sources = hits.map((hit) => hit.source);
|
|
11460
11466
|
const agent = resolveKickoffAgent(options.preferredAgents ?? []);
|
|
11461
11467
|
if (!agent) {
|
|
11462
11468
|
printManualLogsNudge();
|
|
11463
|
-
return null;
|
|
11469
|
+
return { plan: null };
|
|
11464
11470
|
}
|
|
11465
11471
|
log.success(`MCP setup successful! Found logs: ${formatLogSourceSummary(hits)}`);
|
|
11466
11472
|
const go = await confirm({
|
|
11467
11473
|
message: confirmLogsHandoffMessage(agent),
|
|
11468
11474
|
initialValue: true
|
|
11469
11475
|
});
|
|
11470
|
-
if (isCancel(go)
|
|
11476
|
+
if (isCancel(go)) {
|
|
11471
11477
|
printManualLogsNudge();
|
|
11472
|
-
return null;
|
|
11478
|
+
return { plan: null, decision: "cancelled" };
|
|
11479
|
+
}
|
|
11480
|
+
if (!go) {
|
|
11481
|
+
printManualLogsNudge();
|
|
11482
|
+
return { plan: null, decision: "declined" };
|
|
11473
11483
|
}
|
|
11474
|
-
return { agent, sources };
|
|
11484
|
+
return { plan: { agent, sources }, decision: "accepted" };
|
|
11475
11485
|
}
|
|
11476
11486
|
function launchLogsAgent(plan) {
|
|
11477
11487
|
const prompt = buildLogsHandoffPrompt();
|
|
@@ -11482,7 +11492,7 @@ function launchLogsAgent(plan) {
|
|
|
11482
11492
|
printManualLogsNudge();
|
|
11483
11493
|
}
|
|
11484
11494
|
}
|
|
11485
|
-
var LOG_SOURCES, SOURCE_LABELS, COUNT_CAP = 500;
|
|
11495
|
+
var LOG_SOURCES, SOURCE_LABELS, COUNT_CAP = 500, LOGS_HANDOFF_PRIVACY = "To bootstrap Dosu's knowledge, we'll ask your local coding agent to analyze previous sessions and save useful insights to Dosu. We'll only save team-level knowledge for this repository. All session log data will remain local to your machine. Press Enter to continue or Ctrl+C to exit.";
|
|
11486
11496
|
var init_logs_handoff = __esm(() => {
|
|
11487
11497
|
init_dist8();
|
|
11488
11498
|
init_agent_kickoff();
|
|
@@ -12090,15 +12100,20 @@ async function runSetup(opts = {}) {
|
|
|
12090
12100
|
agentsMdCompleted = await stepUpdateAgentsMd();
|
|
12091
12101
|
}
|
|
12092
12102
|
let logsPlan = null;
|
|
12103
|
+
let logsHandoff;
|
|
12093
12104
|
if (mcpCompleted && cfg.mode !== MODE_OSS && inGitWorkTree()) {
|
|
12094
12105
|
const preferredAgents = configuredProviders.map((result) => result.provider.id());
|
|
12095
|
-
|
|
12106
|
+
const offer = await offerLogsHandoff({ preferredAgents });
|
|
12107
|
+
logsPlan = offer.plan;
|
|
12108
|
+
logsHandoff = offer.decision;
|
|
12096
12109
|
}
|
|
12097
12110
|
if (mcpCompleted || skillCompleted || agentsMdCompleted) {
|
|
12098
12111
|
trackInBackground(trackCliOnboardingEvent(cfg, onboardingRunID, "cli_onboarding_completed", {
|
|
12099
12112
|
completed_mcp: mcpCompleted,
|
|
12100
12113
|
completed_skill: skillCompleted,
|
|
12101
|
-
completed_agents_md: agentsMdCompleted
|
|
12114
|
+
completed_agents_md: agentsMdCompleted,
|
|
12115
|
+
completed_logs_handoff: logsHandoff === "accepted",
|
|
12116
|
+
...logsHandoff ? { logs_handoff: logsHandoff } : {}
|
|
12102
12117
|
}));
|
|
12103
12118
|
}
|
|
12104
12119
|
if (cfg.mode === MODE_OSS) {
|
|
@@ -17584,4 +17599,4 @@ execute().catch((err) => {
|
|
|
17584
17599
|
process.exit(1);
|
|
17585
17600
|
});
|
|
17586
17601
|
|
|
17587
|
-
//# debugId=
|
|
17602
|
+
//# debugId=5ce578c4-b058-6d8b-6475-6e2164756e21
|