agentica 0.1.0 → 0.12.5

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 (53) hide show
  1. package/README.md +67 -67
  2. package/bin/bases/Connector.d.ts +9 -0
  3. package/bin/bases/Connector.js +67 -0
  4. package/bin/bases/Connector.js.map +1 -0
  5. package/bin/bases/Package.d.ts +11 -0
  6. package/bin/bases/Package.js +74 -0
  7. package/bin/bases/Package.js.map +1 -0
  8. package/bin/bases/Tsconfig.d.ts +5 -0
  9. package/bin/bases/Tsconfig.js +135 -0
  10. package/bin/bases/Tsconfig.js.map +1 -0
  11. package/bin/executable/AgenticaStart.d.ts +7 -0
  12. package/bin/executable/AgenticaStart.js +324 -0
  13. package/bin/executable/AgenticaStart.js.map +1 -0
  14. package/bin/index.js +24 -43
  15. package/bin/index.js.map +1 -1
  16. package/bin/structures/IAgenticaStart.d.ts +31 -0
  17. package/bin/structures/IAgenticaStart.js +3 -0
  18. package/bin/structures/IAgenticaStart.js.map +1 -0
  19. package/bin/structures/IAgenticaStartOption.d.ts +13 -0
  20. package/bin/structures/IAgenticaStartOption.js +3 -0
  21. package/bin/structures/IAgenticaStartOption.js.map +1 -0
  22. package/bin/utils/capitalize.d.ts +1 -0
  23. package/bin/utils/capitalize.js +12 -0
  24. package/bin/utils/capitalize.js.map +1 -0
  25. package/bin/utils/createProjectDirectory.d.ts +3 -0
  26. package/bin/utils/createProjectDirectory.js +16 -0
  27. package/bin/utils/createProjectDirectory.js.map +1 -0
  28. package/bin/utils/getNpmPackages.d.ts +14 -0
  29. package/bin/utils/getNpmPackages.js +147 -0
  30. package/bin/utils/getNpmPackages.js.map +1 -0
  31. package/bin/utils/getQuestions.d.ts +8 -0
  32. package/bin/utils/getQuestions.js +45 -0
  33. package/bin/utils/getQuestions.js.map +1 -0
  34. package/bin/utils/types/PackageManager.d.ts +1 -0
  35. package/bin/utils/types/PackageManager.js +3 -0
  36. package/bin/utils/types/PackageManager.js.map +1 -0
  37. package/bin/utils/types/ProjectOption.d.ts +4 -0
  38. package/bin/utils/types/ProjectOption.js +3 -0
  39. package/bin/utils/types/ProjectOption.js.map +1 -0
  40. package/package.json +10 -3
  41. package/src/bases/Connector.ts +80 -0
  42. package/src/bases/Package.ts +75 -0
  43. package/src/bases/Tsconfig.ts +122 -0
  44. package/src/executable/AgenticaStart.ts +302 -0
  45. package/src/index.ts +39 -60
  46. package/src/structures/IAgenticaStart.ts +35 -0
  47. package/src/structures/IAgenticaStartOption.ts +13 -0
  48. package/src/utils/capitalize.ts +7 -0
  49. package/src/utils/createProjectDirectory.ts +14 -0
  50. package/src/utils/getNpmPackages.ts +46 -0
  51. package/src/utils/getQuestions.ts +48 -0
  52. package/src/utils/types/PackageManager.ts +1 -0
  53. package/src/utils/types/ProjectOption.ts +4 -0
@@ -0,0 +1,324 @@
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 __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
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.AgenticaStart = void 0;
49
+ const __typia_transform__assertGuard = __importStar(require("typia/lib/internal/_assertGuard.js"));
50
+ const chalk_1 = __importDefault(require("chalk"));
51
+ const child_process_1 = __importDefault(require("child_process"));
52
+ const promises_1 = __importDefault(require("fs/promises"));
53
+ const giget_1 = require("giget");
54
+ const inquirer_1 = __importDefault(require("inquirer"));
55
+ const path_1 = __importDefault(require("path"));
56
+ const prettier_1 = __importDefault(require("prettier"));
57
+ const typia_1 = __importDefault(require("typia"));
58
+ const Connector_1 = require("../bases/Connector");
59
+ const Package_1 = require("../bases/Package");
60
+ const Tsconfig_1 = require("../bases/Tsconfig");
61
+ const createProjectDirectory_1 = require("../utils/createProjectDirectory");
62
+ const getNpmPackages_1 = require("../utils/getNpmPackages");
63
+ var AgenticaStart;
64
+ (function (AgenticaStart) {
65
+ /**
66
+ * Execute `start` command.
67
+ */
68
+ function execute(_a) {
69
+ return __awaiter(this, arguments, void 0, function* ({ projectName, options, }) {
70
+ const projectPath = path_1.default.join(process.cwd(), projectName);
71
+ // Check if project already exists
72
+ if (yield promises_1.default
73
+ .access(path_1.default.join(process.cwd(), projectName))
74
+ .then(() => true)
75
+ .catch(() => false)) {
76
+ console.error(`❌ Project ${chalk_1.default.redBright(projectName)} already exists`);
77
+ return;
78
+ }
79
+ // Get connector package names from npm and sort alphabetically
80
+ const availableServices = (yield (0, getNpmPackages_1.getNpmPackages)()).sort((a, b) => a.name.localeCompare(b.name));
81
+ const questions = getQuestions({ services: availableServices, options });
82
+ const config = Object.assign(Object.assign({}, (yield inquirer_1.default.prompt(questions))), (options.project ? { projectType: options.project } : {}));
83
+ const validAnswers = (() => { const _io0 = input => ("nodejs" === input.projectType || "nestjs" === input.projectType || "react" === input.projectType || "standalone" === input.projectType) && (Array.isArray(input.services) && input.services.every(elem => "string" === typeof elem)) && ("npm" === input.packageManager || "yarn" === input.packageManager || "pnpm" === input.packageManager) && "string" === typeof input.openAIKey; const _ao0 = (input, _path, _exceptionable = true) => ("nodejs" === input.projectType || "nestjs" === input.projectType || "react" === input.projectType || "standalone" === input.projectType || __typia_transform__assertGuard._assertGuard(_exceptionable, {
84
+ method: "typia.assert",
85
+ path: _path + ".projectType",
86
+ expected: "(\"nestjs\" | \"nodejs\" | \"react\" | \"standalone\")",
87
+ value: input.projectType
88
+ }, _errorFactory)) && ((Array.isArray(input.services) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
89
+ method: "typia.assert",
90
+ path: _path + ".services",
91
+ expected: "Array<string>",
92
+ value: input.services
93
+ }, _errorFactory)) && input.services.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
94
+ method: "typia.assert",
95
+ path: _path + ".services[" + _index2 + "]",
96
+ expected: "string",
97
+ value: elem
98
+ }, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
99
+ method: "typia.assert",
100
+ path: _path + ".services",
101
+ expected: "Array<string>",
102
+ value: input.services
103
+ }, _errorFactory)) && ("npm" === input.packageManager || "yarn" === input.packageManager || "pnpm" === input.packageManager || __typia_transform__assertGuard._assertGuard(_exceptionable, {
104
+ method: "typia.assert",
105
+ path: _path + ".packageManager",
106
+ expected: "(\"npm\" | \"pnpm\" | \"yarn\")",
107
+ value: input.packageManager
108
+ }, _errorFactory)) && ("string" === typeof input.openAIKey || __typia_transform__assertGuard._assertGuard(_exceptionable, {
109
+ method: "typia.assert",
110
+ path: _path + ".openAIKey",
111
+ expected: "string",
112
+ value: input.openAIKey
113
+ }, _errorFactory)); const __is = input => "object" === typeof input && null !== input && _io0(input); let _errorFactory; return (input, errorFactory) => {
114
+ if (false === __is(input)) {
115
+ _errorFactory = errorFactory;
116
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || __typia_transform__assertGuard._assertGuard(true, {
117
+ method: "typia.assert",
118
+ path: _path + "",
119
+ expected: "__object",
120
+ value: input
121
+ }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
122
+ method: "typia.assert",
123
+ path: _path + "",
124
+ expected: "__object",
125
+ value: input
126
+ }, _errorFactory))(input, "$input", true);
127
+ }
128
+ return input;
129
+ }; })()(config);
130
+ const { packageManager, openAIKey, projectType, services } = validAnswers;
131
+ yield AgenticaStarter.execute(projectType)({
132
+ projectName,
133
+ projectPath,
134
+ openAIKey,
135
+ services,
136
+ });
137
+ // Run package installation
138
+ console.log("📦 Package installation in progress...");
139
+ Package_1.Package.installPackage(packageManager)({
140
+ projectPath,
141
+ services,
142
+ });
143
+ console.log(`\n🎉 Project ${projectName} created`);
144
+ console.log(`\n⚠️ ${chalk_1.default.yellow("Note:")} Please implement constructor values for each controller generated in agent.ts or index.ts`);
145
+ });
146
+ }
147
+ AgenticaStart.execute = execute;
148
+ /**
149
+ * Get questions for `start` command.
150
+ */
151
+ const getQuestions = (input) => {
152
+ const questions = [
153
+ {
154
+ type: "list",
155
+ name: "packageManager",
156
+ message: "Package Manager",
157
+ choices: [
158
+ "npm",
159
+ "pnpm",
160
+ {
161
+ name: `yarn (berry ${chalk_1.default.blueBright("is not supported")})`,
162
+ value: "yarn",
163
+ },
164
+ ],
165
+ },
166
+ input.options.project
167
+ ? null
168
+ : {
169
+ type: "list",
170
+ name: "projectType",
171
+ message: "Project Type",
172
+ choices: Object.values(AgenticaStarter.PROJECT).map((project) => ({
173
+ name: project.title,
174
+ value: project.key,
175
+ })),
176
+ },
177
+ {
178
+ type: "checkbox",
179
+ name: "services",
180
+ message: "Embedded Controllers",
181
+ choices: input.services,
182
+ },
183
+ {
184
+ type: "input",
185
+ name: "openAIKey",
186
+ message: "Please enter your OPENAI_API_KEY:",
187
+ },
188
+ ];
189
+ return questions.filter((question) => question !== null);
190
+ };
191
+ })(AgenticaStart || (exports.AgenticaStart = AgenticaStart = {}));
192
+ /**
193
+ * Methods for Agentica start options.
194
+ */
195
+ var AgenticaStarter;
196
+ (function (AgenticaStarter) {
197
+ AgenticaStarter.execute = (option) => {
198
+ const runner = AgenticaStarter.PROJECT[option].runner;
199
+ if (!runner) {
200
+ throw new Error(`Not supported project type: ${option}`);
201
+ }
202
+ return runner;
203
+ };
204
+ AgenticaStarter.PROJECT = {
205
+ standalone: {
206
+ title: `Standalone ${chalk_1.default.blueBright("Application")}`,
207
+ key: "standalone",
208
+ runner: (input) => __awaiter(this, void 0, void 0, function* () {
209
+ // Create project directory
210
+ (0, createProjectDirectory_1.createProjectDirectory)({ projectPath: input.projectPath });
211
+ // Create package.json (without dependencies)
212
+ yield Promise.all([
213
+ // create package.json
214
+ Package_1.Package.create({
215
+ projectName: input.projectName,
216
+ projectPath: input.projectPath,
217
+ }),
218
+ // create tsconfig.json
219
+ Tsconfig_1.Tsconfig.create({ projectPath: input.projectPath }),
220
+ ]);
221
+ yield promises_1.default.mkdir(path_1.default.join(input.projectPath, "src"), {
222
+ recursive: false,
223
+ });
224
+ // Create Agentica code
225
+ const agenticaCode = Connector_1.Connector.createAll({ services: input.services });
226
+ yield writeTypescriptFile({
227
+ filePath: path_1.default.join(input.projectPath, "src/agent.ts"),
228
+ taskName: "Agentica code",
229
+ content: agenticaCode,
230
+ });
231
+ yield setEnvFiles(input);
232
+ }),
233
+ },
234
+ nodejs: {
235
+ title: `NodeJS ${chalk_1.default.blueBright("Agent Server")}`,
236
+ key: "nodejs",
237
+ runner: (input) => __awaiter(this, void 0, void 0, function* () {
238
+ return nonStandalone("nodejs")(input)(() => __awaiter(this, void 0, void 0, function* () {
239
+ // Modify index.ts: replace import and controller code
240
+ const indexFilePath = path_1.default.join(input.projectPath, "src/index.ts");
241
+ const indexFileContent = yield promises_1.default
242
+ .readFile(indexFilePath, "utf-8")
243
+ .then((content) => {
244
+ if (input.services.length !== 0) {
245
+ return content
246
+ .replace(/import { BbsArticleService }.*;\n/g, "")
247
+ .replace(/controllers:\s*\[[\s\S]*?\],\n/, "controllers: [/// INSERT CONTROLLER HERE],\n");
248
+ }
249
+ return content;
250
+ });
251
+ return { indexFilePath, indexFileContent };
252
+ }));
253
+ }),
254
+ },
255
+ nestjs: {
256
+ title: `NestJS ${chalk_1.default.blueBright("Agent Server")}`,
257
+ key: "nestjs",
258
+ runner: (input) => __awaiter(this, void 0, void 0, function* () {
259
+ return nonStandalone("nestjs")(input)(() => __awaiter(this, void 0, void 0, function* () {
260
+ const indexFilePath = path_1.default.join(input.projectPath, "src/controllers/chat/ChatController.ts");
261
+ const indexFileContent = yield promises_1.default.readFile(indexFilePath, "utf-8");
262
+ return { indexFilePath, indexFileContent };
263
+ }));
264
+ }),
265
+ },
266
+ react: {
267
+ title: `React ${chalk_1.default.blueBright("Client Application")} (Currently not supported)`,
268
+ key: "react",
269
+ runner: undefined,
270
+ },
271
+ };
272
+ const nonStandalone = (option) => (input) => (getIndexFileInfo) => __awaiter(this, void 0, void 0, function* () {
273
+ yield AgenticaStarter.writeTemplate(option, input.projectName);
274
+ // Create Agentica code
275
+ const importCode = Connector_1.Connector.create("import")({
276
+ services: input.services,
277
+ });
278
+ const connectorCode = Connector_1.Connector.create("connector")({
279
+ services: input.services,
280
+ });
281
+ const { indexFilePath, indexFileContent } = yield getIndexFileInfo();
282
+ // Insert importCode and connectorCode
283
+ const agenticaCode = indexFileContent
284
+ .replace("/// INSERT IMPORT HERE", importCode)
285
+ .replace("/// INSERT CONTROLLER HERE", connectorCode);
286
+ yield writeTypescriptFile({
287
+ filePath: indexFilePath,
288
+ taskName: "Agentica code",
289
+ content: agenticaCode,
290
+ });
291
+ yield setEnvFiles(input);
292
+ });
293
+ const writeTypescriptFile = (props) => __awaiter(this, void 0, void 0, function* () {
294
+ const formattedFileContent = yield prettier_1.default.format(props.content, {
295
+ parser: "typescript",
296
+ });
297
+ yield promises_1.default.writeFile(props.filePath, formattedFileContent);
298
+ console.log(`✅ ${props.taskName} created`);
299
+ });
300
+ /**
301
+ * Set project .env files
302
+ */
303
+ const setEnvFiles = (input) => __awaiter(this, void 0, void 0, function* () {
304
+ // Create .env file
305
+ const envContent = `OPENAI_API_KEY=${input.openAIKey}\n`;
306
+ yield promises_1.default.writeFile(path_1.default.join(input.projectPath, ".env"), envContent);
307
+ console.log("✅ .env created");
308
+ });
309
+ /**
310
+ * Git Clone from template repository.
311
+ */
312
+ AgenticaStarter.writeTemplate = (type, directory) => __awaiter(this, void 0, void 0, function* () {
313
+ // COPY PROJECTS
314
+ yield (0, giget_1.downloadTemplate)(`github:wrtnlabs/agentica.template.${type}`, {
315
+ dir: directory,
316
+ });
317
+ process.chdir(directory);
318
+ console.log("✅ Template downloaded");
319
+ // REMOVE .GIT DIRECTORY
320
+ child_process_1.default.execSync("npx rimraf .git");
321
+ child_process_1.default.execSync("npx rimraf .github/dependabot.yml");
322
+ });
323
+ })(AgenticaStarter || (AgenticaStarter = {}));
324
+ //# sourceMappingURL=AgenticaStart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgenticaStart.js","sourceRoot":"","sources":["../../src/executable/AgenticaStart.ts"],"names":[],"mappings":"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"}
package/bin/index.js CHANGED
@@ -13,50 +13,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- const child_process_1 = __importDefault(require("child_process"));
17
- const fs_1 = __importDefault(require("fs"));
18
- const USAGE = `Wrong command has been detected. Use like below:
19
-
20
- npx agentica <type> <directory>
21
-
22
- 1. npx agentica start <directory>
23
- 2. npx agentica backend <directory>
24
- 3. npx agentica client <directory>
25
- `;
26
- const halt = (desc) => {
27
- console.error(desc);
28
- process.exit(-1);
29
- };
30
- const clone = (type, directory) => __awaiter(void 0, void 0, void 0, function* () {
31
- const execute = (command) => {
32
- console.log(`\n$ ${command}`);
33
- child_process_1.default.execSync(command, { stdio: "inherit" });
34
- };
35
- // COPY PROJECTS
36
- execute(`git clone https://github.com/wrtnlabs/agentica-template-${type} ${directory}`);
37
- console.log(`cd "${directory}"`);
38
- process.chdir(directory);
39
- // INSTALL DEPENDENCIES
40
- execute("npm install");
41
- // BUILD TYPESCRIPT
42
- execute("npm run build");
43
- // DO TEST
44
- execute("npm run test");
45
- // REMOVE .GIT DIRECTORY
46
- child_process_1.default.execSync("npx rimraf .git");
47
- child_process_1.default.execSync("npx rimraf .github/dependabot.yml");
48
- });
49
- const main = () => __awaiter(void 0, void 0, void 0, function* () {
50
- const [_v0, _v1, type, directory] = process.argv;
51
- if (["start", "backend", "client", "standalone"].includes(type) === false ||
52
- directory === undefined)
53
- halt(USAGE);
54
- else if (fs_1.default.existsSync(directory) === true)
55
- halt("The target directory already exists.");
56
- yield clone(type, directory);
57
- });
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const commander_1 = require("commander");
18
+ const AgenticaStart_1 = require("./executable/AgenticaStart");
19
+ function main() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const program = new commander_1.Command();
22
+ program
23
+ .command("start <directory>")
24
+ .description("Start a new project")
25
+ .option("-p, --project [nodejs|nestjs|react|standalone]", "The project type")
26
+ .action((directory, options) => __awaiter(this, void 0, void 0, function* () {
27
+ if (options.project === true) {
28
+ console.error(`\n❌ The value of ${chalk_1.default.redBright("--project")} is required`);
29
+ return;
30
+ }
31
+ AgenticaStart_1.AgenticaStart.execute({ projectName: directory, options });
32
+ }));
33
+ console.log("--------------------------------");
34
+ console.log(` 🚀 ${"Agentica"} ${chalk_1.default.blueBright("Setup Wizard")}`);
35
+ console.log("--------------------------------");
36
+ program.parse(process.argv);
37
+ });
38
+ }
58
39
  main().catch((exp) => {
59
- console.log(exp.message);
40
+ console.error(exp.message);
60
41
  process.exit(-1);
61
42
  });
62
43
  //# sourceMappingURL=index.js.map
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AAEpB,MAAM,KAAK,GAAG;;;;;;;CAOb,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAS,EAAE;IACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAO,IAAY,EAAE,SAAiB,EAAiB,EAAE;IACrE,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC9B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,gBAAgB;IAChB,OAAO,CACL,2DAA2D,IAAI,IAAI,SAAS,EAAE,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzB,uBAAuB;IACvB,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvB,mBAAmB;IACnB,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzB,UAAU;IACV,OAAO,CAAC,cAAc,CAAC,CAAC;IAExB,wBAAwB;IACxB,uBAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC/B,uBAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC,CAAA,CAAC;AAEF,MAAM,IAAI,GAAG,GAAwB,EAAE;IACrC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACjD,IACE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK;QACrE,SAAS,KAAK,SAAS;QAEvB,IAAI,CAAC,KAAK,CAAC,CAAC;SACT,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI;QACxC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,MAAM,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAA,CAAC;AACF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,yCAAoC;AAEpC,8DAA2D;AAG3D,SAAe,IAAI;;QACjB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;QAE9B,OAAO;aACJ,OAAO,CAAC,mBAAmB,CAAC;aAC5B,WAAW,CAAC,qBAAqB,CAAC;aAClC,MAAM,CACL,gDAAgD,EAChD,kBAAkB,CACnB;aACA,MAAM,CAAC,CAAO,SAAiB,EAAE,OAAgC,EAAE,EAAE;YACpE,IAAK,OAAO,CAAC,OAAe,KAAK,IAAI,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CACX,oBAAoB,eAAK,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAC/D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,6BAAa,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAA,CAAC,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,IAAI,eAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEhD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { ProjectOptionValue } from "../utils/types/ProjectOption";
2
+ /**
3
+ * Types about `npx agentica start` command.
4
+ *
5
+ * @author Michael
6
+ */
7
+ export declare namespace IAgenticaStart {
8
+ /**
9
+ * Options for `npx agentica start` command.
10
+ */
11
+ type IOptions = Partial<{
12
+ project: ProjectOptionValue;
13
+ }>;
14
+ /**
15
+ * Parameters for execute `npx agentica start` command.
16
+ */
17
+ interface IExecuteInput {
18
+ projectName: string;
19
+ options: IOptions;
20
+ }
21
+ /**
22
+ * Input for `getQuestions` function.
23
+ */
24
+ interface IGetQuestionsInput {
25
+ services: {
26
+ name: string;
27
+ value: string;
28
+ }[];
29
+ options: IOptions;
30
+ }
31
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAgenticaStart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAgenticaStart.js","sourceRoot":"","sources":["../../src/structures/IAgenticaStart.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Types about options for `npx agentica start` command.
3
+ *
4
+ * @author Michael
5
+ */
6
+ export declare namespace IAgenticaStartOption {
7
+ interface IProject {
8
+ projectName: string;
9
+ projectPath: string;
10
+ openAIKey: string;
11
+ services: string[];
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAgenticaStartOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAgenticaStartOption.js","sourceRoot":"","sources":["../../src/structures/IAgenticaStartOption.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare const capitalize: (service: string) => string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.capitalize = void 0;
4
+ // Convert first letter to uppercase (ex: aws-s3 -> AwsS3)
5
+ const capitalize = (service) => {
6
+ return service
7
+ .split("-")
8
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
9
+ .join("");
10
+ };
11
+ exports.capitalize = capitalize;
12
+ //# sourceMappingURL=capitalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.js","sourceRoot":"","sources":["../../src/utils/capitalize.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AACnD,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB"}
@@ -0,0 +1,3 @@
1
+ export declare const createProjectDirectory: (input: {
2
+ projectPath: string;
3
+ }) => void;
@@ -0,0 +1,16 @@
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.createProjectDirectory = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const createProjectDirectory = (input) => {
10
+ if (fs_1.default.existsSync(input.projectPath)) {
11
+ throw new Error(`${path_1.default.basename(input.projectPath)} directory already exists.`);
12
+ }
13
+ fs_1.default.mkdirSync(input.projectPath);
14
+ };
15
+ exports.createProjectDirectory = createProjectDirectory;
16
+ //# sourceMappingURL=createProjectDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProjectDirectory.js","sourceRoot":"","sources":["../../src/utils/createProjectDirectory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAEjB,MAAM,sBAAsB,GAAG,CAAC,KAEtC,EAAQ,EAAE;IACT,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,CAChE,CAAC;IACJ,CAAC;IAED,YAAE,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC"}
@@ -0,0 +1,14 @@
1
+ import { tags } from "typia";
2
+ export interface INpmPackages {
3
+ objects: {
4
+ package: {
5
+ name: string;
6
+ };
7
+ }[];
8
+ total: number;
9
+ time: string & tags.Format<"date-time">;
10
+ }
11
+ export declare const getNpmPackages: () => Promise<{
12
+ name: string;
13
+ value: string;
14
+ }[]>;