@ashx-j/lunr-dev 0.2.13-dev.3.1 → 0.2.13-dev.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 (120) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/builtin-extensions/ashxj-tui.d.ts +2 -1
  3. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
  4. package/dist/builtin-extensions/ashxj-tui.js +7 -17
  5. package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
  6. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +2 -0
  7. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  8. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +27 -22
  9. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  10. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
  11. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +5 -2
  12. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
  13. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
  14. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +12 -1
  15. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
  16. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts +1 -0
  17. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -1
  18. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +3 -2
  19. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -1
  20. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.d.ts.map +1 -1
  21. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js +1 -0
  22. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-append.js.map +1 -1
  23. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.d.ts.map +1 -1
  24. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js +3 -0
  25. package/dist/builtin-extensions/pi-subagents/src/runs/background/chain-root-attachment.js.map +1 -1
  26. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.d.ts.map +1 -1
  27. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js +3 -3
  28. package/dist/builtin-extensions/pi-subagents/src/runs/background/fleet-view.js.map +1 -1
  29. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -1
  30. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +2 -2
  31. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
  32. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
  33. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +3 -0
  34. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
  35. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
  36. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +7 -1
  37. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
  38. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
  39. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +2 -0
  40. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
  41. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +1 -0
  42. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  43. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +19 -3
  44. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
  45. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +10 -1
  46. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -1
  47. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +19 -0
  48. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -1
  49. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +1 -0
  50. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
  51. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
  52. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +2 -1
  53. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -1
  54. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +17 -0
  55. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -1
  56. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +3 -1
  57. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -1
  58. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +14 -3
  59. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -1
  60. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +14 -0
  61. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
  62. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
  63. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -1
  64. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +2 -2
  65. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -1
  66. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
  67. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +12 -10
  68. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
  69. package/dist/core/customize.d.ts +2 -4
  70. package/dist/core/customize.d.ts.map +1 -1
  71. package/dist/core/customize.js +2 -8
  72. package/dist/core/customize.js.map +1 -1
  73. package/dist/core/settings-manager.d.ts +0 -6
  74. package/dist/core/settings-manager.d.ts.map +1 -1
  75. package/dist/core/settings-manager.js +0 -17
  76. package/dist/core/settings-manager.js.map +1 -1
  77. package/dist/core/slash-commands.d.ts.map +1 -1
  78. package/dist/core/slash-commands.js +1 -0
  79. package/dist/core/slash-commands.js.map +1 -1
  80. package/dist/migrations.d.ts +2 -0
  81. package/dist/migrations.d.ts.map +1 -1
  82. package/dist/migrations.js +14 -4
  83. package/dist/migrations.js.map +1 -1
  84. package/dist/modes/interactive/components/assistant-message.d.ts +1 -3
  85. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  86. package/dist/modes/interactive/components/assistant-message.js +4 -32
  87. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  88. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  89. package/dist/modes/interactive/components/custom-editor.js +2 -1
  90. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  91. package/dist/modes/interactive/components/plan-message.d.ts +1 -3
  92. package/dist/modes/interactive/components/plan-message.d.ts.map +1 -1
  93. package/dist/modes/interactive/components/plan-message.js +1 -16
  94. package/dist/modes/interactive/components/plan-message.js.map +1 -1
  95. package/dist/modes/interactive/components/settings-selector.d.ts +0 -4
  96. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  97. package/dist/modes/interactive/components/settings-selector.js +10 -30
  98. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  99. package/dist/modes/interactive/components/user-message.d.ts +1 -3
  100. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  101. package/dist/modes/interactive/components/user-message.js +2 -19
  102. package/dist/modes/interactive/components/user-message.js.map +1 -1
  103. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  104. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  105. package/dist/modes/interactive/interactive-mode.js +29 -34
  106. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  107. package/dist/modes/interactive/theme/moon.json +0 -1
  108. package/dist/modes/interactive/theme/theme-schema.json +3 -3
  109. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  110. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  111. package/dist/modes/interactive/theme/theme.js +0 -6
  112. package/dist/modes/interactive/theme/theme.js.map +1 -1
  113. package/docs/features.md +2 -2
  114. package/docs/keybindings.md +1 -1
  115. package/docs/quickstart.md +1 -1
  116. package/docs/settings.md +1 -3
  117. package/docs/terminal-setup.md +2 -2
  118. package/docs/usage.md +2 -1
  119. package/docs/windows.md +1 -1
  120. package/package.json +4 -4
@@ -11,24 +11,17 @@ export class UserMessageComponent extends Container {
11
11
  text;
12
12
  markdownTheme;
13
13
  outputPad;
14
- // lunr: gutter rail — prefix rendered lines with a dim │ (last line when this
15
- // component closes a turn; user messages open the rail so all lines use │).
16
- gutterRail;
17
- constructor(text, markdownTheme = getMarkdownTheme(), outputPad = 1, gutterRail = false) {
14
+ constructor(text, markdownTheme = getMarkdownTheme(), outputPad = 1) {
18
15
  super();
19
16
  this.text = text;
20
17
  this.markdownTheme = markdownTheme;
21
18
  this.outputPad = outputPad;
22
- this.gutterRail = gutterRail;
23
19
  this.rebuild();
24
20
  }
25
21
  setOutputPad(padding) {
26
22
  this.outputPad = padding;
27
23
  this.rebuild();
28
24
  }
29
- setGutterRail(enabled) {
30
- this.gutterRail = enabled;
31
- }
32
25
  rebuild() {
33
26
  this.clear();
34
27
  const contentBox = new Box(this.outputPad, 1, (content) => theme.bg("userMessageBg", content));
@@ -41,22 +34,12 @@ export class UserMessageComponent extends Container {
41
34
  this.addChild(contentBox);
42
35
  }
43
36
  render(width) {
44
- // lunr: gutter rail — render content at width-2 and prefix each line with a
45
- // dim │ so a thin rail runs down the left of the user message.
46
- const railEnabled = this.gutterRail;
47
- const contentWidth = railEnabled ? Math.max(1, width - 2) : width;
48
- const lines = super.render(contentWidth);
37
+ const lines = super.render(width);
49
38
  if (lines.length === 0) {
50
39
  return lines;
51
40
  }
52
41
  lines[0] = OSC133_ZONE_START + lines[0];
53
42
  lines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];
54
- if (railEnabled) {
55
- const rail = theme.fg("dim", "│ ");
56
- for (let i = 0; i < lines.length; i++) {
57
- lines[i] = rail + lines[i];
58
- }
59
- }
60
43
  return lines;
61
44
  }
62
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"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","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@ashx-j/lunr-tui\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tselectable = true;\n\tprivate text: string;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate outputPad: number;\n\t// lunr: gutter rail — prefix rendered lines with a dim │ (last line ╰ when this\n\t// component closes a turn; user messages open the rail so all lines use │).\n\tprivate gutterRail: boolean;\n\n\tconstructor(text: string, markdownTheme: MarkdownTheme = getMarkdownTheme(), outputPad = 1, gutterRail = false) {\n\t\tsuper();\n\t\tthis.text = text;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.outputPad = outputPad;\n\t\tthis.gutterRail = gutterRail;\n\t\tthis.rebuild();\n\t}\n\n\tsetOutputPad(padding: number): void {\n\t\tthis.outputPad = padding;\n\t\tthis.rebuild();\n\t}\n\n\tsetGutterRail(enabled: boolean): void {\n\t\tthis.gutterRail = enabled;\n\t}\n\n\tprivate rebuild(): void {\n\t\tthis.clear();\n\t\tconst contentBox = new Box(this.outputPad, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\t// lunr: leading ● marks the first line of a user message. Kept uncolored in the\n\t\t// markdown source so the message's own text color applies (white in moon theme);\n\t\t// embedding ANSI here would strip the text color from the rest of the paragraph.\n\t\tcontentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\t`● ${this.text}`,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.markdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{ preserveOrderedListMarkers: true, preserveBackslashEscapes: true },\n\t\t\t),\n\t\t);\n\t\tthis.addChild(contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\t// lunr: gutter rail — render content at width-2 and prefix each line with a\n\t\t// dim │ so a thin rail runs down the left of the user message.\n\t\tconst railEnabled = this.gutterRail;\n\t\tconst contentWidth = railEnabled ? Math.max(1, width - 2) : width;\n\t\tconst lines = super.render(contentWidth);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\n\t\tif (railEnabled) {\n\t\t\tconst rail = theme.fg(\"dim\", \"│ \");\n\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\tlines[i] = rail + lines[i];\n\t\t\t}\n\t\t}\n\t\treturn lines;\n\t}\n}\n"]}
1
+ {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAClD,UAAU,GAAG,IAAI,CAAC;IACV,IAAI,CAAS;IACb,aAAa,CAAgB;IAC7B,SAAS,CAAS;IAE1B,YAAY,IAAY,EAAE,aAAa,GAAkB,gBAAgB,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE;QAC3F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACf;IAED,YAAY,CAAC,OAAe,EAAQ;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACf;IAEO,OAAO,GAAS;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACvG,kFAAgF;QAChF,iFAAiF;QACjF,iFAAiF;QACjF,UAAU,CAAC,QAAQ,CAClB,IAAI,QAAQ,CACX,OAAK,IAAI,CAAC,IAAI,EAAE,EAChB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,aAAa,EAClB;YACC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAChE,EACD,EAAE,0BAA0B,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CACpE,CACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAAA,CAC1B;IAEQ,MAAM,CAAC,KAAa,EAAY;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAExF,OAAO,KAAK,CAAC;IAAA,CACb;CACD","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@ashx-j/lunr-tui\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tselectable = true;\n\tprivate text: string;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate outputPad: number;\n\n\tconstructor(text: string, markdownTheme: MarkdownTheme = getMarkdownTheme(), outputPad = 1) {\n\t\tsuper();\n\t\tthis.text = text;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.outputPad = outputPad;\n\t\tthis.rebuild();\n\t}\n\n\tsetOutputPad(padding: number): void {\n\t\tthis.outputPad = padding;\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\tthis.clear();\n\t\tconst contentBox = new Box(this.outputPad, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\t// lunr: leading ● marks the first line of a user message. Kept uncolored in the\n\t\t// markdown source so the message's own text color applies (white in moon theme);\n\t\t// embedding ANSI here would strip the text color from the rest of the paragraph.\n\t\tcontentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\t`● ${this.text}`,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.markdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{ preserveOrderedListMarkers: true, preserveBackslashEscapes: true },\n\t\t\t),\n\t\t);\n\t\tthis.addChild(contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\tconst lines = super.render(width);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\n\t\treturn lines;\n\t}\n}\n"]}
@@ -47,6 +47,8 @@ export interface InteractiveModeOptions {
47
47
  deprecationWarnings?: string[];
48
48
  deferredMaintenance?: () => Promise<void>;
49
49
  }
50
+ type EnsureInteractiveTool = (tool: "fd" | "rg", silent?: boolean) => Promise<string | undefined>;
51
+ export declare function startInteractiveToolInstalls(currentFdPath: string | undefined, onFdInstalled: (fdPath: string) => void, installer?: EnsureInteractiveTool): Promise<void>;
50
52
  export declare class InteractiveMode {
51
53
  private runtimeHost;
52
54
  private ui;