clayton-forge 0.1.2 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAsCA,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIlE"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AA+BA,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqLlE"}
@@ -42,52 +42,50 @@ const fs = __importStar(require("fs"));
42
42
  const path = __importStar(require("path"));
43
43
  const chalk_1 = __importDefault(require("chalk"));
44
44
  const ora_1 = __importDefault(require("ora"));
45
- // ─────────────────────────────────────────────
46
- // Helpers de display
47
- // ─────────────────────────────────────────────
45
+ const child_process_1 = require("child_process");
46
+ const lang_1 = require("../lang");
48
47
  function header() {
48
+ const tr = (0, lang_1.t)();
49
49
  console.log("");
50
50
  console.log(chalk_1.default.bold.white(" ╔═══════════════════════════════════╗"));
51
51
  console.log(chalk_1.default.bold.white(" ║") + chalk_1.default.bold.cyan(" CLAYTON FORGE — new ") + chalk_1.default.bold.white("║"));
52
52
  console.log(chalk_1.default.bold.white(" ╚═══════════════════════════════════╝"));
53
53
  console.log("");
54
- console.log(chalk_1.default.gray(" Let's create your agent. Answer a few questions."));
55
- console.log(chalk_1.default.gray(" Press Ctrl+C at any time to cancel.\n"));
54
+ console.log(chalk_1.default.gray(" " + tr.newHeader));
55
+ console.log(chalk_1.default.gray(" " + tr.newCancel + "\n"));
56
56
  }
57
- // ─────────────────────────────────────────────
58
- // Wizard
59
- // ─────────────────────────────────────────────
60
57
  async function commandNew(targetDir) {
58
+ const tr = (0, lang_1.t)();
61
59
  header();
62
60
  const answers = await inquirer_1.default.prompt([
63
61
  {
64
62
  type: "input",
65
63
  name: "name",
66
- message: chalk_1.default.white("Agent name") + chalk_1.default.gray(" (kebab-case, e.g. invoice-classifier):"),
67
- validate: (v) => /^[a-z][a-z0-9-]*$/.test(v) || "Use lowercase letters, numbers, and hyphens only",
64
+ message: chalk_1.default.white(tr.newAgentName) + chalk_1.default.gray(" " + tr.newAgentNameHint),
65
+ validate: (v) => /^[a-z][a-z0-9-]*$/.test(v) || tr.newAgentNameError,
68
66
  },
69
67
  {
70
68
  type: "input",
71
69
  name: "description",
72
- message: chalk_1.default.white("What does this agent do?"),
73
- validate: (v) => v.trim().length > 5 || "Please write a short description",
70
+ message: chalk_1.default.white(tr.newDescription),
71
+ validate: (v) => v.trim().length > 5 || tr.newDescriptionError,
74
72
  },
75
73
  {
76
74
  type: "list",
77
75
  name: "type",
78
- message: chalk_1.default.white("Agent type:"),
76
+ message: chalk_1.default.white(tr.newAgentType),
79
77
  choices: [
80
- { name: "reactive — receives input → processes → responds", value: "reactive" },
81
- { name: "proactive — acts on triggers without waiting for input", value: "proactive" },
82
- { name: "pipeline — sequential steps, each feeding the next", value: "pipeline" },
83
- { name: "orchestrator— coordinates other agents", value: "orchestrator" },
84
- { name: "worker — executed by an orchestrator", value: "worker" },
78
+ { name: tr.newTypeReactive, value: "reactive" },
79
+ { name: tr.newTypeProactive, value: "proactive" },
80
+ { name: tr.newTypePipeline, value: "pipeline" },
81
+ { name: tr.newTypeOrchestrator, value: "orchestrator" },
82
+ { name: tr.newTypeWorker, value: "worker" },
85
83
  ],
86
84
  },
87
85
  {
88
86
  type: "list",
89
87
  name: "llm_provider",
90
- message: chalk_1.default.white("LLM provider:"),
88
+ message: chalk_1.default.white(tr.newLLMProvider),
91
89
  choices: [
92
90
  { name: "anthropic (Claude — requires ANTHROPIC_API_KEY)", value: "anthropic" },
93
91
  { name: "openai (GPT — requires OPENAI_API_KEY)", value: "openai" },
@@ -100,7 +98,7 @@ async function commandNew(targetDir) {
100
98
  {
101
99
  type: "input",
102
100
  name: "llm_model",
103
- message: chalk_1.default.white("Model name:"),
101
+ message: chalk_1.default.white(tr.newModelName),
104
102
  when: (a) => a.llm_provider !== "none",
105
103
  default: (a) => {
106
104
  const defaults = {
@@ -113,81 +111,119 @@ async function commandNew(targetDir) {
113
111
  return defaults[a.llm_provider] ?? "";
114
112
  },
115
113
  },
114
+ {
115
+ type: "list",
116
+ name: "api_key_method",
117
+ message: chalk_1.default.white(tr.newAuthMethod),
118
+ when: (a) => a.llm_provider === "anthropic" || a.llm_provider === "openai",
119
+ choices: (a) => {
120
+ const envVar = a.llm_provider === "anthropic" ? "ANTHROPIC_API_KEY" : "OPENAI_API_KEY";
121
+ return [
122
+ { name: tr.newAuthEnv.replace("$KEY", `$${envVar}`), value: "env" },
123
+ { name: tr.newAuthPaste, value: "paste" },
124
+ { name: tr.newAuthBrowser, value: "browser" },
125
+ ];
126
+ },
127
+ },
128
+ {
129
+ type: "password",
130
+ name: "api_key_value",
131
+ message: chalk_1.default.white(tr.newPasteKey),
132
+ mask: "*",
133
+ when: (a) => a.api_key_method === "paste",
134
+ validate: (v) => v.trim().length > 10 || tr.newKeyTooShort,
135
+ },
116
136
  {
117
137
  type: "list",
118
138
  name: "output_format",
119
- message: chalk_1.default.white("Output format:"),
139
+ message: chalk_1.default.white(tr.newOutputFormat),
120
140
  choices: [
121
- { name: "text — plain text response", value: "text" },
122
- { name: "json — structured JSON (add output schema)", value: "json" },
123
- { name: "markdown — formatted markdown", value: "markdown" },
141
+ { name: tr.newOutputText, value: "text" },
142
+ { name: tr.newOutputJson, value: "json" },
143
+ { name: tr.newOutputMarkdown, value: "markdown" },
124
144
  ],
125
145
  },
126
146
  {
127
147
  type: "list",
128
148
  name: "trust_level",
129
- message: chalk_1.default.white("Trust level:"),
149
+ message: chalk_1.default.white(tr.newTrustLevel),
130
150
  choices: [
131
- { name: "0 — sandboxed (no external access)", value: 0 },
132
- { name: "1 — read-only (reads data, no writes)", value: 1 },
133
- { name: "2 — write (reads and writes)", value: 2 },
134
- { name: "3 — admin (full control)", value: 3 },
151
+ { name: tr.newTrust0, value: 0 },
152
+ { name: tr.newTrust1, value: 1 },
153
+ { name: tr.newTrust2, value: 2 },
154
+ { name: tr.newTrust3, value: 3 },
135
155
  ],
136
156
  },
137
157
  ]);
138
- // Destino
158
+ // Browser login flow
159
+ if (answers.api_key_method === "browser") {
160
+ const url = answers.llm_provider === "anthropic"
161
+ ? "https://console.anthropic.com/settings/keys"
162
+ : "https://platform.openai.com/api-keys";
163
+ console.log("");
164
+ console.log(chalk_1.default.cyan(" " + tr.newBrowserOpening));
165
+ console.log(chalk_1.default.gray(` URL: ${url}`));
166
+ console.log("");
167
+ try {
168
+ const openCmd = process.platform === "win32" ? `start ${url}`
169
+ : process.platform === "darwin" ? `open ${url}`
170
+ : `xdg-open ${url}`;
171
+ (0, child_process_1.execSync)(openCmd);
172
+ }
173
+ catch {
174
+ console.log(chalk_1.default.yellow(" " + tr.newBrowserFallback));
175
+ }
176
+ const { key } = await inquirer_1.default.prompt([{
177
+ type: "password",
178
+ name: "key",
179
+ message: chalk_1.default.white(tr.newPasteBrowserKey),
180
+ mask: "*",
181
+ validate: (v) => v.trim().length > 10 || tr.newKeyTooShort,
182
+ }]);
183
+ answers.api_key_value = key;
184
+ answers.api_key_method = "paste";
185
+ }
139
186
  const projectName = answers.name;
140
187
  const dest = targetDir ? path.resolve(targetDir, projectName) : path.resolve(process.cwd(), projectName);
141
- // Verificar se pasta já existe
142
188
  if (fs.existsSync(dest)) {
143
- console.log(chalk_1.default.red(`\n✗ Directory already exists: ${dest}`));
189
+ console.log(chalk_1.default.red(`\n✗ ${tr.newDirExists} ${dest}`));
144
190
  process.exit(1);
145
191
  }
146
- const spinner = (0, ora_1.default)("Creating your agent...").start();
192
+ const spinner = (0, ora_1.default)(tr.newCreating).start();
147
193
  try {
148
- // Criar pasta
149
194
  fs.mkdirSync(dest, { recursive: true });
150
- // Gerar agent.yaml
151
195
  const apiKeyVar = getApiKeyVar(answers.llm_provider);
152
- const agentYaml = buildAgentYaml(answers, apiKeyVar);
153
- fs.writeFileSync(path.join(dest, "agent.yaml"), agentYaml);
154
- // Gerar agent.test.yaml
155
- const testYaml = buildTestYaml(answers.name);
156
- fs.writeFileSync(path.join(dest, "agent.test.yaml"), testYaml);
157
- // Gerar README.md
158
- const readme = buildReadme(answers);
159
- fs.writeFileSync(path.join(dest, "README.md"), readme);
160
- // Gerar .env.example
161
- if (apiKeyVar) {
196
+ fs.writeFileSync(path.join(dest, "agent.yaml"), buildAgentYaml(answers, apiKeyVar));
197
+ fs.writeFileSync(path.join(dest, "agent.test.yaml"), buildTestYaml(answers.name));
198
+ fs.writeFileSync(path.join(dest, "README.md"), buildReadme(answers));
199
+ if (apiKeyVar && answers.api_key_method !== "paste") {
162
200
  fs.writeFileSync(path.join(dest, ".env.example"), `${apiKeyVar}=your-api-key-here\n`);
163
201
  }
164
- spinner.succeed(chalk_1.default.green("Agent created!"));
165
- // Summary
202
+ spinner.succeed(chalk_1.default.green(tr.newCreated));
166
203
  console.log("");
167
204
  console.log(chalk_1.default.bold(" 📁 " + dest));
168
205
  console.log(chalk_1.default.gray(" ├── agent.yaml"));
169
206
  console.log(chalk_1.default.gray(" ├── agent.test.yaml"));
170
207
  console.log(chalk_1.default.gray(" ├── README.md"));
171
- if (apiKeyVar)
208
+ if (apiKeyVar && answers.api_key_method !== "paste") {
172
209
  console.log(chalk_1.default.gray(" └── .env.example"));
210
+ }
173
211
  console.log("");
174
- console.log(chalk_1.default.bold.cyan(" Next steps:"));
212
+ console.log(chalk_1.default.bold.cyan(" " + tr.newNextSteps));
175
213
  console.log(chalk_1.default.white(` $ cd ${projectName}`));
176
- if (apiKeyVar)
177
- console.log(chalk_1.default.white(` $ cp .env.example .env # add your API key`));
178
- console.log(chalk_1.default.white(` $ cforge run # execute the agent`));
179
- console.log(chalk_1.default.white(` $ cforge test # run tests`));
214
+ if (apiKeyVar && answers.api_key_method !== "paste") {
215
+ console.log(chalk_1.default.white(` $ cp .env.example .env # ${tr.newEnvHint}`));
216
+ }
217
+ console.log(chalk_1.default.white(` $ cforge run`));
218
+ console.log(chalk_1.default.white(` $ cforge test`));
180
219
  console.log("");
181
220
  }
182
221
  catch (err) {
183
- spinner.fail("Failed to create agent");
222
+ spinner.fail(tr.newFailed);
184
223
  console.error(err);
185
224
  process.exit(1);
186
225
  }
187
226
  }
188
- // ─────────────────────────────────────────────
189
- // Builders
190
- // ─────────────────────────────────────────────
191
227
  function getApiKeyVar(provider) {
192
228
  const map = {
193
229
  anthropic: "ANTHROPIC_API_KEY",
@@ -208,79 +244,39 @@ function buildAgentYaml(answers, apiKeyVar) {
208
244
  ];
209
245
  if (answers.llm_provider !== "none") {
210
246
  lines.push(` model: ${answers.llm_model}`);
211
- if (apiKeyVar) {
247
+ if (answers.api_key_method === "paste" && answers.api_key_value?.trim()) {
248
+ lines.push(` api_key: "${answers.api_key_value.trim()}"`);
249
+ }
250
+ else if (apiKeyVar) {
212
251
  lines.push(` api_key: "\${${apiKeyVar}}"`);
213
252
  }
214
253
  lines.push(` temperature: 0.1`);
215
254
  lines.push(` max_tokens: 1000`);
216
255
  }
217
- lines.push(``);
218
- lines.push(`prompt:`);
219
- lines.push(` system: |`);
220
- lines.push(` You are ${answers.description}.`);
221
- lines.push(` Be concise, accurate, and helpful.`);
222
- lines.push(` user_template: "{{input}}"`);
223
- lines.push(` variables:`);
224
- lines.push(` - name: input`);
225
- lines.push(` required: true`);
226
- lines.push(` description: "The user's input"`);
227
- lines.push(``);
228
- lines.push(`output:`);
229
- lines.push(` format: ${answers.output_format}`);
230
- lines.push(``);
231
- lines.push(`tests:`);
232
- lines.push(` - file: agent.test.yaml`);
233
- lines.push(``);
256
+ lines.push(``, `prompt:`, ` system: |`, ` You are ${answers.description}.`, ` Be concise, accurate, and helpful.`, ` user_template: "{{input}}"`, ` variables:`, ` - name: input`, ` required: true`, ` description: "The user's input"`, ``, `output:`, ` format: ${answers.output_format}`, ``, `tests:`, ` - file: agent.test.yaml`, ``);
234
257
  return lines.join("\n");
235
258
  }
236
259
  function buildTestYaml(agentName) {
237
260
  return [
238
- `agent: "${agentName}"`,
239
- ``,
240
- `cases:`,
241
- ` - name: "basic test"`,
242
- ` input:`,
243
- ` input: "Hello, world!"`,
244
- ` expected_contains:`,
245
- ` - "Hello" # adjust to match your agent's expected output`,
246
- ` timeout_ms: 30000`,
247
- ``,
261
+ `agent: "${agentName}"`, ``, `cases:`,
262
+ ` - name: "basic test"`, ` input:`, ` input: "Hello, world!"`,
263
+ ` expected_contains:`, ` - "Hello" # adjust to match your agent's expected output`,
264
+ ` timeout_ms: 30000`, ``,
248
265
  ].join("\n");
249
266
  }
250
267
  function buildReadme(answers) {
251
268
  return [
252
- `# ${answers.name}`,
253
- ``,
254
- `> ${answers.description}`,
255
- ``,
256
- `## Overview`,
257
- ``,
258
- `| Field | Value |`,
259
- `|-------|-------|`,
269
+ `# ${answers.name}`, ``, `> ${answers.description}`, ``, `## Overview`, ``,
270
+ `| Field | Value |`, `|-------|-------|`,
260
271
  `| **Type** | ${answers.type} |`,
261
272
  `| **LLM** | ${answers.llm_provider}${answers.llm_model ? ` / ${answers.llm_model}` : ""} |`,
262
273
  `| **Output** | ${answers.output_format} |`,
263
- `| **Trust Level** | ${answers.trust_level} |`,
264
- ``,
265
- `## Usage`,
266
- ``,
267
- `\`\`\`bash`,
268
- `cforge run # execute the agent`,
269
- `cforge test # run test suite`,
270
- `\`\`\``,
271
- ``,
272
- `## Configuration`,
273
- ``,
274
- `Edit \`agent.yaml\` to customize the agent's behavior.`,
275
- ``,
276
- `## Tests`,
277
- ``,
278
- `Edit \`agent.test.yaml\` to add test cases.`,
279
- ``,
280
- `---`,
281
- ``,
282
- `Built with [Clayton Forge](https://github.com/devclaytonn10/clayton-forge)`,
283
- ``,
274
+ `| **Trust Level** | ${answers.trust_level} |`, ``,
275
+ `## Usage`, ``, "```bash", `cforge run # execute the agent`,
276
+ `cforge test # run test suite`, "```", ``,
277
+ `## Configuration`, ``, "Edit `agent.yaml` to customize the agent's behavior.", ``,
278
+ `## Tests`, ``, "Edit `agent.test.yaml` to add test cases.", ``, `---`, ``,
279
+ `Built with [Clayton Forge](https://github.com/devclaytonn10/clayton-forge)`, ``,
284
280
  ].join("\n");
285
281
  }
286
282
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAQA,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFpF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFpF"}
@@ -40,44 +40,38 @@ exports.commandRun = commandRun;
40
40
  const readline = __importStar(require("readline"));
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
42
  const ora_1 = __importDefault(require("ora"));
43
- // ─────────────────────────────────────────────
44
- // cforge run [agent-dir]
45
- // ─────────────────────────────────────────────
43
+ const lang_1 = require("../lang");
46
44
  async function commandRun(agentDir, inputArg) {
45
+ const tr = (0, lang_1.t)();
47
46
  const { parseAgentFile, findAgentFile, executeAgent } = await Promise.resolve().then(() => __importStar(require("clayton-forge-core")));
48
- // 1. Find agent.yaml
49
47
  const searchDir = agentDir ? require("path").resolve(agentDir) : process.cwd();
50
48
  const agentPath = require("fs").existsSync(require("path").join(searchDir, "agent.yaml"))
51
49
  ? require("path").join(searchDir, "agent.yaml")
52
50
  : findAgentFile(searchDir);
53
51
  if (!agentPath) {
54
- console.error(chalk_1.default.red("✗ No agent.yaml found. Run this command inside an agent directory."));
52
+ console.error(chalk_1.default.red(tr.runNotFound));
55
53
  process.exit(1);
56
54
  }
57
- // 2. Parse
58
55
  let agent;
59
56
  try {
60
57
  agent = parseAgentFile(agentPath);
61
58
  }
62
59
  catch (err) {
63
- console.error(chalk_1.default.red("✗ Invalid agent.yaml:"), err instanceof Error ? err.message : err);
60
+ console.error(chalk_1.default.red(tr.runInvalidYaml), err instanceof Error ? err.message : err);
64
61
  process.exit(1);
65
62
  }
66
63
  console.log("");
67
64
  console.log(chalk_1.default.bold.cyan(` ▶ ${agent.name}`) + chalk_1.default.gray(` v${agent.version}`));
68
65
  console.log(chalk_1.default.gray(` ${agent.description ?? ""}`));
69
- console.log(chalk_1.default.gray(` Provider: ${agent.llm.provider}${agent.llm.model ? ` / ${agent.llm.model}` : ""}`));
66
+ console.log(chalk_1.default.gray(` ${tr.testProvider} ${agent.llm.provider}${agent.llm.model ? ` / ${agent.llm.model}` : ""}`));
70
67
  console.log("");
71
- // 3. Collect input
72
68
  const requiredVars = agent.prompt.variables.filter((v) => v.required);
73
69
  const variables = {};
74
70
  if (inputArg && requiredVars.length <= 1) {
75
- // Se só tem uma variável obrigatória, usa o argumento direto
76
71
  const varName = requiredVars[0]?.name ?? "input";
77
72
  variables[varName] = inputArg;
78
73
  }
79
74
  else {
80
- // Interactive input
81
75
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
82
76
  const question = (prompt) => new Promise((resolve) => rl.question(prompt, resolve));
83
77
  for (const variable of agent.prompt.variables) {
@@ -91,15 +85,13 @@ async function commandRun(agentDir, inputArg) {
91
85
  rl.close();
92
86
  }
93
87
  console.log("");
94
- // 4. Execute
95
- const spinner = (0, ora_1.default)("Running agent...").start();
88
+ const spinner = (0, ora_1.default)(tr.runRunning).start();
96
89
  const result = await executeAgent(agent, { variables });
97
90
  if (result.success) {
98
- spinner.succeed(chalk_1.default.green(`Done`) + chalk_1.default.gray(` (${result.duration_ms}ms)`));
91
+ spinner.succeed(chalk_1.default.green(tr.runDone) + chalk_1.default.gray(` (${result.duration_ms}ms)`));
99
92
  console.log("");
100
- console.log(chalk_1.default.bold(" Output:"));
93
+ console.log(chalk_1.default.bold(" " + tr.runOutput));
101
94
  console.log("");
102
- // Format output based on type
103
95
  const lines = result.output.split("\n");
104
96
  for (const line of lines) {
105
97
  console.log(" " + line);
@@ -107,13 +99,13 @@ async function commandRun(agentDir, inputArg) {
107
99
  if (result.llm_response?.usage) {
108
100
  const { input_tokens, output_tokens } = result.llm_response.usage;
109
101
  console.log("");
110
- console.log(chalk_1.default.gray(` Tokens: ${input_tokens ?? "?"} in / ${output_tokens ?? "?"} out`));
102
+ console.log(chalk_1.default.gray(` ${tr.runTokens} ${input_tokens ?? "?"} in / ${output_tokens ?? "?"} out`));
111
103
  }
112
104
  }
113
105
  else {
114
- spinner.fail(chalk_1.default.red("Execution failed"));
106
+ spinner.fail(chalk_1.default.red(tr.runFailed));
115
107
  console.log("");
116
- console.error(chalk_1.default.red(" Error:"), result.error);
108
+ console.error(chalk_1.default.red(" " + tr.runError), result.error);
117
109
  process.exit(1);
118
110
  }
119
111
  console.log("");
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgHlE"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGlE"}
@@ -41,50 +41,44 @@ const path = __importStar(require("path"));
41
41
  const fs = __importStar(require("fs"));
42
42
  const chalk_1 = __importDefault(require("chalk"));
43
43
  const ora_1 = __importDefault(require("ora"));
44
- // ─────────────────────────────────────────────
45
- // cforge test [agent-dir]
46
- // ─────────────────────────────────────────────
44
+ const lang_1 = require("../lang");
47
45
  async function commandTest(agentDir) {
46
+ const tr = (0, lang_1.t)();
48
47
  const { parseAgentFile, parseTestFile, runTestSuite, findAgentFile } = await Promise.resolve().then(() => __importStar(require("clayton-forge-core")));
49
- // 1. Find agent.yaml
50
48
  const searchDir = agentDir ? path.resolve(agentDir) : process.cwd();
51
49
  const agentYamlPath = fs.existsSync(path.join(searchDir, "agent.yaml"))
52
50
  ? path.join(searchDir, "agent.yaml")
53
51
  : findAgentFile(searchDir);
54
52
  if (!agentYamlPath) {
55
- console.error(chalk_1.default.red("✗ No agent.yaml found."));
53
+ console.error(chalk_1.default.red(tr.testNotFound));
56
54
  process.exit(1);
57
55
  }
58
- // 2. Parse agent
59
56
  let agent;
60
57
  try {
61
58
  agent = parseAgentFile(agentYamlPath);
62
59
  }
63
60
  catch (err) {
64
- console.error(chalk_1.default.red("✗ Invalid agent.yaml:"), err instanceof Error ? err.message : err);
61
+ console.error(chalk_1.default.red(tr.testInvalidYaml), err instanceof Error ? err.message : err);
65
62
  process.exit(1);
66
63
  }
67
- // 3. Find test files
68
64
  const agentDir2 = path.dirname(agentYamlPath);
69
65
  const testFiles = (agent.tests ?? []).map((t) => path.resolve(agentDir2, t.file));
70
- // Fallback: tenta agent.test.yaml se não há tests declarados
71
66
  if (testFiles.length === 0) {
72
67
  const fallback = path.join(agentDir2, "agent.test.yaml");
73
68
  if (fs.existsSync(fallback))
74
69
  testFiles.push(fallback);
75
70
  }
76
71
  if (testFiles.length === 0) {
77
- console.error(chalk_1.default.red("✗ No test files found. Create agent.test.yaml first."));
72
+ console.error(chalk_1.default.red(tr.testNoFiles));
78
73
  process.exit(1);
79
74
  }
80
75
  console.log("");
81
- console.log(chalk_1.default.bold.cyan(` ⚗ Testing: ${agent.name}`) + chalk_1.default.gray(` v${agent.version}`));
82
- console.log(chalk_1.default.gray(` Provider: ${agent.llm.provider}${agent.llm.model ? ` / ${agent.llm.model}` : ""}`));
76
+ console.log(chalk_1.default.bold.cyan(` ⚗ ${tr.testTesting} ${agent.name}`) + chalk_1.default.gray(` v${agent.version}`));
77
+ console.log(chalk_1.default.gray(` ${tr.testProvider} ${agent.llm.provider}${agent.llm.model ? ` / ${agent.llm.model}` : ""}`));
83
78
  console.log("");
84
79
  let totalPassed = 0;
85
80
  let totalFailed = 0;
86
81
  for (const testFile of testFiles) {
87
- // 4. Parse test suite
88
82
  let suite;
89
83
  try {
90
84
  suite = parseTestFile(testFile);
@@ -93,22 +87,20 @@ async function commandTest(agentDir) {
93
87
  console.error(chalk_1.default.red(`✗ Invalid test file ${testFile}:`), err instanceof Error ? err.message : err);
94
88
  continue;
95
89
  }
96
- console.log(chalk_1.default.gray(` File: ${path.basename(testFile)}`));
97
- console.log(chalk_1.default.gray(` Cases: ${suite.cases.length}`));
90
+ console.log(chalk_1.default.gray(` ${tr.testFile} ${path.basename(testFile)}`));
91
+ console.log(chalk_1.default.gray(` ${tr.testCases} ${suite.cases.length}`));
98
92
  console.log("");
99
- // 5. Run
100
- const spinner = (0, ora_1.default)("Running tests...").start();
93
+ const spinner = (0, ora_1.default)(tr.testRunning).start();
101
94
  const summary = await runTestSuite(agent, suite);
102
95
  spinner.stop();
103
- // 6. Display results
104
96
  for (const result of summary.results) {
105
97
  if (result.passed) {
106
- console.log(chalk_1.default.green("PASS") +
98
+ console.log(chalk_1.default.green(`${tr.testPass}`) +
107
99
  chalk_1.default.white(` ${result.name}`) +
108
100
  chalk_1.default.gray(` (${result.duration_ms}ms)`));
109
101
  }
110
102
  else {
111
- console.log(chalk_1.default.red("FAIL") +
103
+ console.log(chalk_1.default.red(`${tr.testFail}`) +
112
104
  chalk_1.default.white(` ${result.name}`) +
113
105
  chalk_1.default.gray(` (${result.duration_ms}ms)`));
114
106
  for (const failure of result.failures) {
@@ -128,7 +120,6 @@ async function commandTest(agentDir) {
128
120
  chalk_1.default.gray(` · ${summary.duration_ms}ms`));
129
121
  }
130
122
  console.log("");
131
- // Final exit code
132
123
  if (totalFailed > 0) {
133
124
  process.exit(1);
134
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -39,18 +39,75 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  const commander_1 = require("commander");
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
+ const inquirer_1 = __importDefault(require("inquirer"));
43
+ const lang_1 = require("./lang");
42
44
  const new_1 = require("./commands/new");
43
45
  const run_1 = require("./commands/run");
44
46
  const test_1 = require("./commands/test");
45
47
  const pkg = require("../package.json");
46
48
  // ─────────────────────────────────────────────
47
- // Banner
49
+ // ASCII art
50
+ // ─────────────────────────────────────────────
51
+ function printAscii() {
52
+ const c = chalk_1.default.bold.cyan;
53
+ const d = chalk_1.default.cyan;
54
+ console.log("");
55
+ console.log(c(" ██████╗██╗ █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ██╗"));
56
+ console.log(c(" ██╔════╝██║ ██╔══██╗╚██╗ ██╔╝╚══██╔══╝██╔═══██╗████╗ ██║"));
57
+ console.log(c(" ██║ ██║ ███████║ ╚████╔╝ ██║ ██║ ██║██╔██╗ ██║"));
58
+ console.log(c(" ██║ ██║ ██╔══██║ ╚██╔╝ ██║ ██║ ██║██║╚██╗██║"));
59
+ console.log(c(" ╚██████╗███████╗██║ ██║ ██║ ██║ ╚██████╔╝██║ ╚████║"));
60
+ console.log(c(" ╚═════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝"));
61
+ console.log("");
62
+ console.log(d(" ███████╗ ██████╗ ██████╗ ██████╗ ███████╗"));
63
+ console.log(d(" ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝"));
64
+ console.log(d(" █████╗ ██║ ██║██████╔╝██║ ███╗█████╗ "));
65
+ console.log(d(" ██╔══╝ ██║ ██║██╔══██╗██║ ██║██╔══╝ "));
66
+ console.log(d(" ██║ ╚██████╔╝██║ ██║╚██████╔╝███████╗"));
67
+ console.log(d(" ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝"));
68
+ console.log("");
69
+ console.log(chalk_1.default.gray(` v${pkg.version}`) + " " + chalk_1.default.gray("https://github.com/devclaytonn10/clayton-forge"));
70
+ console.log("");
71
+ }
72
+ // ─────────────────────────────────────────────
73
+ // Banner pequeno (usado nos subcomandos)
48
74
  // ─────────────────────────────────────────────
49
75
  function printBanner() {
50
76
  console.log("");
51
77
  console.log(chalk_1.default.bold.cyan(" CLAYTON FORGE") + chalk_1.default.gray(` v${pkg.version}`));
52
- console.log(chalk_1.default.gray(" Build AI agents with confidence."));
53
- console.log(chalk_1.default.gray(" https://github.com/devclaytonn10/clayton-forge"));
78
+ console.log("");
79
+ }
80
+ // ─────────────────────────────────────────────
81
+ // Tela de boas-vindas com seleção de idioma
82
+ // ─────────────────────────────────────────────
83
+ async function showWelcome() {
84
+ printAscii();
85
+ const currentLang = (0, lang_1.getLang)();
86
+ const { lang } = await inquirer_1.default.prompt([
87
+ {
88
+ type: "list",
89
+ name: "lang",
90
+ message: "🌐 Language / Idioma:",
91
+ choices: [
92
+ { name: "English", value: "en" },
93
+ { name: "Português", value: "pt" },
94
+ ],
95
+ default: currentLang,
96
+ },
97
+ ]);
98
+ // Salva preferência
99
+ (0, lang_1.saveConfig)({ lang });
100
+ const tr = lang_1.translations[lang];
101
+ console.log("");
102
+ console.log(chalk_1.default.bold.white(" " + tr.tagline));
103
+ console.log("");
104
+ console.log(chalk_1.default.bold.cyan(" " + tr.commands));
105
+ console.log(chalk_1.default.white(" cforge new ") + chalk_1.default.gray(tr.cmdNew));
106
+ console.log(chalk_1.default.white(" cforge run ") + chalk_1.default.gray(tr.cmdRun));
107
+ console.log(chalk_1.default.white(" cforge test ") + chalk_1.default.gray(tr.cmdTest));
108
+ console.log(chalk_1.default.white(" cforge validate ") + chalk_1.default.gray(tr.cmdValidate));
109
+ console.log("");
110
+ console.log(chalk_1.default.gray(" " + tr.tip));
54
111
  console.log("");
55
112
  }
56
113
  // ─────────────────────────────────────────────
@@ -62,50 +119,44 @@ program
62
119
  .description("Clayton Forge — AI agent platform CLI")
63
120
  .version(pkg.version, "-v, --version", "Output the current version")
64
121
  .addHelpText("before", "\n CLAYTON FORGE — Build AI agents with confidence.\n");
65
- // ─────────────────────────────────────────────
66
- // cforge new [name]
67
- // ─────────────────────────────────────────────
68
122
  program
69
123
  .command("new [name]")
70
124
  .description("Create a new agent with an interactive wizard")
71
125
  .action(async (name) => {
126
+ printBanner();
72
127
  await (0, new_1.commandNew)(name ? undefined : undefined);
73
128
  });
74
- // ─────────────────────────────────────────────
75
- // cforge run [agent-dir] [input]
76
- // ─────────────────────────────────────────────
77
129
  program
78
130
  .command("run [agent-dir]")
79
131
  .description("Execute an agent")
80
- .option("-i, --input <text>", "Input text (skips interactive prompt for single-variable agents)")
132
+ .option("-i, --input <text>", "Input text (skips interactive prompt)")
81
133
  .action(async (agentDir, options) => {
134
+ printBanner();
82
135
  await (0, run_1.commandRun)(agentDir, options?.input);
83
136
  });
84
- // ─────────────────────────────────────────────
85
- // cforge test [agent-dir]
86
- // ─────────────────────────────────────────────
87
137
  program
88
138
  .command("test [agent-dir]")
89
139
  .description("Run the agent's test suite")
90
140
  .action(async (agentDir) => {
141
+ printBanner();
91
142
  await (0, test_1.commandTest)(agentDir);
92
143
  });
93
- // ─────────────────────────────────────────────
94
- // cforge validate
95
- // ─────────────────────────────────────────────
96
144
  program
97
145
  .command("validate [agent-dir]")
98
146
  .description("Validate agent.yaml without running the agent")
99
147
  .action(async (agentDir) => {
148
+ printBanner();
100
149
  const { parseAgentFile, findAgentFile } = await Promise.resolve().then(() => __importStar(require("clayton-forge-core")));
101
- const path = require("path");
102
- const fs = require("fs");
103
- const searchDir = agentDir ? path.resolve(agentDir) : process.cwd();
104
- const agentPath = fs.existsSync(path.join(searchDir, "agent.yaml"))
105
- ? path.join(searchDir, "agent.yaml")
150
+ const pathMod = require("path");
151
+ const fsMod = require("fs");
152
+ const { t } = await Promise.resolve().then(() => __importStar(require("./lang")));
153
+ const tr = t();
154
+ const searchDir = agentDir ? pathMod.resolve(agentDir) : process.cwd();
155
+ const agentPath = fsMod.existsSync(pathMod.join(searchDir, "agent.yaml"))
156
+ ? pathMod.join(searchDir, "agent.yaml")
106
157
  : findAgentFile(searchDir);
107
158
  if (!agentPath) {
108
- console.error(chalk_1.default.red("✗ No agent.yaml found."));
159
+ console.error(chalk_1.default.red(tr.testNotFound));
109
160
  process.exit(1);
110
161
  }
111
162
  try {
@@ -123,12 +174,13 @@ program
123
174
  }
124
175
  });
125
176
  // ─────────────────────────────────────────────
126
- // Default: banner + help
177
+ // Entrada padrão: tela de boas-vindas
127
178
  // ─────────────────────────────────────────────
128
179
  program.addHelpCommand(true);
129
180
  if (process.argv.length <= 2) {
130
- printBanner();
131
- program.help();
181
+ showWelcome().catch(console.error);
182
+ }
183
+ else {
184
+ program.parse(process.argv);
132
185
  }
133
- program.parse(process.argv);
134
186
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/lang.d.ts ADDED
@@ -0,0 +1,147 @@
1
+ export type Lang = "en" | "pt";
2
+ interface CforgeConfig {
3
+ lang: Lang;
4
+ }
5
+ export declare function loadConfig(): CforgeConfig;
6
+ export declare function saveConfig(config: CforgeConfig): void;
7
+ export declare function getLang(): Lang;
8
+ export declare const translations: {
9
+ readonly en: {
10
+ readonly tagline: "Build AI agents with confidence.";
11
+ readonly selectLang: "🌐 Language / Idioma:";
12
+ readonly commands: "Available commands:";
13
+ readonly cmdNew: "Create a new agent";
14
+ readonly cmdRun: "Execute an agent";
15
+ readonly cmdTest: "Run the agent test suite";
16
+ readonly cmdValidate: "Validate agent.yaml";
17
+ readonly tip: "Run cforge <command> --help for usage details.";
18
+ readonly newHeader: "Let's create your agent. Answer a few questions.";
19
+ readonly newCancel: "Press Ctrl+C at any time to cancel.";
20
+ readonly newAgentName: "Agent name";
21
+ readonly newAgentNameHint: "(kebab-case, e.g. invoice-classifier):";
22
+ readonly newAgentNameError: "Use lowercase letters, numbers, and hyphens only";
23
+ readonly newDescription: "What does this agent do?";
24
+ readonly newDescriptionError: "Please write a short description";
25
+ readonly newAgentType: "Agent type:";
26
+ readonly newTypeReactive: "reactive — receives input → processes → responds";
27
+ readonly newTypeProactive: "proactive — acts on triggers without waiting for input";
28
+ readonly newTypePipeline: "pipeline — sequential steps, each feeding the next";
29
+ readonly newTypeOrchestrator: "orchestrator — coordinates other agents";
30
+ readonly newTypeWorker: "worker — executed by an orchestrator";
31
+ readonly newLLMProvider: "LLM provider:";
32
+ readonly newModelName: "Model name:";
33
+ readonly newAuthMethod: "How do you want to authenticate?";
34
+ readonly newAuthEnv: "env var — use $KEY (already set in your environment)";
35
+ readonly newAuthPaste: "paste key — type or paste your API key now";
36
+ readonly newAuthBrowser: "browser login — open the console to generate a key automatically";
37
+ readonly newPasteKey: "Paste your API key:";
38
+ readonly newKeyTooShort: "Key seems too short";
39
+ readonly newOutputFormat: "Output format:";
40
+ readonly newOutputText: "text — plain text response";
41
+ readonly newOutputJson: "json — structured JSON (add output schema)";
42
+ readonly newOutputMarkdown: "markdown — formatted markdown";
43
+ readonly newTrustLevel: "Trust level:";
44
+ readonly newTrust0: "0 — sandboxed (no external access)";
45
+ readonly newTrust1: "1 — read-only (reads data, no writes)";
46
+ readonly newTrust2: "2 — write (reads and writes)";
47
+ readonly newTrust3: "3 — admin (full control)";
48
+ readonly newBrowserOpening: "Opening your browser to generate an API key...";
49
+ readonly newBrowserFallback: "Could not open browser automatically. Please open the URL above manually.";
50
+ readonly newPasteBrowserKey: "Paste the key you just created:";
51
+ readonly newCreating: "Creating your agent...";
52
+ readonly newCreated: "Agent created!";
53
+ readonly newFailed: "Failed to create agent";
54
+ readonly newDirExists: "Directory already exists:";
55
+ readonly newNextSteps: "Next steps:";
56
+ readonly newEnvHint: "# add your API key";
57
+ readonly runNotFound: "✗ No agent.yaml found. Run this command inside an agent directory.";
58
+ readonly runInvalidYaml: "✗ Invalid agent.yaml:";
59
+ readonly runRunning: "Running agent...";
60
+ readonly runDone: "Done";
61
+ readonly runOutput: "Output:";
62
+ readonly runTokens: "Tokens:";
63
+ readonly runFailed: "Execution failed";
64
+ readonly runError: "Error:";
65
+ readonly testNotFound: "✗ No agent.yaml found.";
66
+ readonly testInvalidYaml: "✗ Invalid agent.yaml:";
67
+ readonly testNoFiles: "✗ No test files found. Create agent.test.yaml first.";
68
+ readonly testRunning: "Running tests...";
69
+ readonly testTesting: "Testing:";
70
+ readonly testProvider: "Provider:";
71
+ readonly testFile: "File:";
72
+ readonly testCases: "Cases:";
73
+ readonly testPass: "PASS";
74
+ readonly testFail: "FAIL";
75
+ };
76
+ readonly pt: {
77
+ readonly tagline: "Construa agentes de IA com confiança.";
78
+ readonly selectLang: "🌐 Language / Idioma:";
79
+ readonly commands: "Comandos disponíveis:";
80
+ readonly cmdNew: "Criar um novo agente";
81
+ readonly cmdRun: "Executar um agente";
82
+ readonly cmdTest: "Rodar a suite de testes";
83
+ readonly cmdValidate: "Validar o agent.yaml";
84
+ readonly tip: "Execute cforge <comando> --help para detalhes de uso.";
85
+ readonly newHeader: "Vamos criar seu agente. Responda algumas perguntas.";
86
+ readonly newCancel: "Pressione Ctrl+C a qualquer momento para cancelar.";
87
+ readonly newAgentName: "Nome do agente";
88
+ readonly newAgentNameHint: "(kebab-case, ex: classificador-faturas):";
89
+ readonly newAgentNameError: "Use apenas letras minúsculas, números e hífens";
90
+ readonly newDescription: "O que este agente faz?";
91
+ readonly newDescriptionError: "Por favor escreva uma descrição curta";
92
+ readonly newAgentType: "Tipo de agente:";
93
+ readonly newTypeReactive: "reactive — recebe input → processa → responde";
94
+ readonly newTypeProactive: "proactive — age em gatilhos sem esperar input";
95
+ readonly newTypePipeline: "pipeline — etapas sequenciais, cada uma alimenta a próxima";
96
+ readonly newTypeOrchestrator: "orchestrator — coordena outros agentes";
97
+ readonly newTypeWorker: "worker — executado por um orchestrator";
98
+ readonly newLLMProvider: "Provedor de LLM:";
99
+ readonly newModelName: "Nome do modelo:";
100
+ readonly newAuthMethod: "Como você quer autenticar?";
101
+ readonly newAuthEnv: "env var — usar $KEY (já definida no seu ambiente)";
102
+ readonly newAuthPaste: "colar a key — digitar ou colar sua API key agora";
103
+ readonly newAuthBrowser: "login browser — abrir o console para gerar a key automaticamente";
104
+ readonly newPasteKey: "Cole sua API key:";
105
+ readonly newKeyTooShort: "A key parece curta demais";
106
+ readonly newOutputFormat: "Formato de saída:";
107
+ readonly newOutputText: "text — resposta em texto simples";
108
+ readonly newOutputJson: "json — JSON estruturado (adicionar schema de saída)";
109
+ readonly newOutputMarkdown: "markdown — markdown formatado";
110
+ readonly newTrustLevel: "Nível de confiança:";
111
+ readonly newTrust0: "0 — sandboxed (sem acesso externo)";
112
+ readonly newTrust1: "1 — read-only (lê dados, sem escrita)";
113
+ readonly newTrust2: "2 — write (lê e escreve)";
114
+ readonly newTrust3: "3 — admin (controle total)";
115
+ readonly newBrowserOpening: "Abrindo seu navegador para gerar uma API key...";
116
+ readonly newBrowserFallback: "Não foi possível abrir o navegador automaticamente. Abra a URL acima manualmente.";
117
+ readonly newPasteBrowserKey: "Cole a key que você acabou de criar:";
118
+ readonly newCreating: "Criando seu agente...";
119
+ readonly newCreated: "Agente criado!";
120
+ readonly newFailed: "Falha ao criar agente";
121
+ readonly newDirExists: "Diretório já existe:";
122
+ readonly newNextSteps: "Próximos passos:";
123
+ readonly newEnvHint: "# adicione sua API key";
124
+ readonly runNotFound: "✗ Nenhum agent.yaml encontrado. Execute este comando dentro de um diretório de agente.";
125
+ readonly runInvalidYaml: "✗ agent.yaml inválido:";
126
+ readonly runRunning: "Executando agente...";
127
+ readonly runDone: "Concluído";
128
+ readonly runOutput: "Saída:";
129
+ readonly runTokens: "Tokens:";
130
+ readonly runFailed: "Execução falhou";
131
+ readonly runError: "Erro:";
132
+ readonly testNotFound: "✗ Nenhum agent.yaml encontrado.";
133
+ readonly testInvalidYaml: "✗ agent.yaml inválido:";
134
+ readonly testNoFiles: "✗ Nenhum arquivo de teste encontrado. Crie o agent.test.yaml primeiro.";
135
+ readonly testRunning: "Rodando testes...";
136
+ readonly testTesting: "Testando:";
137
+ readonly testProvider: "Provedor:";
138
+ readonly testFile: "Arquivo:";
139
+ readonly testCases: "Casos:";
140
+ readonly testPass: "PASSOU";
141
+ readonly testFail: "FALHOU";
142
+ };
143
+ };
144
+ export type T = typeof translations.en;
145
+ export declare function t(): T;
146
+ export {};
147
+ //# sourceMappingURL=lang.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,UAAU,IAAI,YAAY,CAUzC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAGrD;AAED,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAMD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJf,CAAC;AAEX,MAAM,MAAM,CAAC,GAAG,OAAO,YAAY,CAAC,EAAE,CAAC;AAEvC,wBAAgB,CAAC,IAAI,CAAC,CAErB"}
package/dist/lang.js ADDED
@@ -0,0 +1,218 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.translations = void 0;
37
+ exports.loadConfig = loadConfig;
38
+ exports.saveConfig = saveConfig;
39
+ exports.getLang = getLang;
40
+ exports.t = t;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const os = __importStar(require("os"));
44
+ // ─────────────────────────────────────────────
45
+ // Config file: ~/.cforge/config.json
46
+ // ─────────────────────────────────────────────
47
+ const CONFIG_DIR = path.join(os.homedir(), ".cforge");
48
+ const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
49
+ function loadConfig() {
50
+ try {
51
+ if (fs.existsSync(CONFIG_FILE)) {
52
+ const raw = fs.readFileSync(CONFIG_FILE, "utf-8");
53
+ return JSON.parse(raw);
54
+ }
55
+ }
56
+ catch {
57
+ // ignore
58
+ }
59
+ return { lang: "en" };
60
+ }
61
+ function saveConfig(config) {
62
+ fs.mkdirSync(CONFIG_DIR, { recursive: true });
63
+ fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), "utf-8");
64
+ }
65
+ function getLang() {
66
+ return loadConfig().lang;
67
+ }
68
+ // ─────────────────────────────────────────────
69
+ // Translations
70
+ // ─────────────────────────────────────────────
71
+ exports.translations = {
72
+ en: {
73
+ // index
74
+ tagline: "Build AI agents with confidence.",
75
+ selectLang: "🌐 Language / Idioma:",
76
+ commands: "Available commands:",
77
+ cmdNew: "Create a new agent",
78
+ cmdRun: "Execute an agent",
79
+ cmdTest: "Run the agent test suite",
80
+ cmdValidate: "Validate agent.yaml",
81
+ tip: "Run cforge <command> --help for usage details.",
82
+ // new
83
+ newHeader: "Let's create your agent. Answer a few questions.",
84
+ newCancel: "Press Ctrl+C at any time to cancel.",
85
+ newAgentName: "Agent name",
86
+ newAgentNameHint: "(kebab-case, e.g. invoice-classifier):",
87
+ newAgentNameError: "Use lowercase letters, numbers, and hyphens only",
88
+ newDescription: "What does this agent do?",
89
+ newDescriptionError: "Please write a short description",
90
+ newAgentType: "Agent type:",
91
+ newTypeReactive: "reactive — receives input → processes → responds",
92
+ newTypeProactive: "proactive — acts on triggers without waiting for input",
93
+ newTypePipeline: "pipeline — sequential steps, each feeding the next",
94
+ newTypeOrchestrator: "orchestrator — coordinates other agents",
95
+ newTypeWorker: "worker — executed by an orchestrator",
96
+ newLLMProvider: "LLM provider:",
97
+ newModelName: "Model name:",
98
+ newAuthMethod: "How do you want to authenticate?",
99
+ newAuthEnv: "env var — use $KEY (already set in your environment)",
100
+ newAuthPaste: "paste key — type or paste your API key now",
101
+ newAuthBrowser: "browser login — open the console to generate a key automatically",
102
+ newPasteKey: "Paste your API key:",
103
+ newKeyTooShort: "Key seems too short",
104
+ newOutputFormat: "Output format:",
105
+ newOutputText: "text — plain text response",
106
+ newOutputJson: "json — structured JSON (add output schema)",
107
+ newOutputMarkdown: "markdown — formatted markdown",
108
+ newTrustLevel: "Trust level:",
109
+ newTrust0: "0 — sandboxed (no external access)",
110
+ newTrust1: "1 — read-only (reads data, no writes)",
111
+ newTrust2: "2 — write (reads and writes)",
112
+ newTrust3: "3 — admin (full control)",
113
+ newBrowserOpening: "Opening your browser to generate an API key...",
114
+ newBrowserFallback: "Could not open browser automatically. Please open the URL above manually.",
115
+ newPasteBrowserKey: "Paste the key you just created:",
116
+ newCreating: "Creating your agent...",
117
+ newCreated: "Agent created!",
118
+ newFailed: "Failed to create agent",
119
+ newDirExists: "Directory already exists:",
120
+ newNextSteps: "Next steps:",
121
+ newEnvHint: "# add your API key",
122
+ // run
123
+ runNotFound: "✗ No agent.yaml found. Run this command inside an agent directory.",
124
+ runInvalidYaml: "✗ Invalid agent.yaml:",
125
+ runRunning: "Running agent...",
126
+ runDone: "Done",
127
+ runOutput: "Output:",
128
+ runTokens: "Tokens:",
129
+ runFailed: "Execution failed",
130
+ runError: "Error:",
131
+ // test
132
+ testNotFound: "✗ No agent.yaml found.",
133
+ testInvalidYaml: "✗ Invalid agent.yaml:",
134
+ testNoFiles: "✗ No test files found. Create agent.test.yaml first.",
135
+ testRunning: "Running tests...",
136
+ testTesting: "Testing:",
137
+ testProvider: "Provider:",
138
+ testFile: "File:",
139
+ testCases: "Cases:",
140
+ testPass: "PASS",
141
+ testFail: "FAIL",
142
+ },
143
+ pt: {
144
+ // index
145
+ tagline: "Construa agentes de IA com confiança.",
146
+ selectLang: "🌐 Language / Idioma:",
147
+ commands: "Comandos disponíveis:",
148
+ cmdNew: "Criar um novo agente",
149
+ cmdRun: "Executar um agente",
150
+ cmdTest: "Rodar a suite de testes",
151
+ cmdValidate: "Validar o agent.yaml",
152
+ tip: "Execute cforge <comando> --help para detalhes de uso.",
153
+ // new
154
+ newHeader: "Vamos criar seu agente. Responda algumas perguntas.",
155
+ newCancel: "Pressione Ctrl+C a qualquer momento para cancelar.",
156
+ newAgentName: "Nome do agente",
157
+ newAgentNameHint: "(kebab-case, ex: classificador-faturas):",
158
+ newAgentNameError: "Use apenas letras minúsculas, números e hífens",
159
+ newDescription: "O que este agente faz?",
160
+ newDescriptionError: "Por favor escreva uma descrição curta",
161
+ newAgentType: "Tipo de agente:",
162
+ newTypeReactive: "reactive — recebe input → processa → responde",
163
+ newTypeProactive: "proactive — age em gatilhos sem esperar input",
164
+ newTypePipeline: "pipeline — etapas sequenciais, cada uma alimenta a próxima",
165
+ newTypeOrchestrator: "orchestrator — coordena outros agentes",
166
+ newTypeWorker: "worker — executado por um orchestrator",
167
+ newLLMProvider: "Provedor de LLM:",
168
+ newModelName: "Nome do modelo:",
169
+ newAuthMethod: "Como você quer autenticar?",
170
+ newAuthEnv: "env var — usar $KEY (já definida no seu ambiente)",
171
+ newAuthPaste: "colar a key — digitar ou colar sua API key agora",
172
+ newAuthBrowser: "login browser — abrir o console para gerar a key automaticamente",
173
+ newPasteKey: "Cole sua API key:",
174
+ newKeyTooShort: "A key parece curta demais",
175
+ newOutputFormat: "Formato de saída:",
176
+ newOutputText: "text — resposta em texto simples",
177
+ newOutputJson: "json — JSON estruturado (adicionar schema de saída)",
178
+ newOutputMarkdown: "markdown — markdown formatado",
179
+ newTrustLevel: "Nível de confiança:",
180
+ newTrust0: "0 — sandboxed (sem acesso externo)",
181
+ newTrust1: "1 — read-only (lê dados, sem escrita)",
182
+ newTrust2: "2 — write (lê e escreve)",
183
+ newTrust3: "3 — admin (controle total)",
184
+ newBrowserOpening: "Abrindo seu navegador para gerar uma API key...",
185
+ newBrowserFallback: "Não foi possível abrir o navegador automaticamente. Abra a URL acima manualmente.",
186
+ newPasteBrowserKey: "Cole a key que você acabou de criar:",
187
+ newCreating: "Criando seu agente...",
188
+ newCreated: "Agente criado!",
189
+ newFailed: "Falha ao criar agente",
190
+ newDirExists: "Diretório já existe:",
191
+ newNextSteps: "Próximos passos:",
192
+ newEnvHint: "# adicione sua API key",
193
+ // run
194
+ runNotFound: "✗ Nenhum agent.yaml encontrado. Execute este comando dentro de um diretório de agente.",
195
+ runInvalidYaml: "✗ agent.yaml inválido:",
196
+ runRunning: "Executando agente...",
197
+ runDone: "Concluído",
198
+ runOutput: "Saída:",
199
+ runTokens: "Tokens:",
200
+ runFailed: "Execução falhou",
201
+ runError: "Erro:",
202
+ // test
203
+ testNotFound: "✗ Nenhum agent.yaml encontrado.",
204
+ testInvalidYaml: "✗ agent.yaml inválido:",
205
+ testNoFiles: "✗ Nenhum arquivo de teste encontrado. Crie o agent.test.yaml primeiro.",
206
+ testRunning: "Rodando testes...",
207
+ testTesting: "Testando:",
208
+ testProvider: "Provedor:",
209
+ testFile: "Arquivo:",
210
+ testCases: "Casos:",
211
+ testPass: "PASSOU",
212
+ testFail: "FALHOU",
213
+ },
214
+ };
215
+ function t() {
216
+ return exports.translations[getLang()];
217
+ }
218
+ //# sourceMappingURL=lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clayton-forge",
3
- "version": "0.1.2",
3
+ "version": "0.1.5",
4
4
  "description": "Clayton Forge CLI — build AI agents with confidence",
5
5
  "main": "dist/index.js",
6
6
  "bin": {