59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
#!/usr/bin/env node
|
|
import { createAgentRunPlan, createSkillsManifest, finalizeAgentRun } from "../../internal/agent/index.mjs";
|
|
|
|
function parseArgs(argv) {
|
|
const args = {
|
|
agentSessionId: "agt_local",
|
|
projectId: "prj_local",
|
|
goal: "dry-run agent runtime skeleton",
|
|
prompt: "dry-run",
|
|
skillCommitId: ""
|
|
};
|
|
|
|
for (let i = 0; i < argv.length; i += 1) {
|
|
const arg = argv[i];
|
|
if (arg === "--agent-session-id") args.agentSessionId = argv[++i] || args.agentSessionId;
|
|
else if (arg === "--project-id") args.projectId = argv[++i] || args.projectId;
|
|
else if (arg === "--goal") args.goal = argv[++i] || args.goal;
|
|
else if (arg === "--prompt") args.prompt = argv[++i] || args.prompt;
|
|
else if (arg === "--skill-commit-id") args.skillCommitId = argv[++i] || args.skillCommitId;
|
|
else if (arg === "--help" || arg === "-h") args.help = true;
|
|
}
|
|
|
|
return args;
|
|
}
|
|
|
|
function printHelp() {
|
|
console.log("usage: node cmd/hwlab-agent-mgr/main.mjs [--agent-session-id ID] [--project-id ID] [--goal TEXT] [--prompt TEXT] [--skill-commit-id COMMIT]");
|
|
}
|
|
|
|
const args = parseArgs(process.argv.slice(2));
|
|
|
|
if (args.help) {
|
|
printHelp();
|
|
process.exit(0);
|
|
}
|
|
|
|
const plan = createAgentRunPlan({
|
|
agentSessionId: args.agentSessionId,
|
|
projectId: args.projectId,
|
|
goal: args.goal,
|
|
prompt: args.prompt,
|
|
skillCommitId: args.skillCommitId || null
|
|
});
|
|
const finished = finalizeAgentRun(plan);
|
|
|
|
const result = {
|
|
serviceId: "hwlab-agent-mgr",
|
|
dryRun: true,
|
|
agentSession: finished.agentSession,
|
|
workerSession: finished.workerSession,
|
|
workspaceVolume: finished.workspaceVolume,
|
|
traceEvent: finished.traceEvent,
|
|
evidenceRecord: finished.evidenceRecord,
|
|
cleanup: finished.cleanup,
|
|
skillsManifest: args.skillCommitId ? createSkillsManifest({ commitId: args.skillCommitId }) : null
|
|
};
|
|
|
|
console.log(JSON.stringify(result, null, 2));
|