kiro-agents 1.15.2 → 1.15.3

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.
@@ -45,12 +45,17 @@ var POWER_FILES = [
45
45
  "steering/reflect-manager-workflow.md",
46
46
  "steering/reflect-curator-checklist.md",
47
47
  "steering/reflect-agent-insights.md",
48
+ "steering/mode-switching.md",
49
+ "steering/mode-management.md",
48
50
  "steering/kiro-vibe-mode.md",
49
51
  "steering/kiro-spec-mode.md",
50
52
  "steering/kiro-as-vibe-mode.md",
51
53
  "steering/kiro-as-spec-mode.md",
52
54
  "steering/explainability-protocol.md",
53
- "steering/chit-chat.md"
55
+ "steering/chit-chat.md",
56
+ "steering/agent-management.md",
57
+ "steering/agent-creation.md",
58
+ "steering/agent-activation.md"
54
59
  ];
55
60
  async function setWritable(filePath) {
56
61
  try {
@@ -90,9 +95,23 @@ async function extractPowerMetadata(powerMdPath) {
90
95
  author: extractField(/^author:\s*["']?([^"'\n]+)["']?$/m, "")
91
96
  };
92
97
  }
98
+ async function copyRecursive(src, dest) {
99
+ const { stat, readdir, mkdir, copyFile } = await import("fs/promises");
100
+ const stats = await stat(src);
101
+ if (stats.isDirectory()) {
102
+ await mkdir(dest, { recursive: true });
103
+ const entries = await readdir(src);
104
+ for (const entry of entries) {
105
+ await copyRecursive(join(src, entry), join(dest, entry));
106
+ }
107
+ } else {
108
+ await copyFile(src, dest);
109
+ }
110
+ }
93
111
  async function createSymbolicLinks() {
94
112
  const { readdir, mkdir, symlink, rm, stat } = await import("fs/promises");
95
113
  const { platform } = await import("os");
114
+ let warningCount = 0;
96
115
  if (existsSync(POWER_INSTALLED_DIR)) {
97
116
  await rm(POWER_INSTALLED_DIR, { recursive: true, force: true });
98
117
  }
@@ -111,9 +130,16 @@ async function createSymbolicLinks() {
111
130
  }
112
131
  console.log(`✅ Linked: ${entry}`);
113
132
  } catch (error) {
114
- console.warn(`⚠️ Could not link ${entry}:`, error instanceof Error ? error.message : error);
133
+ try {
134
+ await copyRecursive(sourcePath, targetPath);
135
+ console.log(`\uD83D\uDCCB Copied: ${entry} (symlink not available)`);
136
+ } catch (copyError) {
137
+ console.warn(`⚠️ Could not link or copy ${entry}:`, error instanceof Error ? error.message : error);
138
+ warningCount++;
139
+ }
115
140
  }
116
141
  }
142
+ return warningCount;
117
143
  }
118
144
  async function registerPowerInRegistry() {
119
145
  const { readFile, writeFile, mkdir } = await import("fs/promises");
@@ -163,6 +189,7 @@ async function registerPowerInRegistry() {
163
189
  registry.lastUpdated = new Date().toISOString();
164
190
  await writeFile(REGISTRY_PATH, JSON.stringify(registry, null, 2), "utf-8");
165
191
  console.log("✅ Power registered in Kiro registry");
192
+ return true;
166
193
  }
167
194
  async function installFile(relativePath, installDir, sourceDir) {
168
195
  const destPath = join(installDir, relativePath);
@@ -181,6 +208,8 @@ async function installFile(relativePath, installDir, sourceDir) {
181
208
  async function install() {
182
209
  console.log(`\uD83D\uDE80 Installing kiro-agents system...
183
210
  `);
211
+ let hasErrors = false;
212
+ let hasWarnings = false;
184
213
  console.log("\uD83D\uDCC4 Installing steering files to ~/.kiro/steering/kiro-agents/");
185
214
  if (existsSync(STEERING_INSTALL_DIR)) {
186
215
  console.log("\uD83D\uDDD1️ Removing existing steering installation...");
@@ -203,23 +232,40 @@ async function install() {
203
232
  console.log(`
204
233
  \uD83D\uDD17 Creating symbolic links in installed/ directory...`);
205
234
  try {
206
- await createSymbolicLinks();
235
+ const symlinkWarnings = await createSymbolicLinks();
236
+ if (symlinkWarnings > 0) {
237
+ hasWarnings = true;
238
+ }
207
239
  } catch (error) {
208
240
  console.warn("⚠️ Warning: Could not create symbolic links:", error instanceof Error ? error.message : error);
209
241
  console.warn(" Power may not appear correctly in Kiro Powers UI.");
242
+ hasWarnings = true;
210
243
  }
211
244
  console.log(`
212
245
  \uD83D\uDCDD Registering power in Kiro registry...`);
213
246
  try {
214
- await registerPowerInRegistry();
247
+ const registrySuccess = await registerPowerInRegistry();
248
+ if (!registrySuccess) {
249
+ hasWarnings = true;
250
+ }
215
251
  } catch (error) {
216
252
  console.warn("⚠️ Warning: Could not register power in registry:", error instanceof Error ? error.message : error);
217
253
  console.warn(" The power files are installed but may not appear in Kiro Powers UI.");
218
254
  console.warn(" You can manually add the power via: Powers panel → Add Repository → Local Directory");
219
255
  console.warn(` Path: ${POWER_INSTALL_DIR}`);
256
+ hasWarnings = true;
220
257
  }
221
- console.log(`
258
+ if (hasErrors) {
259
+ console.log(`
260
+ ❌ Installation completed with errors!`);
261
+ } else if (hasWarnings) {
262
+ console.log(`
263
+ ⚠️ Installation completed with warnings!`);
264
+ console.log(" Core files installed successfully, but some optional features may not work.");
265
+ } else {
266
+ console.log(`
222
267
  ✨ Installation completed successfully!`);
268
+ }
223
269
  console.log(`
224
270
  \uD83D\uDCC1 Steering files: ${STEERING_INSTALL_DIR}`);
225
271
  console.log(`\uD83D\uDCC1 Power files: ${POWER_INSTALL_DIR}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiro-agents",
3
- "version": "1.15.2",
3
+ "version": "1.15.3",
4
4
  "description": "Advanced AI agent system for Kiro IDE - Create specialized AI agents, switch interaction modes, and enhance development workflows with minimal cognitive overhead",
5
5
  "homepage": "https://github.com/Theadd/kiro-agents#readme",
6
6
  "repository": {