@compilr-dev/agents-coding 0.2.1 → 1.0.1

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 (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -726
  3. package/dist/core.d.ts +7 -0
  4. package/dist/core.d.ts.map +1 -0
  5. package/dist/core.js +7 -0
  6. package/dist/core.js.map +1 -0
  7. package/dist/dispatcher.d.ts +27 -0
  8. package/dist/dispatcher.d.ts.map +1 -0
  9. package/dist/dispatcher.js +68 -0
  10. package/dist/dispatcher.js.map +1 -0
  11. package/dist/index.d.ts +77 -31
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +157 -67
  14. package/dist/index.js.map +1 -0
  15. package/package.json +26 -30
  16. package/dist/skills/index.d.ts +0 -49
  17. package/dist/skills/index.js +0 -532
  18. package/dist/tools/git/branch.d.ts +0 -17
  19. package/dist/tools/git/branch.js +0 -264
  20. package/dist/tools/git/commit.d.ts +0 -23
  21. package/dist/tools/git/commit.js +0 -280
  22. package/dist/tools/git/diff.d.ts +0 -19
  23. package/dist/tools/git/diff.js +0 -221
  24. package/dist/tools/git/index.d.ts +0 -10
  25. package/dist/tools/git/index.js +0 -11
  26. package/dist/tools/git/log.d.ts +0 -19
  27. package/dist/tools/git/log.js +0 -235
  28. package/dist/tools/git/stash.d.ts +0 -17
  29. package/dist/tools/git/stash.js +0 -294
  30. package/dist/tools/git/status.d.ts +0 -19
  31. package/dist/tools/git/status.js +0 -160
  32. package/dist/tools/git/types.d.ts +0 -293
  33. package/dist/tools/git/types.js +0 -4
  34. package/dist/tools/git/utils.d.ts +0 -58
  35. package/dist/tools/git/utils.js +0 -197
  36. package/dist/tools/index.d.ts +0 -5
  37. package/dist/tools/index.js +0 -5
  38. package/dist/tools/project/detect.d.ts +0 -19
  39. package/dist/tools/project/detect.js +0 -341
  40. package/dist/tools/project/find-root.d.ts +0 -21
  41. package/dist/tools/project/find-root.js +0 -239
  42. package/dist/tools/project/index.d.ts +0 -6
  43. package/dist/tools/project/index.js +0 -5
  44. package/dist/tools/project/types.d.ts +0 -83
  45. package/dist/tools/project/types.js +0 -4
  46. package/dist/tools/runners/build.d.ts +0 -19
  47. package/dist/tools/runners/build.js +0 -306
  48. package/dist/tools/runners/format.d.ts +0 -19
  49. package/dist/tools/runners/format.js +0 -376
  50. package/dist/tools/runners/index.d.ts +0 -9
  51. package/dist/tools/runners/index.js +0 -9
  52. package/dist/tools/runners/lint.d.ts +0 -19
  53. package/dist/tools/runners/lint.js +0 -356
  54. package/dist/tools/runners/test.d.ts +0 -19
  55. package/dist/tools/runners/test.js +0 -386
  56. package/dist/tools/runners/types.d.ts +0 -97
  57. package/dist/tools/runners/types.js +0 -4
  58. package/dist/tools/runners/utils.d.ts +0 -69
  59. package/dist/tools/runners/utils.js +0 -179
  60. package/dist/tools/search/definition.d.ts +0 -19
  61. package/dist/tools/search/definition.js +0 -305
  62. package/dist/tools/search/index.d.ts +0 -8
  63. package/dist/tools/search/index.js +0 -8
  64. package/dist/tools/search/references.d.ts +0 -19
  65. package/dist/tools/search/references.js +0 -179
  66. package/dist/tools/search/todos.d.ts +0 -19
  67. package/dist/tools/search/todos.js +0 -269
  68. package/dist/tools/search/types.d.ts +0 -132
  69. package/dist/tools/search/types.js +0 -4
  70. package/dist/tools/search/utils.d.ts +0 -45
  71. package/dist/tools/search/utils.js +0 -152
@@ -1,152 +0,0 @@
1
- /**
2
- * Shared utilities for Code Search tools
3
- */
4
- import { spawn } from 'node:child_process';
5
- import { stat } from 'node:fs/promises';
6
- /**
7
- * File extensions by language type (canonical source)
8
- */
9
- export const FILE_TYPE_EXTENSIONS = {
10
- ts: ['ts', 'tsx'],
11
- js: ['js', 'jsx', 'mjs', 'cjs'],
12
- py: ['py'],
13
- rs: ['rs'],
14
- go: ['go'],
15
- java: ['java'],
16
- kt: ['kt', 'kts'],
17
- rb: ['rb'],
18
- php: ['php'],
19
- c: ['c', 'h'],
20
- cpp: ['cpp', 'hpp', 'cc', 'cxx'],
21
- cs: ['cs'],
22
- md: ['md'],
23
- yaml: ['yaml', 'yml'],
24
- json: ['json'],
25
- };
26
- /**
27
- * All source file extensions (for default glob patterns)
28
- */
29
- export const ALL_SOURCE_EXTENSIONS = [
30
- 'ts',
31
- 'tsx',
32
- 'js',
33
- 'jsx',
34
- 'mjs',
35
- 'cjs',
36
- 'py',
37
- 'rs',
38
- 'go',
39
- 'java',
40
- 'kt',
41
- 'kts',
42
- 'rb',
43
- 'php',
44
- 'c',
45
- 'h',
46
- 'cpp',
47
- 'hpp',
48
- 'cc',
49
- 'cxx',
50
- 'cs',
51
- 'md',
52
- 'yaml',
53
- 'yml',
54
- 'json',
55
- ];
56
- /**
57
- * Default timeout for search operations (30 seconds)
58
- */
59
- export const SEARCH_TIMEOUT = 30000;
60
- /**
61
- * Escape special regex characters
62
- */
63
- export function escapeRegex(str) {
64
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
65
- }
66
- /**
67
- * Get glob pattern for file type filtering
68
- */
69
- export function getGlobPattern(fileType, extensions) {
70
- if (!fileType) {
71
- const allExts = extensions ?? ALL_SOURCE_EXTENSIONS;
72
- return `**/*.{${allExts.join(',')}}`;
73
- }
74
- const exts = FILE_TYPE_EXTENSIONS[fileType] ?? [fileType];
75
- return exts.length === 1 ? `**/*.${exts[0]}` : `**/*.{${exts.join(',')}}`;
76
- }
77
- /**
78
- * Check if path is a directory
79
- */
80
- export async function isDirectory(path) {
81
- try {
82
- const stats = await stat(path);
83
- return stats.isDirectory();
84
- }
85
- catch {
86
- return false;
87
- }
88
- }
89
- /**
90
- * Run ripgrep and parse results
91
- *
92
- * @param args - ripgrep arguments (without the command itself)
93
- * @param cwd - working directory
94
- * @param limit - maximum results to return
95
- * @param includeColumn - whether to parse column from output
96
- */
97
- export function runGrep(args, cwd, limit, includeColumn = true) {
98
- return new Promise((resolve) => {
99
- const results = [];
100
- const proc = spawn('rg', args, { cwd });
101
- let stdout = '';
102
- let timedOut = false;
103
- const timeout = setTimeout(() => {
104
- timedOut = true;
105
- proc.kill();
106
- }, SEARCH_TIMEOUT);
107
- proc.stdout.on('data', (data) => {
108
- stdout += data.toString();
109
- });
110
- proc.on('close', () => {
111
- clearTimeout(timeout);
112
- if (timedOut) {
113
- resolve(results);
114
- return;
115
- }
116
- // Parse ripgrep output
117
- const lines = stdout.split('\n').filter(Boolean);
118
- for (const line of lines) {
119
- if (results.length >= limit)
120
- break;
121
- if (includeColumn) {
122
- // Format: file:line:column:content
123
- const match = line.match(/^([^:]+):(\d+):(\d+):(.*)$/);
124
- if (match) {
125
- results.push({
126
- file: match[1],
127
- line: parseInt(match[2], 10),
128
- column: parseInt(match[3], 10),
129
- context: match[4],
130
- });
131
- }
132
- }
133
- else {
134
- // Format: file:line:content
135
- const match = line.match(/^([^:]+):(\d+):(.*)$/);
136
- if (match) {
137
- results.push({
138
- file: match[1],
139
- line: parseInt(match[2], 10),
140
- context: match[3],
141
- });
142
- }
143
- }
144
- }
145
- resolve(results);
146
- });
147
- proc.on('error', () => {
148
- clearTimeout(timeout);
149
- resolve(results);
150
- });
151
- });
152
- }