@imricci/zaker 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/commands/app-server.d.ts +67 -0
  2. package/dist/commands/app-server.js +601 -0
  3. package/dist/commands/app-server.js.map +1 -0
  4. package/dist/commands/audit.js +2 -1
  5. package/dist/commands/audit.js.map +1 -1
  6. package/dist/commands/build.d.ts +3 -0
  7. package/dist/commands/build.js +22 -0
  8. package/dist/commands/build.js.map +1 -0
  9. package/dist/commands/confirm.d.ts +0 -2
  10. package/dist/commands/confirm.js +2 -16
  11. package/dist/commands/confirm.js.map +1 -1
  12. package/dist/commands/dialog-handlers/auth.d.ts +3 -0
  13. package/dist/commands/dialog-handlers/auth.js +174 -0
  14. package/dist/commands/dialog-handlers/auth.js.map +1 -0
  15. package/dist/commands/dialog-handlers/basic.d.ts +7 -0
  16. package/dist/commands/dialog-handlers/basic.js +82 -0
  17. package/dist/commands/dialog-handlers/basic.js.map +1 -0
  18. package/dist/commands/dialog-handlers/bootstrap.d.ts +10 -0
  19. package/dist/commands/dialog-handlers/bootstrap.js +38 -0
  20. package/dist/commands/dialog-handlers/bootstrap.js.map +1 -0
  21. package/dist/commands/dialog-handlers/index.d.ts +2 -0
  22. package/dist/commands/dialog-handlers/index.js +6 -0
  23. package/dist/commands/dialog-handlers/index.js.map +1 -0
  24. package/dist/commands/dialog-handlers/message.d.ts +2 -0
  25. package/dist/commands/dialog-handlers/message.js +103 -0
  26. package/dist/commands/dialog-handlers/message.js.map +1 -0
  27. package/dist/commands/dialog-handlers/model.d.ts +2 -0
  28. package/dist/commands/dialog-handlers/model.js +168 -0
  29. package/dist/commands/dialog-handlers/model.js.map +1 -0
  30. package/dist/commands/dialog-handlers/new.d.ts +2 -0
  31. package/dist/commands/dialog-handlers/new.js +53 -0
  32. package/dist/commands/dialog-handlers/new.js.map +1 -0
  33. package/dist/commands/dialog-handlers/resume.d.ts +2 -0
  34. package/dist/commands/dialog-handlers/resume.js +25 -0
  35. package/dist/commands/dialog-handlers/resume.js.map +1 -0
  36. package/dist/commands/dialog-handlers/router.d.ts +11 -0
  37. package/dist/commands/dialog-handlers/router.js +112 -0
  38. package/dist/commands/dialog-handlers/router.js.map +1 -0
  39. package/dist/commands/dialog-handlers/run.d.ts +2 -0
  40. package/dist/commands/dialog-handlers/run.js +161 -0
  41. package/dist/commands/dialog-handlers/run.js.map +1 -0
  42. package/dist/commands/dialog-handlers/status.d.ts +2 -0
  43. package/dist/commands/dialog-handlers/status.js +13 -0
  44. package/dist/commands/dialog-handlers/status.js.map +1 -0
  45. package/dist/commands/dialog-handlers/types.d.ts +107 -0
  46. package/dist/commands/dialog-handlers/types.js +3 -0
  47. package/dist/commands/dialog-handlers/types.js.map +1 -0
  48. package/dist/commands/dialog.d.ts +92 -0
  49. package/dist/commands/dialog.js +1784 -236
  50. package/dist/commands/dialog.js.map +1 -1
  51. package/dist/commands/init.d.ts +3 -1
  52. package/dist/commands/init.js +6 -4
  53. package/dist/commands/init.js.map +1 -1
  54. package/dist/commands/plan.js +10 -6
  55. package/dist/commands/plan.js.map +1 -1
  56. package/dist/commands/run.js +8 -10
  57. package/dist/commands/run.js.map +1 -1
  58. package/dist/commands/status.js +6 -12
  59. package/dist/commands/status.js.map +1 -1
  60. package/dist/commands/tui-launcher.d.ts +1 -0
  61. package/dist/commands/tui-launcher.js +8 -0
  62. package/dist/commands/tui-launcher.js.map +1 -0
  63. package/dist/core/alignment-reply.d.ts +1 -0
  64. package/dist/core/alignment-reply.js +44 -0
  65. package/dist/core/alignment-reply.js.map +1 -0
  66. package/dist/core/checkpoint.js +3 -1
  67. package/dist/core/checkpoint.js.map +1 -1
  68. package/dist/core/planner.d.ts +16 -16
  69. package/dist/core/planner.js +3 -1
  70. package/dist/core/planner.js.map +1 -1
  71. package/dist/core/planning-prep.d.ts +12 -0
  72. package/dist/core/planning-prep.js +26 -0
  73. package/dist/core/planning-prep.js.map +1 -0
  74. package/dist/core/preflight.js +1 -2
  75. package/dist/core/preflight.js.map +1 -1
  76. package/dist/core/provider-onboarding.js +6 -11
  77. package/dist/core/provider-onboarding.js.map +1 -1
  78. package/dist/core/readonly-checkpoint.d.ts +2 -0
  79. package/dist/core/readonly-checkpoint.js +35 -0
  80. package/dist/core/readonly-checkpoint.js.map +1 -0
  81. package/dist/core/run-loop.js +3 -1
  82. package/dist/core/run-loop.js.map +1 -1
  83. package/dist/core/types.d.ts +20 -1
  84. package/dist/index.js +20 -6
  85. package/dist/index.js.map +1 -1
  86. package/dist/infra/artifact-schema.d.ts +25 -0
  87. package/dist/infra/artifact-schema.js +353 -0
  88. package/dist/infra/artifact-schema.js.map +1 -0
  89. package/dist/infra/config.d.ts +14 -1
  90. package/dist/infra/config.js +542 -22
  91. package/dist/infra/config.js.map +1 -1
  92. package/dist/infra/dependency-report.d.ts +5 -0
  93. package/dist/infra/dependency-report.js +22 -0
  94. package/dist/infra/dependency-report.js.map +1 -0
  95. package/dist/infra/dialog-session.d.ts +29 -0
  96. package/dist/infra/dialog-session.js +244 -0
  97. package/dist/infra/dialog-session.js.map +1 -0
  98. package/dist/infra/intent.js +63 -13
  99. package/dist/infra/intent.js.map +1 -1
  100. package/dist/infra/model-accounts.d.ts +22 -0
  101. package/dist/infra/model-accounts.js +172 -0
  102. package/dist/infra/model-accounts.js.map +1 -0
  103. package/dist/infra/model-catalog.d.ts +4 -1
  104. package/dist/infra/model-catalog.js +102 -27
  105. package/dist/infra/model-catalog.js.map +1 -1
  106. package/dist/infra/openai-codex-oauth.d.ts +18 -0
  107. package/dist/infra/openai-codex-oauth.js +267 -0
  108. package/dist/infra/openai-codex-oauth.js.map +1 -0
  109. package/dist/infra/provider-registry.d.ts +36 -0
  110. package/dist/infra/provider-registry.js +403 -0
  111. package/dist/infra/provider-registry.js.map +1 -0
  112. package/dist/infra/session-status.d.ts +6 -0
  113. package/dist/infra/session-status.js +34 -0
  114. package/dist/infra/session-status.js.map +1 -0
  115. package/dist/infra/tui-utils.d.ts +6 -0
  116. package/dist/infra/tui-utils.js +163 -0
  117. package/dist/infra/tui-utils.js.map +1 -0
  118. package/dist/infra/tui-view.d.ts +44 -0
  119. package/dist/infra/tui-view.js +314 -0
  120. package/dist/infra/tui-view.js.map +1 -0
  121. package/package.json +4 -1
@@ -0,0 +1,44 @@
1
+ export declare const MIN_TUI_COLUMNS = 80;
2
+ export declare const MIN_TUI_ROWS = 24;
3
+ export interface CommandMenuState {
4
+ active: boolean;
5
+ items: string[];
6
+ selectedIndex: number;
7
+ renderMode?: "command" | "raw";
8
+ }
9
+ export type ConversationItemTone = "default" | "user" | "status" | "action_card";
10
+ export interface ConversationPaneItem {
11
+ text: string;
12
+ tone?: ConversationItemTone;
13
+ }
14
+ export interface TwoPaneRenderParams {
15
+ conversationId: string;
16
+ stateLabel: string;
17
+ stageLabel?: string;
18
+ verdictLabel?: string;
19
+ debug: boolean;
20
+ turns: number;
21
+ rounds: number;
22
+ leftTitle: string;
23
+ leftContent: string[];
24
+ leftContentItems?: ConversationPaneItem[];
25
+ rightTitle?: string;
26
+ rightContent?: string[];
27
+ notice?: string;
28
+ inputBuffer?: string;
29
+ inputCursorIndex?: number;
30
+ completion?: string;
31
+ commandMenu?: CommandMenuState;
32
+ commandMenuLabel?: string;
33
+ cursorVisible?: boolean;
34
+ cursorMarker?: string;
35
+ modelInfo?: string;
36
+ helpText?: string;
37
+ }
38
+ export declare function describeCommand(command: string): string;
39
+ export declare function buildTwoPaneFrameLines(params: TwoPaneRenderParams, columns: number, rows: number): string[];
40
+ export declare function renderTwoPaneFrame(params: TwoPaneRenderParams): void;
41
+ export declare function buildTuiFramePreview(params: TwoPaneRenderParams, viewport?: {
42
+ columns?: number;
43
+ rows?: number;
44
+ }): string[];
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MIN_TUI_ROWS = exports.MIN_TUI_COLUMNS = void 0;
7
+ exports.describeCommand = describeCommand;
8
+ exports.buildTwoPaneFrameLines = buildTwoPaneFrameLines;
9
+ exports.renderTwoPaneFrame = renderTwoPaneFrame;
10
+ exports.buildTuiFramePreview = buildTuiFramePreview;
11
+ const node_readline_1 = require("node:readline");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const pi_tui_1 = require("@mariozechner/pi-tui");
14
+ const tui_utils_1 = require("./tui-utils");
15
+ const COMMAND_MENU_MAX_VISIBLE = 5;
16
+ const MIN_PANE_HEIGHT = 4;
17
+ const INPUT_MAX_VISIBLE_LINES = 4;
18
+ const USER_BUBBLE_VERTICAL_PADDING = 1;
19
+ const CURSOR_PLACEHOLDER = "\uE000";
20
+ const TUI_COLORS = {
21
+ headerBg: "#12161d",
22
+ headerFg: "#d7ddeb",
23
+ text: "#c7cfdd",
24
+ muted: "#8f98aa",
25
+ accent: "#7fd4ff",
26
+ userBubbleBg: "#2a333f",
27
+ panelBg: "#222b36",
28
+ panelFg: "#c7cfdd",
29
+ border: "#596274",
30
+ success: "#7cd992",
31
+ warning: "#f4cf6a",
32
+ danger: "#f39a9a"
33
+ };
34
+ exports.MIN_TUI_COLUMNS = 80;
35
+ exports.MIN_TUI_ROWS = 24;
36
+ function divider(width = 80) {
37
+ return "─".repeat(width);
38
+ }
39
+ function clearScreen() {
40
+ (0, node_readline_1.cursorTo)(process.stdout, 0, 0);
41
+ }
42
+ function renderRows(lines, rows) {
43
+ const visible = lines.slice(0, rows);
44
+ while (visible.length < rows) {
45
+ visible.push("");
46
+ }
47
+ let output = "";
48
+ for (let index = 0; index < rows; index += 1) {
49
+ output += `\x1b[${index + 1};1H`;
50
+ output += "\x1b[2K";
51
+ output += visible[index] ?? "";
52
+ }
53
+ process.stdout.write(output);
54
+ }
55
+ function renderConversationPaneLines(title, content, width, height, useTail, options = {}) {
56
+ const buildActionCardLines = (text) => {
57
+ const rows = text
58
+ .split(/\r?\n/)
59
+ .map((line) => line.trim())
60
+ .filter((line) => line.length > 0);
61
+ if (rows.length === 0) {
62
+ return [];
63
+ }
64
+ const maxInnerWidth = Math.max(18, width - 6);
65
+ const innerWidth = Math.max(18, Math.min(maxInnerWidth, rows.reduce((maxWidth, line) => Math.max(maxWidth, (0, tui_utils_1.displayWidth)(line)), 18)));
66
+ const top = `┌${"─".repeat(innerWidth + 2)}┐`;
67
+ const body = rows.map((line) => `│ ${(0, tui_utils_1.padText)((0, tui_utils_1.clipText)(line, innerWidth), innerWidth)} │`);
68
+ const bottom = `└${"─".repeat(innerWidth + 2)}┘`;
69
+ return [top, ...body, bottom];
70
+ };
71
+ const container = new pi_tui_1.Container();
72
+ container.addChild(new pi_tui_1.Text(chalk_1.default.hex(TUI_COLORS.accent).bold(title), 0, 0));
73
+ for (const item of content) {
74
+ if (options.conversationSpacing) {
75
+ container.addChild(new pi_tui_1.TruncatedText(" ", 0, 0));
76
+ }
77
+ const tone = item.tone ?? "default";
78
+ if (tone === "user") {
79
+ container.addChild(new pi_tui_1.Text(item.text, 1, USER_BUBBLE_VERTICAL_PADDING, (line) => chalk_1.default.bgHex(TUI_COLORS.userBubbleBg).hex(TUI_COLORS.text)(line)));
80
+ continue;
81
+ }
82
+ if (tone === "action_card") {
83
+ const lines = buildActionCardLines(item.text);
84
+ for (const line of lines) {
85
+ container.addChild(new pi_tui_1.Text(line, 0, 0, (cardLine) => chalk_1.default.bgHex(TUI_COLORS.panelBg).hex(TUI_COLORS.panelFg)(cardLine)));
86
+ }
87
+ continue;
88
+ }
89
+ const color = tone === "status" ? TUI_COLORS.muted : TUI_COLORS.text;
90
+ container.addChild(new pi_tui_1.Text(chalk_1.default.hex(color)(item.text), 0, 0));
91
+ }
92
+ const raw = container.render(width);
93
+ const clipped = raw.length > height
94
+ ? useTail
95
+ ? raw.slice(raw.length - height)
96
+ : raw.slice(0, height)
97
+ : raw;
98
+ if (clipped.length >= height) {
99
+ return clipped;
100
+ }
101
+ return [
102
+ ...clipped,
103
+ ...Array.from({ length: height - clipped.length }, () => " ".repeat(width))
104
+ ];
105
+ }
106
+ function describeCommand(command) {
107
+ const trimmed = command.trim();
108
+ const tokens = trimmed.split(/\s+/).filter(Boolean);
109
+ if (tokens.length === 0) {
110
+ return "";
111
+ }
112
+ if (tokens[0] === "/init") {
113
+ return "Initialize workspace";
114
+ }
115
+ if (tokens[0] === "/new") {
116
+ return "New conversation";
117
+ }
118
+ if (tokens[0] === "/resume") {
119
+ return tokens.length > 1 ? "Switch session" : "Resume session";
120
+ }
121
+ if (tokens[0] === "/model") {
122
+ return "Select model";
123
+ }
124
+ if (tokens[0] === "/login") {
125
+ return "Login provider";
126
+ }
127
+ if (tokens[0] === "/logout") {
128
+ return "Logout provider";
129
+ }
130
+ if (tokens[0] === "/build") {
131
+ return "Ready to run";
132
+ }
133
+ if (tokens[0] === "/run") {
134
+ return "Run pipeline";
135
+ }
136
+ if (tokens[0] === "/edit") {
137
+ return "Edit intent";
138
+ }
139
+ if (tokens[0] === "/status") {
140
+ return "Show status";
141
+ }
142
+ if (tokens[0] === "/debug") {
143
+ return "Toggle debug";
144
+ }
145
+ if (tokens[0] === "/help") {
146
+ return "Show help";
147
+ }
148
+ if (tokens[0] === "/exit") {
149
+ return "Quit zaker";
150
+ }
151
+ return "Run command";
152
+ }
153
+ function wrapInputDisplayPreservingWhitespace(input, width) {
154
+ if (width <= 0) {
155
+ return [""];
156
+ }
157
+ const normalized = (0, tui_utils_1.stripAnsi)(input).replace(/\r\n/g, "\n").replace(/\r/g, "\n");
158
+ const logicalLines = normalized.split("\n");
159
+ const wrapped = [];
160
+ for (const line of logicalLines) {
161
+ if (line.length === 0) {
162
+ wrapped.push("");
163
+ continue;
164
+ }
165
+ let current = "";
166
+ let currentWidth = 0;
167
+ for (const char of line) {
168
+ const charWidth = Math.max(0, (0, tui_utils_1.displayWidth)(char));
169
+ if (charWidth > width) {
170
+ if (current.length > 0) {
171
+ wrapped.push(current);
172
+ current = "";
173
+ currentWidth = 0;
174
+ }
175
+ wrapped.push(char);
176
+ continue;
177
+ }
178
+ if (currentWidth + charWidth > width && current.length > 0) {
179
+ wrapped.push(current);
180
+ current = char;
181
+ currentWidth = charWidth;
182
+ continue;
183
+ }
184
+ current += char;
185
+ currentWidth += charWidth;
186
+ }
187
+ wrapped.push(current);
188
+ }
189
+ return wrapped.length > 0 ? wrapped : [""];
190
+ }
191
+ function buildTwoPaneFrameLines(params, columns, rows) {
192
+ const commandMenu = params.commandMenu?.active ? params.commandMenu.items : [];
193
+ const menuHeaderLines = commandMenu.length > 0 ? 1 : 0;
194
+ const inputValue = params.inputBuffer ?? "";
195
+ const cursorIndex = Math.max(0, Math.min(params.inputCursorIndex ?? inputValue.length, inputValue.length));
196
+ const cursorEnabled = params.cursorVisible !== false;
197
+ const cursorGlyph = params.cursorMarker ? " " : "█";
198
+ const cursorToken = cursorEnabled ? CURSOR_PLACEHOLDER : "";
199
+ const promptPrefix = "> ";
200
+ const promptDisplay = inputValue.length > 0
201
+ ? `${promptPrefix}${inputValue.slice(0, cursorIndex)}${cursorToken}${inputValue.slice(cursorIndex)}`
202
+ : `${promptPrefix}${cursorToken} Type a message. Use /help for commands.`;
203
+ const wrappedPromptLines = wrapInputDisplayPreservingWhitespace(promptDisplay, Math.max(1, columns));
204
+ const visiblePromptLines = wrappedPromptLines.length > INPUT_MAX_VISIBLE_LINES
205
+ ? wrappedPromptLines.slice(wrappedPromptLines.length - INPUT_MAX_VISIBLE_LINES)
206
+ : wrappedPromptLines;
207
+ const promptLineCount = Math.max(1, visiblePromptLines.length);
208
+ const headerEnabled = params.debug;
209
+ const headerLines = headerEnabled ? 2 : 0;
210
+ const fixedLinesWithoutMenuItems = headerLines + 3 + menuHeaderLines + promptLineCount;
211
+ const maxMenuItems = Math.max(0, rows - fixedLinesWithoutMenuItems - MIN_PANE_HEIGHT);
212
+ const menuVisibleCount = Math.min(commandMenu.length, maxMenuItems, COMMAND_MENU_MAX_VISIBLE);
213
+ const selectedIndex = params.commandMenu?.selectedIndex ?? 0;
214
+ const menuWindowStart = Math.max(0, Math.min(selectedIndex - Math.floor(menuVisibleCount / 2), Math.max(0, commandMenu.length - menuVisibleCount)));
215
+ const visibleMenuItems = commandMenu.slice(menuWindowStart, menuWindowStart + menuVisibleCount);
216
+ const commandColumnWidth = Math.min(48, Math.max(14, ...visibleMenuItems.map((command) => (0, tui_utils_1.displayWidth)(command)), 14) + 1);
217
+ const paneWidth = Math.max(24, columns - 1);
218
+ const paneHeight = Math.max(MIN_PANE_HEIGHT, rows - fixedLinesWithoutMenuItems - menuVisibleCount);
219
+ const leftItems = params.leftContentItems ?? params.leftContent.map((text) => ({ text }));
220
+ const leftLines = renderConversationPaneLines(params.leftTitle, leftItems, paneWidth, paneHeight, true, {
221
+ conversationSpacing: true
222
+ });
223
+ const sessionLabel = params.conversationId?.trim() && params.conversationId !== "default"
224
+ ? ` session:${params.conversationId}`
225
+ : "";
226
+ const headerLeft = ` zaker${sessionLabel}`;
227
+ const headerRight = params.debug ? "debug:on" : "";
228
+ const headerLine = (() => {
229
+ const left = (0, tui_utils_1.clipText)(headerLeft, columns);
230
+ if (!headerRight) {
231
+ return (0, tui_utils_1.padText)(left, columns);
232
+ }
233
+ const right = (0, tui_utils_1.clipText)(headerRight, columns);
234
+ const leftWidth = (0, tui_utils_1.displayWidth)(left);
235
+ const rightWidth = (0, tui_utils_1.displayWidth)(right);
236
+ if (leftWidth + rightWidth + 1 <= columns) {
237
+ return `${left}${" ".repeat(columns - leftWidth - rightWidth)}${right}`;
238
+ }
239
+ return (0, tui_utils_1.padText)((0, tui_utils_1.clipText)(`${left} · ${right}`, columns), columns);
240
+ })();
241
+ const stageLabelForStatus = params.stageLabel?.trim() || "-";
242
+ const verdictLabelForStatus = params.verdictLabel?.trim() || "PENDING";
243
+ const statusRight = `state: ${params.stateLabel} · stage: ${stageLabelForStatus} · verdict: ${verdictLabelForStatus}`;
244
+ const footerLeft = `model: ${params.modelInfo?.trim() || "-"}`;
245
+ const footerLine = (() => {
246
+ const left = (0, tui_utils_1.clipText)(footerLeft, columns);
247
+ const right = (0, tui_utils_1.clipText)(statusRight, columns);
248
+ const leftWidth = (0, tui_utils_1.displayWidth)(left);
249
+ const rightWidth = (0, tui_utils_1.displayWidth)(right);
250
+ if (leftWidth + rightWidth + 1 <= columns) {
251
+ return `${left}${" ".repeat(columns - leftWidth - rightWidth)}${right}`;
252
+ }
253
+ return (0, tui_utils_1.clipText)(`${left} · ${right}`, columns);
254
+ })();
255
+ const footerLineStyled = chalk_1.default.hex(TUI_COLORS.muted)((0, tui_utils_1.padText)(footerLine, columns));
256
+ const frame = new pi_tui_1.Container();
257
+ if (headerEnabled) {
258
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.headerFg).bold(headerLine), 0, 0));
259
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.border)(divider(columns)), 0, 0));
260
+ }
261
+ for (let index = 0; index < paneHeight; index += 1) {
262
+ const leftLine = leftLines[index] ?? " ".repeat(paneWidth);
263
+ frame.addChild(new pi_tui_1.TruncatedText(` ${leftLine}`, 0, 0));
264
+ }
265
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.border)(divider(columns)), 0, 0));
266
+ if (visibleMenuItems.length > 0 && params.commandMenu) {
267
+ const renderMode = params.commandMenu.renderMode ?? "command";
268
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.muted)(params.commandMenuLabel ?? "menu:"), 0, 0));
269
+ for (let index = 0; index < visibleMenuItems.length; index += 1) {
270
+ const command = visibleMenuItems[index];
271
+ if (renderMode === "raw") {
272
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.muted)((0, tui_utils_1.clipText)(command, columns)), 0, 0));
273
+ continue;
274
+ }
275
+ const selected = menuWindowStart + index === params.commandMenu.selectedIndex;
276
+ const line = `${selected ? "›" : " "} ${(0, tui_utils_1.padText)(command, commandColumnWidth)} ${describeCommand(command)}`;
277
+ frame.addChild(new pi_tui_1.TruncatedText(selected
278
+ ? chalk_1.default.bgHex(TUI_COLORS.panelBg).hex(TUI_COLORS.accent).bold((0, tui_utils_1.clipText)(line, columns))
279
+ : chalk_1.default.hex(TUI_COLORS.muted)((0, tui_utils_1.clipText)(line, columns)), 0, 0));
280
+ }
281
+ }
282
+ for (let index = 0; index < visiblePromptLines.length; index += 1) {
283
+ const promptLine = (0, tui_utils_1.padText)((0, tui_utils_1.clipText)(visiblePromptLines[index] || "", columns), columns);
284
+ const hasCursor = cursorEnabled && promptLine.includes(CURSOR_PLACEHOLDER);
285
+ if (!hasCursor) {
286
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.text)(promptLine.replaceAll(CURSOR_PLACEHOLDER, "")), 0, 0));
287
+ continue;
288
+ }
289
+ const cursorIndex = promptLine.indexOf(CURSOR_PLACEHOLDER);
290
+ if (cursorIndex < 0) {
291
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.text)(promptLine.replaceAll(CURSOR_PLACEHOLDER, "")), 0, 0));
292
+ continue;
293
+ }
294
+ const prefix = promptLine.slice(0, cursorIndex);
295
+ const suffix = promptLine.slice(cursorIndex + CURSOR_PLACEHOLDER.length);
296
+ frame.addChild(new pi_tui_1.TruncatedText(`${chalk_1.default.hex(TUI_COLORS.text)(prefix)}${params.cursorMarker ?? ""}${chalk_1.default.hex(TUI_COLORS.accent).bold(cursorGlyph)}${chalk_1.default.hex(TUI_COLORS.text)(suffix.replaceAll(CURSOR_PLACEHOLDER, ""))}`, 0, 0));
297
+ }
298
+ frame.addChild(new pi_tui_1.TruncatedText(chalk_1.default.hex(TUI_COLORS.border)(divider(columns)), 0, 0));
299
+ frame.addChild(new pi_tui_1.TruncatedText(footerLineStyled, 0, 0));
300
+ return frame.render(columns);
301
+ }
302
+ function renderTwoPaneFrame(params) {
303
+ const columns = Math.max(process.stdout.columns || exports.MIN_TUI_COLUMNS, exports.MIN_TUI_COLUMNS);
304
+ const rows = Math.max(process.stdout.rows || exports.MIN_TUI_ROWS, exports.MIN_TUI_ROWS);
305
+ const lines = buildTwoPaneFrameLines(params, columns, rows);
306
+ clearScreen();
307
+ renderRows(lines, rows);
308
+ }
309
+ function buildTuiFramePreview(params, viewport = {}) {
310
+ const columns = Math.max(viewport.columns ?? exports.MIN_TUI_COLUMNS, exports.MIN_TUI_COLUMNS);
311
+ const rows = Math.max(viewport.rows ?? exports.MIN_TUI_ROWS, exports.MIN_TUI_ROWS);
312
+ return buildTwoPaneFrameLines(params, columns, rows);
313
+ }
314
+ //# sourceMappingURL=tui-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-view.js","sourceRoot":"","sources":["../../src/infra/tui-view.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imricci/zaker",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Production-ready CLI workflow for plan, execute, verify and audit.",
5
5
  "bin": {
6
6
  "zaker": "dist/index.js"
@@ -19,6 +19,9 @@
19
19
  "test": "node test/run-all.js"
20
20
  },
21
21
  "dependencies": {
22
+ "ajv": "^8.17.1",
23
+ "@mariozechner/pi-ai": "^0.55.3",
24
+ "@mariozechner/pi-tui": "^0.55.3",
22
25
  "chalk": "^4.1.2",
23
26
  "commander": "^12.1.0",
24
27
  "execa": "^5.1.1",