@interopio/iocd-cli 1.0.3 → 1.1.1

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 (80) hide show
  1. package/README.md +2 -839
  2. package/changelog.md +26 -0
  3. package/dist/cli.js +3 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/apps.command.js +78 -0
  6. package/dist/commands/apps.command.js.map +1 -1
  7. package/dist/commands/index.js +3 -1
  8. package/dist/commands/index.js.map +1 -1
  9. package/dist/commands/modifications.command.js +2 -2
  10. package/dist/commands/modifications.command.js.map +1 -1
  11. package/dist/commands/skills.command.js +56 -0
  12. package/dist/commands/skills.command.js.map +1 -0
  13. package/dist/commands/test.command.js +6 -0
  14. package/dist/commands/test.command.js.map +1 -1
  15. package/dist/services/components/components.service.js +17 -3
  16. package/dist/services/components/components.service.js.map +1 -1
  17. package/dist/services/components/stores/github.store.js +30 -2
  18. package/dist/services/components/stores/github.store.js.map +1 -1
  19. package/dist/services/installer/electronForge.js +5 -0
  20. package/dist/services/installer/electronForge.js.map +1 -1
  21. package/dist/services/installer/installer.service.js +26 -0
  22. package/dist/services/installer/installer.service.js.map +1 -1
  23. package/dist/services/installer/prerequisites.js +10 -3
  24. package/dist/services/installer/prerequisites.js.map +1 -1
  25. package/dist/services/installer/windows.helper.js +17 -1
  26. package/dist/services/installer/windows.helper.js.map +1 -1
  27. package/dist/services/installer/zip-maker.js +122 -0
  28. package/dist/services/installer/zip-maker.js.map +1 -0
  29. package/dist/services/installer/zip.helper.js +94 -0
  30. package/dist/services/installer/zip.helper.js.map +1 -0
  31. package/dist/services/license.service.js +58 -8
  32. package/dist/services/license.service.js.map +1 -1
  33. package/dist/services/modifications/modifications.service.js +22 -1
  34. package/dist/services/modifications/modifications.service.js.map +1 -1
  35. package/dist/services/modifications/windows.helper.js +95 -49
  36. package/dist/services/modifications/windows.helper.js.map +1 -1
  37. package/dist/services/skills.service.js +178 -0
  38. package/dist/services/skills.service.js.map +1 -0
  39. package/dist/services/template.service.js +141 -9
  40. package/dist/services/template.service.js.map +1 -1
  41. package/dist/services/test-infrastructure.service.js +30 -17
  42. package/dist/services/test-infrastructure.service.js.map +1 -1
  43. package/dist/services/test.service.js +57 -21
  44. package/dist/services/test.service.js.map +1 -1
  45. package/dist/templates/ioconnect-desktop/README.md +2 -839
  46. package/dist/templates/ioconnect-desktop/config/forge.config.js +2 -2
  47. package/dist/templates/ioconnect-desktop/package.json +1 -2
  48. package/dist/templates/launchpad/apps/launchpad/.gitignore.template +23 -1
  49. package/dist/templates/launchpad/apps/launchpad/.prettierignore +3 -0
  50. package/dist/templates/launchpad/apps/launchpad/.prettierrc +6 -0
  51. package/dist/templates/launchpad/apps/launchpad/README.md +220 -0
  52. package/dist/templates/launchpad/apps/launchpad/config/iocd.app.def.dev.json +1 -1
  53. package/dist/templates/launchpad/apps/launchpad/index.html +13 -14
  54. package/dist/templates/launchpad/apps/launchpad/package.json +17 -9
  55. package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +31 -37
  56. package/dist/templates/launchpad/apps/launchpad/src/components/launchpad.tsx +37 -0
  57. package/dist/templates/launchpad/apps/launchpad/src/{app → constants}/constants.ts +2 -1
  58. package/dist/templates/launchpad/apps/launchpad/src/main.tsx +1 -3
  59. package/dist/templates/launchpad/apps/launchpad/src/styles.css +2 -17
  60. package/dist/templates/launchpad/apps/launchpad/tsconfig.json +10 -8
  61. package/dist/templates/launchpad/apps/launchpad/vite-env.d.ts +1 -0
  62. package/dist/templates/launchpad/apps/launchpad/vite.config.ts +8 -3
  63. package/dist/templates/tests/.agents/skills/iocd-wdio-testing/references/configuration.md +7 -3
  64. package/dist/templates/tests/tests/package.json +1 -1
  65. package/dist/utils/error.handler.js +6 -2
  66. package/dist/utils/error.handler.js.map +1 -1
  67. package/dist/utils/external-tool.js +34 -0
  68. package/dist/utils/external-tool.js.map +1 -0
  69. package/dist/utils/template-update.js +15 -0
  70. package/dist/utils/template-update.js.map +1 -0
  71. package/dist/utils/terminal-output-guard.js +5 -0
  72. package/dist/utils/terminal-output-guard.js.map +1 -0
  73. package/dist/utils/terminal-output.js +25 -0
  74. package/dist/utils/terminal-output.js.map +1 -0
  75. package/package.json +4 -1
  76. package/dist/templates/launchpad/apps/launchpad/package-lock.json +0 -2778
  77. package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +0 -11
  78. package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +0 -212
  79. package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +0 -51
  80. package/dist/templates/tests/tests/package-lock.json +0 -8441
@@ -7,6 +7,7 @@ const child_process_1 = require("child_process");
7
7
  const logger_1 = require("../../utils/logger");
8
8
  const config_service_1 = require("../config/config.service");
9
9
  const deep_merge_1 = require("../../utils/deep.merge");
10
+ const error_handler_1 = require("../../utils/error.handler");
10
11
  const windows_helper_1 = require("./windows.helper");
11
12
  const modifications_tracker_1 = require("./modifications.tracker");
12
13
  const isMac = process.platform === "darwin";
@@ -309,7 +310,7 @@ async function mergeJsonFile(mergePath, targetPath) {
309
310
  logger.debug(`Merging JSON file: ${mergePath} into ${targetPath}`);
310
311
  // Read the merge file
311
312
  const mergeContent = (0, fs_1.readFileSync)(mergePath, "utf-8");
312
- const mergeData = JSON.parse(mergeContent);
313
+ const mergeData = parseModificationJson(mergeContent, mergePath);
313
314
  let targetData = {};
314
315
  // Read existing target file if it exists
315
316
  if ((0, fs_1.existsSync)(targetPath)) {
@@ -328,6 +329,26 @@ async function mergeJsonFile(mergePath, targetPath) {
328
329
  throw error;
329
330
  }
330
331
  }
332
+ function parseModificationJson(content, filePath) {
333
+ try {
334
+ return JSON.parse(content);
335
+ }
336
+ catch (error) {
337
+ if (!(error instanceof SyntaxError)) {
338
+ throw error;
339
+ }
340
+ const displayPath = (0, path_1.relative)(process.cwd(), filePath) || filePath;
341
+ throw new error_handler_1.CLIError(`Invalid JSON in modification file '${displayPath}': ${error.message}`, {
342
+ code: error_handler_1.ErrorCode.VALIDATION_ERROR,
343
+ cause: error,
344
+ reportToSentry: false,
345
+ suggestions: [
346
+ `Fix the JSON syntax in '${displayPath}' and try again.`,
347
+ "Check for trailing commas, missing quotes, or unmatched braces.",
348
+ ],
349
+ });
350
+ }
351
+ }
331
352
  /**
332
353
  * Recursively copy a directory
333
354
  */
@@ -1 +1 @@
1
- {"version":3,"file":"modifications.service.js","sourceRoot":"","sources":["../../../src/services/modifications/modifications.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modifications.service.js","sourceRoot":"","sources":["../../../src/services/modifications/modifications.service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const child_process_1 = require("child_process");
10
10
  const find_package_dir_1 = require("../../utils/find.package.dir");
11
11
  const version_1 = require("../../utils/version");
12
12
  const error_handler_1 = require("../../utils/error.handler");
13
+ const external_tool_1 = require("../../utils/external-tool");
13
14
  const logger = logger_1.Logger.getInstance("modifications.windows.helper");
14
15
  async function modifyExe() {
15
16
  logger.info("Modifying Windows executable...");
@@ -17,11 +18,21 @@ async function modifyExe() {
17
18
  const newExePath = (0, path_1.join)(path_2.PathUtils.getComponentDir("iocd"), `${options.win.exe.exeName}`);
18
19
  logger.info(`Checking if target ${newExePath} is locked by another process...`);
19
20
  if ((0, fs_1.existsSync)(newExePath)) {
20
- if (isFileLocked(newExePath)) {
21
- throw new error_handler_1.CLIError(`Cannot modify executable because it is locked: ${newExePath}.`, {
22
- suggestions: [
23
- "Please close any running instances of the application and try again.",
24
- ],
21
+ const fileLockStatus = checkFileLock(newExePath);
22
+ if (fileLockStatus.isLocked) {
23
+ const isExpectedLock = !fileLockStatus.reportToSentry;
24
+ throw new error_handler_1.CLIError(isExpectedLock
25
+ ? `Cannot modify executable because it is locked: ${newExePath}.`
26
+ : `Cannot access executable for modification: ${newExePath}.`, {
27
+ cause: fileLockStatus.cause,
28
+ reportToSentry: fileLockStatus.reportToSentry,
29
+ suggestions: isExpectedLock
30
+ ? [
31
+ "Please close any running instances of the application and try again.",
32
+ ]
33
+ : [
34
+ "Check that the executable is writable and that you have permission to modify it.",
35
+ ],
25
36
  });
26
37
  }
27
38
  logger.debug("Executable is not locked, proceeding with modifications.");
@@ -91,62 +102,97 @@ function restoreOriginalUnsignedExe(newExePath) {
91
102
  }
92
103
  }
93
104
  async function changeIconAndMetadata(exePath, options) {
105
+ logger.debug(`Updating icon and metadata for executable: ${exePath}`);
106
+ const rceditPath = (0, path_1.join)((0, find_package_dir_1.findPackageRoot)(), "tools", "rcedit-x64.exe");
107
+ const args = [
108
+ exePath,
109
+ "--set-icon",
110
+ options.win.exe.exeIconPath,
111
+ "--set-version-string",
112
+ "CompanyName",
113
+ options.company,
114
+ "--set-version-string",
115
+ "FileDescription",
116
+ options.productDescription,
117
+ "--set-version-string",
118
+ "ProductName",
119
+ options.productName,
120
+ "--set-file-version",
121
+ (0, version_1.makeVersionFourDigitsIfNeeded)(options.version),
122
+ "--set-product-version",
123
+ options.version,
124
+ ];
125
+ logger.debug(`Executing rcedit with args: ${args.join(" ")}`);
126
+ try {
127
+ const result = process.platform === "linux"
128
+ ? await runRceditWithWine(rceditPath, args)
129
+ : await runExecutable(rceditPath, args);
130
+ if (result.stderr) {
131
+ logger.error("rcedit stderr:", result.stderr);
132
+ }
133
+ logger.debug("rcedit output:", result.stdout);
134
+ }
135
+ catch (error) {
136
+ logger.error("rcedit error:", error);
137
+ throw error;
138
+ }
139
+ }
140
+ async function runRceditWithWine(rceditPath, args) {
141
+ let lastMissingExecutableError = new Error("Neither wine64 nor wine was found on PATH");
142
+ for (const wineCommand of ["wine64", "wine"]) {
143
+ try {
144
+ return await runExecutable(wineCommand, [rceditPath, ...args]);
145
+ }
146
+ catch (error) {
147
+ if (!(0, external_tool_1.isMissingExecutableError)(error)) {
148
+ throw error;
149
+ }
150
+ lastMissingExecutableError = error;
151
+ logger.debug(`${wineCommand} was not found on PATH`);
152
+ }
153
+ }
154
+ throw new error_handler_1.CLIError("Wine is required to update Windows executable metadata on Linux.", {
155
+ code: error_handler_1.ErrorCode.NOT_FOUND,
156
+ cause: lastMissingExecutableError,
157
+ reportToSentry: false,
158
+ suggestions: [
159
+ "Install Wine with 64-bit support and ensure `wine64` or `wine` is available on PATH.",
160
+ "Alternatively, run the command on Windows.",
161
+ ],
162
+ });
163
+ }
164
+ function runExecutable(command, args) {
94
165
  return new Promise((resolve, reject) => {
95
- logger.debug(`Updating icon and metadata for executable: ${exePath}`);
96
- const rceditPath = (0, path_1.join)((0, find_package_dir_1.findPackageRoot)(), "tools", "rcedit-x64.exe");
97
- const args = [
98
- exePath,
99
- "--set-icon",
100
- options.win.exe.exeIconPath,
101
- "--set-version-string",
102
- "CompanyName",
103
- options.company,
104
- "--set-version-string",
105
- "FileDescription",
106
- options.productDescription,
107
- "--set-version-string",
108
- "ProductName",
109
- options.productName,
110
- "--set-file-version",
111
- (0, version_1.makeVersionFourDigitsIfNeeded)(options.version),
112
- "--set-product-version",
113
- options.version,
114
- ];
115
- const callback = (error, stdout, stderr) => {
166
+ (0, child_process_1.execFile)(command, args, (error, stdout, stderr) => {
116
167
  if (error) {
117
- logger.error("rcedit error:", error);
118
- return reject(error);
168
+ reject(error);
169
+ return;
119
170
  }
120
- if (stderr) {
121
- logger.error("rcedit stderr:", stderr);
122
- }
123
- logger.debug("rcedit output:", stdout);
124
- resolve();
125
- };
126
- logger.debug(`Executing rcedit with args: ${args.join(" ")}`);
127
- if (process.platform === "linux") {
128
- (0, child_process_1.execFile)("wine64", [rceditPath, ...args], callback);
129
- }
130
- else {
131
- (0, child_process_1.execFile)(rceditPath, args, callback);
132
- }
171
+ resolve({ stdout, stderr });
172
+ });
133
173
  });
134
174
  }
135
- function isFileLocked(path) {
175
+ function checkFileLock(path) {
136
176
  try {
137
177
  logger.debug(`Checking if file is locked: ${path}`);
138
178
  const fd = (0, fs_1.openSync)(path, "r+"); // request read/write exclusive access
139
179
  (0, fs_1.closeSync)(fd);
140
180
  logger.debug(`File is not locked: ${path}`);
141
- return false; // success -> not locked
181
+ return { isLocked: false };
142
182
  }
143
- catch (err) {
144
- logger.debug(`Error while checking if file is locked: ${path}`, err);
145
- // Common Windows lock errors:
146
- if (["EPERM", "EBUSY", "EACCES"].includes(err.code)) {
147
- return true;
183
+ catch (error) {
184
+ logger.debug(`Error while checking if file is locked: ${path}`, error);
185
+ if (!(error instanceof Error) || !("code" in error)) {
186
+ return { isLocked: false };
187
+ }
188
+ const code = error.code;
189
+ if (code === "EBUSY") {
190
+ return { isLocked: true, reportToSentry: false, cause: error };
191
+ }
192
+ if (code === "EPERM" || code === "EACCES") {
193
+ return { isLocked: true, reportToSentry: true, cause: error };
148
194
  }
149
- return false;
195
+ return { isLocked: false };
150
196
  }
151
197
  }
152
198
  //# sourceMappingURL=windows.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows.helper.js","sourceRoot":"","sources":["../../../src/services/modifications/windows.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows.helper.js","sourceRoot":"","sources":["../../../src/services/modifications/windows.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SkillsService = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
10
+ const logger_1 = require("../utils/logger");
11
+ const path_2 = require("../utils/path");
12
+ const LOCK_STALE_MS = 60_000;
13
+ const LOCK_UPDATE_MS = 20_000;
14
+ class SkillsService {
15
+ logger = logger_1.Logger.getInstance("skills.service");
16
+ rootDir;
17
+ sourceDir;
18
+ copyDirectory;
19
+ renamePath;
20
+ constructor(options = {}) {
21
+ this.rootDir = options.rootDir ?? path_2.PathUtils.getRootDir();
22
+ this.sourceDir =
23
+ options.sourceDir ?? (0, path_1.join)(__dirname, "../templates/tests/.agents/skills");
24
+ this.copyDirectory =
25
+ options.copyDirectory ??
26
+ ((source, destination) => (0, fs_1.cpSync)(source, destination, { recursive: true }));
27
+ this.renamePath = options.renamePath ?? fs_1.renameSync;
28
+ }
29
+ update() {
30
+ this.logger.info("Updating coding agent skills...");
31
+ try {
32
+ const updatedSkills = this.copySkills(true);
33
+ this.logger.info(`Coding agent skills updated successfully: ${this.formatSkills(updatedSkills)}`);
34
+ return updatedSkills;
35
+ }
36
+ catch (error) {
37
+ this.logger.error("Failed to update coding agent skills.", error);
38
+ throw error;
39
+ }
40
+ }
41
+ installMissing() {
42
+ this.logger.info("Installing missing coding agent skills...");
43
+ try {
44
+ const installedSkills = this.copySkills(false);
45
+ this.logger.info(`Missing coding agent skills installed successfully: ${this.formatSkills(installedSkills)}`);
46
+ return installedSkills;
47
+ }
48
+ catch (error) {
49
+ this.logger.error("Failed to install missing coding agent skills.", error);
50
+ throw error;
51
+ }
52
+ }
53
+ copySkills(overwrite) {
54
+ if (!(0, fs_1.existsSync)(this.sourceDir)) {
55
+ throw new Error(`CLI skills directory not found at '${this.sourceDir}'.`);
56
+ }
57
+ const destinationRoot = (0, path_1.join)(this.rootDir, ".agents", "skills");
58
+ this.logger.debug(`Copying coding agent skills from '${this.sourceDir}' to '${destinationRoot}' (overwrite: ${overwrite}).`);
59
+ (0, fs_1.mkdirSync)(destinationRoot, { recursive: true });
60
+ const lockPath = (0, path_1.join)(destinationRoot, ".iocd-update.lock");
61
+ const releaseLock = this.acquireLock(destinationRoot, lockPath);
62
+ const copiedSkills = [];
63
+ let copyError;
64
+ try {
65
+ const skillDirectories = (0, fs_1.readdirSync)(this.sourceDir, {
66
+ withFileTypes: true,
67
+ }).filter(entry => entry.isDirectory());
68
+ this.logger.debug(`Found ${skillDirectories.length} shipped coding agent skills: ${this.formatSkills(skillDirectories.map(entry => entry.name))}`);
69
+ for (const skillDirectory of skillDirectories) {
70
+ const source = (0, path_1.join)(this.sourceDir, skillDirectory.name);
71
+ const destination = (0, path_1.join)(destinationRoot, skillDirectory.name);
72
+ if (!overwrite && (0, fs_1.existsSync)(destination)) {
73
+ this.logger.debug(`Keeping existing coding agent skill '${skillDirectory.name}' at '${destination}'.`);
74
+ continue;
75
+ }
76
+ if (this.installSkill(source, destination, destinationRoot, overwrite)) {
77
+ copiedSkills.push(skillDirectory.name);
78
+ }
79
+ }
80
+ }
81
+ catch (error) {
82
+ copyError = error;
83
+ }
84
+ try {
85
+ releaseLock();
86
+ this.logger.debug(`Released coding agent skills lock '${lockPath}'.`);
87
+ }
88
+ catch (error) {
89
+ this.logger.error(`Failed to release coding agent skills lock '${lockPath}'.`, error);
90
+ if (!copyError) {
91
+ throw error;
92
+ }
93
+ }
94
+ if (copyError) {
95
+ throw copyError;
96
+ }
97
+ return copiedSkills;
98
+ }
99
+ acquireLock(destinationRoot, lockPath) {
100
+ try {
101
+ const releaseLock = proper_lockfile_1.default.lockSync(destinationRoot, {
102
+ lockfilePath: lockPath,
103
+ realpath: false,
104
+ retries: 0,
105
+ stale: LOCK_STALE_MS,
106
+ update: LOCK_UPDATE_MS,
107
+ onCompromised: error => {
108
+ this.logger.error(`Coding agent skills lock '${lockPath}' was compromised.`, error);
109
+ throw error;
110
+ },
111
+ });
112
+ this.logger.debug(`Acquired coding agent skills lock '${lockPath}'.`);
113
+ return releaseLock;
114
+ }
115
+ catch (error) {
116
+ if (error.code === "ELOCKED") {
117
+ this.logger.warn(`Coding agent skills operation blocked by active lock '${lockPath}'.`);
118
+ throw new Error(`Another IOCD skills operation is already in progress at '${lockPath}'.`);
119
+ }
120
+ throw error;
121
+ }
122
+ }
123
+ installSkill(source, destination, destinationRoot, overwrite) {
124
+ const stagingRoot = (0, fs_1.mkdtempSync)((0, path_1.join)(destinationRoot, ".iocd-skill-"));
125
+ const stagedSkill = (0, path_1.join)(stagingRoot, "next");
126
+ const previousSkill = (0, path_1.join)(stagingRoot, "previous");
127
+ let previousSkillMoved = false;
128
+ let preserveStaging = false;
129
+ try {
130
+ this.logger.debug(`Staging coding agent skill from '${source}' in '${stagedSkill}'.`);
131
+ this.copyDirectory(source, stagedSkill);
132
+ if (!overwrite && (0, fs_1.existsSync)(destination)) {
133
+ this.logger.debug(`Coding agent skill destination '${destination}' appeared during staging; keeping it unchanged.`);
134
+ return false;
135
+ }
136
+ if ((0, fs_1.existsSync)(destination)) {
137
+ this.logger.debug(`Moving existing coding agent skill '${destination}' to temporary backup '${previousSkill}'.`);
138
+ this.renamePath(destination, previousSkill);
139
+ previousSkillMoved = true;
140
+ }
141
+ this.renamePath(stagedSkill, destination);
142
+ this.logger.debug(`Published coding agent skill to '${destination}' successfully.`);
143
+ return true;
144
+ }
145
+ catch (error) {
146
+ if (previousSkillMoved) {
147
+ preserveStaging = true;
148
+ if ((0, fs_1.existsSync)(destination)) {
149
+ this.logger.error(`Coding agent skill publication failed after '${destination}' changed. Keeping the current destination and backup '${previousSkill}'.`, error);
150
+ throw new Error(`Skill update failed after the destination changed. The current destination was left untouched and the previous skill remains at '${previousSkill}'. Update error: ${error.message}`);
151
+ }
152
+ try {
153
+ this.renamePath(previousSkill, destination);
154
+ preserveStaging = false;
155
+ this.logger.warn(`Coding agent skill publication failed. Restored the previous skill at '${destination}'.`);
156
+ }
157
+ catch (restoreError) {
158
+ this.logger.error(`Coding agent skill publication failed and backup '${previousSkill}' could not be restored.`, restoreError);
159
+ throw new Error(`Skill update failed and the previous skill could not be restored. Its backup remains at '${previousSkill}'. Update error: ${error.message}. Restore error: ${restoreError.message}`);
160
+ }
161
+ }
162
+ throw error;
163
+ }
164
+ finally {
165
+ if (!preserveStaging) {
166
+ (0, fs_1.rmSync)(stagingRoot, { recursive: true, force: true });
167
+ }
168
+ else {
169
+ this.logger.warn(`Preserving coding agent skill staging directory '${stagingRoot}' for recovery.`);
170
+ }
171
+ }
172
+ }
173
+ formatSkills(skills) {
174
+ return skills.length > 0 ? skills.join(", ") : "none";
175
+ }
176
+ }
177
+ exports.SkillsService = SkillsService;
178
+ //# sourceMappingURL=skills.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.service.js","sourceRoot":"","sources":["../../src/services/skills.service.ts"],"names":[],"mappings":"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"}