@iqai/adk-cli 0.2.8 → 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 (157) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -0
  3. package/dist/app.module.d.ts +3 -0
  4. package/dist/app.module.d.ts.map +1 -0
  5. package/dist/app.module.js +24 -0
  6. package/dist/app.module.js.map +1 -0
  7. package/dist/cli/cli.module.d.ts +3 -0
  8. package/dist/cli/cli.module.d.ts.map +1 -0
  9. package/dist/cli/cli.module.js +25 -0
  10. package/dist/cli/cli.module.js.map +1 -0
  11. package/dist/cli/new.command.d.ts +10 -0
  12. package/dist/cli/new.command.d.ts.map +1 -0
  13. package/dist/cli/new.command.js +273 -0
  14. package/dist/cli/new.command.js.map +1 -0
  15. package/dist/cli/run.command.d.ts +20 -0
  16. package/dist/cli/run.command.d.ts.map +1 -0
  17. package/dist/cli/run.command.js +342 -0
  18. package/dist/cli/run.command.js.map +1 -0
  19. package/dist/cli/serve.command.d.ts +20 -0
  20. package/dist/cli/serve.command.d.ts.map +1 -0
  21. package/dist/cli/serve.command.js +137 -0
  22. package/dist/cli/serve.command.js.map +1 -0
  23. package/dist/cli/web.command.d.ts +20 -0
  24. package/dist/cli/web.command.d.ts.map +1 -0
  25. package/dist/cli/web.command.js +146 -0
  26. package/dist/cli/web.command.js.map +1 -0
  27. package/dist/common/tokens.d.ts +5 -0
  28. package/dist/common/tokens.d.ts.map +1 -0
  29. package/dist/common/tokens.js +8 -0
  30. package/dist/common/tokens.js.map +1 -0
  31. package/dist/common/types.d.ts +91 -0
  32. package/dist/common/types.d.ts.map +1 -0
  33. package/dist/common/types.js +3 -0
  34. package/dist/common/types.js.map +1 -0
  35. package/dist/http/bootstrap.d.ts +17 -0
  36. package/dist/http/bootstrap.d.ts.map +1 -0
  37. package/dist/http/bootstrap.js +221 -0
  38. package/dist/http/bootstrap.js.map +1 -0
  39. package/dist/http/config/config.module.d.ts +6 -0
  40. package/dist/http/config/config.module.d.ts.map +1 -0
  41. package/dist/http/config/config.module.js +32 -0
  42. package/dist/http/config/config.module.js.map +1 -0
  43. package/dist/http/discovery/agents.controller.d.ts +13 -0
  44. package/dist/http/discovery/agents.controller.d.ts.map +1 -0
  45. package/dist/http/discovery/agents.controller.js +73 -0
  46. package/dist/http/discovery/agents.controller.js.map +1 -0
  47. package/dist/http/discovery/discovery.module.d.ts +3 -0
  48. package/dist/http/discovery/discovery.module.d.ts.map +1 -0
  49. package/dist/http/discovery/discovery.module.js +22 -0
  50. package/dist/http/discovery/discovery.module.js.map +1 -0
  51. package/dist/http/dto/api.dto.d.ts +70 -0
  52. package/dist/http/dto/api.dto.d.ts.map +1 -0
  53. package/dist/http/dto/api.dto.js +268 -0
  54. package/dist/http/dto/api.dto.js.map +1 -0
  55. package/dist/http/events/events.controller.d.ts +8 -0
  56. package/dist/http/events/events.controller.d.ts.map +1 -0
  57. package/dist/http/events/events.controller.js +55 -0
  58. package/dist/http/events/events.controller.js.map +1 -0
  59. package/dist/http/events/events.module.d.ts +3 -0
  60. package/dist/http/events/events.module.d.ts.map +1 -0
  61. package/dist/http/events/events.module.js +25 -0
  62. package/dist/http/events/events.module.js.map +1 -0
  63. package/dist/http/events/events.service.d.ts +8 -0
  64. package/dist/http/events/events.service.d.ts.map +1 -0
  65. package/dist/http/events/events.service.js +37 -0
  66. package/dist/http/events/events.service.js.map +1 -0
  67. package/dist/http/health/health.controller.d.ts +6 -0
  68. package/dist/http/health/health.controller.d.ts.map +1 -0
  69. package/dist/http/health/health.controller.js +37 -0
  70. package/dist/http/health/health.controller.js.map +1 -0
  71. package/dist/http/health/health.module.d.ts +3 -0
  72. package/dist/http/health/health.module.d.ts.map +1 -0
  73. package/dist/http/health/health.module.js +20 -0
  74. package/dist/http/health/health.module.js.map +1 -0
  75. package/dist/http/http.module.d.ts +6 -0
  76. package/dist/http/http.module.d.ts.map +1 -0
  77. package/dist/http/http.module.js +43 -0
  78. package/dist/http/http.module.js.map +1 -0
  79. package/dist/http/messaging/messaging.controller.d.ts +9 -0
  80. package/dist/http/messaging/messaging.controller.d.ts.map +1 -0
  81. package/dist/http/messaging/messaging.controller.js +83 -0
  82. package/dist/http/messaging/messaging.controller.js.map +1 -0
  83. package/dist/http/messaging/messaging.module.d.ts +3 -0
  84. package/dist/http/messaging/messaging.module.d.ts.map +1 -0
  85. package/dist/http/messaging/messaging.module.js +25 -0
  86. package/dist/http/messaging/messaging.module.js.map +1 -0
  87. package/dist/http/messaging/messaging.service.d.ts +11 -0
  88. package/dist/http/messaging/messaging.service.d.ts.map +1 -0
  89. package/dist/http/messaging/messaging.service.js +48 -0
  90. package/dist/http/messaging/messaging.service.js.map +1 -0
  91. package/dist/http/providers/agent-loader.service.d.ts +49 -0
  92. package/dist/http/providers/agent-loader.service.d.ts.map +1 -0
  93. package/dist/http/providers/agent-loader.service.js +416 -0
  94. package/dist/http/providers/agent-loader.service.js.map +1 -0
  95. package/dist/http/providers/agent-manager.service.d.ts +24 -0
  96. package/dist/http/providers/agent-manager.service.d.ts.map +1 -0
  97. package/dist/http/providers/agent-manager.service.js +222 -0
  98. package/dist/http/providers/agent-manager.service.js.map +1 -0
  99. package/dist/http/providers/agent-scanner.service.d.ts +9 -0
  100. package/dist/http/providers/agent-scanner.service.d.ts.map +1 -0
  101. package/dist/http/providers/agent-scanner.service.js +108 -0
  102. package/dist/http/providers/agent-scanner.service.js.map +1 -0
  103. package/dist/http/providers/providers.module.d.ts +3 -0
  104. package/dist/http/providers/providers.module.d.ts.map +1 -0
  105. package/dist/http/providers/providers.module.js +47 -0
  106. package/dist/http/providers/providers.module.js.map +1 -0
  107. package/dist/http/reload/hot-reload.service.d.ts +16 -0
  108. package/dist/http/reload/hot-reload.service.d.ts.map +1 -0
  109. package/dist/http/reload/hot-reload.service.js +79 -0
  110. package/dist/http/reload/hot-reload.service.js.map +1 -0
  111. package/dist/http/reload/reload.controller.d.ts +14 -0
  112. package/dist/http/reload/reload.controller.d.ts.map +1 -0
  113. package/dist/http/reload/reload.controller.js +50 -0
  114. package/dist/http/reload/reload.controller.js.map +1 -0
  115. package/dist/http/reload/reload.module.d.ts +3 -0
  116. package/dist/http/reload/reload.module.d.ts.map +1 -0
  117. package/dist/http/reload/reload.module.js +23 -0
  118. package/dist/http/reload/reload.module.js.map +1 -0
  119. package/dist/http/runtime-config.d.ts +22 -0
  120. package/dist/http/runtime-config.d.ts.map +1 -0
  121. package/dist/http/runtime-config.js +5 -0
  122. package/dist/http/runtime-config.js.map +1 -0
  123. package/dist/http/sessions/sessions.controller.d.ts +11 -0
  124. package/dist/http/sessions/sessions.controller.d.ts.map +1 -0
  125. package/dist/http/sessions/sessions.controller.js +116 -0
  126. package/dist/http/sessions/sessions.controller.js.map +1 -0
  127. package/dist/http/sessions/sessions.module.d.ts +3 -0
  128. package/dist/http/sessions/sessions.module.d.ts.map +1 -0
  129. package/dist/http/sessions/sessions.module.js +25 -0
  130. package/dist/http/sessions/sessions.module.js.map +1 -0
  131. package/dist/http/sessions/sessions.service.d.ts +54 -0
  132. package/dist/http/sessions/sessions.service.d.ts.map +1 -0
  133. package/dist/http/sessions/sessions.service.js +353 -0
  134. package/dist/http/sessions/sessions.service.js.map +1 -0
  135. package/dist/http/state/state.controller.d.ts +9 -0
  136. package/dist/http/state/state.controller.d.ts.map +1 -0
  137. package/dist/http/state/state.controller.js +76 -0
  138. package/dist/http/state/state.controller.js.map +1 -0
  139. package/dist/http/state/state.module.d.ts +3 -0
  140. package/dist/http/state/state.module.d.ts.map +1 -0
  141. package/dist/http/state/state.module.js +25 -0
  142. package/dist/http/state/state.module.js.map +1 -0
  143. package/dist/http/state/state.service.d.ts +9 -0
  144. package/dist/http/state/state.service.d.ts.map +1 -0
  145. package/dist/http/state/state.service.js +55 -0
  146. package/dist/http/state/state.service.js.map +1 -0
  147. package/dist/main.d.ts +3 -0
  148. package/dist/main.d.ts.map +1 -0
  149. package/dist/main.js +25 -0
  150. package/dist/main.js.map +1 -0
  151. package/package.json +18 -12
  152. package/dist/index.d.mts +0 -2
  153. package/dist/index.d.ts +0 -2
  154. package/dist/index.js +0 -1187
  155. package/dist/index.js.map +0 -1
  156. package/dist/index.mjs +0 -1171
  157. package/dist/index.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @iqai/adk-cli
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b6c0344: Improved adk cli experience
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [b6c0344]
12
+ - @iqai/adk@0.3.1
13
+
14
+ ## 0.2.9
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [c890576]
19
+ - Updated dependencies [b0fdba9]
20
+ - Updated dependencies [3561208]
21
+ - @iqai/adk@0.3.0
22
+
3
23
  ## 0.2.8
4
24
 
5
25
  ### Patch Changes
package/README.md CHANGED
@@ -86,6 +86,7 @@ adk new my-agent --template simple-agent
86
86
  - `discord-bot` - Agent integrated with Discord bot framework
87
87
  - `telegram-bot` - Agent integrated with Telegram bot API
88
88
  - `hono-server` - Web server with RESTful agent endpoints
89
+ - `shade-agent` – Agent with Near Shade Agents
89
90
  - `mcp-starter` - Model Context Protocol server integration
90
91
 
91
92
  ### `adk run`
@@ -0,0 +1,3 @@
1
+ export declare class AppModule {
2
+ }
3
+ //# sourceMappingURL=app.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.d.ts","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":"AAGA,qBAOa,SAAS;CAAG"}
@@ -0,0 +1,24 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AppModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const cli_module_1 = require("./cli/cli.module");
12
+ let AppModule = class AppModule {
13
+ };
14
+ exports.AppModule = AppModule;
15
+ exports.AppModule = AppModule = __decorate([
16
+ (0, common_1.Module)({
17
+ imports: [
18
+ // Root composition: CLI commands only.
19
+ // HTTP server is bootstrapped on demand from the ServeCommand via http/bootstrap.
20
+ cli_module_1.CliModule,
21
+ ],
22
+ })
23
+ ], AppModule);
24
+ //# sourceMappingURL=app.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iDAA6C;AAStC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAPrB,IAAA,eAAM,EAAC;QACP,OAAO,EAAE;YACR,uCAAuC;YACvC,kFAAkF;YAClF,sBAAS;SACT;KACD,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,3 @@
1
+ export declare class CliModule {
2
+ }
3
+ //# sourceMappingURL=cli.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.module.d.ts","sourceRoot":"","sources":["../../src/cli/cli.module.ts"],"names":[],"mappings":"AAMA,qBAKa,SAAS;CAAG"}
@@ -0,0 +1,25 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CliModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const new_command_1 = require("./new.command");
12
+ const run_command_1 = require("./run.command");
13
+ const serve_command_1 = require("./serve.command");
14
+ const web_command_1 = require("./web.command");
15
+ let CliModule = class CliModule {
16
+ };
17
+ exports.CliModule = CliModule;
18
+ exports.CliModule = CliModule = __decorate([
19
+ (0, common_1.Module)({
20
+ imports: [],
21
+ providers: [serve_command_1.ServeCommand, new_command_1.NewCommand, run_command_1.RunCommand, web_command_1.WebCommand],
22
+ exports: [],
23
+ })
24
+ ], CliModule);
25
+ //# sourceMappingURL=cli.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.module.js","sourceRoot":"","sources":["../../src/cli/cli.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAC/C,+CAA2C;AAOpC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IALrB,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,4BAAY,EAAE,wBAAU,EAAE,wBAAU,EAAE,wBAAU,CAAC;QAC7D,OAAO,EAAE,EAAE;KACX,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,10 @@
1
+ import { CommandRunner } from "nest-commander";
2
+ interface NewOptions {
3
+ template?: string;
4
+ }
5
+ export declare class NewCommand extends CommandRunner {
6
+ run(passedParams: string[], options?: NewOptions): Promise<void>;
7
+ parseTemplate(val: string): string;
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=new.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.command.d.ts","sourceRoot":"","sources":["../../src/cli/new.command.ts"],"names":[],"mappings":"AAMA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAEhE,UAAU,UAAU;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAmFD,qBAKa,UAAW,SAAQ,aAAa;IACtC,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkKtE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGlC"}
@@ -0,0 +1,273 @@
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.NewCommand = void 0;
49
+ const node_fs_1 = require("node:fs");
50
+ const node_path_1 = require("node:path");
51
+ const prompts_1 = require("@clack/prompts");
52
+ const chalk_1 = __importDefault(require("chalk"));
53
+ const dedent_1 = __importDefault(require("dedent"));
54
+ const giget_1 = require("giget");
55
+ const nest_commander_1 = require("nest-commander");
56
+ const templates = [
57
+ {
58
+ value: "simple-agent",
59
+ label: "🤖 Simple Agent",
60
+ hint: "Basic agent with chat capabilities",
61
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/simple-agent",
62
+ },
63
+ {
64
+ value: "discord-bot",
65
+ label: "🎮 Discord Bot",
66
+ hint: "Agent integrated with Discord",
67
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/discord-bot",
68
+ },
69
+ {
70
+ value: "telegram-bot",
71
+ label: "📱 Telegram Bot",
72
+ hint: "Agent integrated with Telegram",
73
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/telegram-bot",
74
+ },
75
+ {
76
+ value: "hono-server",
77
+ label: "🚀 Hono Server",
78
+ hint: "Web server with agent endpoints",
79
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/hono-server",
80
+ },
81
+ {
82
+ value: "shade-agent",
83
+ label: "🌓 Near Shade Agent",
84
+ hint: "Starter that uses Near Shade Agent",
85
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/shade-agent",
86
+ },
87
+ {
88
+ value: "mcp-starter",
89
+ label: "🔌 MCP Integration",
90
+ hint: "Model Context Protocol server",
91
+ source: "github:IQAIcom/adk-ts/apps/starter-templates/mcp-starter",
92
+ },
93
+ ];
94
+ const packageManagers = [
95
+ { name: "npm", command: "npm", args: ["install"], label: "📦 npm" },
96
+ { name: "pnpm", command: "pnpm", args: ["install"], label: "⚡ pnpm" },
97
+ { name: "yarn", command: "yarn", args: ["install"], label: "🧶 yarn" },
98
+ { name: "bun", command: "bun", args: ["install"], label: "🍞 bun" },
99
+ ];
100
+ async function detectAvailablePackageManagers() {
101
+ const { spawn } = await Promise.resolve().then(() => __importStar(require("node:child_process")));
102
+ const available = [];
103
+ for (const pm of packageManagers) {
104
+ try {
105
+ await new Promise((resolve) => {
106
+ const child = spawn(pm.command, ["--version"], { stdio: "pipe" });
107
+ child.on("close", (code) => {
108
+ if (code === 0)
109
+ available.push(pm);
110
+ resolve();
111
+ });
112
+ child.on("error", () => resolve());
113
+ });
114
+ }
115
+ catch {
116
+ // ignore
117
+ }
118
+ }
119
+ return available.length > 0 ? available : [packageManagers[0]];
120
+ }
121
+ let NewCommand = class NewCommand extends nest_commander_1.CommandRunner {
122
+ async run(passedParams, options) {
123
+ const projectNameArg = passedParams?.[0];
124
+ console.clear();
125
+ (0, prompts_1.intro)(chalk_1.default.magentaBright("🧠 Create new ADK-TS project"));
126
+ let finalProjectName = projectNameArg;
127
+ if (!finalProjectName) {
128
+ const response = await (0, prompts_1.text)({
129
+ message: "What is your project name?",
130
+ placeholder: "my-adk-project",
131
+ validate: (value) => {
132
+ if (!value)
133
+ return "Project name is required";
134
+ if (value.includes(" "))
135
+ return "Project name cannot contain spaces";
136
+ if ((0, node_fs_1.existsSync)(value))
137
+ return `Directory "${value}" already exists`;
138
+ return undefined;
139
+ },
140
+ });
141
+ if (typeof response === "symbol") {
142
+ (0, prompts_1.outro)("Operation cancelled");
143
+ process.exit(0);
144
+ }
145
+ finalProjectName = response;
146
+ }
147
+ let selectedTemplate = options?.template;
148
+ if (!selectedTemplate ||
149
+ !templates.find((t) => t.value === selectedTemplate)) {
150
+ const framework = await (0, prompts_1.select)({
151
+ message: "Which template would you like to use?",
152
+ options: templates.map((t) => ({
153
+ value: t.value,
154
+ label: t.label,
155
+ hint: t.hint,
156
+ })),
157
+ });
158
+ if (typeof framework === "symbol") {
159
+ (0, prompts_1.outro)("Operation cancelled");
160
+ process.exit(0);
161
+ }
162
+ selectedTemplate = framework;
163
+ }
164
+ const template = templates.find((t) => t.value === selectedTemplate);
165
+ if (!template) {
166
+ (0, prompts_1.outro)("Invalid template selected");
167
+ process.exit(1);
168
+ }
169
+ if ((0, node_fs_1.existsSync)(finalProjectName)) {
170
+ (0, prompts_1.outro)(chalk_1.default.red(`Directory "${finalProjectName}" already exists`));
171
+ process.exit(1);
172
+ }
173
+ const s = (0, prompts_1.spinner)();
174
+ s.start("Downloading template...");
175
+ try {
176
+ await (0, giget_1.downloadTemplate)(template.source, {
177
+ dir: finalProjectName,
178
+ registry: "gh",
179
+ });
180
+ s.stop("Template downloaded!");
181
+ }
182
+ catch (error) {
183
+ s.stop("Failed to download template");
184
+ (0, prompts_1.outro)(chalk_1.default.red(`Error: ${error}`));
185
+ process.exit(1);
186
+ }
187
+ const availablePackageManagers = await detectAvailablePackageManagers();
188
+ let selectedPackageManager;
189
+ if (availablePackageManagers.length === 1) {
190
+ selectedPackageManager = availablePackageManagers[0];
191
+ }
192
+ else {
193
+ const packageManagerChoice = await (0, prompts_1.select)({
194
+ message: "Which package manager would you like to use?",
195
+ options: availablePackageManagers.map((pm) => ({
196
+ value: pm.name,
197
+ label: pm.label,
198
+ })),
199
+ });
200
+ if (typeof packageManagerChoice === "symbol") {
201
+ (0, prompts_1.outro)("Operation cancelled");
202
+ process.exit(0);
203
+ }
204
+ selectedPackageManager = availablePackageManagers.find((pm) => pm.name === packageManagerChoice);
205
+ }
206
+ const shouldInstall = await (0, prompts_1.confirm)({
207
+ message: "Install dependencies?",
208
+ initialValue: true,
209
+ });
210
+ if (typeof shouldInstall === "symbol") {
211
+ (0, prompts_1.outro)("Operation cancelled");
212
+ process.exit(0);
213
+ }
214
+ if (shouldInstall) {
215
+ const s2 = (0, prompts_1.spinner)();
216
+ s2.start(`Installing dependencies with ${selectedPackageManager.name}...`);
217
+ const { spawn } = await Promise.resolve().then(() => __importStar(require("node:child_process")));
218
+ const projectPath = (0, node_path_1.join)(process.cwd(), finalProjectName);
219
+ try {
220
+ await new Promise((resolve, reject) => {
221
+ const child = spawn(selectedPackageManager.command, selectedPackageManager.args, {
222
+ cwd: projectPath,
223
+ stdio: "pipe",
224
+ });
225
+ child.on("close", (code) => {
226
+ if (code === 0)
227
+ resolve();
228
+ else
229
+ reject(new Error(`Package installation failed with code ${code}`));
230
+ });
231
+ child.on("error", reject);
232
+ });
233
+ s2.stop("Dependencies installed!");
234
+ }
235
+ catch (_error) {
236
+ s2.stop("Failed to install dependencies");
237
+ console.log(chalk_1.default.yellow("\nYou can install dependencies manually by running:"));
238
+ console.log(chalk_1.default.cyan(`cd ${finalProjectName} && ${selectedPackageManager.command} ${selectedPackageManager.args.join(" ")}`));
239
+ }
240
+ }
241
+ (0, prompts_1.outro)(chalk_1.default.green((0, dedent_1.default) `
242
+ 🎉 Project created successfully!
243
+
244
+ Next steps:
245
+ ${chalk_1.default.cyan(`cd ${finalProjectName}`)}
246
+ ${shouldInstall ? "" : chalk_1.default.cyan(`${selectedPackageManager.command} ${selectedPackageManager.args.join(" ")}`)}
247
+ ${chalk_1.default.cyan("npm run dev")} or ${chalk_1.default.cyan("yarn dev")} or ${chalk_1.default.cyan("pnpm dev")}
248
+
249
+ Happy coding! 🚀
250
+ `));
251
+ }
252
+ parseTemplate(val) {
253
+ return val;
254
+ }
255
+ };
256
+ exports.NewCommand = NewCommand;
257
+ __decorate([
258
+ (0, nest_commander_1.Option)({
259
+ flags: "-t, --template <template>",
260
+ description: "Template to use (simple-agent, discord-bot, telegram-bot, hono-server, mcp-starter)",
261
+ }),
262
+ __metadata("design:type", Function),
263
+ __metadata("design:paramtypes", [String]),
264
+ __metadata("design:returntype", String)
265
+ ], NewCommand.prototype, "parseTemplate", null);
266
+ exports.NewCommand = NewCommand = __decorate([
267
+ (0, nest_commander_1.Command)({
268
+ name: "new",
269
+ description: "Create a new ADK project",
270
+ arguments: "[project-name]",
271
+ })
272
+ ], NewCommand);
273
+ //# sourceMappingURL=new.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.command.js","sourceRoot":"","sources":["../../src/cli/new.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { CommandRunner } from "nest-commander";
2
+ interface ServeLikeOptions {
3
+ host?: string;
4
+ }
5
+ interface RunOptions extends ServeLikeOptions {
6
+ server?: boolean;
7
+ verbose?: boolean;
8
+ hot?: boolean;
9
+ watch?: string[];
10
+ }
11
+ export declare class RunCommand extends CommandRunner {
12
+ run(passed: string[], options?: RunOptions): Promise<void>;
13
+ parseServer(): boolean;
14
+ parseHost(val: string): string;
15
+ parseVerbose(): boolean;
16
+ parseHot(): boolean;
17
+ parseWatch(val: string): string[];
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=run.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.command.d.ts","sourceRoot":"","sources":["../../src/cli/run.command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAiBhE,UAAU,gBAAgB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAW,SAAQ,gBAAgB;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AA6ID,qBAKa,UAAW,SAAQ,aAAa;IACtC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4GhE,WAAW,IAAI,OAAO;IAQtB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,YAAY,IAAI,OAAO;IAQvB,QAAQ,IAAI,OAAO;IASnB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;CAMjC"}