"use strict"; const DEFAULT_BASE_URL = process.env.TASK_BOARD_API_BASE || "http://127.0.0.1:3001"; const DEFAULT_TOKEN = process.env.TASK_BOARD_ADMIN_TOKEN || "dev-task-board-token"; async function getTaskDetails(taskId, options = {}) { const baseUrl = options.baseUrl || DEFAULT_BASE_URL; const token = options.token || DEFAULT_TOKEN; const response = await fetch(`${baseUrl.replace(/\/+$/, "")}/api/admin/nodes/${encodeURIComponent(taskId)}`, { headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, }); const payload = await response.json().catch(() => ({})); if (!response.ok) { const message = payload.error || `Request failed: ${response.status}`; throw new Error(message); } return payload; } async function main() { const taskId = String(process.argv[2] || "").trim(); if (!taskId) { console.error("Usage: node get_task_details.js "); process.exit(1); } try { const details = await getTaskDetails(taskId); process.stdout.write(`${JSON.stringify(details, null, 2)}\n`); } catch (error) { console.error(String(error.message || error)); process.exit(1); } } if (require.main === module) { void main(); } module.exports = { getTaskDetails, };