@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.
Files changed (2) hide show
  1. package/bin/dosu.js +31 -16
  2. 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.0", INSTALL_CHANNEL = "npm";
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 = "6c5289e9-52bb-8644-6475-6e2164756e21";
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 ["completed_mcp", "completed_skill", "completed_agents_md"]) {
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
- if (agent === "cursor" && !cursorAgentBin()) {
11451
- return "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. Continue?";
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) || !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
- logsPlan = await offerLogsHandoff({ preferredAgents });
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=6c5289e9-52bb-8644-6475-6e2164756e21
17602
+ //# debugId=5ce578c4-b058-6d8b-6475-6e2164756e21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dosu/cli",
3
- "version": "0.48.0",
3
+ "version": "0.48.2",
4
4
  "type": "module",
5
5
  "description": "Dosu CLI - Manage MCP servers for AI tools",
6
6
  "license": "MIT",