@autonsh/cli 0.17.2 → 0.19.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.
Files changed (136) hide show
  1. package/dist/chat.d.ts +1 -1
  2. package/dist/chat.js +166 -120
  3. package/dist/chat.js.map +1 -1
  4. package/dist/completion.d.ts +2 -0
  5. package/dist/completion.js +379 -0
  6. package/dist/completion.js.map +1 -0
  7. package/dist/config-validation.d.ts +10 -0
  8. package/dist/config-validation.js +101 -0
  9. package/dist/config-validation.js.map +1 -0
  10. package/dist/config.d.ts +9 -3
  11. package/dist/config.js +23 -11
  12. package/dist/config.js.map +1 -1
  13. package/dist/doctor.d.ts +18 -0
  14. package/dist/doctor.js +409 -0
  15. package/dist/doctor.js.map +1 -0
  16. package/dist/errors.d.ts +22 -0
  17. package/dist/errors.js +60 -0
  18. package/dist/errors.js.map +1 -0
  19. package/dist/index.js +304 -119
  20. package/dist/index.js.map +1 -1
  21. package/dist/input.d.ts +43 -0
  22. package/dist/input.js +288 -0
  23. package/dist/input.js.map +1 -0
  24. package/dist/llm/factory.d.ts +5 -0
  25. package/dist/llm/factory.js +54 -0
  26. package/dist/llm/factory.js.map +1 -0
  27. package/dist/llm/index.d.ts +9 -0
  28. package/dist/llm/index.js +11 -0
  29. package/dist/llm/index.js.map +1 -0
  30. package/dist/llm/provider.d.ts +27 -0
  31. package/dist/llm/provider.js +98 -0
  32. package/dist/llm/provider.js.map +1 -0
  33. package/dist/llm/providers/anthropic.d.ts +23 -0
  34. package/dist/llm/providers/anthropic.js +198 -0
  35. package/dist/llm/providers/anthropic.js.map +1 -0
  36. package/dist/llm/providers/google.d.ts +31 -0
  37. package/dist/llm/providers/google.js +190 -0
  38. package/dist/llm/providers/google.js.map +1 -0
  39. package/dist/llm/providers/ollama.d.ts +21 -0
  40. package/dist/llm/providers/ollama.js +157 -0
  41. package/dist/llm/providers/ollama.js.map +1 -0
  42. package/dist/llm/providers/openai-compatible.d.ts +22 -0
  43. package/dist/llm/providers/openai-compatible.js +175 -0
  44. package/dist/llm/providers/openai-compatible.js.map +1 -0
  45. package/dist/llm/providers/openai.d.ts +20 -0
  46. package/dist/llm/providers/openai.js +167 -0
  47. package/dist/llm/providers/openai.js.map +1 -0
  48. package/dist/llm/registry.d.ts +19 -0
  49. package/dist/llm/registry.js +421 -0
  50. package/dist/llm/registry.js.map +1 -0
  51. package/dist/llm/types.d.ts +174 -0
  52. package/dist/llm/types.js +3 -0
  53. package/dist/llm/types.js.map +1 -0
  54. package/dist/login.d.ts +1 -1
  55. package/dist/login.js +14 -14
  56. package/dist/login.js.map +1 -1
  57. package/dist/mcp/client.d.ts +36 -0
  58. package/dist/mcp/client.js +199 -0
  59. package/dist/mcp/client.js.map +1 -0
  60. package/dist/mcp/config.d.ts +10 -0
  61. package/dist/mcp/config.js +43 -0
  62. package/dist/mcp/config.js.map +1 -0
  63. package/dist/mcp/index.d.ts +4 -0
  64. package/dist/mcp/index.js +6 -0
  65. package/dist/mcp/index.js.map +1 -0
  66. package/dist/mcp/types.d.ts +104 -0
  67. package/dist/mcp/types.js +3 -0
  68. package/dist/mcp/types.js.map +1 -0
  69. package/dist/model.d.ts +3 -14
  70. package/dist/model.js +131 -91
  71. package/dist/model.js.map +1 -1
  72. package/dist/ollama.d.ts +10 -0
  73. package/dist/ollama.js +11 -0
  74. package/dist/ollama.js.map +1 -0
  75. package/dist/prompts.d.ts +34 -8
  76. package/dist/prompts.js +186 -8
  77. package/dist/prompts.js.map +1 -1
  78. package/dist/repomap.d.ts +37 -0
  79. package/dist/repomap.js +431 -0
  80. package/dist/repomap.js.map +1 -0
  81. package/dist/skills/index.d.ts +3 -0
  82. package/dist/skills/index.js +5 -0
  83. package/dist/skills/index.js.map +1 -0
  84. package/dist/skills/registry.d.ts +16 -0
  85. package/dist/skills/registry.js +128 -0
  86. package/dist/skills/registry.js.map +1 -0
  87. package/dist/skills/types.d.ts +48 -0
  88. package/dist/skills/types.js +3 -0
  89. package/dist/skills/types.js.map +1 -0
  90. package/dist/statusline.d.ts +21 -0
  91. package/dist/statusline.js +68 -0
  92. package/dist/statusline.js.map +1 -0
  93. package/dist/streaming.d.ts +25 -0
  94. package/dist/streaming.js +91 -0
  95. package/dist/streaming.js.map +1 -0
  96. package/dist/task.d.ts +9 -1
  97. package/dist/task.js +21 -0
  98. package/dist/task.js.map +1 -1
  99. package/dist/template-engine.d.ts +19 -0
  100. package/dist/template-engine.js +187 -0
  101. package/dist/template-engine.js.map +1 -0
  102. package/dist/template-registry.d.ts +36 -0
  103. package/dist/template-registry.js +294 -0
  104. package/dist/template-registry.js.map +1 -0
  105. package/dist/theme.d.ts +52 -0
  106. package/dist/theme.js +92 -0
  107. package/dist/theme.js.map +1 -0
  108. package/dist/tools/builtin.d.ts +11 -0
  109. package/dist/tools/builtin.js +491 -0
  110. package/dist/tools/builtin.js.map +1 -0
  111. package/dist/tools/index.d.ts +3 -0
  112. package/dist/tools/index.js +5 -0
  113. package/dist/tools/index.js.map +1 -0
  114. package/dist/tools/types.d.ts +186 -0
  115. package/dist/tools/types.js +29 -0
  116. package/dist/tools/types.js.map +1 -0
  117. package/dist/ui.js +34 -30
  118. package/dist/ui.js.map +1 -1
  119. package/dist/verbose.d.ts +20 -0
  120. package/dist/verbose.js +75 -0
  121. package/dist/verbose.js.map +1 -0
  122. package/package.json +12 -2
  123. package/templates/api-json/task.yaml +0 -2
  124. package/templates/coding/agent.md +39 -0
  125. package/templates/coding/agent.ts +83 -0
  126. package/templates/coding/task.yaml +36 -0
  127. package/templates/cron-digester/task.yaml +0 -2
  128. package/templates/harness/agent.md +43 -0
  129. package/templates/harness/harness.ts +145 -0
  130. package/templates/harness/task.yaml +4 -0
  131. package/templates/multi-agent/agent.ts +7 -8
  132. package/templates/multi-agent/task.yaml +1 -3
  133. package/templates/research/task.yaml +4 -0
  134. package/templates/support/task.yaml +0 -2
  135. package/templates/webhook-echo/task.yaml +0 -2
  136. package/templates/with-approval/task.yaml +0 -2
@@ -0,0 +1,37 @@
1
+ export interface RepoMapOptions {
2
+ maxFiles?: number;
3
+ maxDepth?: number;
4
+ maxBytesPerFileName?: number;
5
+ root?: string;
6
+ }
7
+ export interface FileInfo {
8
+ path: string;
9
+ language: string;
10
+ extension: string;
11
+ depth: number;
12
+ size: number;
13
+ }
14
+ export interface Count {
15
+ name: string;
16
+ count: number;
17
+ }
18
+ export interface RepoMapSnapshot {
19
+ root: string;
20
+ files: FileInfo[];
21
+ fileCount: number;
22
+ directoryCount: number;
23
+ maxDepth: number;
24
+ languageCounts: Count[];
25
+ extensionCounts: Count[];
26
+ importantFiles: string[];
27
+ tree: string[];
28
+ truncated: boolean;
29
+ }
30
+ export interface SearchResult {
31
+ path: string;
32
+ score: number;
33
+ reason: string;
34
+ }
35
+ export declare function scanRepoMap(options?: RepoMapOptions): RepoMapSnapshot;
36
+ export declare function searchRepoMap(snapshot: RepoMapSnapshot, query: string, limit?: number): SearchResult[];
37
+ export declare function formatRepoMapForPrompt(snapshot: RepoMapSnapshot, maxLines?: number): string;
@@ -0,0 +1,431 @@
1
+ // repomap.ts — Repository map scanner. Based on zero/internal/repomap/repomap.go + search.go
2
+ import { readdirSync, statSync } from "node:fs";
3
+ import { join, relative, extname, basename, sep } from "node:path";
4
+ const DEFAULT_MAX_FILES = 5000;
5
+ const DEFAULT_MAX_DEPTH = 10;
6
+ const DEFAULT_MAX_BYTES_PER_FILE_NAME = 100;
7
+ // Language detection by extension
8
+ const EXTENSION_LANGUAGE = {
9
+ ".ts": "TypeScript",
10
+ ".tsx": "TypeScript",
11
+ ".js": "JavaScript",
12
+ ".jsx": "JavaScript",
13
+ ".mjs": "JavaScript",
14
+ ".cjs": "JavaScript",
15
+ ".json": "JSON",
16
+ ".go": "Go",
17
+ ".rs": "Rust",
18
+ ".py": "Python",
19
+ ".java": "Java",
20
+ ".kt": "Kotlin",
21
+ ".swift": "Swift",
22
+ ".cpp": "C++",
23
+ ".cc": "C++",
24
+ ".cxx": "C++",
25
+ ".c": "C",
26
+ ".h": "C/C++",
27
+ ".hpp": "C++",
28
+ ".cs": "C#",
29
+ ".php": "PHP",
30
+ ".rb": "Ruby",
31
+ ".sh": "Shell",
32
+ ".bash": "Shell",
33
+ ".zsh": "Shell",
34
+ ".fish": "Shell",
35
+ ".ps1": "PowerShell",
36
+ ".sql": "SQL",
37
+ ".html": "HTML",
38
+ ".htm": "HTML",
39
+ ".css": "CSS",
40
+ ".scss": "SCSS",
41
+ ".sass": "Sass",
42
+ ".less": "Less",
43
+ ".vue": "Vue",
44
+ ".svelte": "Svelte",
45
+ ".astro": "Astro",
46
+ ".md": "Markdown",
47
+ ".mdx": "MDX",
48
+ ".yaml": "YAML",
49
+ ".yml": "YAML",
50
+ ".toml": "TOML",
51
+ ".ini": "INI",
52
+ ".cfg": "Config",
53
+ ".conf": "Config",
54
+ ".xml": "XML",
55
+ ".svg": "SVG",
56
+ ".dockerfile": "Dockerfile",
57
+ ".gitignore": "Git",
58
+ ".gitattributes": "Git",
59
+ ".editorconfig": "Config",
60
+ ".prettierrc": "Config",
61
+ ".eslintrc": "Config",
62
+ ".tsconfig": "Config",
63
+ };
64
+ const IMPORTANT_FILES = [
65
+ "package.json",
66
+ "pnpm-lock.yaml",
67
+ "yarn.lock",
68
+ "package-lock.json",
69
+ "bun.lockb",
70
+ "tsconfig.json",
71
+ "README.md",
72
+ "LICENSE",
73
+ "CHANGELOG.md",
74
+ "Makefile",
75
+ "docker-compose.yml",
76
+ "docker-compose.yaml",
77
+ "Dockerfile",
78
+ ".gitignore",
79
+ ".env",
80
+ ".env.example",
81
+ ".env.local",
82
+ "Cargo.toml",
83
+ "go.mod",
84
+ "pom.xml",
85
+ "build.gradle",
86
+ "pyproject.toml",
87
+ "setup.py",
88
+ "requirements.txt",
89
+ "composer.json",
90
+ "pubspec.yaml",
91
+ "deno.json",
92
+ "bunfig.toml",
93
+ ];
94
+ const SKIP_DIRS = new Set([
95
+ "node_modules",
96
+ ".git",
97
+ "dist",
98
+ "build",
99
+ "out",
100
+ ".next",
101
+ ".nuxt",
102
+ ".vercel",
103
+ ".netlify",
104
+ "target",
105
+ ".gradle",
106
+ "vendor",
107
+ "__pycache__",
108
+ ".pytest_cache",
109
+ ".mypy_cache",
110
+ ".coverage",
111
+ "coverage",
112
+ ".nyc_output",
113
+ "tmp",
114
+ "temp",
115
+ ".turbo",
116
+ ".parcel-cache",
117
+ ".esbuild",
118
+ ]);
119
+ const SKIP_FILES = new Set([".DS_Store", "Thumbs.db"]);
120
+ function languageForPath(filePath) {
121
+ const ext = extname(filePath).toLowerCase();
122
+ if (ext === "") {
123
+ const base = basename(filePath).toLowerCase();
124
+ if (base === "dockerfile")
125
+ return "Dockerfile";
126
+ if (base === "makefile")
127
+ return "Makefile";
128
+ if (base === "license")
129
+ return "Text";
130
+ if (base === "readme")
131
+ return "Markdown";
132
+ return "Text";
133
+ }
134
+ return EXTENSION_LANGUAGE[ext] ?? "Text";
135
+ }
136
+ function fileDepth(relPath) {
137
+ if (relPath === "." || relPath === "")
138
+ return 0;
139
+ return relPath.split(sep).length - 1;
140
+ }
141
+ function importantPriority(filePath) {
142
+ const base = basename(filePath).toLowerCase();
143
+ const idx = IMPORTANT_FILES.findIndex((f) => f.toLowerCase() === base);
144
+ if (idx >= 0)
145
+ return idx;
146
+ // Config files
147
+ if (base.startsWith(".") && (base.endsWith("rc") || base.endsWith("config") || base.includes("config")))
148
+ return 100;
149
+ // Root files
150
+ if (fileDepth(filePath) === 1)
151
+ return 200;
152
+ return 999;
153
+ }
154
+ export function scanRepoMap(options = {}) {
155
+ const root = options.root ?? process.cwd();
156
+ const maxFiles = options.maxFiles ?? DEFAULT_MAX_FILES;
157
+ const maxDepth = options.maxDepth ?? DEFAULT_MAX_DEPTH;
158
+ const maxBytesPerFileName = options.maxBytesPerFileName ?? DEFAULT_MAX_BYTES_PER_FILE_NAME;
159
+ const files = [];
160
+ let directoryCount = 0;
161
+ let truncated = false;
162
+ function walk(dir, currentDepth) {
163
+ if (truncated || files.length >= maxFiles) {
164
+ truncated = true;
165
+ return;
166
+ }
167
+ if (currentDepth > maxDepth)
168
+ return;
169
+ let entries;
170
+ try {
171
+ entries = readdirSync(dir);
172
+ }
173
+ catch {
174
+ return;
175
+ }
176
+ for (const entry of entries) {
177
+ if (truncated || files.length >= maxFiles) {
178
+ truncated = true;
179
+ break;
180
+ }
181
+ if (SKIP_FILES.has(entry))
182
+ continue;
183
+ const fullPath = join(dir, entry);
184
+ let stats;
185
+ try {
186
+ stats = statSync(fullPath);
187
+ }
188
+ catch {
189
+ continue;
190
+ }
191
+ if (stats.isDirectory()) {
192
+ if (SKIP_DIRS.has(entry))
193
+ continue;
194
+ if (!entry.startsWith(".") || entry === ".github" || entry === ".vscode") {
195
+ directoryCount++;
196
+ walk(fullPath, currentDepth + 1);
197
+ }
198
+ }
199
+ else if (stats.isFile()) {
200
+ const relPath = relative(root, fullPath);
201
+ if (relPath.startsWith(".."))
202
+ continue;
203
+ const depth = fileDepth(relPath);
204
+ if (depth > maxDepth)
205
+ continue;
206
+ const language = languageForPath(fullPath);
207
+ const extension = extname(fullPath).toLowerCase();
208
+ files.push({
209
+ path: relPath,
210
+ language,
211
+ extension: extension || "(none)",
212
+ depth,
213
+ size: stats.size,
214
+ });
215
+ }
216
+ }
217
+ }
218
+ walk(root, 0);
219
+ // Sort files by path
220
+ files.sort((a, b) => a.path.localeCompare(b.path));
221
+ // Counts
222
+ const langCounts = new Map();
223
+ const extCounts = new Map();
224
+ for (const f of files) {
225
+ if (f.language)
226
+ langCounts.set(f.language, (langCounts.get(f.language) ?? 0) + 1);
227
+ if (f.extension)
228
+ extCounts.set(f.extension, (extCounts.get(f.extension) ?? 0) + 1);
229
+ }
230
+ const languageCounts = Array.from(langCounts.entries())
231
+ .map(([name, count]) => ({ name, count }))
232
+ .sort((a, b) => b.count - a.count || a.name.localeCompare(b.name));
233
+ const extensionCounts = Array.from(extCounts.entries())
234
+ .map(([name, count]) => ({ name, count }))
235
+ .sort((a, b) => b.count - a.count || a.name.localeCompare(b.name));
236
+ // Important files
237
+ const important = files
238
+ .filter((f) => importantPriority(f.path) < 999)
239
+ .sort((a, b) => importantPriority(a.path) - importantPriority(b.path) || a.path.localeCompare(b.path))
240
+ .map((f) => f.path);
241
+ // Tree
242
+ const tree = buildTree(files);
243
+ return {
244
+ root,
245
+ files,
246
+ fileCount: files.length,
247
+ directoryCount,
248
+ maxDepth,
249
+ languageCounts,
250
+ extensionCounts,
251
+ importantFiles: important,
252
+ tree,
253
+ truncated,
254
+ };
255
+ }
256
+ function buildTree(files) {
257
+ const root = { dirs: new Map(), files: new Set() };
258
+ for (const file of files) {
259
+ const parts = file.path.split(sep);
260
+ let node = root;
261
+ for (const part of parts.slice(0, -1)) {
262
+ if (!node.dirs.has(part))
263
+ node.dirs.set(part, { dirs: new Map(), files: new Set() });
264
+ node = node.dirs.get(part);
265
+ }
266
+ const fileName = parts[parts.length - 1];
267
+ if (fileName)
268
+ node.files.add(fileName);
269
+ }
270
+ const lines = ["."];
271
+ function appendLines(node, depth) {
272
+ const entries = [];
273
+ for (const [name, child] of node.dirs)
274
+ entries.push({ name, isDir: true });
275
+ for (const name of node.files)
276
+ entries.push({ name, isDir: false });
277
+ entries.sort((a, b) => {
278
+ if (a.name !== b.name)
279
+ return a.name.localeCompare(b.name);
280
+ return a.isDir && !b.isDir ? -1 : 1;
281
+ });
282
+ for (const entry of entries) {
283
+ const prefix = " ".repeat(depth);
284
+ if (entry.isDir) {
285
+ lines.push(`${prefix}${entry.name}/`);
286
+ appendLines(node.dirs.get(entry.name), depth + 1);
287
+ }
288
+ else {
289
+ lines.push(`${prefix}${entry.name}`);
290
+ }
291
+ }
292
+ }
293
+ appendLines(root, 0);
294
+ return lines;
295
+ }
296
+ export function searchRepoMap(snapshot, query, limit = 20) {
297
+ const normalizedQuery = normalizeQuery(query);
298
+ if (!normalizedQuery || limit <= 0)
299
+ return [];
300
+ const terms = normalizedQuery.split(/\s+/).filter(Boolean);
301
+ if (terms.length === 0)
302
+ return [];
303
+ const results = [];
304
+ for (const file of snapshot.files) {
305
+ const displayPath = file.path;
306
+ const normalizedPath = normalizePath(displayPath);
307
+ if (!normalizedPath)
308
+ continue;
309
+ const { score, reason, ok } = scorePath(normalizedPath, normalizedQuery, terms);
310
+ if (ok) {
311
+ results.push({ path: displayPath, score, reason });
312
+ }
313
+ }
314
+ results.sort((a, b) => b.score - a.score || a.path.localeCompare(b.path));
315
+ return results.slice(0, limit);
316
+ }
317
+ function normalizeQuery(query) {
318
+ let q = query.trim();
319
+ q = q.replace(/^@/, "");
320
+ q = q.replace(/\\/g, "/");
321
+ q = q.replace(/^\/+|\/+$/g, "");
322
+ return q.toLowerCase();
323
+ }
324
+ function normalizePath(filePath) {
325
+ let p = filePath.trim();
326
+ p = p.replace(/\\/g, "/");
327
+ while (p.startsWith("./"))
328
+ p = p.slice(2);
329
+ return p.toLowerCase();
330
+ }
331
+ function scorePath(filePath, query, terms) {
332
+ if (terms.length === 1) {
333
+ const term = terms[0];
334
+ if (!term)
335
+ return { score: 0, reason: "", ok: false };
336
+ return scoreSingleTerm(filePath, term);
337
+ }
338
+ let totalScore = 0;
339
+ let matched = 0;
340
+ let bestReason = "";
341
+ for (const term of terms) {
342
+ const { score, reason, ok } = scoreSingleTerm(filePath, term);
343
+ if (ok) {
344
+ totalScore += scoreForMultiTerm(reason);
345
+ matched++;
346
+ if (!bestReason || scoreForMultiTerm(reason) > scoreForMultiTerm(bestReason)) {
347
+ bestReason = reason;
348
+ }
349
+ }
350
+ }
351
+ if (matched === 0)
352
+ return { score: 0, reason: "", ok: false };
353
+ if (matched === terms.length) {
354
+ totalScore += 300; // all terms bonus
355
+ totalScore += 400; // substring bonus
356
+ return { score: totalScore, reason: "multi-term", ok: true };
357
+ }
358
+ return { score: totalScore, reason: bestReason, ok: true };
359
+ }
360
+ function scoreSingleTerm(filePath, term) {
361
+ const basename_ = basename(filePath);
362
+ if (basename_ === term)
363
+ return { score: 1000, reason: "exact-basename", ok: true };
364
+ if (basename_.startsWith(term))
365
+ return { score: 800, reason: "prefix-basename", ok: true };
366
+ if (hasPathSegment(filePath, term))
367
+ return { score: 600, reason: "path-segment", ok: true };
368
+ if (filePath.includes(term))
369
+ return { score: 400, reason: "substring", ok: true };
370
+ if (fuzzyMatch(filePath, term))
371
+ return { score: 200, reason: "fuzzy", ok: true };
372
+ return { score: 0, reason: "", ok: false };
373
+ }
374
+ function scoreForMultiTerm(reason) {
375
+ switch (reason) {
376
+ case "exact-basename":
377
+ return 700;
378
+ case "path-segment":
379
+ return 650;
380
+ case "prefix-basename":
381
+ return 500;
382
+ case "substring":
383
+ return 350;
384
+ case "fuzzy":
385
+ return 100;
386
+ default:
387
+ return 0;
388
+ }
389
+ }
390
+ function hasPathSegment(filePath, term) {
391
+ return filePath.split("/").some((seg) => seg === term);
392
+ }
393
+ function fuzzyMatch(filePath, term) {
394
+ let pos = 0;
395
+ for (const char of term) {
396
+ const idx = filePath.indexOf(char, pos);
397
+ if (idx === -1)
398
+ return false;
399
+ pos = idx + 1;
400
+ }
401
+ return true;
402
+ }
403
+ export function formatRepoMapForPrompt(snapshot, maxLines = 100) {
404
+ const lines = [];
405
+ lines.push(`# Repository Map (${snapshot.fileCount} files, ${snapshot.directoryCount} dirs)`);
406
+ lines.push("");
407
+ if (snapshot.importantFiles.length > 0) {
408
+ lines.push("## Important Files");
409
+ for (const f of snapshot.importantFiles.slice(0, 20)) {
410
+ lines.push(` ${f}`);
411
+ }
412
+ lines.push("");
413
+ }
414
+ lines.push("## Languages");
415
+ for (const lc of snapshot.languageCounts.slice(0, 10)) {
416
+ lines.push(` ${lc.name}: ${lc.count}`);
417
+ }
418
+ lines.push("");
419
+ lines.push("## Tree");
420
+ for (const line of snapshot.tree.slice(0, maxLines)) {
421
+ lines.push(` ${line}`);
422
+ }
423
+ if (snapshot.tree.length > maxLines) {
424
+ lines.push(` ... (${snapshot.tree.length - maxLines} more)`);
425
+ }
426
+ if (snapshot.truncated) {
427
+ lines.push(` [truncated at ${DEFAULT_MAX_FILES} files]`);
428
+ }
429
+ return lines.join("\n");
430
+ }
431
+ //# sourceMappingURL=repomap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repomap.js","sourceRoot":"","sources":["../src/repomap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./types.js";
2
+ export * from "./registry.js";
3
+ export { BUILTIN_SKILLS, loadBuiltinSkills, ensureSkillsDir } from "./registry.js";
@@ -0,0 +1,5 @@
1
+ // index.ts — Skills package exports
2
+ export * from "./types.js";
3
+ export * from "./registry.js";
4
+ export { BUILTIN_SKILLS, loadBuiltinSkills, ensureSkillsDir } from "./registry.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Skill, SkillManifest, SkillRegistry, LoadedSkill } from "./types.js";
2
+ export declare class SkillsRegistry implements SkillRegistry {
3
+ skills: Map<string, LoadedSkill>;
4
+ private context;
5
+ constructor(cwd?: string);
6
+ load(manifest: SkillManifest): Promise<LoadedSkill>;
7
+ unload(name: string): Promise<void>;
8
+ get(name: string): LoadedSkill | undefined;
9
+ list(): LoadedSkill[];
10
+ private loadManifest;
11
+ }
12
+ export declare function ensureSkillsDir(): Promise<void>;
13
+ export declare const repoMapSkill: Skill;
14
+ export declare const mcpSkill: Skill;
15
+ export declare const BUILTIN_SKILLS: Skill[];
16
+ export declare function loadBuiltinSkills(registry: SkillsRegistry): Promise<void>;
@@ -0,0 +1,128 @@
1
+ // registry.ts — Skills registry. Based on openclaude/src/skills/ + zero/internal/skills/*
2
+ import { readFileSync, existsSync, mkdirSync } from "node:fs";
3
+ import { join, dirname } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ const __dirname = dirname(fileURLToPath(import.meta.url));
6
+ const AUTON_DIR = join(__dirname, "..", "..", "..", "..", "..", ".local", "share", "auton");
7
+ const SKILLS_DIR = join(AUTON_DIR, "skills");
8
+ const SKILLS_REGISTRY_FILE = join(AUTON_DIR, "skills.json");
9
+ export class SkillsRegistry {
10
+ skills = new Map();
11
+ context;
12
+ constructor(cwd = process.cwd()) {
13
+ this.context = {
14
+ cwd,
15
+ tools: new Map(),
16
+ registerTool: (name, tool) => this.context.tools.set(name, tool),
17
+ unregisterTool: (name) => this.context.tools.delete(name),
18
+ getTool: (name) => this.context.tools.get(name),
19
+ };
20
+ }
21
+ async load(manifest) {
22
+ if (this.skills.has(manifest.name)) {
23
+ await this.unload(manifest.name);
24
+ }
25
+ // Load dependencies first
26
+ for (const dep of manifest.dependencies ?? []) {
27
+ if (!this.skills.has(dep)) {
28
+ // Try to load from registry
29
+ const depManifest = await this.loadManifest(dep);
30
+ if (depManifest)
31
+ await this.load(depManifest);
32
+ }
33
+ }
34
+ // Dynamic import of skill entry
35
+ const entryPath = join(SKILLS_DIR, manifest.name, manifest.entry);
36
+ let skillModule;
37
+ try {
38
+ skillModule = await import(entryPath);
39
+ }
40
+ catch (e) {
41
+ throw new Error(`Failed to load skill ${manifest.name}: ${e}`);
42
+ }
43
+ const skill = "default" in skillModule ? skillModule.default : skillModule;
44
+ const tools = new Map();
45
+ // Register tools provided by this skill
46
+ if (skill.tools) {
47
+ for (const toolName of skill.tools) {
48
+ // Tool registration would happen here
49
+ }
50
+ }
51
+ const loaded = { manifest, instance: skill, tools };
52
+ this.skills.set(manifest.name, loaded);
53
+ // Call onLoad
54
+ if (skill.onLoad) {
55
+ await skill.onLoad(this.context);
56
+ }
57
+ return loaded;
58
+ }
59
+ async unload(name) {
60
+ const loaded = this.skills.get(name);
61
+ if (!loaded)
62
+ return;
63
+ if (loaded.instance.onUnload) {
64
+ await loaded.instance.onUnload(this.context);
65
+ }
66
+ // Unregister tools
67
+ for (const [toolName] of loaded.tools) {
68
+ this.context.unregisterTool(toolName);
69
+ }
70
+ this.skills.delete(name);
71
+ }
72
+ get(name) {
73
+ return this.skills.get(name);
74
+ }
75
+ list() {
76
+ return Array.from(this.skills.values());
77
+ }
78
+ async loadManifest(name) {
79
+ const manifestPath = join(SKILLS_DIR, name, "skill.json");
80
+ if (!existsSync(manifestPath))
81
+ return null;
82
+ try {
83
+ return JSON.parse(readFileSync(manifestPath, "utf-8"));
84
+ }
85
+ catch {
86
+ return null;
87
+ }
88
+ }
89
+ }
90
+ // Built-in skills directory
91
+ export async function ensureSkillsDir() {
92
+ mkdirSync(SKILLS_DIR, { recursive: true });
93
+ mkdirSync(join(SKILLS_DIR, "builtin"), { recursive: true });
94
+ }
95
+ // Built-in: repo-map skill
96
+ export const repoMapSkill = {
97
+ name: "repo-map",
98
+ description: "Repository mapping and search",
99
+ version: "1.0.0",
100
+ tools: ["repo_map", "repo_search"],
101
+ async onLoad(_context) {
102
+ // Tools registered via tools/builtin.ts
103
+ },
104
+ };
105
+ // Built-in: mcp skill
106
+ export const mcpSkill = {
107
+ name: "mcp",
108
+ description: "MCP server integration",
109
+ version: "1.0.0",
110
+ tools: ["mcp_call", "mcp_list"],
111
+ async onLoad(_context) {
112
+ // Tools registered via tools/builtin.ts
113
+ },
114
+ };
115
+ // Register built-in skills
116
+ export const BUILTIN_SKILLS = [repoMapSkill, mcpSkill];
117
+ export async function loadBuiltinSkills(registry) {
118
+ for (const skill of BUILTIN_SKILLS) {
119
+ await registry.load({
120
+ name: skill.name,
121
+ version: skill.version,
122
+ description: skill.description,
123
+ entry: "", // built-in, no entry file
124
+ provides: { tools: skill.tools },
125
+ });
126
+ }
127
+ }
128
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"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"}