ai-project-manage-cli 6.0.109 → 6.0.110
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 +142 -54
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2637,13 +2637,32 @@ function validateDeployPush(o) {
|
|
|
2637
2637
|
}
|
|
2638
2638
|
};
|
|
2639
2639
|
}
|
|
2640
|
+
function validateSessionCacheCleanupPush(o) {
|
|
2641
|
+
if (o.type !== "session-cache-cleanup") {
|
|
2642
|
+
return { ok: false, reason: "\u671F\u671B session-cache-cleanup" };
|
|
2643
|
+
}
|
|
2644
|
+
if (!nonEmptyString(o.sessionId)) {
|
|
2645
|
+
return { ok: false, reason: "session-cache-cleanup \u7F3A\u5C11 sessionId" };
|
|
2646
|
+
}
|
|
2647
|
+
if (!nonEmptyString(o.workdir)) {
|
|
2648
|
+
return { ok: false, reason: "session-cache-cleanup \u7F3A\u5C11 workdir" };
|
|
2649
|
+
}
|
|
2650
|
+
return {
|
|
2651
|
+
ok: true,
|
|
2652
|
+
data: {
|
|
2653
|
+
type: "session-cache-cleanup",
|
|
2654
|
+
sessionId: o.sessionId.trim(),
|
|
2655
|
+
workdir: o.workdir.trim()
|
|
2656
|
+
}
|
|
2657
|
+
};
|
|
2658
|
+
}
|
|
2640
2659
|
function validateAgentWsMessage(value, kind) {
|
|
2641
2660
|
if (typeof value !== "object" || value === null) {
|
|
2642
2661
|
return { ok: false, reason: "\u6D88\u606F\u4F53\u4E0D\u662F JSON \u5BF9\u8C61" };
|
|
2643
2662
|
}
|
|
2644
2663
|
const o = value;
|
|
2645
2664
|
const type = o.type;
|
|
2646
|
-
if (type !== "heartbeat" && type !== "message" && type !== "cancel" && type !== "deploy") {
|
|
2665
|
+
if (type !== "heartbeat" && type !== "message" && type !== "cancel" && type !== "deploy" && type !== "session-cache-cleanup") {
|
|
2647
2666
|
return { ok: false, reason: `\u672A\u77E5 type: ${String(type)}` };
|
|
2648
2667
|
}
|
|
2649
2668
|
if (kind === "heartbeat" || type === "heartbeat") {
|
|
@@ -2655,6 +2674,9 @@ function validateAgentWsMessage(value, kind) {
|
|
|
2655
2674
|
if (type === "deploy") {
|
|
2656
2675
|
return validateDeployPush(o);
|
|
2657
2676
|
}
|
|
2677
|
+
if (type === "session-cache-cleanup") {
|
|
2678
|
+
return validateSessionCacheCleanupPush(o);
|
|
2679
|
+
}
|
|
2658
2680
|
return validateMessagePush(o);
|
|
2659
2681
|
}
|
|
2660
2682
|
|
|
@@ -2893,6 +2915,19 @@ function posixBasename(p) {
|
|
|
2893
2915
|
const idx = normalized.lastIndexOf("/");
|
|
2894
2916
|
return idx >= 0 ? normalized.slice(idx + 1) : normalized;
|
|
2895
2917
|
}
|
|
2918
|
+
function resolveWisdomBackendPackOnlyFromApmConfig(cfg) {
|
|
2919
|
+
const projectName = reqTopLevelName(cfg);
|
|
2920
|
+
const w = cfg.wisdomDeploy ?? {};
|
|
2921
|
+
const mavenLocalRepo = resolveMavenLocalRepoWithSource();
|
|
2922
|
+
return {
|
|
2923
|
+
projectName,
|
|
2924
|
+
packageName: `${projectName}.jar.zip`,
|
|
2925
|
+
mavenLocalRepo: mavenLocalRepo.path,
|
|
2926
|
+
mavenLocalRepoSource: mavenLocalRepo.source,
|
|
2927
|
+
mavenLocalRepoSourceDetail: mavenLocalRepo.sourceDetail,
|
|
2928
|
+
mode: resolveWisdomDeployMode(w.mode)
|
|
2929
|
+
};
|
|
2930
|
+
}
|
|
2896
2931
|
function resolveWisdomBackendDeployFromApmConfig(cfg) {
|
|
2897
2932
|
const projectName = reqTopLevelName(cfg);
|
|
2898
2933
|
const w = cfg.wisdomDeploy ?? {};
|
|
@@ -4641,6 +4676,12 @@ async function runWisdomSftpDeploy(params) {
|
|
|
4641
4676
|
});
|
|
4642
4677
|
let zipSizeBytes = 0;
|
|
4643
4678
|
let artifactUploaded = false;
|
|
4679
|
+
if (!packOnly && !params.settings) {
|
|
4680
|
+
throw new DeployExecutionError(
|
|
4681
|
+
"SFTP \u90E8\u7F72\u7F3A\u5C11 wisdomDeploy \u8FDE\u63A5\u914D\u7F6E\uFF08host\u3001remotePath \u7B49\uFF09",
|
|
4682
|
+
1
|
|
4683
|
+
);
|
|
4684
|
+
}
|
|
4644
4685
|
if (packOnly && artifactUpload.upload) {
|
|
4645
4686
|
const packed = await packDirectoryWithMinioArchive({
|
|
4646
4687
|
localDir: params.localDir,
|
|
@@ -4684,8 +4725,8 @@ async function runWisdomSftpDeploy(params) {
|
|
|
4684
4725
|
return {
|
|
4685
4726
|
ok: true,
|
|
4686
4727
|
localDir: params.localDir,
|
|
4687
|
-
host: params.settings
|
|
4688
|
-
remotePath: params.settings
|
|
4728
|
+
host: params.settings?.host ?? "",
|
|
4729
|
+
remotePath: params.settings?.remotePath ?? "",
|
|
4689
4730
|
zipSizeBytes,
|
|
4690
4731
|
extracted: packOnly ? false : params.extract,
|
|
4691
4732
|
packOnly,
|
|
@@ -5209,6 +5250,12 @@ async function restartRemoteService(client, config) {
|
|
|
5209
5250
|
}
|
|
5210
5251
|
|
|
5211
5252
|
// src/commands/deploy/internal/wisdom-backend/index.ts
|
|
5253
|
+
function asFullBackendDeployConfig(config) {
|
|
5254
|
+
if (!("host" in config)) {
|
|
5255
|
+
fail("\u5B8C\u6574\u90E8\u7F72\u7F3A\u5C11 wisdomDeploy \u8FDC\u7A0B\u8FDE\u63A5\u914D\u7F6E");
|
|
5256
|
+
}
|
|
5257
|
+
return config;
|
|
5258
|
+
}
|
|
5212
5259
|
async function runWisdomBackendDeploy(options) {
|
|
5213
5260
|
const projectRoot = path9.resolve(options.projectRoot ?? process.cwd());
|
|
5214
5261
|
const config = options.config;
|
|
@@ -5260,11 +5307,12 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5260
5307
|
log("\u4EC5\u6253\u5305\u5B8C\u6210\uFF08\u672A\u4E0A\u4F20\u8FDC\u7A0B\u670D\u52A1\u5668\uFF09");
|
|
5261
5308
|
return;
|
|
5262
5309
|
}
|
|
5263
|
-
const
|
|
5310
|
+
const deployConfig = asFullBackendDeployConfig(config);
|
|
5311
|
+
const conn = await connectSsh(deployConfig);
|
|
5264
5312
|
try {
|
|
5265
5313
|
if (config.mode === "full") {
|
|
5266
5314
|
const mainJar = locateMainJar(projectRoot);
|
|
5267
|
-
await uploadFullJar(conn.sftp, mainJar,
|
|
5315
|
+
await uploadFullJar(conn.sftp, mainJar, deployConfig);
|
|
5268
5316
|
const archiveZipPath = await createUpdatePackage(
|
|
5269
5317
|
[
|
|
5270
5318
|
{
|
|
@@ -5281,8 +5329,8 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5281
5329
|
kind: "backend"
|
|
5282
5330
|
});
|
|
5283
5331
|
log("\u91CD\u542F\u670D\u52A1...");
|
|
5284
|
-
await restartRemoteService(conn.client,
|
|
5285
|
-
await healthCheckService(conn.client,
|
|
5332
|
+
await restartRemoteService(conn.client, deployConfig);
|
|
5333
|
+
await healthCheckService(conn.client, deployConfig);
|
|
5286
5334
|
log("\u90E8\u7F72\u5B8C\u6210");
|
|
5287
5335
|
return;
|
|
5288
5336
|
}
|
|
@@ -5290,7 +5338,7 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5290
5338
|
let manifest = loadManifest3();
|
|
5291
5339
|
const remoteLibStats = await getRemoteFileStats(
|
|
5292
5340
|
conn.sftp,
|
|
5293
|
-
|
|
5341
|
+
deployConfig.remoteLibDir
|
|
5294
5342
|
);
|
|
5295
5343
|
log("\u6536\u96C6 JAR \u66F4\u65B0...");
|
|
5296
5344
|
const libUploadEntries = listLibFilesToUpload(
|
|
@@ -5308,7 +5356,7 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5308
5356
|
const remoteZipPath = await uploadUpdatePackage(
|
|
5309
5357
|
conn.sftp,
|
|
5310
5358
|
zipPath,
|
|
5311
|
-
|
|
5359
|
+
deployConfig
|
|
5312
5360
|
);
|
|
5313
5361
|
await uploadDeployArtifactZip({
|
|
5314
5362
|
zipPath,
|
|
@@ -5318,13 +5366,13 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5318
5366
|
log("\u8FDC\u7A0B\u89E3\u538B lib \u76EE\u5F55\uFF08\u4EC5\u8986\u76D6\u5DF2\u6709 JAR\uFF09...");
|
|
5319
5367
|
updated = await extractUpdatePackageOnRemote(
|
|
5320
5368
|
conn.client,
|
|
5321
|
-
|
|
5369
|
+
deployConfig,
|
|
5322
5370
|
remoteZipPath
|
|
5323
5371
|
);
|
|
5324
5372
|
} else {
|
|
5325
5373
|
log("\u65E0 JAR \u9700\u8981\u66F4\u65B0\uFF0C\u8DF3\u8FC7\u66F4\u65B0\u5305\u4E0A\u4F20");
|
|
5326
5374
|
}
|
|
5327
|
-
const runningJar = await getRunningJar(conn.client,
|
|
5375
|
+
const runningJar = await getRunningJar(conn.client, deployConfig);
|
|
5328
5376
|
let needRestart = updated > 0;
|
|
5329
5377
|
if (!needRestart && !runningJar) {
|
|
5330
5378
|
log("\u670D\u52A1\u672A\u8FD0\u884C\uFF0C\u9700\u8981\u542F\u52A8");
|
|
@@ -5334,9 +5382,9 @@ async function runWisdomBackendDeploy(options) {
|
|
|
5334
5382
|
}
|
|
5335
5383
|
if (needRestart) {
|
|
5336
5384
|
log("\u91CD\u542F\u670D\u52A1...");
|
|
5337
|
-
await restartRemoteService(conn.client,
|
|
5385
|
+
await restartRemoteService(conn.client, deployConfig);
|
|
5338
5386
|
}
|
|
5339
|
-
await healthCheckService(conn.client,
|
|
5387
|
+
await healthCheckService(conn.client, deployConfig);
|
|
5340
5388
|
if (libUploadEntries.length > 0) {
|
|
5341
5389
|
manifest = updateManifestEntries(manifest, libUploadEntries, projectRoot);
|
|
5342
5390
|
saveManifest3(manifest);
|
|
@@ -5418,7 +5466,7 @@ async function executeWisdomFrontendDeploy(options) {
|
|
|
5418
5466
|
const projectName = resolveProjectNameForDeploy(cfg, cwd, {
|
|
5419
5467
|
requireName: packOnly || archiveDeployArtifact
|
|
5420
5468
|
});
|
|
5421
|
-
const settings = resolveWisdomDeployFromApmConfig(cfg);
|
|
5469
|
+
const settings = packOnly ? void 0 : resolveWisdomDeployFromApmConfig(cfg);
|
|
5422
5470
|
await runWisdomSftpDeploy({
|
|
5423
5471
|
localDir: distDir,
|
|
5424
5472
|
settings,
|
|
@@ -5430,7 +5478,7 @@ async function executeWisdomFrontendDeploy(options) {
|
|
|
5430
5478
|
}
|
|
5431
5479
|
async function executeWisdomBackendDeployFlow(options) {
|
|
5432
5480
|
const { cwd, cfg, packOnly } = options;
|
|
5433
|
-
const settings = resolveWisdomBackendDeployFromApmConfig(cfg);
|
|
5481
|
+
const settings = packOnly ? resolveWisdomBackendPackOnlyFromApmConfig(cfg) : resolveWisdomBackendDeployFromApmConfig(cfg);
|
|
5434
5482
|
if (packOnly) {
|
|
5435
5483
|
console.error(`[apm] Java\uFF1AMaven \u6784\u5EFA\uFF08\u4EC5\u6253\u5305\uFF0C\u5FFD\u7565\u73AF\u5883 ${options.env}\uFF09`);
|
|
5436
5484
|
} else {
|
|
@@ -5652,7 +5700,8 @@ async function executeDeploy(options) {
|
|
|
5652
5700
|
}
|
|
5653
5701
|
const preDeployLog = outputParts.join("\n");
|
|
5654
5702
|
const cfg = loadApmConfig({ configPath: apmConfigPath });
|
|
5655
|
-
|
|
5703
|
+
const packOnly = Boolean(options.packOnly);
|
|
5704
|
+
if (!packOnly && !isWisdomDeployConfigured(cfg)) {
|
|
5656
5705
|
const lines = formatMissingWisdomDeployLines();
|
|
5657
5706
|
throw new DeployExecutionError(lines.join("\n"), 1, lines.join("\n"));
|
|
5658
5707
|
}
|
|
@@ -5662,7 +5711,7 @@ async function executeDeploy(options) {
|
|
|
5662
5711
|
cwd,
|
|
5663
5712
|
configPath: apmConfigPath,
|
|
5664
5713
|
captureOutput,
|
|
5665
|
-
packOnly
|
|
5714
|
+
packOnly,
|
|
5666
5715
|
archiveDeployArtifact: options.archiveDeployArtifact
|
|
5667
5716
|
});
|
|
5668
5717
|
return preDeployLog;
|
|
@@ -5945,6 +5994,58 @@ async function handleInboundDeploy(cfg, msg, signal) {
|
|
|
5945
5994
|
}
|
|
5946
5995
|
}
|
|
5947
5996
|
|
|
5997
|
+
// src/commands/clean-session-cache.ts
|
|
5998
|
+
import { existsSync as existsSync20, rmSync as rmSync4 } from "node:fs";
|
|
5999
|
+
|
|
6000
|
+
// src/commands/connect/pre-step-cache.ts
|
|
6001
|
+
var PULL_TTL_MS = 3e4;
|
|
6002
|
+
function sessionWorkdirKey(sessionId, workdir) {
|
|
6003
|
+
return `${sessionId}\0${workdir}`;
|
|
6004
|
+
}
|
|
6005
|
+
var lastBranchKey = null;
|
|
6006
|
+
var lastPullAtByKey = /* @__PURE__ */ new Map();
|
|
6007
|
+
function shouldRunBranch(sessionId, workdir) {
|
|
6008
|
+
return lastBranchKey !== sessionWorkdirKey(sessionId, workdir);
|
|
6009
|
+
}
|
|
6010
|
+
function markBranchDone(sessionId, workdir) {
|
|
6011
|
+
lastBranchKey = sessionWorkdirKey(sessionId, workdir);
|
|
6012
|
+
}
|
|
6013
|
+
function shouldRunPull(sessionId, workdir) {
|
|
6014
|
+
const key = sessionWorkdirKey(sessionId, workdir);
|
|
6015
|
+
const last = lastPullAtByKey.get(key);
|
|
6016
|
+
if (last == null) {
|
|
6017
|
+
return true;
|
|
6018
|
+
}
|
|
6019
|
+
return Date.now() - last >= PULL_TTL_MS;
|
|
6020
|
+
}
|
|
6021
|
+
function markPullDone(sessionId, workdir) {
|
|
6022
|
+
lastPullAtByKey.set(sessionWorkdirKey(sessionId, workdir), Date.now());
|
|
6023
|
+
}
|
|
6024
|
+
function clearPreStepCacheForSession(sessionId, workdir) {
|
|
6025
|
+
const key = sessionWorkdirKey(sessionId, workdir);
|
|
6026
|
+
lastPullAtByKey.delete(key);
|
|
6027
|
+
if (lastBranchKey === key) {
|
|
6028
|
+
lastBranchKey = null;
|
|
6029
|
+
}
|
|
6030
|
+
}
|
|
6031
|
+
|
|
6032
|
+
// src/commands/clean-session-cache.ts
|
|
6033
|
+
function cleanSessionWorkspaceCache(sessionId, workdir) {
|
|
6034
|
+
const trimmedSessionId = sessionId.trim();
|
|
6035
|
+
const trimmedWorkdir = workdir.trim();
|
|
6036
|
+
if (!trimmedSessionId || !trimmedWorkdir) {
|
|
6037
|
+
return;
|
|
6038
|
+
}
|
|
6039
|
+
const dir = sessionDir(trimmedSessionId, workspaceApmDir(trimmedWorkdir));
|
|
6040
|
+
if (existsSync20(dir)) {
|
|
6041
|
+
rmSync4(dir, { recursive: true, force: true });
|
|
6042
|
+
console.log(`[apm] \u5DF2\u6E05\u7406\u4F1A\u8BDD\u7F13\u5B58 ${dir}`);
|
|
6043
|
+
} else {
|
|
6044
|
+
console.log(`[apm] \u4F1A\u8BDD\u7F13\u5B58\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7 ${dir}`);
|
|
6045
|
+
}
|
|
6046
|
+
clearPreStepCacheForSession(trimmedSessionId, trimmedWorkdir);
|
|
6047
|
+
}
|
|
6048
|
+
|
|
5948
6049
|
// src/commands/connect/abort-signal-debug.ts
|
|
5949
6050
|
import {
|
|
5950
6051
|
getEventListeners,
|
|
@@ -6212,13 +6313,13 @@ ${JSON.stringify(event, null, 2)}
|
|
|
6212
6313
|
}
|
|
6213
6314
|
|
|
6214
6315
|
// src/commands/connect/agent-session-registry.ts
|
|
6215
|
-
import { existsSync as
|
|
6316
|
+
import { existsSync as existsSync21, mkdirSync as mkdirSync9, readFileSync as readFileSync16, writeFileSync as writeFileSync14 } from "node:fs";
|
|
6216
6317
|
import { dirname as dirname6, resolve as resolve5 } from "node:path";
|
|
6217
6318
|
function registryPath(workdir, sessionId) {
|
|
6218
6319
|
return resolve5(workdir, ".apm", "sessions", sessionId, "cursor-agents.json");
|
|
6219
6320
|
}
|
|
6220
6321
|
function readRegistry(path19) {
|
|
6221
|
-
if (!
|
|
6322
|
+
if (!existsSync21(path19)) {
|
|
6222
6323
|
return {};
|
|
6223
6324
|
}
|
|
6224
6325
|
try {
|
|
@@ -6690,7 +6791,7 @@ async function ensureMessageHasReply(cfg, sessionId, messageId, fallback) {
|
|
|
6690
6791
|
}
|
|
6691
6792
|
|
|
6692
6793
|
// src/commands/connect/cli-version-sync.ts
|
|
6693
|
-
import { existsSync as
|
|
6794
|
+
import { existsSync as existsSync22, readFileSync as readFileSync17, writeFileSync as writeFileSync15 } from "fs";
|
|
6694
6795
|
import { join as join17 } from "path";
|
|
6695
6796
|
var CLI_VERSION_FILE = ".cli-version.json";
|
|
6696
6797
|
function manifestPath(apmDir) {
|
|
@@ -6698,7 +6799,7 @@ function manifestPath(apmDir) {
|
|
|
6698
6799
|
}
|
|
6699
6800
|
function loadManifest4(apmDir) {
|
|
6700
6801
|
const path19 = toFsPath(manifestPath(apmDir));
|
|
6701
|
-
if (!
|
|
6802
|
+
if (!existsSync22(path19)) {
|
|
6702
6803
|
return null;
|
|
6703
6804
|
}
|
|
6704
6805
|
try {
|
|
@@ -6739,31 +6840,6 @@ function markSkillsSyncedForCliVersion(workdir, cliVersion) {
|
|
|
6739
6840
|
syncedInSession.set(workdir, cliVersion);
|
|
6740
6841
|
}
|
|
6741
6842
|
|
|
6742
|
-
// src/commands/connect/pre-step-cache.ts
|
|
6743
|
-
var PULL_TTL_MS = 3e4;
|
|
6744
|
-
function sessionWorkdirKey(sessionId, workdir) {
|
|
6745
|
-
return `${sessionId}\0${workdir}`;
|
|
6746
|
-
}
|
|
6747
|
-
var lastBranchKey = null;
|
|
6748
|
-
var lastPullAtByKey = /* @__PURE__ */ new Map();
|
|
6749
|
-
function shouldRunBranch(sessionId, workdir) {
|
|
6750
|
-
return lastBranchKey !== sessionWorkdirKey(sessionId, workdir);
|
|
6751
|
-
}
|
|
6752
|
-
function markBranchDone(sessionId, workdir) {
|
|
6753
|
-
lastBranchKey = sessionWorkdirKey(sessionId, workdir);
|
|
6754
|
-
}
|
|
6755
|
-
function shouldRunPull(sessionId, workdir) {
|
|
6756
|
-
const key = sessionWorkdirKey(sessionId, workdir);
|
|
6757
|
-
const last = lastPullAtByKey.get(key);
|
|
6758
|
-
if (last == null) {
|
|
6759
|
-
return true;
|
|
6760
|
-
}
|
|
6761
|
-
return Date.now() - last >= PULL_TTL_MS;
|
|
6762
|
-
}
|
|
6763
|
-
function markPullDone(sessionId, workdir) {
|
|
6764
|
-
lastPullAtByKey.set(sessionWorkdirKey(sessionId, workdir), Date.now());
|
|
6765
|
-
}
|
|
6766
|
-
|
|
6767
6843
|
// src/commands/connect/run-slot-pool.ts
|
|
6768
6844
|
var DEFAULT_MAX_CONCURRENT = 5;
|
|
6769
6845
|
function createRunSlotPool(maxConcurrent = DEFAULT_MAX_CONCURRENT, options = {}) {
|
|
@@ -7063,6 +7139,18 @@ function attachWsHandlers(ws, ctx, onOpen) {
|
|
|
7063
7139
|
});
|
|
7064
7140
|
return;
|
|
7065
7141
|
}
|
|
7142
|
+
if (validated.data.type === "session-cache-cleanup") {
|
|
7143
|
+
const msg2 = validated.data;
|
|
7144
|
+
const task2 = (async () => {
|
|
7145
|
+
const workdir = requireRemoteWorkdir(msg2.workdir);
|
|
7146
|
+
cleanSessionWorkspaceCache(msg2.sessionId, workdir);
|
|
7147
|
+
})();
|
|
7148
|
+
activeTasks.add(task2);
|
|
7149
|
+
void task2.finally(() => {
|
|
7150
|
+
activeTasks.delete(task2);
|
|
7151
|
+
});
|
|
7152
|
+
return;
|
|
7153
|
+
}
|
|
7066
7154
|
if (validated.data.type !== "message") {
|
|
7067
7155
|
return;
|
|
7068
7156
|
}
|
|
@@ -7503,7 +7591,7 @@ function registerDeployMainCommand(program) {
|
|
|
7503
7591
|
"\u6C9F\u901A\u7FA4 ID\uFF1B\u4F20\u5165\u65F6\u5728\u5E73\u53F0\u521B\u5EFA\u90E8\u7F72\u8BB0\u5F55\u5E76\u540C\u6B65\u65E5\u5FD7"
|
|
7504
7592
|
).option(
|
|
7505
7593
|
"--pack-only",
|
|
7506
|
-
"\u4EC5\u6784\u5EFA/\u6253\u5305\uFF0C\u4E0D\u4E0A\u4F20\u8FDC\u7A0B SFTP/SSH\
|
|
7594
|
+
"\u4EC5\u6784\u5EFA/\u6253\u5305\u5E76\u4E0A\u4F20 MinIO \u5F52\u6863\uFF0C\u4E0D\u4E0A\u4F20\u8FDC\u7A0B SFTP/SSH\uFF08\u65E0\u9700 wisdomDeploy\uFF09"
|
|
7507
7595
|
).action(
|
|
7508
7596
|
async (env, opts) => {
|
|
7509
7597
|
const cwd = process.cwd();
|
|
@@ -7549,7 +7637,7 @@ import path15 from "node:path";
|
|
|
7549
7637
|
import Docker from "dockerode";
|
|
7550
7638
|
|
|
7551
7639
|
// src/commands/deploy/internal/backend-deploy/dockerode-client/connection-options.ts
|
|
7552
|
-
import { existsSync as
|
|
7640
|
+
import { existsSync as existsSync23, readFileSync as readFileSync18 } from "node:fs";
|
|
7553
7641
|
import path12 from "node:path";
|
|
7554
7642
|
function asOptionalTlsBuffer(value) {
|
|
7555
7643
|
if (typeof value !== "string") {
|
|
@@ -7561,7 +7649,7 @@ function asOptionalTlsBuffer(value) {
|
|
|
7561
7649
|
if (normalized === "") {
|
|
7562
7650
|
return void 0;
|
|
7563
7651
|
}
|
|
7564
|
-
if (
|
|
7652
|
+
if (existsSync23(normalized)) {
|
|
7565
7653
|
return readFileSync18(normalized);
|
|
7566
7654
|
}
|
|
7567
7655
|
const looksLikePath = /[\\/]/.test(normalized) || normalized.endsWith(".pem");
|
|
@@ -7772,7 +7860,7 @@ var DockerodeClient = class {
|
|
|
7772
7860
|
var createDockerodeClient = (config) => new DockerodeClient(config);
|
|
7773
7861
|
|
|
7774
7862
|
// src/commands/deploy/internal/backend-deploy/dockerode-client/env.ts
|
|
7775
|
-
import { existsSync as
|
|
7863
|
+
import { existsSync as existsSync24, readFileSync as readFileSync19, statSync as statSync10 } from "node:fs";
|
|
7776
7864
|
import path13 from "node:path";
|
|
7777
7865
|
function stripSurroundingQuotes(value) {
|
|
7778
7866
|
const t = value.trim();
|
|
@@ -7789,7 +7877,7 @@ function loadEnvFromFile(envFilePath) {
|
|
|
7789
7877
|
return {};
|
|
7790
7878
|
}
|
|
7791
7879
|
const targetPath = path13.resolve(envFilePath);
|
|
7792
|
-
if (!
|
|
7880
|
+
if (!existsSync24(targetPath) || !statSync10(targetPath).isFile()) {
|
|
7793
7881
|
return {};
|
|
7794
7882
|
}
|
|
7795
7883
|
const raw = readFileSync19(targetPath, "utf-8");
|
|
@@ -7963,12 +8051,12 @@ function dockerPushImage(params, cwd) {
|
|
|
7963
8051
|
}
|
|
7964
8052
|
|
|
7965
8053
|
// src/commands/deploy/internal/backend-deploy/resolve-dockerfile.ts
|
|
7966
|
-
import { existsSync as
|
|
8054
|
+
import { existsSync as existsSync25 } from "node:fs";
|
|
7967
8055
|
import path14 from "node:path";
|
|
7968
8056
|
function resolveDockerBuildPaths(cwd) {
|
|
7969
8057
|
const dockerfilePath = path14.join(cwd, "Dockerfile");
|
|
7970
8058
|
Logger.info(`\u67E5\u627EDockerfile\u6587\u4EF6\uFF0C\u8DEF\u5F84: ${dockerfilePath}`);
|
|
7971
|
-
if (!
|
|
8059
|
+
if (!existsSync25(dockerfilePath)) {
|
|
7972
8060
|
throw new Error(`Dockerfile \u4E0D\u5B58\u5728\uFF1A${dockerfilePath}`);
|
|
7973
8061
|
}
|
|
7974
8062
|
Logger.info("\u2713 Dockerfile \u5B58\u5728");
|
|
@@ -8289,7 +8377,6 @@ function registerDeploySftpCommands(program) {
|
|
|
8289
8377
|
async (opts) => {
|
|
8290
8378
|
try {
|
|
8291
8379
|
const cfg = loadApmConfig({ configPath: opts.config });
|
|
8292
|
-
const settings = resolveWisdomDeployFromApmConfig(cfg);
|
|
8293
8380
|
const projectName = resolveProjectNameForDeploy(cfg, process.cwd(), {
|
|
8294
8381
|
requireName: true
|
|
8295
8382
|
});
|
|
@@ -8304,6 +8391,7 @@ function registerDeploySftpCommands(program) {
|
|
|
8304
8391
|
1
|
|
8305
8392
|
);
|
|
8306
8393
|
}
|
|
8394
|
+
const settings = packOnly ? void 0 : resolveWisdomDeployFromApmConfig(cfg);
|
|
8307
8395
|
const result = await runWisdomSftpDeploy({
|
|
8308
8396
|
localDir: root,
|
|
8309
8397
|
settings,
|