chore: add claw smoke runtime sample

This commit is contained in:
kris
2026-04-03 01:41:29 +08:00
parent 39b576cc42
commit 6c999fb951
6 changed files with 146 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
#!/usr/bin/env node
function writeJson(payload) {
process.stdout.write(`${JSON.stringify(payload)}\n`);
}
async function readStdin() {
const chunks = [];
for await (const chunk of process.stdin) {
chunks.push(typeof chunk === "string" ? chunk : chunk.toString("utf8"));
}
return chunks.join("").trim();
}
function normalizePayload(raw) {
try {
const parsed = JSON.parse(raw);
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
return {
ok: false,
error: "INVALID_CLAW_PAYLOAD: expected object",
};
}
return {
ok: true,
payload: parsed,
};
} catch {
return {
ok: false,
error: "INVALID_CLAW_PAYLOAD: invalid json",
};
}
}
const raw = await readStdin();
const normalized = normalizePayload(raw);
if (!normalized.ok) {
writeJson({
status: "failed",
error: normalized.error,
});
process.exit(0);
}
const payload = normalized.payload;
const requestKind = typeof payload.requestKind === "string" ? payload.requestKind : "unknown";
const model = typeof payload.model === "string" && payload.model.trim() ? payload.model.trim() : "default";
const reasoningEffort =
typeof payload.reasoningEffort === "string" && payload.reasoningEffort.trim()
? payload.reasoningEffort.trim()
: "default";
const executionPrompt =
typeof payload.executionPrompt === "string" && payload.executionPrompt.trim()
? payload.executionPrompt.trim()
: "链路正常";
writeJson({
status: "completed",
output: `Claw smoke completed: ${executionPrompt} (kind=${requestKind}, model=${model}, reasoning=${reasoningEffort})`,
});