@adhdev/daemon-standalone 1.0.40 → 1.0.41-rc.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.
- package/dist/index.js +74 -25
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/public/assets/{index-BRvsAKU_.css → index-52ZogCII.css} +1 -1
- package/public/assets/{index-DUQvQURE.js → index-DF2iE_WV.js} +5 -5
- package/public/index.html +2 -2
- package/vendor/mcp-server/index.js +0 -0
- package/vendor/session-host-daemon/index.js +0 -0
- package/vendor/session-host-daemon/index.mjs +0 -0
package/dist/index.js
CHANGED
|
@@ -31423,9 +31423,9 @@ var require_streamx = __commonJS({
|
|
|
31423
31423
|
}
|
|
31424
31424
|
});
|
|
31425
31425
|
|
|
31426
|
-
//
|
|
31426
|
+
// ../../node_modules/tar-stream/node_modules/b4a/index.js
|
|
31427
31427
|
var require_b4a2 = __commonJS({
|
|
31428
|
-
"
|
|
31428
|
+
"../../node_modules/tar-stream/node_modules/b4a/index.js"(exports2, module2) {
|
|
31429
31429
|
"use strict";
|
|
31430
31430
|
function isBuffer(value) {
|
|
31431
31431
|
return Buffer.isBuffer(value) || value instanceof Uint8Array;
|
|
@@ -31581,9 +31581,9 @@ var require_b4a2 = __commonJS({
|
|
|
31581
31581
|
}
|
|
31582
31582
|
});
|
|
31583
31583
|
|
|
31584
|
-
//
|
|
31584
|
+
// ../../node_modules/tar-stream/headers.js
|
|
31585
31585
|
var require_headers = __commonJS({
|
|
31586
|
-
"
|
|
31586
|
+
"../../node_modules/tar-stream/headers.js"(exports2) {
|
|
31587
31587
|
"use strict";
|
|
31588
31588
|
var b4a = require_b4a2();
|
|
31589
31589
|
var ZEROS = "0000000000000000000";
|
|
@@ -31844,9 +31844,9 @@ var require_headers = __commonJS({
|
|
|
31844
31844
|
}
|
|
31845
31845
|
});
|
|
31846
31846
|
|
|
31847
|
-
//
|
|
31847
|
+
// ../../node_modules/tar-stream/extract.js
|
|
31848
31848
|
var require_extract = __commonJS({
|
|
31849
|
-
"
|
|
31849
|
+
"../../node_modules/tar-stream/extract.js"(exports2, module2) {
|
|
31850
31850
|
"use strict";
|
|
31851
31851
|
var { Writable, Readable, getStreamError } = require_streamx();
|
|
31852
31852
|
var FIFO = require_fast_fifo();
|
|
@@ -32189,9 +32189,9 @@ var require_extract = __commonJS({
|
|
|
32189
32189
|
}
|
|
32190
32190
|
});
|
|
32191
32191
|
|
|
32192
|
-
//
|
|
32192
|
+
// ../../node_modules/tar-stream/constants.js
|
|
32193
32193
|
var require_constants = __commonJS({
|
|
32194
|
-
"
|
|
32194
|
+
"../../node_modules/tar-stream/constants.js"(exports2, module2) {
|
|
32195
32195
|
"use strict";
|
|
32196
32196
|
var constants = {
|
|
32197
32197
|
// just for envs without fs
|
|
@@ -32210,9 +32210,9 @@ var require_constants = __commonJS({
|
|
|
32210
32210
|
}
|
|
32211
32211
|
});
|
|
32212
32212
|
|
|
32213
|
-
//
|
|
32213
|
+
// ../../node_modules/tar-stream/pack.js
|
|
32214
32214
|
var require_pack = __commonJS({
|
|
32215
|
-
"
|
|
32215
|
+
"../../node_modules/tar-stream/pack.js"(exports2, module2) {
|
|
32216
32216
|
"use strict";
|
|
32217
32217
|
var { Readable, Writable, getStreamError } = require_streamx();
|
|
32218
32218
|
var b4a = require_b4a2();
|
|
@@ -32445,9 +32445,9 @@ var require_pack = __commonJS({
|
|
|
32445
32445
|
}
|
|
32446
32446
|
});
|
|
32447
32447
|
|
|
32448
|
-
//
|
|
32448
|
+
// ../../node_modules/tar-stream/index.js
|
|
32449
32449
|
var require_tar_stream = __commonJS({
|
|
32450
|
-
"
|
|
32450
|
+
"../../node_modules/tar-stream/index.js"(exports2) {
|
|
32451
32451
|
"use strict";
|
|
32452
32452
|
exports2.extract = require_extract();
|
|
32453
32453
|
exports2.pack = require_pack();
|
|
@@ -32690,9 +32690,9 @@ var require_pump = __commonJS({
|
|
|
32690
32690
|
}
|
|
32691
32691
|
});
|
|
32692
32692
|
|
|
32693
|
-
//
|
|
32693
|
+
// ../../node_modules/tar-fs/index.js
|
|
32694
32694
|
var require_tar_fs = __commonJS({
|
|
32695
|
-
"
|
|
32695
|
+
"../../node_modules/tar-fs/index.js"(exports2) {
|
|
32696
32696
|
"use strict";
|
|
32697
32697
|
var tar = require_tar_stream();
|
|
32698
32698
|
var pump = require_pump();
|
|
@@ -36539,10 +36539,10 @@ var require_dist3 = __commonJS({
|
|
|
36539
36539
|
}
|
|
36540
36540
|
function getDaemonBuildInfo() {
|
|
36541
36541
|
if (cached2) return cached2;
|
|
36542
|
-
const commit = readInjected(true ? "
|
|
36543
|
-
const commitShort = readInjected(true ? "
|
|
36544
|
-
const version2 = readInjected(true ? "1.0.
|
|
36545
|
-
const builtAt = readInjected(true ? "2026-08-
|
|
36542
|
+
const commit = readInjected(true ? "ea178c233410ac9d7352c117eb693cf00b769fdb" : void 0) ?? "unknown";
|
|
36543
|
+
const commitShort = readInjected(true ? "ea178c23" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
36544
|
+
const version2 = readInjected(true ? "1.0.41-rc.2" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
36545
|
+
const builtAt = readInjected(true ? "2026-08-09T04:45:32.399Z" : void 0);
|
|
36546
36546
|
cached2 = builtAt ? { commit, commitShort, version: version2, builtAt } : { commit, commitShort, version: version2 };
|
|
36547
36547
|
return cached2;
|
|
36548
36548
|
}
|
|
@@ -37800,7 +37800,7 @@ var require_dist3 = __commonJS({
|
|
|
37800
37800
|
}
|
|
37801
37801
|
});
|
|
37802
37802
|
function resolveBuildTrack(env2 = process.env) {
|
|
37803
|
-
const injected = true ? "" : void 0;
|
|
37803
|
+
const injected = true ? "preview" : void 0;
|
|
37804
37804
|
const stamped = typeof injected === "string" ? injected.trim() : "";
|
|
37805
37805
|
const raw = (stamped || (env2[BUILD_CHANNEL_ENV_VAR] ?? "").trim()).toLowerCase();
|
|
37806
37806
|
return raw === "preview" || raw === "next" ? "preview" : "stable";
|
|
@@ -37852,6 +37852,21 @@ var require_dist3 = __commonJS({
|
|
|
37852
37852
|
function resolveConfigLogsDir(env2 = process.env, homeDir) {
|
|
37853
37853
|
return (0, import_path3.join)(resolveConfigDir(env2, homeDir), "logs");
|
|
37854
37854
|
}
|
|
37855
|
+
function otherTrackConfigDir(env2 = process.env, homeDir) {
|
|
37856
|
+
const ownTrack = resolveBuildTrack(env2);
|
|
37857
|
+
const otherTrack = ownTrack === "preview" ? "stable" : "preview";
|
|
37858
|
+
return (0, import_path3.join)(homeDir ?? (0, import_os2.homedir)(), getTrackIdentity(otherTrack).configDirName);
|
|
37859
|
+
}
|
|
37860
|
+
function isCrossTrackConfigDirOverride(env2 = process.env, homeDir, platform10 = process.platform) {
|
|
37861
|
+
const override = env2.ADHDEV_CONFIG_DIR;
|
|
37862
|
+
if (!override || !override.trim()) return false;
|
|
37863
|
+
const sibling = otherTrackConfigDir(env2, homeDir);
|
|
37864
|
+
const normalize4 = (p) => {
|
|
37865
|
+
const unified = p.trim().replace(/[\\/]+$/, "").replace(/\\/g, "/");
|
|
37866
|
+
return platform10 === "win32" ? unified.toLowerCase() : unified;
|
|
37867
|
+
};
|
|
37868
|
+
return normalize4(override) === normalize4(sibling);
|
|
37869
|
+
}
|
|
37855
37870
|
var import_os2;
|
|
37856
37871
|
var import_path3;
|
|
37857
37872
|
var init_config_dir = __esm2({
|
|
@@ -40521,7 +40536,7 @@ child.on('exit', () => process.exit(0));
|
|
|
40521
40536
|
const platform10 = os42.platform();
|
|
40522
40537
|
const whichCmd = platform10 === "win32" ? "where" : "which";
|
|
40523
40538
|
const includeVersion = options?.includeVersion !== false;
|
|
40524
|
-
const cliList = providerLoader ? providerLoader.getCliDetectionList() : [];
|
|
40539
|
+
const cliList = providerLoader ? providerLoader.getCliDetectionList({ includeDisabled: options?.includeDisabled }) : [];
|
|
40525
40540
|
const results = await Promise.all(
|
|
40526
40541
|
cliList.map(async (cli) => {
|
|
40527
40542
|
try {
|
|
@@ -60657,6 +60672,10 @@ The mesh has no work in flight. For each mission, decide its outcome: continue i
|
|
|
60657
60672
|
summary: "the node's workspace is dirty, so auto-launch is blocked to avoid clobbering uncommitted changes",
|
|
60658
60673
|
nextAction: "Clean or commit the node's working tree (or fast-forward it); the task will then auto-assign."
|
|
60659
60674
|
};
|
|
60675
|
+
if (reason === "target_session_pin_expired") return {
|
|
60676
|
+
summary: "it was pinned to a specific session (a follow-up/delta for work already in flight) that never claimed it within the pin TTL, so the pin was cleared and the message will NOT reach the session it was addressed to",
|
|
60677
|
+
nextAction: "Assume the addressed session never received this delta and is still acting on its previous instructions. Re-send it to that session once it is idle (or re-target it), and re-check the work it produced in the meantime."
|
|
60678
|
+
};
|
|
60660
60679
|
if (reason === SLOT_MODEL_ABSENT_SKIP_REASON) return {
|
|
60661
60680
|
summary: "no capability slot on the node declares the model this task resolved to (its difficulty\u2192brain preset picked a model the node was never configured to run)",
|
|
60662
60681
|
nextAction: "Re-enqueue with a difficulty/model the node's slots declare, target a node that declares this model, or add a slot for it. The task is NOT run on a substitute model \u2014 an undeclared model is never launched."
|
|
@@ -61946,6 +61965,17 @@ The mesh has no work in flight. For each mission, decide its outcome: continue i
|
|
|
61946
61965
|
"provider_priority_unusable",
|
|
61947
61966
|
"provider_unusable",
|
|
61948
61967
|
"dirty_workspace",
|
|
61968
|
+
// TARGET-PIN-TTL EXPIRY: the task was pinned to a specific session (a delta —
|
|
61969
|
+
// a correction addressed to work already in flight) and that session never
|
|
61970
|
+
// claimed it within the TTL, so the pin was cleared. Unlike the transient
|
|
61971
|
+
// skips, this does NOT self-resolve into the intended outcome: the delta is
|
|
61972
|
+
// now claimable by ANY compatible session, i.e. it will not reach the session
|
|
61973
|
+
// it was written for. Previously this only bumped a metrics counter and wrote
|
|
61974
|
+
// a log, so the coordinator kept waiting for a delivery that could no longer
|
|
61975
|
+
// happen — measured live as 74min of silence while a worker continued on a
|
|
61976
|
+
// premise the delta was meant to correct. The coordinator must know its
|
|
61977
|
+
// addressed message lost its address.
|
|
61978
|
+
"target_session_pin_expired",
|
|
61949
61979
|
// SLOT MODEL GUARD (absent): no slot on the node declares the task's model.
|
|
61950
61980
|
// Permanent — no amount of waiting produces a slot, so the coordinator must
|
|
61951
61981
|
// re-drive (adjust difficulty, target another node, ask the owner). Its
|
|
@@ -67956,7 +67986,7 @@ ${cleanBody}`;
|
|
|
67956
67986
|
const evidenceSessionId = resolveTaskEvidenceSessionId(meshId, row.id, row.assignedSessionId);
|
|
67957
67987
|
const evidenceRow = evidenceSessionId && evidenceSessionId !== row.assignedSessionId ? { ...row, assignedSessionId: evidenceSessionId } : row;
|
|
67958
67988
|
const verdict = evidenceSessionId ? resolveSessionBusyVerdict(components, evidenceSessionId) : "IDLE_CONFIRMED";
|
|
67959
|
-
if (verdict === "GENERATING") {
|
|
67989
|
+
if (verdict === "GENERATING" && !queueHoldHardDeadlineExceeded(meshId, row, "live_generating", dispatchedAtMs, nowMs, "delivered_no_turn")) {
|
|
67960
67990
|
deliveredNoTurnUnknownStreak.delete(streakKey);
|
|
67961
67991
|
const gate = gateRedriveForHeldSuspension({ meshId, taskId: row.id, sessionLiveness: "alive", nowMs });
|
|
67962
67992
|
if (gate.kind === "recovered") {
|
|
@@ -77555,6 +77585,7 @@ ${lastSnapshot}`;
|
|
|
77555
77585
|
isBuiltinChatMessageKind: () => isBuiltinChatMessageKind,
|
|
77556
77586
|
isCdpConnected: () => isCdpConnected,
|
|
77557
77587
|
isCoordinatorSpawnedHiddenWorker: () => isCoordinatorSpawnedHiddenWorker,
|
|
77588
|
+
isCrossTrackConfigDirOverride: () => isCrossTrackConfigDirOverride,
|
|
77558
77589
|
isEmptyUsage: () => isEmptyUsage,
|
|
77559
77590
|
isExtensionInstalled: () => isExtensionInstalled,
|
|
77560
77591
|
isGitCommandName: () => isGitCommandName,
|
|
@@ -77638,6 +77669,7 @@ ${lastSnapshot}`;
|
|
|
77638
77669
|
normalizeRepoIdentity: () => normalizeRepoIdentity,
|
|
77639
77670
|
normalizeRepoMeshDeclarativeConfig: () => normalizeRepoMeshDeclarativeConfig,
|
|
77640
77671
|
normalizeSessionModalFields: () => normalizeSessionModalFields,
|
|
77672
|
+
otherTrackConfigDir: () => otherTrackConfigDir,
|
|
77641
77673
|
parsePorcelainV2Status: () => parsePorcelainV2Status,
|
|
77642
77674
|
parseProviderSourceConfigUpdate: () => parseProviderSourceConfigUpdate,
|
|
77643
77675
|
parseWorktreeListOutput: () => parseWorktreeListOutput,
|
|
@@ -79056,6 +79088,7 @@ ${lastSnapshot}`;
|
|
|
79056
79088
|
};
|
|
79057
79089
|
init_git_worktree();
|
|
79058
79090
|
init_config();
|
|
79091
|
+
init_config_dir();
|
|
79059
79092
|
var os52 = __toESM2(require("os"));
|
|
79060
79093
|
var path12 = __toESM2(require("path"));
|
|
79061
79094
|
var import_session_host_core22 = require_dist();
|
|
@@ -105895,11 +105928,24 @@ Run 'adhdev doctor' for detailed diagnostics.`
|
|
|
105895
105928
|
/**
|
|
105896
105929
|
* Build CLI/ACP detection list (replaces cli-detector)
|
|
105897
105930
|
* Dynamically generated from provider.js spawn.command.
|
|
105931
|
+
*
|
|
105932
|
+
* By default this only returns providers already enabled for this machine
|
|
105933
|
+
* (config.machineProviders[type].enabled === true) — that's the right scope
|
|
105934
|
+
* for `launch`, which must not spawn something the user never opted into.
|
|
105935
|
+
*
|
|
105936
|
+
* `includeDisabled: true` returns every cli/acp provider with a spawn
|
|
105937
|
+
* command regardless of the enabled flag, with `enabled` reporting the REAL
|
|
105938
|
+
* per-provider state instead of the hardcoded `true` the gated list implies.
|
|
105939
|
+
* This exists for first-run setup detection: a fresh machine's
|
|
105940
|
+
* machineProviders is `{}` (nothing enabled yet), so the gated list is always
|
|
105941
|
+
* empty and setup could never show what it actually found on disk — the
|
|
105942
|
+
* wizard needs to see candidates BEFORE anything has been enabled.
|
|
105898
105943
|
*/
|
|
105899
|
-
getCliDetectionList() {
|
|
105944
|
+
getCliDetectionList(options) {
|
|
105900
105945
|
const result = [];
|
|
105901
105946
|
for (const p of this.providers.values()) {
|
|
105902
|
-
|
|
105947
|
+
const enabled = this.isMachineProviderEnabled(p.type);
|
|
105948
|
+
if ((p.category === "cli" || p.category === "acp") && p.spawn?.command && (enabled || options?.includeDisabled)) {
|
|
105903
105949
|
const versionCommand = this.getPlatformVersionCommand(p.versionCommand);
|
|
105904
105950
|
const command = this.getSpawnCommand(p.type, p.spawn.command);
|
|
105905
105951
|
const args = this.getSpawnArgs(p.type, p.spawn.args || []);
|
|
@@ -105910,7 +105956,7 @@ Run 'adhdev doctor' for detailed diagnostics.`
|
|
|
105910
105956
|
command,
|
|
105911
105957
|
...args.length > 0 ? { args } : {},
|
|
105912
105958
|
category: p.category,
|
|
105913
|
-
enabled
|
|
105959
|
+
enabled,
|
|
105914
105960
|
...typeof versionCommand === "string" && versionCommand.trim() ? { versionCommand: versionCommand.trim() } : {}
|
|
105915
105961
|
});
|
|
105916
105962
|
}
|
|
@@ -124779,12 +124825,15 @@ ${upgradeFailureNotice.notice}${supersededHint}`);
|
|
|
124779
124825
|
});
|
|
124780
124826
|
providerLoader.loadAll();
|
|
124781
124827
|
providerLoader.registerToDetector();
|
|
124782
|
-
void providerLoader.maybeFirstSyncVerifiedChannel().then((report) => {
|
|
124828
|
+
void providerLoader.maybeFirstSyncVerifiedChannel().then(async (report) => {
|
|
124783
124829
|
if (!report) return;
|
|
124784
124830
|
if (report.status === "error") {
|
|
124785
124831
|
LOG2.warn("Init", `Verified channel first-sync failed (last-known-good preserved): ${report.errors.map((e) => e.code).join(", ") || "unknown"}`);
|
|
124786
124832
|
} else if (report.activated.length > 0) {
|
|
124787
124833
|
LOG2.info("Init", `Verified channel first-sync activated ${report.activated.length} providers (${providerLoader.channel})`);
|
|
124834
|
+
providerLoader.registerToDetector();
|
|
124835
|
+
await refreshProviderAvailability();
|
|
124836
|
+
config2.onStatusChange?.();
|
|
124788
124837
|
}
|
|
124789
124838
|
}).catch((e) => LOG2.warn("Init", `Verified channel first-sync error: ${e?.message || e}`));
|
|
124790
124839
|
setDefaultProviderLoader(providerLoader);
|