atom-lite 0.5.1 → 0.6.2

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 (59) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +40 -107
  3. package/dist/agent/loop.d.ts +6 -0
  4. package/dist/agent/loop.js +45 -11
  5. package/dist/agent/loop.js.map +1 -1
  6. package/dist/agent/system-prompt.d.ts +1 -0
  7. package/dist/agent/system-prompt.js +23 -0
  8. package/dist/agent/system-prompt.js.map +1 -0
  9. package/dist/agent/types.d.ts +11 -0
  10. package/dist/cli/app.js +203 -41
  11. package/dist/cli/app.js.map +1 -1
  12. package/dist/cli/diff-view.d.ts +18 -0
  13. package/dist/cli/diff-view.js +66 -0
  14. package/dist/cli/diff-view.js.map +1 -0
  15. package/dist/cli/panel.js +8 -8
  16. package/dist/cli/panel.js.map +1 -1
  17. package/dist/cli/status-line.d.ts +2 -0
  18. package/dist/cli/status-line.js +9 -1
  19. package/dist/cli/status-line.js.map +1 -1
  20. package/dist/cli/tool-box.d.ts +1 -1
  21. package/dist/cli/tool-box.js +44 -39
  22. package/dist/cli/tool-box.js.map +1 -1
  23. package/dist/config/defaults.d.ts +4 -5
  24. package/dist/config/defaults.js +6 -3
  25. package/dist/config/defaults.js.map +1 -1
  26. package/dist/config/load.js +29 -3
  27. package/dist/config/load.js.map +1 -1
  28. package/dist/config/schema.d.ts +10 -14
  29. package/dist/config/schema.js +4 -5
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/context/manager.js +1 -1
  32. package/dist/context/manager.js.map +1 -1
  33. package/dist/runtime/modes.d.ts +3 -0
  34. package/dist/runtime/modes.js +8 -0
  35. package/dist/runtime/modes.js.map +1 -0
  36. package/dist/runtime/tool-executor.js +10 -0
  37. package/dist/runtime/tool-executor.js.map +1 -1
  38. package/dist/skills/registry.js +8 -1
  39. package/dist/skills/registry.js.map +1 -1
  40. package/dist/tools/bash.js +1 -1
  41. package/dist/tools/bash.js.map +1 -1
  42. package/dist/tools/glob.d.ts +2 -0
  43. package/dist/tools/glob.js +97 -0
  44. package/dist/tools/glob.js.map +1 -0
  45. package/dist/tools/grep.d.ts +2 -0
  46. package/dist/tools/grep.js +290 -0
  47. package/dist/tools/grep.js.map +1 -0
  48. package/dist/tools/index.d.ts +2 -0
  49. package/dist/tools/index.js +2 -0
  50. package/dist/tools/index.js.map +1 -1
  51. package/dist/tools/types.d.ts +2 -0
  52. package/dist/types.d.ts +0 -3
  53. package/dist/types.js +1 -4
  54. package/dist/types.js.map +1 -1
  55. package/package.json +3 -2
  56. package/skills/atom-lite-extensions/SKILL.md +240 -0
  57. package/skills/caveman/SKILL.md +89 -0
  58. package/skills/code-review/SKILL.md +46 -0
  59. package/skills/optimization/SKILL.md +51 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;aAC5C;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,KAAK,CAAC,OAAO,CAAC,IAAc,EAAE,GAAgB;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO;gBACzD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,wBAAwB;gBACjC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClD,OAAO;gBACP,GAAG,EAAE,OAAO;gBACZ,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,UAAU,EAAE,IAAI,CAAC,EAAE;oBACnB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,OAAO,CAAa,CAAC,cAAc,EAAE,EAAE;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAC1C,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;aACvC,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC;YAC5C,MAAM,MAAM,GAAG,CAAC,MAAqB,EAAE,KAAa,EAAE,EAAE;gBACtD,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACnC,SAAS,GAAG,IAAI,CAAC;wBACjB,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxD,MAAM,IAAI,QAAQ,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACnC,SAAS,GAAG,IAAI,CAAC;wBACjB,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxD,MAAM,IAAI,QAAQ,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,YAAY,EAAE,CAChB,IAAI,EACJ,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EACtC,QAAQ,CACT,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACvC,UAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACzE,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,aAAa,GAAG,IAAI,CAAC;gBACrB,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACvC,UAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACzE,CAAC,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,cAAc,CAAC;oBACb,UAAU,EAAE,IAAI,CAAC,EAAE;oBACnB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,mBAAmB,GAAG,CAAC,OAAO,EAAE;oBACzC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACjC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACpC,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;gBAC3C,IAAI,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBAC5C,IAAI,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC5C,IAAI,aAAa;oBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACjD,IAAI,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;gBACvC,IAAI,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;gBAC7C,IAAI,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,QAAQ,IAAI,aAAa,CAAC;gBACvD,cAAc,CAAC;oBACb,UAAU,EAAE,IAAI,CAAC,EAAE;oBACnB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzB,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "./types.js";
2
+ export declare const globTool: Tool;
@@ -0,0 +1,97 @@
1
+ import { existsSync } from "node:fs";
2
+ import * as fs from "node:fs";
3
+ import { resolve, relative } from "node:path";
4
+ import { spawnSync } from "node:child_process";
5
+ import { isWithinWorkspace } from "../security/paths.js";
6
+ import { z } from "zod";
7
+ const ArgsSchema = z
8
+ .object({
9
+ pattern: z.string(),
10
+ path: z.string().optional(),
11
+ max_results: z.number().int().positive().optional(),
12
+ })
13
+ .strict();
14
+ const DEFAULT_MAX = 1000;
15
+ export const globTool = {
16
+ definition: {
17
+ name: "glob",
18
+ description: "Find files matching a glob pattern.",
19
+ parameters: {
20
+ type: "object",
21
+ properties: {
22
+ pattern: { type: "string" },
23
+ path: { type: "string" },
24
+ max_results: { type: "integer", minimum: 1 },
25
+ },
26
+ required: ["pattern"],
27
+ additionalProperties: false,
28
+ },
29
+ },
30
+ annotations: { readOnlyHint: true },
31
+ async execute(call, ctx) {
32
+ const parsed = ArgsSchema.safeParse(call.arguments);
33
+ if (!parsed.success) {
34
+ return {
35
+ toolCallId: call.id,
36
+ name: "glob",
37
+ content: "TOOL_ARGUMENT_INVALID: " + parsed.error.message,
38
+ isError: true,
39
+ };
40
+ }
41
+ const { pattern, path: searchPath, max_results = DEFAULT_MAX } = parsed.data;
42
+ const root = searchPath ? resolve(ctx.workspace, searchPath) : ctx.workspace;
43
+ if (searchPath && !isWithinWorkspace(ctx.workspace, searchPath)) {
44
+ return {
45
+ toolCallId: call.id,
46
+ name: "glob",
47
+ content: "PATH_OUTSIDE_WORKSPACE",
48
+ isError: true,
49
+ };
50
+ }
51
+ if (!existsSync(root)) {
52
+ return {
53
+ toolCallId: call.id,
54
+ name: "glob",
55
+ content: "PATH_NOT_FOUND",
56
+ isError: true,
57
+ };
58
+ }
59
+ // Try ripgrep --files for speed.
60
+ const res = spawnSync("rg", ["--hidden", "--files", "-g", pattern, root], {
61
+ encoding: "utf8",
62
+ maxBuffer: 10 * 1024 * 1024,
63
+ timeout: 30000,
64
+ });
65
+ let matches;
66
+ if (res.error) {
67
+ // Fallback to Node fs.globSync.
68
+ try {
69
+ matches = fs.globSync(pattern, { cwd: root });
70
+ matches = matches.map((m) => resolve(root, m));
71
+ }
72
+ catch (err) {
73
+ return {
74
+ toolCallId: call.id,
75
+ name: "glob",
76
+ content: "INVALID_GLOB: " + (err instanceof Error ? err.message : String(err)),
77
+ isError: true,
78
+ };
79
+ }
80
+ }
81
+ else {
82
+ matches = (res.stdout || "")
83
+ .split("\n")
84
+ .filter((l) => l.length > 0);
85
+ }
86
+ const out = matches
87
+ .map((m) => relative(ctx.workspace, resolve(root, m)))
88
+ .sort()
89
+ .slice(0, max_results);
90
+ return {
91
+ toolCallId: call.id,
92
+ name: "glob",
93
+ content: out.join("\n") || "(no matches)",
94
+ };
95
+ },
96
+ };
97
+ //# sourceMappingURL=glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "./types.js";
2
+ export declare const grepTool: Tool;
@@ -0,0 +1,290 @@
1
+ import { readdirSync, statSync, readFileSync, existsSync } from "node:fs";
2
+ import * as fs from "node:fs";
3
+ import { resolve, relative, join } from "node:path";
4
+ import { spawnSync } from "node:child_process";
5
+ import { isWithinWorkspace } from "../security/paths.js";
6
+ import { z } from "zod";
7
+ const ArgsSchema = z
8
+ .object({
9
+ pattern: z.string(),
10
+ path: z.string().optional(),
11
+ glob: z.string().optional(),
12
+ case_sensitive: z.boolean().optional(),
13
+ context: z.number().int().min(0).optional(),
14
+ max_results: z.number().int().positive().optional(),
15
+ output_mode: z.enum(["content", "files_with_matches", "count"]).optional(),
16
+ })
17
+ .strict();
18
+ const MAX_FILE_BYTES = 1_000_000;
19
+ const DEFAULT_MAX = 100;
20
+ const SKIP_DIRS = new Set([".git", "node_modules", "dist", ".next"]);
21
+ function collectFiles(root, globPattern) {
22
+ try {
23
+ if (statSync(root).isFile())
24
+ return [root];
25
+ }
26
+ catch {
27
+ // fall through
28
+ }
29
+ if (globPattern) {
30
+ try {
31
+ const matches = fs.globSync(globPattern, { cwd: root });
32
+ return matches.map((m) => resolve(root, m));
33
+ }
34
+ catch {
35
+ // fall through to walk
36
+ }
37
+ }
38
+ const out = [];
39
+ const walk = (dir) => {
40
+ let entries;
41
+ try {
42
+ entries = readdirSync(dir, { withFileTypes: true });
43
+ }
44
+ catch {
45
+ return;
46
+ }
47
+ for (const e of entries) {
48
+ if (SKIP_DIRS.has(e.name))
49
+ continue;
50
+ const full = join(dir, e.name);
51
+ if (e.isDirectory())
52
+ walk(full);
53
+ else if (e.isFile())
54
+ out.push(full);
55
+ }
56
+ };
57
+ walk(root);
58
+ return out;
59
+ }
60
+ function isBinary(buf) {
61
+ for (let i = 0; i < Math.min(buf.length, 8000); i++) {
62
+ if (buf[i] === 0)
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ function grepJs(root, ctx, pattern, caseSensitive, globPattern, context, maxResults, outputMode, cap) {
68
+ const files = collectFiles(root, globPattern);
69
+ let output = "";
70
+ let matchCount = 0;
71
+ const filesWithMatches = new Set();
72
+ const counts = new Map();
73
+ let regex;
74
+ try {
75
+ regex = new RegExp(pattern, caseSensitive ? "g" : "gi");
76
+ }
77
+ catch (err) {
78
+ return "INVALID_REGEX: " + (err instanceof Error ? err.message : String(err));
79
+ }
80
+ for (const file of files) {
81
+ if (matchCount >= maxResults && outputMode === "content")
82
+ break;
83
+ let buf;
84
+ try {
85
+ const st = statSync(file);
86
+ if (st.size > MAX_FILE_BYTES)
87
+ continue;
88
+ buf = readFileSync(file);
89
+ }
90
+ catch {
91
+ continue;
92
+ }
93
+ if (isBinary(buf))
94
+ continue;
95
+ const text = buf.toString("utf8");
96
+ const lines = text.split(/\r?\n/);
97
+ const rel = relative(ctx.workspace, file) || file;
98
+ let fileMatched = false;
99
+ for (let i = 0; i < lines.length; i++) {
100
+ regex.lastIndex = 0;
101
+ if (!regex.test(lines[i]))
102
+ continue;
103
+ fileMatched = true;
104
+ counts.set(rel, (counts.get(rel) ?? 0) + 1);
105
+ if (outputMode === "content") {
106
+ if (matchCount >= maxResults)
107
+ continue;
108
+ if (context > 0) {
109
+ const start = Math.max(0, i - context);
110
+ const end = Math.min(lines.length - 1, i + context);
111
+ for (let j = start; j <= end; j++) {
112
+ const prefix = j === i ? `${rel}:${j + 1}:` : `${rel}-${j + 1}-`;
113
+ const line = `${prefix} ${lines[j]}`;
114
+ if (output.length + line.length + 1 > cap)
115
+ break;
116
+ output += line + "\n";
117
+ }
118
+ }
119
+ else {
120
+ const line = `${rel}:${i + 1}: ${lines[i]}`;
121
+ if (output.length + line.length + 1 > cap)
122
+ break;
123
+ output += line + "\n";
124
+ }
125
+ matchCount++;
126
+ }
127
+ }
128
+ if (fileMatched)
129
+ filesWithMatches.add(rel);
130
+ }
131
+ if (outputMode === "files_with_matches") {
132
+ return [...filesWithMatches].slice(0, maxResults).join("\n") || "(no matches)";
133
+ }
134
+ if (outputMode === "count") {
135
+ return [...counts.entries()]
136
+ .map(([f, n]) => `${f}: ${n}`)
137
+ .slice(0, maxResults)
138
+ .join("\n") || "(no matches)";
139
+ }
140
+ return output.trimEnd() || "(no matches)";
141
+ }
142
+ function toRelative(p, root, workspace) {
143
+ const abs = resolve(root, p);
144
+ return relative(workspace, abs) || p;
145
+ }
146
+ export const grepTool = {
147
+ definition: {
148
+ name: "grep",
149
+ description: "Search file contents by regular expression.",
150
+ parameters: {
151
+ type: "object",
152
+ properties: {
153
+ pattern: { type: "string" },
154
+ path: { type: "string" },
155
+ glob: { type: "string" },
156
+ case_sensitive: { type: "boolean" },
157
+ context: { type: "integer", minimum: 0 },
158
+ max_results: { type: "integer", minimum: 1 },
159
+ output_mode: {
160
+ type: "string",
161
+ enum: ["content", "files_with_matches", "count"],
162
+ },
163
+ },
164
+ required: ["pattern"],
165
+ additionalProperties: false,
166
+ },
167
+ },
168
+ annotations: { readOnlyHint: true },
169
+ async execute(call, ctx) {
170
+ const parsed = ArgsSchema.safeParse(call.arguments);
171
+ if (!parsed.success) {
172
+ return {
173
+ toolCallId: call.id,
174
+ name: "grep",
175
+ content: "TOOL_ARGUMENT_INVALID: " + parsed.error.message,
176
+ isError: true,
177
+ };
178
+ }
179
+ const { pattern, path: searchPath, glob: globPattern, case_sensitive = true, context = 0, max_results = DEFAULT_MAX, output_mode = "content", } = parsed.data;
180
+ const root = searchPath ? resolve(ctx.workspace, searchPath) : ctx.workspace;
181
+ if (searchPath && !isWithinWorkspace(ctx.workspace, searchPath)) {
182
+ return {
183
+ toolCallId: call.id,
184
+ name: "grep",
185
+ content: "PATH_OUTSIDE_WORKSPACE",
186
+ isError: true,
187
+ };
188
+ }
189
+ if (!existsSync(root)) {
190
+ return {
191
+ toolCallId: call.id,
192
+ name: "grep",
193
+ content: "PATH_NOT_FOUND",
194
+ isError: true,
195
+ };
196
+ }
197
+ // Try ripgrep first for speed.
198
+ const rgArgs = [];
199
+ if (!case_sensitive)
200
+ rgArgs.push("-i");
201
+ if (globPattern)
202
+ rgArgs.push("-g", globPattern);
203
+ if (context > 0)
204
+ rgArgs.push("-C", String(context));
205
+ if (output_mode === "files_with_matches")
206
+ rgArgs.push("-l");
207
+ else if (output_mode === "count")
208
+ rgArgs.push("-c");
209
+ rgArgs.push("--hidden", "--color=never", "-H", "-n");
210
+ rgArgs.push(pattern);
211
+ rgArgs.push(root);
212
+ const res = spawnSync("rg", rgArgs, {
213
+ encoding: "utf8",
214
+ maxBuffer: 10 * 1024 * 1024,
215
+ timeout: 30000,
216
+ });
217
+ if (res.error || (res.status !== 0 && res.status !== 1)) {
218
+ // Fallback to JS implementation.
219
+ const content = grepJs(root, ctx, pattern, case_sensitive, globPattern, context, max_results, output_mode, ctx.maxToolOutputBytes ?? 30000);
220
+ if (content.startsWith("INVALID_REGEX")) {
221
+ return {
222
+ toolCallId: call.id,
223
+ name: "grep",
224
+ content,
225
+ isError: true,
226
+ };
227
+ }
228
+ return { toolCallId: call.id, name: "grep", content };
229
+ }
230
+ const cap = ctx.maxToolOutputBytes ?? 30000;
231
+ let output = "";
232
+ const filesWithMatches = new Set();
233
+ const counts = [];
234
+ const lines = (res.stdout || "").split("\n").filter((l) => l.length > 0);
235
+ if (output_mode === "files_with_matches") {
236
+ const list = lines
237
+ .map((l) => toRelative(l, root, ctx.workspace))
238
+ .slice(0, max_results);
239
+ return {
240
+ toolCallId: call.id,
241
+ name: "grep",
242
+ content: list.join("\n") || "(no matches)",
243
+ };
244
+ }
245
+ if (output_mode === "count") {
246
+ const list = lines
247
+ .map((l) => {
248
+ const idx = l.lastIndexOf(":");
249
+ const file = l.slice(0, idx);
250
+ const n = l.slice(idx + 1);
251
+ return `${toRelative(file, root, ctx.workspace)}: ${n}`;
252
+ })
253
+ .slice(0, max_results);
254
+ return {
255
+ toolCallId: call.id,
256
+ name: "grep",
257
+ content: list.join("\n") || "(no matches)",
258
+ };
259
+ }
260
+ let matchCount = 0;
261
+ for (const line of lines) {
262
+ if (matchCount >= max_results)
263
+ break;
264
+ // content or context lines
265
+ const m = line.match(/^(.+?):(\d+):(.*)$/);
266
+ const ctxm = line.match(/^(.+?)-(\d+)-(.*)$/);
267
+ if (m) {
268
+ const file = toRelative(m[1], root, ctx.workspace);
269
+ const outLine = `${file}:${m[2]}: ${m[3]}`;
270
+ if (output.length + outLine.length + 1 > cap)
271
+ break;
272
+ output += outLine + "\n";
273
+ matchCount++;
274
+ }
275
+ else if (ctxm) {
276
+ const file = toRelative(ctxm[1], root, ctx.workspace);
277
+ const outLine = `${file}-${ctxm[2]}- ${ctxm[3]}`;
278
+ if (output.length + outLine.length + 1 > cap)
279
+ break;
280
+ output += outLine + "\n";
281
+ }
282
+ }
283
+ return {
284
+ toolCallId: call.id,
285
+ name: "grep",
286
+ content: output.trimEnd() || "(no matches)",
287
+ };
288
+ },
289
+ };
290
+ //# sourceMappingURL=grep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,7 @@ export { editTool } from "./edit.js";
4
4
  export { bashTool } from "./bash.js";
5
5
  export { webfetchTool } from "./webfetch.js";
6
6
  export { websearchTool } from "./websearch.js";
7
+ export { grepTool } from "./grep.js";
8
+ export { globTool } from "./glob.js";
7
9
  export { InMemoryToolRegistry } from "./registry.js";
8
10
  export type { Tool, ToolRegistry, ToolContext, ToolResult } from "./types.js";
@@ -4,5 +4,7 @@ export { editTool } from "./edit.js";
4
4
  export { bashTool } from "./bash.js";
5
5
  export { webfetchTool } from "./webfetch.js";
6
6
  export { websearchTool } from "./websearch.js";
7
+ export { grepTool } from "./grep.js";
8
+ export { globTool } from "./glob.js";
7
9
  export { InMemoryToolRegistry } from "./registry.js";
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
@@ -24,6 +24,8 @@ export interface ToolContext {
24
24
  maxBashTimeMs?: number;
25
25
  maxToolOutputBytes?: number;
26
26
  approvals?: import("../runtime/approvals.js").ApprovalContext;
27
+ /** Current agent mode; plan blocks write/edit/bash. */
28
+ mode?: "plan" | "yolo";
27
29
  /** Live output from a running command, forwarded to the UI. */
28
30
  onToolOutput?: (call: ToolCall, stream: "stdout" | "stderr", text: string) => void;
29
31
  }
package/dist/types.d.ts CHANGED
@@ -74,9 +74,6 @@ export type ModelStreamEvent = {
74
74
  response: ModelResponse;
75
75
  };
76
76
  export interface AgentLimits {
77
- maxIterations: number;
78
- maxToolCalls: number;
79
- maxExecutionMs: number;
80
77
  maxParallelToolCalls: number;
81
78
  maxToolOutputBytes: number;
82
79
  maxBashTimeMs: number;
package/dist/types.js CHANGED
@@ -1,9 +1,6 @@
1
1
  // Canonical types shared across the runtime. Provider- and transport-agnostic.
2
2
  export const DEFAULT_LIMITS = {
3
- maxIterations: 40,
4
- maxToolCalls: 100,
5
- maxExecutionMs: 1_800_000,
6
- maxParallelToolCalls: 4,
3
+ maxParallelToolCalls: 10,
7
4
  maxToolOutputBytes: 30_000,
8
5
  maxBashTimeMs: 120_000,
9
6
  };
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAkF/E,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,SAAS;IACzB,oBAAoB,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM;IAC1B,aAAa,EAAE,OAAO;CACvB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AA+E/E,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,oBAAoB,EAAE,EAAE;IACxB,kBAAkB,EAAE,MAAM;IAC1B,aAAa,EAAE,OAAO;CACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atom-lite",
3
- "version": "0.5.1",
3
+ "version": "0.6.2",
4
4
  "description": "Local-first, model-agnostic coding agent for the terminal",
5
5
  "keywords": [
6
6
  "ai",
@@ -40,7 +40,8 @@
40
40
  },
41
41
  "files": [
42
42
  "dist",
43
- "CHANGELOG.md"
43
+ "CHANGELOG.md",
44
+ "skills"
44
45
  ],
45
46
  "publishConfig": {
46
47
  "access": "public"