@adhdev/daemon-core 0.9.82-rc.510 → 0.9.82-rc.511
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 +132 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +162 -64
- package/dist/index.mjs.map +1 -1
- package/dist/mesh/mesh-event-forwarding.d.ts +8 -0
- package/dist/mesh/mesh-idle-reminder.d.ts +6 -4
- package/dist/mesh/mesh-queue-assignment.d.ts +1 -0
- package/package.json +3 -3
- package/src/git/git-status.ts +152 -8
- package/src/mesh/mesh-event-forwarding.ts +34 -1
- package/src/mesh/mesh-idle-reminder.ts +21 -5
- package/src/mesh/mesh-queue-assignment.ts +1 -1
- package/src/providers/spec/fsm-driver.ts +18 -1
package/dist/index.js
CHANGED
|
@@ -417,10 +417,10 @@ function readInjected(value) {
|
|
|
417
417
|
}
|
|
418
418
|
function getDaemonBuildInfo() {
|
|
419
419
|
if (cached) return cached;
|
|
420
|
-
const commit = readInjected(true ? "
|
|
421
|
-
const commitShort = readInjected(true ? "
|
|
422
|
-
const version = readInjected(true ? "0.9.82-rc.
|
|
423
|
-
const builtAt = readInjected(true ? "2026-07-
|
|
420
|
+
const commit = readInjected(true ? "a03f7d21a28e2337a5b4520ff313ca69d776691d" : void 0) ?? "unknown";
|
|
421
|
+
const commitShort = readInjected(true ? "a03f7d21" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
422
|
+
const version = readInjected(true ? "0.9.82-rc.511" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
423
|
+
const builtAt = readInjected(true ? "2026-07-13T05:19:31.486Z" : void 0);
|
|
424
424
|
cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
|
|
425
425
|
return cached;
|
|
426
426
|
}
|
|
@@ -794,21 +794,21 @@ function isNonRuntimeRootFile(file, policy) {
|
|
|
794
794
|
}
|
|
795
795
|
function classifyChangedFileList(files, policy) {
|
|
796
796
|
if (files.length === 0) {
|
|
797
|
-
return { isDaemonAffecting: true, affectedPackages: [] };
|
|
797
|
+
return { isDaemonAffecting: true, affectedPackages: [], ambiguousNonPackageFiles: [] };
|
|
798
798
|
}
|
|
799
799
|
const pkgs = /* @__PURE__ */ new Set();
|
|
800
|
-
|
|
800
|
+
const ambiguousNonPackageFiles = [];
|
|
801
801
|
for (const file of files) {
|
|
802
802
|
const match = file.match(/(?:^|\/)packages\/([^/]+)\//);
|
|
803
803
|
if (!match) {
|
|
804
|
-
if (!isNonRuntimeRootFile(file, policy))
|
|
804
|
+
if (!isNonRuntimeRootFile(file, policy)) ambiguousNonPackageFiles.push(file);
|
|
805
805
|
continue;
|
|
806
806
|
}
|
|
807
807
|
pkgs.add(match[1]);
|
|
808
808
|
}
|
|
809
809
|
const affectedPackages = [...pkgs].sort();
|
|
810
|
-
const allBenign =
|
|
811
|
-
return { isDaemonAffecting: !allBenign, affectedPackages };
|
|
810
|
+
const allBenign = ambiguousNonPackageFiles.length === 0 && affectedPackages.every((p) => policy.webOnlyPackages.has(p) && !policy.daemonRuntimePackages.has(p));
|
|
811
|
+
return { isDaemonAffecting: !allBenign, affectedPackages, ambiguousNonPackageFiles };
|
|
812
812
|
}
|
|
813
813
|
async function classifyDaemonBuildChange(repoPath, buildCommit, options, policy) {
|
|
814
814
|
try {
|
|
@@ -825,7 +825,82 @@ async function classifyChangedPackages(repoPath, fromRef, toRef, options = {}) {
|
|
|
825
825
|
const policy = resolveChangeImpactPolicy(config);
|
|
826
826
|
const diff = await runGit(repoPath, ["diff", "--name-only", `${fromRef}..${toRef}`], options);
|
|
827
827
|
const files = diff.stdout.split("\n").map((line) => line.trim()).filter(Boolean);
|
|
828
|
-
|
|
828
|
+
const rootVerdict = classifyChangedFileList(files, policy);
|
|
829
|
+
return refineVerdictThroughSubmodules(repoPath, fromRef, toRef, options, policy, rootVerdict);
|
|
830
|
+
}
|
|
831
|
+
async function refineVerdictThroughSubmodules(repoPath, fromRef, toRef, options, policy, rootVerdict) {
|
|
832
|
+
const strip = ({ isDaemonAffecting, affectedPackages }) => ({ isDaemonAffecting, affectedPackages });
|
|
833
|
+
const ambiguous = rootVerdict.ambiguousNonPackageFiles;
|
|
834
|
+
if (ambiguous.length === 0) return strip(rootVerdict);
|
|
835
|
+
let submodulePaths;
|
|
836
|
+
try {
|
|
837
|
+
submodulePaths = await listSubmodulePaths(repoPath, options);
|
|
838
|
+
} catch {
|
|
839
|
+
return strip(rootVerdict);
|
|
840
|
+
}
|
|
841
|
+
if (ambiguous.length === 0 || !ambiguous.every((f) => submodulePaths.has(f))) {
|
|
842
|
+
return strip(rootVerdict);
|
|
843
|
+
}
|
|
844
|
+
const submoduleAffectedPackages = [];
|
|
845
|
+
for (const subPath of ambiguous) {
|
|
846
|
+
let range;
|
|
847
|
+
try {
|
|
848
|
+
range = await resolveSubmoduleGitlinkRange(repoPath, fromRef, toRef, subPath, options);
|
|
849
|
+
} catch {
|
|
850
|
+
return strip(rootVerdict);
|
|
851
|
+
}
|
|
852
|
+
let subVerdict;
|
|
853
|
+
try {
|
|
854
|
+
subVerdict = await classifyChangedPackages((0, import_node_path.join)(repoPath, subPath), range.from, range.to, {
|
|
855
|
+
...options,
|
|
856
|
+
// Do not force the root's injected config onto the submodule — let it resolve
|
|
857
|
+
// its own .adhdev/change-impact.* (or fall back to defaults).
|
|
858
|
+
changeImpactConfig: void 0
|
|
859
|
+
});
|
|
860
|
+
} catch {
|
|
861
|
+
return strip(rootVerdict);
|
|
862
|
+
}
|
|
863
|
+
if (subVerdict.isDaemonAffecting) {
|
|
864
|
+
return {
|
|
865
|
+
isDaemonAffecting: true,
|
|
866
|
+
affectedPackages: [.../* @__PURE__ */ new Set([...rootVerdict.affectedPackages, ...subVerdict.affectedPackages])].sort()
|
|
867
|
+
};
|
|
868
|
+
}
|
|
869
|
+
submoduleAffectedPackages.push(...subVerdict.affectedPackages);
|
|
870
|
+
}
|
|
871
|
+
const rootPackagesBenign = rootVerdict.affectedPackages.every(
|
|
872
|
+
(p) => policy.webOnlyPackages.has(p) && !policy.daemonRuntimePackages.has(p)
|
|
873
|
+
);
|
|
874
|
+
return {
|
|
875
|
+
isDaemonAffecting: !rootPackagesBenign,
|
|
876
|
+
affectedPackages: [.../* @__PURE__ */ new Set([...rootVerdict.affectedPackages, ...submoduleAffectedPackages])].sort()
|
|
877
|
+
};
|
|
878
|
+
}
|
|
879
|
+
async function listSubmodulePaths(repoPath, options) {
|
|
880
|
+
const res = await runGit(repoPath, ["config", "-f", ".gitmodules", "--get-regexp", "path"], options);
|
|
881
|
+
const paths = /* @__PURE__ */ new Set();
|
|
882
|
+
for (const line of res.stdout.split("\n")) {
|
|
883
|
+
const trimmed = line.trim();
|
|
884
|
+
if (!trimmed) continue;
|
|
885
|
+
const idx = trimmed.indexOf(" ");
|
|
886
|
+
if (idx === -1) continue;
|
|
887
|
+
const p = trimmed.slice(idx + 1).trim();
|
|
888
|
+
if (p) paths.add(p);
|
|
889
|
+
}
|
|
890
|
+
return paths;
|
|
891
|
+
}
|
|
892
|
+
async function resolveSubmoduleGitlinkRange(repoPath, fromRef, toRef, subPath, options) {
|
|
893
|
+
const res = await runGit(repoPath, ["diff", `${fromRef}..${toRef}`, "--", subPath], options);
|
|
894
|
+
let from = "";
|
|
895
|
+
let to = "";
|
|
896
|
+
for (const line of res.stdout.split("\n")) {
|
|
897
|
+
const m = line.match(/^([+-])Subproject commit ([0-9a-f]{7,40})/);
|
|
898
|
+
if (!m) continue;
|
|
899
|
+
if (m[1] === "-") from = m[2];
|
|
900
|
+
else to = m[2];
|
|
901
|
+
}
|
|
902
|
+
if (!from || !to) throw new Error(`no gitlink range for submodule ${subPath}`);
|
|
903
|
+
return { from, to };
|
|
829
904
|
}
|
|
830
905
|
function resolveChangeImpactConfigForRepo(repoRoot, options) {
|
|
831
906
|
if (options.changeImpactConfig === null) {
|
|
@@ -1198,10 +1273,11 @@ async function enrichSubmoduleWorktreeStatus(repo, submodule, options) {
|
|
|
1198
1273
|
submodule.error = formatGitError(error);
|
|
1199
1274
|
}
|
|
1200
1275
|
}
|
|
1201
|
-
var GIT_STATUS_CACHE_TTL_MS, lastKnownGoodStatus, changeImpactEvalCache, changeImpactConfigCache, buildBehindAncestryCache, GIT_FETCH_THROTTLE_MS, upstreamFetchedAt, DEFAULT_DAEMON_RUNTIME_PACKAGES, DEFAULT_WEB_ONLY_PACKAGES, DEFAULT_IMPACT_TARGETS;
|
|
1276
|
+
var import_node_path, GIT_STATUS_CACHE_TTL_MS, lastKnownGoodStatus, changeImpactEvalCache, changeImpactConfigCache, buildBehindAncestryCache, GIT_FETCH_THROTTLE_MS, upstreamFetchedAt, DEFAULT_DAEMON_RUNTIME_PACKAGES, DEFAULT_WEB_ONLY_PACKAGES, DEFAULT_IMPACT_TARGETS;
|
|
1202
1277
|
var init_git_status = __esm({
|
|
1203
1278
|
"src/git/git-status.ts"() {
|
|
1204
1279
|
"use strict";
|
|
1280
|
+
import_node_path = require("path");
|
|
1205
1281
|
init_git_executor();
|
|
1206
1282
|
init_build_info();
|
|
1207
1283
|
init_change_impact_config();
|
|
@@ -10181,7 +10257,7 @@ function resolveHermesMeshCoordinatorSetup(options) {
|
|
|
10181
10257
|
reason: "Could not resolve the ADHDev MCP server entrypoint and a Node runtime with WebSocket support for daemon IPC mode"
|
|
10182
10258
|
};
|
|
10183
10259
|
}
|
|
10184
|
-
const configPath = (0,
|
|
10260
|
+
const configPath = (0, import_node_path2.join)(resolveHermesCoordinatorHome(options.meshId, options.workspace), "config.yaml");
|
|
10185
10261
|
if (!configPath.trim()) {
|
|
10186
10262
|
return createHermesManualMeshCoordinatorSetup(options.meshId, options.workspace);
|
|
10187
10263
|
}
|
|
@@ -10326,16 +10402,16 @@ function replaceLegacyCliCommandMcpArgs(command, args) {
|
|
|
10326
10402
|
}
|
|
10327
10403
|
function resolveHermesCoordinatorHome(meshId, workspace) {
|
|
10328
10404
|
const key2 = `${meshId || "mesh"}
|
|
10329
|
-
${(0,
|
|
10405
|
+
${(0, import_node_path2.resolve)(workspace || os4.tmpdir())}`;
|
|
10330
10406
|
const hash = shortHash(key2);
|
|
10331
|
-
return (0,
|
|
10407
|
+
return (0, import_node_path2.join)(os4.tmpdir(), `adhdev-hermes-mesh-coordinator-${hash}`);
|
|
10332
10408
|
}
|
|
10333
10409
|
function resolveMcpConfigPath(configPath, workspace) {
|
|
10334
10410
|
const trimmed = configPath.trim();
|
|
10335
10411
|
if (trimmed === "~") return os4.homedir();
|
|
10336
|
-
if (trimmed.startsWith("~/")) return (0,
|
|
10337
|
-
if ((0,
|
|
10338
|
-
return (0,
|
|
10412
|
+
if (trimmed.startsWith("~/")) return (0, import_node_path2.join)(os4.homedir(), trimmed.slice(2));
|
|
10413
|
+
if ((0, import_node_path2.isAbsolute)(trimmed)) return trimmed;
|
|
10414
|
+
return (0, import_node_path2.join)(workspace, trimmed);
|
|
10339
10415
|
}
|
|
10340
10416
|
function resolveAdhdevMcpServerLaunch(options) {
|
|
10341
10417
|
const directEntryPath = resolveAdhdevMcpEntryPath(options.adhdevMcpEntryPath);
|
|
@@ -10351,7 +10427,7 @@ function resolveAdhdevMcpServerLaunch(options) {
|
|
|
10351
10427
|
}
|
|
10352
10428
|
const command = resolveAdhdevCommand(options.adhdevMcpCommand);
|
|
10353
10429
|
const transport = resolveMcpTransport(options.adhdevMcpTransport);
|
|
10354
|
-
const directMcpEntrypoint = (0,
|
|
10430
|
+
const directMcpEntrypoint = (0, import_node_path2.basename)(command).startsWith("adhdev-mcp") || command.includes("/vendor/mcp-server/") || command.includes("\\vendor\\mcp-server\\");
|
|
10355
10431
|
const args = [...directMcpEntrypoint ? [] : ["mcp"], "--mode", transport, "--repo-mesh", options.meshId];
|
|
10356
10432
|
const port = resolveMcpPort(options.adhdevMcpPort);
|
|
10357
10433
|
if (port !== void 0) args.push("--port", String(port));
|
|
@@ -10406,7 +10482,7 @@ function applyInjectionRule(systemPrompt, injection, ctx) {
|
|
|
10406
10482
|
}
|
|
10407
10483
|
case "context_file": {
|
|
10408
10484
|
if (!injection.path) return {};
|
|
10409
|
-
const target = (0,
|
|
10485
|
+
const target = (0, import_node_path2.isAbsolute)(injection.path) ? injection.path : (0, import_node_path2.join)(ctx.workspace, injection.path);
|
|
10410
10486
|
const wrapper = injection.wrapper && injection.wrapper.includes("{prompt}") ? injection.wrapper : "{prompt}";
|
|
10411
10487
|
const managedNote = "> _Managed by adhdev mesh coordinator \u2014 do not hand-edit this block. Changes inside the sentinels are overwritten on next coordinator launch._";
|
|
10412
10488
|
const promptWithNote = `${managedNote}
|
|
@@ -10475,7 +10551,7 @@ function buildMeshCoordinatorRegistrationPlan(cliType, serverName, registrationC
|
|
|
10475
10551
|
required: true,
|
|
10476
10552
|
label: "register"
|
|
10477
10553
|
};
|
|
10478
|
-
if (cliType === "codex-cli" && (0,
|
|
10554
|
+
if (cliType === "codex-cli" && (0, import_node_path2.basename)(command) === "codex" && args[0] === "mcp" && args[1] === "add") {
|
|
10479
10555
|
return [
|
|
10480
10556
|
{
|
|
10481
10557
|
command,
|
|
@@ -10536,14 +10612,14 @@ async function execUnderPty(command, args, options = {}) {
|
|
|
10536
10612
|
});
|
|
10537
10613
|
});
|
|
10538
10614
|
}
|
|
10539
|
-
var import_node_fs3, os4, import_session_host_core,
|
|
10615
|
+
var import_node_fs3, os4, import_session_host_core, import_node_path2, DEFAULT_SERVER_NAME, DEFAULT_ADHDEV_MCP_COMMAND, HERMES_CLI_TYPE, HERMES_MCP_CONFIG_PATH;
|
|
10540
10616
|
var init_mesh_coordinator = __esm({
|
|
10541
10617
|
"src/commands/mesh-coordinator.ts"() {
|
|
10542
10618
|
"use strict";
|
|
10543
10619
|
import_node_fs3 = require("fs");
|
|
10544
10620
|
os4 = __toESM(require("os"));
|
|
10545
10621
|
import_session_host_core = require("@adhdev/session-host-core");
|
|
10546
|
-
|
|
10622
|
+
import_node_path2 = require("path");
|
|
10547
10623
|
init_logger();
|
|
10548
10624
|
init_hash();
|
|
10549
10625
|
DEFAULT_SERVER_NAME = "adhdev-mesh";
|
|
@@ -12755,14 +12831,19 @@ function maybeInjectIdleActiveMissionReminder(meshId, coordinator, policy, now =
|
|
|
12755
12831
|
if (policy?.idleActiveMissionReminder === false) return false;
|
|
12756
12832
|
const activeMissions = getMeshMissions(meshId, ["active"]);
|
|
12757
12833
|
if (activeMissions.length === 0) return false;
|
|
12834
|
+
const ledgerEntries = readLedgerEntries(meshId, { tail: 200 });
|
|
12758
12835
|
const summary = buildMeshActiveWork({
|
|
12759
12836
|
meshId,
|
|
12760
12837
|
queue: getQueue(meshId),
|
|
12761
12838
|
directDispatches: getActiveDirectDispatches(meshId),
|
|
12762
|
-
ledgerEntries
|
|
12839
|
+
ledgerEntries,
|
|
12763
12840
|
now
|
|
12764
12841
|
}).summary;
|
|
12765
12842
|
if (summary.totalActiveCount !== 0 || summary.generatingCount !== 0) return false;
|
|
12843
|
+
const activeRefineJobs = summarizeMeshAsyncRefineJobs(
|
|
12844
|
+
buildMeshAsyncRefineJobs({ meshId, ledgerEntries })
|
|
12845
|
+
).activeJobs;
|
|
12846
|
+
if (activeRefineJobs.length > 0) return false;
|
|
12766
12847
|
const store = MeshRuntimeStore.getInstance();
|
|
12767
12848
|
const hash = missionSetHash(activeMissions);
|
|
12768
12849
|
const last = store.getIdleReminderState(meshId);
|
|
@@ -12792,6 +12873,7 @@ var init_mesh_idle_reminder = __esm({
|
|
|
12792
12873
|
init_mesh_work_queue();
|
|
12793
12874
|
init_mesh_ledger();
|
|
12794
12875
|
init_mesh_active_work();
|
|
12876
|
+
init_mesh_refine_status();
|
|
12795
12877
|
IDLE_REMINDER_DEBOUNCE_MS = 3e5;
|
|
12796
12878
|
MISSION_LIST_CAP = 10;
|
|
12797
12879
|
}
|
|
@@ -19580,6 +19662,17 @@ var init_snapshot = __esm({
|
|
|
19580
19662
|
});
|
|
19581
19663
|
|
|
19582
19664
|
// src/mesh/mesh-event-forwarding.ts
|
|
19665
|
+
function bootstrapQueueTaskCountsAsHandled(task, bootstrapNodeId, nowMs) {
|
|
19666
|
+
if (!meshNodeIdMatches({ id: task.targetNodeId }, bootstrapNodeId)) return false;
|
|
19667
|
+
if (task.status === "assigned") return true;
|
|
19668
|
+
const al = task.autoLaunch;
|
|
19669
|
+
if (!al) return true;
|
|
19670
|
+
if (al.status === "started" || al.status === "completed") {
|
|
19671
|
+
const launchedAtMs = Date.parse(al.updatedAt);
|
|
19672
|
+
return Number.isFinite(launchedAtMs) && nowMs - launchedAtMs < AUTO_LAUNCH_AWAIT_CLAIM_MS;
|
|
19673
|
+
}
|
|
19674
|
+
return true;
|
|
19675
|
+
}
|
|
19583
19676
|
function resolveCoordinatorDrainDaemonIds(components) {
|
|
19584
19677
|
const statusInstanceId = readNonEmptyString2(components.statusInstanceId);
|
|
19585
19678
|
const machineId = readNonEmptyString2(loadConfig().machineId);
|
|
@@ -20293,7 +20386,8 @@ function injectMeshSystemMessage(components, args) {
|
|
|
20293
20386
|
}
|
|
20294
20387
|
if (args.event === "worktree_bootstrap_complete" && bootstrapNodeId) {
|
|
20295
20388
|
try {
|
|
20296
|
-
|
|
20389
|
+
const nowMs = Date.now();
|
|
20390
|
+
worktreeHasQueuedTask = getQueue(args.meshId, { status: ["pending", "assigned"] }).some((task) => bootstrapQueueTaskCountsAsHandled(task, bootstrapNodeId, nowMs));
|
|
20297
20391
|
} catch (e) {
|
|
20298
20392
|
LOG.warn("MeshQueue", `Failed to check queued task for ${bootstrapNodeId} (mesh ${args.meshId}): ${e?.message || e}`);
|
|
20299
20393
|
}
|
|
@@ -43011,7 +43105,11 @@ var FsmDriver = class {
|
|
|
43011
43105
|
if (!rule) return null;
|
|
43012
43106
|
const hay = sectionText(sections, rule.section, fullScreen);
|
|
43013
43107
|
const minCount = rule.min_count ?? 2;
|
|
43014
|
-
|
|
43108
|
+
let buttons = extractButtonsFromRule(rule, hay);
|
|
43109
|
+
if (buttons.length < minCount && rule.section) {
|
|
43110
|
+
const whole = extractButtonsFromRule(rule, fullScreen);
|
|
43111
|
+
if (whole.length >= minCount) buttons = whole;
|
|
43112
|
+
}
|
|
43015
43113
|
if (buttons.length < minCount) return null;
|
|
43016
43114
|
const title = this.deriveTitle(state, sections, fullScreen);
|
|
43017
43115
|
return { title, buttons };
|
|
@@ -56106,11 +56204,11 @@ var meshCrudHandlers = {
|
|
|
56106
56204
|
MESH_JSON_CONFIG_LOCATIONS: MESH_JSON_CONFIG_LOCATIONS2
|
|
56107
56205
|
} = await Promise.resolve().then(() => (init_mesh_json_config(), mesh_json_config_exports));
|
|
56108
56206
|
const { mkdirSync: mkdirSync22, writeFileSync: writeFileSync24 } = await import("fs");
|
|
56109
|
-
const { dirname: dirname17, join:
|
|
56207
|
+
const { dirname: dirname17, join: join52 } = await import("path");
|
|
56110
56208
|
const scaffold = buildMeshJsonConfigScaffold2(mesh);
|
|
56111
56209
|
const scaffoldJson = serializeMeshJsonConfigScaffold2(scaffold);
|
|
56112
56210
|
const relativePath = MESH_JSON_CONFIG_LOCATIONS2[0];
|
|
56113
|
-
const absolutePath =
|
|
56211
|
+
const absolutePath = join52(workspace, relativePath);
|
|
56114
56212
|
const validation = normalizeRepoMeshDeclarativeConfig2(scaffold);
|
|
56115
56213
|
if (!validation.valid) {
|
|
56116
56214
|
return { success: false, meshId, error: `invalid mesh.json scaffold: ${validation.errors.join("; ")}` };
|
|
@@ -58121,7 +58219,7 @@ init_mesh_host_ownership();
|
|
|
58121
58219
|
// src/mesh/preview-freshness.ts
|
|
58122
58220
|
var import_node_child_process4 = require("child_process");
|
|
58123
58221
|
var import_node_fs4 = require("fs");
|
|
58124
|
-
var
|
|
58222
|
+
var import_node_path3 = require("path");
|
|
58125
58223
|
var PREVIEW_DEPLOY_RECORD = ".adhdev/preview-deploy.json";
|
|
58126
58224
|
var PREVIEW_PIPELINE_SCRIPTS = [
|
|
58127
58225
|
"scripts/preview-freshness.mjs",
|
|
@@ -58129,7 +58227,7 @@ var PREVIEW_PIPELINE_SCRIPTS = [
|
|
|
58129
58227
|
"scripts/deploy-preview-local.mjs"
|
|
58130
58228
|
];
|
|
58131
58229
|
function hasDeployPreviewNpmScript(repoRoot) {
|
|
58132
|
-
const pkgPath = (0,
|
|
58230
|
+
const pkgPath = (0, import_node_path3.resolve)(repoRoot, "package.json");
|
|
58133
58231
|
if (!(0, import_node_fs4.existsSync)(pkgPath)) return false;
|
|
58134
58232
|
try {
|
|
58135
58233
|
const pkg = JSON.parse((0, import_node_fs4.readFileSync)(pkgPath, "utf8"));
|
|
@@ -58139,8 +58237,8 @@ function hasDeployPreviewNpmScript(repoRoot) {
|
|
|
58139
58237
|
}
|
|
58140
58238
|
}
|
|
58141
58239
|
function isPreviewPipelineConfigured(repoRoot) {
|
|
58142
|
-
if ((0, import_node_fs4.existsSync)((0,
|
|
58143
|
-
if (PREVIEW_PIPELINE_SCRIPTS.some((rel) => (0, import_node_fs4.existsSync)((0,
|
|
58240
|
+
if ((0, import_node_fs4.existsSync)((0, import_node_path3.resolve)(repoRoot, PREVIEW_DEPLOY_RECORD))) return true;
|
|
58241
|
+
if (PREVIEW_PIPELINE_SCRIPTS.some((rel) => (0, import_node_fs4.existsSync)((0, import_node_path3.resolve)(repoRoot, rel)))) return true;
|
|
58144
58242
|
return hasDeployPreviewNpmScript(repoRoot);
|
|
58145
58243
|
}
|
|
58146
58244
|
function runGit2(repoRoot, args) {
|
|
@@ -58156,7 +58254,7 @@ function runGit2(repoRoot, args) {
|
|
|
58156
58254
|
}
|
|
58157
58255
|
}
|
|
58158
58256
|
function readRecord6(repoRoot) {
|
|
58159
|
-
const path45 = (0,
|
|
58257
|
+
const path45 = (0, import_node_path3.resolve)(repoRoot, PREVIEW_DEPLOY_RECORD);
|
|
58160
58258
|
if (!(0, import_node_fs4.existsSync)(path45)) return null;
|
|
58161
58259
|
try {
|
|
58162
58260
|
const parsed = JSON.parse((0, import_node_fs4.readFileSync)(path45, "utf8"));
|
|
@@ -71194,12 +71292,12 @@ init_parse_session();
|
|
|
71194
71292
|
|
|
71195
71293
|
// src/providers/sdk/v1/fixture-tooling/replay.ts
|
|
71196
71294
|
var import_node_fs5 = require("fs");
|
|
71197
|
-
var
|
|
71295
|
+
var import_node_path4 = require("path");
|
|
71198
71296
|
init_provider_cli_shared();
|
|
71199
71297
|
|
|
71200
71298
|
// src/providers/sdk/v1/validators/taint.ts
|
|
71201
71299
|
var import_node_fs6 = require("fs");
|
|
71202
|
-
var
|
|
71300
|
+
var import_node_path5 = require("path");
|
|
71203
71301
|
|
|
71204
71302
|
// src/providers/sdk/v1/validators/index.ts
|
|
71205
71303
|
init_manifest();
|