suzi-cli 0.1.13 → 0.1.15

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 (77) hide show
  1. package/CODEX_CLAUDE_ONBOARDING_DRAFT.md +318 -0
  2. package/dist/commands/accounts.d.ts.map +1 -1
  3. package/dist/commands/accounts.js +27 -7
  4. package/dist/commands/accounts.js.map +1 -1
  5. package/dist/commands/agent.d.ts +45 -0
  6. package/dist/commands/agent.d.ts.map +1 -0
  7. package/dist/commands/agent.js +1000 -0
  8. package/dist/commands/agent.js.map +1 -0
  9. package/dist/commands/create.d.ts +4 -0
  10. package/dist/commands/create.d.ts.map +1 -1
  11. package/dist/commands/create.js +379 -3
  12. package/dist/commands/create.js.map +1 -1
  13. package/dist/commands/debug.d.ts.map +1 -1
  14. package/dist/commands/debug.js +124 -41
  15. package/dist/commands/debug.js.map +1 -1
  16. package/dist/commands/list-actions.d.ts.map +1 -1
  17. package/dist/commands/list-actions.js +35 -4
  18. package/dist/commands/list-actions.js.map +1 -1
  19. package/dist/commands/list-triggers.d.ts.map +1 -1
  20. package/dist/commands/list-triggers.js +38 -10
  21. package/dist/commands/list-triggers.js.map +1 -1
  22. package/dist/commands/portfolio.d.ts.map +1 -1
  23. package/dist/commands/portfolio.js +113 -14
  24. package/dist/commands/portfolio.js.map +1 -1
  25. package/dist/commands/preferences.d.ts.map +1 -1
  26. package/dist/commands/preferences.js +119 -26
  27. package/dist/commands/preferences.js.map +1 -1
  28. package/dist/commands/transactions.d.ts.map +1 -1
  29. package/dist/commands/transactions.js +18 -4
  30. package/dist/commands/transactions.js.map +1 -1
  31. package/dist/commands/update.d.ts +3 -0
  32. package/dist/commands/update.d.ts.map +1 -0
  33. package/dist/commands/update.js +265 -0
  34. package/dist/commands/update.js.map +1 -0
  35. package/dist/index.js +35 -27
  36. package/dist/index.js.map +1 -1
  37. package/dist/lib/config.d.ts +13 -0
  38. package/dist/lib/config.d.ts.map +1 -1
  39. package/dist/lib/config.js +25 -0
  40. package/dist/lib/config.js.map +1 -1
  41. package/dist/lib/session-registry.d.ts +57 -0
  42. package/dist/lib/session-registry.d.ts.map +1 -0
  43. package/dist/lib/session-registry.js +192 -0
  44. package/dist/lib/session-registry.js.map +1 -0
  45. package/dist/lib/tooling-preflight.d.ts +17 -0
  46. package/dist/lib/tooling-preflight.d.ts.map +1 -0
  47. package/dist/lib/tooling-preflight.js +519 -0
  48. package/dist/lib/tooling-preflight.js.map +1 -0
  49. package/dist/utils/agent-picker.d.ts +16 -0
  50. package/dist/utils/agent-picker.d.ts.map +1 -0
  51. package/dist/utils/agent-picker.js +83 -0
  52. package/dist/utils/agent-picker.js.map +1 -0
  53. package/dist/utils/resolver.d.ts +35 -0
  54. package/dist/utils/resolver.d.ts.map +1 -0
  55. package/dist/utils/resolver.js +157 -0
  56. package/dist/utils/resolver.js.map +1 -0
  57. package/dist/utils/tty.d.ts +26 -0
  58. package/dist/utils/tty.d.ts.map +1 -0
  59. package/dist/utils/tty.js +50 -0
  60. package/dist/utils/tty.js.map +1 -0
  61. package/dist/utils/ui.d.ts +4 -0
  62. package/dist/utils/ui.d.ts.map +1 -1
  63. package/dist/utils/ui.js +9 -0
  64. package/dist/utils/ui.js.map +1 -1
  65. package/package.json +1 -1
  66. package/dist/commands/agents.d.ts +0 -3
  67. package/dist/commands/agents.d.ts.map +0 -1
  68. package/dist/commands/agents.js +0 -309
  69. package/dist/commands/agents.js.map +0 -1
  70. package/dist/commands/deploy.d.ts +0 -3
  71. package/dist/commands/deploy.d.ts.map +0 -1
  72. package/dist/commands/deploy.js +0 -174
  73. package/dist/commands/deploy.js.map +0 -1
  74. package/dist/commands/validate.d.ts +0 -3
  75. package/dist/commands/validate.d.ts.map +0 -1
  76. package/dist/commands/validate.js +0 -165
  77. package/dist/commands/validate.js.map +0 -1
@@ -1,309 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerAgentsCommand = registerAgentsCommand;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const ora_1 = __importDefault(require("ora"));
9
- const cli_table3_1 = __importDefault(require("cli-table3"));
10
- const inquirer_1 = __importDefault(require("inquirer"));
11
- const api_1 = require("../lib/api");
12
- const ui_1 = require("../utils/ui");
13
- const memory_1 = require("../lib/memory");
14
- function registerAgentsCommand(program) {
15
- const agents = program
16
- .command('agents')
17
- .description('List and manage your agents');
18
- // suzi agents -- list all agents
19
- agents
20
- .action(async () => {
21
- if (!(0, ui_1.requireAuth)())
22
- return;
23
- const spinner = (0, ora_1.default)('Loading agents...').start();
24
- const resp = await (0, api_1.get)('/api/agent?limit=50');
25
- if (!resp.ok) {
26
- spinner.fail();
27
- (0, ui_1.error)(`Failed to load agents: ${resp.data?.error || 'Unknown error'}`);
28
- return;
29
- }
30
- spinner.stop();
31
- const agentList = resp.data.agents || [];
32
- if (agentList.length === 0) {
33
- (0, ui_1.header)('Agents');
34
- console.log();
35
- (0, ui_1.info)('No agents found. Create one with `suzi deploy <file>`.');
36
- return;
37
- }
38
- (0, ui_1.header)(`Agents (${agentList.length})`);
39
- console.log();
40
- const table = new cli_table3_1.default({
41
- head: [
42
- chalk_1.default.gray('#'),
43
- chalk_1.default.gray('Name'),
44
- chalk_1.default.gray('Status'),
45
- chalk_1.default.gray('ID'),
46
- chalk_1.default.gray('Created'),
47
- ],
48
- style: { head: [], border: ['gray'] },
49
- });
50
- for (let i = 0; i < agentList.length; i++) {
51
- const agent = agentList[i];
52
- table.push([
53
- ui_1.colors.muted(String(i + 1)),
54
- chalk_1.default.bold(agent.title || 'Untitled'),
55
- (0, ui_1.statusBadge)(agent.status),
56
- agent.id,
57
- ui_1.colors.muted(new Date(agent.createdAt).toLocaleDateString()),
58
- ]);
59
- }
60
- console.log(table.toString());
61
- });
62
- // suzi agents view <id>
63
- agents
64
- .command('view <id>')
65
- .description('View agent details')
66
- .action(async (id) => {
67
- if (!(0, ui_1.requireAuth)())
68
- return;
69
- const spinner = (0, ora_1.default)('Loading agent...').start();
70
- const resp = await (0, api_1.get)(`/api/agent/${id}`);
71
- if (!resp.ok) {
72
- spinner.fail();
73
- (0, ui_1.error)(`Agent not found: ${resp.data?.error || 'Unknown error'}`);
74
- return;
75
- }
76
- spinner.stop();
77
- const agent = resp.data;
78
- (0, ui_1.header)(agent.title || 'Untitled Agent');
79
- console.log();
80
- (0, ui_1.label)('ID', agent.id);
81
- (0, ui_1.label)('Status', (0, ui_1.statusBadge)(agent.status));
82
- (0, ui_1.label)('Description', agent.description || ui_1.colors.muted('None'));
83
- (0, ui_1.label)('Created', new Date(agent.createdAt).toLocaleString());
84
- (0, ui_1.label)('Updated', new Date(agent.updatedAt).toLocaleString());
85
- // Show spec info
86
- if (agent.spec) {
87
- const spec = (0, ui_1.safeParseJSON)(agent.spec);
88
- console.log();
89
- console.log(ui_1.colors.muted(' Agent Spec:'));
90
- if (spec.meta) {
91
- (0, ui_1.label)(' Version', spec.meta.version || 'N/A');
92
- }
93
- if (spec.triggers) {
94
- const triggerNames = Object.keys(spec.triggers);
95
- (0, ui_1.label)(' Triggers', triggerNames.join(', ') || 'None');
96
- }
97
- if (spec.resources) {
98
- const resourceTypes = Object.entries(spec.resources)
99
- .map(([key, val]) => `${key}(${val.type || val})`)
100
- .join(', ');
101
- (0, ui_1.label)(' Resources', resourceTypes || 'None');
102
- }
103
- }
104
- // Show resources
105
- const resResp = await (0, api_1.get)(`/api/agent/${id}/resources`);
106
- if (resResp.ok && resResp.data?.resources?.length > 0) {
107
- console.log();
108
- console.log(ui_1.colors.muted(' Wallet Resources:'));
109
- for (const res of resResp.data.resources) {
110
- (0, ui_1.label)(` ${res.walletType.toUpperCase()}`, res.address || 'N/A');
111
- }
112
- }
113
- console.log();
114
- (0, ui_1.divider)();
115
- });
116
- // suzi agents activate <id>
117
- agents
118
- .command('activate <id>')
119
- .description('Activate an agent')
120
- .action(async (id) => {
121
- if (!(0, ui_1.requireAuth)())
122
- return;
123
- const spinner = (0, ora_1.default)('Activating agent...').start();
124
- const resp = await (0, api_1.post)(`/api/agent/${id}/activate`);
125
- if (!resp.ok) {
126
- spinner.fail();
127
- const errorMsg = resp.data?.error || resp.data?.message || 'Unknown error';
128
- (0, ui_1.error)(`Failed to activate: ${errorMsg}`);
129
- (0, memory_1.appendLearning)({ category: 'error', message: `Activate failed: ${errorMsg}`, command: 'agents activate', agentId: id });
130
- return;
131
- }
132
- spinner.succeed();
133
- (0, ui_1.success)(`Agent ${id.slice(0, 8)}... activated.`);
134
- });
135
- // suzi agents deactivate <id>
136
- agents
137
- .command('deactivate <id>')
138
- .description('Deactivate an agent')
139
- .action(async (id) => {
140
- if (!(0, ui_1.requireAuth)())
141
- return;
142
- const spinner = (0, ora_1.default)('Deactivating agent...').start();
143
- const resp = await (0, api_1.post)(`/api/agent/${id}/deactivate`);
144
- if (!resp.ok) {
145
- spinner.fail();
146
- const errorMsg = resp.data?.error || resp.data?.message || 'Unknown error';
147
- (0, ui_1.error)(`Failed to deactivate: ${errorMsg}`);
148
- (0, memory_1.appendLearning)({ category: 'error', message: `Deactivate failed: ${errorMsg}`, command: 'agents deactivate', agentId: id });
149
- return;
150
- }
151
- spinner.succeed();
152
- (0, ui_1.success)(`Agent ${id.slice(0, 8)}... deactivated.`);
153
- });
154
- // suzi agents execute <id> [trigger]
155
- agents
156
- .command('execute <id> [trigger]')
157
- .description('Manually execute an agent trigger')
158
- .action(async (id, trigger) => {
159
- if (!(0, ui_1.requireAuth)())
160
- return;
161
- // If no trigger specified, fetch agent to find manual triggers
162
- let triggerName = trigger;
163
- if (!triggerName) {
164
- const agentResp = await (0, api_1.get)(`/api/agent/${id}`);
165
- if (agentResp.ok && agentResp.data?.spec) {
166
- const spec = (0, ui_1.safeParseJSON)(agentResp.data.spec);
167
- const triggers = Object.keys(spec.triggers || {});
168
- if (triggers.length === 1) {
169
- triggerName = triggers[0];
170
- }
171
- else if (triggers.length > 1) {
172
- const answers = await inquirer_1.default.prompt([
173
- {
174
- type: 'list',
175
- name: 'trigger',
176
- message: 'Select a trigger to execute:',
177
- choices: triggers,
178
- },
179
- ]);
180
- triggerName = answers.trigger;
181
- }
182
- else {
183
- (0, ui_1.error)('No triggers found on this agent.');
184
- return;
185
- }
186
- }
187
- else {
188
- (0, ui_1.error)('Could not fetch agent spec. Specify trigger name explicitly.');
189
- return;
190
- }
191
- }
192
- const spinner = (0, ora_1.default)(`Executing trigger "${triggerName}"...`).start();
193
- const resp = await (0, api_1.post)(`/api/agent/${id}/execute`, {
194
- triggerName: triggerName,
195
- });
196
- if (!resp.ok) {
197
- spinner.fail();
198
- const errorMsg = resp.data?.error || resp.data?.message || 'Unknown error';
199
- (0, ui_1.error)(`Execution failed: ${errorMsg}`);
200
- (0, memory_1.appendLearning)({ category: 'error', message: `Execution failed: ${errorMsg}`, command: 'agents execute', agentId: id });
201
- return;
202
- }
203
- spinner.succeed();
204
- (0, ui_1.success)(`Execution started. Run ID: ${resp.data.executionId || 'N/A'}`);
205
- });
206
- // suzi agents logs <id>
207
- agents
208
- .command('logs <id>')
209
- .description('View agent logs')
210
- .option('-n, --limit <n>', 'Number of log entries', '20')
211
- .option('--level <level>', 'Filter by level (info|warn|error|debug)')
212
- .action(async (id, opts) => {
213
- if (!(0, ui_1.requireAuth)())
214
- return;
215
- const spinner = (0, ora_1.default)('Loading logs...').start();
216
- let path = `/api/agent/${id}/logs?limit=${opts.limit}`;
217
- if (opts.level)
218
- path += `&level=${opts.level}`;
219
- const resp = await (0, api_1.get)(path);
220
- if (!resp.ok) {
221
- spinner.fail();
222
- (0, ui_1.error)(`Failed to load logs: ${resp.data?.error || 'Unknown error'}`);
223
- return;
224
- }
225
- spinner.stop();
226
- const logs = resp.data.logs || [];
227
- if (logs.length === 0) {
228
- (0, ui_1.info)('No logs found.');
229
- return;
230
- }
231
- (0, ui_1.header)(`Agent Logs (${logs.length})`);
232
- console.log();
233
- for (const log of logs) {
234
- const levelColor = log.level === 'error'
235
- ? chalk_1.default.red
236
- : log.level === 'warn'
237
- ? chalk_1.default.yellow
238
- : log.level === 'debug'
239
- ? chalk_1.default.gray
240
- : chalk_1.default.white;
241
- const ts = new Date(log.createdAt).toLocaleTimeString();
242
- console.log(` ${ui_1.colors.muted(ts)} ${levelColor(`[${log.level}]`)} ${log.log}`);
243
- }
244
- });
245
- // suzi agents code <id>
246
- agents
247
- .command('code <id>')
248
- .description('View agent source code')
249
- .action(async (id) => {
250
- if (!(0, ui_1.requireAuth)())
251
- return;
252
- const spinner = (0, ora_1.default)('Loading agent code...').start();
253
- const resp = await (0, api_1.get)(`/api/agent/${id}`);
254
- if (!resp.ok) {
255
- spinner.fail();
256
- (0, ui_1.error)(`Agent not found: ${resp.data?.error || resp.data?.message || 'Unknown error'}`);
257
- return;
258
- }
259
- spinner.stop();
260
- const agent = resp.data;
261
- if (!agent.source) {
262
- (0, ui_1.info)('No source code found for this agent.');
263
- return;
264
- }
265
- (0, ui_1.header)(agent.title || 'Untitled Agent');
266
- console.log();
267
- const lines = agent.source.split('\n');
268
- for (let i = 0; i < lines.length; i++) {
269
- const lineNum = ui_1.colors.muted(String(i + 1).padStart(4));
270
- console.log(`${lineNum} ${lines[i]}`);
271
- }
272
- console.log();
273
- console.log(ui_1.colors.muted(` ${lines.length} lines`));
274
- });
275
- // suzi agents delete <id>
276
- agents
277
- .command('delete <id>')
278
- .description('Delete an agent')
279
- .option('-f, --force', 'Skip confirmation')
280
- .action(async (id, opts) => {
281
- if (!(0, ui_1.requireAuth)())
282
- return;
283
- if (!opts.force) {
284
- const answers = await inquirer_1.default.prompt([
285
- {
286
- type: 'confirm',
287
- name: 'confirm',
288
- message: `Are you sure you want to delete agent ${id.slice(0, 8)}...?`,
289
- default: false,
290
- },
291
- ]);
292
- if (!answers.confirm) {
293
- (0, ui_1.info)('Cancelled.');
294
- return;
295
- }
296
- }
297
- const spinner = (0, ora_1.default)('Deleting agent...').start();
298
- const { del } = require('../lib/api');
299
- const resp = await del(`/api/agent/${id}`);
300
- if (!resp.ok) {
301
- spinner.fail();
302
- (0, ui_1.error)(`Failed to delete: ${resp.data?.error || 'Unknown error'}`);
303
- return;
304
- }
305
- spinner.succeed();
306
- (0, ui_1.success)(`Agent ${id.slice(0, 8)}... deleted.`);
307
- });
308
- }
309
- //# sourceMappingURL=agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":";;;;;AASA,sDA4VC;AApWD,kDAA0B;AAC1B,8CAAsB;AACtB,4DAA+B;AAC/B,wDAAgC;AAChC,oCAAuC;AACvC,oCAA4H;AAC5H,0CAA+C;AAE/C,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAE9C,iCAAiC;IACjC,MAAM;SACH,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,SAAG,EAAC,qBAAqB,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,UAAK,EAAC,0BAA0B,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAA,WAAM,EAAC,QAAQ,CAAC,CAAC;YACjB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAA,SAAI,EAAC,wDAAwD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAA,WAAM,EAAC,WAAW,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;YACtB,IAAI,EAAE;gBACJ,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBACf,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClB,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACpB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACtB;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;SACtC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,WAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC;gBACrC,IAAA,gBAAW,EAAC,KAAK,CAAC,MAAM,CAAC;gBACzB,KAAK,CAAC,EAAE;gBACR,WAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,MAAM;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEhD,MAAM,IAAI,GAAG,MAAM,IAAA,SAAG,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,UAAK,EAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,IAAA,WAAM,EAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAA,UAAK,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACtB,IAAA,UAAK,EAAC,QAAQ,EAAE,IAAA,gBAAW,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAA,UAAK,EAAC,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,WAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAA,UAAK,EAAC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7D,IAAA,UAAK,EAAC,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAE7D,iBAAiB;QACjB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAA,kBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAA,UAAK,EAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAA,UAAK,EAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;qBACjD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAgB,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC;qBAChE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,IAAA,UAAK,EAAC,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,IAAA,SAAG,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC,IAAA,UAAK,EAAC,KAAK,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAA,YAAO,GAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,4BAA4B;IAC5B,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAA,UAAI,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3E,IAAA,UAAK,EAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAA,uBAAc,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,QAAQ,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxH,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,YAAO,EAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEL,8BAA8B;IAC9B,MAAM;SACH,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,IAAA,UAAI,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3E,IAAA,UAAK,EAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAC3C,IAAA,uBAAc,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5H,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,YAAO,EAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEL,qCAAqC;IACrC,MAAM;SACH,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,+DAA+D;QAC/D,IAAI,WAAW,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,IAAA,SAAG,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAA,kBAAa,EAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;wBACpC;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,8BAA8B;4BACvC,OAAO,EAAE,QAAQ;yBAClB;qBACF,CAAC,CAAC;oBACH,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,IAAA,UAAK,EAAC,kCAAkC,CAAC,CAAC;oBAC1C,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,UAAK,EAAC,8DAA8D,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,WAAW,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,IAAA,UAAI,EAAC,cAAc,EAAE,UAAU,EAAE;YAClD,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC;YAC3E,IAAA,UAAK,EAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YACvC,IAAA,uBAAc,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,QAAQ,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxH,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,YAAO,EAAC,8BAA8B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,MAAM;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAS,EAAE,EAAE;QACtC,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE/C,IAAI,IAAI,GAAG,cAAc,EAAE,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAE/C,MAAM,IAAI,GAAG,MAAM,IAAA,SAAG,EAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,UAAK,EAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAA,SAAI,EAAC,gBAAgB,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAA,WAAM,EAAC,eAAe,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GACd,GAAG,CAAC,KAAK,KAAK,OAAO;gBACnB,CAAC,CAAC,eAAK,CAAC,GAAG;gBACX,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM;oBACpB,CAAC,CAAC,eAAK,CAAC,MAAM;oBACd,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO;wBACrB,CAAC,CAAC,eAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC;YAEtB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,WAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,MAAM;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,IAAA,SAAG,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,UAAK,EAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAA,SAAI,EAAC,sCAAsC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAA,WAAM,EAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,WAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAS,EAAE,EAAE;QACtC,IAAI,CAAC,IAAA,gBAAW,GAAE;YAAE,OAAO;QAE3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,yCAAyC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM;oBACtE,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAA,SAAI,EAAC,YAAY,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAA,UAAK,EAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,YAAO,EAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerDeployCommand(program: Command): void;
3
- //# sourceMappingURL=deploy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkL5D"}
@@ -1,174 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerDeployCommand = registerDeployCommand;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const ora_1 = __importDefault(require("ora"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const inquirer_1 = __importDefault(require("inquirer"));
12
- const api_1 = require("../lib/api");
13
- const ui_1 = require("../utils/ui");
14
- const memory_1 = require("../lib/memory");
15
- function registerDeployCommand(program) {
16
- program
17
- .command('deploy [file]')
18
- .description('Deploy an agent from a TypeScript file')
19
- .option('-t, --title <title>', 'Agent title')
20
- .option('-d, --description <desc>', 'Agent description')
21
- .option('--update <agentId>', 'Update an existing agent instead of creating new')
22
- .option('--activate', 'Activate the agent after deploying')
23
- .action(async (file, opts) => {
24
- if (!(0, ui_1.requireAuth)())
25
- return;
26
- // Find the agent file
27
- let filePath = file;
28
- if (!filePath) {
29
- // Look for common agent file patterns in current directory
30
- const candidates = [
31
- 'agent.ts',
32
- 'src/agent.ts',
33
- 'index.ts',
34
- 'src/index.ts',
35
- ];
36
- for (const candidate of candidates) {
37
- const resolved = path_1.default.resolve(process.cwd(), candidate);
38
- if (fs_1.default.existsSync(resolved)) {
39
- filePath = resolved;
40
- break;
41
- }
42
- }
43
- if (!filePath) {
44
- (0, ui_1.error)('No agent file found. Specify a file path: `suzi deploy ./agent.ts`');
45
- (0, ui_1.info)('Looked for: ' + candidates.join(', '));
46
- return;
47
- }
48
- }
49
- const resolvedPath = path_1.default.resolve(process.cwd(), filePath);
50
- if (!fs_1.default.existsSync(resolvedPath)) {
51
- (0, ui_1.error)(`File not found: ${resolvedPath}`);
52
- return;
53
- }
54
- const source = fs_1.default.readFileSync(resolvedPath, 'utf-8');
55
- if (!source.includes('defineAgent')) {
56
- (0, ui_1.error)('File does not appear to be a Suzi agent (missing defineAgent).');
57
- (0, ui_1.info)('Agent files must export `defineAgent({...})`.');
58
- return;
59
- }
60
- (0, ui_1.header)('Deploy Agent');
61
- console.log();
62
- (0, ui_1.label)('File', path_1.default.relative(process.cwd(), resolvedPath));
63
- (0, ui_1.label)('Size', `${source.length} bytes`);
64
- console.log();
65
- // Determine title
66
- let title = opts?.title;
67
- if (!title && !opts?.update) {
68
- // Try to extract from source
69
- const metaMatch = source.match(/name:\s*['"]([^'"]+)['"]/);
70
- if (metaMatch) {
71
- title = metaMatch[1];
72
- }
73
- else {
74
- const answers = await inquirer_1.default.prompt([
75
- {
76
- type: 'input',
77
- name: 'title',
78
- message: 'Agent title:',
79
- default: path_1.default.basename(resolvedPath, path_1.default.extname(resolvedPath)),
80
- },
81
- ]);
82
- title = answers.title;
83
- }
84
- }
85
- const spinner = (0, ora_1.default)('Deploying agent...').start();
86
- try {
87
- let resp;
88
- if (opts?.update) {
89
- // Update existing agent
90
- spinner.text = 'Updating agent...';
91
- resp = await (0, api_1.put)(`/api/agent/${opts.update}`, {
92
- code: source,
93
- ...(title ? { title } : {}),
94
- ...(opts?.description ? { description: opts.description } : {}),
95
- });
96
- }
97
- else {
98
- // Create new agent
99
- spinner.text = 'Creating agent...';
100
- resp = await (0, api_1.post)('/api/agent', {
101
- code: source,
102
- title: title || 'CLI Agent',
103
- ...(opts?.description ? { description: opts.description } : {}),
104
- });
105
- }
106
- if (!resp.ok) {
107
- spinner.fail();
108
- const errorMsg = resp.data?.error || resp.data?.message || 'Unknown error';
109
- (0, ui_1.error)(`Deploy failed: ${errorMsg}`);
110
- if (resp.data?.details) {
111
- console.log(ui_1.colors.muted(` ${resp.data.details}`));
112
- }
113
- (0, memory_1.appendLearning)({ category: 'error', message: `Deploy failed: ${errorMsg}`, command: 'deploy' });
114
- return;
115
- }
116
- const agent = resp.data;
117
- spinner.succeed(opts?.update ? 'Agent updated!' : 'Agent created!');
118
- console.log();
119
- (0, ui_1.label)('Agent ID', agent.id);
120
- (0, ui_1.label)('Title', agent.title || 'Untitled');
121
- (0, ui_1.label)('Status', (0, ui_1.statusBadge)(agent.status));
122
- if (agent.spec) {
123
- const spec = (0, ui_1.safeParseJSON)(agent.spec);
124
- if (spec.triggers) {
125
- (0, ui_1.label)('Triggers', Object.keys(spec.triggers).join(', '));
126
- }
127
- }
128
- // Show action validation warnings
129
- if (agent.actionValidation?.issues?.length > 0) {
130
- console.log();
131
- (0, ui_1.warn)('Action validation issues:');
132
- for (const issue of agent.actionValidation.issues) {
133
- if (issue.type === 'unknown_protocol') {
134
- console.log(` ${ui_1.colors.warning('⚠')} Unknown protocol: ${chalk_1.default.bold(issue.protocol)} ${ui_1.colors.muted(`(line ${issue.line})`)}`);
135
- }
136
- else if (issue.type === 'unknown_action') {
137
- console.log(` ${ui_1.colors.warning('⚠')} Unknown action: ${chalk_1.default.bold(issue.protocol + '.' + issue.action)} ${ui_1.colors.muted(`(line ${issue.line})`)}`);
138
- }
139
- if (issue.suggestions?.length > 0) {
140
- console.log(` ${ui_1.colors.muted('Did you mean:')} ${issue.suggestions.join(', ')}`);
141
- }
142
- }
143
- console.log();
144
- (0, ui_1.info)('Run `suzi validate` for detailed validation.');
145
- }
146
- // Activate if requested
147
- if (opts?.activate) {
148
- console.log();
149
- const activateSpinner = (0, ora_1.default)('Activating agent...').start();
150
- const activateResp = await (0, api_1.post)(`/api/agent/${agent.id}/activate`);
151
- if (activateResp.ok) {
152
- activateSpinner.succeed('Agent activated!');
153
- }
154
- else {
155
- activateSpinner.fail();
156
- const activateError = activateResp.data?.error || activateResp.data?.message || 'Unknown error';
157
- (0, ui_1.error)(`Activation failed: ${activateError}`);
158
- (0, memory_1.appendLearning)({ category: 'error', message: `Post-deploy activation failed: ${activateError}`, command: 'deploy --activate', agentId: agent.id });
159
- }
160
- }
161
- console.log();
162
- (0, ui_1.divider)();
163
- if (agent.status === 'draft') {
164
- (0, ui_1.info)('Activate with: `suzi agents activate ' + agent.id + '`');
165
- }
166
- }
167
- catch (err) {
168
- spinner.fail();
169
- (0, ui_1.error)(`Deploy error: ${err.message}`);
170
- (0, memory_1.appendLearning)({ category: 'error', message: `Deploy error: ${err.message}`, command: 'deploy' });
171
- }
172
- });
173
- }
174
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerValidateCommand(program: Command): void;
3
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyK9D"}