@codeatlasdev/ao-plugin-agent-kiro 0.1.0 → 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/README.md +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +222 -60
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
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,36 +150,44 @@ 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
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Regex to detect kiro-cli processes in ps output.
|
|
156
|
+
*/
|
|
157
|
+
const KIRO_PROCESS_RE = /(?:^|\/)kiro-cli(?:-chat)?(?:\s|$)/;
|
|
61
158
|
function createKiroAgent() {
|
|
62
159
|
let resolvedBinary = null;
|
|
63
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();
|
|
64
173
|
return {
|
|
65
174
|
name: "kiro",
|
|
66
175
|
processName: "kiro-cli",
|
|
67
|
-
promptDelivery: "
|
|
176
|
+
promptDelivery: "post-launch",
|
|
68
177
|
getLaunchCommand(config) {
|
|
69
178
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
70
|
-
const parts = [shellEscape(binary), "chat"];
|
|
179
|
+
const parts = [shellEscape(binary), "chat", "--wrap", "never"];
|
|
71
180
|
appendPermissionFlags(parts, config.permissions);
|
|
72
|
-
if (config.
|
|
73
|
-
|
|
74
|
-
const combined = config.prompt
|
|
75
|
-
? `${config.systemPrompt}\n\n---\n\n${config.prompt}`
|
|
76
|
-
: config.systemPrompt;
|
|
77
|
-
parts.push(shellEscape(combined));
|
|
181
|
+
if (config.model) {
|
|
182
|
+
parts.push("--model", shellEscape(config.model));
|
|
78
183
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const fileRead = `$(cat ${shellEscape(config.systemPromptFile)})`;
|
|
82
|
-
const combined = config.prompt
|
|
83
|
-
? `${fileRead}\n\n---\n\n${shellEscape(config.prompt)}`
|
|
84
|
-
: fileRead;
|
|
85
|
-
parts.push(combined);
|
|
184
|
+
if (config.systemPromptFile) {
|
|
185
|
+
parts.push(`"$(cat ${shellEscape(config.systemPromptFile)})"`);
|
|
86
186
|
}
|
|
87
|
-
else if (config.
|
|
88
|
-
|
|
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));
|
|
89
191
|
}
|
|
90
192
|
return parts.join(" ");
|
|
91
193
|
},
|
|
@@ -97,6 +199,7 @@ function createKiroAgent() {
|
|
|
97
199
|
}
|
|
98
200
|
env["PATH"] = buildAgentPath(process.env["PATH"]);
|
|
99
201
|
env["GH_PATH"] = PREFERRED_GH_PATH;
|
|
202
|
+
env["KIRO_LOG_LEVEL"] = "warn";
|
|
100
203
|
return env;
|
|
101
204
|
},
|
|
102
205
|
detectActivity(terminalOutput) {
|
|
@@ -104,22 +207,28 @@ function createKiroAgent() {
|
|
|
104
207
|
return "idle";
|
|
105
208
|
const lines = terminalOutput.trim().split("\n");
|
|
106
209
|
const lastLine = lines[lines.length - 1]?.trim() ?? "";
|
|
107
|
-
const tail = lines.slice(-
|
|
108
|
-
//
|
|
109
|
-
|
|
210
|
+
const tail = lines.slice(-10).join("\n");
|
|
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))
|
|
110
214
|
return "ready";
|
|
111
|
-
//
|
|
112
|
-
if (
|
|
215
|
+
// === Legacy CLI patterns (v1) ===
|
|
216
|
+
if (/^(\[[\w-]+\]\s*)?[>❯]\s*$/.test(lastLine))
|
|
217
|
+
return "ready";
|
|
218
|
+
// === Permission / trust prompts (both v1 and v2) ===
|
|
219
|
+
if (/\b(allow|deny|approve|confirm)\b/i.test(tail))
|
|
113
220
|
return "waiting_input";
|
|
114
|
-
}
|
|
115
221
|
if (/\(y\)es.*\(n\)o/i.test(tail))
|
|
116
222
|
return "waiting_input";
|
|
117
223
|
if (/\[y\/n\]/i.test(tail))
|
|
118
224
|
return "waiting_input";
|
|
119
|
-
|
|
120
|
-
|
|
225
|
+
if (/trust.*(?:exact|command|directory|tool)/i.test(tail))
|
|
226
|
+
return "waiting_input";
|
|
227
|
+
// === Error patterns ===
|
|
228
|
+
if (/\b(error|fatal|panic|exception)\b/i.test(lastLine))
|
|
229
|
+
return "blocked";
|
|
230
|
+
if (/logged?\s*in|auth|unauthorized/i.test(lastLine))
|
|
121
231
|
return "blocked";
|
|
122
|
-
}
|
|
123
232
|
return "active";
|
|
124
233
|
},
|
|
125
234
|
async getActivityState(session, readyThresholdMs) {
|
|
@@ -132,27 +241,49 @@ function createKiroAgent() {
|
|
|
132
241
|
return { state: "exited", timestamp: new Date() };
|
|
133
242
|
if (!session.workspacePath)
|
|
134
243
|
return null;
|
|
135
|
-
// Check AO activity JSONL (
|
|
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.
|
|
136
246
|
const activityResult = await readLastActivityEntry(session.workspacePath);
|
|
137
247
|
const activityState = checkActivityLogState(activityResult);
|
|
138
248
|
if (activityState)
|
|
139
249
|
return activityState;
|
|
140
|
-
//
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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 };
|
|
146
269
|
},
|
|
147
270
|
async recordActivity(session, terminalOutput) {
|
|
148
271
|
if (!session.workspacePath)
|
|
149
272
|
return;
|
|
150
|
-
|
|
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
|
+
}
|
|
151
282
|
},
|
|
152
283
|
async isProcessRunning(handle) {
|
|
153
284
|
try {
|
|
154
285
|
if (handle.runtimeName === "tmux" && handle.id) {
|
|
155
|
-
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 });
|
|
156
287
|
const ttys = ttyOut
|
|
157
288
|
.trim()
|
|
158
289
|
.split("\n")
|
|
@@ -160,14 +291,13 @@ function createKiroAgent() {
|
|
|
160
291
|
.filter(Boolean);
|
|
161
292
|
if (ttys.length === 0)
|
|
162
293
|
return false;
|
|
163
|
-
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 });
|
|
164
295
|
const ttySet = new Set(ttys.map((t) => t.replace(/^\/dev\//, "")));
|
|
165
|
-
const processRe = /(?:^|\/)kiro-cli(?:\s|$)/;
|
|
166
296
|
for (const line of psOut.split("\n")) {
|
|
167
297
|
const cols = line.trimStart().split(/\s+/);
|
|
168
298
|
if (cols.length < 3 || !ttySet.has(cols[1] ?? ""))
|
|
169
299
|
continue;
|
|
170
|
-
if (
|
|
300
|
+
if (KIRO_PROCESS_RE.test(cols.slice(2).join(" ")))
|
|
171
301
|
return true;
|
|
172
302
|
}
|
|
173
303
|
return false;
|
|
@@ -194,40 +324,72 @@ function createKiroAgent() {
|
|
|
194
324
|
return false;
|
|
195
325
|
}
|
|
196
326
|
},
|
|
197
|
-
async getSessionInfo(
|
|
198
|
-
//
|
|
199
|
-
|
|
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
|
+
}
|
|
200
345
|
return {
|
|
201
|
-
summary:
|
|
346
|
+
summary: "Kiro CLI session",
|
|
347
|
+
summaryIsFallback: true,
|
|
202
348
|
agentSessionId: null,
|
|
203
349
|
};
|
|
204
350
|
},
|
|
205
|
-
async getRestoreCommand(_session,
|
|
206
|
-
// kiro-cli chat --resume resumes the last session for the cwd.
|
|
207
|
-
// Since each AO session has its own worktree, this picks up the right one.
|
|
351
|
+
async getRestoreCommand(_session, project) {
|
|
208
352
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
209
|
-
const parts = [shellEscape(binary), "chat", "--resume"];
|
|
210
|
-
appendPermissionFlags(parts,
|
|
353
|
+
const parts = [shellEscape(binary), "chat", "--wrap", "never", "--resume"];
|
|
354
|
+
appendPermissionFlags(parts, project.agentConfig?.permissions);
|
|
211
355
|
return parts.join(" ");
|
|
212
356
|
},
|
|
213
357
|
async setupWorkspaceHooks(workspacePath, _config) {
|
|
214
358
|
await setupPathWrapperWorkspace(workspacePath);
|
|
215
359
|
},
|
|
216
360
|
async postLaunchSetup(session) {
|
|
361
|
+
// Ensure binary is resolved for future getLaunchCommand calls.
|
|
217
362
|
if (!resolvedBinary) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
363
|
+
ensureBinaryResolution();
|
|
364
|
+
if (resolvingBinary) {
|
|
365
|
+
try {
|
|
366
|
+
await resolvingBinary;
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
// Non-fatal
|
|
370
|
+
}
|
|
226
371
|
}
|
|
227
372
|
}
|
|
228
373
|
if (session.workspacePath) {
|
|
229
374
|
await setupPathWrapperWorkspace(session.workspacePath);
|
|
230
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
|
+
}
|
|
231
393
|
},
|
|
232
394
|
};
|
|
233
395
|
}
|
|
@@ -239,7 +401,7 @@ export function create() {
|
|
|
239
401
|
}
|
|
240
402
|
export function detect() {
|
|
241
403
|
try {
|
|
242
|
-
execFileSync("kiro-cli", ["--version"], { stdio: "ignore" });
|
|
404
|
+
execFileSync("kiro-cli", ["--version"], { timeout: 10_000, stdio: "ignore" });
|
|
243
405
|
return true;
|
|
244
406
|
}
|
|
245
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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"}
|