kiro-agents 1.9.1 → 1.10.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/build/npm/bin/cli.js +45 -14
- package/package.json +1 -1
package/build/npm/bin/cli.js
CHANGED
|
@@ -27,6 +27,7 @@ var __filename2 = fileURLToPath(import.meta.url);
|
|
|
27
27
|
var __dirname2 = dirname(__filename2);
|
|
28
28
|
var STEERING_INSTALL_DIR = join(homedir(), ".kiro", "steering", "kiro-agents");
|
|
29
29
|
var POWER_INSTALL_DIR = join(homedir(), ".kiro", "powers", "kiro-protocols");
|
|
30
|
+
var POWER_INSTALLED_DIR = join(homedir(), ".kiro", "powers", "installed", "kiro-protocols");
|
|
30
31
|
var REGISTRY_PATH = join(homedir(), ".kiro", "powers", "registry.json");
|
|
31
32
|
var STEERING_FILES = [
|
|
32
33
|
"strict-mode.md",
|
|
@@ -86,6 +87,31 @@ async function extractPowerMetadata(powerMdPath) {
|
|
|
86
87
|
author: extractField(/^author:\s*["']?([^"'\n]+)["']?$/m, "")
|
|
87
88
|
};
|
|
88
89
|
}
|
|
90
|
+
async function createSymbolicLinks() {
|
|
91
|
+
const { readdir, mkdir, symlink, rm, stat } = await import("fs/promises");
|
|
92
|
+
const { platform } = await import("os");
|
|
93
|
+
if (existsSync(POWER_INSTALLED_DIR)) {
|
|
94
|
+
await rm(POWER_INSTALLED_DIR, { recursive: true, force: true });
|
|
95
|
+
}
|
|
96
|
+
await mkdir(POWER_INSTALLED_DIR, { recursive: true });
|
|
97
|
+
const entries = await readdir(POWER_INSTALL_DIR);
|
|
98
|
+
for (const entry of entries) {
|
|
99
|
+
const sourcePath = join(POWER_INSTALL_DIR, entry);
|
|
100
|
+
const targetPath = join(POWER_INSTALLED_DIR, entry);
|
|
101
|
+
try {
|
|
102
|
+
const stats = await stat(sourcePath);
|
|
103
|
+
const isDirectory = stats.isDirectory();
|
|
104
|
+
if (platform() === "win32") {
|
|
105
|
+
await symlink(sourcePath, targetPath, isDirectory ? "junction" : "file");
|
|
106
|
+
} else {
|
|
107
|
+
await symlink(sourcePath, targetPath);
|
|
108
|
+
}
|
|
109
|
+
console.log(`✅ Linked: ${entry}`);
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.warn(`⚠️ Could not link ${entry}:`, error instanceof Error ? error.message : error);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
89
115
|
async function registerPowerInRegistry() {
|
|
90
116
|
const { readFile, writeFile, mkdir } = await import("fs/promises");
|
|
91
117
|
const registryDir = dirname(REGISTRY_PATH);
|
|
@@ -104,7 +130,7 @@ async function registerPowerInRegistry() {
|
|
|
104
130
|
}
|
|
105
131
|
const powerMdPath = join(POWER_INSTALL_DIR, "POWER.md");
|
|
106
132
|
const metadata = await extractPowerMetadata(powerMdPath);
|
|
107
|
-
const repoId =
|
|
133
|
+
const repoId = "local-kiro-protocols";
|
|
108
134
|
registry.powers[metadata.name] = {
|
|
109
135
|
name: metadata.name,
|
|
110
136
|
displayName: metadata.displayName,
|
|
@@ -114,16 +140,16 @@ async function registerPowerInRegistry() {
|
|
|
114
140
|
keywords: metadata.keywords,
|
|
115
141
|
installed: true,
|
|
116
142
|
installedAt: new Date().toISOString(),
|
|
117
|
-
installPath:
|
|
143
|
+
installPath: POWER_INSTALLED_DIR,
|
|
118
144
|
source: {
|
|
119
|
-
type: "
|
|
145
|
+
type: "repo",
|
|
120
146
|
repoId,
|
|
121
|
-
repoName:
|
|
147
|
+
repoName: POWER_INSTALL_DIR
|
|
122
148
|
},
|
|
123
149
|
sourcePath: POWER_INSTALL_DIR
|
|
124
150
|
};
|
|
125
151
|
registry.repoSources[repoId] = {
|
|
126
|
-
name:
|
|
152
|
+
name: POWER_INSTALL_DIR,
|
|
127
153
|
type: "local",
|
|
128
154
|
enabled: true,
|
|
129
155
|
addedAt: new Date().toISOString(),
|
|
@@ -132,7 +158,8 @@ async function registerPowerInRegistry() {
|
|
|
132
158
|
powerCount: 1
|
|
133
159
|
};
|
|
134
160
|
registry.lastUpdated = new Date().toISOString();
|
|
135
|
-
|
|
161
|
+
await writeFile(REGISTRY_PATH, JSON.stringify(registry, null, 2), "utf-8");
|
|
162
|
+
console.log("✅ Power registered in Kiro registry");
|
|
136
163
|
}
|
|
137
164
|
async function installFile(relativePath, installDir, sourceDir) {
|
|
138
165
|
const destPath = join(installDir, relativePath);
|
|
@@ -171,7 +198,15 @@ async function install() {
|
|
|
171
198
|
await installFile(file, POWER_INSTALL_DIR, "power");
|
|
172
199
|
}
|
|
173
200
|
console.log(`
|
|
174
|
-
\uD83D\
|
|
201
|
+
\uD83D\uDD17 Creating symbolic links in installed/ directory...`);
|
|
202
|
+
try {
|
|
203
|
+
await createSymbolicLinks();
|
|
204
|
+
} catch (error) {
|
|
205
|
+
console.warn("⚠️ Warning: Could not create symbolic links:", error instanceof Error ? error.message : error);
|
|
206
|
+
console.warn(" Power may not appear correctly in Kiro Powers UI.");
|
|
207
|
+
}
|
|
208
|
+
console.log(`
|
|
209
|
+
\uD83D\uDCDD Registering power in Kiro registry...`);
|
|
175
210
|
try {
|
|
176
211
|
await registerPowerInRegistry();
|
|
177
212
|
} catch (error) {
|
|
@@ -185,14 +220,10 @@ async function install() {
|
|
|
185
220
|
console.log(`
|
|
186
221
|
\uD83D\uDCC1 Steering files: ${STEERING_INSTALL_DIR}`);
|
|
187
222
|
console.log(`\uD83D\uDCC1 Power files: ${POWER_INSTALL_DIR}`);
|
|
223
|
+
console.log(`\uD83D\uDCC1 Installed links: ${POWER_INSTALLED_DIR}`);
|
|
188
224
|
console.log(`
|
|
189
|
-
\uD83D\uDCA1
|
|
190
|
-
console.log("
|
|
191
|
-
console.log(" 2. Add Repository → Local Directory");
|
|
192
|
-
console.log(` 3. Select: ${POWER_INSTALL_DIR}`);
|
|
193
|
-
console.log(" 4. Install the power");
|
|
194
|
-
console.log(`
|
|
195
|
-
\uD83D\uDCA1 Files are set to read-only. To modify them, change permissions first.`);
|
|
225
|
+
\uD83D\uDCA1 The kiro-protocols power should now appear as installed in Kiro Powers UI.`);
|
|
226
|
+
console.log("\uD83D\uDCA1 Files are set to read-only. To modify them, change permissions first.");
|
|
196
227
|
console.log(`
|
|
197
228
|
\uD83D\uDD04 To update, simply run 'npx kiro-agents' again.`);
|
|
198
229
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiro-agents",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
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": {
|