@salesforce/b2c-tooling-sdk 1.3.2 → 1.4.0
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/cjs/cli/lifecycle.d.ts +1 -1
- package/dist/cjs/cli/lifecycle.js.map +1 -1
- package/dist/cjs/operations/code/deploy.d.ts +17 -1
- package/dist/cjs/operations/code/deploy.js +21 -2
- package/dist/cjs/operations/code/deploy.js.map +1 -1
- package/dist/cjs/operations/code/download.d.ts +66 -0
- package/dist/cjs/operations/code/download.js +180 -0
- package/dist/cjs/operations/code/download.js.map +1 -0
- package/dist/cjs/operations/code/index.d.ts +7 -1
- package/dist/cjs/operations/code/index.js +6 -0
- package/dist/cjs/operations/code/index.js.map +1 -1
- package/dist/cjs/skills/github.js +143 -49
- package/dist/cjs/skills/github.js.map +1 -1
- package/dist/cjs/skills/installer.d.ts +1 -0
- package/dist/cjs/skills/installer.js.map +1 -1
- package/dist/cjs/telemetry/index.d.ts +8 -0
- package/dist/cjs/telemetry/index.js.map +1 -1
- package/dist/esm/cli/lifecycle.d.ts +1 -1
- package/dist/esm/cli/lifecycle.js.map +1 -1
- package/dist/esm/operations/code/deploy.d.ts +17 -1
- package/dist/esm/operations/code/deploy.js +21 -2
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/code/download.d.ts +66 -0
- package/dist/esm/operations/code/download.js +180 -0
- package/dist/esm/operations/code/download.js.map +1 -0
- package/dist/esm/operations/code/index.d.ts +7 -1
- package/dist/esm/operations/code/index.js +6 -0
- package/dist/esm/operations/code/index.js.map +1 -1
- package/dist/esm/skills/github.js +143 -49
- package/dist/esm/skills/github.js.map +1 -1
- package/dist/esm/skills/installer.d.ts +1 -0
- package/dist/esm/skills/installer.js.map +1 -1
- package/dist/esm/telemetry/index.d.ts +8 -0
- package/dist/esm/telemetry/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,6 +11,8 @@ import { getLogger } from '../logging/logger.js';
|
|
|
11
11
|
const GITHUB_REPO = 'SalesforceCommerceCloud/b2c-developer-tooling';
|
|
12
12
|
const GITHUB_API_BASE = 'https://api.github.com';
|
|
13
13
|
const GITHUB_DOWNLOAD_BASE = 'https://github.com';
|
|
14
|
+
const GITHUB_RAW_BASE = 'https://raw.githubusercontent.com';
|
|
15
|
+
const LATEST_VERSION_CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
|
|
14
16
|
/**
|
|
15
17
|
* Asset filename patterns for skill archives.
|
|
16
18
|
*/
|
|
@@ -19,19 +21,115 @@ const ASSET_NAMES = {
|
|
|
19
21
|
'b2c-cli': 'b2c-cli-skills.zip',
|
|
20
22
|
};
|
|
21
23
|
/**
|
|
22
|
-
* Build direct download URL for a release asset.
|
|
23
|
-
*
|
|
24
|
+
* Build a direct CDN download URL for a release asset.
|
|
25
|
+
* Assumes a concrete tag — call `resolveLatestVersion()` first if you have 'latest'.
|
|
26
|
+
*/
|
|
27
|
+
function buildDownloadUrl(tag, assetName) {
|
|
28
|
+
return `${GITHUB_DOWNLOAD_BASE}/${GITHUB_REPO}/releases/download/${tag}/${assetName}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Tag name used for skill-only releases (matches publish.yml).
|
|
32
|
+
*/
|
|
33
|
+
function pluginsTag(version) {
|
|
34
|
+
const bare = version.replace(/^v/, '');
|
|
35
|
+
return `b2c-agent-plugins@${bare}`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* File path for the resolved-latest-version cache.
|
|
39
|
+
*/
|
|
40
|
+
function getLatestVersionCachePath() {
|
|
41
|
+
return path.join(getCacheDir(), '.latest-version.json');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read a cached "latest" version if still fresh (1-hour TTL).
|
|
45
|
+
*/
|
|
46
|
+
function readLatestVersionCache() {
|
|
47
|
+
try {
|
|
48
|
+
const p = getLatestVersionCachePath();
|
|
49
|
+
if (!fs.existsSync(p))
|
|
50
|
+
return null;
|
|
51
|
+
const entry = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
52
|
+
const age = Date.now() - new Date(entry.resolvedAt).getTime();
|
|
53
|
+
if (age > LATEST_VERSION_CACHE_TTL_MS)
|
|
54
|
+
return null;
|
|
55
|
+
return entry.version;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function writeLatestVersionCache(version) {
|
|
62
|
+
try {
|
|
63
|
+
const p = getLatestVersionCachePath();
|
|
64
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
65
|
+
fs.writeFileSync(p, JSON.stringify({ version, resolvedAt: new Date().toISOString() }));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Caching is best-effort
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Detect whether a fetch response is an unauthenticated GitHub rate-limit.
|
|
73
|
+
*/
|
|
74
|
+
function isRateLimited(response) {
|
|
75
|
+
if (response.status !== 403 && response.status !== 429)
|
|
76
|
+
return false;
|
|
77
|
+
const remaining = response.headers.get('x-ratelimit-remaining');
|
|
78
|
+
return remaining === '0' || response.status === 429;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Resolve the version of the most recent skills release.
|
|
82
|
+
*
|
|
83
|
+
* Strategy:
|
|
84
|
+
* 1. API primary — paginate /releases and return the first entry that has
|
|
85
|
+
* a skills asset attached.
|
|
86
|
+
* 2. Rate-limit fallback — fetch skills/package.json from main via
|
|
87
|
+
* raw.githubusercontent.com. This is the version that will be tagged
|
|
88
|
+
* b2c-agent-plugins@<version> at release time.
|
|
24
89
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
90
|
+
* Caches the resolved version for 1 hour to avoid re-resolving on consecutive
|
|
91
|
+
* calls within the same session. Always returns a bare version string like
|
|
92
|
+
* "1.2.3" (no 'v' prefix, no tag format).
|
|
28
93
|
*/
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
94
|
+
async function resolveLatestVersion() {
|
|
95
|
+
const logger = getLogger();
|
|
96
|
+
const cached = readLatestVersionCache();
|
|
97
|
+
if (cached) {
|
|
98
|
+
logger.debug({ version: cached }, 'Using cached latest version');
|
|
99
|
+
return cached;
|
|
32
100
|
}
|
|
33
|
-
|
|
34
|
-
|
|
101
|
+
// Primary — GitHub REST API with asset filtering
|
|
102
|
+
try {
|
|
103
|
+
const releases = await listReleases(30);
|
|
104
|
+
if (releases.length > 0) {
|
|
105
|
+
const version = releases[0].version;
|
|
106
|
+
writeLatestVersionCache(version);
|
|
107
|
+
return version;
|
|
108
|
+
}
|
|
109
|
+
logger.warn('GitHub API returned no releases with skills artifacts; falling back to main branch');
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
const isRateLimit = err instanceof Error && /rate.?limit|403|429/i.test(err.message);
|
|
113
|
+
if (isRateLimit) {
|
|
114
|
+
logger.warn({ err: err.message }, 'GitHub API rate-limited; falling back to main branch for version resolution');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
logger.warn({ err: err.message }, 'GitHub API unavailable; falling back to main branch for version resolution');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Fallback — read skills/package.json from main via raw.githubusercontent.com
|
|
121
|
+
const rawUrl = `${GITHUB_RAW_BASE}/${GITHUB_REPO}/main/skills/package.json`;
|
|
122
|
+
logger.debug({ url: rawUrl }, 'Fetching version from raw.githubusercontent.com');
|
|
123
|
+
const response = await fetch(rawUrl, { headers: { 'User-Agent': 'b2c-cli' } });
|
|
124
|
+
if (!response.ok) {
|
|
125
|
+
throw new Error(`Unable to resolve latest skills version: raw fetch failed with ${response.status} ${response.statusText}`);
|
|
126
|
+
}
|
|
127
|
+
const data = (await response.json());
|
|
128
|
+
if (!data.version) {
|
|
129
|
+
throw new Error('Unable to resolve latest skills version: skills/package.json has no version field');
|
|
130
|
+
}
|
|
131
|
+
writeLatestVersionCache(data.version);
|
|
132
|
+
return data.version;
|
|
35
133
|
}
|
|
36
134
|
/**
|
|
37
135
|
* Get the cache directory for skills.
|
|
@@ -67,9 +165,22 @@ function parseRelease(release) {
|
|
|
67
165
|
*/
|
|
68
166
|
export async function getRelease(version = 'latest') {
|
|
69
167
|
const logger = getLogger();
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
168
|
+
// For 'latest', resolve to a concrete tag via the skills-aware resolver.
|
|
169
|
+
// This avoids GitHub's /releases/latest endpoint, which returns whichever
|
|
170
|
+
// release GitHub flags as latest regardless of whether it contains skills.
|
|
171
|
+
let tag;
|
|
172
|
+
if (version === 'latest') {
|
|
173
|
+
const resolved = await resolveLatestVersion();
|
|
174
|
+
tag = pluginsTag(resolved);
|
|
175
|
+
}
|
|
176
|
+
else if (/^b2c-agent-plugins@/.test(version) || version.includes('@')) {
|
|
177
|
+
// Caller passed an explicit tag (including other packages' tags, for tests/internal use).
|
|
178
|
+
tag = version;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
tag = pluginsTag(version);
|
|
182
|
+
}
|
|
183
|
+
const endpoint = `${GITHUB_API_BASE}/repos/${GITHUB_REPO}/releases/tags/${encodeURIComponent(tag)}`;
|
|
73
184
|
logger.debug({ endpoint }, 'Fetching release info');
|
|
74
185
|
const response = await fetch(endpoint, {
|
|
75
186
|
headers: {
|
|
@@ -79,7 +190,10 @@ export async function getRelease(version = 'latest') {
|
|
|
79
190
|
});
|
|
80
191
|
if (!response.ok) {
|
|
81
192
|
if (response.status === 404) {
|
|
82
|
-
throw new Error(`Release not found: ${
|
|
193
|
+
throw new Error(`Release not found: ${tag}`);
|
|
194
|
+
}
|
|
195
|
+
if (isRateLimited(response)) {
|
|
196
|
+
throw new Error(`GitHub API rate-limited while fetching release ${tag}`);
|
|
83
197
|
}
|
|
84
198
|
throw new Error(`GitHub API error: ${response.status} ${response.statusText}`);
|
|
85
199
|
}
|
|
@@ -130,17 +244,6 @@ export function getCachedArtifact(version, skillSet) {
|
|
|
130
244
|
return null;
|
|
131
245
|
}
|
|
132
246
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Extract version tag from a GitHub release download URL.
|
|
135
|
-
* URLs follow pattern: .../releases/download/{tag}/...
|
|
136
|
-
*
|
|
137
|
-
* @param url - The final URL after redirects
|
|
138
|
-
* @returns Version tag or null if not found
|
|
139
|
-
*/
|
|
140
|
-
function extractVersionFromUrl(url) {
|
|
141
|
-
const match = url.match(/\/releases\/download\/([^/]+)\//);
|
|
142
|
-
return match ? match[1] : null;
|
|
143
|
-
}
|
|
144
247
|
/**
|
|
145
248
|
* Download and extract skills artifact.
|
|
146
249
|
* Uses direct download URLs to avoid GitHub API rate limits.
|
|
@@ -154,17 +257,21 @@ export async function downloadSkillsArtifact(skillSet, options = {}) {
|
|
|
154
257
|
const logger = getLogger();
|
|
155
258
|
const { version = 'latest', forceDownload = false } = options;
|
|
156
259
|
const assetName = ASSET_NAMES[skillSet];
|
|
157
|
-
//
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
260
|
+
// Resolve 'latest' to a concrete version before any download or cache lookup.
|
|
261
|
+
// This keeps the cache keyed to real version tags and avoids GitHub's opinionated
|
|
262
|
+
// /releases/latest endpoint, which may point at a release that has no skills zips.
|
|
263
|
+
const resolvedVersion = version === 'latest' ? await resolveLatestVersion() : version.replace(/^v/, '');
|
|
264
|
+
const tag = pluginsTag(resolvedVersion);
|
|
265
|
+
// Check cache for the resolved version
|
|
266
|
+
if (!forceDownload) {
|
|
267
|
+
const cached = getCachedArtifact(resolvedVersion, skillSet);
|
|
161
268
|
if (cached && fs.existsSync(cached.path)) {
|
|
162
|
-
logger.debug({ version:
|
|
269
|
+
logger.debug({ version: resolvedVersion, skillSet, path: cached.path }, 'Using cached skills');
|
|
163
270
|
return cached.path;
|
|
164
271
|
}
|
|
165
272
|
}
|
|
166
|
-
//
|
|
167
|
-
const downloadUrl =
|
|
273
|
+
// Download from the CDN — no API rate limit on this path.
|
|
274
|
+
const downloadUrl = buildDownloadUrl(tag, assetName);
|
|
168
275
|
logger.debug({ url: downloadUrl, skillSet }, 'Downloading skills artifact');
|
|
169
276
|
// Download artifact - GitHub will redirect to the actual file
|
|
170
277
|
const response = await fetch(downloadUrl, {
|
|
@@ -175,28 +282,15 @@ export async function downloadSkillsArtifact(skillSet, options = {}) {
|
|
|
175
282
|
});
|
|
176
283
|
if (!response.ok) {
|
|
177
284
|
if (response.status === 404) {
|
|
178
|
-
throw new Error(`Skills artifact '${assetName}' not found for
|
|
285
|
+
throw new Error(`Skills artifact '${assetName}' not found for release ${tag}`);
|
|
179
286
|
}
|
|
180
287
|
throw new Error(`Failed to download skills: ${response.status} ${response.statusText}`);
|
|
181
288
|
}
|
|
182
|
-
// Extract actual version from the final URL (after redirects)
|
|
183
|
-
const actualVersion = extractVersionFromUrl(response.url) || version;
|
|
184
|
-
// Check cache for the resolved version (for 'latest' which we now know the real tag)
|
|
185
|
-
// Only use cache if we actually resolved a real version — if actualVersion is still
|
|
186
|
-
// 'latest' (e.g., redirect URL didn't contain the tag), we must re-extract since
|
|
187
|
-
// we can't tell if the cached 'latest' is stale.
|
|
188
|
-
if (version === 'latest' && actualVersion !== 'latest' && !forceDownload) {
|
|
189
|
-
const cached = getCachedArtifact(actualVersion, skillSet);
|
|
190
|
-
if (cached && fs.existsSync(cached.path)) {
|
|
191
|
-
logger.debug({ version: actualVersion, skillSet, path: cached.path }, 'Using cached skills (resolved latest)');
|
|
192
|
-
return cached.path;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
289
|
const zipBuffer = Buffer.from(await response.arrayBuffer());
|
|
196
|
-
logger.debug({ size: zipBuffer.length, version:
|
|
290
|
+
logger.debug({ size: zipBuffer.length, version: resolvedVersion }, 'Downloaded skills archive');
|
|
197
291
|
// Extract to cache directory
|
|
198
292
|
const cacheDir = options.cacheDir || getCacheDir();
|
|
199
|
-
const extractDir = path.join(cacheDir,
|
|
293
|
+
const extractDir = path.join(cacheDir, resolvedVersion, skillSet);
|
|
200
294
|
// Clean existing extraction if present
|
|
201
295
|
if (fs.existsSync(extractDir)) {
|
|
202
296
|
await fs.promises.rm(extractDir, { recursive: true });
|
|
@@ -222,7 +316,7 @@ export async function downloadSkillsArtifact(skillSet, options = {}) {
|
|
|
222
316
|
logger.debug({ extractDir, fileCount: extractedCount }, 'Extracted skills');
|
|
223
317
|
// Write cache manifest
|
|
224
318
|
const manifest = {
|
|
225
|
-
version:
|
|
319
|
+
version: resolvedVersion,
|
|
226
320
|
path: extractDir,
|
|
227
321
|
downloadedAt: new Date().toISOString(),
|
|
228
322
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/skills/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/skills/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import type { IdeType, InstallSkillsOptions, InstallSkillsResult, SkillMetadata
|
|
|
10
10
|
export declare function isSkillInstalled(skillName: string, ide: IdeType, options: {
|
|
11
11
|
global: boolean;
|
|
12
12
|
projectRoot?: string;
|
|
13
|
+
directory?: string;
|
|
13
14
|
}): boolean;
|
|
14
15
|
/**
|
|
15
16
|
* Install skills to target IDE directories.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/skills/installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,wCAAwC;IACxC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE9C,0CAA0C;IAC1C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAEtD,eAAe;IACf,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC3B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,UAAkB,EAAE,OAAe;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,iDAAiD;IACjD,OAAO,cAAc,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,KAAK,YAAY,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,MAAc;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAEzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,SAAS,IAAI,MAAM,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,qDAAqD;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,EAAE,kBAAkB,CAAC,CAAC;IAC9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,GAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/skills/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal telemetry module for the B2C CLI and MCP server. Not part of the
|
|
3
|
+
* public SDK surface — intentionally excluded from generated API documentation.
|
|
4
|
+
* External consumers should not rely on this module's API stability.
|
|
5
|
+
*
|
|
6
|
+
* @module telemetry
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
1
9
|
export type { TelemetryAttributes, TelemetryEventProperties, TelemetryOptions } from './types.js';
|
|
2
10
|
export { Telemetry } from './telemetry.js';
|
|
3
11
|
import { Telemetry } from './telemetry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type { Logger } from '../logging/index.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* Types of B2C operations that support lifecycle hooks.
|
|
6
6
|
*/
|
|
7
|
-
export type B2COperationType = 'job:run' | 'job:import' | 'job:export' | 'code:deploy' | 'code:activate' | 'site-archive:import' | 'site-archive:export';
|
|
7
|
+
export type B2COperationType = 'job:run' | 'job:import' | 'job:export' | 'code:deploy' | 'code:download' | 'code:activate' | 'site-archive:import' | 'site-archive:export';
|
|
8
8
|
/**
|
|
9
9
|
* Context provided to lifecycle hooks for a B2C operation.
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAwKvC;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA+B,EAC/B,QAAiC,EACjC,QAAqB;IAErB,OAAO;QACL,aAAa;QACb,WAAW,EAAE,UAAU,EAAE;QACzB,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAoC,EAAE,CAAC;IAChD,MAAM,CAAU;IAExB,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA0C;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAA4B;QAC1C,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,eAAe;gBAAE,SAAS;YAExC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACrF,OAAO,MAAM,CAAC,CAAC,kBAAkB;gBACnC,CAAC;gBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B,EAAE,MAA0B;QACrE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,SAAS;YAEvC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -3,6 +3,20 @@ import { type CartridgeMapping, type FindCartridgesOptions } from './cartridges.
|
|
|
3
3
|
/**
|
|
4
4
|
* Options for deploying cartridges.
|
|
5
5
|
*/
|
|
6
|
+
/** Progress info passed to the upload onProgress callback. */
|
|
7
|
+
export interface UploadProgressInfo {
|
|
8
|
+
/** Current operation phase */
|
|
9
|
+
phase: 'archiving' | 'uploading' | 'unzipping' | 'cleanup';
|
|
10
|
+
/** Seconds elapsed since the current phase started */
|
|
11
|
+
elapsedSeconds: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Options for upload progress reporting.
|
|
15
|
+
*/
|
|
16
|
+
export interface UploadOptions {
|
|
17
|
+
/** Callback for progress updates. Called when a phase starts (elapsedSeconds=0) and periodically thereafter. */
|
|
18
|
+
onProgress?: (info: UploadProgressInfo) => void;
|
|
19
|
+
}
|
|
6
20
|
export interface DeployOptions extends FindCartridgesOptions {
|
|
7
21
|
/** Activate the code version after deploy */
|
|
8
22
|
activate?: boolean;
|
|
@@ -10,6 +24,8 @@ export interface DeployOptions extends FindCartridgesOptions {
|
|
|
10
24
|
reload?: boolean;
|
|
11
25
|
/** Delete existing cartridges before uploading */
|
|
12
26
|
delete?: boolean;
|
|
27
|
+
/** Callback for progress updates during long-running operations */
|
|
28
|
+
onProgress?: UploadOptions['onProgress'];
|
|
13
29
|
}
|
|
14
30
|
/**
|
|
15
31
|
* Result of a cartridge deployment.
|
|
@@ -65,7 +81,7 @@ export declare function deleteCartridges(instance: B2CInstance, cartridges: Cart
|
|
|
65
81
|
* await uploadCartridges(instance, cartridges);
|
|
66
82
|
* ```
|
|
67
83
|
*/
|
|
68
|
-
export declare function uploadCartridges(instance: B2CInstance, cartridges: CartridgeMapping[]): Promise<void>;
|
|
84
|
+
export declare function uploadCartridges(instance: B2CInstance, cartridges: CartridgeMapping[], options?: UploadOptions): Promise<void>;
|
|
69
85
|
/**
|
|
70
86
|
* Finds and deploys cartridges from a directory to an instance.
|
|
71
87
|
*
|
|
@@ -90,7 +90,7 @@ export async function deleteCartridges(instance, cartridges) {
|
|
|
90
90
|
* await uploadCartridges(instance, cartridges);
|
|
91
91
|
* ```
|
|
92
92
|
*/
|
|
93
|
-
export async function uploadCartridges(instance, cartridges) {
|
|
93
|
+
export async function uploadCartridges(instance, cartridges, options) {
|
|
94
94
|
const logger = getLogger();
|
|
95
95
|
const codeVersion = instance.config.codeVersion;
|
|
96
96
|
if (!codeVersion) {
|
|
@@ -102,7 +102,21 @@ export async function uploadCartridges(instance, cartridges) {
|
|
|
102
102
|
const webdav = instance.webdav;
|
|
103
103
|
const now = Date.now();
|
|
104
104
|
const uploadPath = `Cartridges/_sync-${now}.zip`;
|
|
105
|
+
const onProgress = options?.onProgress;
|
|
106
|
+
// Progress helper: fires immediately (0s) then every 5s until stopped
|
|
107
|
+
const PROGRESS_INTERVAL_MS = 5_000;
|
|
108
|
+
function startProgress(phase) {
|
|
109
|
+
const start = Date.now();
|
|
110
|
+
onProgress?.({ phase, elapsedSeconds: 0 });
|
|
111
|
+
if (!onProgress)
|
|
112
|
+
return () => { };
|
|
113
|
+
const interval = setInterval(() => {
|
|
114
|
+
onProgress({ phase, elapsedSeconds: Math.round((Date.now() - start) / 1000) });
|
|
115
|
+
}, PROGRESS_INTERVAL_MS);
|
|
116
|
+
return () => clearInterval(interval);
|
|
117
|
+
}
|
|
105
118
|
// Create zip archive
|
|
119
|
+
onProgress?.({ phase: 'archiving', elapsedSeconds: 0 });
|
|
106
120
|
logger.debug('Creating cartridge archive...');
|
|
107
121
|
const zip = new JSZip();
|
|
108
122
|
for (const c of cartridges) {
|
|
@@ -115,10 +129,13 @@ export async function uploadCartridges(instance, cartridges) {
|
|
|
115
129
|
});
|
|
116
130
|
logger.debug({ size: buffer.length }, `Archive created: ${buffer.length} bytes`);
|
|
117
131
|
// Upload archive
|
|
132
|
+
let stopProgress = startProgress('uploading');
|
|
118
133
|
logger.debug({ uploadPath }, 'Uploading archive...');
|
|
119
134
|
await webdav.put(uploadPath, buffer, 'application/zip');
|
|
135
|
+
stopProgress();
|
|
120
136
|
logger.debug('Archive uploaded');
|
|
121
137
|
// Unzip on server
|
|
138
|
+
stopProgress = startProgress('unzipping');
|
|
122
139
|
logger.debug('Unzipping archive on server...');
|
|
123
140
|
const response = await webdav.request(uploadPath, {
|
|
124
141
|
method: 'POST',
|
|
@@ -127,12 +144,14 @@ export async function uploadCartridges(instance, cartridges) {
|
|
|
127
144
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
128
145
|
},
|
|
129
146
|
});
|
|
147
|
+
stopProgress();
|
|
130
148
|
if (!response.ok) {
|
|
131
149
|
const text = await response.text();
|
|
132
150
|
throw new Error(`Failed to unzip archive: ${response.status} ${response.statusText} - ${text}`);
|
|
133
151
|
}
|
|
134
152
|
logger.debug('Archive unzipped');
|
|
135
153
|
// Delete temporary archive (best-effort cleanup)
|
|
154
|
+
onProgress?.({ phase: 'cleanup', elapsedSeconds: 0 });
|
|
136
155
|
try {
|
|
137
156
|
await webdav.delete(uploadPath);
|
|
138
157
|
logger.debug('Temporary archive deleted');
|
|
@@ -202,7 +221,7 @@ export async function findAndDeployCartridges(instance, directory, options = {})
|
|
|
202
221
|
await deleteCartridges(instance, cartridges);
|
|
203
222
|
}
|
|
204
223
|
// Upload cartridges
|
|
205
|
-
await uploadCartridges(instance, cartridges);
|
|
224
|
+
await uploadCartridges(instance, cartridges, { onProgress: options.onProgress });
|
|
206
225
|
// Optionally activate or reload
|
|
207
226
|
let activated = false;
|
|
208
227
|
let reloaded = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/operations/code/deploy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAoD,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErE,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/operations/code/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { B2CInstance } from '../../instance/index.js';
|
|
2
|
+
/** Progress info passed to the onProgress callback. */
|
|
3
|
+
export interface DownloadProgressInfo {
|
|
4
|
+
/** Current operation phase */
|
|
5
|
+
phase: 'zipping' | 'downloading' | 'cleanup' | 'extracting';
|
|
6
|
+
/** Seconds elapsed since the current phase started */
|
|
7
|
+
elapsedSeconds: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Options for downloading cartridges.
|
|
11
|
+
*/
|
|
12
|
+
export interface DownloadOptions {
|
|
13
|
+
/** Cartridge names to include (if empty/undefined, all are included) */
|
|
14
|
+
include?: string[];
|
|
15
|
+
/** Cartridge names to exclude */
|
|
16
|
+
exclude?: string[];
|
|
17
|
+
/** When provided, maps cartridge names to local paths for mirror extraction */
|
|
18
|
+
mirror?: Map<string, string>;
|
|
19
|
+
/** Callback for progress updates. Called when a phase starts (elapsedSeconds=0) and periodically thereafter. */
|
|
20
|
+
onProgress?: (info: DownloadProgressInfo) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Result of a cartridge download.
|
|
24
|
+
*/
|
|
25
|
+
export interface DownloadResult {
|
|
26
|
+
/** Cartridge names that were extracted */
|
|
27
|
+
cartridges: string[];
|
|
28
|
+
/** Code version downloaded from */
|
|
29
|
+
codeVersion: string;
|
|
30
|
+
/** Output directory where cartridges were extracted (empty string if mirror-only) */
|
|
31
|
+
outputDirectory: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Downloads cartridges from an instance via WebDAV.
|
|
35
|
+
*
|
|
36
|
+
* This function:
|
|
37
|
+
* 1. Triggers server-side zipping of the code version
|
|
38
|
+
* 2. Downloads the zip archive
|
|
39
|
+
* 3. Cleans up the server-side zip (best-effort)
|
|
40
|
+
* 4. Extracts cartridges locally with optional filtering
|
|
41
|
+
*
|
|
42
|
+
* If `instance.config.codeVersion` is not set, attempts to discover the active
|
|
43
|
+
* code version via OCAPI. If that also fails, throws an error.
|
|
44
|
+
*
|
|
45
|
+
* @param instance - B2C instance to download from
|
|
46
|
+
* @param outputDirectory - Directory to extract cartridges into
|
|
47
|
+
* @param options - Download options (filters, mirror)
|
|
48
|
+
* @returns Download result with cartridge names and metadata
|
|
49
|
+
* @throws Error if code version cannot be determined or download fails
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* // Download all cartridges
|
|
54
|
+
* const result = await downloadCartridges(instance, './output');
|
|
55
|
+
*
|
|
56
|
+
* // Download specific cartridges
|
|
57
|
+
* const result = await downloadCartridges(instance, './output', {
|
|
58
|
+
* include: ['app_storefront_base'],
|
|
59
|
+
* });
|
|
60
|
+
*
|
|
61
|
+
* // Mirror to local project locations
|
|
62
|
+
* const mirror = new Map([['app_storefront_base', '/project/cartridges/app_storefront_base']]);
|
|
63
|
+
* const result = await downloadCartridges(instance, '.', { mirror });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function downloadCartridges(instance: B2CInstance, outputDirectory: string, options?: DownloadOptions): Promise<DownloadResult>;
|