@adhdev/daemon-standalone 0.9.82-rc.224 → 0.9.82-rc.226

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
@@ -31604,6 +31604,7 @@ ${rules.join("\n")}`;
31604
31604
  - **Refinery is config-driven.** \`mesh_refine_node\` must run validation from \`.adhdev/refine.{json,yaml,yml}\` or \`repo-mesh.refine.*\`. Heuristics are scaffolding only.
31605
31605
  - **Submodule reachability = publish-needed.** \`submodule_reachability_failed\` \u2192 classify as \`blocked_review\`, request user approval to push to submodule main, then rerun \`mesh_refine_node\`.
31606
31606
  - **Honor per-node instructions.** When a node carries a \u{1F4CC} Node instruction in the nodes section, include the relevant parts of that instruction in the task message you send to that node. Don't paraphrase the instruction into your own words \u2014 quote it verbatim so the worker agent sees exactly what the user wrote.
31607
+ - **Mission status does not update itself.** When a mission's tasks are all done or the work is abandoned, explicitly call \`mesh_mission_upsert\` to set status \`completed\` or \`abandoned\`. Never leave a finished mission in \`active\`. All-cancelled tasks with no further work \u2192 \`abandoned\`.
31607
31608
  - **Never fabricate tool results.** Always call the actual tool.
31608
31609
  - **Keep the user informed.** One or two sentences after each delegation round.${coordinatorNote}`;
31609
31610
  }
@@ -36451,6 +36452,13 @@ Next step: ${nextStep}`;
36451
36452
  return true;
36452
36453
  }
36453
36454
  }
36455
+ try {
36456
+ const inst = components.instanceManager.getInstance(sessionId);
36457
+ if (inst && typeof inst.updateSettings === "function") {
36458
+ inst.updateSettings({ meshNodeFor: meshId, meshNodeId: nodeId, launchedByCoordinator: true });
36459
+ }
36460
+ } catch {
36461
+ }
36454
36462
  const delivery = createSessionDelivery({
36455
36463
  meshId,
36456
36464
  nodeId,
@@ -37462,7 +37470,9 @@ Next step: ${nextStep}`;
37462
37470
  "monitor:long_generating",
37463
37471
  "refine:accepted",
37464
37472
  "refine:completed",
37465
- "refine:failed"
37473
+ "refine:failed",
37474
+ "worktree_bootstrap_complete",
37475
+ "worktree_bootstrap_failed"
37466
37476
  ]);
37467
37477
  EVENT_TO_LEDGER_KIND = {
37468
37478
  "agent:generating_completed": "task_completed",
@@ -60191,7 +60201,8 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60191
60201
  typeof adapterStatus?.providerSessionId === "string" ? adapterStatus.providerSessionId : ""
60192
60202
  );
60193
60203
  const autoApproveActive = this.maybeAutoApproveStatus(adapterStatus, Date.now());
60194
- let visibleStatus = parseErrorMessage || parsedStatus?.status === "error" ? "error" : autoApproveActive ? "generating" : adapterStatus.status;
60204
+ const autoApproveHoldIdle = this.autoApproveBusy && adapterStatus.status === "idle";
60205
+ let visibleStatus = parseErrorMessage || parsedStatus?.status === "error" ? "error" : autoApproveActive || autoApproveHoldIdle ? "generating" : adapterStatus.status;
60195
60206
  const externalNativeFinal = this.getExternalNativeFinalReconciliation(parsedStatus?.messages, adapterStatus);
60196
60207
  if (externalNativeFinal && isCliGeneratingLikeStatus(visibleStatus)) {
60197
60208
  visibleStatus = "idle";
@@ -60278,7 +60289,7 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60278
60289
  summaryMetadata: this.summaryMetadata,
60279
60290
  controlValues: this.controlValues
60280
60291
  });
60281
- const activeChatStatus = parseErrorMessage ? "error" : autoApproveActive && parsedStatus?.status === "waiting_approval" ? "generating" : adapterStatus.status !== "idle" ? visibleStatus : suppressStaleParsedBusyStatus ? visibleStatus : parsedChatStatus || visibleStatus;
60292
+ const activeChatStatus = parseErrorMessage ? "error" : autoApproveActive && parsedStatus?.status === "waiting_approval" || autoApproveHoldIdle ? "generating" : adapterStatus.status !== "idle" ? visibleStatus : suppressStaleParsedBusyStatus ? visibleStatus : parsedChatStatus || visibleStatus;
60282
60293
  const hasInteractivePrompt = !!this.activeInteractivePrompt;
60283
60294
  const finalStatus = hasInteractivePrompt ? "waiting_choice" : visibleStatus;
60284
60295
  const finalChatStatus = hasInteractivePrompt ? "waiting_choice" : activeChatStatus;
@@ -60293,7 +60304,7 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60293
60304
  title: parsedStatus?.title || dirName,
60294
60305
  status: finalChatStatus,
60295
60306
  messages: statusMessages,
60296
- activeModal: autoApproveActive ? null : parsedStatus?.activeModal ?? adapterStatus.activeModal,
60307
+ activeModal: autoApproveActive || autoApproveHoldIdle ? null : parsedStatus?.activeModal ?? adapterStatus.activeModal,
60297
60308
  activeInteractivePrompt: this.activeInteractivePrompt,
60298
60309
  inputContent: ""
60299
60310
  },
@@ -60335,7 +60346,8 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60335
60346
  getHotChatSessionState() {
60336
60347
  const adapterStatus = this.adapter.getStatus({ allowParse: false });
60337
60348
  const autoApproveActive = adapterStatus.status === "waiting_approval" && this.shouldAutoApprove();
60338
- const visibleStatus = autoApproveActive ? "generating" : adapterStatus.status;
60349
+ const autoApproveHoldIdle = this.autoApproveBusy && adapterStatus.status === "idle";
60350
+ const visibleStatus = autoApproveActive || autoApproveHoldIdle ? "generating" : adapterStatus.status;
60339
60351
  const runtime = this.adapter.getRuntimeMetadata();
60340
60352
  return {
60341
60353
  id: this.instanceId,
@@ -60349,7 +60361,8 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60349
60361
  getSessionModalState(sessionId) {
60350
60362
  const adapterStatus = this.adapter.getStatus({ allowParse: true });
60351
60363
  const autoApproveActive = adapterStatus.status === "waiting_approval" && this.shouldAutoApprove();
60352
- const visibleStatus = autoApproveActive ? "generating" : adapterStatus.status;
60364
+ const autoApproveHoldIdle = this.autoApproveBusy && adapterStatus.status === "idle";
60365
+ const visibleStatus = autoApproveActive || autoApproveHoldIdle ? "generating" : adapterStatus.status;
60353
60366
  const dirName = this.workingDir.split("/").filter(Boolean).pop() || "session";
60354
60367
  return {
60355
60368
  // Honor the caller-supplied sessionId — InstanceMgr rejects the
@@ -60359,7 +60372,7 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60359
60372
  id: sessionId ?? this.instanceId,
60360
60373
  status: visibleStatus,
60361
60374
  title: dirName,
60362
- activeModal: autoApproveActive ? null : adapterStatus.activeModal
60375
+ activeModal: autoApproveActive || autoApproveHoldIdle ? null : adapterStatus.activeModal
60363
60376
  };
60364
60377
  }
60365
60378
  updateSettings(newSettings) {
@@ -60935,7 +60948,8 @@ ${formatManifestValidationIssues2(validation.issues)}`,
60935
60948
  const rawStatus = adapterStatus.status;
60936
60949
  const autoApproveActive = this.maybeAutoApproveStatus(adapterStatus, now);
60937
60950
  const externalNativeFinal = this.getExternalNativeFinalReconciliation(void 0, adapterStatus);
60938
- const newStatus = externalNativeFinal && isCliGeneratingLikeStatus(rawStatus) ? "idle" : autoApproveActive ? "generating" : rawStatus;
60951
+ const autoApproveHoldIdle = this.autoApproveBusy && rawStatus === "idle";
60952
+ const newStatus = externalNativeFinal && isCliGeneratingLikeStatus(rawStatus) ? "idle" : autoApproveActive || autoApproveHoldIdle ? "generating" : rawStatus;
60939
60953
  const dirName = this.workingDir.split("/").filter(Boolean).pop() || "session";
60940
60954
  const chatTitle = `${this.provider.name} \xB7 ${dirName}`;
60941
60955
  const partial2 = this.adapter.getPartialResponse();
@@ -73575,26 +73589,34 @@ ${tail}` : ""
73575
73589
  const emitBootstrapEvent = (eventStatus2, bootstrapState2, startedAtMs, extraPayload) => {
73576
73590
  try {
73577
73591
  const durationMs = Date.now() - startedAtMs;
73578
- const eventPayload = {
73579
- event: `worktree_${eventStatus2}`,
73592
+ const event = `worktree_${eventStatus2}`;
73593
+ const metadataEvent = {
73594
+ source: "clone_mesh_node_bootstrap",
73595
+ nodeId: node.id,
73596
+ status: eventStatus2,
73597
+ worktreePath: result.worktreePath,
73598
+ durationMs,
73599
+ bootstrapStatus: bootstrapState2.status,
73600
+ ...bootstrapState2.error ? { error: bootstrapState2.error } : {},
73601
+ ...bootstrapState2.exitCode !== void 0 ? { exitCode: bootstrapState2.exitCode } : {},
73602
+ ...extraPayload || {}
73603
+ };
73604
+ if (typeof this.deps.instanceManager?.getByCategory === "function") {
73605
+ const forwarded = handleMeshForwardEvent(
73606
+ { instanceManager: this.deps.instanceManager },
73607
+ { event, meshId, nodeId: node.id, workspace: result.worktreePath, metadataEvent }
73608
+ );
73609
+ if (forwarded?.success === true) return;
73610
+ }
73611
+ queuePendingMeshCoordinatorEvent({
73612
+ event,
73580
73613
  meshId,
73581
73614
  nodeLabel: node.id,
73582
73615
  nodeId: node.id,
73583
73616
  workspace: result.worktreePath,
73584
- metadataEvent: {
73585
- source: "clone_mesh_node_bootstrap",
73586
- nodeId: node.id,
73587
- status: eventStatus2,
73588
- worktreePath: result.worktreePath,
73589
- durationMs,
73590
- bootstrapStatus: bootstrapState2.status,
73591
- ...bootstrapState2.error ? { error: bootstrapState2.error } : {},
73592
- ...bootstrapState2.exitCode !== void 0 ? { exitCode: bootstrapState2.exitCode } : {},
73593
- ...extraPayload || {}
73594
- },
73617
+ metadataEvent,
73595
73618
  queuedAt: Date.now()
73596
- };
73597
- queuePendingMeshCoordinatorEvent(eventPayload);
73619
+ });
73598
73620
  } catch {
73599
73621
  }
73600
73622
  };