xiaotime 0.5.0 → 0.5.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 (56) hide show
  1. package/dist/__tests__/ansi_tags.test.d.ts +9 -0
  2. package/dist/__tests__/ansi_tags.test.d.ts.map +1 -0
  3. package/dist/__tests__/ansi_tags.test.js +58 -0
  4. package/dist/__tests__/ansi_tags.test.js.map +1 -0
  5. package/dist/__tests__/paste_transform_submit.test.d.ts +2 -0
  6. package/dist/__tests__/paste_transform_submit.test.d.ts.map +1 -0
  7. package/dist/__tests__/paste_transform_submit.test.js +74 -0
  8. package/dist/__tests__/paste_transform_submit.test.js.map +1 -0
  9. package/dist/__tests__/session_match.test.d.ts +10 -0
  10. package/dist/__tests__/session_match.test.d.ts.map +1 -0
  11. package/dist/__tests__/session_match.test.js +55 -0
  12. package/dist/__tests__/session_match.test.js.map +1 -0
  13. package/dist/__tests__/tools.test.js +165 -0
  14. package/dist/__tests__/tools.test.js.map +1 -1
  15. package/dist/__tests__/ui_state_listener_lifecycle.test.d.ts +2 -0
  16. package/dist/__tests__/ui_state_listener_lifecycle.test.d.ts.map +1 -0
  17. package/dist/__tests__/ui_state_listener_lifecycle.test.js +152 -0
  18. package/dist/__tests__/ui_state_listener_lifecycle.test.js.map +1 -0
  19. package/dist/ansi_tags.d.ts +20 -0
  20. package/dist/ansi_tags.d.ts.map +1 -0
  21. package/dist/ansi_tags.js +38 -0
  22. package/dist/ansi_tags.js.map +1 -0
  23. package/dist/config.d.ts +1 -1
  24. package/dist/config.js +1 -1
  25. package/dist/display.d.ts +53 -22
  26. package/dist/display.d.ts.map +1 -1
  27. package/dist/display.js +773 -47
  28. package/dist/display.js.map +1 -1
  29. package/dist/index.d.ts +3 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +34 -3
  32. package/dist/index.js.map +1 -1
  33. package/dist/session.d.ts.map +1 -1
  34. package/dist/session.js +5 -2
  35. package/dist/session.js.map +1 -1
  36. package/dist/session_match.d.ts +19 -0
  37. package/dist/session_match.d.ts.map +1 -0
  38. package/dist/session_match.js +9 -0
  39. package/dist/session_match.js.map +1 -0
  40. package/dist/sidebar.d.ts +84 -0
  41. package/dist/sidebar.d.ts.map +1 -0
  42. package/dist/sidebar.js +310 -0
  43. package/dist/sidebar.js.map +1 -0
  44. package/dist/tools.d.ts +4 -0
  45. package/dist/tools.d.ts.map +1 -1
  46. package/dist/tools.js +64 -49
  47. package/dist/tools.js.map +1 -1
  48. package/dist/ui_state.d.ts +41 -87
  49. package/dist/ui_state.d.ts.map +1 -1
  50. package/dist/ui_state.js +216 -162
  51. package/dist/ui_state.js.map +1 -1
  52. package/dist/ws.d.ts +10 -14
  53. package/dist/ws.d.ts.map +1 -1
  54. package/dist/ws.js +236 -119
  55. package/dist/ws.js.map +1 -1
  56. package/package.json +10 -5
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tests for the ANSI → blessed {tags} converter.
3
+ *
4
+ * SPRINT-CLI-GRANDMA-UX (#8191 CodeReview follow-up):
5
+ * - Pins the supported chalk palette mapping and asserts unrecognized escape
6
+ * runs are stripped (never leaked as raw bytes into the blessed buffer).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=ansi_tags.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi_tags.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ansi_tags.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for the ANSI → blessed {tags} converter.
4
+ *
5
+ * SPRINT-CLI-GRANDMA-UX (#8191 CodeReview follow-up):
6
+ * - Pins the supported chalk palette mapping and asserts unrecognized escape
7
+ * runs are stripped (never leaked as raw bytes into the blessed buffer).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const vitest_1 = require("vitest");
11
+ const ansi_tags_js_1 = require("../ansi_tags.js");
12
+ (0, vitest_1.describe)("ansiToBlessedTags", () => {
13
+ (0, vitest_1.test)("translates the SGR reset", () => {
14
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("hi\x1b[0m")).toBe("hi{/}");
15
+ });
16
+ (0, vitest_1.test)("translates bold and italic", () => {
17
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[1mb\x1b[0m")).toBe("{bold}b{/}");
18
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[3mi\x1b[0m")).toBe("{italic}i{/}");
19
+ });
20
+ (0, vitest_1.test)("translates dim to the muted grey", () => {
21
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[2mdim")).toBe("{#45475a-fg}dim");
22
+ });
23
+ (0, vitest_1.test)("translates the brand red truecolour", () => {
24
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[38;2;192;56;75mX\x1b[0m")).toBe("{#c0384b-fg}X{/}");
25
+ });
26
+ (0, vitest_1.test)("translates each supported truecolour foreground", () => {
27
+ const cases = [
28
+ ["\x1b[38;2;137;180;250m", "{#89b4fa-fg}"],
29
+ ["\x1b[38;2;166;227;161m", "{#a6e3a1-fg}"],
30
+ ["\x1b[38;2;243;139;168m", "{#f38ba8-fg}"],
31
+ ["\x1b[38;2;148;226;213m", "{#94e2d5-fg}"],
32
+ ["\x1b[38;2;249;226;175m", "{#f9e2af-fg}"],
33
+ ["\x1b[38;2;205;214;244m", "{#cdd6f4-fg}"],
34
+ ["\x1b[38;2;108;112;134m", "{#6c7086-fg}"],
35
+ ];
36
+ for (const [ansi, tag] of cases) {
37
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)(`${ansi}z`)).toBe(`${tag}z`);
38
+ }
39
+ });
40
+ (0, vitest_1.test)("strips unrecognized SGR codes rather than leaking raw escapes", () => {
41
+ // \x1b[22m (no-bold) is not mapped — it must be removed, not passed through.
42
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("a\x1b[22mb")).toBe("ab");
43
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[38;5;200mq")).toBe("q");
44
+ });
45
+ (0, vitest_1.test)("leaves plain text untouched", () => {
46
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("just words")).toBe("just words");
47
+ });
48
+ (0, vitest_1.test)("pins the current behavior for nested/overlapping sequences", () => {
49
+ // The converter does NOT model nesting (documented in ansi_tags.ts) — each
50
+ // recognized code maps independently. This locks in the observed output so
51
+ // a future change to the mapping order surfaces in review.
52
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[1m\x1b[3mbold+italic\x1b[0m")).toBe("{bold}{italic}bold+italic{/}");
53
+ // Partial reset (\x1b[22m no-bold) is unrecognized → stripped, leaving the
54
+ // opening {bold} tag unclosed. This is a known limitation, pinned here.
55
+ (0, vitest_1.expect)((0, ansi_tags_js_1.ansiToBlessedTags)("\x1b[1mbold\x1b[22mplain")).toBe("{bold}boldplain");
56
+ });
57
+ });
58
+ //# sourceMappingURL=ansi_tags.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi_tags.test.js","sourceRoot":"","sources":["../../src/__tests__/ansi_tags.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,mCAAgD;AAChD,kDAAoD;AAEpD,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,aAAI,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,KAAK,GAA4B;YACrC,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;YAC1C,CAAC,wBAAwB,EAAE,cAAc,CAAC;SAC3C,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAChC,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,+DAA+D,EAAE,GAAG,EAAE;QACzE,6EAA6E;QAC7E,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,4DAA4D,EAAE,GAAG,EAAE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,2DAA2D;QAC3D,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAChE,8BAA8B,CAC/B,CAAC;QACF,2EAA2E;QAC3E,wEAAwE;QACxE,IAAA,eAAM,EAAC,IAAA,gCAAiB,EAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=paste_transform_submit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paste_transform_submit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/paste_transform_submit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * PasteTransform submission + paste-collapsing tests.
5
+ *
6
+ * SPRINT-CLI-INPUT-ENTER-SUBMIT-FIX:
7
+ * Guards the regression where a deliberate Enter (a lone CR/LF chunk) was
8
+ * routed into the rapid-paste buffer and collapsed to a space by
9
+ * _scheduleRapidFlush. readline never saw a line terminator, so NO prompt
10
+ * ever submitted — every message in `xiaotime dev` hung at "ready".
11
+ *
12
+ * The contract pinned here:
13
+ * - a bare Enter passes through unchanged → readline gets a line terminator
14
+ * - a multi-line paste (one chunk or a fast burst) still collapses to a
15
+ * single line with no embedded terminator
16
+ */
17
+ const vitest_1 = require("vitest");
18
+ const ui_state_js_1 = require("../ui_state.js");
19
+ /** Write each chunk into a fresh PasteTransform and resolve with everything
20
+ * its `sink` emitted, after the rapid-flush idle window (60ms) has elapsed. */
21
+ function feed(chunks, waitMs = 150) {
22
+ return new Promise((resolve) => {
23
+ const pt = new ui_state_js_1.PasteTransform();
24
+ let out = "";
25
+ pt.sink.on("data", (b) => {
26
+ out += b.toString();
27
+ });
28
+ for (const c of chunks)
29
+ pt.write(Buffer.from(c));
30
+ setTimeout(() => resolve(out), waitMs);
31
+ });
32
+ }
33
+ const hasTerminator = (s) => /[\r\n]/.test(s);
34
+ (0, vitest_1.describe)("PasteTransform — Enter submits, pastes collapse", () => {
35
+ (0, vitest_1.test)("a typed line followed by Enter passes a line terminator through", async () => {
36
+ const out = await feed(["h", "e", "y", "\r"]);
37
+ (0, vitest_1.expect)(out).toBe("hey\r");
38
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(true); // readline would emit `line` → submit
39
+ });
40
+ (0, vitest_1.test)("a lone Enter on an empty prompt still submits", async () => {
41
+ const out = await feed(["\r"]);
42
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(true);
43
+ });
44
+ (0, vitest_1.test)("a bare LF (\\n) also passes through", async () => {
45
+ const out = await feed(["\n"]);
46
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(true);
47
+ });
48
+ (0, vitest_1.test)("a multi-line paste in one chunk collapses to a single line", async () => {
49
+ const out = await feed(["line1\nline2\n"]);
50
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(false); // newlines replaced with spaces
51
+ (0, vitest_1.expect)(out).toBe("line1 line2 ");
52
+ });
53
+ (0, vitest_1.test)("a fast-typed line + Enter batched into ONE chunk submits on the first Enter", async () => {
54
+ // SSH clients (Termius/mosh) batch the line and its trailing Enter into a
55
+ // single read. The trailing \r must survive as a line terminator, or the
56
+ // first Enter does nothing and you have to press Enter twice.
57
+ const out = await feed(["hey junior\r"]);
58
+ (0, vitest_1.expect)(out).toBe("hey junior\r");
59
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(true);
60
+ });
61
+ (0, vitest_1.test)("a multi-line paste WITH a trailing newline still does NOT submit", async () => {
62
+ // An internal newline marks a genuine paste — it must collapse for review,
63
+ // never auto-submit, even though it ends in a newline.
64
+ const out = await feed(["alpha\nbeta\n"]);
65
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(false);
66
+ (0, vitest_1.expect)(out).toBe("alpha beta ");
67
+ });
68
+ (0, vitest_1.test)("plain typed characters with no Enter pass straight through", async () => {
69
+ const out = await feed(["h", "i"]);
70
+ (0, vitest_1.expect)(out).toBe("hi");
71
+ (0, vitest_1.expect)(hasTerminator(out)).toBe(false); // nothing submits until Enter
72
+ });
73
+ });
74
+ //# sourceMappingURL=paste_transform_submit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paste_transform_submit.test.js","sourceRoot":"","sources":["../../src/__tests__/paste_transform_submit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Precedence tests for the `xiaotime replay` session matcher.
3
+ *
4
+ * SPRINT-CLI-GRANDMA-UX (#8191 CodeReview follow-up):
5
+ * - Locks the exact-name → exact-id → prefix-id ordering so the original
6
+ * bug (a session name that is a prefix of another session's id shadowing
7
+ * the exact-id match) can't regress.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=session_match.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_match.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/session_match.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * Precedence tests for the `xiaotime replay` session matcher.
4
+ *
5
+ * SPRINT-CLI-GRANDMA-UX (#8191 CodeReview follow-up):
6
+ * - Locks the exact-name → exact-id → prefix-id ordering so the original
7
+ * bug (a session name that is a prefix of another session's id shadowing
8
+ * the exact-id match) can't regress.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const vitest_1 = require("vitest");
12
+ const session_match_js_1 = require("../session_match.js");
13
+ const mk = (id, session_name) => ({
14
+ id,
15
+ session_name,
16
+ });
17
+ (0, vitest_1.describe)("matchSession", () => {
18
+ (0, vitest_1.test)("matches by exact session_name", () => {
19
+ const sessions = [mk("abc123", "morning"), mk("def456", "evening")];
20
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "evening")?.id).toBe("def456");
21
+ });
22
+ (0, vitest_1.test)("matches by exact id", () => {
23
+ const sessions = [mk("abc123", "morning"), mk("def456", "evening")];
24
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "def456")?.session_name).toBe("evening");
25
+ });
26
+ (0, vitest_1.test)("matches by id prefix when no exact match exists", () => {
27
+ const sessions = [mk("abc123def", "morning"), mk("xyz789", "evening")];
28
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "abc")?.id).toBe("abc123def");
29
+ });
30
+ (0, vitest_1.test)("exact name wins over an id prefix collision", () => {
31
+ // "abc" is BOTH a real session name AND a prefix of another session's id.
32
+ // Exact-name must win — the original ordering returned the id-prefix match.
33
+ const sessions = [mk("zzz000", "abc"), mk("abc123", "other")];
34
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "abc")?.id).toBe("zzz000");
35
+ });
36
+ (0, vitest_1.test)("exact id wins over an id-prefix match (the regression)", () => {
37
+ // "abc" exactly identifies one session and is a prefix of another. The
38
+ // exact id must win — the pre-fix ordering put prefix before exact id.
39
+ const sessions = [mk("abc123", "longer"), mk("abc", "exact")];
40
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "abc")?.session_name).toBe("exact");
41
+ });
42
+ (0, vitest_1.test)("returns undefined when nothing matches", () => {
43
+ const sessions = [mk("abc123", "morning")];
44
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "nope")).toBeUndefined();
45
+ });
46
+ (0, vitest_1.test)("returns undefined for an empty session list", () => {
47
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)([], "anything")).toBeUndefined();
48
+ });
49
+ (0, vitest_1.test)("does not match a null session_name against an empty-ish query", () => {
50
+ const sessions = [mk("abc123", null)];
51
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)(sessions, "")?.id).toBe("abc123"); // "" is a prefix of every id
52
+ (0, vitest_1.expect)((0, session_match_js_1.matchSession)([mk("abc123", null)], "morning")).toBeUndefined();
53
+ });
54
+ });
55
+ //# sourceMappingURL=session_match.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_match.test.js","sourceRoot":"","sources":["../../src/__tests__/session_match.test.ts"],"names":[],"mappings":"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"}
@@ -378,4 +378,169 @@ let origSettingsEnv;
378
378
  }
379
379
  });
380
380
  });
381
+ // SPRINT-CLI-INPUT-AND-TOOL-HARDENING-1 (#7299) PR1 — list_directory
382
+ // entry cap + truncation marker. Pre-cap, calling on a 298k-entry
383
+ // directory built a multi-MB tool result that the downstream POST
384
+ // rejected as a bare `Error:` line. The cap defaults to 500 with a
385
+ // per-CLI env override (XIAOTIME_LIST_DIRECTORY_MAX); recursive walks
386
+ // early-exit at cap+1 so we don't enumerate huge trees.
387
+ (0, vitest_1.describe)("list_directory entry cap (ISC-7299-001, ISC-7299-002)", () => {
388
+ let origMaxEnv;
389
+ (0, vitest_1.beforeEach)(() => {
390
+ origMaxEnv = process.env.XIAOTIME_LIST_DIRECTORY_MAX;
391
+ });
392
+ (0, vitest_1.afterEach)(() => {
393
+ if (origMaxEnv === undefined) {
394
+ delete process.env.XIAOTIME_LIST_DIRECTORY_MAX;
395
+ }
396
+ else {
397
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = origMaxEnv;
398
+ }
399
+ });
400
+ function _seedEntries(dir, count, ext = ".txt") {
401
+ for (let i = 0; i < count; i++) {
402
+ fs.writeFileSync(path.join(dir, `f${i}${ext}`), String(i));
403
+ }
404
+ }
405
+ (0, vitest_1.test)("under-cap directory returns the full list, no marker", async () => {
406
+ // 50 entries, cap default 500 — full content, no truncation note.
407
+ _seedEntries(tmpDir, 50);
408
+ const ui = new ui_state_js_1.SessionUI();
409
+ try {
410
+ const result = await (0, tools_js_1.executeTool)({
411
+ tool_use_id: "t-cap-under",
412
+ name: "list_directory",
413
+ input: { path: tmpDir },
414
+ }, ui);
415
+ (0, vitest_1.expect)(result.is_error).toBe(false);
416
+ (0, vitest_1.expect)(result.content).not.toContain("truncated");
417
+ // 50 entries → 50 newline-separated lines, no marker line.
418
+ const lines = result.content.split("\n").filter((l) => l.length > 0);
419
+ (0, vitest_1.expect)(lines).toHaveLength(50);
420
+ }
421
+ finally {
422
+ ui.getRl().close();
423
+ }
424
+ });
425
+ (0, vitest_1.test)("over-cap directory returns capped result + truncation marker", async () => {
426
+ // Lower the cap so the test stays fast — 600 entries with cap=100
427
+ // exercises the same code path as 300k entries with cap=500 but
428
+ // without the seeding cost.
429
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = "100";
430
+ _seedEntries(tmpDir, 600);
431
+ const ui = new ui_state_js_1.SessionUI();
432
+ try {
433
+ const result = await (0, tools_js_1.executeTool)({
434
+ tool_use_id: "t-cap-over",
435
+ name: "list_directory",
436
+ input: { path: tmpDir },
437
+ }, ui);
438
+ (0, vitest_1.expect)(result.is_error).toBe(false);
439
+ (0, vitest_1.expect)(result.content).toContain("truncated to 100");
440
+ (0, vitest_1.expect)(result.content).toContain("narrow with a pattern");
441
+ // 100 entries + 1 marker line = 101 non-empty lines.
442
+ const lines = result.content.split("\n").filter((l) => l.length > 0);
443
+ (0, vitest_1.expect)(lines).toHaveLength(101);
444
+ }
445
+ finally {
446
+ ui.getRl().close();
447
+ }
448
+ });
449
+ (0, vitest_1.test)("pattern filter applies BEFORE the cap (matching entries cap correctly)", async () => {
450
+ // 300 .py files + 300 .txt files; pattern *.py → 300 matches, cap
451
+ // truncates to 50. Pre-fix bug shape would have been "cap to 50
452
+ // raw, THEN filter by pattern" producing fewer (or zero) .py
453
+ // entries in the result.
454
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = "50";
455
+ _seedEntries(tmpDir, 300, ".py");
456
+ _seedEntries(tmpDir, 300, ".txt");
457
+ const ui = new ui_state_js_1.SessionUI();
458
+ try {
459
+ const result = await (0, tools_js_1.executeTool)({
460
+ tool_use_id: "t-cap-pattern",
461
+ name: "list_directory",
462
+ input: { path: tmpDir, pattern: "*.py" },
463
+ }, ui);
464
+ (0, vitest_1.expect)(result.is_error).toBe(false);
465
+ (0, vitest_1.expect)(result.content).toContain("truncated to 50");
466
+ const lines = result.content.split("\n").filter((l) => l.length > 0 && !l.startsWith("..."));
467
+ (0, vitest_1.expect)(lines).toHaveLength(50);
468
+ // Every retained entry MUST match the pattern.
469
+ for (const line of lines) {
470
+ (0, vitest_1.expect)(line).toMatch(/\.py$/);
471
+ }
472
+ }
473
+ finally {
474
+ ui.getRl().close();
475
+ }
476
+ });
477
+ (0, vitest_1.test)("recursive walk early-exits at cap (no full-tree enumeration)", async () => {
478
+ // Build a 3-level nested structure with 100 files per leaf. With
479
+ // cap=30 the walk must return only 30 entries — we assert this
480
+ // both via the result + via spying on fs.readdirSync to confirm
481
+ // we did NOT enumerate every directory.
482
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = "30";
483
+ const sub1 = path.join(tmpDir, "sub1");
484
+ const sub2 = path.join(sub1, "sub2");
485
+ fs.mkdirSync(sub2, { recursive: true });
486
+ _seedEntries(tmpDir, 100, ".log");
487
+ _seedEntries(sub1, 100, ".log");
488
+ _seedEntries(sub2, 100, ".log");
489
+ const ui = new ui_state_js_1.SessionUI();
490
+ try {
491
+ const result = await (0, tools_js_1.executeTool)({
492
+ tool_use_id: "t-cap-recursive",
493
+ name: "list_directory",
494
+ input: { path: tmpDir, recursive: true },
495
+ }, ui);
496
+ (0, vitest_1.expect)(result.is_error).toBe(false);
497
+ (0, vitest_1.expect)(result.content).toContain("truncated to 30");
498
+ const lines = result.content.split("\n").filter((l) => l.length > 0 && !l.startsWith("..."));
499
+ (0, vitest_1.expect)(lines).toHaveLength(30);
500
+ }
501
+ finally {
502
+ ui.getRl().close();
503
+ }
504
+ });
505
+ (0, vitest_1.test)("XIAOTIME_LIST_DIRECTORY_MAX env override is honored", async () => {
506
+ // 200 entries, override cap to 25 — result should have 25 + marker.
507
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = "25";
508
+ _seedEntries(tmpDir, 200);
509
+ const ui = new ui_state_js_1.SessionUI();
510
+ try {
511
+ const result = await (0, tools_js_1.executeTool)({
512
+ tool_use_id: "t-cap-env",
513
+ name: "list_directory",
514
+ input: { path: tmpDir },
515
+ }, ui);
516
+ (0, vitest_1.expect)(result.is_error).toBe(false);
517
+ (0, vitest_1.expect)(result.content).toContain("truncated to 25");
518
+ const lines = result.content.split("\n").filter((l) => l.length > 0 && !l.startsWith("..."));
519
+ (0, vitest_1.expect)(lines).toHaveLength(25);
520
+ }
521
+ finally {
522
+ ui.getRl().close();
523
+ }
524
+ });
525
+ (0, vitest_1.test)("malformed XIAOTIME_LIST_DIRECTORY_MAX falls back to default 500", async () => {
526
+ // Defensive: garbage env value, non-positive, etc. shouldn't crash;
527
+ // should fall back to 500. Test with a sub-default count so the
528
+ // fallback yields the full list with no truncation.
529
+ process.env.XIAOTIME_LIST_DIRECTORY_MAX = "not-a-number";
530
+ _seedEntries(tmpDir, 50);
531
+ const ui = new ui_state_js_1.SessionUI();
532
+ try {
533
+ const result = await (0, tools_js_1.executeTool)({
534
+ tool_use_id: "t-cap-bad-env",
535
+ name: "list_directory",
536
+ input: { path: tmpDir },
537
+ }, ui);
538
+ (0, vitest_1.expect)(result.is_error).toBe(false);
539
+ (0, vitest_1.expect)(result.content).not.toContain("truncated");
540
+ }
541
+ finally {
542
+ ui.getRl().close();
543
+ }
544
+ });
545
+ });
381
546
  //# sourceMappingURL=tools.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/__tests__/tools.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ui_state_listener_lifecycle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui_state_listener_lifecycle.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ui_state_listener_lifecycle.test.ts"],"names":[],"mappings":""}