@ugm/desiagent 0.1.21

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 (202) hide show
  1. package/README.md +251 -0
  2. package/dist/__tests__/test-utils.d.ts +24 -0
  3. package/dist/__tests__/test-utils.d.ts.map +1 -0
  4. package/dist/__tests__/test-utils.js +32 -0
  5. package/dist/__tests__/test-utils.js.map +1 -0
  6. package/dist/core/execution/agents.d.ts +60 -0
  7. package/dist/core/execution/agents.d.ts.map +1 -0
  8. package/dist/core/execution/agents.js +249 -0
  9. package/dist/core/execution/agents.js.map +1 -0
  10. package/dist/core/execution/artifacts.d.ts +27 -0
  11. package/dist/core/execution/artifacts.d.ts.map +1 -0
  12. package/dist/core/execution/artifacts.js +93 -0
  13. package/dist/core/execution/artifacts.js.map +1 -0
  14. package/dist/core/execution/costs.d.ts +160 -0
  15. package/dist/core/execution/costs.d.ts.map +1 -0
  16. package/dist/core/execution/costs.js +196 -0
  17. package/dist/core/execution/costs.js.map +1 -0
  18. package/dist/core/execution/dagExecutor.d.ts +112 -0
  19. package/dist/core/execution/dagExecutor.d.ts.map +1 -0
  20. package/dist/core/execution/dagExecutor.js +647 -0
  21. package/dist/core/execution/dagExecutor.js.map +1 -0
  22. package/dist/core/execution/dags.d.ts +167 -0
  23. package/dist/core/execution/dags.d.ts.map +1 -0
  24. package/dist/core/execution/dags.js +713 -0
  25. package/dist/core/execution/dags.js.map +1 -0
  26. package/dist/core/execution/executions.d.ts +158 -0
  27. package/dist/core/execution/executions.d.ts.map +1 -0
  28. package/dist/core/execution/executions.js +258 -0
  29. package/dist/core/execution/executions.js.map +1 -0
  30. package/dist/core/execution/goals.d.ts +62 -0
  31. package/dist/core/execution/goals.d.ts.map +1 -0
  32. package/dist/core/execution/goals.js +245 -0
  33. package/dist/core/execution/goals.js.map +1 -0
  34. package/dist/core/execution/runs.d.ts +65 -0
  35. package/dist/core/execution/runs.d.ts.map +1 -0
  36. package/dist/core/execution/runs.js +219 -0
  37. package/dist/core/execution/runs.js.map +1 -0
  38. package/dist/core/execution/tools.d.ts +24 -0
  39. package/dist/core/execution/tools.d.ts.map +1 -0
  40. package/dist/core/execution/tools.js +33 -0
  41. package/dist/core/execution/tools.js.map +1 -0
  42. package/dist/core/orchestration/index.d.ts +7 -0
  43. package/dist/core/orchestration/index.d.ts.map +1 -0
  44. package/dist/core/orchestration/index.js +7 -0
  45. package/dist/core/orchestration/index.js.map +1 -0
  46. package/dist/core/orchestration/orchestrator.d.ts +39 -0
  47. package/dist/core/orchestration/orchestrator.d.ts.map +1 -0
  48. package/dist/core/orchestration/orchestrator.js +141 -0
  49. package/dist/core/orchestration/orchestrator.js.map +1 -0
  50. package/dist/core/orchestration/planner.d.ts +63 -0
  51. package/dist/core/orchestration/planner.d.ts.map +1 -0
  52. package/dist/core/orchestration/planner.js +99 -0
  53. package/dist/core/orchestration/planner.js.map +1 -0
  54. package/dist/core/providers/factory.d.ts +25 -0
  55. package/dist/core/providers/factory.d.ts.map +1 -0
  56. package/dist/core/providers/factory.js +86 -0
  57. package/dist/core/providers/factory.js.map +1 -0
  58. package/dist/core/providers/index.d.ts +11 -0
  59. package/dist/core/providers/index.d.ts.map +1 -0
  60. package/dist/core/providers/index.js +10 -0
  61. package/dist/core/providers/index.js.map +1 -0
  62. package/dist/core/providers/ollama.d.ts +36 -0
  63. package/dist/core/providers/ollama.d.ts.map +1 -0
  64. package/dist/core/providers/ollama.js +123 -0
  65. package/dist/core/providers/ollama.js.map +1 -0
  66. package/dist/core/providers/openai.d.ts +33 -0
  67. package/dist/core/providers/openai.d.ts.map +1 -0
  68. package/dist/core/providers/openai.js +114 -0
  69. package/dist/core/providers/openai.js.map +1 -0
  70. package/dist/core/providers/openrouter.d.ts +38 -0
  71. package/dist/core/providers/openrouter.d.ts.map +1 -0
  72. package/dist/core/providers/openrouter.js +269 -0
  73. package/dist/core/providers/openrouter.js.map +1 -0
  74. package/dist/core/providers/types.d.ts +101 -0
  75. package/dist/core/providers/types.d.ts.map +1 -0
  76. package/dist/core/providers/types.js +7 -0
  77. package/dist/core/providers/types.js.map +1 -0
  78. package/dist/core/tools/base.d.ts +56 -0
  79. package/dist/core/tools/base.d.ts.map +1 -0
  80. package/dist/core/tools/base.js +60 -0
  81. package/dist/core/tools/base.js.map +1 -0
  82. package/dist/core/tools/bash.d.ts +50 -0
  83. package/dist/core/tools/bash.d.ts.map +1 -0
  84. package/dist/core/tools/bash.js +179 -0
  85. package/dist/core/tools/bash.js.map +1 -0
  86. package/dist/core/tools/edit.d.ts +39 -0
  87. package/dist/core/tools/edit.d.ts.map +1 -0
  88. package/dist/core/tools/edit.js +67 -0
  89. package/dist/core/tools/edit.js.map +1 -0
  90. package/dist/core/tools/executor.d.ts +33 -0
  91. package/dist/core/tools/executor.d.ts.map +1 -0
  92. package/dist/core/tools/executor.js +105 -0
  93. package/dist/core/tools/executor.js.map +1 -0
  94. package/dist/core/tools/fetchPage.d.ts +46 -0
  95. package/dist/core/tools/fetchPage.d.ts.map +1 -0
  96. package/dist/core/tools/fetchPage.js +87 -0
  97. package/dist/core/tools/fetchPage.js.map +1 -0
  98. package/dist/core/tools/fetchURLs.d.ts +39 -0
  99. package/dist/core/tools/fetchURLs.d.ts.map +1 -0
  100. package/dist/core/tools/fetchURLs.js +67 -0
  101. package/dist/core/tools/fetchURLs.js.map +1 -0
  102. package/dist/core/tools/glob.d.ts +36 -0
  103. package/dist/core/tools/glob.d.ts.map +1 -0
  104. package/dist/core/tools/glob.js +78 -0
  105. package/dist/core/tools/glob.js.map +1 -0
  106. package/dist/core/tools/grep.d.ts +51 -0
  107. package/dist/core/tools/grep.d.ts.map +1 -0
  108. package/dist/core/tools/grep.js +152 -0
  109. package/dist/core/tools/grep.js.map +1 -0
  110. package/dist/core/tools/index.d.ts +22 -0
  111. package/dist/core/tools/index.d.ts.map +1 -0
  112. package/dist/core/tools/index.js +22 -0
  113. package/dist/core/tools/index.js.map +1 -0
  114. package/dist/core/tools/llmExecute.d.ts +153 -0
  115. package/dist/core/tools/llmExecute.d.ts.map +1 -0
  116. package/dist/core/tools/llmExecute.js +105 -0
  117. package/dist/core/tools/llmExecute.js.map +1 -0
  118. package/dist/core/tools/readEmail.d.ts +68 -0
  119. package/dist/core/tools/readEmail.d.ts.map +1 -0
  120. package/dist/core/tools/readEmail.js +182 -0
  121. package/dist/core/tools/readEmail.js.map +1 -0
  122. package/dist/core/tools/readFile.d.ts +42 -0
  123. package/dist/core/tools/readFile.d.ts.map +1 -0
  124. package/dist/core/tools/readFile.js +79 -0
  125. package/dist/core/tools/readFile.js.map +1 -0
  126. package/dist/core/tools/registry.d.ts +53 -0
  127. package/dist/core/tools/registry.d.ts.map +1 -0
  128. package/dist/core/tools/registry.js +112 -0
  129. package/dist/core/tools/registry.js.map +1 -0
  130. package/dist/core/tools/sendEmail.d.ts +83 -0
  131. package/dist/core/tools/sendEmail.d.ts.map +1 -0
  132. package/dist/core/tools/sendEmail.js +132 -0
  133. package/dist/core/tools/sendEmail.js.map +1 -0
  134. package/dist/core/tools/sendWebhook.d.ts +48 -0
  135. package/dist/core/tools/sendWebhook.d.ts.map +1 -0
  136. package/dist/core/tools/sendWebhook.js +61 -0
  137. package/dist/core/tools/sendWebhook.js.map +1 -0
  138. package/dist/core/tools/webSearch.d.ts +34 -0
  139. package/dist/core/tools/webSearch.d.ts.map +1 -0
  140. package/dist/core/tools/webSearch.js +104 -0
  141. package/dist/core/tools/webSearch.js.map +1 -0
  142. package/dist/core/tools/writeFile.d.ts +49 -0
  143. package/dist/core/tools/writeFile.d.ts.map +1 -0
  144. package/dist/core/tools/writeFile.js +120 -0
  145. package/dist/core/tools/writeFile.js.map +1 -0
  146. package/dist/db/client.d.ts +22 -0
  147. package/dist/db/client.d.ts.map +1 -0
  148. package/dist/db/client.js +178 -0
  149. package/dist/db/client.js.map +1 -0
  150. package/dist/db/schema.d.ts +1846 -0
  151. package/dist/db/schema.d.ts.map +1 -0
  152. package/dist/db/schema.js +175 -0
  153. package/dist/db/schema.js.map +1 -0
  154. package/dist/errors/index.d.ts +80 -0
  155. package/dist/errors/index.d.ts.map +1 -0
  156. package/dist/errors/index.js +135 -0
  157. package/dist/errors/index.js.map +1 -0
  158. package/dist/index.d.ts +52 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +172 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/services/initDB.d.ts +17 -0
  163. package/dist/services/initDB.d.ts.map +1 -0
  164. package/dist/services/initDB.js +212 -0
  165. package/dist/services/initDB.js.map +1 -0
  166. package/dist/types/agent.d.ts +354 -0
  167. package/dist/types/agent.d.ts.map +1 -0
  168. package/dist/types/agent.js +63 -0
  169. package/dist/types/agent.js.map +1 -0
  170. package/dist/types/client.d.ts +309 -0
  171. package/dist/types/client.d.ts.map +1 -0
  172. package/dist/types/client.js +2 -0
  173. package/dist/types/client.js.map +1 -0
  174. package/dist/types/config.d.ts +96 -0
  175. package/dist/types/config.d.ts.map +1 -0
  176. package/dist/types/config.js +33 -0
  177. package/dist/types/config.js.map +1 -0
  178. package/dist/types/dag.d.ts +253 -0
  179. package/dist/types/dag.d.ts.map +1 -0
  180. package/dist/types/dag.js +46 -0
  181. package/dist/types/dag.js.map +1 -0
  182. package/dist/types/execution.d.ts +171 -0
  183. package/dist/types/execution.d.ts.map +1 -0
  184. package/dist/types/execution.js +41 -0
  185. package/dist/types/execution.js.map +1 -0
  186. package/dist/types/index.d.ts +12 -0
  187. package/dist/types/index.d.ts.map +1 -0
  188. package/dist/types/index.js +11 -0
  189. package/dist/types/index.js.map +1 -0
  190. package/dist/util/cron-validator.d.ts +16 -0
  191. package/dist/util/cron-validator.d.ts.map +1 -0
  192. package/dist/util/cron-validator.js +31 -0
  193. package/dist/util/cron-validator.js.map +1 -0
  194. package/dist/util/dag-utils.d.ts +54 -0
  195. package/dist/util/dag-utils.d.ts.map +1 -0
  196. package/dist/util/dag-utils.js +167 -0
  197. package/dist/util/dag-utils.js.map +1 -0
  198. package/dist/util/logger.d.ts +21 -0
  199. package/dist/util/logger.d.ts.map +1 -0
  200. package/dist/util/logger.js +87 -0
  201. package/dist/util/logger.js.map +1 -0
  202. package/package.json +82 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * initDB Service
3
+ * Programmatically creates a SQLite database with all tables from the schema
4
+ */
5
+ export interface InitDBOptions {
6
+ force?: boolean;
7
+ }
8
+ export interface InitDBResult {
9
+ success: boolean;
10
+ message: string;
11
+ tables?: string[];
12
+ views?: string[];
13
+ agentsSeeded?: number;
14
+ artifactsDir?: string;
15
+ }
16
+ export declare function initDB(dbPath: string, options?: InitDBOptions): Promise<InitDBResult>;
17
+ //# sourceMappingURL=initDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initDB.d.ts","sourceRoot":"","sources":["../../src/services/initDB.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgND,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwD3F"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * initDB Service
3
+ * Programmatically creates a SQLite database with all tables from the schema
4
+ */
5
+ import { Database } from 'bun:sqlite';
6
+ import { existsSync, unlinkSync, readFileSync, mkdirSync } from 'fs';
7
+ import { dirname, resolve } from 'path';
8
+ import { getTableConfig } from 'drizzle-orm/sqlite-core';
9
+ import * as schema from '../db/schema.js';
10
+ const TABLE_NAME_SYMBOL = Symbol.for('drizzle:Name');
11
+ function generateColumnSQL(col) {
12
+ let sql = `${col.name} ${col.getSQLType()}`;
13
+ if (col.primary) {
14
+ sql += ' PRIMARY KEY';
15
+ }
16
+ if (col.notNull && !col.primary) {
17
+ sql += ' NOT NULL';
18
+ }
19
+ if (col.hasDefault && col.default !== undefined) {
20
+ const defaultVal = col.default;
21
+ if (typeof defaultVal === 'object' && defaultVal !== null && 'queryChunks' in defaultVal) {
22
+ const chunks = defaultVal.queryChunks;
23
+ const sqlParts = chunks.map((c) => c.value?.[0] ?? '').join('');
24
+ sql += ` DEFAULT ${sqlParts}`;
25
+ }
26
+ else if (typeof defaultVal === 'string') {
27
+ sql += ` DEFAULT '${defaultVal}'`;
28
+ }
29
+ else if (typeof defaultVal === 'number' || typeof defaultVal === 'boolean') {
30
+ sql += ` DEFAULT ${defaultVal === true ? 1 : defaultVal === false ? 0 : defaultVal}`;
31
+ }
32
+ }
33
+ return sql;
34
+ }
35
+ function generateForeignKeySQL(fk) {
36
+ try {
37
+ const localCols = fk.columns.map((c) => c.name).join(', ');
38
+ const foreignTable = fk.foreignColumns[0]?.table?.[TABLE_NAME_SYMBOL];
39
+ if (!foreignTable)
40
+ return null;
41
+ const foreignCols = fk.foreignColumns.map((c) => c.name).join(', ');
42
+ let fkSql = `FOREIGN KEY (${localCols}) REFERENCES ${foreignTable}(${foreignCols})`;
43
+ if (fk.onDelete)
44
+ fkSql += ` ON DELETE ${fk.onDelete.toUpperCase()}`;
45
+ if (fk.onUpdate)
46
+ fkSql += ` ON UPDATE ${fk.onUpdate.toUpperCase()}`;
47
+ return fkSql;
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }
53
+ function generateIndexSQL(idx, tableName) {
54
+ const cfg = idx.config;
55
+ const idxCols = cfg.columns.map((c) => c.name).join(', ');
56
+ let idxSql = `CREATE ${cfg.unique ? 'UNIQUE ' : ''}INDEX IF NOT EXISTS ${cfg.name} ON ${tableName}(${idxCols})`;
57
+ if (cfg.where) {
58
+ const chunks = cfg.where.queryChunks;
59
+ const whereParts = [];
60
+ for (const chunk of chunks) {
61
+ if (chunk.value) {
62
+ whereParts.push(chunk.value.join(''));
63
+ }
64
+ else if (chunk.name) {
65
+ whereParts.push(chunk.name);
66
+ }
67
+ }
68
+ const whereClause = whereParts.join('');
69
+ if (whereClause.trim()) {
70
+ idxSql += ` WHERE ${whereClause}`;
71
+ }
72
+ }
73
+ return idxSql + ';';
74
+ }
75
+ function generateTableSQL(table) {
76
+ const config = getTableConfig(table);
77
+ const columns = [];
78
+ const foreignKeys = [];
79
+ const indexes = [];
80
+ for (const col of config.columns) {
81
+ columns.push(generateColumnSQL(col));
82
+ }
83
+ for (const fk of config.foreignKeys) {
84
+ const fkSql = generateForeignKeySQL(fk);
85
+ if (fkSql)
86
+ foreignKeys.push(fkSql);
87
+ }
88
+ const createTable = `CREATE TABLE IF NOT EXISTS ${config.name} (\n ${[...columns, ...foreignKeys].join(',\n ')}\n);`;
89
+ for (const idx of config.indexes) {
90
+ indexes.push(generateIndexSQL(idx, config.name));
91
+ }
92
+ return { createTable, indexes, tableName: config.name };
93
+ }
94
+ function generateViewSQL() {
95
+ return `
96
+ CREATE VIEW IF NOT EXISTS executions AS
97
+ SELECT
98
+ d.dag_title,
99
+ e.id,
100
+ e.dag_id,
101
+ e.original_request,
102
+ e.primary_intent,
103
+ e.status,
104
+ e.started_at,
105
+ e.completed_at,
106
+ e.duration_ms,
107
+ e.total_tasks,
108
+ e.completed_tasks,
109
+ e.failed_tasks,
110
+ e.waiting_tasks,
111
+ e.final_result,
112
+ e.synthesis_result,
113
+ e.suspended_reason,
114
+ e.suspended_at,
115
+ e.retry_count,
116
+ e.last_retry_at,
117
+ e.total_usage,
118
+ e.total_cost_usd,
119
+ e.created_at,
120
+ e.updated_at
121
+ FROM dag_executions e
122
+ LEFT JOIN dags d ON e.dag_id = d.id;`;
123
+ }
124
+ function generateAllSQL() {
125
+ const tables = [
126
+ schema.agents,
127
+ schema.dags,
128
+ schema.dagExecutions,
129
+ schema.dagSubSteps,
130
+ ];
131
+ const statements = [];
132
+ const tableNames = [];
133
+ for (const table of tables) {
134
+ const { createTable, indexes, tableName } = generateTableSQL(table);
135
+ statements.push(createTable);
136
+ statements.push(...indexes);
137
+ tableNames.push(tableName);
138
+ }
139
+ statements.push(generateViewSQL());
140
+ return { sql: statements.join('\n\n'), tableNames };
141
+ }
142
+ function seedAgents(sqlite, seedPath) {
143
+ const defaultSeedPath = resolve(dirname(import.meta.dir), '../seed/agents.json');
144
+ const agentsFile = seedPath ?? defaultSeedPath;
145
+ if (!existsSync(agentsFile)) {
146
+ return 0;
147
+ }
148
+ const agentsData = JSON.parse(readFileSync(agentsFile, 'utf-8'));
149
+ const insertStmt = sqlite.prepare(`
150
+ INSERT INTO agents (id, name, version, prompt_template, provider, model, active, metadata, created_at, updated_at)
151
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
152
+ `);
153
+ let count = 0;
154
+ for (const agent of agentsData) {
155
+ insertStmt.run(agent.id, agent.name, agent.version, agent.prompt_template, agent.provider, agent.model, agent.active ? 1 : 0, JSON.stringify(agent.metadata), Math.floor(new Date(agent.created_at).getTime() / 1000), Math.floor(new Date(agent.updated_at).getTime() / 1000));
156
+ count++;
157
+ }
158
+ return count;
159
+ }
160
+ export async function initDB(dbPath, options) {
161
+ const force = options?.force ?? false;
162
+ if (!dbPath || dbPath.trim() === '') {
163
+ return { success: false, message: 'Database path is required' };
164
+ }
165
+ const dbDir = dirname(dbPath);
166
+ if (dbDir && dbDir !== '.' && !existsSync(dbDir)) {
167
+ return { success: false, message: `Parent directory does not exist: ${dbDir}` };
168
+ }
169
+ if (existsSync(dbPath)) {
170
+ if (force) {
171
+ try {
172
+ unlinkSync(dbPath);
173
+ if (existsSync(`${dbPath}-wal`))
174
+ unlinkSync(`${dbPath}-wal`);
175
+ if (existsSync(`${dbPath}-shm`))
176
+ unlinkSync(`${dbPath}-shm`);
177
+ }
178
+ catch (err) {
179
+ return { success: false, message: `Failed to delete existing database: ${err instanceof Error ? err.message : String(err)}` };
180
+ }
181
+ }
182
+ else {
183
+ return { success: false, message: `Database file already exists: ${dbPath}. Use force option to overwrite.` };
184
+ }
185
+ }
186
+ try {
187
+ const sqlite = new Database(dbPath);
188
+ sqlite.exec('PRAGMA journal_mode = WAL;');
189
+ sqlite.exec('PRAGMA foreign_keys = ON;');
190
+ const { sql, tableNames } = generateAllSQL();
191
+ sqlite.exec(sql);
192
+ const agentsSeeded = seedAgents(sqlite);
193
+ sqlite.close();
194
+ // Create artifacts directory as sibling of database file
195
+ const artifactsDir = resolve(dirname(dbPath), 'artifacts');
196
+ if (!existsSync(artifactsDir)) {
197
+ mkdirSync(artifactsDir, { recursive: true });
198
+ }
199
+ return {
200
+ success: true,
201
+ message: 'Database created successfully',
202
+ tables: tableNames,
203
+ views: ['executions'],
204
+ agentsSeeded,
205
+ artifactsDir
206
+ };
207
+ }
208
+ catch (err) {
209
+ return { success: false, message: `Failed to create database: ${err instanceof Error ? err.message : String(err)}` };
210
+ }
211
+ }
212
+ //# sourceMappingURL=initDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initDB.js","sourceRoot":"","sources":["../../src/services/initDB.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,354 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Agent represents an autonomous agent with specific capabilities
4
+ */
5
+ export interface Agent {
6
+ id: string;
7
+ name: string;
8
+ version: string;
9
+ description?: string;
10
+ systemPrompt: string;
11
+ provider: 'openai' | 'openrouter' | 'ollama';
12
+ model: string;
13
+ isActive: boolean;
14
+ allowedTools?: string[];
15
+ constraints?: AgentConstraints;
16
+ createdAt: Date;
17
+ updatedAt: Date;
18
+ metadata?: Record<string, any>;
19
+ }
20
+ /**
21
+ * Agent constraints and limits
22
+ */
23
+ export interface AgentConstraints {
24
+ maxTokens?: number;
25
+ temperature?: number;
26
+ topP?: number;
27
+ frequencyPenalty?: number;
28
+ presencePenalty?: number;
29
+ maxSteps?: number;
30
+ timeout?: number;
31
+ }
32
+ /**
33
+ * Tool definition (legacy format for listing)
34
+ */
35
+ export interface Tool {
36
+ name: string;
37
+ description: string;
38
+ parameters: ToolParameter[];
39
+ output?: {
40
+ type: string;
41
+ description: string;
42
+ };
43
+ tags?: string[];
44
+ }
45
+ /**
46
+ * Tool definition in OpenAI function format (for LLM consumption)
47
+ */
48
+ export interface ToolDefinition {
49
+ type: 'function';
50
+ function: {
51
+ name: string;
52
+ description: string;
53
+ parameters: Record<string, any>;
54
+ };
55
+ }
56
+ /**
57
+ * Tool parameter definition
58
+ */
59
+ export interface ToolParameter {
60
+ name: string;
61
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
62
+ description: string;
63
+ required: boolean;
64
+ enum?: string[] | number[];
65
+ default?: any;
66
+ }
67
+ /**
68
+ * Tool execution request
69
+ */
70
+ export interface ToolCall {
71
+ name: string;
72
+ input: Record<string, any>;
73
+ id?: string;
74
+ }
75
+ /**
76
+ * Tool execution result
77
+ */
78
+ export interface ToolResult {
79
+ toolName: string;
80
+ toolCallId?: string;
81
+ status: 'success' | 'error';
82
+ output?: Record<string, any> | string;
83
+ error?: {
84
+ message: string;
85
+ code?: string;
86
+ };
87
+ timestamp: Date;
88
+ }
89
+ /**
90
+ * Agent definition loaded from .mdx file
91
+ */
92
+ export interface AgentDefinition {
93
+ name: string;
94
+ version: string;
95
+ description?: string;
96
+ provider: string;
97
+ model: string;
98
+ tags?: string[];
99
+ content: string;
100
+ frontmatter: Record<string, any>;
101
+ }
102
+ /**
103
+ * Zod schemas for validation
104
+ */
105
+ export declare const AgentConstraintsSchema: z.ZodObject<{
106
+ maxTokens: z.ZodOptional<z.ZodNumber>;
107
+ temperature: z.ZodOptional<z.ZodNumber>;
108
+ topP: z.ZodOptional<z.ZodNumber>;
109
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
110
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
111
+ maxSteps: z.ZodOptional<z.ZodNumber>;
112
+ timeout: z.ZodOptional<z.ZodNumber>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ temperature?: number | undefined;
115
+ timeout?: number | undefined;
116
+ maxTokens?: number | undefined;
117
+ topP?: number | undefined;
118
+ frequencyPenalty?: number | undefined;
119
+ presencePenalty?: number | undefined;
120
+ maxSteps?: number | undefined;
121
+ }, {
122
+ temperature?: number | undefined;
123
+ timeout?: number | undefined;
124
+ maxTokens?: number | undefined;
125
+ topP?: number | undefined;
126
+ frequencyPenalty?: number | undefined;
127
+ presencePenalty?: number | undefined;
128
+ maxSteps?: number | undefined;
129
+ }>;
130
+ export declare const ToolParameterSchema: z.ZodObject<{
131
+ name: z.ZodString;
132
+ type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
133
+ description: z.ZodString;
134
+ required: z.ZodBoolean;
135
+ enum: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodNumber, "many">]>>;
136
+ default: z.ZodOptional<z.ZodAny>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ type: "string" | "number" | "boolean" | "object" | "array";
139
+ name: string;
140
+ description: string;
141
+ required: boolean;
142
+ enum?: string[] | number[] | undefined;
143
+ default?: any;
144
+ }, {
145
+ type: "string" | "number" | "boolean" | "object" | "array";
146
+ name: string;
147
+ description: string;
148
+ required: boolean;
149
+ enum?: string[] | number[] | undefined;
150
+ default?: any;
151
+ }>;
152
+ export declare const ToolSchema: z.ZodObject<{
153
+ name: z.ZodString;
154
+ description: z.ZodString;
155
+ parameters: z.ZodArray<z.ZodObject<{
156
+ name: z.ZodString;
157
+ type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
158
+ description: z.ZodString;
159
+ required: z.ZodBoolean;
160
+ enum: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodNumber, "many">]>>;
161
+ default: z.ZodOptional<z.ZodAny>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ type: "string" | "number" | "boolean" | "object" | "array";
164
+ name: string;
165
+ description: string;
166
+ required: boolean;
167
+ enum?: string[] | number[] | undefined;
168
+ default?: any;
169
+ }, {
170
+ type: "string" | "number" | "boolean" | "object" | "array";
171
+ name: string;
172
+ description: string;
173
+ required: boolean;
174
+ enum?: string[] | number[] | undefined;
175
+ default?: any;
176
+ }>, "many">;
177
+ output: z.ZodOptional<z.ZodObject<{
178
+ type: z.ZodString;
179
+ description: z.ZodString;
180
+ }, "strip", z.ZodTypeAny, {
181
+ type: string;
182
+ description: string;
183
+ }, {
184
+ type: string;
185
+ description: string;
186
+ }>>;
187
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ name: string;
190
+ description: string;
191
+ parameters: {
192
+ type: "string" | "number" | "boolean" | "object" | "array";
193
+ name: string;
194
+ description: string;
195
+ required: boolean;
196
+ enum?: string[] | number[] | undefined;
197
+ default?: any;
198
+ }[];
199
+ output?: {
200
+ type: string;
201
+ description: string;
202
+ } | undefined;
203
+ tags?: string[] | undefined;
204
+ }, {
205
+ name: string;
206
+ description: string;
207
+ parameters: {
208
+ type: "string" | "number" | "boolean" | "object" | "array";
209
+ name: string;
210
+ description: string;
211
+ required: boolean;
212
+ enum?: string[] | number[] | undefined;
213
+ default?: any;
214
+ }[];
215
+ output?: {
216
+ type: string;
217
+ description: string;
218
+ } | undefined;
219
+ tags?: string[] | undefined;
220
+ }>;
221
+ export declare const ToolCallSchema: z.ZodObject<{
222
+ name: z.ZodString;
223
+ input: z.ZodRecord<z.ZodString, z.ZodAny>;
224
+ id: z.ZodOptional<z.ZodString>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ name: string;
227
+ input: Record<string, any>;
228
+ id?: string | undefined;
229
+ }, {
230
+ name: string;
231
+ input: Record<string, any>;
232
+ id?: string | undefined;
233
+ }>;
234
+ export declare const ToolResultSchema: z.ZodObject<{
235
+ toolName: z.ZodString;
236
+ toolCallId: z.ZodOptional<z.ZodString>;
237
+ status: z.ZodEnum<["success", "error"]>;
238
+ output: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodString]>>;
239
+ error: z.ZodOptional<z.ZodObject<{
240
+ message: z.ZodString;
241
+ code: z.ZodOptional<z.ZodString>;
242
+ }, "strip", z.ZodTypeAny, {
243
+ message: string;
244
+ code?: string | undefined;
245
+ }, {
246
+ message: string;
247
+ code?: string | undefined;
248
+ }>>;
249
+ timestamp: z.ZodDate;
250
+ }, "strip", z.ZodTypeAny, {
251
+ status: "error" | "success";
252
+ timestamp: Date;
253
+ toolName: string;
254
+ error?: {
255
+ message: string;
256
+ code?: string | undefined;
257
+ } | undefined;
258
+ toolCallId?: string | undefined;
259
+ output?: string | Record<string, any> | undefined;
260
+ }, {
261
+ status: "error" | "success";
262
+ timestamp: Date;
263
+ toolName: string;
264
+ error?: {
265
+ message: string;
266
+ code?: string | undefined;
267
+ } | undefined;
268
+ toolCallId?: string | undefined;
269
+ output?: string | Record<string, any> | undefined;
270
+ }>;
271
+ export declare const AgentSchema: z.ZodObject<{
272
+ id: z.ZodString;
273
+ name: z.ZodString;
274
+ version: z.ZodString;
275
+ description: z.ZodOptional<z.ZodString>;
276
+ systemPrompt: z.ZodString;
277
+ provider: z.ZodEnum<["openai", "openrouter", "ollama"]>;
278
+ model: z.ZodString;
279
+ isActive: z.ZodBoolean;
280
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
281
+ constraints: z.ZodOptional<z.ZodObject<{
282
+ maxTokens: z.ZodOptional<z.ZodNumber>;
283
+ temperature: z.ZodOptional<z.ZodNumber>;
284
+ topP: z.ZodOptional<z.ZodNumber>;
285
+ frequencyPenalty: z.ZodOptional<z.ZodNumber>;
286
+ presencePenalty: z.ZodOptional<z.ZodNumber>;
287
+ maxSteps: z.ZodOptional<z.ZodNumber>;
288
+ timeout: z.ZodOptional<z.ZodNumber>;
289
+ }, "strip", z.ZodTypeAny, {
290
+ temperature?: number | undefined;
291
+ timeout?: number | undefined;
292
+ maxTokens?: number | undefined;
293
+ topP?: number | undefined;
294
+ frequencyPenalty?: number | undefined;
295
+ presencePenalty?: number | undefined;
296
+ maxSteps?: number | undefined;
297
+ }, {
298
+ temperature?: number | undefined;
299
+ timeout?: number | undefined;
300
+ maxTokens?: number | undefined;
301
+ topP?: number | undefined;
302
+ frequencyPenalty?: number | undefined;
303
+ presencePenalty?: number | undefined;
304
+ maxSteps?: number | undefined;
305
+ }>>;
306
+ createdAt: z.ZodDate;
307
+ updatedAt: z.ZodDate;
308
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
309
+ }, "strip", z.ZodTypeAny, {
310
+ version: string;
311
+ name: string;
312
+ provider: "openai" | "openrouter" | "ollama";
313
+ model: string;
314
+ id: string;
315
+ createdAt: Date;
316
+ updatedAt: Date;
317
+ systemPrompt: string;
318
+ isActive: boolean;
319
+ description?: string | undefined;
320
+ metadata?: Record<string, any> | undefined;
321
+ allowedTools?: string[] | undefined;
322
+ constraints?: {
323
+ temperature?: number | undefined;
324
+ timeout?: number | undefined;
325
+ maxTokens?: number | undefined;
326
+ topP?: number | undefined;
327
+ frequencyPenalty?: number | undefined;
328
+ presencePenalty?: number | undefined;
329
+ maxSteps?: number | undefined;
330
+ } | undefined;
331
+ }, {
332
+ version: string;
333
+ name: string;
334
+ provider: "openai" | "openrouter" | "ollama";
335
+ model: string;
336
+ id: string;
337
+ createdAt: Date;
338
+ updatedAt: Date;
339
+ systemPrompt: string;
340
+ isActive: boolean;
341
+ description?: string | undefined;
342
+ metadata?: Record<string, any> | undefined;
343
+ allowedTools?: string[] | undefined;
344
+ constraints?: {
345
+ temperature?: number | undefined;
346
+ timeout?: number | undefined;
347
+ maxTokens?: number | undefined;
348
+ topP?: number | undefined;
349
+ frequencyPenalty?: number | undefined;
350
+ presencePenalty?: number | undefined;
351
+ maxSteps?: number | undefined;
352
+ } | undefined;
353
+ }>;
354
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for validation
4
+ */
5
+ export const AgentConstraintsSchema = z.object({
6
+ maxTokens: z.number().optional(),
7
+ temperature: z.number().min(0).max(2).optional(),
8
+ topP: z.number().min(0).max(1).optional(),
9
+ frequencyPenalty: z.number().min(-2).max(2).optional(),
10
+ presencePenalty: z.number().min(-2).max(2).optional(),
11
+ maxSteps: z.number().positive().optional(),
12
+ timeout: z.number().positive().optional(),
13
+ });
14
+ export const ToolParameterSchema = z.object({
15
+ name: z.string(),
16
+ type: z.enum(['string', 'number', 'boolean', 'array', 'object']),
17
+ description: z.string(),
18
+ required: z.boolean(),
19
+ enum: z.union([z.array(z.string()), z.array(z.number())]).optional(),
20
+ default: z.any().optional(),
21
+ });
22
+ export const ToolSchema = z.object({
23
+ name: z.string(),
24
+ description: z.string(),
25
+ parameters: z.array(ToolParameterSchema),
26
+ output: z.object({
27
+ type: z.string(),
28
+ description: z.string(),
29
+ }).optional(),
30
+ tags: z.array(z.string()).optional(),
31
+ });
32
+ export const ToolCallSchema = z.object({
33
+ name: z.string(),
34
+ input: z.record(z.any()),
35
+ id: z.string().optional(),
36
+ });
37
+ export const ToolResultSchema = z.object({
38
+ toolName: z.string(),
39
+ toolCallId: z.string().optional(),
40
+ status: z.enum(['success', 'error']),
41
+ output: z.union([z.record(z.any()), z.string()]).optional(),
42
+ error: z.object({
43
+ message: z.string(),
44
+ code: z.string().optional(),
45
+ }).optional(),
46
+ timestamp: z.date(),
47
+ });
48
+ export const AgentSchema = z.object({
49
+ id: z.string(),
50
+ name: z.string(),
51
+ version: z.string(),
52
+ description: z.string().optional(),
53
+ systemPrompt: z.string(),
54
+ provider: z.enum(['openai', 'openrouter', 'ollama']),
55
+ model: z.string(),
56
+ isActive: z.boolean(),
57
+ allowedTools: z.array(z.string()).optional(),
58
+ constraints: AgentConstraintsSchema.optional(),
59
+ createdAt: z.date(),
60
+ updatedAt: z.date(),
61
+ metadata: z.record(z.any()).optional(),
62
+ });
63
+ //# sourceMappingURL=agent.js.map