@askexenow/exe-os 0.9.269 → 0.9.270
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/deploy/compose/.env.customer.example +2 -0
- package/deploy/compose/.env.default +1 -0
- package/deploy/compose/.env.example +2 -0
- package/deploy/compose/docker-compose.yml +1 -0
- package/deploy/compose/generate-env.ts +5 -0
- package/deploy/compose/init-db.sql +236 -56
- package/dist/bin/cli.js +1 -1
- package/dist/bin/exe-forget.js +1 -1
- package/dist/bin/exe-new-employee.js +1 -1
- package/dist/bin/exe-search.js +1 -1
- package/dist/bin/exe-start.sh +28 -1
- package/dist/bin/install.js +1 -1
- package/dist/bin/setup.js +1 -1
- package/dist/bin/stack-update.js +2 -2
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/catchup-brief-7G3HIQT3.js +151 -0
- package/dist/catchup-brief-IA2K5RYM.js +151 -0
- package/dist/catchup-brief-KABFKY7U.js +151 -0
- package/dist/chunk-4GJHWD4H.js +1148 -0
- package/dist/chunk-6H7PZOYD.js +58 -0
- package/dist/chunk-AQU2CVD4.js +1148 -0
- package/dist/chunk-AX6EKVRZ.js +13696 -0
- package/dist/chunk-DFI2IZXM.js +1395 -0
- package/dist/chunk-EM4EYF3P.js +149 -0
- package/dist/chunk-F7RM3Z4R.js +230 -0
- package/dist/chunk-LMYSCMSQ.js +1148 -0
- package/dist/chunk-RJVFHGFD.js +13696 -0
- package/dist/chunk-U2O2UXVQ.js +13696 -0
- package/dist/chunk-X56OLWQS.js +58 -0
- package/dist/chunk-YYO5RQRT.js +1021 -0
- package/dist/chunk-ZFHXFDWX.js +58 -0
- package/dist/hooks/error-recall.js +1 -1
- package/dist/hooks/manifest.json +4 -4
- package/dist/hooks/prompt-submit.js +1 -1
- package/dist/hooks/session-start.js +1 -1
- package/dist/lib/exe-daemon.js +49 -3
- package/dist/lib/hybrid-search.js +1 -1
- package/dist/lib/session-wrappers.js +1 -1
- package/dist/mcp/register-tools.js +3 -3
- package/dist/mcp/server.js +3 -3
- package/dist/reranker-7GCUQ6LC.js +19 -0
- package/dist/reranker-NLH3VBTN.js +19 -0
- package/dist/reranker-RUOD4YHZ.js +19 -0
- package/dist/setup-wizard-M7A7MXH4.js +12 -0
- package/dist/stack-update-MYPMZQEI.js +52 -0
- package/dist/task-enforcement-CJKWU43B.js +364 -0
- package/dist/task-enforcement-FYDLTS3R.js +391 -0
- package/dist/task-enforcement-YXKZYS5L.js +369 -0
- package/package.json +1 -1
- package/release-notes.json +33 -14
- package/stack.release.json +48 -48
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MODELS_DIR
|
|
3
|
+
} from "./chunk-VXIMSRTO.js";
|
|
4
|
+
|
|
5
|
+
// src/lib/reranker.ts
|
|
6
|
+
import path from "path";
|
|
7
|
+
import { existsSync } from "fs";
|
|
8
|
+
var RERANKER_MODEL_FILE = "jina-reranker-v3-q4_k_m.gguf";
|
|
9
|
+
function isRerankerAvailable() {
|
|
10
|
+
return existsSync(path.join(MODELS_DIR, RERANKER_MODEL_FILE));
|
|
11
|
+
}
|
|
12
|
+
function getRerankerModelPath() {
|
|
13
|
+
return path.join(MODELS_DIR, RERANKER_MODEL_FILE);
|
|
14
|
+
}
|
|
15
|
+
async function disposeReranker() {
|
|
16
|
+
}
|
|
17
|
+
async function rerankWithScores(query, texts, topK) {
|
|
18
|
+
if (texts.length === 0) return [];
|
|
19
|
+
const { rerankViaWorker } = await import("./lib/exe-daemon.js");
|
|
20
|
+
const scored = await rerankViaWorker(query, texts, topK);
|
|
21
|
+
return scored.map((s) => ({
|
|
22
|
+
text: texts[s.index] ?? "",
|
|
23
|
+
score: s.score,
|
|
24
|
+
index: s.index
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
async function rerank(query, candidates, topK = 5) {
|
|
28
|
+
if (candidates.length === 0) return [];
|
|
29
|
+
if (candidates.length <= topK) return candidates;
|
|
30
|
+
const scored = await rerankWithScores(
|
|
31
|
+
query,
|
|
32
|
+
candidates.map((c) => c.raw_text),
|
|
33
|
+
topK
|
|
34
|
+
);
|
|
35
|
+
return scored.map((s) => candidates[s.index]);
|
|
36
|
+
}
|
|
37
|
+
async function rerankWithContext(query, candidates, topK) {
|
|
38
|
+
if (candidates.length === 0) return [];
|
|
39
|
+
const formattedTexts = candidates.map(
|
|
40
|
+
(c) => c.context ? `[${c.context}] ${c.text.slice(0, 460)}` : c.text.slice(0, 512)
|
|
41
|
+
);
|
|
42
|
+
const { rerankViaWorker } = await import("./lib/exe-daemon.js");
|
|
43
|
+
const scored = await rerankViaWorker(query, formattedTexts, topK);
|
|
44
|
+
return scored.map((s) => ({
|
|
45
|
+
text: candidates[s.index]?.text ?? "",
|
|
46
|
+
score: s.score,
|
|
47
|
+
index: s.index
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
isRerankerAvailable,
|
|
53
|
+
getRerankerModelPath,
|
|
54
|
+
disposeReranker,
|
|
55
|
+
rerankWithScores,
|
|
56
|
+
rerank,
|
|
57
|
+
rerankWithContext
|
|
58
|
+
};
|
package/dist/hooks/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"generatedAt": "2026-06-
|
|
3
|
+
"generatedAt": "2026-06-11T07:58:33.288Z",
|
|
4
4
|
"hashes": {
|
|
5
5
|
"bug-report-worker.js": "e896e6ae6decaa81577180af6023c624d80fd57394e44b055ccf216cdae12bb4",
|
|
6
6
|
"codex-stop-task-finalizer.js": "b891f44156fb9ee55bd16b75fe203c48cd5d045f312fd8579dcb4441e0a4f2d1",
|
|
7
7
|
"commit-complete.js": "9235763142c96dde44389ee9fb2ad890fe44c386dbd192994d3076ad40144606",
|
|
8
|
-
"error-recall.js": "
|
|
8
|
+
"error-recall.js": "844d0ae3d1407de24a1a3d64134b4e4750708c99d82a0b642f46b42bf9de4d1a",
|
|
9
9
|
"exe-heartbeat-hook.js": "96070a71bc3e19b8644fe77b7bc400a8286570e75c04dfdce139050f409776a4",
|
|
10
10
|
"ingest-worker.js": "bec72f3d97677faf924c58c7d1cedfbc044ca2bed82e10b4fbbe84fdc29ec5c7",
|
|
11
11
|
"ingest.js": "2c915457864682e968e58365a84e1de8335535154a4d4767096d9bb56db07a2d",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"post-tool-combined.js": "b987f325de9f8c9bf6fa609d1754985c7384916df55265ee99c39c7eb63531e6",
|
|
16
16
|
"pre-compact.js": "2ca0094427fd634732c3f0012a0e91d54854e20f7b86468deaa56ad2b3081540",
|
|
17
17
|
"pre-tool-use.js": "81427b7d610fa67ee45dfcf353ad2803e35d83e89b15f52596592f4fe453ef63",
|
|
18
|
-
"prompt-submit.js": "
|
|
18
|
+
"prompt-submit.js": "f18f4cb79eb1bccf4960ad28e3621b553ade43d652a2f22154d26537a03921be",
|
|
19
19
|
"session-end.js": "bbab93ba92dcf55c68be8b8daeb099670776619cda4c2f9ac1e67420ae58a05e",
|
|
20
|
-
"session-start.js": "
|
|
20
|
+
"session-start.js": "4e23882d7bb91bd71fecedb8552f8597fceb8e3e8cfc8b09bc2b32863afa43f1",
|
|
21
21
|
"stop.js": "3e601ea77a42f8533a1fba55e65725cce888d7fed44eb3803b55f5cbfa01e617",
|
|
22
22
|
"subagent-stop.js": "1fa828a24117fe000db120d7dffc3835d518e2d51aec3aa7a11aee668c7d66ce",
|
|
23
23
|
"summary-worker.js": "1215f908f6203e9aaed923a3f7173960407a981e62e338a839b09c484f07f5bd"
|
|
@@ -163,7 +163,7 @@ You are **${ag.agentId}**. Daemon is degraded \u2014 memory unavailable.
|
|
|
163
163
|
query = `last actions on ${projectName}`;
|
|
164
164
|
header = "## Resuming Session\nHere's where you left off:";
|
|
165
165
|
try {
|
|
166
|
-
const { buildCatchupBrief } = await import("../catchup-brief-
|
|
166
|
+
const { buildCatchupBrief } = await import("../catchup-brief-7G3HIQT3.js");
|
|
167
167
|
const brief = await buildCatchupBrief(
|
|
168
168
|
agentId,
|
|
169
169
|
projectName,
|
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -2002,6 +2002,15 @@ async function startMcpHttpServer() {
|
|
|
2002
2002
|
});
|
|
2003
2003
|
}, mcpSessionOwnerKey2 = function(details) {
|
|
2004
2004
|
return `${details.runtime}:${details.agentId}:${details.sessionHint || `anon-${randomUUID().slice(0, 8)}`}`;
|
|
2005
|
+
}, resolveMcpSessionDetails2 = function(sessionId, requestDetails) {
|
|
2006
|
+
const persisted = sessionDetails.get(sessionId);
|
|
2007
|
+
if (!persisted) return requestDetails;
|
|
2008
|
+
return {
|
|
2009
|
+
agentId: requestDetails.agentId === "default" ? persisted.agentId : requestDetails.agentId,
|
|
2010
|
+
agentRole: requestDetails.agentRole === "employee" ? persisted.agentRole : requestDetails.agentRole,
|
|
2011
|
+
runtime: requestDetails.runtime === "Unknown" ? persisted.runtime : requestDetails.runtime,
|
|
2012
|
+
sessionHint: requestDetails.sessionHint || persisted.sessionHint
|
|
2013
|
+
};
|
|
2005
2014
|
}, evictDuplicateMcpSessions2 = function(ownerKey, keepSid) {
|
|
2006
2015
|
for (const [sid, existingOwner] of sessionOwnerKeys.entries()) {
|
|
2007
2016
|
if (sid !== keepSid && existingOwner === ownerKey) {
|
|
@@ -2074,7 +2083,7 @@ async function startMcpHttpServer() {
|
|
|
2074
2083
|
}));
|
|
2075
2084
|
recordMcpHttpEvent({ level: "warn", message, status, ...extra });
|
|
2076
2085
|
};
|
|
2077
|
-
var parseDurationMs = parseDurationMs2, closeMcpSession = closeMcpSession2, mcpSessionOwnerKey = mcpSessionOwnerKey2, evictDuplicateMcpSessions = evictDuplicateMcpSessions2, pruneStaleRecoveryAliases = pruneStaleRecoveryAliases2, getRecoveredMcpSession = getRecoveredMcpSession2, sweepStaleMcpSessions = sweepStaleMcpSessions2, getJsonRpcId = getJsonRpcId2, sendJsonRpcError = sendJsonRpcError2;
|
|
2086
|
+
var parseDurationMs = parseDurationMs2, closeMcpSession = closeMcpSession2, mcpSessionOwnerKey = mcpSessionOwnerKey2, resolveMcpSessionDetails = resolveMcpSessionDetails2, evictDuplicateMcpSessions = evictDuplicateMcpSessions2, pruneStaleRecoveryAliases = pruneStaleRecoveryAliases2, getRecoveredMcpSession = getRecoveredMcpSession2, sweepStaleMcpSessions = sweepStaleMcpSessions2, getJsonRpcId = getJsonRpcId2, sendJsonRpcError = sendJsonRpcError2;
|
|
2078
2087
|
process.stderr.write("[exed] MCP HTTP: importing SDK modules...\n");
|
|
2079
2088
|
const { McpServer } = await import("@modelcontextprotocol/sdk/server/mcp.js");
|
|
2080
2089
|
const { StreamableHTTPServerTransport } = await import("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
@@ -2687,8 +2696,11 @@ async function startMcpHttpServer() {
|
|
|
2687
2696
|
registerAllTools(wrappedMcp, gateState.license, gateState.hasKey);
|
|
2688
2697
|
await sessionMcp.connect(transport);
|
|
2689
2698
|
} else if (sessionId && !transports.has(sessionId) && req.method === "POST") {
|
|
2690
|
-
const details = { agentId, agentRole, runtime, sessionHint };
|
|
2699
|
+
const details = resolveMcpSessionDetails2(sessionId, { agentId, agentRole, runtime, sessionHint });
|
|
2691
2700
|
const recovered = await createRecoveredMcpSession(sessionId, details);
|
|
2701
|
+
agentId = details.agentId;
|
|
2702
|
+
agentRole = details.agentRole;
|
|
2703
|
+
sessionHint = details.sessionHint ?? "";
|
|
2692
2704
|
transport = recovered.transport;
|
|
2693
2705
|
req.headers["mcp-session-id"] = recovered.sessionId;
|
|
2694
2706
|
} else if (sessionId && !transports.has(sessionId) && req.method === "DELETE") {
|
|
@@ -4100,7 +4112,7 @@ function startTaskEnforcementScanner() {
|
|
|
4100
4112
|
const tick = async () => traceDaemonTimer("task_enforcement", async () => {
|
|
4101
4113
|
fired("task_enforcement");
|
|
4102
4114
|
try {
|
|
4103
|
-
const { runTaskEnforcementTick } = await import("../task-enforcement-
|
|
4115
|
+
const { runTaskEnforcementTick } = await import("../task-enforcement-FYDLTS3R.js");
|
|
4104
4116
|
const { getTransport } = await import("./transport.js");
|
|
4105
4117
|
const { loadAgentConfig } = await import("./agent-config.js");
|
|
4106
4118
|
const { getClient } = await import("./database.js");
|
|
@@ -4119,6 +4131,7 @@ function startTaskEnforcementScanner() {
|
|
|
4119
4131
|
const { checkAutoWakeGates } = await import("../daemon-orchestration-G5HGOMGQ.js");
|
|
4120
4132
|
const { ensureEmployee } = await import("./tmux-routing.js");
|
|
4121
4133
|
const { shouldAutoInstance } = await import("./employees.js");
|
|
4134
|
+
const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-SSAWHTVL.js");
|
|
4122
4135
|
const projectDir = process.cwd();
|
|
4123
4136
|
await runTaskEnforcementTick({
|
|
4124
4137
|
transport: enforcementTransport,
|
|
@@ -4140,6 +4153,39 @@ function startTaskEnforcementScanner() {
|
|
|
4140
4153
|
return null;
|
|
4141
4154
|
}
|
|
4142
4155
|
return ensureEmployee(reviewerName, sessionScope, projectDir, shouldAutoInstance(reviewerName));
|
|
4156
|
+
},
|
|
4157
|
+
zombieWorkerRecover: (session, agentName, sessionScope, reason) => {
|
|
4158
|
+
const gateReason = checkAutoWakeGates(`mcp-zombie::${agentName}::${sessionScope || session}`, Date.now());
|
|
4159
|
+
if (gateReason) {
|
|
4160
|
+
process.stderr.write(
|
|
4161
|
+
`[exed] MCP zombie recovery GATED: ${session} \u2014 ${gateReason}
|
|
4162
|
+
`
|
|
4163
|
+
);
|
|
4164
|
+
return;
|
|
4165
|
+
}
|
|
4166
|
+
process.stderr.write(`[exed] MCP zombie recovery: killing ${session} (${reason}) for task resume
|
|
4167
|
+
`);
|
|
4168
|
+
try {
|
|
4169
|
+
transport.kill(session);
|
|
4170
|
+
} catch (err) {
|
|
4171
|
+
process.stderr.write(`[exed] MCP zombie recovery kill failed for ${session}: ${err instanceof Error ? err.message : String(err)}
|
|
4172
|
+
`);
|
|
4173
|
+
}
|
|
4174
|
+
const resumeScope = sessionScope || (session.includes("-") ? session.slice(session.lastIndexOf("-") + 1) : "");
|
|
4175
|
+
const resumeResult = resumeScope ? ensureEmployee(agentName, resumeScope, projectDir, shouldAutoInstance(agentName)) : null;
|
|
4176
|
+
if (resumeResult?.error) {
|
|
4177
|
+
process.stderr.write(`[exed] MCP zombie recovery resume failed for ${agentName}: ${resumeResult.error}
|
|
4178
|
+
`);
|
|
4179
|
+
}
|
|
4180
|
+
recordOrchestrationEventBestEffort({
|
|
4181
|
+
eventType: "session.recovered",
|
|
4182
|
+
source: "exe-daemon.mcpZombieRecovery",
|
|
4183
|
+
agentId: agentName,
|
|
4184
|
+
sessionScope: resumeScope || null,
|
|
4185
|
+
tmuxSession: session,
|
|
4186
|
+
result: resumeResult?.error ? "resume_failed" : "killed_and_resumed",
|
|
4187
|
+
payload: { reason, resumeStatus: resumeResult?.status ?? null }
|
|
4188
|
+
});
|
|
4143
4189
|
}
|
|
4144
4190
|
});
|
|
4145
4191
|
acted("task_enforcement");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registerAllTools
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-AX6EKVRZ.js";
|
|
4
4
|
import "../chunk-DIZLK77N.js";
|
|
5
5
|
import "../chunk-557C2IGL.js";
|
|
6
6
|
import "../chunk-FO6CLTAL.js";
|
|
7
7
|
import "../chunk-DLTODKBW.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-6H7PZOYD.js";
|
|
9
9
|
import "../chunk-2WBBVEIB.js";
|
|
10
10
|
import "../chunk-3VTC7TJF.js";
|
|
11
11
|
import "../chunk-IOVGBFTA.js";
|
|
@@ -61,7 +61,7 @@ import "../chunk-M7GR2WO4.js";
|
|
|
61
61
|
import "../chunk-474SY5VD.js";
|
|
62
62
|
import "../chunk-KFYOA37Q.js";
|
|
63
63
|
import "../chunk-7IZWLMTP.js";
|
|
64
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-LMYSCMSQ.js";
|
|
65
65
|
import "../chunk-5MOYMGS5.js";
|
|
66
66
|
import "../chunk-CHCA3ZM2.js";
|
|
67
67
|
import "../chunk-RSIDQBIG.js";
|
package/dist/mcp/server.js
CHANGED
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
} from "../chunk-V4TZI6EO.js";
|
|
4
4
|
import {
|
|
5
5
|
registerAllTools
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-AX6EKVRZ.js";
|
|
7
7
|
import "../chunk-DIZLK77N.js";
|
|
8
8
|
import "../chunk-557C2IGL.js";
|
|
9
9
|
import "../chunk-FO6CLTAL.js";
|
|
10
10
|
import "../chunk-DLTODKBW.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-6H7PZOYD.js";
|
|
12
12
|
import {
|
|
13
13
|
initLicenseGate
|
|
14
14
|
} from "../chunk-2WBBVEIB.js";
|
|
@@ -71,7 +71,7 @@ import "../chunk-M7GR2WO4.js";
|
|
|
71
71
|
import "../chunk-474SY5VD.js";
|
|
72
72
|
import "../chunk-KFYOA37Q.js";
|
|
73
73
|
import "../chunk-7IZWLMTP.js";
|
|
74
|
-
import "../chunk-
|
|
74
|
+
import "../chunk-LMYSCMSQ.js";
|
|
75
75
|
import {
|
|
76
76
|
disposeStore,
|
|
77
77
|
initStore
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
disposeReranker,
|
|
3
|
+
getRerankerModelPath,
|
|
4
|
+
isRerankerAvailable,
|
|
5
|
+
rerank,
|
|
6
|
+
rerankWithContext,
|
|
7
|
+
rerankWithScores
|
|
8
|
+
} from "./chunk-ZFHXFDWX.js";
|
|
9
|
+
import "./chunk-VXIMSRTO.js";
|
|
10
|
+
import "./chunk-LYH5HE24.js";
|
|
11
|
+
import "./chunk-MLKGABMK.js";
|
|
12
|
+
export {
|
|
13
|
+
disposeReranker,
|
|
14
|
+
getRerankerModelPath,
|
|
15
|
+
isRerankerAvailable,
|
|
16
|
+
rerank,
|
|
17
|
+
rerankWithContext,
|
|
18
|
+
rerankWithScores
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
disposeReranker,
|
|
3
|
+
getRerankerModelPath,
|
|
4
|
+
isRerankerAvailable,
|
|
5
|
+
rerank,
|
|
6
|
+
rerankWithContext,
|
|
7
|
+
rerankWithScores
|
|
8
|
+
} from "./chunk-X56OLWQS.js";
|
|
9
|
+
import "./chunk-VXIMSRTO.js";
|
|
10
|
+
import "./chunk-LYH5HE24.js";
|
|
11
|
+
import "./chunk-MLKGABMK.js";
|
|
12
|
+
export {
|
|
13
|
+
disposeReranker,
|
|
14
|
+
getRerankerModelPath,
|
|
15
|
+
isRerankerAvailable,
|
|
16
|
+
rerank,
|
|
17
|
+
rerankWithContext,
|
|
18
|
+
rerankWithScores
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
disposeReranker,
|
|
3
|
+
getRerankerModelPath,
|
|
4
|
+
isRerankerAvailable,
|
|
5
|
+
rerank,
|
|
6
|
+
rerankWithContext,
|
|
7
|
+
rerankWithScores
|
|
8
|
+
} from "./chunk-6H7PZOYD.js";
|
|
9
|
+
import "./chunk-VXIMSRTO.js";
|
|
10
|
+
import "./chunk-LYH5HE24.js";
|
|
11
|
+
import "./chunk-MLKGABMK.js";
|
|
12
|
+
export {
|
|
13
|
+
disposeReranker,
|
|
14
|
+
getRerankerModelPath,
|
|
15
|
+
isRerankerAvailable,
|
|
16
|
+
rerank,
|
|
17
|
+
rerankWithContext,
|
|
18
|
+
rerankWithScores
|
|
19
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertBreakingChangesAllowed,
|
|
3
|
+
assertDeploymentScopeAllowed,
|
|
4
|
+
assertHostReadyForApply,
|
|
5
|
+
assertProductionDeployGate,
|
|
6
|
+
bootstrapStackHost,
|
|
7
|
+
canonicalizeStackManifest,
|
|
8
|
+
collectProductionDeployGateIssues,
|
|
9
|
+
createStackUpdatePlan,
|
|
10
|
+
defaultStackPaths,
|
|
11
|
+
findLatestBackupEnvFile,
|
|
12
|
+
hardenHost,
|
|
13
|
+
listAvailableVersions,
|
|
14
|
+
loadStackManifest,
|
|
15
|
+
pairMonitorAgent,
|
|
16
|
+
parseEnv,
|
|
17
|
+
parseStackManifest,
|
|
18
|
+
patchEnv,
|
|
19
|
+
readCurrentStackVersion,
|
|
20
|
+
rollbackStackUpdate,
|
|
21
|
+
runStackUpdate,
|
|
22
|
+
verifyReleaseHealth,
|
|
23
|
+
verifyStackManifestSignature
|
|
24
|
+
} from "./chunk-DFI2IZXM.js";
|
|
25
|
+
import "./chunk-MOZ2YQ54.js";
|
|
26
|
+
import "./chunk-VXIMSRTO.js";
|
|
27
|
+
import "./chunk-LYH5HE24.js";
|
|
28
|
+
import "./chunk-MLKGABMK.js";
|
|
29
|
+
export {
|
|
30
|
+
assertBreakingChangesAllowed,
|
|
31
|
+
assertDeploymentScopeAllowed,
|
|
32
|
+
assertHostReadyForApply,
|
|
33
|
+
assertProductionDeployGate,
|
|
34
|
+
bootstrapStackHost,
|
|
35
|
+
canonicalizeStackManifest,
|
|
36
|
+
collectProductionDeployGateIssues,
|
|
37
|
+
createStackUpdatePlan,
|
|
38
|
+
defaultStackPaths,
|
|
39
|
+
findLatestBackupEnvFile,
|
|
40
|
+
hardenHost,
|
|
41
|
+
listAvailableVersions,
|
|
42
|
+
loadStackManifest,
|
|
43
|
+
pairMonitorAgent,
|
|
44
|
+
parseEnv,
|
|
45
|
+
parseStackManifest,
|
|
46
|
+
patchEnv,
|
|
47
|
+
readCurrentStackVersion,
|
|
48
|
+
rollbackStackUpdate,
|
|
49
|
+
runStackUpdate,
|
|
50
|
+
verifyReleaseHealth,
|
|
51
|
+
verifyStackManifestSignature
|
|
52
|
+
};
|