create-agentmark 0.1.0 → 0.2.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 +10 -1
- 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 +18 -15
- package/dist/utils/examples/create-example-app.js.map +1 -1
- 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/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 -12
- package/dist/utils/examples/templates/example-prompts.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 -7
- 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 +89 -10
- package/dist/utils/examples/templates/user-client-config.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -35,6 +35,15 @@ const main = async () => {
|
|
|
35
35
|
initial: "",
|
|
36
36
|
});
|
|
37
37
|
apiKey = providedApiKey || "";
|
|
38
|
+
const { adapter } = await prompts({
|
|
39
|
+
name: "adapter",
|
|
40
|
+
type: "select",
|
|
41
|
+
message: "Which adapter would you like to use?",
|
|
42
|
+
choices: [
|
|
43
|
+
{ title: "AI SDK (Vercel)", value: "ai-sdk" },
|
|
44
|
+
{ title: "Mastra", value: "mastra" },
|
|
45
|
+
],
|
|
46
|
+
});
|
|
38
47
|
const { client } = await prompts({
|
|
39
48
|
name: "client",
|
|
40
49
|
type: "select",
|
|
@@ -47,7 +56,7 @@ const main = async () => {
|
|
|
47
56
|
{ title: "Skip", value: "skip" },
|
|
48
57
|
],
|
|
49
58
|
});
|
|
50
|
-
await createExampleApp(provider, model, client, targetPath, apiKey);
|
|
59
|
+
await createExampleApp(provider, model, client, targetPath, apiKey, adapter);
|
|
51
60
|
// Always generate agentmark.json so config is consistent
|
|
52
61
|
fs.writeJsonSync(`${targetPath}/agentmark.json`, config, { spaces: 2 });
|
|
53
62
|
};
|
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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,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,mEAAmE;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAE1B,6DAA6D;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAkC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9E,yDAAyD;IAEzD,MAAM,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;IAE/B,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,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,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const createExampleApp: (modelProvider: string, model: string, client: string, targetPath?: string, apiKey?: string) => Promise<void>;
|
|
1
|
+
export declare const createExampleApp: (modelProvider: string, model: string, 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":"AAyHA,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,aAAY,MAAY,EACxB,SAAQ,MAAW,EACnB,UAAS,MAAiB,kBAyI3B,CAAC"}
|
|
@@ -8,7 +8,8 @@ const setupMCPServer = (client, targetPath) => {
|
|
|
8
8
|
console.log("Skipping MCP server setup.");
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
// Keep ./ prefix for display in messages
|
|
12
|
+
const folderName = targetPath;
|
|
12
13
|
// Handle VS Code
|
|
13
14
|
if (client === "vscode") {
|
|
14
15
|
try {
|
|
@@ -97,30 +98,33 @@ const setupMCPServer = (client, targetPath) => {
|
|
|
97
98
|
return;
|
|
98
99
|
}
|
|
99
100
|
};
|
|
100
|
-
export const createExampleApp = async (modelProvider, model, client, targetPath = ".", apiKey = "") => {
|
|
101
|
+
export const createExampleApp = async (modelProvider, model, client, targetPath = ".", apiKey = "", adapter = "ai-sdk") => {
|
|
101
102
|
try {
|
|
102
103
|
console.log("Creating Agent Mark example app...");
|
|
104
|
+
// Keep ./ prefix for display in messages
|
|
105
|
+
const folderName = targetPath;
|
|
103
106
|
// Create directory structure
|
|
104
107
|
fs.ensureDirSync(`${targetPath}/agentmark`);
|
|
105
108
|
setupMCPServer(client, targetPath);
|
|
106
109
|
// Create example prompts
|
|
107
|
-
createExamplePrompts(model, targetPath);
|
|
110
|
+
createExamplePrompts(model, targetPath, adapter);
|
|
111
|
+
console.log(`✅ Example prompts and datasets created in ${folderName}/agentmark/`);
|
|
108
112
|
// Create user client config at project root
|
|
109
113
|
// Prefer TS for dev ergonomics
|
|
110
114
|
const langModels = Providers[modelProvider].languageModels.slice(0, 1);
|
|
111
|
-
fs.writeFileSync(`${targetPath}/agentmark.client.ts`, getClientConfigContent({ provider: modelProvider, languageModels: langModels }));
|
|
115
|
+
fs.writeFileSync(`${targetPath}/agentmark.client.ts`, getClientConfigContent({ provider: modelProvider, languageModels: langModels, adapter }));
|
|
112
116
|
// Create .env file
|
|
113
117
|
fs.writeFileSync(`${targetPath}/.env`, getEnvFileContent(modelProvider, apiKey));
|
|
114
118
|
// Create .gitignore
|
|
115
119
|
const gitignore = ['node_modules', '.env', '*.agentmark-outputs/', '.agentmark'].join('\n');
|
|
116
120
|
fs.writeFileSync(`${targetPath}/.gitignore`, gitignore);
|
|
117
121
|
// Create the main application file
|
|
118
|
-
fs.writeFileSync(`${targetPath}/index.ts`, getIndexFileContent());
|
|
122
|
+
fs.writeFileSync(`${targetPath}/index.ts`, getIndexFileContent(adapter));
|
|
119
123
|
// Create tsconfig.json
|
|
120
124
|
fs.writeJsonSync(`${targetPath}/tsconfig.json`, getTsConfigContent(), { spaces: 2 });
|
|
121
125
|
// Setup package.json and install dependencies
|
|
122
126
|
setupPackageJson(targetPath);
|
|
123
|
-
installDependencies(modelProvider, targetPath);
|
|
127
|
+
installDependencies(modelProvider, targetPath, adapter);
|
|
124
128
|
// Generate types file using the type generation library
|
|
125
129
|
console.log("Generating types from prompts...");
|
|
126
130
|
try {
|
|
@@ -139,9 +143,9 @@ export const createExampleApp = async (modelProvider, model, client, targetPath
|
|
|
139
143
|
console.log("Creating development server entry point...");
|
|
140
144
|
const agentmarkInternalDir = path.join(targetPath, '.agentmark');
|
|
141
145
|
fs.ensureDirSync(agentmarkInternalDir);
|
|
142
|
-
//
|
|
143
|
-
const adapterName = 'ai-sdk-
|
|
144
|
-
const runnerClassName = 'VercelAdapterRunner';
|
|
146
|
+
// Set adapter-specific values
|
|
147
|
+
const adapterName = adapter === 'mastra' ? 'mastra-v0' : 'ai-sdk-v5';
|
|
148
|
+
const runnerClassName = adapter === 'mastra' ? 'MastraAdapterRunner' : 'VercelAdapterRunner';
|
|
145
149
|
const devEntryContent = `// Auto-generated runner server entry point
|
|
146
150
|
// To customize, create a dev-server.ts file in your project root
|
|
147
151
|
|
|
@@ -154,19 +158,19 @@ async function main() {
|
|
|
154
158
|
|
|
155
159
|
const args = process.argv.slice(2);
|
|
156
160
|
const runnerPortArg = args.find(arg => arg.startsWith('--runner-port='));
|
|
157
|
-
const
|
|
161
|
+
const apiServerPortArg = args.find(arg => arg.startsWith('--api-server-port='));
|
|
158
162
|
|
|
159
163
|
const runnerPort = runnerPortArg ? parseInt(runnerPortArg.split('=')[1]) : 9417;
|
|
160
|
-
const
|
|
164
|
+
const apiServerPort = apiServerPortArg ? parseInt(apiServerPortArg.split('=')[1]) : 9418;
|
|
161
165
|
|
|
162
166
|
const runner = new ${runnerClassName}(client as any);
|
|
163
|
-
const
|
|
167
|
+
const apiServerUrl = \`http://localhost:\${apiServerPort}\`;
|
|
164
168
|
const templatesDirectory = path.join(process.cwd(), 'agentmark');
|
|
165
169
|
|
|
166
170
|
await createRunnerServer({
|
|
167
171
|
port: runnerPort,
|
|
168
172
|
runner,
|
|
169
|
-
|
|
173
|
+
apiServerUrl,
|
|
170
174
|
templatesDirectory
|
|
171
175
|
});
|
|
172
176
|
}
|
|
@@ -188,12 +192,11 @@ main().catch((err) => {
|
|
|
188
192
|
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
|
|
189
193
|
|
|
190
194
|
`);
|
|
191
|
-
const folderName = targetPath.replace("./", "");
|
|
192
195
|
console.log('\n' + '═'.repeat(70));
|
|
193
196
|
console.log('Next Steps');
|
|
194
197
|
console.log('═'.repeat(70));
|
|
195
198
|
console.log('\n Initialize Server:');
|
|
196
|
-
if (folderName !== ".") {
|
|
199
|
+
if (folderName !== "." && folderName !== "./") {
|
|
197
200
|
console.log(` $ cd ${folderName}`);
|
|
198
201
|
}
|
|
199
202
|
console.log(' $ npm run dev\n');
|
|
@@ -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;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE;IAC5D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"create-example-app.js","sourceRoot":"","sources":["../../../src/utils/examples/create-example-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 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,11 +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
|
-
|
|
30
|
-
|
|
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
|
+
}
|
|
31
34
|
};
|
|
32
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,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":"AAGA,eAAO,MAAM,gBAAgB,GAAI,aAAY,MAAY,SAyBxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAY,MAAY,
|
|
1
|
+
{"version":3,"file":"package-setup.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/package-setup.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,GAAI,aAAY,MAAY,SAyBxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,MAAM,EACrB,aAAY,MAAY,EACxB,UAAS,MAAiB,SAoD3B,CAAC"}
|
|
@@ -23,7 +23,7 @@ export const setupPackageJson = (targetPath = ".") => {
|
|
|
23
23
|
};
|
|
24
24
|
fs.writeJsonSync(packageJsonPath, pkgJson, { spaces: 2 });
|
|
25
25
|
};
|
|
26
|
-
export const installDependencies = (modelProvider, targetPath = ".") => {
|
|
26
|
+
export const installDependencies = (modelProvider, targetPath = ".", adapter = "ai-sdk") => {
|
|
27
27
|
console.log("Installing required packages...");
|
|
28
28
|
console.log("This might take a moment...");
|
|
29
29
|
try {
|
|
@@ -34,19 +34,24 @@ export const installDependencies = (modelProvider, targetPath = ".") => {
|
|
|
34
34
|
cwd: targetPath,
|
|
35
35
|
});
|
|
36
36
|
// 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
37
|
// SDK is required for both local (connects to agentmark serve) and cloud (connects to API)
|
|
41
38
|
const installArgs = [
|
|
42
39
|
"install",
|
|
43
40
|
"dotenv",
|
|
44
41
|
"@agentmark/prompt-core",
|
|
45
|
-
"@agentmark/ai-sdk-v4-adapter",
|
|
46
42
|
"@agentmark/sdk",
|
|
47
|
-
providerPackage,
|
|
48
|
-
"ai@^4",
|
|
49
43
|
];
|
|
44
|
+
// Install adapter-specific packages
|
|
45
|
+
if (adapter === "mastra") {
|
|
46
|
+
const providerPackage = `@ai-sdk/${modelProvider}`;
|
|
47
|
+
installArgs.push("@agentmark/mastra-v0-adapter", "@mastra/core@<0.20.0", "@mastra/mcp@<0.13.4", providerPackage);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Use different package names for different providers
|
|
51
|
+
// Pin required major versions: ai@v5, @ai-sdk/<provider>@v2
|
|
52
|
+
const providerPackage = `@ai-sdk/${modelProvider}@^2`;
|
|
53
|
+
installArgs.push("@agentmark/ai-sdk-v5-adapter", providerPackage, "ai@^5");
|
|
54
|
+
}
|
|
50
55
|
execFileSync("npm", installArgs, { stdio: "inherit", cwd: targetPath });
|
|
51
56
|
console.log("Packages installed successfully!");
|
|
52
57
|
}
|
|
@@ -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;AAEvD,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,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,OAAO,CAAC,OAAO;QAClB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,eAAe;QACtB,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,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,+DAA+D;QAC/D,wFAAwF;QACxF,QAAQ,CAAC,sEAAsE,EAAE;YAC/E,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAC;QAEH,8BAA8B;QAC9B,
|
|
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;AAEvD,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,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,OAAO,CAAC,OAAO;QAClB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,eAAe;QACtB,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,IAAI,CAAC;QACH,+DAA+D;QAC/D,wFAAwF;QACxF,QAAQ,CAAC,sEAAsE,EAAE;YAC/E,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;SACjB,CAAC;QAGF,oCAAoC;QACpC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,WAAW,aAAa,EAAE,CAAC;YACnD,WAAW,CAAC,IAAI,CACd,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,CAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,4DAA4D;YAC5D,MAAM,eAAe,GAAG,WAAW,aAAa,KAAK,CAAC;YACtD,WAAW,CAAC,IAAI,CACd,8BAA8B,EAC9B,eAAe,EACf,OAAO,CACR,CAAC;QACJ,CAAC;QAED,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":"AAAA,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"user-client-config.d.ts","sourceRoot":"","sources":["../../../../src/utils/examples/templates/user-client-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,WAmK9G,CAAC"}
|
|
@@ -1,17 +1,95 @@
|
|
|
1
1
|
export const getClientConfigContent = (options) => {
|
|
2
|
-
const { provider, languageModels } = options;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
const { provider, languageModels, adapter } = options;
|
|
3
|
+
if (adapter === "mastra") {
|
|
4
|
+
const providerImport = provider === 'ollama'
|
|
5
|
+
? "import { ollama } from 'ollama-ai-provider';"
|
|
6
|
+
: `import { ${provider} } from '@ai-sdk/${provider}';`;
|
|
7
|
+
return `// agentmark.client.ts
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import dotenv from 'dotenv';
|
|
10
|
+
dotenv.config({ path: path.resolve(__dirname, '.env') });
|
|
11
|
+
import { createAgentMarkClient, MastraModelRegistry, MastraToolRegistry, EvalRegistry } from "@agentmark/mastra-v0-adapter";
|
|
12
|
+
import { AgentMarkSDK } from "@agentmark/sdk";
|
|
13
|
+
import AgentMarkTypes, { Tools } from './agentmark.types';
|
|
14
|
+
${providerImport}
|
|
15
|
+
|
|
16
|
+
function createModelRegistry() {
|
|
17
|
+
const modelRegistry = new MastraModelRegistry();
|
|
18
|
+
modelRegistry.registerModels(${JSON.stringify(languageModels)}, (name: string) => ${provider}(name));
|
|
19
|
+
return modelRegistry;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function createToolRegistry() {
|
|
23
|
+
const toolRegistry = new MastraToolRegistry<Tools>()
|
|
24
|
+
.register('search_knowledgebase', async ({ query }) => {
|
|
25
|
+
// Simulate search delay
|
|
26
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
27
|
+
|
|
28
|
+
// Return all three knowledge base articles
|
|
29
|
+
// The LLM will select the relevant one based on the query
|
|
30
|
+
return {
|
|
31
|
+
articles: [
|
|
32
|
+
{ topic: 'shipping', content: 'Standard shipping takes 3–5 business days.' },
|
|
33
|
+
{ topic: 'warranty', content: 'All products include a 1-year limited warranty.' },
|
|
34
|
+
{ topic: 'returns', content: 'You can return items within 30 days of delivery.' }
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
return toolRegistry;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function createEvalRegistry() {
|
|
42
|
+
const evalRegistry = new EvalRegistry()
|
|
43
|
+
.register('exact_match_json', ({ output, expectedOutput }) => {
|
|
44
|
+
if (!expectedOutput) {
|
|
45
|
+
return { score: 0, label: 'error', reason: 'No expected output provided', passed: false };
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const ok = JSON.stringify(output) === JSON.stringify(JSON.parse(expectedOutput));
|
|
49
|
+
return {
|
|
50
|
+
score: ok ? 1 : 0,
|
|
51
|
+
label: ok ? 'correct' : 'incorrect',
|
|
52
|
+
reason: ok ? 'Exact match' : 'Mismatch',
|
|
53
|
+
passed: ok
|
|
54
|
+
};
|
|
55
|
+
} catch (e) {
|
|
56
|
+
return { score: 0, label: 'error', reason: 'Failed to parse expected output as JSON', passed: false };
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return evalRegistry;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function createClient(ctx?: { env?: Record<string,string|undefined> }) {
|
|
63
|
+
const env = (ctx?.env ?? process.env) as Record<string, string | undefined>;
|
|
64
|
+
// For local development, connect to the local agentmark serve instance (default: http://localhost:9418)
|
|
65
|
+
// For cloud deployment, set AGENTMARK_BASE_URL, AGENTMARK_API_KEY, and AGENTMARK_APP_ID
|
|
66
|
+
const baseUrl = env.AGENTMARK_BASE_URL || 'http://localhost:9418';
|
|
67
|
+
const apiKey = env.AGENTMARK_API_KEY || '';
|
|
68
|
+
const appId = env.AGENTMARK_APP_ID || '';
|
|
69
|
+
const sdk = new AgentMarkSDK({ apiKey, appId, baseUrl });
|
|
70
|
+
const fileLoader = sdk.getFileLoader();
|
|
71
|
+
const modelRegistry = createModelRegistry();
|
|
72
|
+
const toolRegistry = createToolRegistry();
|
|
73
|
+
const evalRegistry = createEvalRegistry();
|
|
74
|
+
return createAgentMarkClient<AgentMarkTypes, typeof toolRegistry>({ loader: fileLoader, modelRegistry, toolRegistry, evalRegistry });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export const client = createClient();
|
|
78
|
+
`;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const providerImport = provider === 'ollama'
|
|
82
|
+
? "import { ollama } from 'ollama-ai-provider';"
|
|
83
|
+
: `import { ${provider} } from '@ai-sdk/${provider}';`;
|
|
84
|
+
const extraModelRegs = provider === 'openai'
|
|
85
|
+
? `.registerModels(["dall-e-3"], (name: string) => ${provider}.image(name))
|
|
8
86
|
.registerModels(["tts-1-hd"], (name: string) => ${provider}.speech(name))`
|
|
9
|
-
|
|
10
|
-
|
|
87
|
+
: '';
|
|
88
|
+
return `// agentmark.client.ts
|
|
11
89
|
import path from 'node:path';
|
|
12
90
|
import dotenv from 'dotenv';
|
|
13
91
|
dotenv.config({ path: path.resolve(__dirname, '.env') });
|
|
14
|
-
import { createAgentMarkClient, VercelAIModelRegistry, VercelAIToolRegistry, EvalRegistry } from "@agentmark/ai-sdk-
|
|
92
|
+
import { createAgentMarkClient, VercelAIModelRegistry, VercelAIToolRegistry, EvalRegistry } from "@agentmark/ai-sdk-v5-adapter";
|
|
15
93
|
import { AgentMarkSDK } from "@agentmark/sdk";
|
|
16
94
|
import AgentMarkTypes, { Tools } from './agentmark.types';
|
|
17
95
|
${providerImport}
|
|
@@ -75,10 +153,11 @@ function createClient(ctx?: { env?: Record<string,string|undefined> }) {
|
|
|
75
153
|
const modelRegistry = createModelRegistry();
|
|
76
154
|
const toolRegistry = createToolRegistry();
|
|
77
155
|
const evalRegistry = createEvalRegistry();
|
|
78
|
-
return createAgentMarkClient<AgentMarkTypes>({ loader: fileLoader, modelRegistry, toolRegistry, evalRegistry });
|
|
156
|
+
return createAgentMarkClient<AgentMarkTypes, typeof toolRegistry>({ loader: fileLoader, modelRegistry, toolRegistry, evalRegistry });
|
|
79
157
|
}
|
|
80
158
|
|
|
81
159
|
export const client = createClient();
|
|
82
160
|
`;
|
|
161
|
+
}
|
|
83
162
|
};
|
|
84
163
|
//# sourceMappingURL=user-client-config.js.map
|
|
@@ -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,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAwE,EAAE,EAAE;IACjH,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ;YAC1C,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,YAAY,QAAQ,oBAAoB,QAAQ,IAAI,CAAC;QAEzD,OAAO;;;;;;;EAOT,cAAc;;;;iCAIiB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,uBAAuB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D7F,CAAC;IACA,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ;YAC1C,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,YAAY,QAAQ,oBAAoB,QAAQ,IAAI,CAAC;QACzD,MAAM,cAAc,GAAG,QAAQ,KAAK,QAAQ;YAC1C,CAAC,CAAC,mDAAmD,QAAQ;sDACb,QAAQ,gBAAgB;YACxE,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;;;;;;;EAOT,cAAc;;;;sBAIM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,uBAAuB,QAAQ;MAC7E,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DnB,CAAC;IACA,CAAC;AACH,CAAC,CAAC"}
|