Skip to content

Commit

Permalink
Merge branch 'main' of github.com:isamu/graphai-agents
Browse files Browse the repository at this point in the history
  • Loading branch information
isamu committed Dec 14, 2024
2 parents 24a702b + 7d0a3a1 commit 052de3e
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 23 deletions.
30 changes: 19 additions & 11 deletions packages/agent_generator/lib/run.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,19 @@ const main = async () => {
createSkeleton: {
agent: "runShellAgent",
inputs: {
command: "npm create graphai-agent@latest -- -c --agentName ${:packageInfo.kebabCase} --description '${:specLLM.tool.arguments.description}' --author me --license MIT --category ${:specLLM.tool.arguments.category} --outdir ${:packageBaseDir}",
commands: [
"npm", "create", "graphai-agent@latest", "--", "-c", "--agentName", ":packageInfo.kebabCase", "--description", ":specLLM.tool.arguments.description", "--author", "me", "--license", "MIT", "--category", ":specLLM.tool.arguments.category", "--outdir", ":packageBaseDir",
],
baseDir: ":packageBaseDir",
},
},
yarnInstall: {
agent: "runShellAgent",
params: {},
inputs: {
command: "yarn install",
commands: ["yarn", "install"],
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
waiting: ":createSkeleton"
},
},
packageDir: {
Expand All @@ -177,13 +180,9 @@ const main = async () => {
if: ":specLLM.tool.arguments.npmPackages",
defaultValue: {},
inputs: {
command: "yarn add ${:specLLM.tool.arguments.npmPackages}",
commands: ["yarn", "add", "${:specLLM.tool.arguments.npmPackages}"],
baseDir: ":packageDir.text",
wait: ":createSkeleton",
},
console: {
before: true,
after: true,
wait: ":yarnInstall",
},
},
srcFile: {
Expand Down Expand Up @@ -240,7 +239,7 @@ const main = async () => {
agent: "runShellAgent",
if: ":llm.tool.arguments.npmPackages",
inputs: {
command: "yarn add ${:llm.tool.arguments.npmPackages}",
command: ["yarn", "add", "${:llm.tool.arguments.npmPackages}"],
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
},
defaultValue: {},
Expand Down Expand Up @@ -271,7 +270,7 @@ const main = async () => {
agent: "runShellAgent",
params: {},
inputs: {
command: "yarn run test",
commands: ["yarn", "run", "test"],
waiting: ":writeFile",
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
},
Expand Down Expand Up @@ -302,7 +301,16 @@ const main = async () => {
agent: "runShellAgent",
params: {},
inputs: {
command: "yarn run build && yarn run doc",
commands: ["yarn", "run", "build"], // , "&&", "yarn", "run", "doc"
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
waiting: ":programmer",
},
},
final2: {
agent: "runShellAgent",
params: {},
inputs: {
commands: ["yarn", "run", "doc"],
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
waiting: ":programmer",
},
Expand Down
20 changes: 18 additions & 2 deletions packages/agent_generator/src/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,23 @@ const main = async () => {
agent: "runShellAgent",
inputs: {
commands: [
"npm", "create", "graphai-agent@latest", "--", "-c", "--agentName", ":packageInfo.kebabCase", "--description", ":specLLM.tool.arguments.description", "--author", "me", "--license", "MIT", "--category", ":specLLM.tool.arguments.category", "--outdir", ":packageBaseDir",
"npm",
"create",
"graphai-agent@latest",
"--",
"-c",
"--agentName",
":packageInfo.kebabCase",
"--description",
":specLLM.tool.arguments.description",
"--author",
"me",
"--license",
"MIT",
"--category",
":specLLM.tool.arguments.category",
"--outdir",
":packageBaseDir",
],
baseDir: ":packageBaseDir",
},
Expand All @@ -135,7 +151,7 @@ const main = async () => {
inputs: {
commands: ["yarn", "install"],
dirs: [":packageBaseDir", ":packageInfo.kebabCase"],
waiting: ":createSkeleton"
waiting: ":createSkeleton",
},
},
packageDir: {
Expand Down
19 changes: 9 additions & 10 deletions system/shell-util-agent/src/run_shell_agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,26 @@ export const runShellCommand = (commands: string[], path?: string): Promise<{ te
throw new Error("runShellAgent error: command must be string[]");
}
return new Promise((resolve, reject) => {
const [command, args] = [commands[0] , commands.slice(1)];
const [command, args] = [commands[0], commands.slice(1)];
const results: string[] = [];
const stderrs: string[] = [];
const child = spawn(command, args, { cwd: path ?? process.cwd() });

child.stdout.on('data', (data: string) => {
child.stdout.on("data", (data: string) => {
results.push(data);
});
child.stderr.on('data', (data: string) => {

child.stderr.on("data", (data: string) => {
stderrs.push(data);
});

child.stderr.on('data', (data) => {
reject({error: data, stdout: results.join(""), stderr: stderrs.join("")});
child.stderr.on("data", (data) => {
reject({ error: data, stdout: results.join(""), stderr: stderrs.join("") });
});
child.on('close', () => {
resolve({ text: results.join(""), stderr: stderrs.join("")});

child.on("close", () => {
resolve({ text: results.join(""), stderr: stderrs.join("") });
});

});
};

Expand Down

0 comments on commit 052de3e

Please sign in to comment.