adhdev 0.8.89 → 0.8.90

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/index.js CHANGED
@@ -10999,8 +10999,8 @@ function buildCliParseInput(options) {
10999
10999
  scope,
11000
11000
  runtimeSettings
11001
11001
  } = options;
11002
- const buffer = scope ? sliceFromOffset(accumulatedBuffer, scope.bufferStart) || accumulatedBuffer : accumulatedBuffer;
11003
- const rawBuffer = scope ? sliceFromOffset(accumulatedRawBuffer, scope.rawBufferStart) || accumulatedRawBuffer : accumulatedRawBuffer;
11002
+ const buffer = scope ? sliceFromOffset(accumulatedBuffer, scope.bufferStart) : accumulatedBuffer;
11003
+ const rawBuffer = scope ? sliceFromOffset(accumulatedRawBuffer, scope.rawBufferStart) : accumulatedRawBuffer;
11004
11004
  const screenText = terminalScreenText;
11005
11005
  const recentBuffer = buffer.slice(-1e3) || recentOutputBuffer;
11006
11006
  return {
@@ -11032,8 +11032,8 @@ function summarizeCliTraceMessages(messages, limit = 3) {
11032
11032
  }
11033
11033
  function buildCliTraceParseSnapshot(options) {
11034
11034
  const { accumulatedBuffer, accumulatedRawBuffer, responseBuffer, partialResponse, scope } = options;
11035
- const scopedBuffer = scope ? sliceFromOffset(accumulatedBuffer, scope.bufferStart) || accumulatedBuffer : accumulatedBuffer;
11036
- const scopedRawBuffer = scope ? sliceFromOffset(accumulatedRawBuffer, scope.rawBufferStart) || accumulatedRawBuffer : accumulatedRawBuffer;
11035
+ const scopedBuffer = scope ? sliceFromOffset(accumulatedBuffer, scope.bufferStart) : accumulatedBuffer;
11036
+ const scopedRawBuffer = scope ? sliceFromOffset(accumulatedRawBuffer, scope.rawBufferStart) : accumulatedRawBuffer;
11037
11037
  return {
11038
11038
  currentTurnScope: scope || null,
11039
11039
  responseBuffer: summarizeCliTraceText(responseBuffer, 1200),
@@ -11697,6 +11697,7 @@ var init_provider_cli_adapter = __esm({
11697
11697
  looksLikeClaudeGeneratingLine(line) {
11698
11698
  const trimmed = String(line || "").trim();
11699
11699
  if (!trimmed) return false;
11700
+ if (/^⏵⏵\s+accept edits on/i.test(trimmed)) return false;
11700
11701
  if (/esc to (cancel|interrupt|stop)/i.test(trimmed)) return true;
11701
11702
  if (/^[✻✶✳✢✽⠂⠐⠒⠓⠦⠴⠶⠷⠿]+\s+\S+.*\b(?:thinking|thought for \d+s?)\b/i.test(trimmed)) return true;
11702
11703
  if (/^[✻✶✳✢✽⠂⠐⠒⠓⠦⠴⠶⠷⠿]+\s+[A-Z][A-Za-z-]{3,}ing\b.*(?:…|\.{3})/u.test(trimmed)) return true;
@@ -12009,7 +12010,7 @@ var init_provider_cli_adapter = __esm({
12009
12010
  `[${this.cliType}] settled diagnostics prompt=${JSON.stringify(this.currentTurnScope.prompt).slice(0, 140)} scriptStatus=${String(scriptStatus || "")} parsedStatus=${String(parsedTranscript?.status || "")} parsedMsgCount=${parsedMessages.length} lastParsedAssistant=${JSON.stringify(summarizeCliTraceText(lastParsedAssistant?.content || "", 120)).slice(0, 160)} visibleIdlePrompt=${String(visibleIdlePrompt)} visibleAssistantCandidate=${String(visibleAssistantCandidate)} responseBuffer=${JSON.stringify(summarizeCliTraceText(this.responseBuffer, 160)).slice(0, 220)} screen=${JSON.stringify(summarizeCliTraceText(screenText, 160)).slice(0, 220)}`
12010
12011
  );
12011
12012
  }
12012
- const shouldHoldGenerating = scriptStatus === "idle" && this.isWaitingForResponse && !modal && recentInteractiveActivity && !(visibleIdlePrompt && visibleAssistantCandidate);
12013
+ const shouldHoldGenerating = scriptStatus === "idle" && this.isWaitingForResponse && !modal && recentInteractiveActivity && !(visibleIdlePrompt && visibleAssistantCandidate) && !(parsedTranscript?.status === "idle" && !!lastParsedAssistant);
12013
12014
  if (shouldHoldGenerating) {
12014
12015
  this.clearIdleFinishCandidate("hold_generating_recent_activity");
12015
12016
  this.setStatus("generating", "recent_activity_hold");
@@ -12411,11 +12412,17 @@ var init_provider_cli_adapter = __esm({
12411
12412
  return null;
12412
12413
  }
12413
12414
  }
12415
+ projectEffectiveStatus(startupModal = null) {
12416
+ if (this.parseErrorMessage) return "error";
12417
+ if (startupModal) return "waiting_approval";
12418
+ if (this.isWaitingForResponse && this.currentTurnScope && this.currentStatus === "idle") return "generating";
12419
+ return this.currentStatus;
12420
+ }
12414
12421
  // ─── Public API (CliAdapter) ───────────────────
12415
12422
  getStatus() {
12416
12423
  const screenText = this.terminalScreen.getText() || "";
12417
12424
  const startupModal = this.startupParseGate ? this.getStartupConfirmationModal(screenText) : null;
12418
- const effectiveStatus = this.parseErrorMessage ? "error" : startupModal ? "waiting_approval" : this.currentStatus;
12425
+ const effectiveStatus = this.projectEffectiveStatus(startupModal);
12419
12426
  return {
12420
12427
  status: effectiveStatus,
12421
12428
  messages: [...this.committedMessages],
@@ -13122,7 +13129,7 @@ ${data.message || ""}`.trim();
13122
13129
  }
13123
13130
  this.setStatus("generating", "approval_resolved");
13124
13131
  this.onStatusChange?.();
13125
- const startupTrustModal = /Quick safety check|project trust|trust (?:this project|the contents of this directory|the files in this folder)/i.test(String(modal?.message || ""));
13132
+ const startupTrustModal = /Quick safety check|project trust|Confirm Claude Code project trust|trust (?:this project|the contents of this directory|the files in this folder)/i.test(String(modal?.message || ""));
13126
13133
  if (startupTrustModal && buttonIndex in this.approvalKeys) {
13127
13134
  this.ptyProcess.write(`${this.approvalKeys[buttonIndex]}\r`);
13128
13135
  } else if (this.shouldResolveModalWithEnter(modal, buttonIndex)) {
@@ -13148,7 +13155,7 @@ ${data.message || ""}`.trim();
13148
13155
  getDebugState() {
13149
13156
  const screenText = sanitizeTerminalText(this.terminalScreen.getText());
13150
13157
  const startupModal = this.startupParseGate ? this.getStartupConfirmationModal(screenText) : null;
13151
- const effectiveStatus = startupModal ? "waiting_approval" : this.currentStatus;
13158
+ const effectiveStatus = this.projectEffectiveStatus(startupModal);
13152
13159
  const effectiveReady = this.ready || !!startupModal;
13153
13160
  return {
13154
13161
  type: this.cliType,
@@ -54796,7 +54803,7 @@ var init_adhdev_daemon = __esm({
54796
54803
  init_version();
54797
54804
  init_src();
54798
54805
  init_runtime_defaults();
54799
- pkgVersion = resolvePackageVersion({ injectedVersion: "0.8.89" });
54806
+ pkgVersion = resolvePackageVersion({ injectedVersion: "0.8.90" });
54800
54807
  AdhdevDaemon = class _AdhdevDaemon {
54801
54808
  localHttpServer = null;
54802
54809
  localWss = null;