UNPKG

paqad-ai

Version:

Spec-driven development framework — AI agents that think before they type

88 lines (86 loc) • 2.65 kB
import { createRequire as __paqadCreateRequire } from 'module'; const require = __paqadCreateRequire(import.meta.url); import { changeCostWindow, computeChangeCost, updateCostCache, updateSessionCostCache, writeChangeCost } from "../chunk-4GDYY56G.js"; import "../chunk-YZTSRIE3.js"; import { readRouteTurns } from "../chunk-FUBOIUNU.js"; import "../chunk-IKAOR4NY.js"; import "../chunk-4S3XFJAH.js"; import "../chunk-3UV6TK6X.js"; import "../chunk-UUBQQJVE.js"; import { readWorkflowState } from "../chunk-VOJO7HJ6.js"; import { currentFeature } from "../chunk-5M55PDWL.js"; import "../chunk-TINPSX3N.js"; import "../chunk-BTDDEK7C.js"; import "../chunk-7TBVBCDH.js"; import "../chunk-RJMJYPHL.js"; import "../chunk-NCYDV2N5.js"; import "../chunk-D6VEUSB6.js"; import "../chunk-BOEVU2BD.js"; import "../chunk-NJE7NS7E.js"; import "../chunk-ACJQW7SB.js"; import "../chunk-YA6SCYMC.js"; import "../chunk-Z3NGWHFX.js"; import "../chunk-YWAORJG6.js"; import "../chunk-Q353EDKY.js"; import { hookSessionCandidates, resolveHookSession } from "../chunk-SG6LXLDH.js"; import "../chunk-FMQ5YRSP.js"; import "../chunk-AZLA53A6.js"; import "../chunk-IHMBVS6H.js"; import { init_esm_shims } from "../chunk-IDFRWBMN.js"; // src/cost/hook-cost.ts init_esm_shims(); function refreshChangeCostFromHook(input) { const sessionId = resolveHookSession(input.projectRoot, input.payload); const dirName = currentFeature(input.projectRoot, sessionId); if (!dirName) { keepSessionTranscript( input, hookSessionCandidates(input.projectRoot, input.payload)[0] ?? sessionId ); return "no-feature"; } const window = changeCostWindow(input.projectRoot, dirName, input.now); if (window === null) return "no-window"; updateCostCache({ projectRoot: input.projectRoot, sessionId, dirName, payload: input.payload, floor: window.from }); const record = computeChangeCost(input.projectRoot, dirName, { now: input.now }); if (record === null) return "no-window"; if (record.sources === 0) return "no-sources"; writeChangeCost(input.projectRoot, dirName, record, sessionId); return "written"; } function sessionFloor(projectRoot, sessionId, now) { return readRouteTurns(projectRoot, sessionId)[0]?.at ?? readWorkflowState(projectRoot, sessionId).turn_started_at ?? now().toISOString(); } function keepSessionTranscript(input, sessionId) { updateSessionCostCache({ projectRoot: input.projectRoot, sessionId, payload: input.payload, floor: sessionFloor(input.projectRoot, sessionId, input.now ?? (() => /* @__PURE__ */ new Date())) }); } export { refreshChangeCostFromHook };