@agentage/cli 0.9.0 → 0.11.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 (34) hide show
  1. package/dist/cli.js +2 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/create.d.ts +3 -0
  4. package/dist/commands/create.d.ts.map +1 -0
  5. package/dist/commands/create.js +110 -0
  6. package/dist/commands/create.js.map +1 -0
  7. package/dist/discovery/code-factory.d.ts.map +1 -1
  8. package/dist/discovery/code-factory.js +13 -2
  9. package/dist/discovery/code-factory.js.map +1 -1
  10. package/dist/examples/claude-agent.agent.d.ts +3 -0
  11. package/dist/examples/claude-agent.agent.d.ts.map +1 -0
  12. package/dist/examples/claude-agent.agent.js +13 -0
  13. package/dist/examples/claude-agent.agent.js.map +1 -0
  14. package/dist/examples/code-reviewer.agent.d.ts +3 -0
  15. package/dist/examples/code-reviewer.agent.d.ts.map +1 -0
  16. package/dist/examples/code-reviewer.agent.js +11 -0
  17. package/dist/examples/code-reviewer.agent.js.map +1 -0
  18. package/dist/examples/copilot.agent.d.ts +3 -0
  19. package/dist/examples/copilot.agent.d.ts.map +1 -0
  20. package/dist/examples/copilot.agent.js +9 -0
  21. package/dist/examples/copilot.agent.js.map +1 -0
  22. package/dist/examples/countdown.agent.d.ts +3 -0
  23. package/dist/examples/countdown.agent.d.ts.map +1 -0
  24. package/dist/examples/countdown.agent.js +15 -0
  25. package/dist/examples/countdown.agent.js.map +1 -0
  26. package/dist/examples/hello.agent.d.ts +3 -0
  27. package/dist/examples/hello.agent.d.ts.map +1 -0
  28. package/dist/examples/hello.agent.js +9 -0
  29. package/dist/examples/hello.agent.js.map +1 -0
  30. package/dist/examples/shell.agent.d.ts +3 -0
  31. package/dist/examples/shell.agent.d.ts.map +1 -0
  32. package/dist/examples/shell.agent.js +9 -0
  33. package/dist/examples/shell.agent.js.map +1 -0
  34. package/package.json +4 -4
package/dist/cli.js CHANGED
@@ -14,6 +14,7 @@ import { registerWhoami } from './commands/whoami.js';
14
14
  import { registerCompletions } from './commands/completions.js';
15
15
  import { registerConfig } from './commands/config-cmd.js';
16
16
  import { registerInit } from './commands/init.js';
17
+ import { createCreateCommand } from './commands/create.js';
17
18
  const program = new Command();
18
19
  program.name('agentage').description('Agentage CLI — control plane for AI agents').version(VERSION);
19
20
  registerRun(program);
@@ -29,6 +30,7 @@ registerWhoami(program);
29
30
  registerCompletions(program);
30
31
  registerConfig(program);
31
32
  registerInit(program);
33
+ program.addCommand(createCreateCommand());
32
34
  program.parseAsync().then(() => {
33
35
  // Force exit — forked daemon process can keep the event loop alive
34
36
  setTimeout(() => process.exit(process.exitCode ?? 0), 100);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpG,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,mEAAmE;IACnE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpG,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IAC7B,mEAAmE;IACnE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const createCreateCommand: () => Command;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2EpC,eAAO,MAAM,mBAAmB,QAAO,OAiDtC,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { join, resolve } from 'node:path';
3
+ import { Command } from 'commander';
4
+ import chalk from 'chalk';
5
+ const TEMPLATES = {
6
+ simple: {
7
+ content: (name) => `import { agent, output } from '@agentage/core';
8
+
9
+ export default agent({
10
+ name: '${name}',
11
+ description: 'A simple agent',
12
+ async *run({ task }) {
13
+ yield output(\`Running: \${task}\`);
14
+ },
15
+ });
16
+ `,
17
+ },
18
+ shell: {
19
+ content: (name) => `import { agent, shell } from '@agentage/core';
20
+
21
+ export default agent({
22
+ name: '${name}',
23
+ description: 'Executes a shell command and streams output',
24
+ async *run({ task }) {
25
+ yield* shell(task);
26
+ },
27
+ });
28
+ `,
29
+ },
30
+ claude: {
31
+ deps: ['@anthropic-ai/claude-agent-sdk'],
32
+ content: (name) => `import { agent, claude } from '@agentage/core';
33
+
34
+ export default agent({
35
+ name: '${name}',
36
+ description: 'Runs a task using Claude Code',
37
+ async *run({ task }, { signal }) {
38
+ yield* claude(task, {
39
+ signal,
40
+ tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash'],
41
+ maxTurns: 10,
42
+ });
43
+ },
44
+ });
45
+ `,
46
+ },
47
+ copilot: {
48
+ deps: ['@github/copilot-sdk'],
49
+ content: (name) => `import { agent, copilot } from '@agentage/core';
50
+
51
+ export default agent({
52
+ name: '${name}',
53
+ description: 'Runs a task using GitHub Copilot',
54
+ async *run({ task }, { signal }) {
55
+ yield* copilot(task, { signal, model: 'gpt-4o' });
56
+ },
57
+ });
58
+ `,
59
+ },
60
+ llm: {
61
+ content: (name) => `import { agent } from '@agentage/core';
62
+
63
+ export default agent({
64
+ name: '${name}',
65
+ description: 'An LLM-powered agent',
66
+ model: 'claude-sonnet-4-6',
67
+ tools: ['read', 'glob', 'grep'],
68
+ prompt: \`You are a helpful assistant.
69
+ Respond concisely and cite sources when possible.\`,
70
+ });
71
+ `,
72
+ },
73
+ };
74
+ const KEBAB_CASE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
75
+ export const createCreateCommand = () => {
76
+ const cmd = new Command('create')
77
+ .description('Scaffold a new agent from a template')
78
+ .argument('<name>', 'Agent name (kebab-case)')
79
+ .option('-t, --template <template>', 'Template: simple, shell, claude, copilot, llm', 'simple')
80
+ .option('-d, --dir <dir>', 'Output directory', '.')
81
+ .action(async (name, options) => {
82
+ if (!KEBAB_CASE.test(name)) {
83
+ console.error(chalk.red(`Invalid name "${name}". Use kebab-case (e.g. my-agent).`));
84
+ process.exitCode = 1;
85
+ return;
86
+ }
87
+ const template = TEMPLATES[options.template];
88
+ if (!template) {
89
+ console.error(chalk.red(`Unknown template "${options.template}". Available: ${Object.keys(TEMPLATES).join(', ')}`));
90
+ process.exitCode = 1;
91
+ return;
92
+ }
93
+ const dir = resolve(options.dir);
94
+ const filePath = join(dir, `${name}.agent.ts`);
95
+ if (existsSync(filePath)) {
96
+ console.error(chalk.red(`File already exists: ${filePath}`));
97
+ process.exitCode = 1;
98
+ return;
99
+ }
100
+ mkdirSync(dir, { recursive: true });
101
+ writeFileSync(filePath, template.content(name));
102
+ console.log(chalk.green(`Created ${filePath}`));
103
+ if (template.deps?.length) {
104
+ console.log(chalk.yellow(`\nInstall dependencies:\n npm install ${template.deps.join(' ')}`));
105
+ }
106
+ console.log(chalk.dim(`\nTo use:\n cp ${filePath} ~/.agentage/agents/\n agentage agents --refresh`));
107
+ });
108
+ return cmd;
109
+ };
110
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-factory.d.ts","sourceRoot":"","sources":["../../src/discovery/code-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO/D,eAAO,MAAM,iBAAiB,QACxB,YAgCH,CAAC"}
1
+ {"version":3,"file":"code-factory.d.ts","sourceRoot":"","sources":["../../src/discovery/code-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAc/D,eAAO,MAAM,iBAAiB,QACxB,YAuCH,CAAC"}
@@ -1,7 +1,13 @@
1
1
  import { basename } from 'node:path';
2
2
  import { createJiti } from 'jiti';
3
3
  import { logDebug, logWarn } from '../daemon/logger.js';
4
- const matches = (filePath) => basename(filePath) === 'agent.ts' || basename(filePath) === 'agent.js';
4
+ const matches = (filePath) => {
5
+ const name = basename(filePath);
6
+ return (name === 'agent.ts' ||
7
+ name === 'agent.js' ||
8
+ (name.endsWith('.agent.ts') && name.length > '.agent.ts'.length) ||
9
+ (name.endsWith('.agent.js') && name.length > '.agent.js'.length));
10
+ };
5
11
  export const createCodeFactory = () => async (filePath) => {
6
12
  if (!matches(filePath))
7
13
  return null;
@@ -18,7 +24,12 @@ export const createCodeFactory = () => async (filePath) => {
18
24
  'manifest' in agent &&
19
25
  'run' in agent &&
20
26
  typeof agent.run === 'function') {
21
- return agent;
27
+ const agentObj = agent;
28
+ // Auto-inject path if missing (D2)
29
+ if (!agentObj.manifest.path) {
30
+ agentObj.manifest.path = filePath;
31
+ }
32
+ return agentObj;
22
33
  }
23
34
  logWarn(`Module at ${filePath} does not export a valid Agent`);
24
35
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"code-factory.js","sourceRoot":"","sources":["../../src/discovery/code-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAW,EAAE,CAC5C,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,GAAiB,EAAE,CACnB,KAAK,EAAE,QAAgB,EAAyB,EAAE;IAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,QAAQ,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE;YAChC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAkD,CAAC;QAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QAEjC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,UAAU,IAAI,KAAK;YACnB,KAAK,IAAI,KAAK;YACd,OAAO,KAAK,CAAC,GAAG,KAAK,UAAU,EAC/B,CAAC;YACD,OAAO,KAAc,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,aAAa,QAAQ,gCAAgC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,kCAAkC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"code-factory.js","sourceRoot":"","sources":["../../src/discovery/code-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAW,EAAE;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CACL,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,UAAU;QACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAChE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,GAAiB,EAAE,CACnB,KAAK,EAAE,QAAgB,EAAyB,EAAE;IAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,QAAQ,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE;YAChC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAkD,CAAC;QAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QAEjC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,UAAU,IAAI,KAAK;YACnB,KAAK,IAAI,KAAK;YACd,OAAO,KAAK,CAAC,GAAG,KAAK,UAAU,EAC/B,CAAC;YACD,MAAM,QAAQ,GAAG,KAAc,CAAC;YAEhC,mCAAmC;YACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,QAAQ,CAAC,QAA6B,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC1D,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,aAAa,QAAQ,gCAAgC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,kCAAkC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=claude-agent.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.agent.d.ts","sourceRoot":"","sources":["../../src/examples/claude-agent.agent.ts"],"names":[],"mappings":";AAEA,wBAUG"}
@@ -0,0 +1,13 @@
1
+ import { agent, claude } from '@agentage/core';
2
+ export default agent({
3
+ name: 'claude-agent',
4
+ description: 'Runs a task using Claude Code with Read, Glob, Grep, Bash tools',
5
+ async *run({ task }, { signal }) {
6
+ yield* claude(task, {
7
+ signal,
8
+ tools: ['Read', 'Write', 'Edit', 'Glob', 'Grep', 'Bash'],
9
+ maxTurns: 10,
10
+ });
11
+ },
12
+ });
13
+ //# sourceMappingURL=claude-agent.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.agent.js","sourceRoot":"","sources":["../../src/examples/claude-agent.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iEAAiE;IAC9E,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE;QAC7B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,MAAM;YACN,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACxD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=code-reviewer.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-reviewer.agent.d.ts","sourceRoot":"","sources":["../../src/examples/code-reviewer.agent.ts"],"names":[],"mappings":";AAEA,wBAQG"}
@@ -0,0 +1,11 @@
1
+ import { agent } from '@agentage/core';
2
+ export default agent({
3
+ name: 'code-reviewer',
4
+ description: 'Reviews code for quality issues',
5
+ model: 'claude-sonnet-4-6',
6
+ tools: ['read', 'glob', 'grep'],
7
+ prompt: `You are a senior code reviewer.
8
+ Focus on correctness, performance, and readability.
9
+ Always cite file:line when reporting issues.`,
10
+ });
11
+ //# sourceMappingURL=code-reviewer.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-reviewer.agent.js","sourceRoot":"","sources":["../../src/examples/code-reviewer.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE;;6CAEmC;CAC5C,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=copilot.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.agent.d.ts","sourceRoot":"","sources":["../../src/examples/copilot.agent.ts"],"names":[],"mappings":";AAEA,wBAMG"}
@@ -0,0 +1,9 @@
1
+ import { agent, copilot } from '@agentage/core';
2
+ export default agent({
3
+ name: 'copilot',
4
+ description: 'Runs a task using GitHub Copilot',
5
+ async *run({ task }, { signal }) {
6
+ yield* copilot(task, { signal, model: 'gpt-4o' });
7
+ },
8
+ });
9
+ //# sourceMappingURL=copilot.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.agent.js","sourceRoot":"","sources":["../../src/examples/copilot.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,kCAAkC;IAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE;QAC7B,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=countdown.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countdown.agent.d.ts","sourceRoot":"","sources":["../../src/examples/countdown.agent.ts"],"names":[],"mappings":";AAEA,wBAWG"}
@@ -0,0 +1,15 @@
1
+ import { agent, output, progress } from '@agentage/core';
2
+ export default agent({
3
+ name: 'countdown',
4
+ description: 'Counts down from 5 to 0 with 1-second delays',
5
+ async *run({ config }, { sleep }) {
6
+ const start = Number(config?.start ?? 5);
7
+ for (let i = start; i >= 0; i--) {
8
+ yield output(`${i}`);
9
+ yield progress(((start - i) / start) * 100, `${i}...`);
10
+ if (i > 0)
11
+ await sleep(1000);
12
+ }
13
+ },
14
+ });
15
+ //# sourceMappingURL=countdown.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countdown.agent.js","sourceRoot":"","sources":["../../src/examples/countdown.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzD,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,8CAA8C;IAC3D,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=hello.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hello.agent.d.ts","sourceRoot":"","sources":["../../src/examples/hello.agent.ts"],"names":[],"mappings":";AAEA,wBAMG"}
@@ -0,0 +1,9 @@
1
+ import { agent, output } from '@agentage/core';
2
+ export default agent({
3
+ name: 'hello',
4
+ description: 'Says hello',
5
+ async *run({ task }) {
6
+ yield output(`Hello, ${task}!`);
7
+ },
8
+ });
9
+ //# sourceMappingURL=hello.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hello.agent.js","sourceRoot":"","sources":["../../src/examples/hello.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,YAAY;IACzB,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACjB,MAAM,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@agentage/core").Agent;
2
+ export default _default;
3
+ //# sourceMappingURL=shell.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.agent.d.ts","sourceRoot":"","sources":["../../src/examples/shell.agent.ts"],"names":[],"mappings":";AAEA,wBAMG"}
@@ -0,0 +1,9 @@
1
+ import { agent, shell } from '@agentage/core';
2
+ export default agent({
3
+ name: 'shell',
4
+ description: 'Executes a shell command and streams output',
5
+ async *run({ task }) {
6
+ yield* shell(task);
7
+ },
8
+ });
9
+ //# sourceMappingURL=shell.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.agent.js","sourceRoot":"","sources":["../../src/examples/shell.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAe,KAAK,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6CAA6C;IAC1D,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACjB,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentage/cli",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Agentage CLI and daemon — control plane for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,9 +29,9 @@
29
29
  "prepublishOnly": "npm run verify"
30
30
  },
31
31
  "dependencies": {
32
- "@agentage/core": "^0.2.0",
33
- "@agentage/platform": "^0.2.0",
34
- "@supabase/supabase-js": "2.99.3",
32
+ "@agentage/core": "^0.4.0",
33
+ "@agentage/platform": "^0.2.1",
34
+ "@supabase/supabase-js": "2.100.1",
35
35
  "chalk": "latest",
36
36
  "commander": "latest",
37
37
  "express": "latest",