59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
#!/usr/bin/env node
|
|
import { createAgentRunPlan, finalizeAgentRun } from "../../internal/agent/index.mjs";
|
|
|
|
function parseArgs(argv) {
|
|
const args = {
|
|
agentSessionId: process.env.HWLAB_AGENT_SESSION_ID || "agt_local",
|
|
projectId: process.env.HWLAB_PROJECT_ID || "prj_local",
|
|
prompt: "worker dry-run",
|
|
goal: "agent worker session skeleton",
|
|
skillCommitId: process.env.HWLAB_SKILL_COMMIT_ID || ""
|
|
};
|
|
|
|
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 === "--prompt") args.prompt = argv[++i] || args.prompt;
|
|
else if (arg === "--goal") args.goal = argv[++i] || args.goal;
|
|
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-worker/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 = finalizeAgentRun(
|
|
createAgentRunPlan({
|
|
agentSessionId: args.agentSessionId,
|
|
projectId: args.projectId,
|
|
goal: args.goal,
|
|
prompt: args.prompt,
|
|
skillCommitId: args.skillCommitId || null
|
|
})
|
|
);
|
|
|
|
const result = {
|
|
serviceId: "hwlab-agent-worker",
|
|
dryRun: true,
|
|
agentSession: plan.agentSession,
|
|
workerSession: plan.workerSession,
|
|
workspaceVolume: plan.workspaceVolume,
|
|
traceEvent: plan.traceEvent,
|
|
evidenceRecord: plan.evidenceRecord,
|
|
cleanup: plan.cleanup
|
|
};
|
|
|
|
console.log(JSON.stringify(result, null, 2));
|