jazz-ai 0.1.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +182 -0
  3. package/dist/cli/commands/auth.d.ts +18 -0
  4. package/dist/cli/commands/auth.d.ts.map +1 -0
  5. package/dist/cli/commands/auth.js +128 -0
  6. package/dist/cli/commands/auth.js.map +1 -0
  7. package/dist/cli/commands/chat-agent.d.ts +18 -0
  8. package/dist/cli/commands/chat-agent.d.ts.map +1 -0
  9. package/dist/cli/commands/chat-agent.js +421 -0
  10. package/dist/cli/commands/chat-agent.js.map +1 -0
  11. package/dist/cli/commands/edit-agent.d.ts +10 -0
  12. package/dist/cli/commands/edit-agent.d.ts.map +1 -0
  13. package/dist/cli/commands/edit-agent.js +310 -0
  14. package/dist/cli/commands/edit-agent.js.map +1 -0
  15. package/dist/cli/commands/task-agent.d.ts +126 -0
  16. package/dist/cli/commands/task-agent.d.ts.map +1 -0
  17. package/dist/cli/commands/task-agent.js +345 -0
  18. package/dist/cli/commands/task-agent.js.map +1 -0
  19. package/dist/core/agent/agent-prompt.d.ts +47 -0
  20. package/dist/core/agent/agent-prompt.d.ts.map +1 -0
  21. package/dist/core/agent/agent-prompt.js +146 -0
  22. package/dist/core/agent/agent-prompt.js.map +1 -0
  23. package/dist/core/agent/agent-runner.d.ts +63 -0
  24. package/dist/core/agent/agent-runner.d.ts.map +1 -0
  25. package/dist/core/agent/agent-runner.js +346 -0
  26. package/dist/core/agent/agent-runner.js.map +1 -0
  27. package/dist/core/agent/agent-service.d.ts +164 -0
  28. package/dist/core/agent/agent-service.d.ts.map +1 -0
  29. package/dist/core/agent/agent-service.js +463 -0
  30. package/dist/core/agent/agent-service.js.map +1 -0
  31. package/dist/core/agent/gmail-agent.d.ts +17 -0
  32. package/dist/core/agent/gmail-agent.d.ts.map +1 -0
  33. package/dist/core/agent/gmail-agent.js +191 -0
  34. package/dist/core/agent/gmail-agent.js.map +1 -0
  35. package/dist/core/agent/prompts/default/v1.d.ts +2 -0
  36. package/dist/core/agent/prompts/default/v1.d.ts.map +1 -0
  37. package/dist/core/agent/prompts/default/v1.js +202 -0
  38. package/dist/core/agent/prompts/default/v1.js.map +1 -0
  39. package/dist/core/agent/prompts/default/v2.d.ts +2 -0
  40. package/dist/core/agent/prompts/default/v2.d.ts.map +1 -0
  41. package/dist/core/agent/prompts/default/v2.js +72 -0
  42. package/dist/core/agent/prompts/default/v2.js.map +1 -0
  43. package/dist/core/agent/prompts/gmail/v1.d.ts +2 -0
  44. package/dist/core/agent/prompts/gmail/v1.d.ts.map +1 -0
  45. package/dist/core/agent/prompts/gmail/v1.js +206 -0
  46. package/dist/core/agent/prompts/gmail/v1.js.map +1 -0
  47. package/dist/core/agent/prompts/gmail/v2.d.ts +2 -0
  48. package/dist/core/agent/prompts/gmail/v2.d.ts.map +1 -0
  49. package/dist/core/agent/prompts/gmail/v2.js +59 -0
  50. package/dist/core/agent/prompts/gmail/v2.js.map +1 -0
  51. package/dist/core/agent/tools/base-tool.d.ts +161 -0
  52. package/dist/core/agent/tools/base-tool.d.ts.map +1 -0
  53. package/dist/core/agent/tools/base-tool.js +153 -0
  54. package/dist/core/agent/tools/base-tool.js.map +1 -0
  55. package/dist/core/agent/tools/fs-tools.d.ts +21 -0
  56. package/dist/core/agent/tools/fs-tools.d.ts.map +1 -0
  57. package/dist/core/agent/tools/fs-tools.js +1210 -0
  58. package/dist/core/agent/tools/fs-tools.js.map +1 -0
  59. package/dist/core/agent/tools/git-tools.d.ts +63 -0
  60. package/dist/core/agent/tools/git-tools.d.ts.map +1 -0
  61. package/dist/core/agent/tools/git-tools.js +600 -0
  62. package/dist/core/agent/tools/git-tools.js.map +1 -0
  63. package/dist/core/agent/tools/gmail-tools.d.ts +22 -0
  64. package/dist/core/agent/tools/gmail-tools.d.ts.map +1 -0
  65. package/dist/core/agent/tools/gmail-tools.js +779 -0
  66. package/dist/core/agent/tools/gmail-tools.js.map +1 -0
  67. package/dist/core/agent/tools/register-tools.d.ts +13 -0
  68. package/dist/core/agent/tools/register-tools.d.ts.map +1 -0
  69. package/dist/core/agent/tools/register-tools.js +169 -0
  70. package/dist/core/agent/tools/register-tools.js.map +1 -0
  71. package/dist/core/agent/tools/shell-tools.d.ts +19 -0
  72. package/dist/core/agent/tools/shell-tools.d.ts.map +1 -0
  73. package/dist/core/agent/tools/shell-tools.js +367 -0
  74. package/dist/core/agent/tools/shell-tools.js.map +1 -0
  75. package/dist/core/agent/tools/tool-registry.d.ts +62 -0
  76. package/dist/core/agent/tools/tool-registry.d.ts.map +1 -0
  77. package/dist/core/agent/tools/tool-registry.js +187 -0
  78. package/dist/core/agent/tools/tool-registry.js.map +1 -0
  79. package/dist/core/agent/tools/web-search-tools.d.ts +39 -0
  80. package/dist/core/agent/tools/web-search-tools.d.ts.map +1 -0
  81. package/dist/core/agent/tools/web-search-tools.js +220 -0
  82. package/dist/core/agent/tools/web-search-tools.js.map +1 -0
  83. package/dist/core/types/errors.d.ts +300 -0
  84. package/dist/core/types/errors.d.ts.map +1 -0
  85. package/dist/core/types/errors.js +115 -0
  86. package/dist/core/types/errors.js.map +1 -0
  87. package/dist/core/types/index.d.ts +208 -0
  88. package/dist/core/types/index.d.ts.map +1 -0
  89. package/dist/core/types/index.js +30 -0
  90. package/dist/core/types/index.js.map +1 -0
  91. package/dist/core/utils/error-handler.d.ts +114 -0
  92. package/dist/core/utils/error-handler.d.ts.map +1 -0
  93. package/dist/core/utils/error-handler.js +551 -0
  94. package/dist/core/utils/error-handler.js.map +1 -0
  95. package/dist/core/utils/markdown-renderer.d.ts +52 -0
  96. package/dist/core/utils/markdown-renderer.d.ts.map +1 -0
  97. package/dist/core/utils/markdown-renderer.js +134 -0
  98. package/dist/core/utils/markdown-renderer.js.map +1 -0
  99. package/dist/main.d.ts +3 -0
  100. package/dist/main.d.ts.map +1 -0
  101. package/dist/main.js +255 -0
  102. package/dist/main.js.map +1 -0
  103. package/dist/services/config.d.ts +29 -0
  104. package/dist/services/config.d.ts.map +1 -0
  105. package/dist/services/config.js +204 -0
  106. package/dist/services/config.js.map +1 -0
  107. package/dist/services/gmail.d.ts +197 -0
  108. package/dist/services/gmail.d.ts.map +1 -0
  109. package/dist/services/gmail.js +592 -0
  110. package/dist/services/gmail.js.map +1 -0
  111. package/dist/services/llm/ai-sdk-service.d.ts +5 -0
  112. package/dist/services/llm/ai-sdk-service.d.ts.map +1 -0
  113. package/dist/services/llm/ai-sdk-service.js +326 -0
  114. package/dist/services/llm/ai-sdk-service.js.map +1 -0
  115. package/dist/services/llm/context-manager.d.ts +51 -0
  116. package/dist/services/llm/context-manager.d.ts.map +1 -0
  117. package/dist/services/llm/context-manager.js +269 -0
  118. package/dist/services/llm/context-manager.js.map +1 -0
  119. package/dist/services/llm/types.d.ts +114 -0
  120. package/dist/services/llm/types.d.ts.map +1 -0
  121. package/dist/services/llm/types.js +51 -0
  122. package/dist/services/llm/types.js.map +1 -0
  123. package/dist/services/logger.d.ts +28 -0
  124. package/dist/services/logger.d.ts.map +1 -0
  125. package/dist/services/logger.js +267 -0
  126. package/dist/services/logger.js.map +1 -0
  127. package/dist/services/shell.d.ts +37 -0
  128. package/dist/services/shell.d.ts.map +1 -0
  129. package/dist/services/shell.js +197 -0
  130. package/dist/services/shell.js.map +1 -0
  131. package/dist/services/storage/file.d.ts +37 -0
  132. package/dist/services/storage/file.d.ts.map +1 -0
  133. package/dist/services/storage/file.js +221 -0
  134. package/dist/services/storage/file.js.map +1 -0
  135. package/dist/services/storage/inMemory.d.ts +25 -0
  136. package/dist/services/storage/inMemory.d.ts.map +1 -0
  137. package/dist/services/storage/inMemory.js +106 -0
  138. package/dist/services/storage/inMemory.js.map +1 -0
  139. package/dist/services/storage/service.d.ts +26 -0
  140. package/dist/services/storage/service.d.ts.map +1 -0
  141. package/dist/services/storage/service.js +48 -0
  142. package/dist/services/storage/service.js.map +1 -0
  143. package/package.json +92 -0
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.editAgentCommand = editAgentCommand;
4
+ const tslib_1 = require("tslib");
5
+ const effect_1 = require("effect");
6
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
7
+ const agent_prompt_1 = require("../../core/agent/agent-prompt");
8
+ const agent_service_1 = require("../../core/agent/agent-service");
9
+ const tool_registry_1 = require("../../core/agent/tools/tool-registry");
10
+ const types_1 = require("../../services/llm/types");
11
+ /**
12
+ * Interactive agent edit command
13
+ */
14
+ function editAgentCommand(agentId) {
15
+ return effect_1.Effect.gen(function* () {
16
+ console.log("✏️ Welcome to the Jazz Agent Edit Wizard!");
17
+ console.log("Let's update your agent step by step.\n");
18
+ const agentService = yield* agent_service_1.AgentServiceTag;
19
+ const agent = yield* agentService.getAgent(agentId);
20
+ console.log(`📋 Current Agent: ${agent.name}`);
21
+ console.log(` ID: ${agent.id}`);
22
+ console.log(` Description: ${agent.description}`);
23
+ console.log(` Status: ${agent.status}`);
24
+ console.log(` Type: ${agent.config.agentType || "N/A"}`);
25
+ console.log(` LLM Provider: ${agent.config.llmProvider || "N/A"}`);
26
+ console.log(` LLM Model: ${agent.config.llmModel || "N/A"}`);
27
+ console.log(` Tools: ${agent.config.tools?.length || 0} tools`);
28
+ console.log(` Created: ${agent.createdAt.toISOString()}`);
29
+ console.log(` Updated: ${agent.updatedAt.toISOString()}\n`);
30
+ // Get available LLM providers and models
31
+ const llmService = yield* types_1.LLMServiceTag;
32
+ const providers = yield* llmService.listProviders();
33
+ // Get available agent types
34
+ const agentTypes = yield* agent_prompt_1.agentPromptBuilder.listTemplates();
35
+ // Get available tools by category
36
+ const toolRegistry = yield* tool_registry_1.ToolRegistryTag;
37
+ const toolsByCategory = yield* toolRegistry.listToolsByCategory();
38
+ // Prompt for updates
39
+ const editAnswers = yield* effect_1.Effect.promise(() => promptForAgentUpdates(agent, providers, agentTypes, toolsByCategory));
40
+ // Build updated configuration
41
+ const updatedConfig = {
42
+ ...agent.config,
43
+ ...(editAnswers.agentType && { agentType: editAnswers.agentType }),
44
+ ...(editAnswers.llmProvider && { llmProvider: editAnswers.llmProvider }),
45
+ ...(editAnswers.llmModel && { llmModel: editAnswers.llmModel }),
46
+ ...(editAnswers.reasoningEffort && { reasoningEffort: editAnswers.reasoningEffort }),
47
+ ...(editAnswers.tools && { tools: editAnswers.tools }),
48
+ ...(editAnswers.timeout && { timeout: editAnswers.timeout }),
49
+ ...(editAnswers.maxRetries !== undefined ||
50
+ editAnswers.retryDelay !== undefined ||
51
+ editAnswers.retryBackoff
52
+ ? {
53
+ retryPolicy: {
54
+ maxRetries: editAnswers.maxRetries ?? agent.config.retryPolicy?.maxRetries ?? 3,
55
+ delay: editAnswers.retryDelay ?? agent.config.retryPolicy?.delay ?? 1000,
56
+ backoff: editAnswers.retryBackoff ?? agent.config.retryPolicy?.backoff ?? "exponential",
57
+ },
58
+ }
59
+ : {}),
60
+ };
61
+ // Build update object
62
+ const updates = {
63
+ ...(editAnswers.name && { name: editAnswers.name }),
64
+ ...(editAnswers.description && { description: editAnswers.description }),
65
+ ...(editAnswers.status && { status: editAnswers.status }),
66
+ config: updatedConfig,
67
+ };
68
+ // Update the agent
69
+ const updatedAgent = yield* agentService.updateAgent(agentId, updates);
70
+ // Display success message
71
+ console.log("\n✅ Agent updated successfully!");
72
+ console.log(` ID: ${updatedAgent.id}`);
73
+ console.log(` Name: ${updatedAgent.name}`);
74
+ console.log(` Description: ${updatedAgent.description}`);
75
+ console.log(` Status: ${updatedAgent.status}`);
76
+ console.log(` Type: ${updatedConfig.agentType || "N/A"}`);
77
+ console.log(` LLM Provider: ${updatedConfig.llmProvider || "N/A"}`);
78
+ console.log(` LLM Model: ${updatedConfig.llmModel || "N/A"}`);
79
+ console.log(` Tools: ${updatedConfig.tools?.length || 0} tools`);
80
+ console.log(` Updated: ${updatedAgent.updatedAt.toISOString()}`);
81
+ console.log("\nYou can now chat with your updated agent using:");
82
+ console.log(`jazz agent chat ${updatedAgent.id}`);
83
+ });
84
+ }
85
+ /**
86
+ * Prompt for agent updates
87
+ */
88
+ async function promptForAgentUpdates(currentAgent, providers, agentTypes, toolsByCategory) {
89
+ const answers = {};
90
+ // Ask what to update
91
+ const { fieldsToUpdate } = await inquirer_1.default.prompt([
92
+ {
93
+ type: "checkbox",
94
+ name: "fieldsToUpdate",
95
+ message: "What would you like to update?",
96
+ choices: [
97
+ { name: "Name", value: "name" },
98
+ { name: "Description", value: "description" },
99
+ { name: "Status", value: "status" },
100
+ { name: "Agent Type", value: "agentType" },
101
+ { name: "LLM Provider", value: "llmProvider" },
102
+ { name: "LLM Model", value: "llmModel" },
103
+ { name: "Tools", value: "tools" },
104
+ { name: "Timeout", value: "timeout" },
105
+ { name: "Retry Policy", value: "retryPolicy" },
106
+ ],
107
+ },
108
+ ]);
109
+ if (fieldsToUpdate.length === 0) {
110
+ console.log("No fields selected for update. Exiting...");
111
+ return answers;
112
+ }
113
+ // Update name
114
+ if (fieldsToUpdate.includes("name")) {
115
+ const { name } = await inquirer_1.default.prompt([
116
+ {
117
+ type: "input",
118
+ name: "name",
119
+ message: "Enter new agent name:",
120
+ default: currentAgent.name,
121
+ validate: (input) => {
122
+ if (!input.trim()) {
123
+ return "Agent name cannot be empty";
124
+ }
125
+ if (input.length > 100) {
126
+ return "Agent name must be 100 characters or less";
127
+ }
128
+ return true;
129
+ },
130
+ },
131
+ ]);
132
+ answers.name = name;
133
+ }
134
+ // Update description
135
+ if (fieldsToUpdate.includes("description")) {
136
+ const { description } = await inquirer_1.default.prompt([
137
+ {
138
+ type: "input",
139
+ name: "description",
140
+ message: "Enter new agent description:",
141
+ default: currentAgent.description,
142
+ validate: (input) => {
143
+ if (!input.trim()) {
144
+ return "Agent description cannot be empty";
145
+ }
146
+ if (input.length > 500) {
147
+ return "Agent description must be 500 characters or less";
148
+ }
149
+ return true;
150
+ },
151
+ },
152
+ ]);
153
+ answers.description = description;
154
+ }
155
+ // Update status
156
+ if (fieldsToUpdate.includes("status")) {
157
+ const { status } = await inquirer_1.default.prompt([
158
+ {
159
+ type: "list",
160
+ name: "status",
161
+ message: "Select new agent status:",
162
+ choices: [
163
+ { name: "Idle (ready to run)", value: "idle" },
164
+ { name: "Running (currently executing)", value: "running" },
165
+ { name: "Paused (temporarily stopped)", value: "paused" },
166
+ { name: "Error (failed with error)", value: "error" },
167
+ { name: "Completed (finished successfully)", value: "completed" },
168
+ ],
169
+ default: currentAgent.status,
170
+ },
171
+ ]);
172
+ answers.status = status;
173
+ }
174
+ // Update agent type
175
+ if (fieldsToUpdate.includes("agentType")) {
176
+ const { agentType } = await inquirer_1.default.prompt([
177
+ {
178
+ type: "list",
179
+ name: "agentType",
180
+ message: "Select agent type:",
181
+ choices: agentTypes.map((type) => ({ name: type, value: type })),
182
+ default: currentAgent.config.agentType || agentTypes[0],
183
+ },
184
+ ]);
185
+ answers.agentType = agentType;
186
+ }
187
+ // Update LLM provider
188
+ if (fieldsToUpdate.includes("llmProvider")) {
189
+ const { llmProvider } = await inquirer_1.default.prompt([
190
+ {
191
+ type: "list",
192
+ name: "llmProvider",
193
+ message: "Select LLM provider:",
194
+ choices: providers.map((provider) => ({ name: provider, value: provider })),
195
+ default: currentAgent.config.llmProvider || providers[0],
196
+ },
197
+ ]);
198
+ answers.llmProvider = llmProvider;
199
+ // Update LLM model based on provider
200
+ if (fieldsToUpdate.includes("llmModel")) {
201
+ // Note: This would need to be handled in the Effect context
202
+ // For now, we'll skip the model selection in the prompt
203
+ console.log("LLM model selection will be handled during agent update");
204
+ }
205
+ }
206
+ // Update tools
207
+ if (fieldsToUpdate.includes("tools")) {
208
+ const { toolCategories } = await inquirer_1.default.prompt([
209
+ {
210
+ type: "checkbox",
211
+ name: "toolCategories",
212
+ message: "Select tool categories:",
213
+ choices: Object.keys(toolsByCategory).map((category) => ({
214
+ name: `${category} (${toolsByCategory[category]?.length || 0} tools)`,
215
+ value: category,
216
+ })),
217
+ default: [], // Don't pre-select any categories
218
+ },
219
+ ]);
220
+ // Convert selected categories to actual tool names
221
+ const selectedTools = [];
222
+ for (const category of toolCategories) {
223
+ const toolsInCategory = toolsByCategory[category] || [];
224
+ selectedTools.push(...toolsInCategory);
225
+ }
226
+ answers.tools = selectedTools;
227
+ }
228
+ // Update timeout
229
+ if (fieldsToUpdate.includes("timeout")) {
230
+ const { timeout } = await inquirer_1.default.prompt([
231
+ {
232
+ type: "input",
233
+ name: "timeout",
234
+ message: "Enter timeout in milliseconds (0 for no timeout):",
235
+ default: String(currentAgent.config.timeout || 30000),
236
+ validate: (input) => {
237
+ const num = parseInt(input, 10);
238
+ if (isNaN(num)) {
239
+ return "Please enter a valid number";
240
+ }
241
+ if (num < 0) {
242
+ return "Timeout must be 0 or greater";
243
+ }
244
+ if (num > 300000) {
245
+ return "Timeout must be 300 seconds or less";
246
+ }
247
+ return true;
248
+ },
249
+ },
250
+ ]);
251
+ answers.timeout = parseInt(timeout, 10);
252
+ }
253
+ // Update retry policy
254
+ if (fieldsToUpdate.includes("retryPolicy")) {
255
+ const { maxRetries } = await inquirer_1.default.prompt([
256
+ {
257
+ type: "input",
258
+ name: "maxRetries",
259
+ message: "Enter maximum retry attempts:",
260
+ default: String(currentAgent.config.retryPolicy?.maxRetries || 3),
261
+ validate: (input) => {
262
+ const num = parseInt(input, 10);
263
+ if (isNaN(num)) {
264
+ return "Please enter a valid number";
265
+ }
266
+ if (num < 0 || num > 10) {
267
+ return "Max retries must be between 0 and 10";
268
+ }
269
+ return true;
270
+ },
271
+ },
272
+ ]);
273
+ const { retryDelay } = await inquirer_1.default.prompt([
274
+ {
275
+ type: "input",
276
+ name: "retryDelay",
277
+ message: "Enter retry delay in milliseconds:",
278
+ default: String(currentAgent.config.retryPolicy?.delay || 1000),
279
+ validate: (input) => {
280
+ const num = parseInt(input, 10);
281
+ if (isNaN(num)) {
282
+ return "Please enter a valid number";
283
+ }
284
+ if (num < 100 || num > 60000) {
285
+ return "Retry delay must be between 100ms and 60000ms";
286
+ }
287
+ return true;
288
+ },
289
+ },
290
+ ]);
291
+ const { retryBackoff } = await inquirer_1.default.prompt([
292
+ {
293
+ type: "list",
294
+ name: "retryBackoff",
295
+ message: "Select retry backoff strategy:",
296
+ choices: [
297
+ { name: "Linear (constant delay)", value: "linear" },
298
+ { name: "Exponential (increasing delay)", value: "exponential" },
299
+ { name: "Fixed (same delay each time)", value: "fixed" },
300
+ ],
301
+ default: currentAgent.config.retryPolicy?.backoff || "exponential",
302
+ },
303
+ ]);
304
+ answers.maxRetries = parseInt(maxRetries, 10);
305
+ answers.retryDelay = parseInt(retryDelay, 10);
306
+ answers.retryBackoff = retryBackoff;
307
+ }
308
+ return answers;
309
+ }
310
+ //# sourceMappingURL=edit-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-agent.js","sourceRoot":"","sources":["../../../src/cli/commands/edit-agent.ts"],"names":[],"mappings":";;AAoCA,4CA8FC;;AAlID,mCAAgC;AAChC,gEAAgC;AAChC,gEAAmE;AACnE,kEAAoF;AACpF,wEAA0F;AAQ1F,oDAAiG;AAqBjG;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,OAAe;IAUf,OAAO,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,+BAAe,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9D,yCAAyC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,qBAAa,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAEpD,4BAA4B;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iCAAkB,CAAC,aAAa,EAAE,CAAC;QAE7D,kCAAkC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,+BAAe,CAAC;QAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAElE,qBAAqB;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAC7C,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CACrE,CAAC;QAEF,8BAA8B;QAC9B,MAAM,aAAa,GAAgB;YACjC,GAAG,KAAK,CAAC,MAAM;YACf,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;YAClE,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC;YACxE,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC/D,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC;YACpF,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;YACtD,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;YAC5D,GAAG,CAAC,WAAW,CAAC,UAAU,KAAK,SAAS;gBACxC,WAAW,CAAC,UAAU,KAAK,SAAS;gBACpC,WAAW,CAAC,YAAY;gBACtB,CAAC,CAAC;oBACE,WAAW,EAAE;wBACX,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC;wBAC/E,KAAK,EAAE,WAAW,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI;wBACxE,OAAO,EACL,WAAW,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,aAAa;qBACjF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,sBAAsB;QACtB,MAAM,OAAO,GAAmB;YAC9B,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC;YACxE,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,EAAE,aAAa;SACtB,CAAC;QAEF,mBAAmB;QACnB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,YAAmB,EACnB,SAA4B,EAC5B,UAA6B,EAC7B,eAAkD;IAElD,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,qBAAqB;IACrB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA+B;QAC7E;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,gCAAgC;YACzC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;gBACxC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/C;SACF;KACF,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,cAAc;IACd,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAmB;YACvD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uBAAuB;gBAChC,OAAO,EAAE,YAAY,CAAC,IAAI;gBAC1B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,4BAA4B,CAAC;oBACtC,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACvB,OAAO,2CAA2C,CAAC;oBACrD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,qBAAqB;IACrB,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA0B;YACrE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,YAAY,CAAC,WAAW;gBACjC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,mCAAmC,CAAC;oBAC7C,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACvB,OAAO,kDAAkD,CAAC;oBAC5D,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,gBAAgB;IAChB,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA0B;YAChE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0BAA0B;gBACnC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC9C,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC3D,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACzD,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE;oBACrD,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,WAAW,EAAE;iBAClE;gBACD,OAAO,EAAE,YAAY,CAAC,MAAM;aAC7B;SACF,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,oBAAoB;IACpB,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAwB;YACjE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC;aACxD;SACF,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,sBAAsB;IACtB,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA0B;YACrE;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3E,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC;aACzD;SACF,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAElC,qCAAqC;QACrC,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,4DAA4D;YAC5D,wDAAwD;YACxD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA+B;YAC7E;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvD,IAAI,EAAE,GAAG,QAAQ,KAAK,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS;oBACrE,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,kCAAkC;aAChD;SACF,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxD,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;IAChC,CAAC;IAED,iBAAiB;IACjB,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAsB;YAC7D;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,mDAAmD;gBAC5D,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;gBACrD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACf,OAAO,6BAA6B,CAAC;oBACvC,CAAC;oBACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACZ,OAAO,8BAA8B,CAAC;oBACxC,CAAC;oBACD,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;wBACjB,OAAO,qCAAqC,CAAC;oBAC/C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB;IACtB,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB;YACnE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,CAAC;gBACjE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACf,OAAO,6BAA6B,CAAC;oBACvC,CAAC;oBACD,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;wBACxB,OAAO,sCAAsC,CAAC;oBAChD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB;YACnE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC;gBAC/D,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACf,OAAO,6BAA6B,CAAC;oBACvC,CAAC;oBACD,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;wBAC7B,OAAO,+CAA+C,CAAC;oBACzD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAE3C;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpD,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,aAAa,EAAE;oBAChE,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;iBACzD;gBACD,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,aAAa;aACnE;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { Effect } from "effect";
2
+ import { type AgentService } from "../../core/agent/agent-service";
3
+ import { AgentAlreadyExistsError, AgentConfigurationError, StorageError, StorageNotFoundError, ValidationError } from "../../core/types/errors";
4
+ import type { GmailService } from "../../services/gmail";
5
+ /**
6
+ * CLI commands for task-based agent management
7
+ *
8
+ * These commands handle traditional automation agents that execute predefined tasks
9
+ * like Gmail operations, shell commands, API calls, etc. They focus on workflow
10
+ * automation rather than conversational AI interactions.
11
+ */
12
+ /**
13
+ * Create a new agent via CLI command
14
+ *
15
+ * Creates a new agent with the specified name, description, and configuration options.
16
+ * The command validates input parameters and displays success information including
17
+ * the agent ID, configuration details, and timestamps.
18
+ *
19
+ * @param name - The unique name for the agent
20
+ * @param description - A description of what the agent does
21
+ * @param options - Configuration options including timeout, retry policy settings
22
+ * @returns An Effect that resolves when the agent is created successfully
23
+ *
24
+ * @throws {StorageError} When there's an error saving the agent
25
+ * @throws {AgentAlreadyExistsError} When an agent with the same name already exists
26
+ * @throws {AgentConfigurationError} When the configuration is invalid
27
+ * @throws {ValidationError} When input validation fails
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * yield* createAgentCommand(
32
+ * "email-processor",
33
+ * "Processes incoming emails",
34
+ * { timeout: 30000, maxRetries: 3, retryDelay: 1000 }
35
+ * );
36
+ * ```
37
+ */
38
+ export declare function createAgentCommand(name: string, description: string, options: {
39
+ description?: string;
40
+ timeout?: number;
41
+ maxRetries?: number;
42
+ retryDelay?: number;
43
+ retryBackoff?: "linear" | "exponential" | "fixed";
44
+ }): Effect.Effect<void, StorageError | AgentAlreadyExistsError | AgentConfigurationError | ValidationError, AgentService>;
45
+ /**
46
+ * List all agents via CLI command
47
+ *
48
+ * Retrieves and displays all available agents in a formatted table showing
49
+ * their ID, name, description, status, and creation date.
50
+ *
51
+ * @returns An Effect that resolves when the agents are listed successfully
52
+ *
53
+ * @throws {StorageError} When there's an error accessing storage
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * yield* listAgentsCommand();
58
+ * // Output: Table showing all agents with their details
59
+ * ```
60
+ */
61
+ export declare function listAgentsCommand(): Effect.Effect<void, StorageError, AgentService>;
62
+ /**
63
+ * Run an agent via CLI command
64
+ *
65
+ * Executes the specified agent, including all its configured tasks. Supports
66
+ * dry-run mode for testing and watch mode for continuous execution. For Gmail
67
+ * tasks, it displays formatted email results including subject, sender, date,
68
+ * and snippet information.
69
+ *
70
+ * @param agentId - The unique identifier of the agent to run
71
+ * @param options - Execution options including watch and dry-run modes
72
+ * @returns An Effect that resolves when the agent execution completes
73
+ *
74
+ * @throws {StorageError} When there's an error accessing storage
75
+ * @throws {StorageNotFoundError} When the agent with the given ID doesn't exist
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * yield* runAgentCommand("agent-123", { dryRun: true });
80
+ * // Output: Shows what would be executed without actually running
81
+ * ```
82
+ */
83
+ export declare function runAgentCommand(agentId: string, options: {
84
+ watch?: boolean;
85
+ dryRun?: boolean;
86
+ }): Effect.Effect<void, StorageError | StorageNotFoundError, AgentService | GmailService>;
87
+ /**
88
+ * Delete an agent via CLI command
89
+ *
90
+ * Removes the specified agent from storage after confirming the deletion.
91
+ * This operation is irreversible and will permanently delete the agent
92
+ * and all its associated data.
93
+ *
94
+ * @param agentId - The unique identifier of the agent to delete
95
+ * @returns An Effect that resolves when the agent is deleted successfully
96
+ *
97
+ * @throws {StorageError} When there's an error accessing storage
98
+ * @throws {StorageNotFoundError} When the agent with the given ID doesn't exist
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * yield* deleteAgentCommand("agent-123");
103
+ * // Output: Confirmation message and deletion success
104
+ * ```
105
+ */
106
+ export declare function deleteAgentCommand(agentId: string): Effect.Effect<void, StorageError | StorageNotFoundError, AgentService>;
107
+ /**
108
+ * Get agent details via CLI command
109
+ *
110
+ * Retrieves and displays detailed information about a specific agent including
111
+ * its configuration, tasks, and metadata in a formatted output.
112
+ *
113
+ * @param agentId - The unique identifier of the agent to retrieve
114
+ * @returns An Effect that resolves when the agent details are displayed
115
+ *
116
+ * @throws {StorageError} When there's an error accessing storage
117
+ * @throws {StorageNotFoundError} When the agent with the given ID doesn't exist
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * yield* getAgentCommand("agent-123");
122
+ * // Output: Detailed agent information including config and tasks
123
+ * ```
124
+ */
125
+ export declare function getAgentCommand(agentId: string): Effect.Effect<void, StorageError | StorageNotFoundError, AgentService>;
126
+ //# sourceMappingURL=task-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/task-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;CACnD,GACA,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,YAAY,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,eAAe,EAClF,YAAY,CACb,CA+CA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAsBnF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,YAAY,GAAG,YAAY,CAAC,CAwFvF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,YAAY,CAAC,CAcxE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,YAAY,CAAC,CA8FxE"}