cmdr-agent 2.5.4 → 2.5.5

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.
@@ -2,17 +2,50 @@
2
2
  * Configuration schema — Zod validation for cmdr config.
3
3
  */
4
4
  import { z } from 'zod';
5
- export declare const McpServerSchema: z.ZodObject<{
5
+ export declare const McpServerSchema: z.ZodEffects<z.ZodObject<{
6
6
  name: z.ZodString;
7
- url: z.ZodString;
7
+ url: z.ZodOptional<z.ZodString>;
8
8
  apiKey: z.ZodOptional<z.ZodString>;
9
+ transport: z.ZodOptional<z.ZodEnum<["http", "stdio", "sse"]>>;
10
+ command: z.ZodOptional<z.ZodString>;
11
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
13
+ cwd: z.ZodOptional<z.ZodString>;
9
14
  }, "strip", z.ZodTypeAny, {
10
- url: string;
11
15
  name: string;
16
+ command?: string | undefined;
17
+ url?: string | undefined;
18
+ cwd?: string | undefined;
19
+ transport?: "http" | "stdio" | "sse" | undefined;
20
+ args?: string[] | undefined;
21
+ env?: Record<string, string> | undefined;
12
22
  apiKey?: string | undefined;
13
23
  }, {
14
- url: string;
15
24
  name: string;
25
+ command?: string | undefined;
26
+ url?: string | undefined;
27
+ cwd?: string | undefined;
28
+ transport?: "http" | "stdio" | "sse" | undefined;
29
+ args?: string[] | undefined;
30
+ env?: Record<string, string> | undefined;
31
+ apiKey?: string | undefined;
32
+ }>, {
33
+ name: string;
34
+ command?: string | undefined;
35
+ url?: string | undefined;
36
+ cwd?: string | undefined;
37
+ transport?: "http" | "stdio" | "sse" | undefined;
38
+ args?: string[] | undefined;
39
+ env?: Record<string, string> | undefined;
40
+ apiKey?: string | undefined;
41
+ }, {
42
+ name: string;
43
+ command?: string | undefined;
44
+ url?: string | undefined;
45
+ cwd?: string | undefined;
46
+ transport?: "http" | "stdio" | "sse" | undefined;
47
+ args?: string[] | undefined;
48
+ env?: Record<string, string> | undefined;
16
49
  apiKey?: string | undefined;
17
50
  }>;
18
51
  export declare const CmdrConfigSchema: z.ZodObject<{
@@ -28,41 +61,93 @@ export declare const CmdrConfigSchema: z.ZodObject<{
28
61
  allowFileWrite: z.ZodDefault<z.ZodBoolean>;
29
62
  allowNetwork: z.ZodDefault<z.ZodBoolean>;
30
63
  sandboxDir: z.ZodOptional<z.ZodString>;
64
+ allow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
65
+ deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
+ ask: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
31
67
  }, "strip", z.ZodTypeAny, {
32
68
  allowBash: boolean;
33
69
  allowFileWrite: boolean;
34
70
  allowNetwork: boolean;
71
+ allow?: string[] | undefined;
72
+ deny?: string[] | undefined;
73
+ ask?: string[] | undefined;
35
74
  sandboxDir?: string | undefined;
36
75
  }, {
76
+ allow?: string[] | undefined;
77
+ deny?: string[] | undefined;
78
+ ask?: string[] | undefined;
37
79
  allowBash?: boolean | undefined;
38
80
  allowFileWrite?: boolean | undefined;
39
81
  allowNetwork?: boolean | undefined;
40
82
  sandboxDir?: string | undefined;
41
83
  }>>>;
42
84
  mcp: z.ZodOptional<z.ZodDefault<z.ZodObject<{
43
- servers: z.ZodDefault<z.ZodArray<z.ZodObject<{
85
+ servers: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
44
86
  name: z.ZodString;
45
- url: z.ZodString;
87
+ url: z.ZodOptional<z.ZodString>;
46
88
  apiKey: z.ZodOptional<z.ZodString>;
89
+ transport: z.ZodOptional<z.ZodEnum<["http", "stdio", "sse"]>>;
90
+ command: z.ZodOptional<z.ZodString>;
91
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
93
+ cwd: z.ZodOptional<z.ZodString>;
47
94
  }, "strip", z.ZodTypeAny, {
48
- url: string;
49
95
  name: string;
96
+ command?: string | undefined;
97
+ url?: string | undefined;
98
+ cwd?: string | undefined;
99
+ transport?: "http" | "stdio" | "sse" | undefined;
100
+ args?: string[] | undefined;
101
+ env?: Record<string, string> | undefined;
102
+ apiKey?: string | undefined;
103
+ }, {
104
+ name: string;
105
+ command?: string | undefined;
106
+ url?: string | undefined;
107
+ cwd?: string | undefined;
108
+ transport?: "http" | "stdio" | "sse" | undefined;
109
+ args?: string[] | undefined;
110
+ env?: Record<string, string> | undefined;
111
+ apiKey?: string | undefined;
112
+ }>, {
113
+ name: string;
114
+ command?: string | undefined;
115
+ url?: string | undefined;
116
+ cwd?: string | undefined;
117
+ transport?: "http" | "stdio" | "sse" | undefined;
118
+ args?: string[] | undefined;
119
+ env?: Record<string, string> | undefined;
50
120
  apiKey?: string | undefined;
51
121
  }, {
52
- url: string;
53
122
  name: string;
123
+ command?: string | undefined;
124
+ url?: string | undefined;
125
+ cwd?: string | undefined;
126
+ transport?: "http" | "stdio" | "sse" | undefined;
127
+ args?: string[] | undefined;
128
+ env?: Record<string, string> | undefined;
54
129
  apiKey?: string | undefined;
55
130
  }>, "many">>;
56
131
  }, "strip", z.ZodTypeAny, {
57
132
  servers: {
58
- url: string;
59
133
  name: string;
134
+ command?: string | undefined;
135
+ url?: string | undefined;
136
+ cwd?: string | undefined;
137
+ transport?: "http" | "stdio" | "sse" | undefined;
138
+ args?: string[] | undefined;
139
+ env?: Record<string, string> | undefined;
60
140
  apiKey?: string | undefined;
61
141
  }[];
62
142
  }, {
63
143
  servers?: {
64
- url: string;
65
144
  name: string;
145
+ command?: string | undefined;
146
+ url?: string | undefined;
147
+ cwd?: string | undefined;
148
+ transport?: "http" | "stdio" | "sse" | undefined;
149
+ args?: string[] | undefined;
150
+ env?: Record<string, string> | undefined;
66
151
  apiKey?: string | undefined;
67
152
  }[] | undefined;
68
153
  }>>>;
@@ -90,12 +175,20 @@ export declare const CmdrConfigSchema: z.ZodObject<{
90
175
  allowBash: boolean;
91
176
  allowFileWrite: boolean;
92
177
  allowNetwork: boolean;
178
+ allow?: string[] | undefined;
179
+ deny?: string[] | undefined;
180
+ ask?: string[] | undefined;
93
181
  sandboxDir?: string | undefined;
94
182
  } | undefined;
95
183
  mcp?: {
96
184
  servers: {
97
- url: string;
98
185
  name: string;
186
+ command?: string | undefined;
187
+ url?: string | undefined;
188
+ cwd?: string | undefined;
189
+ transport?: "http" | "stdio" | "sse" | undefined;
190
+ args?: string[] | undefined;
191
+ env?: Record<string, string> | undefined;
99
192
  apiKey?: string | undefined;
100
193
  }[];
101
194
  } | undefined;
@@ -114,6 +207,9 @@ export declare const CmdrConfigSchema: z.ZodObject<{
114
207
  contextBudget?: number | undefined;
115
208
  autoCompact?: boolean | undefined;
116
209
  permissions?: {
210
+ allow?: string[] | undefined;
211
+ deny?: string[] | undefined;
212
+ ask?: string[] | undefined;
117
213
  allowBash?: boolean | undefined;
118
214
  allowFileWrite?: boolean | undefined;
119
215
  allowNetwork?: boolean | undefined;
@@ -121,8 +217,13 @@ export declare const CmdrConfigSchema: z.ZodObject<{
121
217
  } | undefined;
122
218
  mcp?: {
123
219
  servers?: {
124
- url: string;
125
220
  name: string;
221
+ command?: string | undefined;
222
+ url?: string | undefined;
223
+ cwd?: string | undefined;
224
+ transport?: "http" | "stdio" | "sse" | undefined;
225
+ args?: string[] | undefined;
226
+ env?: Record<string, string> | undefined;
126
227
  apiKey?: string | undefined;
127
228
  }[] | undefined;
128
229
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBjB,CAAA;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B1B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BjB,CAAA;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -3,9 +3,30 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  export const McpServerSchema = z.object({
6
- name: z.string(),
7
- url: z.string().url(),
6
+ name: z.string().min(1),
7
+ url: z.string().url().optional(),
8
8
  apiKey: z.string().optional(),
9
+ transport: z.enum(['http', 'stdio', 'sse']).optional(),
10
+ command: z.string().min(1).optional(),
11
+ args: z.array(z.string()).optional(),
12
+ env: z.record(z.string()).optional(),
13
+ cwd: z.string().optional(),
14
+ }).superRefine((server, ctx) => {
15
+ const transport = server.transport ?? (server.command ? 'stdio' : 'http');
16
+ if (transport === 'stdio' && !server.command) {
17
+ ctx.addIssue({
18
+ code: z.ZodIssueCode.custom,
19
+ message: 'MCP stdio transport requires "command".',
20
+ path: ['command'],
21
+ });
22
+ }
23
+ if ((transport === 'http' || transport === 'sse') && !server.url) {
24
+ ctx.addIssue({
25
+ code: z.ZodIssueCode.custom,
26
+ message: `MCP ${transport} transport requires "url".`,
27
+ path: ['url'],
28
+ });
29
+ }
9
30
  });
10
31
  export const CmdrConfigSchema = z.object({
11
32
  ollamaUrl: z.string().url().default('http://localhost:11434'),
@@ -20,6 +41,9 @@ export const CmdrConfigSchema = z.object({
20
41
  allowFileWrite: z.boolean().default(true),
21
42
  allowNetwork: z.boolean().default(false),
22
43
  sandboxDir: z.string().optional(),
44
+ allow: z.array(z.string()).optional(),
45
+ deny: z.array(z.string()).optional(),
46
+ ask: z.array(z.string()).optional(),
23
47
  }).default({}),
24
48
  mcp: z.object({
25
49
  servers: z.array(McpServerSchema).default([]),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC5E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACzC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,wBAAwB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;KACtD,CAAC,CAAC,QAAQ,EAAE;IACb,mBAAmB;IACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACtC,CAAC,CAAC,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EACnD,UAAU,EAA+B,gBAAgB,EAE1D,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAIzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAkD9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,gEAAgE;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAA;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAA;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AA8BD,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IATrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,gBAAgB,CAA6C;gBAGlD,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,aAAa,EACtB,iBAAiB,CAAC,EAAE,iBAAiB,YAAA;IAMxD,4EAA4E;IACtE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,GAAE,YAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBnF;2EACuE;IAChE,MAAM,CACX,eAAe,EAAE,UAAU,EAAE,EAC7B,SAAS,GAAE,YAAiB,GAC3B,cAAc,CAAC,WAAW,CAAC;IAmZ9B,OAAO,CAAC,aAAa,CAAI;YAEX,UAAU;IAOxB,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;OAOG;YACW,0BAA0B;CAsGzC"}
@@ -30,6 +30,17 @@ const SAFE_PARALLEL_TOOLS = new Set([
30
30
  const GRAPH_UPDATE_TRIGGERS = new Set([
31
31
  'file_write', 'file_edit', 'git_commit',
32
32
  ]);
33
+ function getPluginHookRunner(metadata) {
34
+ const candidate = metadata?.pluginManager;
35
+ if (!candidate)
36
+ return undefined;
37
+ if (typeof candidate.runBeforePrompt === 'function'
38
+ && typeof candidate.runAfterResponse === 'function'
39
+ && typeof candidate.runOnError === 'function') {
40
+ return candidate;
41
+ }
42
+ return undefined;
43
+ }
33
44
  // ---------------------------------------------------------------------------
34
45
  // Helpers
35
46
  // ---------------------------------------------------------------------------
@@ -90,6 +101,7 @@ export class AgentRunner {
90
101
  * Uses the adapter's stream() for real-time token-by-token output. */
91
102
  async *stream(initialMessages, callbacks = {}) {
92
103
  const conversationMessages = [...initialMessages];
104
+ const pluginHooks = getPluginHookRunner(this.options.metadata);
93
105
  let totalUsage = ZERO_USAGE;
94
106
  const allToolCalls = [];
95
107
  let finalOutput = '';
@@ -146,7 +158,7 @@ export class AgentRunner {
146
158
  const turnTools = turns === 1
147
159
  ? filterToolsByIntent(intent, fullToolDefs)
148
160
  : fullToolDefs;
149
- const turnChatOptions = {
161
+ let turnChatOptions = {
150
162
  model: this.options.model,
151
163
  tools: turnTools.length > 0 ? turnTools : undefined,
152
164
  maxTokens: this.options.maxTokens,
@@ -155,11 +167,21 @@ export class AgentRunner {
155
167
  abortSignal: this.options.abortSignal,
156
168
  thinkingEnabled: this.options.thinkingEnabled,
157
169
  };
170
+ if (pluginHooks) {
171
+ try {
172
+ turnChatOptions = await pluginHooks.runBeforePrompt(turnChatOptions);
173
+ }
174
+ catch (err) {
175
+ const error = err instanceof Error ? err : new Error(String(err));
176
+ await pluginHooks.runOnError(error);
177
+ }
178
+ }
158
179
  // Step 1: Stream from LLM — yield text tokens in real-time
159
180
  const turnContent = [];
160
181
  let turnText = '';
161
182
  const pendingToolUse = [];
162
183
  let turnUsage = ZERO_USAGE;
184
+ let turnResponse = null;
163
185
  // Emit llm:request event
164
186
  globalEventBus.emit('llm:request', { model: this.options.model, messageCount: conversationMessages.length });
165
187
  for await (const event of this.adapter.stream(conversationMessages, turnChatOptions)) {
@@ -175,8 +197,8 @@ export class AgentRunner {
175
197
  yield { type: 'tool_use', data: block };
176
198
  }
177
199
  else if (event.type === 'done') {
178
- const response = event.data;
179
- turnUsage = response.usage;
200
+ turnResponse = event.data;
201
+ turnUsage = turnResponse.usage;
180
202
  }
181
203
  else if (event.type === 'error') {
182
204
  globalEventBus.emit('llm:error', { model: this.options.model, error: String(event.data.message) });
@@ -184,6 +206,20 @@ export class AgentRunner {
184
206
  return;
185
207
  }
186
208
  }
209
+ if (pluginHooks && turnResponse) {
210
+ try {
211
+ const modifiedResponse = await pluginHooks.runAfterResponse(turnResponse);
212
+ turnResponse = modifiedResponse;
213
+ turnUsage = modifiedResponse.usage;
214
+ turnText = extractText(modifiedResponse.content);
215
+ pendingToolUse.length = 0;
216
+ pendingToolUse.push(...extractToolUseBlocks(modifiedResponse.content));
217
+ }
218
+ catch (err) {
219
+ const error = err instanceof Error ? err : new Error(String(err));
220
+ await pluginHooks.runOnError(error);
221
+ }
222
+ }
187
223
  totalUsage = addTokenUsage(totalUsage, turnUsage);
188
224
  // Emit llm:response event
189
225
  globalEventBus.emit('llm:response', { model: this.options.model, usage: turnUsage, stopReason: pendingToolUse.length > 0 ? 'tool_use' : 'end_turn' });
@@ -390,6 +426,9 @@ export class AgentRunner {
390
426
  }
391
427
  catch (err) {
392
428
  const error = err instanceof Error ? err : new Error(String(err));
429
+ if (pluginHooks) {
430
+ await pluginHooks.runOnError(error);
431
+ }
393
432
  yield { type: 'error', data: error };
394
433
  return;
395
434
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,9 @@ import type { CmdrPlugin, LLMChatOptions, LLMResponse, ToolResult, SessionState,
7
7
  import type { ToolRegistry } from '../tools/registry.js';
8
8
  export declare class PluginManager {
9
9
  private plugins;
10
+ private resolvePluginSource;
10
11
  /** Load a plugin from a module path or package name. */
11
- load(source: string): Promise<void>;
12
+ load(source: string, baseDir?: string): Promise<void>;
12
13
  /** Register a plugin instance directly (for programmatic use). */
13
14
  register(plugin: CmdrPlugin): void;
14
15
  /** Unregister a plugin by name. */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,cAAc,EAAE,WAAW,EACvC,UAAU,EAAE,YAAY,EAAkB,YAAY,EACvD,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAmB;IAElC,wDAAwD;IAClD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAOlC,mCAAmC;IACnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOjC,8BAA8B;IAC9B,IAAI,IAAI,UAAU,EAAE;IAIpB,qDAAqD;IACrD,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAU3C,2CAA2C;IAC3C,WAAW,IAAI,YAAY,EAAE;IAY7B,mEAAmE;IAC7D,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAUvE,gEAAgE;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAUnE,+DAA+D;IACzD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvE,gEAAgE;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAU7E,yBAAyB;IACnB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C,gCAAgC;IAC1B,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D,8BAA8B;IACxB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5D"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,cAAc,EAAE,WAAW,EACvC,UAAU,EAAE,YAAY,EAAkB,YAAY,EACvD,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAIxD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAmB;IAElC,OAAO,CAAC,mBAAmB;IAW3B,wDAAwD;IAClD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlE,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAOlC,mCAAmC;IACnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOjC,8BAA8B;IAC9B,IAAI,IAAI,UAAU,EAAE;IAIpB,qDAAqD;IACrD,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAU3C,2CAA2C;IAC3C,WAAW,IAAI,YAAY,EAAE;IAY7B,mEAAmE;IAC7D,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAUvE,gEAAgE;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAUnE,+DAA+D;IACzD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvE,gEAAgE;IAC1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAU7E,yBAAyB;IACnB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C,gCAAgC;IAC1B,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D,8BAA8B;IACxB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5D"}
@@ -3,12 +3,23 @@
3
3
  *
4
4
  * Plugins can provide hooks, tools, and slash commands.
5
5
  */
6
+ import { isAbsolute, resolve } from 'node:path';
7
+ import { pathToFileURL } from 'node:url';
6
8
  export class PluginManager {
7
9
  plugins = [];
10
+ resolvePluginSource(source, baseDir) {
11
+ if (source.startsWith('file://'))
12
+ return source;
13
+ if (source.startsWith('.') || isAbsolute(source)) {
14
+ const absolutePath = isAbsolute(source) ? source : resolve(baseDir, source);
15
+ return pathToFileURL(absolutePath).href;
16
+ }
17
+ return source;
18
+ }
8
19
  /** Load a plugin from a module path or package name. */
9
- async load(source) {
20
+ async load(source, baseDir = process.cwd()) {
10
21
  try {
11
- const mod = await import(source);
22
+ const mod = await import(this.resolvePluginSource(source, baseDir));
12
23
  const plugin = mod.default ?? mod;
13
24
  if (!plugin.name) {
14
25
  throw new Error(`Plugin from "${source}" has no name`);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tools/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGjD,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBAEtC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB;IAK/D,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;IA6BhB,YAAY,CAChB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAUnC,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,OAAO;CAKhB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tools/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAuBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBAEtC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB;IAK/D,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;IAuEhB,YAAY,CAChB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAUnC,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,OAAO;CAKhB"}
@@ -8,6 +8,20 @@
8
8
  * 4. Error isolation (tool failures don't crash the agent loop)
9
9
  */
10
10
  import { validateToolInput } from '../llm/validation/tool-call-schema.js';
11
+ function isRecord(value) {
12
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
13
+ }
14
+ function getPluginHookRunner(context) {
15
+ const candidate = context.metadata?.pluginManager;
16
+ if (!candidate)
17
+ return undefined;
18
+ if (typeof candidate.runBeforeToolExec === 'function'
19
+ && typeof candidate.runAfterToolExec === 'function'
20
+ && typeof candidate.runOnError === 'function') {
21
+ return candidate;
22
+ }
23
+ return undefined;
24
+ }
11
25
  export class ToolExecutor {
12
26
  registry;
13
27
  active = 0;
@@ -18,6 +32,7 @@ export class ToolExecutor {
18
32
  this.maxConcurrency = options.maxConcurrency ?? 4;
19
33
  }
20
34
  async execute(name, input, context) {
35
+ const pluginHooks = getPluginHookRunner(context);
21
36
  const tool = this.registry.get(name);
22
37
  if (!tool) {
23
38
  const availableTools = this.registry.list().map(t => t.name).join(', ');
@@ -26,15 +41,50 @@ export class ToolExecutor {
26
41
  isError: true,
27
42
  };
28
43
  }
44
+ let effectiveInput = input;
45
+ if (pluginHooks) {
46
+ try {
47
+ const modified = await pluginHooks.runBeforeToolExec(name, input);
48
+ if (!isRecord(modified)) {
49
+ return {
50
+ data: `Plugin beforeToolExec hook for "${name}" must return an object input payload.`,
51
+ isError: true,
52
+ };
53
+ }
54
+ effectiveInput = modified;
55
+ }
56
+ catch (err) {
57
+ const error = err instanceof Error ? err : new Error(String(err));
58
+ await pluginHooks.runOnError(error);
59
+ return {
60
+ data: `Plugin beforeToolExec hook failed for "${name}": ${error.message}`,
61
+ isError: true,
62
+ };
63
+ }
64
+ }
29
65
  // Validate input through Zod schema with corrective error messages
30
- const validation = validateToolInput(name, input, tool.inputSchema);
66
+ const validation = validateToolInput(name, effectiveInput, tool.inputSchema);
31
67
  if (!validation.ok) {
32
68
  return { data: validation.message, isError: true };
33
69
  }
34
70
  try {
35
71
  await this.acquire();
36
72
  try {
37
- return await tool.execute(validation.parsed, context);
73
+ let result = await tool.execute(validation.parsed, context);
74
+ if (pluginHooks) {
75
+ try {
76
+ result = await pluginHooks.runAfterToolExec(name, result);
77
+ }
78
+ catch (err) {
79
+ const error = err instanceof Error ? err : new Error(String(err));
80
+ await pluginHooks.runOnError(error);
81
+ return {
82
+ data: `Plugin afterToolExec hook failed for "${name}": ${error.message}`,
83
+ isError: true,
84
+ };
85
+ }
86
+ }
87
+ return result;
38
88
  }
39
89
  finally {
40
90
  this.release();
@@ -42,6 +92,9 @@ export class ToolExecutor {
42
92
  }
43
93
  catch (err) {
44
94
  const message = err instanceof Error ? err.message : String(err);
95
+ if (pluginHooks) {
96
+ await pluginHooks.runOnError(err instanceof Error ? err : new Error(String(err)));
97
+ }
45
98
  return { data: `Tool "${name}" execution error: ${message}`, isError: true };
46
99
  }
47
100
  }