// Node.js 18+; native fetch, no SDK dependency. import { readFile } from "node:fs/promises"; const base = process.env.STOAPACK_BASE_URL.replace(/\/$/, ""); const order = JSON.parse(await readFile(process.env.STOAPACK_ORDER_FILE, "utf8")); const response = await fetch(`${base}/api/v1/optimize`, { method: "POST", headers: { "Content-Type": "application/json", "X-API-Key": process.env.STOAPACK_API_KEY }, body: JSON.stringify(order), signal: AbortSignal.timeout(30000), }); const text = await response.text(); if (!response.ok) throw new Error(`Packing failed (${response.status}): ${text}`); console.log(JSON.stringify(JSON.parse(text)));