concevent-ai-agent-sdk 2.2.0 → 2.4.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 (73) hide show
  1. package/README.md +281 -0
  2. package/dist/core/agent.js +1 -1
  3. package/dist/core/agent.js.map +1 -1
  4. package/dist/core/orchestrator.d.ts.map +1 -1
  5. package/dist/core/orchestrator.js.map +1 -1
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +9 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/tools/bash-output.d.ts +19 -0
  11. package/dist/tools/bash-output.d.ts.map +1 -0
  12. package/dist/tools/bash-output.js +47 -0
  13. package/dist/tools/bash-output.js.map +1 -0
  14. package/dist/tools/bash.d.ts +25 -0
  15. package/dist/tools/bash.d.ts.map +1 -0
  16. package/dist/tools/bash.js +79 -0
  17. package/dist/tools/bash.js.map +1 -0
  18. package/dist/tools/edit.d.ts +28 -0
  19. package/dist/tools/edit.d.ts.map +1 -0
  20. package/dist/tools/edit.js +97 -0
  21. package/dist/tools/edit.js.map +1 -0
  22. package/dist/tools/glob.d.ts +25 -0
  23. package/dist/tools/glob.d.ts.map +1 -0
  24. package/dist/tools/glob.js +88 -0
  25. package/dist/tools/glob.js.map +1 -0
  26. package/dist/tools/grep.d.ts +31 -0
  27. package/dist/tools/grep.d.ts.map +1 -0
  28. package/dist/tools/grep.js +195 -0
  29. package/dist/tools/grep.js.map +1 -0
  30. package/dist/tools/index.d.ts +85 -0
  31. package/dist/tools/index.d.ts.map +1 -0
  32. package/dist/tools/index.js +141 -0
  33. package/dist/tools/index.js.map +1 -0
  34. package/dist/tools/kill-bash.d.ts +19 -0
  35. package/dist/tools/kill-bash.d.ts.map +1 -0
  36. package/dist/tools/kill-bash.js +49 -0
  37. package/dist/tools/kill-bash.js.map +1 -0
  38. package/dist/tools/read.d.ts +25 -0
  39. package/dist/tools/read.d.ts.map +1 -0
  40. package/dist/tools/read.js +103 -0
  41. package/dist/tools/read.js.map +1 -0
  42. package/dist/tools/task.d.ts +25 -0
  43. package/dist/tools/task.d.ts.map +1 -0
  44. package/dist/tools/task.js +71 -0
  45. package/dist/tools/task.js.map +1 -0
  46. package/dist/tools/todo-write.d.ts +46 -0
  47. package/dist/tools/todo-write.d.ts.map +1 -0
  48. package/dist/tools/todo-write.js +151 -0
  49. package/dist/tools/todo-write.js.map +1 -0
  50. package/dist/tools/types.d.ts +147 -0
  51. package/dist/tools/types.d.ts.map +1 -0
  52. package/dist/tools/types.js +16 -0
  53. package/dist/tools/types.js.map +1 -0
  54. package/dist/tools/utils/index.d.ts +3 -0
  55. package/dist/tools/utils/index.d.ts.map +1 -0
  56. package/dist/tools/utils/index.js +3 -0
  57. package/dist/tools/utils/index.js.map +1 -0
  58. package/dist/tools/utils/path.d.ts +40 -0
  59. package/dist/tools/utils/path.d.ts.map +1 -0
  60. package/dist/tools/utils/path.js +146 -0
  61. package/dist/tools/utils/path.js.map +1 -0
  62. package/dist/tools/utils/shell.d.ts +49 -0
  63. package/dist/tools/utils/shell.d.ts.map +1 -0
  64. package/dist/tools/utils/shell.js +232 -0
  65. package/dist/tools/utils/shell.js.map +1 -0
  66. package/dist/tools/write.d.ts +22 -0
  67. package/dist/tools/write.d.ts.map +1 -0
  68. package/dist/tools/write.js +70 -0
  69. package/dist/tools/write.js.map +1 -0
  70. package/dist/types/config.d.ts +6 -0
  71. package/dist/types/config.d.ts.map +1 -1
  72. package/dist/types/config.js.map +1 -1
  73. package/package.json +2 -2
@@ -0,0 +1,232 @@
1
+ import { spawn } from 'child_process';
2
+ import * as os from 'os';
3
+ /**
4
+ * Default dangerous command patterns that should be blocked
5
+ */
6
+ export const DEFAULT_BLOCKED_COMMANDS = [
7
+ /rm\s+(-rf?|--recursive)\s+[/\\]/i, // rm -rf /
8
+ /rm\s+(-rf?|--recursive)\s+\*/i, // rm -rf *
9
+ /mkfs\./i, // mkfs commands
10
+ /dd\s+if=/i, // dd commands
11
+ /:\s*\(\s*\)\s*\{/i, // Fork bombs
12
+ />\s*\/dev\/sd[a-z]/i, // Writing to block devices
13
+ /chmod\s+(-R\s+)?777\s+\//i, // chmod 777 /
14
+ /chown\s+(-R\s+)?root/i, // chown root
15
+ ];
16
+ /**
17
+ * Gets the appropriate shell command for the current platform
18
+ */
19
+ export function getShellCommand() {
20
+ const platform = os.platform();
21
+ if (platform === 'win32') {
22
+ // Use cmd.exe on Windows
23
+ return {
24
+ shell: process.env.COMSPEC || 'cmd.exe',
25
+ args: ['/c'],
26
+ };
27
+ }
28
+ // Use bash on Unix-like systems, fallback to sh
29
+ const shell = process.env.SHELL || '/bin/bash';
30
+ // Check if the shell exists, fallback to sh
31
+ return {
32
+ shell: shell.includes('bash') ? shell : '/bin/sh',
33
+ args: ['-c'],
34
+ };
35
+ }
36
+ /**
37
+ * Checks if a command matches any blocked patterns
38
+ */
39
+ export function isCommandBlocked(command, blockedPatterns) {
40
+ const patterns = blockedPatterns || DEFAULT_BLOCKED_COMMANDS;
41
+ for (const pattern of patterns) {
42
+ if (pattern.test(command)) {
43
+ return `Command blocked by security policy: matches pattern ${pattern.toString()}`;
44
+ }
45
+ }
46
+ return null;
47
+ }
48
+ /**
49
+ * Executes a shell command and returns the result
50
+ */
51
+ export async function executeCommand(command, options = {}) {
52
+ const { cwd, timeout = 30000, env, abortSignal } = options;
53
+ const { shell, args } = getShellCommand();
54
+ return new Promise((resolve, reject) => {
55
+ let stdout = '';
56
+ let stderr = '';
57
+ let timedOut = false;
58
+ let settled = false;
59
+ const child = spawn(shell, [...args, command], {
60
+ cwd,
61
+ env: { ...process.env, ...env },
62
+ stdio: ['pipe', 'pipe', 'pipe'],
63
+ });
64
+ // Set up timeout
65
+ const timeoutId = timeout > 0
66
+ ? setTimeout(() => {
67
+ if (!settled) {
68
+ timedOut = true;
69
+ child.kill('SIGTERM');
70
+ // Give it a moment to terminate gracefully, then force kill
71
+ setTimeout(() => {
72
+ if (!settled) {
73
+ child.kill('SIGKILL');
74
+ }
75
+ }, 1000);
76
+ }
77
+ }, timeout)
78
+ : null;
79
+ // Handle abort signal
80
+ const abortHandler = () => {
81
+ if (!settled) {
82
+ child.kill('SIGTERM');
83
+ }
84
+ };
85
+ if (abortSignal) {
86
+ abortSignal.addEventListener('abort', abortHandler, { once: true });
87
+ }
88
+ child.stdout?.on('data', (data) => {
89
+ stdout += data.toString();
90
+ });
91
+ child.stderr?.on('data', (data) => {
92
+ stderr += data.toString();
93
+ });
94
+ child.on('close', (code) => {
95
+ settled = true;
96
+ if (timeoutId)
97
+ clearTimeout(timeoutId);
98
+ if (abortSignal) {
99
+ abortSignal.removeEventListener('abort', abortHandler);
100
+ }
101
+ resolve({
102
+ stdout: stdout.trim(),
103
+ stderr: stderr.trim(),
104
+ exitCode: code ?? (timedOut ? 124 : 1),
105
+ timedOut,
106
+ });
107
+ });
108
+ child.on('error', (error) => {
109
+ settled = true;
110
+ if (timeoutId)
111
+ clearTimeout(timeoutId);
112
+ if (abortSignal) {
113
+ abortSignal.removeEventListener('abort', abortHandler);
114
+ }
115
+ reject(error);
116
+ });
117
+ });
118
+ }
119
+ /**
120
+ * Creates a ProcessManager for managing background processes
121
+ */
122
+ export function createProcessManager() {
123
+ const processes = new Map();
124
+ return {
125
+ get(id) {
126
+ const entry = processes.get(id);
127
+ return entry?.info;
128
+ },
129
+ getAll() {
130
+ return Array.from(processes.values()).map((entry) => entry.info);
131
+ },
132
+ async kill(id) {
133
+ const entry = processes.get(id);
134
+ if (!entry) {
135
+ return false;
136
+ }
137
+ if (entry.info.running) {
138
+ entry.process.kill('SIGTERM');
139
+ // Wait a moment for graceful shutdown
140
+ await new Promise((resolve) => setTimeout(resolve, 100));
141
+ if (entry.info.running) {
142
+ entry.process.kill('SIGKILL');
143
+ }
144
+ }
145
+ processes.delete(id);
146
+ return true;
147
+ },
148
+ async cleanup() {
149
+ const ids = Array.from(processes.keys());
150
+ await Promise.all(ids.map((id) => this.kill(id)));
151
+ },
152
+ };
153
+ }
154
+ /**
155
+ * Spawns a background process and registers it with the ProcessManager
156
+ */
157
+ export function spawnBackgroundProcess(command, processManager, options = {}) {
158
+ const { cwd, env } = options;
159
+ const { shell, args } = getShellCommand();
160
+ // Generate a unique ID
161
+ const id = `bg_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
162
+ const info = {
163
+ id,
164
+ command,
165
+ startTime: new Date(),
166
+ stdout: '',
167
+ stderr: '',
168
+ exitCode: null,
169
+ running: true,
170
+ };
171
+ const child = spawn(shell, [...args, command], {
172
+ cwd,
173
+ env: { ...process.env, ...env },
174
+ stdio: ['pipe', 'pipe', 'pipe'],
175
+ detached: false,
176
+ });
177
+ child.stdout?.on('data', (data) => {
178
+ info.stdout += data.toString();
179
+ });
180
+ child.stderr?.on('data', (data) => {
181
+ info.stderr += data.toString();
182
+ });
183
+ child.on('close', (code) => {
184
+ info.exitCode = code;
185
+ info.running = false;
186
+ });
187
+ child.on('error', () => {
188
+ info.running = false;
189
+ info.exitCode = 1;
190
+ });
191
+ // Register with the process manager (internal method)
192
+ // We need to access the internal map through a workaround
193
+ // The ProcessManager returned by createProcessManager has closure access
194
+ processManager._processes?.set(id, { process: child, info });
195
+ return info;
196
+ }
197
+ /**
198
+ * Creates a ProcessManager with internal registration capability
199
+ */
200
+ export function createProcessManagerWithInternal() {
201
+ const processes = new Map();
202
+ return {
203
+ _processes: processes,
204
+ get(id) {
205
+ const entry = processes.get(id);
206
+ return entry?.info;
207
+ },
208
+ getAll() {
209
+ return Array.from(processes.values()).map((entry) => entry.info);
210
+ },
211
+ async kill(id) {
212
+ const entry = processes.get(id);
213
+ if (!entry) {
214
+ return false;
215
+ }
216
+ if (entry.info.running) {
217
+ entry.process.kill('SIGTERM');
218
+ await new Promise((resolve) => setTimeout(resolve, 100));
219
+ if (entry.info.running) {
220
+ entry.process.kill('SIGKILL');
221
+ }
222
+ }
223
+ processes.delete(id);
224
+ return true;
225
+ },
226
+ async cleanup() {
227
+ const ids = Array.from(processes.keys());
228
+ await Promise.all(ids.map((id) => this.kill(id)));
229
+ },
230
+ };
231
+ }
232
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import type { ToolDefinition } from '../types/index.js';
3
+ import type { ToolConfig } from './types.js';
4
+ /**
5
+ * Schema for the Write tool parameters
6
+ */
7
+ export declare const writeSchema: z.ZodObject<{
8
+ file_path: z.ZodString;
9
+ content: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ content: string;
12
+ file_path: string;
13
+ }, {
14
+ content: string;
15
+ file_path: string;
16
+ }>;
17
+ export type WriteParams = z.infer<typeof writeSchema>;
18
+ /**
19
+ * Creates the Write tool for creating or overwriting files
20
+ */
21
+ export declare function createWriteTool(config?: ToolConfig): ToolDefinition;
22
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,UAAe,GAAG,cAAc,CAwDvE"}
@@ -0,0 +1,70 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { z } from 'zod';
4
+ import { zodToJsonSchema } from 'zod-to-json-schema';
5
+ import { resolvePath, isPathAllowed, isPathSafe, ensureDirectory } from './utils/path.js';
6
+ /**
7
+ * Schema for the Write tool parameters
8
+ */
9
+ export const writeSchema = z.object({
10
+ file_path: z
11
+ .string()
12
+ .describe('The path to the file to write. Can be absolute or relative to working directory.'),
13
+ content: z
14
+ .string()
15
+ .describe('The content to write to the file. This will overwrite any existing content.'),
16
+ });
17
+ /**
18
+ * Creates the Write tool for creating or overwriting files
19
+ */
20
+ export function createWriteTool(config = {}) {
21
+ const workingDirectory = config.workingDirectory || process.cwd();
22
+ return {
23
+ declaration: {
24
+ name: 'Write',
25
+ description: `Creates a new file or overwrites an existing file with the specified content.
26
+ Parent directories are created automatically if they don't exist.
27
+ WARNING: This will completely overwrite existing file contents.`,
28
+ parametersJsonSchema: zodToJsonSchema(writeSchema),
29
+ },
30
+ executor: async (args) => {
31
+ const params = writeSchema.parse(args);
32
+ const resolvedPath = resolvePath(params.file_path, workingDirectory);
33
+ // Security checks
34
+ if (!isPathSafe(params.file_path, workingDirectory)) {
35
+ throw new Error(`Path traversal detected: ${params.file_path}`);
36
+ }
37
+ if (!isPathAllowed(resolvedPath, config.allowedPaths)) {
38
+ throw new Error(`Access denied: ${params.file_path} is outside allowed paths`);
39
+ }
40
+ // Check if it's a directory
41
+ try {
42
+ const stat = await fs.stat(resolvedPath);
43
+ if (stat.isDirectory()) {
44
+ throw new Error(`Cannot write to a directory: ${params.file_path}`);
45
+ }
46
+ }
47
+ catch (error) {
48
+ // File doesn't exist yet, that's fine
49
+ if (error.code !== 'ENOENT') {
50
+ throw error;
51
+ }
52
+ }
53
+ // Ensure parent directory exists
54
+ const parentDir = path.dirname(resolvedPath);
55
+ await ensureDirectory(parentDir);
56
+ // Write the file
57
+ await fs.writeFile(resolvedPath, params.content, 'utf-8');
58
+ // Get file stats for confirmation
59
+ const stat = await fs.stat(resolvedPath);
60
+ return {
61
+ success: true,
62
+ file_path: params.file_path,
63
+ bytes_written: stat.size,
64
+ message: `Successfully wrote ${stat.size} bytes to ${params.file_path}`,
65
+ };
66
+ },
67
+ parallel: false, // Writing should be sequential to avoid conflicts
68
+ };
69
+ }
70
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,6EAA6E,CAAC;CAC3F,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAqB,EAAE;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAElE,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE;;gEAE6C;YAC1D,oBAAoB,EAAE,eAAe,CAAC,WAAW,CAAC;SACnD;QACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAErE,kBAAkB;YAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,SAAS,2BAA2B,CAAC,CAAC;YACjF,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sCAAsC;gBACtC,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;YAEjC,iBAAiB;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1D,kCAAkC;YAClC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,IAAI,CAAC,IAAI;gBACxB,OAAO,EAAE,sBAAsB,IAAI,CAAC,IAAI,aAAa,MAAM,CAAC,SAAS,EAAE;aACxE,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,kDAAkD;KACpE,CAAC;AACJ,CAAC"}
@@ -60,6 +60,12 @@ export interface ErrorMessages {
60
60
  export type ReasoningEffort = 'low' | 'medium' | 'high';
61
61
  export interface SummarizationConfig {
62
62
  enabled: boolean;
63
+ /**
64
+ * Model to use for summarization.
65
+ * Defaults to the main agent model if not specified.
66
+ * Use a faster/cheaper model for more efficient summarization.
67
+ */
68
+ model?: string;
63
69
  prompt?: string;
64
70
  contextLimitTokens?: number;
65
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,eAAe,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,mBAAmB,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qDAAqD;AACrD,eAAO,MAAM,iCAAiC,QAAS,CAAC;AACxD,kDAAkD;AAClD,eAAO,MAAM,8BAA8B,SAAU,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,eAAe,EAAE,eAAe,EAAE,CAAC;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mBAAmB,EAAE,OAAO,eAAe,EAAE,WAAW,EAAE,CAAC;IAC3D,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,kBAAkB,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAyFA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AA4BzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAoBlD,qDAAqD;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACxD,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AA+FA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AA4BzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAoBlD,qDAAqD;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACxD,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "concevent-ai-agent-sdk",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "Framework-agnostic AI Agent SDK with tool calling, conversation management, and automatic summarization",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "typecheck": "tsc --noEmit",
25
25
  "format": "prettier --write .",
26
26
  "format:check": "prettier --check .",
27
- "prepublishOnly": "npm install && npm run build && npm run test"
27
+ "prepublishOnly": "npm install && npm run build && npm run test && npm run format:check"
28
28
  },
29
29
  "keywords": [
30
30
  "ai",