@adhdev/daemon-standalone 1.0.58-rc.10 → 1.0.58-rc.11

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
@@ -36882,10 +36882,10 @@ var require_dist3 = __commonJS({
36882
36882
  }
36883
36883
  function getDaemonBuildInfo() {
36884
36884
  if (cached2) return cached2;
36885
- const commit = readInjected(true ? "d5a700991e9d580252c1191b7f2f4600e4915e3d" : void 0) ?? "unknown";
36886
- const commitShort = readInjected(true ? "d5a70099" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
36887
- const version2 = readInjected(true ? "1.0.58-rc.10" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
36888
- const builtAt = readInjected(true ? "2026-08-24T19:45:32.110Z" : void 0);
36885
+ const commit = readInjected(true ? "3ca2b5ad15d65b9747431bc63b717940d2431daa" : void 0) ?? "unknown";
36886
+ const commitShort = readInjected(true ? "3ca2b5ad" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
36887
+ const version2 = readInjected(true ? "1.0.58-rc.11" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
36888
+ const builtAt = readInjected(true ? "2026-08-25T02:16:50.726Z" : void 0);
36889
36889
  cached2 = builtAt ? { commit, commitShort, version: version2, builtAt } : { commit, commitShort, version: version2 };
36890
36890
  return cached2;
36891
36891
  }
@@ -39463,7 +39463,7 @@ var require_dist3 = __commonJS({
39463
39463
  init_types();
39464
39464
  init_deps();
39465
39465
  DEFAULT_BASE_URL = "https://daily-cloudcode-pa.googleapis.com/v1internal";
39466
- ANTIGRAVITY_USER_AGENT_VERSION = "1.1.16";
39466
+ ANTIGRAVITY_USER_AGENT_VERSION = "1.1.19";
39467
39467
  REQUEST_TIMEOUT_MS = 1e4;
39468
39468
  EXPIRY_SKEW_MS = 5e3;
39469
39469
  CRED_STORE_TIMEOUT_MS = 5e3;
@@ -52730,6 +52730,21 @@ The instruction it carried was never delivered to anyone. If it still matters, r
52730
52730
  ).all(meshId, limit);
52731
52731
  return rows.map(mapGraphRow);
52732
52732
  }
52733
+ /** Exact size of the same mesh/status window exposed by listGraphsByMesh. */
52734
+ countGraphsByMesh(meshId, opts) {
52735
+ const statuses = opts?.statuses;
52736
+ if (statuses && statuses.length > 0) {
52737
+ const placeholders = statuses.map(() => "?").join(",");
52738
+ const row2 = this.db.prepare(
52739
+ `SELECT COUNT(*) AS count FROM mesh_task_graphs WHERE mesh_id = ? AND status IN (${placeholders})`
52740
+ ).get(meshId, ...statuses);
52741
+ return row2.count;
52742
+ }
52743
+ const row = this.db.prepare(
52744
+ `SELECT COUNT(*) AS count FROM mesh_task_graphs WHERE mesh_id = ?`
52745
+ ).get(meshId);
52746
+ return row.count;
52747
+ }
52733
52748
  /**
52734
52749
  * Phase-E: replace the graph's normalized policy document. Used at plan-commit
52735
52750
  * time to attach the enqueue-decision provenance record next to the persisted
@@ -54594,6 +54609,8 @@ The instruction it carried was never delivered to anyone. If it still matters, r
54594
54609
  if (reporterDaemonBuildVersion) git3.reporterDaemonBuildVersion = reporterDaemonBuildVersion;
54595
54610
  const reporterMemberState = normalizeReportedMemberState(remoteResult?.reporterMemberState);
54596
54611
  if (reporterMemberState) git3.reporterMemberState = reporterMemberState;
54612
+ const reporterNodeFacts = normalizeMeshNodeFacts(remoteResult?.reporterNodeFacts);
54613
+ if (reporterNodeFacts) git3.reporterNodeFacts = reporterNodeFacts;
54597
54614
  return git3;
54598
54615
  }
54599
54616
  function readMeshConnectionState(connection) {
@@ -92255,6 +92272,17 @@ ${e?.stderr || ""}`;
92255
92272
  };
92256
92273
  });
92257
92274
  }
92275
+ function countMeshGraphViews(meshId, opts = {}) {
92276
+ const graphStore = MeshRuntimeStore.getInstance().graphStore();
92277
+ if (opts.graphId) {
92278
+ const graph = graphStore.getGraph(opts.graphId);
92279
+ return graph && graph.meshId === meshId ? 1 : 0;
92280
+ }
92281
+ if (opts.batchId) return graphStore.getGraphByBatchId(meshId, opts.batchId) ? 1 : 0;
92282
+ return graphStore.countGraphsByMesh(meshId, {
92283
+ ...opts.activeOnly === false ? {} : { statuses: IN_FLIGHT_GRAPH_STATUSES }
92284
+ });
92285
+ }
92258
92286
  function describeNodeFeatures(baseSpecJson) {
92259
92287
  let spec;
92260
92288
  try {
@@ -108443,8 +108471,10 @@ ${marker}`,
108443
108471
  * which is exactly the reported "1개일 때는 항상 동작, 2~3개일 때 꼬인다"
108444
108472
  * split. Set by writeRaw() when a keystroke arrives while the picker footer
108445
108473
  * is on screen; while set, no capture starts and any in-flight capture
108446
- * bails before its next injected key. Cleared once the picker footer leaves
108447
- * the screen (the next prompt may capture again).
108474
+ * bails before its next injected key. Cleared once the picker footer has
108475
+ * stayed off the screen across the repaint-grace window — a single
108476
+ * footer-less frame is claude mid-repaint, not a closed picker (the next
108477
+ * prompt may capture again after the grace elapses).
108448
108478
  */
108449
108479
  claudeTuiCaptureSuppressed = false;
108450
108480
  /**
@@ -108456,6 +108486,19 @@ ${marker}`,
108456
108486
  * the count resets when the picker leaves the screen.
108457
108487
  */
108458
108488
  claudeTuiCaptureFailures = null;
108489
+ /**
108490
+ * Wall clock of the first consecutive frame on which the picker footer was
108491
+ * absent. claude-cli repaints the picker across several PTY chunks (see
108492
+ * interactivePromptLostAt), so ONE footer-less frame is not proof the
108493
+ * picker left — clearing the owner-input latch on such a frame re-armed
108494
+ * capture mid-repaint and restarted Tab/Shift-Tab injection while the
108495
+ * owner was typing (the residual of the submit-tangle bug with the latch
108496
+ * already in place). The latch and the failure budget therefore re-arm
108497
+ * only after the footer has stayed absent for
108498
+ * INTERACTIVE_PROMPT_LOST_GRACE_MS — the same hysteresis the prompt-lost
108499
+ * path already uses.
108500
+ */
108501
+ claudeTuiCaptureFooterAbsentAt = null;
108459
108502
  /** Max capture attempts per prompt identity before giving up (one retry). */
108460
108503
  static CLAUDE_TUI_CAPTURE_MAX_ATTEMPTS = 2;
108461
108504
  /**
@@ -108800,7 +108843,7 @@ ${marker}`,
108800
108843
  }
108801
108844
  writeRaw(data) {
108802
108845
  try {
108803
- if (!this.claudeTuiCaptureSuppressed && this.interactivePromptScheme() === "claude_tui" && this.driver.snapshot().includes("Enter to select")) {
108846
+ if (!this.claudeTuiCaptureSuppressed && this.interactivePromptScheme() === "claude_tui" && (this.driver.snapshot().includes("Enter to select") || this.activeInteractivePrompt !== null || this.claudeTuiPromptCaptureInFlight)) {
108804
108847
  this.claudeTuiCaptureSuppressed = true;
108805
108848
  }
108806
108849
  } catch {
@@ -109384,10 +109427,15 @@ ${marker}`,
109384
109427
  if (this.interactivePromptScheme() !== "claude_tui" || this.activeInteractivePrompt || this.claudeTuiPromptCaptureInFlight) return;
109385
109428
  const screenText = this.driver.snapshot();
109386
109429
  if (!screenText.includes("Enter to select")) {
109387
- this.claudeTuiCaptureSuppressed = false;
109388
- this.claudeTuiCaptureFailures = null;
109430
+ const now = Date.now();
109431
+ if (this.claudeTuiCaptureFooterAbsentAt === null) this.claudeTuiCaptureFooterAbsentAt = now;
109432
+ if (now - this.claudeTuiCaptureFooterAbsentAt >= _SpecCliAdapter.INTERACTIVE_PROMPT_LOST_GRACE_MS) {
109433
+ this.claudeTuiCaptureSuppressed = false;
109434
+ this.claudeTuiCaptureFailures = null;
109435
+ }
109389
109436
  return;
109390
109437
  }
109438
+ this.claudeTuiCaptureFooterAbsentAt = null;
109391
109439
  const headers = this.readClaudeTuiHeaders(screenText);
109392
109440
  if (headers.length === 0) {
109393
109441
  const prompt = detectClaudeAskUserQuestionPromptFromTuiPages([{ screenText }], {
@@ -125952,12 +126000,14 @@ ${formatManifestValidationIssues2(validation2.issues)}`);
125952
126000
  if (!meshId) return { success: false, error: "meshId is required" };
125953
126001
  const includeTerminal = args?.includeTerminal === true;
125954
126002
  try {
125955
- const graphs = buildMeshGraphViews(meshId, {
126003
+ const viewOptions = {
125956
126004
  activeOnly: !includeTerminal,
125957
126005
  ...typeof args?.limit === "number" && args.limit > 0 ? { limit: Math.min(100, args.limit) } : {}
125958
- });
126006
+ };
126007
+ const graphs = buildMeshGraphViews(meshId, viewOptions);
126008
+ const totalGraphCount = countMeshGraphViews(meshId, viewOptions);
125959
126009
  const pendingCoordinatorActions = graphs.flatMap((g) => (g.nextCoordinatorAction ?? []).map((a) => ({ graphId: g.graphId, ...a })));
125960
- return { success: true, meshId, graphCount: graphs.length, graphs, pendingCoordinatorActions };
126010
+ return { success: true, meshId, graphCount: graphs.length, totalGraphCount, graphs, pendingCoordinatorActions };
125961
126011
  } catch (e) {
125962
126012
  return { success: false, error: `graph overview failed: ${e?.message || e}` };
125963
126013
  }