@agentforge-ai/cli 0.3.2 → 0.4.1

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 (89) hide show
  1. package/dist/default/.env.example +46 -6
  2. package/dist/default/README.md +89 -9
  3. package/dist/default/convex/schema.ts +248 -4
  4. package/dist/default/dashboard/app/components/DashboardLayout.tsx +245 -0
  5. package/dist/default/dashboard/app/components/ui/badge.tsx +26 -0
  6. package/dist/default/dashboard/app/components/ui/button.tsx +41 -0
  7. package/dist/default/dashboard/app/components/ui/card.tsx +44 -0
  8. package/dist/default/dashboard/app/components/ui/dialog.tsx +66 -0
  9. package/dist/default/dashboard/app/components/ui/input.tsx +21 -0
  10. package/dist/default/dashboard/app/components/ui/label.tsx +18 -0
  11. package/dist/default/dashboard/app/components/ui/select.tsx +75 -0
  12. package/dist/default/dashboard/app/components/ui/sheet.tsx +73 -0
  13. package/dist/default/dashboard/app/components/ui/switch.tsx +34 -0
  14. package/dist/default/dashboard/app/components/ui/table.tsx +60 -0
  15. package/dist/default/dashboard/app/components/ui/tabs.tsx +50 -0
  16. package/dist/default/dashboard/app/components/ui/tooltip.tsx +23 -0
  17. package/dist/default/dashboard/app/lib/utils.ts +6 -0
  18. package/dist/default/dashboard/app/main.tsx +35 -0
  19. package/dist/default/dashboard/app/routeTree.gen.ts +352 -0
  20. package/dist/default/dashboard/app/routes/__root.tsx +10 -0
  21. package/dist/default/dashboard/app/routes/agents.tsx +255 -0
  22. package/dist/default/dashboard/app/routes/chat.tsx +427 -0
  23. package/dist/default/dashboard/app/routes/connections.tsx +413 -0
  24. package/dist/default/dashboard/app/routes/cron.tsx +322 -0
  25. package/dist/default/dashboard/app/routes/files.tsx +203 -0
  26. package/dist/default/dashboard/app/routes/index.tsx +141 -0
  27. package/dist/default/dashboard/app/routes/projects.tsx +254 -0
  28. package/dist/default/dashboard/app/routes/sessions.tsx +272 -0
  29. package/dist/default/dashboard/app/routes/settings.tsx +583 -0
  30. package/dist/default/dashboard/app/routes/skills.tsx +252 -0
  31. package/dist/default/dashboard/app/routes/usage.tsx +181 -0
  32. package/dist/default/dashboard/app/styles/globals.css +93 -0
  33. package/dist/default/dashboard/index.html +13 -0
  34. package/dist/default/dashboard/package.json +36 -0
  35. package/dist/default/dashboard/postcss.config.js +6 -0
  36. package/dist/default/dashboard/tailwind.config.js +50 -0
  37. package/dist/default/dashboard/tsconfig.json +24 -0
  38. package/dist/default/dashboard/vite.config.ts +16 -0
  39. package/dist/default/package.json +8 -3
  40. package/dist/default/skills/skill-creator/SKILL.md +270 -0
  41. package/dist/default/skills/skill-creator/config.json +11 -0
  42. package/dist/default/skills/skill-creator/index.ts +392 -0
  43. package/dist/default/src/agent.ts +85 -5
  44. package/dist/index.js +1574 -10
  45. package/dist/index.js.map +1 -1
  46. package/package.json +2 -1
  47. package/templates/default/.env.example +46 -6
  48. package/templates/default/README.md +89 -9
  49. package/templates/default/convex/schema.ts +248 -4
  50. package/templates/default/dashboard/app/components/DashboardLayout.tsx +245 -0
  51. package/templates/default/dashboard/app/components/ui/badge.tsx +26 -0
  52. package/templates/default/dashboard/app/components/ui/button.tsx +41 -0
  53. package/templates/default/dashboard/app/components/ui/card.tsx +44 -0
  54. package/templates/default/dashboard/app/components/ui/dialog.tsx +66 -0
  55. package/templates/default/dashboard/app/components/ui/input.tsx +21 -0
  56. package/templates/default/dashboard/app/components/ui/label.tsx +18 -0
  57. package/templates/default/dashboard/app/components/ui/select.tsx +75 -0
  58. package/templates/default/dashboard/app/components/ui/sheet.tsx +73 -0
  59. package/templates/default/dashboard/app/components/ui/switch.tsx +34 -0
  60. package/templates/default/dashboard/app/components/ui/table.tsx +60 -0
  61. package/templates/default/dashboard/app/components/ui/tabs.tsx +50 -0
  62. package/templates/default/dashboard/app/components/ui/tooltip.tsx +23 -0
  63. package/templates/default/dashboard/app/lib/utils.ts +6 -0
  64. package/templates/default/dashboard/app/main.tsx +35 -0
  65. package/templates/default/dashboard/app/routeTree.gen.ts +352 -0
  66. package/templates/default/dashboard/app/routes/__root.tsx +10 -0
  67. package/templates/default/dashboard/app/routes/agents.tsx +255 -0
  68. package/templates/default/dashboard/app/routes/chat.tsx +427 -0
  69. package/templates/default/dashboard/app/routes/connections.tsx +413 -0
  70. package/templates/default/dashboard/app/routes/cron.tsx +322 -0
  71. package/templates/default/dashboard/app/routes/files.tsx +203 -0
  72. package/templates/default/dashboard/app/routes/index.tsx +141 -0
  73. package/templates/default/dashboard/app/routes/projects.tsx +254 -0
  74. package/templates/default/dashboard/app/routes/sessions.tsx +272 -0
  75. package/templates/default/dashboard/app/routes/settings.tsx +583 -0
  76. package/templates/default/dashboard/app/routes/skills.tsx +252 -0
  77. package/templates/default/dashboard/app/routes/usage.tsx +181 -0
  78. package/templates/default/dashboard/app/styles/globals.css +93 -0
  79. package/templates/default/dashboard/index.html +13 -0
  80. package/templates/default/dashboard/package.json +36 -0
  81. package/templates/default/dashboard/postcss.config.js +6 -0
  82. package/templates/default/dashboard/tailwind.config.js +50 -0
  83. package/templates/default/dashboard/tsconfig.json +24 -0
  84. package/templates/default/dashboard/vite.config.ts +16 -0
  85. package/templates/default/package.json +8 -3
  86. package/templates/default/skills/skill-creator/SKILL.md +270 -0
  87. package/templates/default/skills/skill-creator/config.json +11 -0
  88. package/templates/default/skills/skill-creator/index.ts +392 -0
  89. package/templates/default/src/agent.ts +85 -5
@@ -1,22 +1,102 @@
1
1
  import { Agent } from '@agentforge-ai/core';
2
+ import { AgentForgeWorkspace } from '@agentforge-ai/core/workspace';
2
3
 
3
4
  /**
4
- * A sample AgentForge agent.
5
+ * AgentForge Your First Agent
5
6
  *
6
- * This is a starting point for your own agent. Modify the instructions,
7
- * model, and tools to suit your needs.
7
+ * This starter agent demonstrates how to configure an AI agent with
8
+ * AgentForge's multi-provider support and Mastra Workspace integration.
9
+ *
10
+ * Workspace gives your agent:
11
+ * - Filesystem: Read, write, list, and delete files
12
+ * - Sandbox: Execute shell commands
13
+ * - Skills: Discover and activate reusable instructions
14
+ * - Search: BM25 keyword search over indexed content
15
+ *
16
+ * Set your provider and API key in the .env file:
17
+ * OPENAI_API_KEY=sk-...
18
+ * OPENROUTER_API_KEY=sk-or-...
19
+ * ANTHROPIC_API_KEY=sk-ant-...
8
20
  */
21
+
22
+ // ─── Workspace Setup ──────────────────────────────────────────────────
23
+ // The workspace provides persistent file storage, command execution,
24
+ // skill discovery, and content search for your agents.
25
+ const workspace = AgentForgeWorkspace.local({
26
+ basePath: './workspace',
27
+ skills: ['/skills'],
28
+ search: true,
29
+ autoIndexPaths: ['/skills'],
30
+ sandbox: true,
31
+ });
32
+
33
+ // Initialize workspace (triggers auto-indexing)
34
+ await workspace.init();
35
+
36
+ // ─── Main Agent ────────────────────────────────────────────────────────
9
37
  const myAgent = new Agent({
10
38
  id: 'my-first-agent',
11
39
  name: 'My First Agent',
12
40
  instructions: `You are a helpful AI assistant built with AgentForge.
13
41
  You can help users with a variety of tasks.
14
- Be concise, accurate, and friendly.`,
42
+ Be concise, accurate, and friendly.
43
+
44
+ You have access to a workspace with file management, command execution,
45
+ and skill discovery capabilities. Use them when appropriate.
46
+
47
+ When you don't know something, say so honestly.
48
+ When asked about your capabilities, mention that you're powered by AgentForge.`,
49
+
50
+ // Choose your model — supports multiple providers:
51
+ // OpenAI: "openai:gpt-4o-mini", "openai:gpt-4o"
52
+ // OpenRouter: "openrouter:anthropic/claude-3.5-sonnet", "openrouter:google/gemini-pro"
53
+ // Anthropic: "anthropic:claude-3-5-sonnet-20241022"
54
+ // Google: "google:gemini-2.0-flash"
55
+ // xAI: "xai:grok-2"
15
56
  model: 'openai:gpt-4o-mini',
16
57
  });
17
58
 
59
+ export { workspace };
18
60
  export default myAgent;
19
61
 
20
- // Example usage:
62
+ // ─── Example: Cloud Workspace (Cloudflare R2) ─────────────────────────
63
+ // For production deployment on Cloudflare, use a cloud workspace:
64
+ //
65
+ // const cloudWorkspace = AgentForgeWorkspace.cloud({
66
+ // bucket: 'my-agent-files',
67
+ // region: 'auto',
68
+ // endpoint: process.env.R2_ENDPOINT,
69
+ // accessKeyId: process.env.R2_ACCESS_KEY_ID,
70
+ // secretAccessKey: process.env.R2_SECRET_ACCESS_KEY,
71
+ // skills: ['/skills'],
72
+ // });
73
+
74
+ // ─── Example: Agent with Custom Tools ──────────────────────────────────
75
+ // import { z } from 'zod';
76
+ //
77
+ // const researchAgent = new Agent({
78
+ // id: 'research-agent',
79
+ // name: 'Research Agent',
80
+ // instructions: 'You are a research assistant that helps find and summarize information.',
81
+ // model: 'openrouter:anthropic/claude-3.5-sonnet',
82
+ // tools: [
83
+ // {
84
+ // name: 'calculator',
85
+ // description: 'Perform mathematical calculations',
86
+ // inputSchema: z.object({ expression: z.string() }),
87
+ // outputSchema: z.object({ result: z.number() }),
88
+ // handler: async (input) => {
89
+ // const result = Function('"use strict"; return (' + input.expression + ')')();
90
+ // return { result };
91
+ // },
92
+ // },
93
+ // ],
94
+ // });
95
+
96
+ // ─── Example: Using the Agent ──────────────────────────────────────────
21
97
  // const response = await myAgent.generate('Hello, what can you do?');
22
98
  // console.log(response.text);
99
+ //
100
+ // ─── Example: Searching Workspace Content ──────────────────────────────
101
+ // const results = await workspace.search('code review');
102
+ // console.log(results);