@iqai/adk-cli 0.2.9 → 0.3.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 (156) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/app.module.d.ts +3 -0
  3. package/dist/app.module.d.ts.map +1 -0
  4. package/dist/app.module.js +24 -0
  5. package/dist/app.module.js.map +1 -0
  6. package/dist/cli/cli.module.d.ts +3 -0
  7. package/dist/cli/cli.module.d.ts.map +1 -0
  8. package/dist/cli/cli.module.js +25 -0
  9. package/dist/cli/cli.module.js.map +1 -0
  10. package/dist/cli/new.command.d.ts +10 -0
  11. package/dist/cli/new.command.d.ts.map +1 -0
  12. package/dist/cli/new.command.js +273 -0
  13. package/dist/cli/new.command.js.map +1 -0
  14. package/dist/cli/run.command.d.ts +20 -0
  15. package/dist/cli/run.command.d.ts.map +1 -0
  16. package/dist/cli/run.command.js +342 -0
  17. package/dist/cli/run.command.js.map +1 -0
  18. package/dist/cli/serve.command.d.ts +20 -0
  19. package/dist/cli/serve.command.d.ts.map +1 -0
  20. package/dist/cli/serve.command.js +137 -0
  21. package/dist/cli/serve.command.js.map +1 -0
  22. package/dist/cli/web.command.d.ts +20 -0
  23. package/dist/cli/web.command.d.ts.map +1 -0
  24. package/dist/cli/web.command.js +146 -0
  25. package/dist/cli/web.command.js.map +1 -0
  26. package/dist/common/tokens.d.ts +5 -0
  27. package/dist/common/tokens.d.ts.map +1 -0
  28. package/dist/common/tokens.js +8 -0
  29. package/dist/common/tokens.js.map +1 -0
  30. package/dist/common/types.d.ts +91 -0
  31. package/dist/common/types.d.ts.map +1 -0
  32. package/dist/common/types.js +3 -0
  33. package/dist/common/types.js.map +1 -0
  34. package/dist/http/bootstrap.d.ts +17 -0
  35. package/dist/http/bootstrap.d.ts.map +1 -0
  36. package/dist/http/bootstrap.js +221 -0
  37. package/dist/http/bootstrap.js.map +1 -0
  38. package/dist/http/config/config.module.d.ts +6 -0
  39. package/dist/http/config/config.module.d.ts.map +1 -0
  40. package/dist/http/config/config.module.js +32 -0
  41. package/dist/http/config/config.module.js.map +1 -0
  42. package/dist/http/discovery/agents.controller.d.ts +13 -0
  43. package/dist/http/discovery/agents.controller.d.ts.map +1 -0
  44. package/dist/http/discovery/agents.controller.js +73 -0
  45. package/dist/http/discovery/agents.controller.js.map +1 -0
  46. package/dist/http/discovery/discovery.module.d.ts +3 -0
  47. package/dist/http/discovery/discovery.module.d.ts.map +1 -0
  48. package/dist/http/discovery/discovery.module.js +22 -0
  49. package/dist/http/discovery/discovery.module.js.map +1 -0
  50. package/dist/http/dto/api.dto.d.ts +70 -0
  51. package/dist/http/dto/api.dto.d.ts.map +1 -0
  52. package/dist/http/dto/api.dto.js +268 -0
  53. package/dist/http/dto/api.dto.js.map +1 -0
  54. package/dist/http/events/events.controller.d.ts +8 -0
  55. package/dist/http/events/events.controller.d.ts.map +1 -0
  56. package/dist/http/events/events.controller.js +55 -0
  57. package/dist/http/events/events.controller.js.map +1 -0
  58. package/dist/http/events/events.module.d.ts +3 -0
  59. package/dist/http/events/events.module.d.ts.map +1 -0
  60. package/dist/http/events/events.module.js +25 -0
  61. package/dist/http/events/events.module.js.map +1 -0
  62. package/dist/http/events/events.service.d.ts +8 -0
  63. package/dist/http/events/events.service.d.ts.map +1 -0
  64. package/dist/http/events/events.service.js +37 -0
  65. package/dist/http/events/events.service.js.map +1 -0
  66. package/dist/http/health/health.controller.d.ts +6 -0
  67. package/dist/http/health/health.controller.d.ts.map +1 -0
  68. package/dist/http/health/health.controller.js +37 -0
  69. package/dist/http/health/health.controller.js.map +1 -0
  70. package/dist/http/health/health.module.d.ts +3 -0
  71. package/dist/http/health/health.module.d.ts.map +1 -0
  72. package/dist/http/health/health.module.js +20 -0
  73. package/dist/http/health/health.module.js.map +1 -0
  74. package/dist/http/http.module.d.ts +6 -0
  75. package/dist/http/http.module.d.ts.map +1 -0
  76. package/dist/http/http.module.js +43 -0
  77. package/dist/http/http.module.js.map +1 -0
  78. package/dist/http/messaging/messaging.controller.d.ts +9 -0
  79. package/dist/http/messaging/messaging.controller.d.ts.map +1 -0
  80. package/dist/http/messaging/messaging.controller.js +83 -0
  81. package/dist/http/messaging/messaging.controller.js.map +1 -0
  82. package/dist/http/messaging/messaging.module.d.ts +3 -0
  83. package/dist/http/messaging/messaging.module.d.ts.map +1 -0
  84. package/dist/http/messaging/messaging.module.js +25 -0
  85. package/dist/http/messaging/messaging.module.js.map +1 -0
  86. package/dist/http/messaging/messaging.service.d.ts +11 -0
  87. package/dist/http/messaging/messaging.service.d.ts.map +1 -0
  88. package/dist/http/messaging/messaging.service.js +48 -0
  89. package/dist/http/messaging/messaging.service.js.map +1 -0
  90. package/dist/http/providers/agent-loader.service.d.ts +49 -0
  91. package/dist/http/providers/agent-loader.service.d.ts.map +1 -0
  92. package/dist/http/providers/agent-loader.service.js +416 -0
  93. package/dist/http/providers/agent-loader.service.js.map +1 -0
  94. package/dist/http/providers/agent-manager.service.d.ts +24 -0
  95. package/dist/http/providers/agent-manager.service.d.ts.map +1 -0
  96. package/dist/http/providers/agent-manager.service.js +222 -0
  97. package/dist/http/providers/agent-manager.service.js.map +1 -0
  98. package/dist/http/providers/agent-scanner.service.d.ts +9 -0
  99. package/dist/http/providers/agent-scanner.service.d.ts.map +1 -0
  100. package/dist/http/providers/agent-scanner.service.js +108 -0
  101. package/dist/http/providers/agent-scanner.service.js.map +1 -0
  102. package/dist/http/providers/providers.module.d.ts +3 -0
  103. package/dist/http/providers/providers.module.d.ts.map +1 -0
  104. package/dist/http/providers/providers.module.js +47 -0
  105. package/dist/http/providers/providers.module.js.map +1 -0
  106. package/dist/http/reload/hot-reload.service.d.ts +16 -0
  107. package/dist/http/reload/hot-reload.service.d.ts.map +1 -0
  108. package/dist/http/reload/hot-reload.service.js +79 -0
  109. package/dist/http/reload/hot-reload.service.js.map +1 -0
  110. package/dist/http/reload/reload.controller.d.ts +14 -0
  111. package/dist/http/reload/reload.controller.d.ts.map +1 -0
  112. package/dist/http/reload/reload.controller.js +50 -0
  113. package/dist/http/reload/reload.controller.js.map +1 -0
  114. package/dist/http/reload/reload.module.d.ts +3 -0
  115. package/dist/http/reload/reload.module.d.ts.map +1 -0
  116. package/dist/http/reload/reload.module.js +23 -0
  117. package/dist/http/reload/reload.module.js.map +1 -0
  118. package/dist/http/runtime-config.d.ts +22 -0
  119. package/dist/http/runtime-config.d.ts.map +1 -0
  120. package/dist/http/runtime-config.js +5 -0
  121. package/dist/http/runtime-config.js.map +1 -0
  122. package/dist/http/sessions/sessions.controller.d.ts +11 -0
  123. package/dist/http/sessions/sessions.controller.d.ts.map +1 -0
  124. package/dist/http/sessions/sessions.controller.js +116 -0
  125. package/dist/http/sessions/sessions.controller.js.map +1 -0
  126. package/dist/http/sessions/sessions.module.d.ts +3 -0
  127. package/dist/http/sessions/sessions.module.d.ts.map +1 -0
  128. package/dist/http/sessions/sessions.module.js +25 -0
  129. package/dist/http/sessions/sessions.module.js.map +1 -0
  130. package/dist/http/sessions/sessions.service.d.ts +54 -0
  131. package/dist/http/sessions/sessions.service.d.ts.map +1 -0
  132. package/dist/http/sessions/sessions.service.js +353 -0
  133. package/dist/http/sessions/sessions.service.js.map +1 -0
  134. package/dist/http/state/state.controller.d.ts +9 -0
  135. package/dist/http/state/state.controller.d.ts.map +1 -0
  136. package/dist/http/state/state.controller.js +76 -0
  137. package/dist/http/state/state.controller.js.map +1 -0
  138. package/dist/http/state/state.module.d.ts +3 -0
  139. package/dist/http/state/state.module.d.ts.map +1 -0
  140. package/dist/http/state/state.module.js +25 -0
  141. package/dist/http/state/state.module.js.map +1 -0
  142. package/dist/http/state/state.service.d.ts +9 -0
  143. package/dist/http/state/state.service.d.ts.map +1 -0
  144. package/dist/http/state/state.service.js +55 -0
  145. package/dist/http/state/state.service.js.map +1 -0
  146. package/dist/main.d.ts +3 -0
  147. package/dist/main.d.ts.map +1 -0
  148. package/dist/main.js +25 -0
  149. package/dist/main.js.map +1 -0
  150. package/package.json +18 -12
  151. package/dist/index.d.mts +0 -2
  152. package/dist/index.d.ts +0 -2
  153. package/dist/index.js +0 -1239
  154. package/dist/index.js.map +0 -1
  155. package/dist/index.mjs +0 -1223
  156. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.RunCommand = void 0;
49
+ const p = __importStar(require("@clack/prompts"));
50
+ const prompts_1 = require("@clack/prompts");
51
+ const chalk_1 = __importDefault(require("chalk"));
52
+ const marked_1 = require("marked");
53
+ const markedTerminal = __importStar(require("marked-terminal"));
54
+ const nest_commander_1 = require("nest-commander");
55
+ const bootstrap_1 = require("../http/bootstrap");
56
+ const mt = markedTerminal.markedTerminal ?? markedTerminal;
57
+ marked_1.marked.use(mt());
58
+ /**
59
+ * Render markdown to ANSI for terminal using 'marked' + 'marked-terminal'.
60
+ * Simple static import and configuration as per package docs.
61
+ */
62
+ async function render(text) {
63
+ const input = text ?? "";
64
+ const out = marked_1.marked.parse(input);
65
+ return typeof out === "string" ? out : String(out ?? "");
66
+ }
67
+ class AgentChatClient {
68
+ apiUrl;
69
+ selectedAgent = null;
70
+ constructor(apiUrl) {
71
+ this.apiUrl = apiUrl;
72
+ }
73
+ async connect() {
74
+ try {
75
+ const response = await fetch(`${this.apiUrl}/health`).catch(() => null);
76
+ if (!response || !response.ok) {
77
+ throw new Error("Connection failed");
78
+ }
79
+ }
80
+ catch {
81
+ throw new Error("āŒ Connection failed");
82
+ }
83
+ }
84
+ async fetchAgents() {
85
+ try {
86
+ const response = await fetch(`${this.apiUrl}/api/agents`);
87
+ if (!response.ok) {
88
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
89
+ }
90
+ const data = await response.json();
91
+ if (Array.isArray(data))
92
+ return data;
93
+ if (data && Array.isArray(data.agents))
94
+ return data.agents;
95
+ throw new Error(`Unexpected response format: ${JSON.stringify(data)}`);
96
+ }
97
+ catch (error) {
98
+ throw new Error(`Failed to fetch agents: ${error instanceof Error ? error.message : String(error)}`);
99
+ }
100
+ }
101
+ async selectAgent() {
102
+ const agents = await this.fetchAgents();
103
+ if (agents.length === 0) {
104
+ throw new Error("No agents found in the current directory");
105
+ }
106
+ if (agents.length === 1) {
107
+ return agents[0];
108
+ }
109
+ const selectedAgent = await p.select({
110
+ message: "Choose an agent to chat with:",
111
+ options: agents.map((agent) => ({
112
+ label: agent.name,
113
+ value: agent,
114
+ hint: agent.relativePath,
115
+ })),
116
+ });
117
+ if (p.isCancel(selectedAgent)) {
118
+ p.cancel("Operation cancelled");
119
+ process.exit(0);
120
+ }
121
+ return selectedAgent;
122
+ }
123
+ async sendMessage(message) {
124
+ if (!this.selectedAgent) {
125
+ throw new Error("No agent selected");
126
+ }
127
+ const s = (0, prompts_1.spinner)();
128
+ s.start("šŸ¤– Thinking...");
129
+ try {
130
+ const response = await fetch(`${this.apiUrl}/api/agents/${encodeURIComponent(this.selectedAgent.relativePath)}/message`, {
131
+ method: "POST",
132
+ headers: { "Content-Type": "application/json" },
133
+ body: JSON.stringify({ message }),
134
+ });
135
+ if (!response.ok) {
136
+ const errorText = await response.text();
137
+ s.stop("āŒ Failed to send message");
138
+ throw new Error(`Failed to send message: ${errorText}`);
139
+ }
140
+ const result = await response.json();
141
+ s.stop("šŸ¤– Assistant:");
142
+ if (result.response) {
143
+ const formattedResponse = await render(result.response);
144
+ p.log.message((formattedResponse || "").trim());
145
+ }
146
+ }
147
+ catch (_error) {
148
+ p.log.error("Failed to send message");
149
+ }
150
+ }
151
+ async startChat() {
152
+ if (!this.selectedAgent) {
153
+ throw new Error("Agent not selected");
154
+ }
155
+ while (true) {
156
+ try {
157
+ const message = await p.text({
158
+ message: "šŸ’¬ Message:",
159
+ placeholder: "Type your message here...",
160
+ });
161
+ if (p.isCancel(message)) {
162
+ p.cancel("Chat ended");
163
+ break;
164
+ }
165
+ const trimmed = (message || "").trim();
166
+ if (trimmed) {
167
+ await this.sendMessage(trimmed);
168
+ }
169
+ }
170
+ catch (error) {
171
+ console.error(chalk_1.default.red("Error in chat:"), error);
172
+ break;
173
+ }
174
+ }
175
+ }
176
+ setSelectedAgent(agent) {
177
+ this.selectedAgent = agent;
178
+ }
179
+ }
180
+ let RunCommand = class RunCommand extends nest_commander_1.CommandRunner {
181
+ async run(passed, options) {
182
+ const agentPathArg = passed?.[0];
183
+ const envVerbose = process.env.ADK_VERBOSE;
184
+ const isVerbose = options?.verbose ?? (envVerbose === "1" || envVerbose === "true");
185
+ if (options?.server) {
186
+ // Server-only mode
187
+ const apiPort = 8042;
188
+ const host = options.host || "localhost";
189
+ console.log(chalk_1.default.blue("šŸš€ Starting ADK Server..."));
190
+ const server = await (0, bootstrap_1.startHttpServer)({
191
+ port: apiPort,
192
+ host,
193
+ agentsDir: process.cwd(),
194
+ quiet: !isVerbose,
195
+ hotReload: options?.hot,
196
+ watchPaths: options?.watch,
197
+ });
198
+ console.log(chalk_1.default.cyan("Press Ctrl+C to stop the server"));
199
+ process.on("SIGINT", async () => {
200
+ console.log(chalk_1.default.yellow("\nšŸ›‘ Stopping server..."));
201
+ await server.stop();
202
+ process.exit(0);
203
+ });
204
+ await new Promise(() => { });
205
+ return;
206
+ }
207
+ // Interactive chat mode
208
+ const apiUrl = `http://${options?.host || "localhost"}:8042`;
209
+ p.intro("šŸ¤– ADK Agent Chat");
210
+ // Ensure server is up, else start it
211
+ const healthResponse = await fetch(`${apiUrl}/health`).catch(() => null);
212
+ if (!healthResponse || !healthResponse.ok) {
213
+ const serverSpinner = (0, prompts_1.spinner)();
214
+ serverSpinner.start("šŸš€ Starting server...");
215
+ await (0, bootstrap_1.startHttpServer)({
216
+ port: 8042,
217
+ host: options?.host || "localhost",
218
+ agentsDir: process.cwd(),
219
+ quiet: !isVerbose,
220
+ hotReload: options?.hot,
221
+ watchPaths: options?.watch,
222
+ });
223
+ await new Promise((resolve) => setTimeout(resolve, 1000));
224
+ serverSpinner.stop("āœ… Server ready");
225
+ }
226
+ const client = new AgentChatClient(apiUrl);
227
+ await client.connect();
228
+ const agentSpinner = (0, prompts_1.spinner)();
229
+ agentSpinner.start("šŸ” Scanning for agents...");
230
+ try {
231
+ const agents = await client.fetchAgents();
232
+ let selectedAgent;
233
+ if (agents.length === 0) {
234
+ agentSpinner.stop("āŒ No agents found");
235
+ p.cancel("No agents found in the current directory");
236
+ process.exit(1);
237
+ }
238
+ else if (agents.length === 1 || agentPathArg) {
239
+ selectedAgent =
240
+ (agentPathArg &&
241
+ agents.find((a) => a.relativePath === agentPathArg)) ||
242
+ agents[0];
243
+ agentSpinner.stop(`šŸ¤– Selected agent: ${selectedAgent.name}`);
244
+ }
245
+ else {
246
+ agentSpinner.stop(`šŸ¤– Found ${agents.length} agents`);
247
+ const choice = await p.select({
248
+ message: "Choose an agent to chat with:",
249
+ options: agents.map((agent) => ({
250
+ label: agent.name,
251
+ value: agent,
252
+ hint: agent.relativePath,
253
+ })),
254
+ });
255
+ if (p.isCancel(choice)) {
256
+ p.cancel("Operation cancelled");
257
+ process.exit(0);
258
+ }
259
+ selectedAgent = choice;
260
+ }
261
+ client.setSelectedAgent(selectedAgent);
262
+ await client.startChat();
263
+ p.outro("Chat ended");
264
+ }
265
+ catch (error) {
266
+ p.cancel(`Error: ${error instanceof Error ? error.message : String(error)}`);
267
+ process.exit(1);
268
+ }
269
+ }
270
+ parseServer() {
271
+ return true;
272
+ }
273
+ parseHost(val) {
274
+ return val;
275
+ }
276
+ parseVerbose() {
277
+ return true;
278
+ }
279
+ parseHot() {
280
+ return true;
281
+ }
282
+ parseWatch(val) {
283
+ return (val || "")
284
+ .split(",")
285
+ .map((s) => s.trim())
286
+ .filter(Boolean);
287
+ }
288
+ };
289
+ exports.RunCommand = RunCommand;
290
+ __decorate([
291
+ (0, nest_commander_1.Option)({
292
+ flags: "-s, --server",
293
+ description: "Start ADK server only (without chat interface)",
294
+ }),
295
+ __metadata("design:type", Function),
296
+ __metadata("design:paramtypes", []),
297
+ __metadata("design:returntype", Boolean)
298
+ ], RunCommand.prototype, "parseServer", null);
299
+ __decorate([
300
+ (0, nest_commander_1.Option)({
301
+ flags: "-h, --host <host>",
302
+ description: "Host for server (when using --server) or API URL target",
303
+ }),
304
+ __metadata("design:type", Function),
305
+ __metadata("design:paramtypes", [String]),
306
+ __metadata("design:returntype", String)
307
+ ], RunCommand.prototype, "parseHost", null);
308
+ __decorate([
309
+ (0, nest_commander_1.Option)({
310
+ flags: "--verbose",
311
+ description: "Enable verbose logs",
312
+ }),
313
+ __metadata("design:type", Function),
314
+ __metadata("design:paramtypes", []),
315
+ __metadata("design:returntype", Boolean)
316
+ ], RunCommand.prototype, "parseVerbose", null);
317
+ __decorate([
318
+ (0, nest_commander_1.Option)({
319
+ flags: "--hot",
320
+ description: "Enable hot reloading (watches agents and optional paths)",
321
+ }),
322
+ __metadata("design:type", Function),
323
+ __metadata("design:paramtypes", []),
324
+ __metadata("design:returntype", Boolean)
325
+ ], RunCommand.prototype, "parseHot", null);
326
+ __decorate([
327
+ (0, nest_commander_1.Option)({
328
+ flags: "--watch <paths>",
329
+ description: "Comma-separated list of additional paths to watch for reloads",
330
+ }),
331
+ __metadata("design:type", Function),
332
+ __metadata("design:paramtypes", [String]),
333
+ __metadata("design:returntype", Array)
334
+ ], RunCommand.prototype, "parseWatch", null);
335
+ exports.RunCommand = RunCommand = __decorate([
336
+ (0, nest_commander_1.Command)({
337
+ name: "run",
338
+ description: "Start an interactive chat with an agent",
339
+ arguments: "[agent-path]",
340
+ })
341
+ ], RunCommand);
342
+ //# sourceMappingURL=run.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.command.js","sourceRoot":"","sources":["../../src/cli/run.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { CommandRunner } from "nest-commander";
2
+ interface ServeCommandOptions {
3
+ port?: number;
4
+ host?: string;
5
+ dir?: string;
6
+ quiet?: boolean;
7
+ swagger?: boolean;
8
+ noSwagger?: boolean;
9
+ }
10
+ export declare class ServeCommand extends CommandRunner {
11
+ run(_passedParams: string[], options?: ServeCommandOptions): Promise<void>;
12
+ parsePort(val: string): number;
13
+ parseHost(val: string): string;
14
+ parseDir(val: string): string;
15
+ parseQuiet(): boolean;
16
+ parseSwagger(): boolean;
17
+ parseNoSwagger(): boolean;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=serve.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.command.d.ts","sourceRoot":"","sources":["../../src/cli/serve.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAGhE,UAAU,mBAAmB;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAIa,YAAa,SAAQ,aAAa;IACxC,GAAG,CACR,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+ChB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,UAAU,IAAI,OAAO;IASrB,YAAY,IAAI,OAAO;IAQvB,cAAc,IAAI,OAAO;CAGzB"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ServeCommand = void 0;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const nest_commander_1 = require("nest-commander");
18
+ const bootstrap_1 = require("../http/bootstrap");
19
+ let ServeCommand = class ServeCommand extends nest_commander_1.CommandRunner {
20
+ async run(_passedParams, options) {
21
+ const port = options?.port ?? 8042;
22
+ const host = options?.host ?? "localhost";
23
+ const agentsDir = options?.dir ?? process.cwd();
24
+ const quiet = !!options?.quiet;
25
+ let swagger = undefined;
26
+ if (options?.swagger)
27
+ swagger = true;
28
+ else if (options?.noSwagger)
29
+ swagger = false;
30
+ if (!quiet) {
31
+ console.log(chalk_1.default.blue(`šŸš€ ADK Server starting on http://${host}:${port}`));
32
+ }
33
+ const server = await (0, bootstrap_1.startHttpServer)({
34
+ port,
35
+ host,
36
+ agentsDir,
37
+ quiet,
38
+ swagger,
39
+ });
40
+ if (!quiet) {
41
+ console.log(chalk_1.default.green("āœ… Server ready"));
42
+ console.log(chalk_1.default.cyan("Press Ctrl+C to stop the server"));
43
+ }
44
+ const cleanup = async () => {
45
+ if (!quiet) {
46
+ console.log(chalk_1.default.yellow("\nšŸ›‘ Stopping server..."));
47
+ }
48
+ await server.stop();
49
+ process.exit(0);
50
+ };
51
+ process.on("SIGINT", cleanup);
52
+ process.on("SIGTERM", cleanup);
53
+ // Keep process running
54
+ await new Promise(() => { });
55
+ }
56
+ parsePort(val) {
57
+ return Number(val);
58
+ }
59
+ parseHost(val) {
60
+ return val;
61
+ }
62
+ parseDir(val) {
63
+ return val;
64
+ }
65
+ parseQuiet() {
66
+ return true;
67
+ }
68
+ parseSwagger() {
69
+ return true;
70
+ }
71
+ parseNoSwagger() {
72
+ return true;
73
+ }
74
+ };
75
+ exports.ServeCommand = ServeCommand;
76
+ __decorate([
77
+ (0, nest_commander_1.Option)({
78
+ flags: "-p, --port <port>",
79
+ description: "Port for the server",
80
+ }),
81
+ __metadata("design:type", Function),
82
+ __metadata("design:paramtypes", [String]),
83
+ __metadata("design:returntype", Number)
84
+ ], ServeCommand.prototype, "parsePort", null);
85
+ __decorate([
86
+ (0, nest_commander_1.Option)({
87
+ flags: "-h, --host <host>",
88
+ description: "Host for the server",
89
+ }),
90
+ __metadata("design:type", Function),
91
+ __metadata("design:paramtypes", [String]),
92
+ __metadata("design:returntype", String)
93
+ ], ServeCommand.prototype, "parseHost", null);
94
+ __decorate([
95
+ (0, nest_commander_1.Option)({
96
+ flags: "-d, --dir <directory>",
97
+ description: "Directory to scan for agents (default: current directory)",
98
+ }),
99
+ __metadata("design:type", Function),
100
+ __metadata("design:paramtypes", [String]),
101
+ __metadata("design:returntype", String)
102
+ ], ServeCommand.prototype, "parseDir", null);
103
+ __decorate([
104
+ (0, nest_commander_1.Option)({
105
+ flags: "-q, --quiet",
106
+ description: "Reduce logging output",
107
+ defaultValue: false,
108
+ }),
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", []),
111
+ __metadata("design:returntype", Boolean)
112
+ ], ServeCommand.prototype, "parseQuiet", null);
113
+ __decorate([
114
+ (0, nest_commander_1.Option)({
115
+ flags: "--swagger",
116
+ description: "Force enable OpenAPI docs (overrides default NODE_ENV-based behavior)",
117
+ }),
118
+ __metadata("design:type", Function),
119
+ __metadata("design:paramtypes", []),
120
+ __metadata("design:returntype", Boolean)
121
+ ], ServeCommand.prototype, "parseSwagger", null);
122
+ __decorate([
123
+ (0, nest_commander_1.Option)({
124
+ flags: "--no-swagger",
125
+ description: "Disable OpenAPI docs (even in non-production)",
126
+ }),
127
+ __metadata("design:type", Function),
128
+ __metadata("design:paramtypes", []),
129
+ __metadata("design:returntype", Boolean)
130
+ ], ServeCommand.prototype, "parseNoSwagger", null);
131
+ exports.ServeCommand = ServeCommand = __decorate([
132
+ (0, nest_commander_1.Command)({
133
+ name: "serve",
134
+ description: "Start an API server for agent management",
135
+ })
136
+ ], ServeCommand);
137
+ //# sourceMappingURL=serve.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.command.js","sourceRoot":"","sources":["../../src/cli/serve.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { CommandRunner } from "nest-commander";
2
+ interface WebCommandOptions {
3
+ port?: number;
4
+ dir?: string;
5
+ host?: string;
6
+ webPort?: number;
7
+ local?: boolean;
8
+ webUrl?: string;
9
+ }
10
+ export declare class WebCommand extends CommandRunner {
11
+ run(_passedParams: string[], options?: WebCommandOptions): Promise<void>;
12
+ parsePort(val: string): number;
13
+ parseWebPort(val: string): number;
14
+ parseHost(val: string): string;
15
+ parseDir(val: string): string;
16
+ parseLocal(): boolean;
17
+ parseWebUrl(val: string): string;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=web.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.command.d.ts","sourceRoot":"","sources":["../../src/cli/web.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAGhE,UAAU,iBAAiB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAIa,UAAW,SAAQ,aAAa;IACtC,GAAG,CACR,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAuDhB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQjC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ7B,UAAU,IAAI,OAAO;IAQrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGhC"}