Spaces:
Runtime error
Runtime error
| /** | |
| * TIA-∞ Guided Builder Interface | |
| * Converts resurrection and drift data into human-readable prompts. | |
| * Allows TIA to ask for approval before taking any action. | |
| */ | |
| import { ResurrectionPlan, ResurrectionProposal } from "./resurrection"; | |
| import { DriftReport, DriftIssue } from "./drift"; | |
| export interface BuilderPrompt { | |
| id: string; | |
| path: string; | |
| issue: string; | |
| recommendation: string; | |
| type: "resurrection" | "drift"; | |
| } | |
| export interface BuilderQueue { | |
| generatedAt: number; | |
| prompts: BuilderPrompt[]; | |
| } | |
| function convertResurrection(proposal: ResurrectionProposal, index: number): BuilderPrompt { | |
| return { | |
| id: `res-${index}`, | |
| path: proposal.path, | |
| issue: proposal.issue, | |
| recommendation: proposal.recommendedAction, | |
| type: "resurrection", | |
| }; | |
| } | |
| function convertDrift(issue: DriftIssue, index: number): BuilderPrompt { | |
| return { | |
| id: `drift-${index}`, | |
| path: issue.path, | |
| issue: issue.type, | |
| recommendation: issue.description, | |
| type: "drift", | |
| }; | |
| } | |
| export function buildGuidedQueue( | |
| resurrection: ResurrectionPlan, | |
| drift: DriftReport | |
| ): BuilderQueue { | |
| const prompts: BuilderPrompt[] = []; | |
| resurrection.proposals.forEach((p, i) => | |
| prompts.push(convertResurrection(p, i)) | |
| ); | |
| drift.issues.forEach((d, i) => | |
| prompts.push(convertDrift(d, i)) | |
| ); | |
| return { | |
| generatedAt: Date.now(), | |
| prompts, | |
| }; | |
| } | |
| export function formatPrompt(prompt: BuilderPrompt): string { | |
| return ` | |
| Issue detected: | |
| - Path: ${prompt.path} | |
| - Type: ${prompt.type} | |
| - Problem: ${prompt.issue} | |
| - Recommendation: ${prompt.recommendation} | |
| Would you like me to proceed? | |
| (approve / decline / defer) | |
| `.trim(); | |
| } | |