create-agentmark 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +12 -9
- package/dist/index.js.map +1 -1
- package/dist/utils/examples/create-example-app.d.ts +1 -1
- package/dist/utils/examples/create-example-app.d.ts.map +1 -1
- package/dist/utils/examples/create-example-app.js +49 -20
- package/dist/utils/examples/create-example-app.js.map +1 -1
- package/dist/utils/examples/templates/adapters.d.ts +15 -0
- package/dist/utils/examples/templates/adapters.d.ts.map +1 -0
- package/dist/utils/examples/templates/adapters.js +28 -0
- package/dist/utils/examples/templates/adapters.js.map +1 -0
- package/dist/utils/examples/templates/app-index.d.ts +1 -1
- package/dist/utils/examples/templates/app-index.d.ts.map +1 -1
- package/dist/utils/examples/templates/app-index.js +53 -2
- package/dist/utils/examples/templates/app-index.js.map +1 -1
- package/dist/utils/examples/templates/env.d.ts +1 -1
- package/dist/utils/examples/templates/env.d.ts.map +1 -1
- package/dist/utils/examples/templates/env.js +3 -21
- package/dist/utils/examples/templates/env.js.map +1 -1
- package/dist/utils/examples/templates/example-prompts.d.ts +1 -1
- package/dist/utils/examples/templates/example-prompts.d.ts.map +1 -1
- package/dist/utils/examples/templates/example-prompts.js +15 -11
- package/dist/utils/examples/templates/example-prompts.js.map +1 -1
- package/dist/utils/examples/templates/index.d.ts +1 -0
- package/dist/utils/examples/templates/index.d.ts.map +1 -1
- package/dist/utils/examples/templates/index.js +1 -0
- package/dist/utils/examples/templates/index.js.map +1 -1
- package/dist/utils/examples/templates/package-setup.d.ts +1 -1
- package/dist/utils/examples/templates/package-setup.d.ts.map +1 -1
- package/dist/utils/examples/templates/package-setup.js +12 -9
- package/dist/utils/examples/templates/package-setup.js.map +1 -1
- package/dist/utils/examples/templates/user-client-config.d.ts +1 -0
- package/dist/utils/examples/templates/user-client-config.d.ts.map +1 -1
- package/dist/utils/examples/templates/user-client-config.js +9 -8
- package/dist/utils/examples/templates/user-client-config.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
import prompts from "prompts";
|
|
4
|
-
import {
|
|
5
|
-
import { createExampleApp } from "./utils/examples/create-example-app.js";
|
|
4
|
+
import { createExampleApp } from "./utils/examples/create-example-app";
|
|
6
5
|
const main = async () => {
|
|
7
6
|
const config = {
|
|
8
7
|
$schema: "https://raw.githubusercontent.com/agentmark-ai/agentmark/refs/heads/main/packages/cli/agentmark.schema.json",
|
|
@@ -20,12 +19,7 @@ const main = async () => {
|
|
|
20
19
|
// Create the target folder
|
|
21
20
|
const targetPath = `./${folderName}`;
|
|
22
21
|
fs.ensureDirSync(targetPath);
|
|
23
|
-
|
|
24
|
-
const provider = 'openai';
|
|
25
|
-
// Default to the first language model of the chosen provider
|
|
26
|
-
const model = Providers[provider].languageModels[0];
|
|
27
|
-
// Model is selected implicitly for setup; no need to log
|
|
28
|
-
config.builtInModels = [model];
|
|
22
|
+
config.builtInModels = ['gpt-4o'];
|
|
29
23
|
// Prompt only for the OpenAI API key
|
|
30
24
|
let apiKey = "";
|
|
31
25
|
const { providedApiKey } = await prompts({
|
|
@@ -35,6 +29,15 @@ const main = async () => {
|
|
|
35
29
|
initial: "",
|
|
36
30
|
});
|
|
37
31
|
apiKey = providedApiKey || "";
|
|
32
|
+
const { adapter } = await prompts({
|
|
33
|
+
name: "adapter",
|
|
34
|
+
type: "select",
|
|
35
|
+
message: "Which adapter would you like to use?",
|
|
36
|
+
choices: [
|
|
37
|
+
{ title: "AI SDK (Vercel)", value: "ai-sdk" },
|
|
38
|
+
{ title: "Mastra", value: "mastra" },
|
|
39
|
+
],
|
|
40
|
+
});
|
|
38
41
|
const { client } = await prompts({
|
|
39
42
|
name: "client",
|
|
40
43
|
type: "select",
|
|
@@ -47,7 +50,7 @@ const main = async () => {
|
|
|
47
50
|
{ title: "Skip", value: "skip" },
|
|
48
51
|
],
|
|
49
52
|
});
|
|
50
|
-
await createExampleApp(
|
|
53
|
+
await createExampleApp(client, targetPath, apiKey, adapter);
|
|
51
54
|
// Always generate agentmark.json so config is consistent
|
|
52
55
|
fs.writeJsonSync(`${targetPath}/agentmark.json`, config, { spaces: 2 });
|
|
53
56
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,MAAM,GAAQ;QAClB,OAAO,EACL,6GAA6G;QAC/G,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,GAAG;KACnB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,CAAC;QACnC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC;IACrC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE7B,MAAM,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;IAElC,qCAAqC;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,CAAC;QACvC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,qDAAqD;QAC9D,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IACH,MAAM,GAAG,cAAc,IAAI,EAAE,CAAC;IAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC;QAChC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC7C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;QAC/B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,mCAAmC;QAC5C,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;YAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACrC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SACjC;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5D,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,iBAAiB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const createExampleApp: (
|
|
1
|
+
export declare const createExampleApp: (client: string, targetPath?: string, apiKey?: string, adapter?: string) => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=create-example-app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-example-app.d.ts","sourceRoot":"","sources":["../../../src/utils/examples/create-example-app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-example-app.d.ts","sourceRoot":"","sources":["../../../src/utils/examples/create-example-app.ts"],"names":[],"mappings":"AA0HA,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,aAAY,MAAY,EACxB,SAAQ,MAAW,EACnB,UAAS,MAAiB,kBA0K3B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
|
+
import { readFileSync, writeFileSync, existsSync } from "fs";
|
|
2
3
|
import * as path from "path";
|
|
3
4
|
import { Providers } from "../providers.js";
|
|
4
|
-
import { setupPackageJson, installDependencies, getIndexFileContent, getTsConfigContent, getEnvFileContent, createExamplePrompts, getClientConfigContent, } from "./templates/index.js";
|
|
5
|
+
import { setupPackageJson, installDependencies, getIndexFileContent, getTsConfigContent, getEnvFileContent, createExamplePrompts, getClientConfigContent, getAdapterConfig, } from "./templates/index.js";
|
|
5
6
|
import { fetchPromptsFrontmatter, generateTypeDefinitions } from "@agentmark/shared-utils";
|
|
6
7
|
const setupMCPServer = (client, targetPath) => {
|
|
7
8
|
if (client === "skip") {
|
|
@@ -98,8 +99,10 @@ const setupMCPServer = (client, targetPath) => {
|
|
|
98
99
|
return;
|
|
99
100
|
}
|
|
100
101
|
};
|
|
101
|
-
export const createExampleApp = async (
|
|
102
|
+
export const createExampleApp = async (client, targetPath = ".", apiKey = "", adapter = "ai-sdk") => {
|
|
102
103
|
try {
|
|
104
|
+
const modelProvider = 'openai';
|
|
105
|
+
const model = 'gpt-4o';
|
|
103
106
|
console.log("Creating Agent Mark example app...");
|
|
104
107
|
// Keep ./ prefix for display in messages
|
|
105
108
|
const folderName = targetPath;
|
|
@@ -107,24 +110,24 @@ export const createExampleApp = async (modelProvider, model, client, targetPath
|
|
|
107
110
|
fs.ensureDirSync(`${targetPath}/agentmark`);
|
|
108
111
|
setupMCPServer(client, targetPath);
|
|
109
112
|
// Create example prompts
|
|
110
|
-
createExamplePrompts(model, targetPath);
|
|
113
|
+
createExamplePrompts(model, targetPath, adapter);
|
|
111
114
|
console.log(`✅ Example prompts and datasets created in ${folderName}/agentmark/`);
|
|
112
115
|
// Create user client config at project root
|
|
113
116
|
// Prefer TS for dev ergonomics
|
|
114
117
|
const langModels = Providers[modelProvider].languageModels.slice(0, 1);
|
|
115
|
-
fs.writeFileSync(`${targetPath}/agentmark.client.ts`, getClientConfigContent({ provider: modelProvider, languageModels: langModels }));
|
|
118
|
+
fs.writeFileSync(`${targetPath}/agentmark.client.ts`, getClientConfigContent({ provider: modelProvider, languageModels: langModels, adapter }));
|
|
116
119
|
// Create .env file
|
|
117
120
|
fs.writeFileSync(`${targetPath}/.env`, getEnvFileContent(modelProvider, apiKey));
|
|
118
121
|
// Create .gitignore
|
|
119
122
|
const gitignore = ['node_modules', '.env', '*.agentmark-outputs/', '.agentmark'].join('\n');
|
|
120
123
|
fs.writeFileSync(`${targetPath}/.gitignore`, gitignore);
|
|
121
124
|
// Create the main application file
|
|
122
|
-
fs.writeFileSync(`${targetPath}/index.ts`, getIndexFileContent());
|
|
125
|
+
fs.writeFileSync(`${targetPath}/index.ts`, getIndexFileContent(adapter));
|
|
123
126
|
// Create tsconfig.json
|
|
124
127
|
fs.writeJsonSync(`${targetPath}/tsconfig.json`, getTsConfigContent(), { spaces: 2 });
|
|
125
128
|
// Setup package.json and install dependencies
|
|
126
129
|
setupPackageJson(targetPath);
|
|
127
|
-
installDependencies(modelProvider, targetPath);
|
|
130
|
+
installDependencies(modelProvider, targetPath, adapter);
|
|
128
131
|
// Generate types file using the type generation library
|
|
129
132
|
console.log("Generating types from prompts...");
|
|
130
133
|
try {
|
|
@@ -143,33 +146,42 @@ export const createExampleApp = async (modelProvider, model, client, targetPath
|
|
|
143
146
|
console.log("Creating development server entry point...");
|
|
144
147
|
const agentmarkInternalDir = path.join(targetPath, '.agentmark');
|
|
145
148
|
fs.ensureDirSync(agentmarkInternalDir);
|
|
146
|
-
//
|
|
147
|
-
const
|
|
148
|
-
const
|
|
149
|
-
const devEntryContent = `// Auto-generated
|
|
149
|
+
// Get adapter-specific values from config
|
|
150
|
+
const adapterConfig = getAdapterConfig(adapter);
|
|
151
|
+
const { webhookHandler } = adapterConfig.classes;
|
|
152
|
+
const devEntryContent = `// Auto-generated webhook server entry point
|
|
150
153
|
// To customize, create a dev-server.ts file in your project root
|
|
151
154
|
|
|
152
|
-
import {
|
|
153
|
-
import { ${
|
|
155
|
+
import { createWebhookServer } from '@agentmark/cli/runner-server';
|
|
156
|
+
import { ${webhookHandler} } from '${adapterConfig.package}/runner';
|
|
157
|
+
import { AgentMarkSDK } from '@agentmark/sdk';
|
|
154
158
|
import path from 'path';
|
|
155
159
|
|
|
156
160
|
async function main() {
|
|
157
161
|
const { client } = await import('../agentmark.client.js');
|
|
158
162
|
|
|
159
163
|
const args = process.argv.slice(2);
|
|
160
|
-
const
|
|
164
|
+
const webhookPortArg = args.find(arg => arg.startsWith('--webhook-port='));
|
|
161
165
|
const fileServerPortArg = args.find(arg => arg.startsWith('--file-server-port='));
|
|
162
166
|
|
|
163
|
-
const
|
|
167
|
+
const webhookPort = webhookPortArg ? parseInt(webhookPortArg.split('=')[1]) : 9417;
|
|
164
168
|
const fileServerPort = fileServerPortArg ? parseInt(fileServerPortArg.split('=')[1]) : 9418;
|
|
165
169
|
|
|
166
|
-
|
|
170
|
+
// Initialize OpenTelemetry tracing to export traces to the API server
|
|
167
171
|
const fileServerUrl = \`http://localhost:\${fileServerPort}\`;
|
|
172
|
+
const sdk = new AgentMarkSDK({
|
|
173
|
+
apiKey: '',
|
|
174
|
+
appId: '',
|
|
175
|
+
baseUrl: fileServerUrl,
|
|
176
|
+
});
|
|
177
|
+
sdk.initTracing({ disableBatch: true });
|
|
178
|
+
|
|
179
|
+
const handler = new ${webhookHandler}(client as any);
|
|
168
180
|
const templatesDirectory = path.join(process.cwd(), 'agentmark');
|
|
169
181
|
|
|
170
|
-
await
|
|
171
|
-
port:
|
|
172
|
-
|
|
182
|
+
await createWebhookServer({
|
|
183
|
+
port: webhookPort,
|
|
184
|
+
handler,
|
|
173
185
|
fileServerUrl,
|
|
174
186
|
templatesDirectory
|
|
175
187
|
});
|
|
@@ -181,6 +193,22 @@ main().catch((err) => {
|
|
|
181
193
|
});
|
|
182
194
|
`;
|
|
183
195
|
fs.writeFileSync(path.join(agentmarkInternalDir, 'dev-entry.ts'), devEntryContent);
|
|
196
|
+
// Create .env file with webhook URL configuration
|
|
197
|
+
// Always use Express runner server (port 9417) for local development
|
|
198
|
+
// regardless of deployment platform
|
|
199
|
+
const webhookUrl = 'http://localhost:9417';
|
|
200
|
+
const envPath = path.join(targetPath, '.env');
|
|
201
|
+
let envContent = '';
|
|
202
|
+
if (existsSync(envPath)) {
|
|
203
|
+
envContent = readFileSync(envPath, 'utf8');
|
|
204
|
+
if (!envContent.includes('AGENTMARK_WEBHOOK_URL')) {
|
|
205
|
+
envContent += `\n# AgentMark runner server URL\nAGENTMARK_WEBHOOK_URL=${webhookUrl}\n`;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
envContent = `# AgentMark runner server URL\nAGENTMARK_WEBHOOK_URL=${webhookUrl}\n\n# Add your API keys here\n# OPENAI_API_KEY=your-key-here\n`;
|
|
210
|
+
}
|
|
211
|
+
writeFileSync(envPath, envContent, 'utf8');
|
|
184
212
|
// Success message
|
|
185
213
|
console.log("\n✅ Agentmark initialization completed successfully!");
|
|
186
214
|
console.log(`
|
|
@@ -195,7 +223,8 @@ main().catch((err) => {
|
|
|
195
223
|
console.log('\n' + '═'.repeat(70));
|
|
196
224
|
console.log('Next Steps');
|
|
197
225
|
console.log('═'.repeat(70));
|
|
198
|
-
|
|
226
|
+
// Simplified instructions - always just "npm run dev"
|
|
227
|
+
console.log('\n Get Started:');
|
|
199
228
|
if (folderName !== "." && folderName !== "./") {
|
|
200
229
|
console.log(` $ cd ${folderName}`);
|
|
201
230
|
}
|
|
@@ -203,7 +232,7 @@ main().catch((err) => {
|
|
|
203
232
|
console.log('─'.repeat(70));
|
|
204
233
|
console.log('Resources');
|
|
205
234
|
console.log('─'.repeat(70));
|
|
206
|
-
console.log('
|
|
235
|
+
console.log(' Documentation: https://docs.agentmark.co');
|
|
207
236
|
console.log('═'.repeat(70) + '\n');
|
|
208
237
|
}
|
|
209
238
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-example-app.js","sourceRoot":"","sources":["../../../src/utils/examples/create-example-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"create-example-app.js","sourceRoot":"","sources":["../../../src/utils/examples/create-example-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AdapterConfig {
|
|
2
|
+
/** npm package name for the adapter */
|
|
3
|
+
package: string;
|
|
4
|
+
/** Additional npm packages required by this adapter */
|
|
5
|
+
dependencies: string[];
|
|
6
|
+
/** Class names used in generated code */
|
|
7
|
+
classes: {
|
|
8
|
+
modelRegistry: string;
|
|
9
|
+
toolRegistry: string;
|
|
10
|
+
webhookHandler: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare const ADAPTERS: Record<string, AdapterConfig>;
|
|
14
|
+
export declare function getAdapterConfig(adapter: string): AdapterConfig;
|
|
15
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/adapters.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yCAAyC;IACzC,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAmBlD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAM/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const ADAPTERS = {
|
|
2
|
+
'ai-sdk': {
|
|
3
|
+
package: '@agentmark/ai-sdk-v5-adapter',
|
|
4
|
+
dependencies: ['ai@^5'],
|
|
5
|
+
classes: {
|
|
6
|
+
modelRegistry: 'VercelAIModelRegistry',
|
|
7
|
+
toolRegistry: 'VercelAIToolRegistry',
|
|
8
|
+
webhookHandler: 'VercelAdapterWebhookHandler',
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
'mastra': {
|
|
12
|
+
package: '@agentmark/mastra-v0-adapter',
|
|
13
|
+
dependencies: ['@mastra/core@<0.20.0', '@mastra/mcp@<0.13.4'],
|
|
14
|
+
classes: {
|
|
15
|
+
modelRegistry: 'MastraModelRegistry',
|
|
16
|
+
toolRegistry: 'MastraToolRegistry',
|
|
17
|
+
webhookHandler: 'MastraAdapterWebhookHandler',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export function getAdapterConfig(adapter) {
|
|
22
|
+
const config = ADAPTERS[adapter];
|
|
23
|
+
if (!config) {
|
|
24
|
+
throw new Error(`Unknown adapter: ${adapter}. Available adapters: ${Object.keys(ADAPTERS).join(', ')}`);
|
|
25
|
+
}
|
|
26
|
+
return config;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/adapters.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD,QAAQ,EAAE;QACR,OAAO,EAAE,8BAA8B;QACvC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,OAAO,EAAE;YACP,aAAa,EAAE,uBAAuB;YACtC,YAAY,EAAE,sBAAsB;YACpC,cAAc,EAAE,6BAA6B;SAC9C;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,8BAA8B;QACvC,YAAY,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;QAC7D,OAAO,EAAE;YACP,aAAa,EAAE,qBAAqB;YACpC,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,6BAA6B;SAC9C;KACF;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,yBAAyB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const getIndexFileContent: () => string;
|
|
1
|
+
export declare const getIndexFileContent: (adapter?: string) => string;
|
|
2
2
|
//# sourceMappingURL=app-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-index.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/app-index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"app-index.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/app-index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,UAAS,MAAiB,KAAG,MA4FhE,CAAC"}
|
|
@@ -1,5 +1,55 @@
|
|
|
1
|
-
export const getIndexFileContent = () => {
|
|
2
|
-
|
|
1
|
+
export const getIndexFileContent = (adapter = "ai-sdk") => {
|
|
2
|
+
if (adapter === "mastra") {
|
|
3
|
+
return `import "dotenv/config";
|
|
4
|
+
import { Agent } from "@mastra/core/agent";
|
|
5
|
+
import { client } from "./agentmark.client";
|
|
6
|
+
|
|
7
|
+
const telemetry = {
|
|
8
|
+
isEnabled: true,
|
|
9
|
+
metadata: {
|
|
10
|
+
traceId: "trace-123",
|
|
11
|
+
traceName: "customer-support",
|
|
12
|
+
userId: "user-123",
|
|
13
|
+
sessionId: "session-123",
|
|
14
|
+
sessionName: "my-first-session",
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const runCustomerSupport = async (customer_message: string) => {
|
|
19
|
+
const prompt = await client.loadTextPrompt("customer-support-agent.prompt.mdx");
|
|
20
|
+
const agentConfig = await prompt.formatAgent({
|
|
21
|
+
options: {
|
|
22
|
+
telemetry,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const [messages, generateOptions] = await agentConfig.formatMessages({
|
|
27
|
+
props: {
|
|
28
|
+
customer_question: customer_message,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const agent = new Agent(agentConfig);
|
|
33
|
+
const response = await agent.generate(messages, generateOptions);
|
|
34
|
+
|
|
35
|
+
return (response as any).text || (response as any).content || String(response);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const main = async () => {
|
|
39
|
+
try {
|
|
40
|
+
const user_message = "How long does shipping take?";
|
|
41
|
+
const assistant = await runCustomerSupport(user_message);
|
|
42
|
+
console.log("Customer support response:", assistant);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
console.error(error);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
main();
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return `import "dotenv/config";
|
|
3
53
|
import { generateText } from "ai";
|
|
4
54
|
import { client } from "./agentmark.client";
|
|
5
55
|
|
|
@@ -40,5 +90,6 @@ const main = async () => {
|
|
|
40
90
|
|
|
41
91
|
main();
|
|
42
92
|
`;
|
|
93
|
+
}
|
|
43
94
|
};
|
|
44
95
|
//# sourceMappingURL=app-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-index.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/app-index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"app-index.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/app-index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,QAAQ,EAAU,EAAE;IACxE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CV,CAAC;IACA,CAAC;SAAM,CAAC;QACN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCV,CAAC;IACA,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const getEnvFileContent: (
|
|
1
|
+
export declare const getEnvFileContent: (_modelProvider: string, apiKey?: string) => string;
|
|
2
2
|
//# sourceMappingURL=env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,GAC5B,gBAAgB,MAAM,EACtB,SAAQ,MAAW,KAClB,MAWF,CAAC"}
|
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
const providerApiKeyMap = {
|
|
3
|
-
openai: "OPENAI_API_KEY",
|
|
4
|
-
anthropic: "ANTHROPIC_API_KEY",
|
|
5
|
-
google: "GOOGLE_GENERATIVE_AI_API_KEY",
|
|
6
|
-
groq: "GROQ_API_KEY",
|
|
7
|
-
xai: "XAI_API_KEY",
|
|
8
|
-
ollama: "" // Ollama doesn't need an API key for local usage
|
|
9
|
-
};
|
|
10
|
-
export const getEnvFileContent = (modelProvider, apiKey = '') => {
|
|
11
|
-
const envVarName = providerApiKeyMap[modelProvider] || `${modelProvider.toUpperCase()}_API_KEY`;
|
|
1
|
+
export const getEnvFileContent = (_modelProvider, apiKey = '') => {
|
|
12
2
|
const apiKeyValue = apiKey || 'your_api_key_here';
|
|
13
|
-
|
|
14
|
-
const needsApiKey = modelProvider !== 'ollama';
|
|
15
|
-
let content = `# Cloud deployment: Set these environment variables
|
|
3
|
+
return `# Cloud deployment: Set these environment variables
|
|
16
4
|
# AGENTMARK_BASE_URL=https://api.agentmark.co
|
|
17
5
|
# AGENTMARK_API_KEY=your_agentmark_api_key
|
|
18
6
|
# AGENTMARK_APP_ID=your_agentmark_app_id
|
|
19
7
|
# Learn more: https://docs.agentmark.co/platform/getting_started/quickstart
|
|
20
8
|
|
|
9
|
+
OPENAI_API_KEY=${apiKeyValue}
|
|
21
10
|
`;
|
|
22
|
-
if (needsApiKey) {
|
|
23
|
-
content += `${envVarName}=${apiKeyValue}\n`;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
content += `# No API key needed for ${modelProvider}\n`;
|
|
27
|
-
}
|
|
28
|
-
return content;
|
|
29
11
|
};
|
|
30
12
|
//# sourceMappingURL=env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/env.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,cAAsB,EACtB,SAAiB,EAAE,EACX,EAAE;IACV,MAAM,WAAW,GAAG,MAAM,IAAI,mBAAmB,CAAC;IAElD,OAAO;;;;;;iBAMQ,WAAW;CAC3B,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const createExamplePrompts: (model: string, targetPath?: string) => void;
|
|
1
|
+
export declare const createExamplePrompts: (model: string, targetPath?: string, adapter?: string) => void;
|
|
2
2
|
//# sourceMappingURL=example-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-prompts.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/example-prompts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,aAAY,MAAY,
|
|
1
|
+
{"version":3,"file":"example-prompts.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/example-prompts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,aAAY,MAAY,EAAE,UAAS,MAAiB,SA+BvG,CAAC"}
|
|
@@ -4,14 +4,16 @@ import { getCustomerSupportPrompt } from './customer-support-prompt.js';
|
|
|
4
4
|
import { getPartyPlannerPrompt } from './party-planner-prompt.js';
|
|
5
5
|
import { getStoryTellerPrompt } from './story-teller-prompt.js';
|
|
6
6
|
import { getAnimalDataset, getCustomerQueryDataset, getPartyDataset, getStoryDataset } from './datasets.js';
|
|
7
|
-
export const createExamplePrompts = (model, targetPath = ".") => {
|
|
7
|
+
export const createExamplePrompts = (model, targetPath = ".", adapter = "ai-sdk") => {
|
|
8
8
|
// Ensure the templates directory exists
|
|
9
9
|
fs.ensureDirSync(`${targetPath}/agentmark`);
|
|
10
|
-
// Create animal drawing prompt and dataset
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
// Create animal drawing prompt and dataset (skip for mastra adapter)
|
|
11
|
+
if (adapter !== "mastra") {
|
|
12
|
+
const animalDrawingPrompt = getAnimalDrawingPrompt();
|
|
13
|
+
fs.writeFileSync(`${targetPath}/agentmark/animal-drawing.prompt.mdx`, animalDrawingPrompt);
|
|
14
|
+
const animalDataset = getAnimalDataset();
|
|
15
|
+
fs.writeFileSync(`${targetPath}/agentmark/animal.jsonl`, animalDataset);
|
|
16
|
+
}
|
|
15
17
|
// Create customer support prompt and dataset
|
|
16
18
|
const customerSupportPrompt = getCustomerSupportPrompt(model);
|
|
17
19
|
fs.writeFileSync(`${targetPath}/agentmark/customer-support-agent.prompt.mdx`, customerSupportPrompt);
|
|
@@ -22,10 +24,12 @@ export const createExamplePrompts = (model, targetPath = ".") => {
|
|
|
22
24
|
fs.writeFileSync(`${targetPath}/agentmark/party-planner.prompt.mdx`, partyPlannerPrompt);
|
|
23
25
|
const partyDataset = getPartyDataset();
|
|
24
26
|
fs.writeFileSync(`${targetPath}/agentmark/party.jsonl`, partyDataset);
|
|
25
|
-
// Create story teller prompt and dataset
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
// Create story teller prompt and dataset (skip for mastra adapter)
|
|
28
|
+
if (adapter !== "mastra") {
|
|
29
|
+
const storyTellerPrompt = getStoryTellerPrompt();
|
|
30
|
+
fs.writeFileSync(`${targetPath}/agentmark/story-teller.prompt.mdx`, storyTellerPrompt);
|
|
31
|
+
const storyDataset = getStoryDataset();
|
|
32
|
+
fs.writeFileSync(`${targetPath}/agentmark/story.jsonl`, storyDataset);
|
|
33
|
+
}
|
|
30
34
|
};
|
|
31
35
|
//# sourceMappingURL=example-prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-prompts.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/example-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,aAAqB,GAAG,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"example-prompts.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/example-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,aAAqB,GAAG,EAAE,UAAkB,QAAQ,EAAE,EAAE;IAC1G,wCAAwC;IACxC,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,YAAY,CAAC,CAAC;IAE5C,qEAAqE;IACrE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;QACrD,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,sCAAsC,EAAE,mBAAmB,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,yBAAyB,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,6CAA6C;IAC7C,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,8CAA8C,EAAE,qBAAqB,CAAC,CAAC;IACrG,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,iCAAiC,EAAE,oBAAoB,CAAC,CAAC;IAEvF,0CAA0C;IAC1C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,qCAAqC,EAAE,kBAAkB,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,wBAAwB,EAAE,YAAY,CAAC,CAAC;IAEtE,mEAAmE;IACnE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;QACjD,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,oCAAoC,EAAE,iBAAiB,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,wBAAwB,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const setupPackageJson: (targetPath?: string) => void;
|
|
2
|
-
export declare const installDependencies: (modelProvider: string, targetPath?: string) => void;
|
|
2
|
+
export declare const installDependencies: (modelProvider: string, targetPath?: string, adapter?: string) => void;
|
|
3
3
|
//# sourceMappingURL=package-setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-setup.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/package-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-setup.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/package-setup.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,GAAI,aAAY,MAAY,SA4BxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAY,MAAY,EACxB,UAAS,MAAiB,SAuC3B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import { execSync, execFileSync } from "child_process";
|
|
3
|
+
import { getAdapterConfig } from "./adapters.js";
|
|
3
4
|
export const setupPackageJson = (targetPath = ".") => {
|
|
4
5
|
const packageJsonPath = `${targetPath}/package.json`;
|
|
5
6
|
if (!fs.existsSync(packageJsonPath)) {
|
|
@@ -14,38 +15,40 @@ export const setupPackageJson = (targetPath = ".") => {
|
|
|
14
15
|
: pkgJson.name;
|
|
15
16
|
pkgJson.description =
|
|
16
17
|
pkgJson.description || "A simple Node.js app using the Agentmark SDK";
|
|
18
|
+
// All platforms use "agentmark dev" which runs their respective dev-entry.ts
|
|
19
|
+
const devScript = "agentmark dev";
|
|
17
20
|
pkgJson.scripts = {
|
|
18
21
|
...pkgJson.scripts,
|
|
19
22
|
"demo": "npx tsx index.ts",
|
|
20
|
-
"dev":
|
|
23
|
+
"dev": devScript,
|
|
21
24
|
"prompt": "agentmark run-prompt",
|
|
22
25
|
"experiment": "agentmark run-experiment",
|
|
23
26
|
};
|
|
24
27
|
fs.writeJsonSync(packageJsonPath, pkgJson, { spaces: 2 });
|
|
25
28
|
};
|
|
26
|
-
export const installDependencies = (modelProvider, targetPath = ".") => {
|
|
29
|
+
export const installDependencies = (modelProvider, targetPath = ".", adapter = "ai-sdk") => {
|
|
27
30
|
console.log("Installing required packages...");
|
|
28
31
|
console.log("This might take a moment...");
|
|
32
|
+
const adapterConfig = getAdapterConfig(adapter);
|
|
29
33
|
try {
|
|
30
34
|
// Install TypeScript, ts-node, CLI, and other dev dependencies
|
|
31
35
|
// CLI needs to be a devDep so dev-entry.ts can import from @agentmark/cli/runner-server
|
|
32
|
-
|
|
36
|
+
const devDepsCmd = "npm install --save-dev typescript ts-node @types/node @agentmark/cli --legacy-peer-deps";
|
|
37
|
+
execSync(devDepsCmd, {
|
|
33
38
|
stdio: "inherit",
|
|
34
39
|
cwd: targetPath,
|
|
35
40
|
});
|
|
36
41
|
// Install the common packages
|
|
37
|
-
// Use different package names for different providers
|
|
38
|
-
// Pin required major versions: ai@v4, @ai-sdk/<provider>@v1
|
|
39
|
-
const providerPackage = modelProvider === "ollama" ? "ollama-ai-provider" : `@ai-sdk/${modelProvider}@^1`;
|
|
40
42
|
// SDK is required for both local (connects to agentmark serve) and cloud (connects to API)
|
|
41
43
|
const installArgs = [
|
|
42
44
|
"install",
|
|
43
45
|
"dotenv",
|
|
44
46
|
"@agentmark/prompt-core",
|
|
45
|
-
"@agentmark/ai-sdk-v4-adapter",
|
|
46
47
|
"@agentmark/sdk",
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
adapterConfig.package,
|
|
49
|
+
`@ai-sdk/${modelProvider}@^2`,
|
|
50
|
+
...adapterConfig.dependencies,
|
|
51
|
+
"--legacy-peer-deps",
|
|
49
52
|
];
|
|
50
53
|
execFileSync("npm", installArgs, { stdio: "inherit", cwd: targetPath });
|
|
51
54
|
console.log("Packages installed successfully!");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-setup.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/package-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"package-setup.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/package-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAqB,GAAG,EAAE,EAAE;IAC3D,MAAM,eAAe,GAAG,GAAG,UAAU,eAAe,CAAC;IAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,8DAA8D;IAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI;QACV,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI;YACtC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,OAAO,CAAC,WAAW;QACjB,OAAO,CAAC,WAAW,IAAI,8CAA8C,CAAC;IAExE,6EAA6E;IAC7E,MAAM,SAAS,GAAG,eAAe,CAAC;IAElC,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,OAAO,CAAC,OAAO;QAClB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,0BAA0B;KACzC,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,aAAqB,EACrB,aAAqB,GAAG,EACxB,UAAkB,QAAQ,EAC1B,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,+DAA+D;QAC/D,wFAAwF;QACxF,MAAM,UAAU,GAAG,yFAAyF,CAAC;QAE7G,QAAQ,CAAC,UAAU,EAAE;YACnB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAC;QAEH,8BAA8B;QAC9B,2FAA2F;QAC3F,MAAM,WAAW,GAAG;YAClB,SAAS;YACT,QAAQ;YACR,wBAAwB;YACxB,gBAAgB;YAChB,aAAa,CAAC,OAAO;YACrB,WAAW,aAAa,KAAK;YAC7B,GAAG,aAAa,CAAC,YAAY;YAC7B,oBAAoB;SACrB,CAAC;QAEF,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QAExE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-client-config.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/user-client-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-client-config.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/user-client-config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,WAqF9G,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { getAdapterConfig } from "./adapters.js";
|
|
1
2
|
export const getClientConfigContent = (options) => {
|
|
2
|
-
const { provider, languageModels } = options;
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const { provider, languageModels, adapter } = options;
|
|
4
|
+
const adapterConfig = getAdapterConfig(adapter);
|
|
5
|
+
const { modelRegistry, toolRegistry } = adapterConfig.classes;
|
|
6
|
+
const providerImport = `import { ${provider} } from '@ai-sdk/${provider}';`;
|
|
6
7
|
const extraModelRegs = provider === 'openai'
|
|
7
8
|
? `.registerModels(["dall-e-3"], (name: string) => ${provider}.image(name))
|
|
8
9
|
.registerModels(["tts-1-hd"], (name: string) => ${provider}.speech(name))`
|
|
@@ -11,20 +12,20 @@ export const getClientConfigContent = (options) => {
|
|
|
11
12
|
import path from 'node:path';
|
|
12
13
|
import dotenv from 'dotenv';
|
|
13
14
|
dotenv.config({ path: path.resolve(__dirname, '.env') });
|
|
14
|
-
import { createAgentMarkClient,
|
|
15
|
+
import { createAgentMarkClient, ${modelRegistry}, ${toolRegistry}, EvalRegistry } from "${adapterConfig.package}";
|
|
15
16
|
import { AgentMarkSDK } from "@agentmark/sdk";
|
|
16
17
|
import AgentMarkTypes, { Tools } from './agentmark.types';
|
|
17
18
|
${providerImport}
|
|
18
19
|
|
|
19
20
|
function createModelRegistry() {
|
|
20
|
-
const modelRegistry = new
|
|
21
|
+
const modelRegistry = new ${modelRegistry}()
|
|
21
22
|
.registerModels(${JSON.stringify(languageModels)}, (name: string) => ${provider}(name))
|
|
22
23
|
${extraModelRegs};
|
|
23
24
|
return modelRegistry;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
function createToolRegistry() {
|
|
27
|
-
const toolRegistry = new
|
|
28
|
+
const toolRegistry = new ${toolRegistry}<Tools>()
|
|
28
29
|
.register('search_knowledgebase', async ({ query }) => {
|
|
29
30
|
// Simulate search delay
|
|
30
31
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
@@ -75,7 +76,7 @@ function createClient(ctx?: { env?: Record<string,string|undefined> }) {
|
|
|
75
76
|
const modelRegistry = createModelRegistry();
|
|
76
77
|
const toolRegistry = createToolRegistry();
|
|
77
78
|
const evalRegistry = createEvalRegistry();
|
|
78
|
-
return createAgentMarkClient<AgentMarkTypes>({ loader: fileLoader, modelRegistry, toolRegistry, evalRegistry });
|
|
79
|
+
return createAgentMarkClient<AgentMarkTypes, typeof toolRegistry>({ loader: fileLoader, modelRegistry, toolRegistry, evalRegistry });
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
export const client = createClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-client-config.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/user-client-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"user-client-config.js","sourceRoot":"","sources":["../../../../src/utils/examples/templates/user-client-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAwE,EAAE,EAAE;IACjH,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACtD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;IAE9D,MAAM,cAAc,GAAG,YAAY,QAAQ,oBAAoB,QAAQ,IAAI,CAAC;IAE5E,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ;QAC1C,CAAC,CAAC,mDAAmD,QAAQ;sDACX,QAAQ,gBAAgB;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;kCAIyB,aAAa,KAAK,YAAY,0BAA0B,aAAa,CAAC,OAAO;;;EAG7G,cAAc;;;8BAGc,aAAa;sBACrB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,uBAAuB,QAAQ;MAC7E,cAAc;;;;;6BAKS,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDxC,CAAC;AACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-agentmark",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Create AgentMark projects with npm create agentmark",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "node -e \"require('fs').rmSync('./dist', { recursive: true, force: true })\" && tsc && node -e \"require('fs').chmodSync('dist/index.js', '755')\"",
|
|
14
14
|
"test": "vitest run",
|
|
15
|
+
"lint": "eslint .",
|
|
15
16
|
"prepack": "node -e \"try { require('fs').chmodSync('dist/index.js', '755') } catch {}\"",
|
|
16
17
|
"prepare": "node -e \"try { require('fs').chmodSync('dist/index.js', '755') } catch {}\""
|
|
17
18
|
},
|