@salesforce/b2c-tooling-sdk 1.1.0 → 1.3.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.
Files changed (59) hide show
  1. package/dist/cjs/operations/code/watch.js +98 -75
  2. package/dist/cjs/operations/code/watch.js.map +1 -1
  3. package/dist/cjs/operations/debug/dap-adapter.d.ts +72 -0
  4. package/dist/cjs/operations/debug/dap-adapter.js +505 -0
  5. package/dist/cjs/operations/debug/dap-adapter.js.map +1 -0
  6. package/dist/cjs/operations/debug/debug-session.d.ts +51 -0
  7. package/dist/cjs/operations/debug/debug-session.js +219 -0
  8. package/dist/cjs/operations/debug/debug-session.js.map +1 -0
  9. package/dist/cjs/operations/debug/index.d.ts +17 -0
  10. package/dist/cjs/operations/debug/index.js +19 -0
  11. package/dist/cjs/operations/debug/index.js.map +1 -0
  12. package/dist/cjs/operations/debug/sdapi-client.d.ts +44 -0
  13. package/dist/cjs/operations/debug/sdapi-client.js +169 -0
  14. package/dist/cjs/operations/debug/sdapi-client.js.map +1 -0
  15. package/dist/cjs/operations/debug/source-mapping.d.ts +13 -0
  16. package/dist/cjs/operations/debug/source-mapping.js +57 -0
  17. package/dist/cjs/operations/debug/source-mapping.js.map +1 -0
  18. package/dist/cjs/operations/debug/types.d.ts +95 -0
  19. package/dist/cjs/operations/debug/types.js +2 -0
  20. package/dist/cjs/operations/debug/types.js.map +1 -0
  21. package/dist/cjs/operations/debug/variable-store.d.ts +35 -0
  22. package/dist/cjs/operations/debug/variable-store.js +52 -0
  23. package/dist/cjs/operations/debug/variable-store.js.map +1 -0
  24. package/dist/cjs/skills/agents.d.ts +1 -0
  25. package/dist/cjs/skills/agents.js +45 -4
  26. package/dist/cjs/skills/agents.js.map +1 -1
  27. package/dist/cjs/skills/installer.js +1 -0
  28. package/dist/cjs/skills/installer.js.map +1 -1
  29. package/dist/cjs/skills/types.d.ts +3 -1
  30. package/dist/esm/operations/code/watch.js +98 -75
  31. package/dist/esm/operations/code/watch.js.map +1 -1
  32. package/dist/esm/operations/debug/dap-adapter.d.ts +72 -0
  33. package/dist/esm/operations/debug/dap-adapter.js +505 -0
  34. package/dist/esm/operations/debug/dap-adapter.js.map +1 -0
  35. package/dist/esm/operations/debug/debug-session.d.ts +51 -0
  36. package/dist/esm/operations/debug/debug-session.js +219 -0
  37. package/dist/esm/operations/debug/debug-session.js.map +1 -0
  38. package/dist/esm/operations/debug/index.d.ts +17 -0
  39. package/dist/esm/operations/debug/index.js +19 -0
  40. package/dist/esm/operations/debug/index.js.map +1 -0
  41. package/dist/esm/operations/debug/sdapi-client.d.ts +44 -0
  42. package/dist/esm/operations/debug/sdapi-client.js +169 -0
  43. package/dist/esm/operations/debug/sdapi-client.js.map +1 -0
  44. package/dist/esm/operations/debug/source-mapping.d.ts +13 -0
  45. package/dist/esm/operations/debug/source-mapping.js +57 -0
  46. package/dist/esm/operations/debug/source-mapping.js.map +1 -0
  47. package/dist/esm/operations/debug/types.d.ts +95 -0
  48. package/dist/esm/operations/debug/types.js +2 -0
  49. package/dist/esm/operations/debug/types.js.map +1 -0
  50. package/dist/esm/operations/debug/variable-store.d.ts +35 -0
  51. package/dist/esm/operations/debug/variable-store.js +52 -0
  52. package/dist/esm/operations/debug/variable-store.js.map +1 -0
  53. package/dist/esm/skills/agents.d.ts +1 -0
  54. package/dist/esm/skills/agents.js +45 -4
  55. package/dist/esm/skills/agents.js.map +1 -1
  56. package/dist/esm/skills/installer.js +1 -0
  57. package/dist/esm/skills/installer.js.map +1 -1
  58. package/dist/esm/skills/types.d.ts +3 -1
  59. package/package.json +14 -3
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Types for the B2C Commerce Script Debugger API (SDAPI 2.0).
3
+ *
4
+ * @module operations/debug/types
5
+ */
6
+ import type { CartridgeMapping } from '../code/cartridges.js';
7
+ export interface SdapiLocation {
8
+ function_name: string;
9
+ line_number: number;
10
+ script_path: string;
11
+ }
12
+ export interface SdapiStackFrame {
13
+ index: number;
14
+ location: SdapiLocation;
15
+ }
16
+ export interface SdapiScriptThread {
17
+ id: number;
18
+ status: 'running' | 'halted';
19
+ call_stack: SdapiStackFrame[];
20
+ }
21
+ export interface SdapiScriptThreads {
22
+ _v: string;
23
+ script_threads: SdapiScriptThread[];
24
+ }
25
+ export interface SdapiBreakpoint {
26
+ id: number;
27
+ line_number: number;
28
+ script_path: string;
29
+ condition?: string;
30
+ }
31
+ export interface SdapiBreakpoints {
32
+ _v: string;
33
+ breakpoints: SdapiBreakpoint[];
34
+ }
35
+ export interface SdapiObjectMember {
36
+ name: string;
37
+ parent: string;
38
+ type: string;
39
+ value: string;
40
+ scope?: 'local' | 'closure' | 'global';
41
+ }
42
+ export interface SdapiObjectMembers {
43
+ _v: string;
44
+ count: number;
45
+ start: number;
46
+ total: number;
47
+ object_members: SdapiObjectMember[];
48
+ }
49
+ export interface SdapiEvalResult {
50
+ _v: string;
51
+ expression: string;
52
+ result: string;
53
+ }
54
+ export interface SdapiFault {
55
+ _v: string;
56
+ type: string;
57
+ message: string;
58
+ }
59
+ export interface BreakpointInput {
60
+ line_number: number;
61
+ script_path: string;
62
+ condition?: string;
63
+ }
64
+ export interface DebugSessionConfig {
65
+ /** B2C instance hostname */
66
+ hostname: string;
67
+ /** Basic auth username (BM user with WebDAV_Manage_Customization) */
68
+ username: string;
69
+ /** Basic auth password / access key */
70
+ password: string;
71
+ /** Client ID for x-dw-client-id header (defaults to "b2c-cli") */
72
+ clientId?: string;
73
+ /** Cartridge mappings for source path resolution */
74
+ cartridgeRoots: CartridgeMapping[];
75
+ /** Thread polling interval in ms (default: 500) */
76
+ pollInterval?: number;
77
+ /** Keepalive/reset interval in ms (default: 15000) */
78
+ keepaliveInterval?: number;
79
+ }
80
+ export interface DebugSessionCallbacks {
81
+ /** Debugger client connected and polling started */
82
+ onConnected?: (hostname: string) => void;
83
+ /** Debugger client disconnected and timers stopped */
84
+ onDisconnected?: () => void;
85
+ /** A thread hit a breakpoint or was otherwise halted */
86
+ onThreadStopped?: (thread: SdapiScriptThread) => void;
87
+ /** A previously halted thread resumed execution */
88
+ onThreadContinued?: (threadId: number) => void;
89
+ /** A thread disappeared from the server (request completed) */
90
+ onThreadExited?: (threadId: number) => void;
91
+ /** The debugger was disabled externally (e.g. BM, another client) */
92
+ onDebuggerDisabled?: () => void;
93
+ /** Non-fatal error during polling or keepalive */
94
+ onError?: (error: Error) => void;
95
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/operations/debug/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Maps DAP integer variableReference values to SDAPI object_path strings.
3
+ *
4
+ * DAP clients request variables by integer reference. The SDAPI uses
5
+ * dot-delimited object paths for navigating the object tree. This store
6
+ * bridges the two models and supports scope-filtered variable requests.
7
+ *
8
+ * References are cleared whenever execution resumes (continue/step) because
9
+ * SDAPI variable state is only valid while a thread is halted.
10
+ *
11
+ * @module operations/debug/variable-store
12
+ */
13
+ export interface VariableRef {
14
+ threadId: number;
15
+ frameIndex: number;
16
+ objectPath: string;
17
+ /** If set, this reference is for a scope — filter /variables by this scope. */
18
+ scope?: 'local' | 'closure' | 'global';
19
+ }
20
+ export declare class VariableStore {
21
+ private nextRef;
22
+ private readonly refs;
23
+ /**
24
+ * Get or create an integer reference for the given variable context.
25
+ */
26
+ getOrCreateReference(threadId: number, frameIndex: number, objectPath: string, scope?: 'local' | 'closure' | 'global'): number;
27
+ /**
28
+ * Resolve an integer reference back to its variable context.
29
+ */
30
+ resolve(ref: number): VariableRef | undefined;
31
+ /**
32
+ * Clear all references. Call on continue/step since variable state becomes stale.
33
+ */
34
+ clear(): void;
35
+ }
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /**
7
+ * Maps DAP integer variableReference values to SDAPI object_path strings.
8
+ *
9
+ * DAP clients request variables by integer reference. The SDAPI uses
10
+ * dot-delimited object paths for navigating the object tree. This store
11
+ * bridges the two models and supports scope-filtered variable requests.
12
+ *
13
+ * References are cleared whenever execution resumes (continue/step) because
14
+ * SDAPI variable state is only valid while a thread is halted.
15
+ *
16
+ * @module operations/debug/variable-store
17
+ */
18
+ export class VariableStore {
19
+ nextRef = 1;
20
+ refs = new Map();
21
+ /**
22
+ * Get or create an integer reference for the given variable context.
23
+ */
24
+ getOrCreateReference(threadId, frameIndex, objectPath, scope) {
25
+ // Check for existing reference with same parameters
26
+ for (const [ref, entry] of this.refs) {
27
+ if (entry.threadId === threadId &&
28
+ entry.frameIndex === frameIndex &&
29
+ entry.objectPath === objectPath &&
30
+ entry.scope === scope) {
31
+ return ref;
32
+ }
33
+ }
34
+ const ref = this.nextRef++;
35
+ this.refs.set(ref, { threadId, frameIndex, objectPath, scope });
36
+ return ref;
37
+ }
38
+ /**
39
+ * Resolve an integer reference back to its variable context.
40
+ */
41
+ resolve(ref) {
42
+ return this.refs.get(ref);
43
+ }
44
+ /**
45
+ * Clear all references. Call on continue/step since variable state becomes stale.
46
+ */
47
+ clear() {
48
+ this.refs.clear();
49
+ this.nextRef = 1;
50
+ }
51
+ }
52
+ //# sourceMappingURL=variable-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-store.js","sourceRoot":"","sources":["../../../../src/operations/debug/variable-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;GAWG;AAUH,MAAM,OAAO,aAAa;IAChB,OAAO,GAAG,CAAC,CAAC;IACH,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEvD;;OAEG;IACH,oBAAoB,CAClB,QAAgB,EAChB,UAAkB,EAClB,UAAkB,EAClB,KAAsC;QAEtC,oDAAoD;QACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,IACE,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,KAAK,CAAC,UAAU,KAAK,UAAU;gBAC/B,KAAK,CAAC,UAAU,KAAK,UAAU;gBAC/B,KAAK,CAAC,KAAK,KAAK,KAAK,EACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;CACF"}
@@ -24,6 +24,7 @@ export declare function detectInstalledIdes(): Promise<IdeType[]>;
24
24
  export declare function getSkillInstallPath(ide: IdeType, skillName: string, options: {
25
25
  global: boolean;
26
26
  projectRoot?: string;
27
+ directory?: string;
27
28
  }): string;
28
29
  /**
29
30
  * Get the display name for an IDE.
@@ -7,6 +7,19 @@ import * as fs from 'node:fs';
7
7
  import * as os from 'node:os';
8
8
  import * as path from 'node:path';
9
9
  const home = os.homedir();
10
+ /**
11
+ * Get the Agentforce Vibes global skills directory based on platform.
12
+ */
13
+ function getAgentforceVibesGlobalDir() {
14
+ const platform = process.platform;
15
+ if (platform === 'darwin') {
16
+ return path.join(home, 'Library', 'Application Support', 'Code', 'User', 'globalStorage');
17
+ }
18
+ else if (platform === 'win32') {
19
+ return path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'Code', 'User', 'globalStorage');
20
+ }
21
+ return path.join(home, '.config', 'Code', 'User', 'globalStorage');
22
+ }
10
23
  /**
11
24
  * IDE configurations with paths and detection logic.
12
25
  */
@@ -84,13 +97,26 @@ export const IDE_CONFIGS = {
84
97
  },
85
98
  docsUrl: 'https://opencode.ai/',
86
99
  },
100
+ 'agentforce-vibes': {
101
+ id: 'agentforce-vibes',
102
+ displayName: 'Agentforce Vibes',
103
+ paths: {
104
+ projectDir: '.a4drules/skills',
105
+ globalDir: getAgentforceVibesGlobalDir(),
106
+ },
107
+ detectInstalled: async () => {
108
+ // Check for the Agentforce extension's globalStorage entry
109
+ const globalStorageDir = getAgentforceVibesGlobalDir();
110
+ return fs.existsSync(path.join(globalStorageDir, 'salesforce.salesforcedx-einstein-gpt'));
111
+ },
112
+ docsUrl: 'https://developer.salesforce.com/docs/einstein/genai/guide/agentforce-in-ide.html',
113
+ },
87
114
  manual: {
88
115
  id: 'manual',
89
116
  displayName: 'Manual Installation',
90
117
  paths: {
91
- // Manual mode uses same paths as Claude Code
92
- projectDir: '.claude/skills',
93
- globalDir: path.join(home, '.claude/skills'),
118
+ projectDir: '.agents/skills',
119
+ globalDir: path.join(home, '.agents/skills'),
94
120
  },
95
121
  detectInstalled: async () => {
96
122
  // Manual is always "available" as a fallback
@@ -101,7 +127,16 @@ export const IDE_CONFIGS = {
101
127
  /**
102
128
  * All supported IDE types in display order.
103
129
  */
104
- export const ALL_IDE_TYPES = ['claude-code', 'cursor', 'windsurf', 'vscode', 'codex', 'opencode', 'manual'];
130
+ export const ALL_IDE_TYPES = [
131
+ 'claude-code',
132
+ 'cursor',
133
+ 'windsurf',
134
+ 'vscode',
135
+ 'codex',
136
+ 'opencode',
137
+ 'agentforce-vibes',
138
+ 'manual',
139
+ ];
105
140
  /**
106
141
  * Detect which IDEs are installed on the system.
107
142
  *
@@ -131,6 +166,12 @@ export async function detectInstalledIdes() {
131
166
  * @returns Absolute path where the skill would be installed
132
167
  */
133
168
  export function getSkillInstallPath(ide, skillName, options) {
169
+ // Custom directory override — used as the base path directly
170
+ if (options.directory) {
171
+ const projectRoot = options.projectRoot || process.cwd();
172
+ const dir = path.isAbsolute(options.directory) ? options.directory : path.join(projectRoot, options.directory);
173
+ return path.join(dir, skillName);
174
+ }
134
175
  const config = IDE_CONFIGS[ide];
135
176
  if (options.global) {
136
177
  return path.join(config.paths.globalDir, skillName);
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/skills/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/skills/agents.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,7 @@ export async function installSkills(skills, sourceDir, options) {
112
112
  const targetPath = getSkillInstallPath(ide, sanitizedName, {
113
113
  global: options.global,
114
114
  projectRoot: options.projectRoot,
115
+ directory: options.directory,
115
116
  });
116
117
  // Get the base directory for path safety validation
117
118
  const baseDir = path.dirname(targetPath);
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/skills/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/skills/installer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Supported IDE types for skill installation.
3
3
  */
4
- export type IdeType = 'claude-code' | 'cursor' | 'windsurf' | 'vscode' | 'codex' | 'opencode' | 'manual';
4
+ export type IdeType = 'claude-code' | 'cursor' | 'windsurf' | 'vscode' | 'codex' | 'opencode' | 'agentforce-vibes' | 'manual';
5
5
  /**
6
6
  * Skill set categories matching the plugins directory structure.
7
7
  */
@@ -85,6 +85,8 @@ export interface InstallSkillsOptions {
85
85
  update: boolean;
86
86
  /** Project root for project-level installations */
87
87
  projectRoot?: string;
88
+ /** Custom directory override (used instead of IDE-specific project path) */
89
+ directory?: string;
88
90
  }
89
91
  /**
90
92
  * Result of a single skill installation.
@@ -104,91 +104,112 @@ export async function watchCartridges(instance, directory, options = {}) {
104
104
  const filesToUpload = new Set();
105
105
  const filesToDelete = new Set();
106
106
  let lastErrorTime = 0;
107
+ let isProcessing = false;
107
108
  /**
108
- * Processes batched file changes.
109
+ * Processes all pending file changes, serializing WebDAV operations.
110
+ * Only one instance runs at a time — if new changes accumulate during
111
+ * processing, the while loop picks them up in the next iteration.
109
112
  */
110
- const processChanges = debounce(async () => {
111
- const now = Date.now();
112
- // Rate limit on errors
113
- if (now - lastErrorTime < 5000) {
114
- logger.debug('Rate limiting after recent error, waiting...');
113
+ async function runProcessing() {
114
+ if (isProcessing)
115
115
  return;
116
- }
117
- const uploadFiles = Array.from(filesToUpload)
118
- .map((f) => fileToCartridgePath(f, cartridges))
119
- .filter((f) => f !== undefined);
120
- const deleteFiles = Array.from(filesToDelete)
121
- .map((f) => fileToCartridgePath(f, cartridges))
122
- .filter((f) => f !== undefined);
123
- filesToUpload.clear();
124
- filesToDelete.clear();
125
- // Filter out files that no longer exist
126
- const validUploadFiles = uploadFiles.filter((f) => {
127
- if (!fs.existsSync(f.src)) {
128
- logger.debug({ file: f.src }, 'Skipping missing file');
129
- return false;
130
- }
131
- return true;
132
- });
133
- // Upload files
134
- if (validUploadFiles.length > 0) {
135
- const uploadPath = `${webdavLocation}/_upload-${now}.zip`;
136
- try {
137
- const zip = new JSZip();
138
- for (const f of validUploadFiles) {
116
+ isProcessing = true;
117
+ try {
118
+ while (filesToUpload.size > 0 || filesToDelete.size > 0) {
119
+ // Rate limit on errors — wait instead of dropping items
120
+ const timeSinceError = Date.now() - lastErrorTime;
121
+ if (timeSinceError < 5000) {
122
+ const waitTime = 5000 - timeSinceError;
123
+ logger.debug({ waitTime }, 'Rate limiting after recent error, waiting...');
124
+ await new Promise((resolve) => setTimeout(resolve, waitTime));
125
+ }
126
+ const uploadFiles = Array.from(filesToUpload)
127
+ .map((f) => fileToCartridgePath(f, cartridges))
128
+ .filter((f) => f !== undefined);
129
+ const deleteFiles = Array.from(filesToDelete)
130
+ .map((f) => fileToCartridgePath(f, cartridges))
131
+ .filter((f) => f !== undefined);
132
+ filesToUpload.clear();
133
+ filesToDelete.clear();
134
+ // Filter out files that no longer exist
135
+ const validUploadFiles = uploadFiles.filter((f) => {
136
+ if (!fs.existsSync(f.src)) {
137
+ logger.debug({ file: f.src }, 'Skipping missing file');
138
+ return false;
139
+ }
140
+ return true;
141
+ });
142
+ // Upload files
143
+ if (validUploadFiles.length > 0) {
144
+ const uploadPath = `${webdavLocation}/_upload-${Date.now()}.zip`;
139
145
  try {
140
- const content = await fs.promises.readFile(f.src);
141
- zip.file(f.dest, content);
146
+ const zip = new JSZip();
147
+ for (const f of validUploadFiles) {
148
+ try {
149
+ const content = await fs.promises.readFile(f.src);
150
+ zip.file(f.dest, content);
151
+ }
152
+ catch (error) {
153
+ logger.warn({ file: f.src, error }, 'Failed to add file to archive');
154
+ }
155
+ }
156
+ const buffer = await zip.generateAsync({
157
+ type: 'nodebuffer',
158
+ compression: 'DEFLATE',
159
+ compressionOptions: { level: 5 },
160
+ });
161
+ await webdav.put(uploadPath, buffer, 'application/zip');
162
+ logger.debug({ uploadPath }, 'Archive uploaded');
163
+ const response = await webdav.request(uploadPath, {
164
+ method: 'POST',
165
+ body: UNZIP_BODY,
166
+ headers: {
167
+ 'Content-Type': 'application/x-www-form-urlencoded',
168
+ },
169
+ });
170
+ if (!response.ok) {
171
+ throw new Error(`Unzip failed: ${response.status}`);
172
+ }
173
+ await webdav.delete(uploadPath);
174
+ logger.debug({ fileCount: validUploadFiles.length, server: instance.config.hostname }, `Uploaded ${validUploadFiles.length} file(s)`);
175
+ options.onUpload?.(validUploadFiles.map((f) => f.dest));
142
176
  }
143
177
  catch (error) {
144
- logger.warn({ file: f.src, error }, 'Failed to add file to archive');
178
+ lastErrorTime = Date.now();
179
+ // Re-queue so the while loop retries after rate-limit wait
180
+ for (const f of validUploadFiles) {
181
+ filesToUpload.add(f.src);
182
+ }
183
+ const err = error instanceof Error ? error : new Error(String(error));
184
+ logger.error({ error: err }, `Upload error: ${err.message}`);
185
+ options.onError?.(err);
145
186
  }
146
187
  }
147
- const buffer = await zip.generateAsync({
148
- type: 'nodebuffer',
149
- compression: 'DEFLATE',
150
- compressionOptions: { level: 5 },
151
- });
152
- await webdav.put(uploadPath, buffer, 'application/zip');
153
- logger.debug({ uploadPath }, 'Archive uploaded');
154
- const response = await webdav.request(uploadPath, {
155
- method: 'POST',
156
- body: UNZIP_BODY,
157
- headers: {
158
- 'Content-Type': 'application/x-www-form-urlencoded',
159
- },
160
- });
161
- if (!response.ok) {
162
- throw new Error(`Unzip failed: ${response.status}`);
188
+ // Skip deletes for any file that was also uploaded in this batch (disk state wins)
189
+ const uploadedPaths = new Set(validUploadFiles.map((f) => f.dest));
190
+ const filesToDeleteFiltered = deleteFiles.filter((f) => !uploadedPaths.has(f.dest));
191
+ if (filesToDeleteFiltered.length > 0) {
192
+ logger.debug({ fileCount: filesToDeleteFiltered.length }, `Deleting ${filesToDeleteFiltered.length} file(s)`);
193
+ for (const f of filesToDeleteFiltered) {
194
+ const deletePath = `${webdavLocation}/${f.dest}`;
195
+ try {
196
+ await webdav.delete(deletePath);
197
+ logger.info({ path: deletePath }, `Deleted: ${deletePath}`);
198
+ }
199
+ catch (error) {
200
+ logger.debug({ path: deletePath, error }, `Failed to delete ${deletePath}`);
201
+ }
202
+ }
203
+ options.onDelete?.(filesToDeleteFiltered.map((f) => f.dest));
163
204
  }
164
- await webdav.delete(uploadPath);
165
- logger.debug({ fileCount: validUploadFiles.length, server: instance.config.hostname }, `Uploaded ${validUploadFiles.length} file(s)`);
166
- options.onUpload?.(validUploadFiles.map((f) => f.dest));
167
- }
168
- catch (error) {
169
- lastErrorTime = now;
170
- const err = error instanceof Error ? error : new Error(String(error));
171
- logger.error({ error: err }, `Upload error: ${err.message}`);
172
- options.onError?.(err);
173
205
  }
174
206
  }
175
- // Delete files (filter out recently uploaded to prevent conflicts)
176
- const recentlyUploadedPaths = new Set(validUploadFiles.map((f) => f.dest));
177
- const filesToDeleteFiltered = deleteFiles.filter((f) => !recentlyUploadedPaths.has(f.dest));
178
- if (filesToDeleteFiltered.length > 0) {
179
- logger.debug({ fileCount: filesToDeleteFiltered.length }, `Deleting ${filesToDeleteFiltered.length} file(s)`);
180
- for (const f of filesToDeleteFiltered) {
181
- const deletePath = `${webdavLocation}/${f.dest}`;
182
- try {
183
- await webdav.delete(deletePath);
184
- logger.info({ path: deletePath }, `Deleted: ${deletePath}`);
185
- }
186
- catch (error) {
187
- logger.debug({ path: deletePath, error }, `Failed to delete ${deletePath}`);
188
- }
189
- }
190
- options.onDelete?.(filesToDeleteFiltered.map((f) => f.dest));
207
+ finally {
208
+ isProcessing = false;
191
209
  }
210
+ }
211
+ const scheduleProcessing = debounce(() => {
212
+ void runProcessing();
192
213
  }, debounceTime);
193
214
  // Set up file watcher
194
215
  const watcher = watch(cartridges.map((c) => c.src), {
@@ -200,11 +221,13 @@ export async function watchCartridges(instance, directory, options = {}) {
200
221
  logger.info({ event, path: fullPath }, `File event: ${event} ${fullPath}`);
201
222
  if (event === 'change' || event === 'add') {
202
223
  filesToUpload.add(fullPath);
203
- processChanges();
224
+ filesToDelete.delete(fullPath);
225
+ scheduleProcessing();
204
226
  }
205
227
  else if (event === 'unlink') {
206
228
  filesToDelete.add(fullPath);
207
- processChanges();
229
+ filesToUpload.delete(fullPath);
230
+ scheduleProcessing();
208
231
  }
209
232
  });
210
233
  watcher.on('error', (err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"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"}