@indigoai-us/hq-cli 5.342.12 → 5.342.14

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 (47) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +9 -0
  3. package/assets/scaffold/core/scripts/hq-delegate-send.sh +9 -0
  4. package/assets/scaffold/core/scripts/hq-job-probe.sh +9 -0
  5. package/assets/scaffold/core/scripts/jobs-validate.sh +9 -0
  6. package/dist/commands/agent-kit.d.ts +2 -0
  7. package/dist/commands/agent-kit.js +23 -17
  8. package/dist/commands/agent-mcp.d.ts +2 -0
  9. package/dist/commands/agent-mcp.js +21 -15
  10. package/dist/commands/core-delegate-w1b.js +19 -10
  11. package/dist/commands/core-delegate.d.ts +2 -0
  12. package/dist/commands/core-delegate.js +16 -4
  13. package/dist/commands/core-job-probe-native.d.ts +4 -1
  14. package/dist/commands/core-job-probe-native.js +62 -14
  15. package/dist/commands/core-job-run-native.js +14 -2
  16. package/dist/commands/core-jobs-native.js +2 -1
  17. package/dist/commands/core-ontology-native.js +18 -2
  18. package/dist/commands/core-worker-share-native.js +2 -1
  19. package/dist/commands/lanes-message.d.ts +20 -2
  20. package/dist/commands/lanes-message.js +99 -38
  21. package/dist/commands/lanes-shared.d.ts +1 -0
  22. package/dist/commands/lanes.d.ts +4 -0
  23. package/dist/commands/lanes.js +24 -30
  24. package/dist/commands/mesh.js +2 -1
  25. package/dist/commands/monitor.d.ts +14 -1
  26. package/dist/commands/monitor.js +43 -14
  27. package/dist/lib/core-utils/shell-display-path.d.ts +3 -0
  28. package/dist/lib/core-utils/shell-display-path.js +12 -0
  29. package/dist/lib/doctor/checks/anywhere.js +11 -6
  30. package/dist/lib/flag-registry-worker-source.generated.d.ts +1 -1
  31. package/dist/lib/flag-registry-worker-source.generated.js +1 -1
  32. package/dist/lib/lanes/keep-alive-audit.d.ts +3 -0
  33. package/dist/lib/lanes/keep-alive-audit.js +59 -11
  34. package/dist/lib/lanes/reconcile.js +46 -3
  35. package/dist/lib/lanes/types.d.ts +2 -1
  36. package/dist/utils/resident-package-preload.d.ts +8 -1
  37. package/dist/utils/resident-package-preload.js +68 -0
  38. package/dist/utils/run-bundled-script.d.ts +2 -0
  39. package/dist/utils/run-bundled-script.js +1 -0
  40. package/dist/utils/windows-spawn.d.ts +2 -0
  41. package/dist/utils/windows-spawn.js +6 -0
  42. package/docs/anywhere-runtime.md +3 -1
  43. package/package.json +4 -4
  44. package/dist/lib/db/remote-engine.d.ts +0 -58
  45. package/dist/lib/db/remote-engine.js +0 -87
  46. package/dist/lib/db/remote-sql.d.ts +0 -22
  47. package/dist/lib/db/remote-sql.js +0 -36
@@ -99,12 +99,15 @@ export async function runAnywhereChecks(context, deps = {}) {
99
99
  health = unreachableHealth(socketPath);
100
100
  }
101
101
  }
102
- const healthCheck = runtimeHealthCheck(health, healthUnsupported);
103
- if (!runtimeEnabled)
104
- return [healthCheck];
105
102
  const claude = claudeTargets(home);
106
103
  const codex = codexTargets(home);
107
104
  const installed = [claude.hqPointer, claude.stateFile, codex.stateFile].some((p) => fs.existsSync(p));
105
+ const serviceState = runtimeEnabled && installed
106
+ ? (deps.serviceState ?? (() => defaultServiceState(home)))()
107
+ : undefined;
108
+ const healthCheck = runtimeHealthCheck(health, healthUnsupported, serviceState);
109
+ if (!runtimeEnabled)
110
+ return [healthCheck];
108
111
  const remoteModes = [
109
112
  result("WARN", "chatgpt-mode", `ChatGPT integration mode: ${CHATGPT_MODE}; host connector setup is managed in ChatGPT`, "hq install --global --runtime chatgpt"),
110
113
  result("WARN", "grok-mode", `Grok integration mode: ${GROK_MODE}; host connector setup is managed in Grok`, "hq install --global --runtime grok"),
@@ -117,7 +120,7 @@ export async function runAnywhereChecks(context, deps = {}) {
117
120
  out.push(checkInstallMode(claude.stateFile));
118
121
  out.push(checkPointer(claude.hqPointer));
119
122
  out.push(checkRegistry(registryFile(registryDir(home, env))));
120
- const service = (deps.serviceState ?? (() => defaultServiceState(home)))();
123
+ const service = serviceState;
121
124
  if (!service.installed)
122
125
  out.push(result("FAIL", "daemon-installed", `daemon service is not installed (${service.detail})`, REMEDIATION.daemonInstall));
123
126
  else if (!service.loaded)
@@ -162,7 +165,7 @@ function unreachableHealth(socketPath) {
162
165
  socket: { path: socketPath, transport: process.platform === "win32" ? "windows_named_pipe" : "unix_socket", mode: null, ownerMatchesUser: null, userOnly: null },
163
166
  };
164
167
  }
165
- function runtimeHealthCheck(health, healthUnsupported = false) {
168
+ function runtimeHealthCheck(health, healthUnsupported = false, serviceState) {
166
169
  const { flag, resolution, socket } = health;
167
170
  const age = flag.lastSuccessfulReadAgeMs === null
168
171
  ? "unknown"
@@ -189,7 +192,9 @@ function runtimeHealthCheck(health, healthUnsupported = false) {
189
192
  const message = health.reachable
190
193
  ? `hqd reachable; version ${health.version ?? "unknown"}; uptime ${health.uptimeMs === null ? "unknown" : `${new Intl.NumberFormat("en-US").format(health.uptimeMs)} ms`}; runtime flag ${flagLabel}; last successful flag read ${age} ago; held through read error: ${flag.heldThroughReadError ? "yes" : "no"}; cwd binding ${binding}; socket ${socket.path}; ${socketSecurity}${warningNotes.length ? `; ${warningNotes.join("; ")}` : ""}`
191
194
  : unreachableMessage;
192
- const remediation = healthUnsupported || socketNotUserOnly ? REMEDIATION.daemonRestart : undefined;
195
+ const remediation = !health.reachable && socket.transport === "unix_socket" && serviceState
196
+ ? serviceState.installed ? REMEDIATION.daemonRestart : REMEDIATION.daemonInstall
197
+ : healthUnsupported || socketNotUserOnly ? REMEDIATION.daemonRestart : undefined;
193
198
  return {
194
199
  status: health.reachable && warningNotes.length === 0 ? "PASS" : "WARN",
195
200
  checkId: "anywhere.runtime-health",