chore: add claw smoke runtime sample
This commit is contained in:
62
scripts/claw-runtime-smoke.mjs
Normal file
62
scripts/claw-runtime-smoke.mjs
Normal 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})`,
|
||||
});
|
||||
Reference in New Issue
Block a user