mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-26 08:56:22 +02:00
add migrate agents script
This commit is contained in:
parent
e40c767336
commit
da20e280f4
3 changed files with 28 additions and 2 deletions
23
apps/cli/src/scripts/migrate-agents.ts
Normal file
23
apps/cli/src/scripts/migrate-agents.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { Agent } from "../agents/agents.js";
|
||||
import { IAgentsRepo } from "../agents/repo.js";
|
||||
import { WorkDir } from "../config/config.js";
|
||||
import container from "../di/container.js";
|
||||
import { glob, readFile } from "node:fs/promises";
|
||||
import path from "path";
|
||||
|
||||
const main = async () => {
|
||||
const agentsRepo = container.resolve<IAgentsRepo>("agentsRepo");
|
||||
const matches = await Array.fromAsync(glob("**/*.json", { cwd: path.join(WorkDir, "agents") }));
|
||||
for (const file of matches) {
|
||||
try {
|
||||
const agent = Agent.parse(JSON.parse(await readFile(path.join(WorkDir, "agents", file), "utf8")));
|
||||
await agentsRepo.create(agent);
|
||||
console.error(`migrated agent ${file}`);
|
||||
} catch (error) {
|
||||
console.error(`Error parsing agent ${file}: ${error instanceof Error ? error.message : String(error)}`);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Loading…
Add table
Add a link
Reference in a new issue