@codeatlasdev/ao-plugin-agent-kiro 0.1.1 → 0.2.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/index.d.ts.map +1 -1
- package/dist/index.js +211 -55
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,KAAK,EAUX,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;AAodF,wBAAgB,MAAM,IAAI,KAAK,CAE9B;AAED,wBAAgB,MAAM,IAAI,OAAO,CAOhC;;;;;;;;;;;;AAED,wBAA0E"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DEFAULT_READY_THRESHOLD_MS, DEFAULT_ACTIVE_WINDOW_MS, shellEscape, normalizeAgentPermissionMode, buildAgentPath, setupPathWrapperWorkspace, readLastActivityEntry, checkActivityLogState,
|
|
1
|
+
import { DEFAULT_READY_THRESHOLD_MS, DEFAULT_ACTIVE_WINDOW_MS, shellEscape, normalizeAgentPermissionMode, buildAgentPath, setupPathWrapperWorkspace, readLastActivityEntry, checkActivityLogState, appendActivityEntry, PREFERRED_GH_PATH, } from "@aoagents/ao-core";
|
|
2
2
|
import { execFile, execFileSync } from "node:child_process";
|
|
3
|
-
import { stat } from "node:fs/promises";
|
|
3
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { promisify } from "node:util";
|
|
@@ -12,10 +12,104 @@ export const manifest = {
|
|
|
12
12
|
name: "kiro",
|
|
13
13
|
slot: "agent",
|
|
14
14
|
description: "Agent plugin: Kiro CLI (AWS)",
|
|
15
|
-
version: "0.
|
|
15
|
+
version: "0.2.0",
|
|
16
16
|
displayName: "Kiro CLI",
|
|
17
17
|
};
|
|
18
18
|
// =============================================================================
|
|
19
|
+
// Kiro Session Discovery
|
|
20
|
+
// =============================================================================
|
|
21
|
+
/** Directory where Kiro TUI v2 stores ACP session files. */
|
|
22
|
+
const KIRO_SESSIONS_DIR = join(homedir(), ".kiro", "sessions", "cli");
|
|
23
|
+
/** Normalize path for comparison (strip trailing slashes). */
|
|
24
|
+
function normalizePath(p) {
|
|
25
|
+
return p.replace(/\/+$/, "");
|
|
26
|
+
}
|
|
27
|
+
/** Validate session ID to prevent path traversal. */
|
|
28
|
+
function isValidSessionId(id) {
|
|
29
|
+
return /^[\w-]+$/.test(id);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Find the Kiro session whose `cwd` matches the given workspace path.
|
|
33
|
+
* Returns the match with the largest .jsonl file (most activity), which
|
|
34
|
+
* is the main session rather than short-lived subagent sessions.
|
|
35
|
+
*/
|
|
36
|
+
async function findKiroSession(workspacePath) {
|
|
37
|
+
const normalizedWs = normalizePath(workspacePath);
|
|
38
|
+
try {
|
|
39
|
+
const entries = await readdir(KIRO_SESSIONS_DIR);
|
|
40
|
+
const jsonFiles = entries.filter((e) => e.endsWith(".json") && !e.endsWith(".lock"));
|
|
41
|
+
let best = null;
|
|
42
|
+
let bestSize = 0;
|
|
43
|
+
for (const file of jsonFiles) {
|
|
44
|
+
try {
|
|
45
|
+
const raw = await readFile(join(KIRO_SESSIONS_DIR, file), "utf-8");
|
|
46
|
+
const meta = JSON.parse(raw);
|
|
47
|
+
if (!meta.session_id || !isValidSessionId(meta.session_id))
|
|
48
|
+
continue;
|
|
49
|
+
if (normalizePath(meta.cwd) !== normalizedWs)
|
|
50
|
+
continue;
|
|
51
|
+
// Prefer the session with the largest .jsonl (most activity).
|
|
52
|
+
// This distinguishes the main session from subagent sessions,
|
|
53
|
+
// which are short-lived and have tiny .jsonl files.
|
|
54
|
+
let jsonlSize = 0;
|
|
55
|
+
try {
|
|
56
|
+
const s = await stat(join(KIRO_SESSIONS_DIR, `${meta.session_id}.jsonl`));
|
|
57
|
+
jsonlSize = s.size;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// .jsonl may not exist yet
|
|
61
|
+
}
|
|
62
|
+
if (jsonlSize > bestSize) {
|
|
63
|
+
bestSize = jsonlSize;
|
|
64
|
+
best = meta;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// skip unparseable files
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return best;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the mtime of the Kiro session's JSONL event log.
|
|
79
|
+
* This is a direct proxy for real Kiro activity — the file is only
|
|
80
|
+
* written to when the Kiro agent actually does something.
|
|
81
|
+
*/
|
|
82
|
+
async function getKiroSessionMtime(sessionId) {
|
|
83
|
+
if (!isValidSessionId(sessionId))
|
|
84
|
+
return null;
|
|
85
|
+
try {
|
|
86
|
+
const jsonlPath = join(KIRO_SESSIONS_DIR, `${sessionId}.jsonl`);
|
|
87
|
+
const s = await stat(jsonlPath);
|
|
88
|
+
return s.mtime;
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Lazy-discover the Kiro session ID if not already mapped.
|
|
96
|
+
* Called from getActivityState/getSessionInfo as a retry mechanism
|
|
97
|
+
* in case postLaunchSetup's polling didn't find it in time.
|
|
98
|
+
*/
|
|
99
|
+
async function ensureKiroSessionId(session) {
|
|
100
|
+
const existing = session.metadata["kiroSessionId"];
|
|
101
|
+
if (existing)
|
|
102
|
+
return existing;
|
|
103
|
+
if (!session.workspacePath)
|
|
104
|
+
return null;
|
|
105
|
+
const kiroSession = await findKiroSession(session.workspacePath);
|
|
106
|
+
if (kiroSession) {
|
|
107
|
+
session.metadata["kiroSessionId"] = kiroSession.session_id;
|
|
108
|
+
return kiroSession.session_id;
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
// =============================================================================
|
|
19
113
|
// Binary Resolution
|
|
20
114
|
// =============================================================================
|
|
21
115
|
async function resolveKiroBinary() {
|
|
@@ -56,32 +150,45 @@ function appendPermissionFlags(parts, permissions) {
|
|
|
56
150
|
if (mode === "permissionless" || mode === "auto-edit") {
|
|
57
151
|
parts.push("--trust-all-tools");
|
|
58
152
|
}
|
|
59
|
-
// "default" and "suggest" → no flag (kiro's default interactive approval)
|
|
60
153
|
}
|
|
61
154
|
/**
|
|
62
155
|
* Regex to detect kiro-cli processes in ps output.
|
|
63
|
-
* The binary can appear as "kiro-cli", "kiro-cli-chat", or a full path ending
|
|
64
|
-
* in either. The Rust binary dispatches to "kiro-cli-chat" for the chat
|
|
65
|
-
* subcommand, so we need to match both.
|
|
66
156
|
*/
|
|
67
157
|
const KIRO_PROCESS_RE = /(?:^|\/)kiro-cli(?:-chat)?(?:\s|$)/;
|
|
68
158
|
function createKiroAgent() {
|
|
69
159
|
let resolvedBinary = null;
|
|
70
160
|
let resolvingBinary = null;
|
|
161
|
+
/** Eagerly start binary resolution. */
|
|
162
|
+
function ensureBinaryResolution() {
|
|
163
|
+
if (resolvedBinary || resolvingBinary)
|
|
164
|
+
return;
|
|
165
|
+
resolvingBinary = resolveKiroBinary().then((b) => {
|
|
166
|
+
resolvedBinary = b;
|
|
167
|
+
resolvingBinary = null;
|
|
168
|
+
return b;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
// Start resolving immediately on create()
|
|
172
|
+
ensureBinaryResolution();
|
|
71
173
|
return {
|
|
72
174
|
name: "kiro",
|
|
73
175
|
processName: "kiro-cli",
|
|
74
176
|
promptDelivery: "post-launch",
|
|
75
177
|
getLaunchCommand(config) {
|
|
76
178
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
77
|
-
const parts = [shellEscape(binary), "chat"];
|
|
179
|
+
const parts = [shellEscape(binary), "chat", "--wrap", "never"];
|
|
78
180
|
appendPermissionFlags(parts, config.permissions);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
181
|
+
if (config.model) {
|
|
182
|
+
parts.push("--model", shellEscape(config.model));
|
|
183
|
+
}
|
|
82
184
|
if (config.systemPromptFile) {
|
|
83
185
|
parts.push(`"$(cat ${shellEscape(config.systemPromptFile)})"`);
|
|
84
186
|
}
|
|
187
|
+
else if (config.systemPrompt) {
|
|
188
|
+
// Inline system prompt — escape for shell. For long prompts,
|
|
189
|
+
// the AO session-manager should use systemPromptFile instead.
|
|
190
|
+
parts.push(shellEscape(config.systemPrompt));
|
|
191
|
+
}
|
|
85
192
|
return parts.join(" ");
|
|
86
193
|
},
|
|
87
194
|
getEnvironment(config) {
|
|
@@ -92,7 +199,6 @@ function createKiroAgent() {
|
|
|
92
199
|
}
|
|
93
200
|
env["PATH"] = buildAgentPath(process.env["PATH"]);
|
|
94
201
|
env["GH_PATH"] = PREFERRED_GH_PATH;
|
|
95
|
-
// Suppress kiro greeting in AO-managed sessions
|
|
96
202
|
env["KIRO_LOG_LEVEL"] = "warn";
|
|
97
203
|
return env;
|
|
98
204
|
},
|
|
@@ -102,29 +208,27 @@ function createKiroAgent() {
|
|
|
102
208
|
const lines = terminalOutput.trim().split("\n");
|
|
103
209
|
const lastLine = lines[lines.length - 1]?.trim() ?? "";
|
|
104
210
|
const tail = lines.slice(-10).join("\n");
|
|
105
|
-
//
|
|
211
|
+
// === TUI v2 patterns (Ink/React) ===
|
|
212
|
+
// Idle prompt — Kiro is waiting for user input
|
|
213
|
+
if (/ask a question or describe a task/i.test(tail))
|
|
214
|
+
return "ready";
|
|
215
|
+
// === Legacy CLI patterns (v1) ===
|
|
106
216
|
if (/^(\[[\w-]+\]\s*)?[>❯]\s*$/.test(lastLine))
|
|
107
217
|
return "ready";
|
|
108
|
-
//
|
|
109
|
-
if (/\b(allow|deny|approve|confirm)\b/i.test(tail))
|
|
218
|
+
// === Permission / trust prompts (both v1 and v2) ===
|
|
219
|
+
if (/\b(allow|deny|approve|confirm)\b/i.test(tail))
|
|
110
220
|
return "waiting_input";
|
|
111
|
-
}
|
|
112
221
|
if (/\(y\)es.*\(n\)o/i.test(tail))
|
|
113
222
|
return "waiting_input";
|
|
114
223
|
if (/\[y\/n\]/i.test(tail))
|
|
115
224
|
return "waiting_input";
|
|
116
|
-
|
|
117
|
-
if (/trust.*(?:exact|command|directory|tool)/i.test(tail)) {
|
|
225
|
+
if (/trust.*(?:exact|command|directory|tool)/i.test(tail))
|
|
118
226
|
return "waiting_input";
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (/\b(error|fatal|panic|exception)\b/i.test(lastLine)) {
|
|
227
|
+
// === Error patterns ===
|
|
228
|
+
if (/\b(error|fatal|panic|exception)\b/i.test(lastLine))
|
|
122
229
|
return "blocked";
|
|
123
|
-
|
|
124
|
-
// Kiro auth errors
|
|
125
|
-
if (/logged?\s*in|auth|unauthorized/i.test(lastLine)) {
|
|
230
|
+
if (/logged?\s*in|auth|unauthorized/i.test(lastLine))
|
|
126
231
|
return "blocked";
|
|
127
|
-
}
|
|
128
232
|
return "active";
|
|
129
233
|
},
|
|
130
234
|
async getActivityState(session, readyThresholdMs) {
|
|
@@ -137,28 +241,49 @@ function createKiroAgent() {
|
|
|
137
241
|
return { state: "exited", timestamp: new Date() };
|
|
138
242
|
if (!session.workspacePath)
|
|
139
243
|
return null;
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
// Rely on AO's terminal-derived activity JSONL instead.
|
|
244
|
+
// 1. Check AO activity JSONL for actionable states (waiting_input/blocked).
|
|
245
|
+
// These are written by recordActivity and have a 5-min staleness cap.
|
|
143
246
|
const activityResult = await readLastActivityEntry(session.workspacePath);
|
|
144
247
|
const activityState = checkActivityLogState(activityResult);
|
|
145
248
|
if (activityState)
|
|
146
249
|
return activityState;
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
250
|
+
// 2. Use Kiro's native session files as the primary activity signal.
|
|
251
|
+
const kiroSessionId = await ensureKiroSessionId(session);
|
|
252
|
+
if (kiroSessionId) {
|
|
253
|
+
const mtime = await getKiroSessionMtime(kiroSessionId);
|
|
254
|
+
if (mtime) {
|
|
255
|
+
const ageMs = Date.now() - mtime.getTime();
|
|
256
|
+
const activeWindowMs = Math.min(DEFAULT_ACTIVE_WINDOW_MS, threshold);
|
|
257
|
+
if (ageMs <= activeWindowMs) {
|
|
258
|
+
return { state: "active", timestamp: mtime };
|
|
259
|
+
}
|
|
260
|
+
if (ageMs <= threshold) {
|
|
261
|
+
return { state: "ready", timestamp: mtime };
|
|
262
|
+
}
|
|
263
|
+
return { state: "idle", timestamp: mtime };
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// 3. Fallback: process is alive but no Kiro session mapped yet.
|
|
267
|
+
// Treat as idle with creation timestamp so stuck detection can work.
|
|
268
|
+
return { state: "idle", timestamp: session.createdAt };
|
|
152
269
|
},
|
|
153
270
|
async recordActivity(session, terminalOutput) {
|
|
154
271
|
if (!session.workspacePath)
|
|
155
272
|
return;
|
|
156
|
-
|
|
273
|
+
const state = this.detectActivity(terminalOutput);
|
|
274
|
+
// Only write actionable states (waiting_input/blocked) to the JSONL.
|
|
275
|
+
// Non-actionable states (active/ready/idle) are NOT written — this
|
|
276
|
+
// prevents the constant refresh that breaks stuck detection.
|
|
277
|
+
// The getActivityState method uses Kiro's native .jsonl mtime instead.
|
|
278
|
+
if (state === "waiting_input" || state === "blocked") {
|
|
279
|
+
const trigger = terminalOutput.trim().split("\n").slice(-3).join("\n");
|
|
280
|
+
await appendActivityEntry(session.workspacePath, state, "terminal", trigger);
|
|
281
|
+
}
|
|
157
282
|
},
|
|
158
283
|
async isProcessRunning(handle) {
|
|
159
284
|
try {
|
|
160
285
|
if (handle.runtimeName === "tmux" && handle.id) {
|
|
161
|
-
const { stdout: ttyOut } = await execFileAsync("tmux", ["list-panes", "-t", handle.id, "-F", "#{pane_tty}"], { timeout:
|
|
286
|
+
const { stdout: ttyOut } = await execFileAsync("tmux", ["list-panes", "-t", handle.id, "-F", "#{pane_tty}"], { timeout: 10_000 });
|
|
162
287
|
const ttys = ttyOut
|
|
163
288
|
.trim()
|
|
164
289
|
.split("\n")
|
|
@@ -166,7 +291,7 @@ function createKiroAgent() {
|
|
|
166
291
|
.filter(Boolean);
|
|
167
292
|
if (ttys.length === 0)
|
|
168
293
|
return false;
|
|
169
|
-
const { stdout: psOut } = await execFileAsync("ps", ["-eo", "pid,tty,args"], { timeout:
|
|
294
|
+
const { stdout: psOut } = await execFileAsync("ps", ["-eo", "pid,tty,args"], { timeout: 10_000 });
|
|
170
295
|
const ttySet = new Set(ttys.map((t) => t.replace(/^\/dev\//, "")));
|
|
171
296
|
for (const line of psOut.split("\n")) {
|
|
172
297
|
const cols = line.trimStart().split(/\s+/);
|
|
@@ -199,41 +324,72 @@ function createKiroAgent() {
|
|
|
199
324
|
return false;
|
|
200
325
|
}
|
|
201
326
|
},
|
|
202
|
-
async getSessionInfo(
|
|
203
|
-
//
|
|
204
|
-
|
|
327
|
+
async getSessionInfo(session) {
|
|
328
|
+
// Read from Kiro's native session metadata (TUI v2 / ACP).
|
|
329
|
+
const kiroSessionId = await ensureKiroSessionId(session);
|
|
330
|
+
if (kiroSessionId && isValidSessionId(kiroSessionId)) {
|
|
331
|
+
try {
|
|
332
|
+
const jsonPath = join(KIRO_SESSIONS_DIR, `${kiroSessionId}.json`);
|
|
333
|
+
const raw = await readFile(jsonPath, "utf-8");
|
|
334
|
+
const meta = JSON.parse(raw);
|
|
335
|
+
return {
|
|
336
|
+
summary: meta.title ?? null,
|
|
337
|
+
summaryIsFallback: !meta.title,
|
|
338
|
+
agentSessionId: meta.session_id,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
// Fall through to fallback
|
|
343
|
+
}
|
|
344
|
+
}
|
|
205
345
|
return {
|
|
206
|
-
summary:
|
|
346
|
+
summary: "Kiro CLI session",
|
|
347
|
+
summaryIsFallback: true,
|
|
207
348
|
agentSessionId: null,
|
|
208
349
|
};
|
|
209
350
|
},
|
|
210
|
-
async getRestoreCommand(_session,
|
|
211
|
-
// kiro-cli chat --resume resumes the last session for the cwd.
|
|
212
|
-
// Each AO session has its own worktree dir, so --resume picks up
|
|
213
|
-
// the correct session automatically.
|
|
351
|
+
async getRestoreCommand(_session, project) {
|
|
214
352
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
215
|
-
const parts = [shellEscape(binary), "chat", "--resume"];
|
|
216
|
-
appendPermissionFlags(parts,
|
|
353
|
+
const parts = [shellEscape(binary), "chat", "--wrap", "never", "--resume"];
|
|
354
|
+
appendPermissionFlags(parts, project.agentConfig?.permissions);
|
|
217
355
|
return parts.join(" ");
|
|
218
356
|
},
|
|
219
357
|
async setupWorkspaceHooks(workspacePath, _config) {
|
|
220
358
|
await setupPathWrapperWorkspace(workspacePath);
|
|
221
359
|
},
|
|
222
360
|
async postLaunchSetup(session) {
|
|
361
|
+
// Ensure binary is resolved for future getLaunchCommand calls.
|
|
223
362
|
if (!resolvedBinary) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
363
|
+
ensureBinaryResolution();
|
|
364
|
+
if (resolvingBinary) {
|
|
365
|
+
try {
|
|
366
|
+
await resolvingBinary;
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
// Non-fatal
|
|
370
|
+
}
|
|
232
371
|
}
|
|
233
372
|
}
|
|
234
373
|
if (session.workspacePath) {
|
|
235
374
|
await setupPathWrapperWorkspace(session.workspacePath);
|
|
236
375
|
}
|
|
376
|
+
// Discover and map the Kiro session for this workspace.
|
|
377
|
+
// The Kiro CLI creates session files in ~/.kiro/sessions/cli/ with
|
|
378
|
+
// a `cwd` field matching the workspace path. We poll briefly because
|
|
379
|
+
// the session file may not exist immediately after launch.
|
|
380
|
+
if (session.workspacePath && !session.metadata["kiroSessionId"]) {
|
|
381
|
+
const maxWaitMs = 15_000;
|
|
382
|
+
const intervalMs = 1_000;
|
|
383
|
+
const deadline = Date.now() + maxWaitMs;
|
|
384
|
+
while (Date.now() < deadline) {
|
|
385
|
+
const kiroSession = await findKiroSession(session.workspacePath);
|
|
386
|
+
if (kiroSession) {
|
|
387
|
+
session.metadata["kiroSessionId"] = kiroSession.session_id;
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
await new Promise((r) => setTimeout(r, intervalMs));
|
|
391
|
+
}
|
|
392
|
+
}
|
|
237
393
|
},
|
|
238
394
|
};
|
|
239
395
|
}
|
|
@@ -245,7 +401,7 @@ export function create() {
|
|
|
245
401
|
}
|
|
246
402
|
export function detect() {
|
|
247
403
|
try {
|
|
248
|
-
execFileSync("kiro-cli", ["--version"], { stdio: "ignore" });
|
|
404
|
+
execFileSync("kiro-cli", ["--version"], { timeout: 10_000, stdio: "ignore" });
|
|
249
405
|
return true;
|
|
250
406
|
}
|
|
251
407
|
catch {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|