@praveencs/agent 0.7.5 → 0.8.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 (98) hide show
  1. package/ROADMAP.md +14 -0
  2. package/bin/agent.ts +19 -1
  3. package/dist/bin/agent.js +20 -1
  4. package/dist/bin/agent.js.map +1 -1
  5. package/dist/src/cli/commands/commands-cmd.d.ts +3 -0
  6. package/dist/src/cli/commands/commands-cmd.d.ts.map +1 -0
  7. package/dist/src/cli/commands/commands-cmd.js +39 -0
  8. package/dist/src/cli/commands/commands-cmd.js.map +1 -0
  9. package/dist/src/cli/commands/hooks.d.ts +3 -0
  10. package/dist/src/cli/commands/hooks.d.ts.map +1 -0
  11. package/dist/src/cli/commands/hooks.js +119 -0
  12. package/dist/src/cli/commands/hooks.js.map +1 -0
  13. package/dist/src/cli/commands/init.d.ts.map +1 -1
  14. package/dist/src/cli/commands/init.js +2 -0
  15. package/dist/src/cli/commands/init.js.map +1 -1
  16. package/dist/src/cli/commands/plugins.d.ts +3 -0
  17. package/dist/src/cli/commands/plugins.d.ts.map +1 -0
  18. package/dist/src/cli/commands/plugins.js +86 -0
  19. package/dist/src/cli/commands/plugins.js.map +1 -0
  20. package/dist/src/cli/commands/run.d.ts.map +1 -1
  21. package/dist/src/cli/commands/run.js +74 -0
  22. package/dist/src/cli/commands/run.js.map +1 -1
  23. package/dist/src/cli/conversation.d.ts +39 -0
  24. package/dist/src/cli/conversation.d.ts.map +1 -0
  25. package/dist/src/cli/conversation.js +69 -0
  26. package/dist/src/cli/conversation.js.map +1 -0
  27. package/dist/src/cli/index.d.ts.map +1 -1
  28. package/dist/src/cli/index.js +7 -1
  29. package/dist/src/cli/index.js.map +1 -1
  30. package/dist/src/cli/repl.d.ts +9 -0
  31. package/dist/src/cli/repl.d.ts.map +1 -0
  32. package/dist/src/cli/repl.js +270 -0
  33. package/dist/src/cli/repl.js.map +1 -0
  34. package/dist/src/cli/slash-commands.d.ts +31 -0
  35. package/dist/src/cli/slash-commands.d.ts.map +1 -0
  36. package/dist/src/cli/slash-commands.js +138 -0
  37. package/dist/src/cli/slash-commands.js.map +1 -0
  38. package/dist/src/cli/ui/render.d.ts +32 -0
  39. package/dist/src/cli/ui/render.d.ts.map +1 -0
  40. package/dist/src/cli/ui/render.js +79 -0
  41. package/dist/src/cli/ui/render.js.map +1 -0
  42. package/dist/src/cli/ui/spinner.d.ts +40 -0
  43. package/dist/src/cli/ui/spinner.d.ts.map +1 -0
  44. package/dist/src/cli/ui/spinner.js +63 -0
  45. package/dist/src/cli/ui/spinner.js.map +1 -0
  46. package/dist/src/commands/loader.d.ts +54 -0
  47. package/dist/src/commands/loader.d.ts.map +1 -0
  48. package/dist/src/commands/loader.js +136 -0
  49. package/dist/src/commands/loader.js.map +1 -0
  50. package/dist/src/commands/types.d.ts +28 -0
  51. package/dist/src/commands/types.d.ts.map +1 -0
  52. package/dist/src/commands/types.js +10 -0
  53. package/dist/src/commands/types.js.map +1 -0
  54. package/dist/src/config/defaults.d.ts.map +1 -1
  55. package/dist/src/config/defaults.js +15 -0
  56. package/dist/src/config/defaults.js.map +1 -1
  57. package/dist/src/config/schema.d.ts +153 -0
  58. package/dist/src/config/schema.d.ts.map +1 -1
  59. package/dist/src/config/schema.js +25 -0
  60. package/dist/src/config/schema.js.map +1 -1
  61. package/dist/src/engine/executor.d.ts +3 -1
  62. package/dist/src/engine/executor.d.ts.map +1 -1
  63. package/dist/src/engine/executor.js +24 -1
  64. package/dist/src/engine/executor.js.map +1 -1
  65. package/dist/src/hooks/registry.d.ts +45 -0
  66. package/dist/src/hooks/registry.d.ts.map +1 -0
  67. package/dist/src/hooks/registry.js +126 -0
  68. package/dist/src/hooks/registry.js.map +1 -0
  69. package/dist/src/hooks/runner.d.ts +22 -0
  70. package/dist/src/hooks/runner.d.ts.map +1 -0
  71. package/dist/src/hooks/runner.js +71 -0
  72. package/dist/src/hooks/runner.js.map +1 -0
  73. package/dist/src/hooks/types.d.ts +50 -0
  74. package/dist/src/hooks/types.d.ts.map +1 -0
  75. package/dist/src/hooks/types.js +14 -0
  76. package/dist/src/hooks/types.js.map +1 -0
  77. package/dist/src/index.d.ts +6 -0
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/index.js +3 -0
  80. package/dist/src/index.js.map +1 -1
  81. package/dist/src/plans/runner.d.ts +3 -1
  82. package/dist/src/plans/runner.d.ts.map +1 -1
  83. package/dist/src/plans/runner.js +33 -1
  84. package/dist/src/plans/runner.js.map +1 -1
  85. package/dist/src/plugins/loader.d.ts +40 -0
  86. package/dist/src/plugins/loader.d.ts.map +1 -0
  87. package/dist/src/plugins/loader.js +136 -0
  88. package/dist/src/plugins/loader.js.map +1 -0
  89. package/dist/src/plugins/types.d.ts +47 -0
  90. package/dist/src/plugins/types.d.ts.map +1 -0
  91. package/dist/src/plugins/types.js +9 -0
  92. package/dist/src/plugins/types.js.map +1 -0
  93. package/dist/src/skills/types.d.ts +4 -4
  94. package/dist/src/tools/core/cli-tools.d.ts +7 -0
  95. package/dist/src/tools/core/cli-tools.d.ts.map +1 -0
  96. package/dist/src/tools/core/cli-tools.js +110 -0
  97. package/dist/src/tools/core/cli-tools.js.map +1 -0
  98. package/package.json +1 -1
@@ -6,8 +6,10 @@ import { generateRunId } from '../utils/paths.js';
6
6
  */
7
7
  export class PlanRunner {
8
8
  engine;
9
- constructor(engine) {
9
+ hooks;
10
+ constructor(engine, hooks) {
10
11
  this.engine = engine;
12
+ this.hooks = hooks;
11
13
  }
12
14
  /**
13
15
  * Execute a plan
@@ -33,6 +35,15 @@ export class PlanRunner {
33
35
  stepCount: plan.steps.length,
34
36
  });
35
37
  ctx.onProgress?.(`Starting plan: ${plan.name} (${plan.steps.length} steps)`);
38
+ // Hook: before:plan
39
+ if (this.hooks) {
40
+ await this.hooks.dispatch({
41
+ event: 'before:plan',
42
+ name: plan.name,
43
+ cwd: ctx.cwd,
44
+ runId,
45
+ });
46
+ }
36
47
  try {
37
48
  for (const step of plan.steps) {
38
49
  const stepRun = planRun.steps.find((s) => s.stepId === step.id);
@@ -88,6 +99,17 @@ export class PlanRunner {
88
99
  auditEmitter.emit(stepRun.status === 'completed'
89
100
  ? AuditEventType.STEP_COMPLETE
90
101
  : AuditEventType.STEP_FAILED, { stepId: step.id, status: stepRun.status, error: stepRun.error });
102
+ // Hook: after:step
103
+ if (this.hooks) {
104
+ await this.hooks.dispatch({
105
+ event: 'after:step',
106
+ name: step.id,
107
+ args: step.args,
108
+ result: { success: stepRun.status === 'completed', output: stepRun.output, error: stepRun.error },
109
+ cwd: ctx.cwd,
110
+ runId,
111
+ });
112
+ }
91
113
  // Handle failures
92
114
  if (stepRun.status === 'failed') {
93
115
  const action = step.onFailure ?? 'abort';
@@ -132,6 +154,16 @@ export class PlanRunner {
132
154
  stepsFailed: planRun.steps.filter((s) => s.status === 'failed').length,
133
155
  });
134
156
  await auditLogger.complete(planRun.status === 'completed' ? 'completed' : 'failed');
157
+ // Hook: after:plan
158
+ if (this.hooks) {
159
+ await this.hooks.dispatch({
160
+ event: 'after:plan',
161
+ name: plan.name,
162
+ result: { success: planRun.status === 'completed' },
163
+ cwd: ctx.cwd,
164
+ runId,
165
+ });
166
+ }
135
167
  return planRun;
136
168
  }
137
169
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/plans/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/plans/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { LoadedPlugin } from './types.js';
2
+ import type { SkillLoader } from '../skills/loader.js';
3
+ import type { CommandLoader } from '../commands/loader.js';
4
+ import type { HookRegistry } from '../hooks/registry.js';
5
+ /**
6
+ * Plugin Loader — discovers, validates, and loads plugin bundles
7
+ *
8
+ * A plugin is a directory containing a `.agent-plugin/plugin.json`
9
+ * manifest that references skills, commands, hooks within the plugin.
10
+ *
11
+ * Plugins are loaded from `.agent/plugins/` by default.
12
+ */
13
+ export declare class PluginLoader {
14
+ private plugins;
15
+ /**
16
+ * Load all plugins from configured install paths
17
+ */
18
+ loadAll(installPaths: string[], projectRoot: string, skillLoader: SkillLoader, commandLoader: CommandLoader, hookRegistry: HookRegistry): Promise<LoadedPlugin[]>;
19
+ /**
20
+ * Load plugins from a directory
21
+ */
22
+ private loadFromDirectory;
23
+ /**
24
+ * Load a single plugin
25
+ */
26
+ loadPlugin(pluginDir: string, skillLoader: SkillLoader, commandLoader: CommandLoader, hookRegistry: HookRegistry): Promise<LoadedPlugin | null>;
27
+ /**
28
+ * List all loaded plugins
29
+ */
30
+ list(): LoadedPlugin[];
31
+ /**
32
+ * Get a plugin by name
33
+ */
34
+ get(name: string): LoadedPlugin | undefined;
35
+ /**
36
+ * Get total count
37
+ */
38
+ get size(): number;
39
+ }
40
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;GAOG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,OAAO,CAAwC;IAEvD;;OAEG;IACG,OAAO,CACT,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC;IAW1B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACG,UAAU,CACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA2E/B;;OAEG;IACH,IAAI,IAAI,YAAY,EAAE;IAItB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI3C;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACJ"}
@@ -0,0 +1,136 @@
1
+ import { readFile, readdir, access } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ /**
4
+ * Plugin Loader — discovers, validates, and loads plugin bundles
5
+ *
6
+ * A plugin is a directory containing a `.agent-plugin/plugin.json`
7
+ * manifest that references skills, commands, hooks within the plugin.
8
+ *
9
+ * Plugins are loaded from `.agent/plugins/` by default.
10
+ */
11
+ export class PluginLoader {
12
+ plugins = new Map();
13
+ /**
14
+ * Load all plugins from configured install paths
15
+ */
16
+ async loadAll(installPaths, projectRoot, skillLoader, commandLoader, hookRegistry) {
17
+ this.plugins.clear();
18
+ for (const pluginPath of installPaths) {
19
+ const absPath = path.resolve(projectRoot, pluginPath);
20
+ await this.loadFromDirectory(absPath, skillLoader, commandLoader, hookRegistry);
21
+ }
22
+ return Array.from(this.plugins.values());
23
+ }
24
+ /**
25
+ * Load plugins from a directory
26
+ */
27
+ async loadFromDirectory(dirPath, skillLoader, commandLoader, hookRegistry) {
28
+ try {
29
+ await access(dirPath);
30
+ }
31
+ catch {
32
+ return; // Directory doesn't exist
33
+ }
34
+ const entries = await readdir(dirPath, { withFileTypes: true });
35
+ for (const entry of entries) {
36
+ if (!entry.isDirectory())
37
+ continue;
38
+ const pluginDir = path.join(dirPath, entry.name);
39
+ await this.loadPlugin(pluginDir, skillLoader, commandLoader, hookRegistry);
40
+ }
41
+ }
42
+ /**
43
+ * Load a single plugin
44
+ */
45
+ async loadPlugin(pluginDir, skillLoader, commandLoader, hookRegistry) {
46
+ // Look for manifest in .agent-plugin/ or root
47
+ let manifestPath = path.join(pluginDir, '.agent-plugin', 'plugin.json');
48
+ try {
49
+ await access(manifestPath);
50
+ }
51
+ catch {
52
+ // Fall back to root plugin.json
53
+ manifestPath = path.join(pluginDir, 'plugin.json');
54
+ try {
55
+ await access(manifestPath);
56
+ }
57
+ catch {
58
+ return null; // No manifest found
59
+ }
60
+ }
61
+ try {
62
+ const content = await readFile(manifestPath, 'utf-8');
63
+ const manifest = JSON.parse(content);
64
+ if (!manifest.name || !manifest.version) {
65
+ console.error(`Invalid plugin manifest at ${manifestPath}: missing name or version`);
66
+ return null;
67
+ }
68
+ let skillsCount = 0;
69
+ let commandsCount = 0;
70
+ let hooksCount = 0;
71
+ // Load skills from plugin
72
+ if (manifest.skills) {
73
+ for (const skillDir of manifest.skills) {
74
+ const absSkillDir = path.resolve(pluginDir, skillDir);
75
+ try {
76
+ const entries = await readdir(absSkillDir, { withFileTypes: true });
77
+ for (const entry of entries) {
78
+ if (!entry.isDirectory())
79
+ continue;
80
+ const skill = await skillLoader.loadSkill(path.join(absSkillDir, entry.name));
81
+ if (skill)
82
+ skillsCount++;
83
+ }
84
+ }
85
+ catch {
86
+ // Skill directory doesn't exist or can't be read
87
+ }
88
+ }
89
+ }
90
+ // Load commands from plugin
91
+ if (manifest.commands) {
92
+ for (const cmdDir of manifest.commands) {
93
+ const absCmdDir = path.resolve(pluginDir, cmdDir);
94
+ commandsCount += await commandLoader.loadFromDirectory(absCmdDir, manifest.name);
95
+ }
96
+ }
97
+ // Load hooks from plugin
98
+ if (manifest.hooks) {
99
+ const hooksPath = path.resolve(pluginDir, manifest.hooks);
100
+ hooksCount = await hookRegistry.loadFromFile(hooksPath, manifest.name);
101
+ }
102
+ const loaded = {
103
+ manifest,
104
+ path: pluginDir,
105
+ skillsCount,
106
+ commandsCount,
107
+ hooksCount,
108
+ };
109
+ this.plugins.set(manifest.name, loaded);
110
+ return loaded;
111
+ }
112
+ catch (err) {
113
+ console.error(`Failed to load plugin from ${pluginDir}: ${err.message}`);
114
+ return null;
115
+ }
116
+ }
117
+ /**
118
+ * List all loaded plugins
119
+ */
120
+ list() {
121
+ return Array.from(this.plugins.values());
122
+ }
123
+ /**
124
+ * Get a plugin by name
125
+ */
126
+ get(name) {
127
+ return this.plugins.get(name);
128
+ }
129
+ /**
130
+ * Get total count
131
+ */
132
+ get size() {
133
+ return this.plugins.size;
134
+ }
135
+ }
136
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Plugin System — Types
3
+ *
4
+ * A plugin is a distributable package that bundles extensions:
5
+ * skills, commands, hooks, tools, and rules into a single
6
+ * installable unit via `plugin.json`.
7
+ */
8
+ /**
9
+ * Plugin manifest (plugin.json)
10
+ */
11
+ export interface PluginManifest {
12
+ /** Unique plugin name */
13
+ name: string;
14
+ /** Semver version */
15
+ version: string;
16
+ /** Human-readable description */
17
+ description: string;
18
+ /** Author name or org */
19
+ author?: string;
20
+ /** Homepage URL */
21
+ homepage?: string;
22
+ /** License identifier */
23
+ license?: string;
24
+ /** Relative paths to skill directories */
25
+ skills?: string[];
26
+ /** Relative paths to command directories */
27
+ commands?: string[];
28
+ /** Relative path to hooks.json */
29
+ hooks?: string;
30
+ /** Relative paths to tool modules */
31
+ tools?: string[];
32
+ }
33
+ /**
34
+ * Loaded plugin with resolved paths
35
+ */
36
+ export interface LoadedPlugin {
37
+ manifest: PluginManifest;
38
+ /** Absolute path to the plugin directory */
39
+ path: string;
40
+ /** Number of skills loaded from this plugin */
41
+ skillsCount: number;
42
+ /** Number of commands loaded from this plugin */
43
+ commandsCount: number;
44
+ /** Number of hooks loaded from this plugin */
45
+ hooksCount: number;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Plugin System — Types
3
+ *
4
+ * A plugin is a distributable package that bundles extensions:
5
+ * skills, commands, hooks, tools, and rules into a single
6
+ * installable unit via `plugin.json`.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -77,13 +77,13 @@ export declare const SkillManifestSchema: z.ZodObject<{
77
77
  }, "strip", z.ZodTypeAny, {
78
78
  name: string;
79
79
  command: string;
80
- cwd?: string | undefined;
81
80
  timeout?: number | undefined;
81
+ cwd?: string | undefined;
82
82
  }, {
83
83
  name: string;
84
84
  command: string;
85
- cwd?: string | undefined;
86
85
  timeout?: number | undefined;
86
+ cwd?: string | undefined;
87
87
  }>, "many">>;
88
88
  state: z.ZodDefault<z.ZodEnum<["draft", "approved", "deprecated"]>>;
89
89
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -108,8 +108,8 @@ export declare const SkillManifestSchema: z.ZodObject<{
108
108
  validators?: {
109
109
  name: string;
110
110
  command: string;
111
- cwd?: string | undefined;
112
111
  timeout?: number | undefined;
112
+ cwd?: string | undefined;
113
113
  }[] | undefined;
114
114
  tags?: string[] | undefined;
115
115
  }, {
@@ -132,8 +132,8 @@ export declare const SkillManifestSchema: z.ZodObject<{
132
132
  validators?: {
133
133
  name: string;
134
134
  command: string;
135
- cwd?: string | undefined;
136
135
  timeout?: number | undefined;
136
+ cwd?: string | undefined;
137
137
  }[] | undefined;
138
138
  state?: "approved" | "draft" | "deprecated" | undefined;
139
139
  tags?: string[] | undefined;
@@ -0,0 +1,7 @@
1
+ import type { ToolDefinition } from '../types.js';
2
+ export declare const cursorCLI: ToolDefinition<unknown, unknown>;
3
+ export declare const codexCLI: ToolDefinition<unknown, unknown>;
4
+ export declare const geminiCLI: ToolDefinition<unknown, unknown>;
5
+ export declare const claudeCLI: ToolDefinition<unknown, unknown>;
6
+ export declare const cliTools: ToolDefinition<unknown, unknown>[];
7
+ //# sourceMappingURL=cli-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-tools.d.ts","sourceRoot":"","sources":["../../../../src/tools/core/cli-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA+ElD,eAAO,MAAM,SAAS,kCAYpB,CAAC;AAGH,eAAO,MAAM,QAAQ,kCASnB,CAAC;AAGH,eAAO,MAAM,SAAS,kCASpB,CAAC;AAGH,eAAO,MAAM,SAAS,kCASpB,CAAC;AAGH,eAAO,MAAM,QAAQ,oCAA8C,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { z } from 'zod';
2
+ import { execFile } from 'node:child_process';
3
+ import { promisify } from 'node:util';
4
+ const execFileAsync = promisify(execFile);
5
+ function createCLITool(config) {
6
+ return {
7
+ name: config.name,
8
+ category: 'cli',
9
+ description: config.description,
10
+ inputSchema: z.object({
11
+ prompt: z.string().describe('The task or prompt to send to the CLI agent'),
12
+ files: z.array(z.string()).optional().describe('Optional file paths to scope the task'),
13
+ cwd: z.string().optional().describe('Working directory'),
14
+ timeout: z.number().optional().default(config.timeout ?? 120_000),
15
+ }),
16
+ outputSchema: z.object({
17
+ stdout: z.string(),
18
+ stderr: z.string(),
19
+ exitCode: z.number(),
20
+ }),
21
+ permissions: ['exec'],
22
+ timeout: config.timeout ?? 120_000,
23
+ async execute(rawInput, ctx) {
24
+ const input = rawInput;
25
+ const workDir = input.cwd ?? ctx.cwd;
26
+ try {
27
+ const args = config.buildArgs(input);
28
+ const { stdout, stderr } = await execFileAsync(config.binary, args, {
29
+ cwd: workDir,
30
+ timeout: input.timeout,
31
+ maxBuffer: 50 * 1024 * 1024, // 50MB — AI CLIs can be verbose
32
+ env: { ...process.env },
33
+ shell: true,
34
+ });
35
+ return {
36
+ success: true,
37
+ data: {
38
+ stdout: stdout.toString(),
39
+ stderr: stderr.toString(),
40
+ exitCode: 0,
41
+ },
42
+ durationMs: 0,
43
+ };
44
+ }
45
+ catch (err) {
46
+ const error = err;
47
+ return {
48
+ success: false,
49
+ data: {
50
+ stdout: error.stdout?.toString() ?? '',
51
+ stderr: error.stderr?.toString() ?? '',
52
+ exitCode: error.code ?? 1,
53
+ },
54
+ error: error.message ?? `${config.name} execution failed`,
55
+ durationMs: 0,
56
+ };
57
+ }
58
+ },
59
+ };
60
+ }
61
+ // ─── Cursor CLI ───
62
+ export const cursorCLI = createCLITool({
63
+ name: 'cli.cursor',
64
+ binary: 'cursor',
65
+ description: 'Delegate a coding task to Cursor CLI (uses native codebase context for multi-file refactoring)',
66
+ buildArgs: (input) => {
67
+ const args = ['--prompt', input.prompt];
68
+ if (input.files && input.files.length > 0) {
69
+ args.push('--files', input.files.join(','));
70
+ }
71
+ return args;
72
+ },
73
+ timeout: 300_000, // 5 min for complex refactors
74
+ });
75
+ // ─── Codex CLI ───
76
+ export const codexCLI = createCLITool({
77
+ name: 'cli.codex',
78
+ binary: 'codex',
79
+ description: 'Delegate a coding task to OpenAI Codex CLI (code generation with sandbox execution)',
80
+ buildArgs: (input) => {
81
+ const args = [input.prompt];
82
+ return args;
83
+ },
84
+ timeout: 180_000,
85
+ });
86
+ // ─── Gemini CLI ───
87
+ export const geminiCLI = createCLITool({
88
+ name: 'cli.gemini',
89
+ binary: 'gemini',
90
+ description: 'Delegate a task to Gemini CLI (large-context analysis and reasoning)',
91
+ buildArgs: (input) => {
92
+ const args = ['-p', input.prompt];
93
+ return args;
94
+ },
95
+ timeout: 180_000,
96
+ });
97
+ // ─── Claude CLI ───
98
+ export const claudeCLI = createCLITool({
99
+ name: 'cli.claude',
100
+ binary: 'claude',
101
+ description: 'Delegate a coding task to Claude CLI (careful code review and generation)',
102
+ buildArgs: (input) => {
103
+ const args = ['-p', input.prompt];
104
+ return args;
105
+ },
106
+ timeout: 180_000,
107
+ });
108
+ // ─── Export all CLI tools ───
109
+ export const cliTools = [cursorCLI, codexCLI, geminiCLI, claudeCLI];
110
+ //# sourceMappingURL=cli-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-tools.js","sourceRoot":"","sources":["../../../../src/tools/core/cli-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praveencs/agent",
3
- "version": "0.7.5",
3
+ "version": "0.8.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "bin",