@jx-grxf/patchpilot 0.2.0 → 0.3.0

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 (63) hide show
  1. package/README.md +67 -10
  2. package/SECURITY.md +20 -0
  3. package/dist/cli.js +52 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/agent.d.ts +5 -2
  6. package/dist/core/agent.js +167 -24
  7. package/dist/core/agent.js.map +1 -1
  8. package/dist/core/codex.js +1 -1
  9. package/dist/core/codex.js.map +1 -1
  10. package/dist/core/gemini.js +13 -22
  11. package/dist/core/gemini.js.map +1 -1
  12. package/dist/core/http.d.ts +6 -0
  13. package/dist/core/http.js +45 -0
  14. package/dist/core/http.js.map +1 -0
  15. package/dist/core/json.js +9 -0
  16. package/dist/core/json.js.map +1 -1
  17. package/dist/core/nvidia.js +9 -2
  18. package/dist/core/nvidia.js.map +1 -1
  19. package/dist/core/ollama.js +8 -1
  20. package/dist/core/ollama.js.map +1 -1
  21. package/dist/core/openrouter.js +13 -8
  22. package/dist/core/openrouter.js.map +1 -1
  23. package/dist/core/reasoning.d.ts +12 -0
  24. package/dist/core/reasoning.js +108 -0
  25. package/dist/core/reasoning.js.map +1 -0
  26. package/dist/core/session.d.ts +31 -0
  27. package/dist/core/session.js +154 -0
  28. package/dist/core/session.js.map +1 -0
  29. package/dist/core/types.d.ts +103 -2
  30. package/dist/core/workspace.d.ts +17 -1
  31. package/dist/core/workspace.js +495 -13
  32. package/dist/core/workspace.js.map +1 -1
  33. package/dist/tui/App.js +291 -88
  34. package/dist/tui/App.js.map +1 -1
  35. package/dist/tui/commands.js +37 -2
  36. package/dist/tui/commands.js.map +1 -1
  37. package/dist/tui/components/Header.d.ts +2 -2
  38. package/dist/tui/components/Header.js +17 -54
  39. package/dist/tui/components/Header.js.map +1 -1
  40. package/dist/tui/components/OnboardingPanel.d.ts +5 -0
  41. package/dist/tui/components/OnboardingPanel.js +11 -13
  42. package/dist/tui/components/OnboardingPanel.js.map +1 -1
  43. package/dist/tui/components/Sidebar.d.ts +6 -1
  44. package/dist/tui/components/Sidebar.js +15 -6
  45. package/dist/tui/components/Sidebar.js.map +1 -1
  46. package/dist/tui/components/Transcript.js +57 -8
  47. package/dist/tui/components/Transcript.js.map +1 -1
  48. package/dist/tui/hosts.js +7 -1
  49. package/dist/tui/hosts.js.map +1 -1
  50. package/dist/tui/modelSelection.d.ts +1 -0
  51. package/dist/tui/modelSelection.js +29 -0
  52. package/dist/tui/modelSelection.js.map +1 -0
  53. package/dist/tui/types.d.ts +12 -2
  54. package/dist/tui/types.js.map +1 -1
  55. package/docs/releases/v0.1.0.md +26 -0
  56. package/docs/releases/v0.2.0.md +21 -0
  57. package/docs/releases/v0.2.1.md +26 -0
  58. package/docs/releases/v0.3.0.md +26 -0
  59. package/docs/showcase/patchpilot-showcase.svg +83 -38
  60. package/package.json +5 -2
  61. package/dist/tui/inputRouting.d.ts +0 -8
  62. package/dist/tui/inputRouting.js +0 -94
  63. package/dist/tui/inputRouting.js.map +0 -1
@@ -1,39 +1,84 @@
1
- <svg width="920" height="520" viewBox="0 0 920 520" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc">
2
- <title id="title">PatchPilot TUI showcase</title>
3
- <desc id="desc">A stylized terminal interface for the PatchPilot local coding agent.</desc>
4
- <rect width="920" height="520" rx="28" fill="#0B1020"/>
5
- <rect x="32" y="32" width="856" height="456" rx="18" fill="#111827" stroke="#334155"/>
6
- <rect x="32" y="32" width="856" height="48" rx="18" fill="#172033"/>
7
- <circle cx="60" cy="56" r="7" fill="#EF4444"/>
8
- <circle cx="84" cy="56" r="7" fill="#F59E0B"/>
9
- <circle cx="108" cy="56" r="7" fill="#22C55E"/>
10
- <text x="138" y="62" fill="#E5E7EB" font-family="Consolas, Menlo, monospace" font-size="18" font-weight="700">PatchPilot</text>
11
- <rect x="704" y="45" width="146" height="24" rx="12" fill="#0F766E"/>
12
- <text x="724" y="62" fill="#CCFBF1" font-family="Consolas, Menlo, monospace" font-size="13">qwen2.5-coder</text>
13
-
14
- <rect x="56" y="104" width="228" height="338" rx="12" fill="#0F172A" stroke="#334155"/>
15
- <text x="76" y="134" fill="#38BDF8" font-family="Consolas, Menlo, monospace" font-size="14" font-weight="700">Workspace</text>
16
- <text x="76" y="166" fill="#CBD5E1" font-family="Consolas, Menlo, monospace" font-size="13">src/core/agent.ts</text>
17
- <text x="76" y="194" fill="#CBD5E1" font-family="Consolas, Menlo, monospace" font-size="13">src/core/tools.ts</text>
18
- <text x="76" y="222" fill="#CBD5E1" font-family="Consolas, Menlo, monospace" font-size="13">src/tui/App.tsx</text>
19
- <text x="76" y="250" fill="#94A3B8" font-family="Consolas, Menlo, monospace" font-size="13">tests/parser.test.ts</text>
20
- <rect x="76" y="290" width="168" height="30" rx="8" fill="#1E293B"/>
21
- <text x="94" y="311" fill="#A7F3D0" font-family="Consolas, Menlo, monospace" font-size="13">write: disabled</text>
22
- <rect x="76" y="332" width="168" height="30" rx="8" fill="#1E293B"/>
23
- <text x="94" y="353" fill="#FDE68A" font-family="Consolas, Menlo, monospace" font-size="13">shell: ask first</text>
24
-
25
- <rect x="308" y="104" width="556" height="338" rx="12" fill="#020617" stroke="#334155"/>
26
- <text x="332" y="136" fill="#F8FAFC" font-family="Consolas, Menlo, monospace" font-size="15" font-weight="700">Agent transcript</text>
27
- <text x="332" y="174" fill="#94A3B8" font-family="Consolas, Menlo, monospace" font-size="13">user</text>
28
- <text x="390" y="174" fill="#E5E7EB" font-family="Consolas, Menlo, monospace" font-size="13">add parser tests and explain the diff</text>
29
- <text x="332" y="216" fill="#38BDF8" font-family="Consolas, Menlo, monospace" font-size="13">pilot</text>
30
- <text x="390" y="216" fill="#CBD5E1" font-family="Consolas, Menlo, monospace" font-size="13">reading parser and current tests...</text>
31
- <rect x="332" y="244" width="492" height="42" rx="10" fill="#111827"/>
32
- <text x="354" y="270" fill="#A7F3D0" font-family="Consolas, Menlo, monospace" font-size="13">tool read_file src/core/json.ts</text>
33
- <rect x="332" y="302" width="492" height="42" rx="10" fill="#111827"/>
34
- <text x="354" y="328" fill="#FDE68A" font-family="Consolas, Menlo, monospace" font-size="13">tool write_file denied: run with --apply</text>
35
- <rect x="332" y="364" width="492" height="42" rx="10" fill="#111827"/>
36
- <text x="354" y="390" fill="#C4B5FD" font-family="Consolas, Menlo, monospace" font-size="13">final review the proposed patch before commit</text>
37
- <rect x="56" y="456" width="808" height="1" fill="#334155"/>
38
- <text x="56" y="476" fill="#64748B" font-family="Consolas, Menlo, monospace" font-size="12">local model, visible tools, explicit permissions</text>
1
+ <svg width="2048" height="1024" viewBox="0 0 2048 1024" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc">
2
+ <title id="title">PatchPilot v0.3 terminal showcase</title>
3
+ <desc id="desc">PatchPilot terminal interface with a calm header, session sidebar, approval permissions, Gemini provider, and typed transcript blocks.</desc>
4
+ <rect width="2048" height="1024" fill="#1F2636"/>
5
+ <rect x="22" y="17" width="2004" height="88" rx="2" fill="#202739" stroke="#6CB36F" stroke-width="1.5"/>
6
+ <text x="37" y="43" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">gemini/gemini-3.1-flash-lite-preview</text>
7
+ <text x="397" y="43" fill="#708296" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">on</text>
8
+ <text x="429" y="43" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">gemini api</text>
9
+ <text x="528" y="43" fill="#5C6E83" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">mode</text>
10
+ <text x="581" y="43" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">plan</text>
11
+ <text x="631" y="43" fill="#5C6E83" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">write</text>
12
+ <text x="692" y="43" fill="#5C6E83" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">approval</text>
13
+ <text x="785" y="43" fill="#5C6E83" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">shell</text>
14
+ <text x="846" y="43" fill="#5C6E83" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">approval</text>
15
+ <text x="1973" y="43" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" text-anchor="end">idle</text>
16
+ <text x="37" y="66" fill="#546A80" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">idle 1 req 2472 in/160 out - 49.6 tok/s 1.2s</text>
17
+
18
+ <rect x="22" y="149" width="304" height="836" rx="2" fill="#202739" stroke="#4B627A" stroke-width="1.2"/>
19
+ <text x="37" y="176" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Session</text>
20
+ <text x="37" y="198" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">state</text>
21
+ <text x="125" y="198" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">idle</text>
22
+ <text x="37" y="220" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">mode</text>
23
+ <text x="125" y="220" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">plan</text>
24
+ <text x="37" y="242" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">session</text>
25
+ <text x="125" y="242" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">20260516...-019fgk</text>
26
+ <text x="37" y="264" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">agents</text>
27
+ <text x="125" y="264" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">on</text>
28
+
29
+ <text x="37" y="286" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Permissions</text>
30
+ <text x="37" y="308" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">mode</text>
31
+ <text x="125" y="308" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">plan</text>
32
+ <text x="37" y="330" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">write</text>
33
+ <text x="125" y="330" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">approval</text>
34
+ <text x="37" y="352" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">shell</text>
35
+ <text x="125" y="352" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">approval</text>
36
+
37
+ <text x="37" y="374" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Model</text>
38
+ <text x="37" y="396" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">provider</text>
39
+ <text x="125" y="396" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">gemini</text>
40
+ <text x="37" y="418" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">gemini-3.1-f...lite-preview</text>
41
+
42
+ <text x="37" y="440" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Host</text>
43
+ <text x="37" y="462" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">device</text>
44
+ <text x="125" y="462" fill="#E3C95C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">gemini api</text>
45
+ <text x="37" y="484" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">network</text>
46
+ <text x="125" y="484" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">cloud</text>
47
+ <text x="37" y="506" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">gemini cloud</text>
48
+ <text x="37" y="528" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">version -</text>
49
+ <text x="37" y="550" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">models -</text>
50
+ <text x="37" y="572" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">loaded idle</text>
51
+
52
+ <text x="37" y="594" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Workspace</text>
53
+ <text x="37" y="616" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">/Users/johann...s/PatchPilot</text>
54
+
55
+ <text x="37" y="638" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Runtime</text>
56
+ <text x="37" y="660" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">cpu 22% mem 99%/7.9G</text>
57
+ <text x="37" y="682" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">gpu - vram -</text>
58
+ <text x="37" y="704" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">draft 0 tok</text>
59
+ <text x="37" y="726" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">2472 in/160 out/2632 total</text>
60
+ <text x="37" y="748" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">1 req 2472 in/160 out</text>
61
+ <text x="37" y="770" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">-</text>
62
+
63
+ <text x="37" y="792" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">Advisors</text>
64
+ <text x="37" y="814" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">No advisor output yet.</text>
65
+
66
+ <rect x="344" y="149" width="1682" height="836" rx="2" fill="#202739" stroke="#6BDCE4" stroke-width="1.3"/>
67
+ <text x="359" y="176" fill="#E9EEF5" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">&gt;</text>
68
+ <text x="389" y="176" fill="#E9EEF5" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">you</text>
69
+ <text x="525" y="176" fill="#E9EEF5" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">Hey, whats up?</text>
70
+
71
+ <text x="359" y="198" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">-</text>
72
+ <text x="389" y="198" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">planning</text>
73
+ <text x="525" y="198" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">thinking step 1/8</text>
74
+ <text x="525" y="220" fill="#28364A" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">state planning</text>
75
+
76
+ <text x="359" y="242" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">=</text>
77
+ <text x="389" y="242" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17" font-weight="700">final</text>
78
+ <text x="525" y="242" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">Not much! Just hanging out in the terminal, ready to help you with your code. I'm PatchPilot, your local-first coding agent. How can I help you with</text>
79
+ <text x="525" y="264" fill="#73BC75" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">the workspace today?</text>
80
+ <text x="525" y="286" fill="#28364A" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">state done</text>
81
+
82
+ <text x="339" y="1014" fill="#78D2D3" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">patch &gt;</text>
83
+ <text x="426" y="1014" fill="#52677C" font-family="SFMono-Regular, Menlo, Consolas, monospace" font-size="17">Ask PatchPilot or type /help...</text>
39
84
  </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jx-grxf/patchpilot",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "description": "Local-first coding agent TUI for visible, permissioned repo changes.",
6
6
  "type": "module",
@@ -10,8 +10,10 @@
10
10
  "files": [
11
11
  "dist",
12
12
  ".env.example",
13
+ "docs/releases",
13
14
  "docs/showcase/patchpilot-showcase.svg",
14
15
  "README.md",
16
+ "SECURITY.md",
15
17
  "LICENSE"
16
18
  ],
17
19
  "publishConfig": {
@@ -26,8 +28,9 @@
26
28
  },
27
29
  "homepage": "https://github.com/jx-grxf/PatchPilot#readme",
28
30
  "scripts": {
31
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
29
32
  "dev": "tsx src/cli.tsx",
30
- "build": "tsc",
33
+ "build": "npm run clean && tsc",
31
34
  "prepack": "npm run build",
32
35
  "prepublishOnly": "npm run typecheck && npm test && npm run build && npm audit --omit=dev --audit-level=moderate && npm pack --dry-run",
33
36
  "start": "node dist/cli.js",
@@ -1,8 +0,0 @@
1
- export type LocalConversationResult = {
2
- handled: true;
3
- tone: "accent" | "warning";
4
- message: string;
5
- } | {
6
- handled: false;
7
- };
8
- export declare function routeLocalConversation(task: string, now?: Date): LocalConversationResult;
@@ -1,94 +0,0 @@
1
- export function routeLocalConversation(task, now = new Date()) {
2
- const normalizedTask = task.trim().toLowerCase();
3
- const plainTask = normalizedTask.replace(/[!?.\s]/g, "");
4
- if (["hi", "hey", "hello", "hallo", "servus", "yo", "moin"].includes(plainTask)) {
5
- return {
6
- handled: true,
7
- tone: "accent",
8
- message: "Bereit. Sag kurz, welches Projektziel ich anfassen soll."
9
- };
10
- }
11
- if (asksForCurrentTime(normalizedTask)) {
12
- return {
13
- handled: true,
14
- tone: "accent",
15
- message: `Es ist ${formatLocalTime(now)}.`
16
- };
17
- }
18
- if (asksHowAreYou(normalizedTask)) {
19
- return {
20
- handled: true,
21
- tone: "accent",
22
- message: "Läuft. Ich bin bereit für den nächsten PatchPilot-Task."
23
- };
24
- }
25
- if (["ok", "okay", "nice", "cool", "danke", "thanks", "thx"].includes(plainTask)) {
26
- return {
27
- handled: true,
28
- tone: "accent",
29
- message: "Passt."
30
- };
31
- }
32
- const wordCount = task.trim().split(/\s+/).filter(Boolean).length;
33
- if (wordCount === 1 && looksLikeAmbiguousCodingVerb(plainTask)) {
34
- return {
35
- handled: true,
36
- tone: "warning",
37
- message: "Was genau soll ich damit machen? Beispiel: `summarize this repository` oder `summarize README.md`."
38
- };
39
- }
40
- if (wordCount <= 2 && !looksLikeCodingTask(normalizedTask)) {
41
- return {
42
- handled: true,
43
- tone: "warning",
44
- message: "Zu wenig Kontext für den Agenten. Beispiel: `summarize this repository`, `run tests`, oder `add a diff preview`."
45
- };
46
- }
47
- return {
48
- handled: false
49
- };
50
- }
51
- function looksLikeCodingTask(value) {
52
- return /\b(add|build|fix|test|run|read|summarize|explain|refactor|implement|create|update|debug|commit|status|diff|search|find|install|rename|remove|write|edit)\b/.test(value);
53
- }
54
- function looksLikeAmbiguousCodingVerb(value) {
55
- return [
56
- "add",
57
- "build",
58
- "fix",
59
- "test",
60
- "run",
61
- "read",
62
- "summarize",
63
- "explain",
64
- "refactor",
65
- "implement",
66
- "create",
67
- "update",
68
- "debug",
69
- "commit",
70
- "diff",
71
- "search",
72
- "find",
73
- "install",
74
- "rename",
75
- "remove",
76
- "write",
77
- "edit"
78
- ].includes(value);
79
- }
80
- function asksForCurrentTime(value) {
81
- return /\b(wie spät|uhrzeit|welche uhrzeit|what time|current time|time is it)\b/.test(value);
82
- }
83
- function asksHowAreYou(value) {
84
- return /\b(wie gehts|wie geht es dir|how are you)\b/.test(value);
85
- }
86
- function formatLocalTime(value) {
87
- return new Intl.DateTimeFormat("de-DE", {
88
- hour: "2-digit",
89
- minute: "2-digit",
90
- second: "2-digit",
91
- timeZoneName: "short"
92
- }).format(value);
93
- }
94
- //# sourceMappingURL=inputRouting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputRouting.js","sourceRoot":"","sources":["../../src/tui/inputRouting.ts"],"names":[],"mappings":"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"}