laohuang 0.3.2 → 0.4.1

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 (86) hide show
  1. package/README.md +142 -16
  2. package/dist/agent.d.ts +166 -0
  3. package/dist/agent.js +858 -0
  4. package/dist/agent.js.map +1 -0
  5. package/dist/bash-runner.d.ts +79 -0
  6. package/dist/bash-runner.js +464 -0
  7. package/dist/bash-runner.js.map +1 -0
  8. package/dist/cancellation.d.ts +36 -0
  9. package/dist/cancellation.js +123 -0
  10. package/dist/cancellation.js.map +1 -0
  11. package/dist/cli.d.ts +117 -0
  12. package/dist/cli.js +1307 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/client.d.ts +21 -0
  15. package/dist/client.js +17 -0
  16. package/dist/client.js.map +1 -0
  17. package/dist/commands.d.ts +123 -0
  18. package/dist/commands.js +660 -0
  19. package/dist/commands.js.map +1 -0
  20. package/dist/config.d.ts +51 -0
  21. package/dist/config.js +183 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/credentials.d.ts +12 -0
  24. package/dist/credentials.js +102 -0
  25. package/dist/credentials.js.map +1 -0
  26. package/dist/events.d.ts +288 -0
  27. package/dist/events.js +838 -0
  28. package/dist/events.js.map +1 -0
  29. package/dist/model-adapter.d.ts +138 -0
  30. package/dist/model-adapter.js +244 -0
  31. package/dist/model-adapter.js.map +1 -0
  32. package/dist/model-selection.d.ts +67 -0
  33. package/dist/model-selection.js +148 -0
  34. package/dist/model-selection.js.map +1 -0
  35. package/dist/model-stream.d.ts +128 -0
  36. package/dist/model-stream.js +582 -0
  37. package/dist/model-stream.js.map +1 -0
  38. package/dist/project-instructions.d.ts +99 -0
  39. package/dist/project-instructions.js +348 -0
  40. package/dist/project-instructions.js.map +1 -0
  41. package/dist/providers.d.ts +9 -0
  42. package/dist/providers.js +26 -0
  43. package/dist/providers.js.map +1 -0
  44. package/dist/routing.d.ts +170 -0
  45. package/dist/routing.js +669 -0
  46. package/dist/routing.js.map +1 -0
  47. package/dist/semantic-classifier.d.ts +66 -0
  48. package/dist/semantic-classifier.js +86 -0
  49. package/dist/semantic-classifier.js.map +1 -0
  50. package/dist/session.d.ts +162 -0
  51. package/dist/session.js +871 -0
  52. package/dist/session.js.map +1 -0
  53. package/dist/system-prompt.d.ts +16 -0
  54. package/dist/system-prompt.js +42 -0
  55. package/dist/system-prompt.js.map +1 -0
  56. package/dist/terminal/editor.d.ts +161 -0
  57. package/dist/terminal/editor.js +1060 -0
  58. package/dist/terminal/editor.js.map +1 -0
  59. package/dist/terminal/input.d.ts +61 -0
  60. package/dist/terminal/input.js +276 -0
  61. package/dist/terminal/input.js.map +1 -0
  62. package/dist/terminal/markdown.d.ts +20 -0
  63. package/dist/terminal/markdown.js +621 -0
  64. package/dist/terminal/markdown.js.map +1 -0
  65. package/dist/terminal/screen.d.ts +66 -0
  66. package/dist/terminal/screen.js +624 -0
  67. package/dist/terminal/screen.js.map +1 -0
  68. package/dist/terminal/theme.d.ts +23 -0
  69. package/dist/terminal/theme.js +101 -0
  70. package/dist/terminal/theme.js.map +1 -0
  71. package/dist/terminal/ui.d.ts +285 -0
  72. package/dist/terminal/ui.js +1815 -0
  73. package/dist/terminal/ui.js.map +1 -0
  74. package/dist/tools.d.ts +95 -0
  75. package/dist/tools.js +444 -0
  76. package/dist/tools.js.map +1 -0
  77. package/dist/ui-state.d.ts +51 -0
  78. package/dist/ui-state.js +194 -0
  79. package/dist/ui-state.js.map +1 -0
  80. package/dist/web.d.ts +56 -0
  81. package/dist/web.js +247 -0
  82. package/dist/web.js.map +1 -0
  83. package/package.json +24 -21
  84. package/bin/laohuang.js +0 -10
  85. package/lib/launcher.js +0 -133
  86. package/vendor/laohuangcode-0.3.2-py3-none-any.whl +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/terminal/editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * One-shot raw-mode prompt used before a raw session starts (setup questions).
3
+ *
4
+ * TypeScript replacement for terminal_input.py's prompt_toolkit Application:
5
+ * the same framed editor (border, wrapped input, completion menu, footer) is
6
+ * rendered by hand on top of the decoding pipeline from terminal/editor.ts —
7
+ * no prompt_toolkit, no Ink, stdin raw mode via node:tty semantics.
8
+ */
9
+ import type { Readable, Writable } from "node:stream";
10
+ import { type CompletionItem } from "./editor.ts";
11
+ /** Raised when the user aborts the prompt with Ctrl+C (mirrors KeyboardInterrupt). */
12
+ export declare class PromptCancelledError extends Error {
13
+ constructor();
14
+ }
15
+ /** Raised on Ctrl+D with an empty editor (mirrors EOFError). */
16
+ export declare class PromptEofError extends Error {
17
+ constructor();
18
+ }
19
+ export type PromptInput = Readable & {
20
+ setRawMode?: (mode: boolean) => void;
21
+ };
22
+ export type PromptOutput = Writable & {
23
+ readonly columns?: number;
24
+ };
25
+ export interface PiInputSessionOptions {
26
+ /**
27
+ * Accepted for PromptSession API compatibility. The Python PiInputSession
28
+ * stores the message but its layout never renders it; kept for parity.
29
+ */
30
+ message?: string;
31
+ multiline?: boolean;
32
+ /** Preloaded history entries; submitted lines are appended in place. */
33
+ history?: string[];
34
+ /** Slash-command completion source, re-queried whenever the text changes. */
35
+ completer?: (text: string) => CompletionItem[];
36
+ /** Maximum completion menu rows. */
37
+ reserveSpaceForMenu?: number;
38
+ /** Erase the whole frame once the prompt finishes (Python default: true). */
39
+ eraseWhenDone?: boolean;
40
+ /** Mask input with `*` (replaces PromptSession's is_password). */
41
+ mask?: boolean;
42
+ footer?: () => string;
43
+ input?: PromptInput;
44
+ output?: PromptOutput;
45
+ }
46
+ /** Compact PromptSession-compatible editor for setup questions only. */
47
+ export declare class PiInputSession {
48
+ private readonly multiline;
49
+ private readonly sharedHistory;
50
+ private readonly completer;
51
+ private readonly reserveSpaceForMenu;
52
+ private readonly eraseWhenDone;
53
+ private readonly mask;
54
+ private readonly footer;
55
+ private readonly input;
56
+ private readonly output;
57
+ private history;
58
+ constructor(options?: PiInputSessionOptions);
59
+ prompt(): Promise<string>;
60
+ private persistHistory;
61
+ }
@@ -0,0 +1,276 @@
1
+ /**
2
+ * One-shot raw-mode prompt used before a raw session starts (setup questions).
3
+ *
4
+ * TypeScript replacement for terminal_input.py's prompt_toolkit Application:
5
+ * the same framed editor (border, wrapped input, completion menu, footer) is
6
+ * rendered by hand on top of the decoding pipeline from terminal/editor.ts —
7
+ * no prompt_toolkit, no Ink, stdin raw mode via node:tty semantics.
8
+ */
9
+ import { BufferedInputKind, EditorState, InputActionKind, RawInputDecoder, StdinBuffer, TerminalInputFilter, charCellWidth, inputAction, } from "./editor.js";
10
+ /** Raised when the user aborts the prompt with Ctrl+C (mirrors KeyboardInterrupt). */
11
+ export class PromptCancelledError extends Error {
12
+ constructor() {
13
+ super("Prompt cancelled");
14
+ this.name = "PromptCancelledError";
15
+ }
16
+ }
17
+ /** Raised on Ctrl+D with an empty editor (mirrors EOFError). */
18
+ export class PromptEofError extends Error {
19
+ constructor() {
20
+ super("Prompt aborted with EOF");
21
+ this.name = "PromptEofError";
22
+ }
23
+ }
24
+ const PROMPT = "❯ ";
25
+ /** Delay before a buffered standalone Escape resolves into a dismissal. */
26
+ const ESCAPE_FLUSH_MS = 25;
27
+ /** Compact PromptSession-compatible editor for setup questions only. */
28
+ export class PiInputSession {
29
+ multiline;
30
+ sharedHistory;
31
+ completer;
32
+ reserveSpaceForMenu;
33
+ eraseWhenDone;
34
+ mask;
35
+ footer;
36
+ input;
37
+ output;
38
+ history = [];
39
+ constructor(options = {}) {
40
+ this.multiline = options.multiline ?? true;
41
+ this.sharedHistory = options.history ?? null;
42
+ this.completer = options.completer ?? null;
43
+ this.reserveSpaceForMenu = options.reserveSpaceForMenu ?? 6;
44
+ this.eraseWhenDone = options.eraseWhenDone ?? true;
45
+ this.mask = options.mask ?? false;
46
+ this.footer = options.footer ?? null;
47
+ this.input = options.input ?? process.stdin;
48
+ this.output = options.output ?? process.stdout;
49
+ this.history = [...(options.history ?? [])];
50
+ }
51
+ prompt() {
52
+ const editor = new EditorState();
53
+ editor.history = [...this.history];
54
+ const stdinBuffer = new StdinBuffer();
55
+ const inputFilter = new TerminalInputFilter();
56
+ const decoder = new RawInputDecoder();
57
+ const input = this.input;
58
+ const output = this.output;
59
+ let frameHeight = 0;
60
+ let frameCursorRow = 0;
61
+ let lastCompletedText = null;
62
+ let settled = false;
63
+ let flushTimer = null;
64
+ const termWidth = () => typeof output.columns === "number" && output.columns > 0
65
+ ? output.columns
66
+ : 80;
67
+ const refreshCompletions = () => {
68
+ if (this.completer === null || editor.text === lastCompletedText) {
69
+ return;
70
+ }
71
+ lastCompletedText = editor.text;
72
+ editor.setCompletions(this.completer(editor.text));
73
+ };
74
+ const buildFrame = () => {
75
+ const width = termWidth();
76
+ const rendered = editor.renderLines(width, { prompt: PROMPT, mask: this.mask });
77
+ const border = "─".repeat(Math.max(1, width));
78
+ const lines = [border, ...rendered.lines, border];
79
+ if (editor.completionVisible) {
80
+ for (const [index, item] of editor.completions
81
+ .slice(0, this.reserveSpaceForMenu)
82
+ .entries()) {
83
+ const row = truncateToWidth(` ${item.value} ${item.description}`, width);
84
+ lines.push(index === editor.selectedCompletion
85
+ ? `\x1b[7m${row}\x1b[27m`
86
+ : row);
87
+ }
88
+ }
89
+ if (this.footer !== null) {
90
+ for (const row of this.footer().split("\n").slice(0, 2)) {
91
+ lines.push(truncateToWidth(row, width));
92
+ }
93
+ }
94
+ return {
95
+ lines,
96
+ cursorRow: 1 + rendered.cursorRow,
97
+ cursorColumn: rendered.cursorColumn,
98
+ };
99
+ };
100
+ const redraw = () => {
101
+ const frame = buildFrame();
102
+ let chunk = "";
103
+ if (frameHeight > 0) {
104
+ if (frameHeight > 1) {
105
+ chunk += `\x1b[${frameHeight - 1}A`;
106
+ }
107
+ chunk += "\r\x1b[0J";
108
+ }
109
+ chunk += frame.lines.join("\r\n");
110
+ const up = frame.lines.length - 1 - frame.cursorRow;
111
+ if (up > 0) {
112
+ chunk += `\x1b[${up}A`;
113
+ }
114
+ chunk += "\r";
115
+ if (frame.cursorColumn > 0) {
116
+ chunk += `\x1b[${frame.cursorColumn}C`;
117
+ }
118
+ output.write(chunk);
119
+ frameHeight = frame.lines.length;
120
+ frameCursorRow = frame.cursorRow;
121
+ };
122
+ return new Promise((resolve, reject) => {
123
+ const finish = (error, result, recordHistory = true) => {
124
+ if (settled) {
125
+ return;
126
+ }
127
+ settled = true;
128
+ if (flushTimer !== null) {
129
+ clearTimeout(flushTimer);
130
+ flushTimer = null;
131
+ }
132
+ input.removeListener("data", onData);
133
+ if (typeof input.setRawMode === "function") {
134
+ input.setRawMode(false);
135
+ }
136
+ if (this.eraseWhenDone) {
137
+ let chunk = "";
138
+ if (frameHeight > 1) {
139
+ chunk += `\x1b[${frameHeight - 1}A`;
140
+ }
141
+ chunk += "\r\x1b[0J";
142
+ output.write(chunk);
143
+ }
144
+ else {
145
+ let chunk = "";
146
+ const down = frameHeight - 1 - frameCursorRow;
147
+ if (down > 0) {
148
+ chunk += `\x1b[${down}B`;
149
+ }
150
+ chunk += "\r\n";
151
+ output.write(chunk);
152
+ }
153
+ if (error !== null) {
154
+ this.persistHistory(editor);
155
+ reject(error);
156
+ return;
157
+ }
158
+ if (result && recordHistory) {
159
+ editor.history = [...editor.history, result];
160
+ }
161
+ this.persistHistory(editor);
162
+ resolve(result);
163
+ };
164
+ const handleAction = (action) => {
165
+ if (settled) {
166
+ return;
167
+ }
168
+ if (action.kind === InputActionKind.Cancel) {
169
+ finish(new PromptCancelledError(), "");
170
+ return;
171
+ }
172
+ if (action.kind === InputActionKind.Eof) {
173
+ if (!editor.text) {
174
+ finish(new PromptEofError(), "");
175
+ }
176
+ return;
177
+ }
178
+ if (action.kind === InputActionKind.Submit) {
179
+ refreshCompletions();
180
+ if (editor.completionVisible) {
181
+ const effect = editor.apply(action, { runtimeActive: false });
182
+ refreshCompletions();
183
+ if (effect.submit !== null) {
184
+ // Slash commands accept and submit in one Enter (pi semantics);
185
+ // editor.submit() already recorded the history entry.
186
+ finish(null, effect.submit, false);
187
+ }
188
+ }
189
+ else {
190
+ finish(null, editor.text);
191
+ }
192
+ return;
193
+ }
194
+ if (action.kind === InputActionKind.Newline && !this.multiline) {
195
+ return;
196
+ }
197
+ editor.apply(action, { runtimeActive: false });
198
+ refreshCompletions();
199
+ };
200
+ const scheduleEscapeFlush = () => {
201
+ if (flushTimer !== null) {
202
+ clearTimeout(flushTimer);
203
+ }
204
+ flushTimer = setTimeout(() => {
205
+ flushTimer = null;
206
+ for (const event of stdinBuffer.flush()) {
207
+ for (const sequence of inputFilter.feed(event.data)) {
208
+ for (const action of decoder.feed(sequence)) {
209
+ handleAction(action);
210
+ }
211
+ }
212
+ }
213
+ for (const sequence of inputFilter.flush()) {
214
+ for (const action of decoder.feed(sequence)) {
215
+ handleAction(action);
216
+ }
217
+ }
218
+ for (const action of decoder.flush()) {
219
+ handleAction(action);
220
+ }
221
+ refreshCompletions();
222
+ if (!settled) {
223
+ redraw();
224
+ }
225
+ }, ESCAPE_FLUSH_MS);
226
+ flushTimer.unref();
227
+ };
228
+ const onData = (chunk) => {
229
+ for (const event of stdinBuffer.feed(chunk)) {
230
+ if (event.kind === BufferedInputKind.Paste) {
231
+ handleAction(inputAction(InputActionKind.Insert, event.data.toString("utf8")));
232
+ continue;
233
+ }
234
+ for (const sequence of inputFilter.feed(event.data)) {
235
+ for (const action of decoder.feed(sequence)) {
236
+ handleAction(action);
237
+ }
238
+ }
239
+ }
240
+ if (settled) {
241
+ return;
242
+ }
243
+ refreshCompletions();
244
+ redraw();
245
+ scheduleEscapeFlush();
246
+ };
247
+ if (typeof input.setRawMode === "function") {
248
+ input.setRawMode(true);
249
+ }
250
+ input.on("data", onData);
251
+ refreshCompletions();
252
+ redraw();
253
+ });
254
+ }
255
+ persistHistory(editor) {
256
+ this.history = [...editor.history];
257
+ if (this.sharedHistory !== null) {
258
+ this.sharedHistory.length = 0;
259
+ this.sharedHistory.push(...editor.history);
260
+ }
261
+ }
262
+ }
263
+ function truncateToWidth(text, width) {
264
+ let result = "";
265
+ let used = 0;
266
+ for (const char of text) {
267
+ const charWidth = Math.max(1, charCellWidth(char));
268
+ if (used + charWidth > width) {
269
+ break;
270
+ }
271
+ result += char;
272
+ used += charWidth;
273
+ }
274
+ return result;
275
+ }
276
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/terminal/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Convert Markdown into styled ANSI logical lines without terminal I/O.
3
+ *
4
+ * Hand-written replacement for the Python version's Rich + prompt_toolkit
5
+ * pipeline: a small block/inline Markdown parser emits styled segments,
6
+ * which are word-wrapped and serialized as ANSI SGR strings. Each returned
7
+ * line is one logical line with no newline and fits the requested visible
8
+ * width, with any open SGR style closed before truncation.
9
+ *
10
+ * Rich-fidelity behaviors mirrored from Python's `render_markdown_lines`:
11
+ * links render their URL in parentheses, tables render as a bordered grid,
12
+ * list items keep a hanging indent on wrapped continuation lines, and
13
+ * block-level elements are separated by blank lines (container blocks —
14
+ * lists, tables, quotes — also carry a leading blank line, and a horizontal
15
+ * rule emits its own trailing blank line).
16
+ */
17
+ import type { TerminalTheme } from "./theme.ts";
18
+ export { visibleWidth } from "./screen.ts";
19
+ /** Render Markdown as ANSI logical lines that each fit `width` columns. */
20
+ export declare function renderMarkdownLines(text: string, width: number, theme: TerminalTheme): string[];