wotann 0.5.39 → 0.5.41
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.
- package/dist/autopilot/completion-oracle.d.ts +71 -0
- package/dist/autopilot/completion-oracle.d.ts.map +1 -1
- package/dist/autopilot/completion-oracle.js +69 -2
- package/dist/autopilot/completion-oracle.js.map +1 -1
- package/dist/context/compaction-floor.d.ts +100 -0
- package/dist/context/compaction-floor.d.ts.map +1 -0
- package/dist/context/compaction-floor.js +94 -0
- package/dist/context/compaction-floor.js.map +1 -0
- package/dist/context/compaction.d.ts +27 -1
- package/dist/context/compaction.d.ts.map +1 -1
- package/dist/context/compaction.js +31 -0
- package/dist/context/compaction.js.map +1 -1
- package/dist/daemon/kairos-rpc.d.ts +1 -0
- package/dist/daemon/kairos-rpc.d.ts.map +1 -1
- package/dist/daemon/kairos-rpc.js +24 -0
- package/dist/daemon/kairos-rpc.js.map +1 -1
- package/dist/daemon/rpc-handlers/ports-rpc.d.ts +100 -0
- package/dist/daemon/rpc-handlers/ports-rpc.d.ts.map +1 -0
- package/dist/daemon/rpc-handlers/ports-rpc.js +278 -0
- package/dist/daemon/rpc-handlers/ports-rpc.js.map +1 -0
- package/dist/hooks/agentmemory-event-taxonomy.d.ts +144 -0
- package/dist/hooks/agentmemory-event-taxonomy.d.ts.map +1 -0
- package/dist/hooks/agentmemory-event-taxonomy.js +85 -0
- package/dist/hooks/agentmemory-event-taxonomy.js.map +1 -0
- package/dist/hooks/built-in.d.ts.map +1 -1
- package/dist/hooks/built-in.js +7 -3
- package/dist/hooks/built-in.js.map +1 -1
- package/dist/hooks/engine.d.ts +14 -0
- package/dist/hooks/engine.d.ts.map +1 -1
- package/dist/hooks/engine.js +62 -0
- package/dist/hooks/engine.js.map +1 -1
- package/dist/index.js +91 -2
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/memory/injection-scanner.d.ts +78 -0
- package/dist/memory/injection-scanner.d.ts.map +1 -0
- package/dist/memory/injection-scanner.js +204 -0
- package/dist/memory/injection-scanner.js.map +1 -0
- package/dist/middleware/output-truncation.d.ts +18 -5
- package/dist/middleware/output-truncation.d.ts.map +1 -1
- package/dist/middleware/output-truncation.js +73 -1
- package/dist/middleware/output-truncation.js.map +1 -1
- package/dist/middleware/ttsr.d.ts +79 -3
- package/dist/middleware/ttsr.d.ts.map +1 -1
- package/dist/middleware/ttsr.js +136 -16
- package/dist/middleware/ttsr.js.map +1 -1
- package/dist/orchestration/autonomous.d.ts +182 -0
- package/dist/orchestration/autonomous.d.ts.map +1 -1
- package/dist/orchestration/autonomous.js +288 -1
- package/dist/orchestration/autonomous.js.map +1 -1
- package/dist/orchestration/ports-bridge.d.ts +325 -0
- package/dist/orchestration/ports-bridge.d.ts.map +1 -0
- package/dist/orchestration/ports-bridge.js +712 -0
- package/dist/orchestration/ports-bridge.js.map +1 -0
- package/dist/orchestration/textgrad-refinement.d.ts +123 -0
- package/dist/orchestration/textgrad-refinement.d.ts.map +1 -0
- package/dist/orchestration/textgrad-refinement.js +111 -0
- package/dist/orchestration/textgrad-refinement.js.map +1 -0
- package/dist/prompt/engine.d.ts +15 -0
- package/dist/prompt/engine.d.ts.map +1 -1
- package/dist/prompt/engine.js +20 -7
- package/dist/prompt/engine.js.map +1 -1
- package/dist/prompt/modules/capabilities.d.ts.map +1 -1
- package/dist/prompt/modules/capabilities.js +1 -0
- package/dist/prompt/modules/capabilities.js.map +1 -1
- package/dist/prompt/modules/caveman.d.ts.map +1 -1
- package/dist/prompt/modules/caveman.js +1 -0
- package/dist/prompt/modules/caveman.js.map +1 -1
- package/dist/prompt/modules/conventions.d.ts.map +1 -1
- package/dist/prompt/modules/conventions.js +1 -0
- package/dist/prompt/modules/conventions.js.map +1 -1
- package/dist/prompt/modules/identity.d.ts.map +1 -1
- package/dist/prompt/modules/identity.js +1 -0
- package/dist/prompt/modules/identity.js.map +1 -1
- package/dist/prompt/modules/index.d.ts +29 -0
- package/dist/prompt/modules/index.d.ts.map +1 -1
- package/dist/prompt/modules/index.js +51 -9
- package/dist/prompt/modules/index.js.map +1 -1
- package/dist/prompt/modules/llms-txt.d.ts.map +1 -1
- package/dist/prompt/modules/llms-txt.js +2 -4
- package/dist/prompt/modules/llms-txt.js.map +1 -1
- package/dist/prompt/modules/safety.d.ts.map +1 -1
- package/dist/prompt/modules/safety.js +1 -0
- package/dist/prompt/modules/safety.js.map +1 -1
- package/dist/prompt/modules/security.d.ts.map +1 -1
- package/dist/prompt/modules/security.js +1 -0
- package/dist/prompt/modules/security.js.map +1 -1
- package/dist/prompt/modules/skills.d.ts.map +1 -1
- package/dist/prompt/modules/skills.js +1 -0
- package/dist/prompt/modules/skills.js.map +1 -1
- package/dist/prompt/modules/tools.d.ts.map +1 -1
- package/dist/prompt/modules/tools.js +1 -0
- package/dist/prompt/modules/tools.js.map +1 -1
- package/dist/prompt/modules/user.d.ts.map +1 -1
- package/dist/prompt/modules/user.js +1 -0
- package/dist/prompt/modules/user.js.map +1 -1
- package/dist/providers/credential-pool.d.ts +45 -1
- package/dist/providers/credential-pool.d.ts.map +1 -1
- package/dist/providers/credential-pool.js +94 -1
- package/dist/providers/credential-pool.js.map +1 -1
- package/dist/providers/sticky-rotation-wire.d.ts +133 -0
- package/dist/providers/sticky-rotation-wire.d.ts.map +1 -0
- package/dist/providers/sticky-rotation-wire.js +185 -0
- package/dist/providers/sticky-rotation-wire.js.map +1 -0
- package/dist/runtime-hooks/ttsr-rule.d.ts +82 -0
- package/dist/runtime-hooks/ttsr-rule.d.ts.map +1 -0
- package/dist/runtime-hooks/ttsr-rule.js +207 -0
- package/dist/runtime-hooks/ttsr-rule.js.map +1 -0
- package/dist/runtime-hooks/ttsr-runner.d.ts +129 -0
- package/dist/runtime-hooks/ttsr-runner.d.ts.map +1 -0
- package/dist/runtime-hooks/ttsr-runner.js +193 -0
- package/dist/runtime-hooks/ttsr-runner.js.map +1 -0
- package/dist/runtime-hooks/ttsr-scope.d.ts +115 -0
- package/dist/runtime-hooks/ttsr-scope.d.ts.map +1 -0
- package/dist/runtime-hooks/ttsr-scope.js +378 -0
- package/dist/runtime-hooks/ttsr-scope.js.map +1 -0
- package/dist/sandbox/unified-exec.d.ts.map +1 -1
- package/dist/sandbox/unified-exec.js +6 -1
- package/dist/sandbox/unified-exec.js.map +1 -1
- package/dist/skills/cli-anything.d.ts.map +1 -1
- package/dist/skills/cli-anything.js +4 -1
- package/dist/skills/cli-anything.js.map +1 -1
- package/dist/skills/limits.d.ts +86 -0
- package/dist/skills/limits.d.ts.map +1 -0
- package/dist/skills/limits.js +140 -0
- package/dist/skills/limits.js.map +1 -0
- package/dist/skills/loader.d.ts +9 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +29 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/storage/session-artifacts.d.ts +105 -0
- package/dist/storage/session-artifacts.d.ts.map +1 -0
- package/dist/storage/session-artifacts.js +198 -0
- package/dist/storage/session-artifacts.js.map +1 -0
- package/dist/tools/workspace-pack.d.ts +97 -0
- package/dist/tools/workspace-pack.d.ts.map +1 -0
- package/dist/tools/workspace-pack.js +228 -0
- package/dist/tools/workspace-pack.js.map +1 -0
- package/dist/tui/composer-history.d.ts +99 -0
- package/dist/tui/composer-history.d.ts.map +1 -0
- package/dist/tui/composer-history.js +169 -0
- package/dist/tui/composer-history.js.map +1 -0
- package/dist/ui/components/PromptInput.d.ts.map +1 -1
- package/dist/ui/components/PromptInput.js +80 -9
- package/dist/ui/components/PromptInput.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composer history — ported from Hmbown/DeepSeek-TUI's `composer_history.rs`
|
|
3
|
+
* (crates/tui/src/composer_history.rs).
|
|
4
|
+
*
|
|
5
|
+
* WHAT: Cross-session composer input history. Persists user-typed prompts to
|
|
6
|
+
* `~/.wotann/composer-history.txt` so pressing Up-arrow at the composer
|
|
7
|
+
* recalls submissions from previous sessions, not just the current one.
|
|
8
|
+
* One entry per line, oldest first.
|
|
9
|
+
*
|
|
10
|
+
* WHY: A composer that forgets every prompt the moment the session ends
|
|
11
|
+
* actively destroys the user's working memory. Persisting the history
|
|
12
|
+
* means recurring prompts ("run the build", "show me the diff", a specific
|
|
13
|
+
* debugging incantation) survive across restarts. The cap keeps the file
|
|
14
|
+
* small (≤200 KB at 1000 entries × ≤200 chars/entry).
|
|
15
|
+
*
|
|
16
|
+
* WHERE: Wire from the TUI composer's keyboard handler. On submit, call
|
|
17
|
+
* `history.add(entry)`. On Up-arrow, call `previous()` and render the
|
|
18
|
+
* returned string into the composer buffer. On Down-arrow, call `next()`.
|
|
19
|
+
*
|
|
20
|
+
* HOW: In-memory ring (capped at 1000 entries via FIFO eviction) backed by
|
|
21
|
+
* a plaintext file. Slash-commands (entries starting with `/`) and
|
|
22
|
+
* whitespace-only inputs are skipped — they pollute recall and the slash
|
|
23
|
+
* menu already covers them. Consecutive duplicates are also deduped so
|
|
24
|
+
* repeated submission of the same prompt doesn't bloat the file.
|
|
25
|
+
*
|
|
26
|
+
* Cursor model (matches readline / bash):
|
|
27
|
+
* - `previous()` walks one step toward the oldest entry. Returns the
|
|
28
|
+
* newest entry on first call, the next-older on the second, and so on.
|
|
29
|
+
* - `next()` walks one step toward the newest. Returns `undefined` once
|
|
30
|
+
* past the newest (so the composer can clear the buffer).
|
|
31
|
+
* - `add()` resets the cursor to "just past the newest" so the next
|
|
32
|
+
* `previous()` returns the entry that was just added.
|
|
33
|
+
* - `reset()` puts the cursor in the same "just past the newest" state
|
|
34
|
+
* without modifying entries.
|
|
35
|
+
*
|
|
36
|
+
* Persistence is best-effort — failures are swallowed because composer
|
|
37
|
+
* history is a UX nicety, not a correctness concern.
|
|
38
|
+
*/
|
|
39
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
40
|
+
import { homedir } from "node:os";
|
|
41
|
+
import { dirname, join } from "node:path";
|
|
42
|
+
/** Hard cap on persisted history. Keeps the file under ~200 KB. */
|
|
43
|
+
export const MAX_HISTORY_ENTRIES = 1000;
|
|
44
|
+
/** Default history file path (~/.wotann/composer-history.txt). */
|
|
45
|
+
export function defaultComposerHistoryPath() {
|
|
46
|
+
return join(homedir(), ".wotann", "composer-history.txt");
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* `ComposerHistory` keeps in-memory entries in append-only order (oldest
|
|
50
|
+
* first) and persists them to a flat text file. It is NOT shared between
|
|
51
|
+
* processes safely; the read/write pattern is "load once on construction,
|
|
52
|
+
* rewrite-on-add". If a second process appends concurrently the last
|
|
53
|
+
* writer wins.
|
|
54
|
+
*/
|
|
55
|
+
export class ComposerHistory {
|
|
56
|
+
path;
|
|
57
|
+
entries;
|
|
58
|
+
/**
|
|
59
|
+
* Cursor for `previous` / `next`. Invariant:
|
|
60
|
+
* `cursor === entries.length` ⇒ "just past the newest entry"
|
|
61
|
+
* `cursor in [0, entries.length)` ⇒ pointing at that entry
|
|
62
|
+
*/
|
|
63
|
+
cursor;
|
|
64
|
+
constructor(path = defaultComposerHistoryPath()) {
|
|
65
|
+
this.path = path;
|
|
66
|
+
this.entries = loadEntries(path);
|
|
67
|
+
this.cursor = this.entries.length;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Append an entry to history. Skips slash-commands and pure-whitespace
|
|
71
|
+
* inputs. Dedupes consecutive duplicates so repeated submission of the
|
|
72
|
+
* same prompt doesn't bloat the file. Resets the cursor to "just past
|
|
73
|
+
* the newest entry" so the next `previous()` returns the just-added one.
|
|
74
|
+
*
|
|
75
|
+
* Best-effort persistence — any I/O error is swallowed. The in-memory
|
|
76
|
+
* state is always consistent regardless of disk outcome.
|
|
77
|
+
*/
|
|
78
|
+
add(entry) {
|
|
79
|
+
const trimmed = entry.trim();
|
|
80
|
+
if (trimmed.length === 0 || trimmed.startsWith("/")) {
|
|
81
|
+
this.cursor = this.entries.length;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const last = this.entries.length > 0 ? this.entries[this.entries.length - 1] : undefined;
|
|
85
|
+
if (last === trimmed) {
|
|
86
|
+
this.cursor = this.entries.length;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
this.entries = [...this.entries, trimmed];
|
|
90
|
+
if (this.entries.length > MAX_HISTORY_ENTRIES) {
|
|
91
|
+
// FIFO eviction — newest entries survive, oldest are pruned.
|
|
92
|
+
const excess = this.entries.length - MAX_HISTORY_ENTRIES;
|
|
93
|
+
this.entries = this.entries.slice(excess);
|
|
94
|
+
}
|
|
95
|
+
this.cursor = this.entries.length;
|
|
96
|
+
this.persist();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Walk one step toward the oldest entry. Returns the entry the cursor
|
|
100
|
+
* lands on, or `undefined` if there's no older entry.
|
|
101
|
+
*
|
|
102
|
+
* First call (cursor at `entries.length`) returns the newest entry.
|
|
103
|
+
* Subsequent calls return progressively older entries. Once at the
|
|
104
|
+
* oldest, further calls clamp and return that oldest entry again.
|
|
105
|
+
*/
|
|
106
|
+
previous() {
|
|
107
|
+
if (this.entries.length === 0)
|
|
108
|
+
return undefined;
|
|
109
|
+
if (this.cursor > 0)
|
|
110
|
+
this.cursor -= 1;
|
|
111
|
+
return this.entries[this.cursor];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Walk one step toward the newest entry. Returns the entry the cursor
|
|
115
|
+
* lands on, or `undefined` if there's no newer entry (cursor moved past
|
|
116
|
+
* the newest — the composer should clear its buffer).
|
|
117
|
+
*/
|
|
118
|
+
next() {
|
|
119
|
+
if (this.entries.length === 0)
|
|
120
|
+
return undefined;
|
|
121
|
+
if (this.cursor >= this.entries.length - 1) {
|
|
122
|
+
// Already at or past the newest entry — moving forward exits history.
|
|
123
|
+
this.cursor = this.entries.length;
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
this.cursor += 1;
|
|
127
|
+
return this.entries[this.cursor];
|
|
128
|
+
}
|
|
129
|
+
/** Reset the cursor to "just past the newest entry" without modifying entries. */
|
|
130
|
+
reset() {
|
|
131
|
+
this.cursor = this.entries.length;
|
|
132
|
+
}
|
|
133
|
+
/** Snapshot of all entries, oldest first. Returns a fresh array (immutable). */
|
|
134
|
+
getAll() {
|
|
135
|
+
return [...this.entries];
|
|
136
|
+
}
|
|
137
|
+
persist() {
|
|
138
|
+
try {
|
|
139
|
+
mkdirSync(dirname(this.path), { recursive: true });
|
|
140
|
+
const payload = this.entries.length > 0 ? this.entries.join("\n") + "\n" : "";
|
|
141
|
+
writeFileSync(this.path, payload, "utf8");
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// Best-effort — UX nicety, not correctness.
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Read the persisted history into memory. Returns an empty array if the
|
|
150
|
+
* file doesn't exist or can't be parsed — this is best-effort.
|
|
151
|
+
*
|
|
152
|
+
* Exposed for tests and for callers that want to peek at the history
|
|
153
|
+
* without constructing a `ComposerHistory` instance.
|
|
154
|
+
*/
|
|
155
|
+
export function loadEntries(path) {
|
|
156
|
+
if (!existsSync(path))
|
|
157
|
+
return [];
|
|
158
|
+
try {
|
|
159
|
+
const raw = readFileSync(path, "utf8");
|
|
160
|
+
return raw
|
|
161
|
+
.split("\n")
|
|
162
|
+
.map((line) => line.trim())
|
|
163
|
+
.filter((line) => line.length > 0);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return [];
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=composer-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer-history.js","sourceRoot":"","sources":["../../src/tui/composer-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,kEAAkE;AAClE,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IACT,IAAI,CAAS;IACtB,OAAO,CAAW;IAC1B;;;;OAIG;IACK,MAAM,CAAS;IAEvB,YAAY,OAAe,0BAA0B,EAAE;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,KAAa;QACf,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC9C,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,sEAAsE;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,kFAAkF;IAClF,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,gFAAgF;IAChF,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAEO,OAAO;QACb,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,GAAG;aACP,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../src/ui/components/PromptInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../src/ui/components/PromptInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAwDjF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAmED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,WAAmB,EACnB,WAAkD,EAClD,OAAY,EACZ,IAAgB,EAChB,KAAK,EAAE,eAAe,GACvB,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA8TvC"}
|
|
@@ -15,11 +15,34 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
* - Mode badge upgraded to use the Pill primitive when active so
|
|
16
16
|
* the mode prompt visually agrees with the StatusBar's mode pill.
|
|
17
17
|
*/
|
|
18
|
-
import { useState, useCallback, useEffect } from "react";
|
|
18
|
+
import { useState, useCallback, useEffect, useMemo, useRef } from "react";
|
|
19
19
|
import { Box, Text, useInput } from "ink";
|
|
20
20
|
import { glyph, rune } from "../theme/tokens.js";
|
|
21
21
|
import { useThemeTone } from "../theme/context.js";
|
|
22
22
|
import { Pill, Spinner } from "./primitives/index.js";
|
|
23
|
+
import { ComposerHistory } from "../../tui/composer-history.js";
|
|
24
|
+
/**
|
|
25
|
+
* Persistent composer history singleton (module-level). Stored at
|
|
26
|
+
* ~/.wotann/composer-history.txt — Up/Down arrows can recall prompts
|
|
27
|
+
* from previous sessions, not just the current React mount.
|
|
28
|
+
*
|
|
29
|
+
* The in-memory `history` prop array stays as the current-session
|
|
30
|
+
* scratchpad; this singleton is the cross-session persistence layer.
|
|
31
|
+
* Construction is wrapped in try/catch so any I/O hiccup (read-only
|
|
32
|
+
* homedir, etc.) is non-fatal — the composer still works in-memory.
|
|
33
|
+
*/
|
|
34
|
+
let persistentComposerHistory = null;
|
|
35
|
+
function getPersistentHistory() {
|
|
36
|
+
if (persistentComposerHistory !== null)
|
|
37
|
+
return persistentComposerHistory;
|
|
38
|
+
try {
|
|
39
|
+
persistentComposerHistory = new ComposerHistory();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
persistentComposerHistory = null;
|
|
43
|
+
}
|
|
44
|
+
return persistentComposerHistory;
|
|
45
|
+
}
|
|
23
46
|
/**
|
|
24
47
|
* Streaming-state phrase rotation — same idea as ChatView's
|
|
25
48
|
* THINKING_PHRASES. Visual life on the bottom status row so the
|
|
@@ -112,6 +135,25 @@ export function PromptInput({ onSubmit, onChange, onAbort, disabled = false, isS
|
|
|
112
135
|
const { tone } = useThemeTone();
|
|
113
136
|
const [internalValue, setInternalValue] = useState("");
|
|
114
137
|
const [historyIndex, setHistoryIndex] = useState(-1);
|
|
138
|
+
// Persistent history — survives across processes via ~/.wotann/composer-history.txt.
|
|
139
|
+
// The in-memory `history` prop covers the current session; this covers prior ones.
|
|
140
|
+
// Stable per-mount instance via useRef so navigation cursor state survives
|
|
141
|
+
// re-renders. The shared module-level singleton owns the on-disk file.
|
|
142
|
+
const persistentHistoryRef = useRef(null);
|
|
143
|
+
if (persistentHistoryRef.current === null) {
|
|
144
|
+
persistentHistoryRef.current = getPersistentHistory();
|
|
145
|
+
}
|
|
146
|
+
const persistentHistory = persistentHistoryRef.current;
|
|
147
|
+
// Snapshot of persistent entries — used as a fallback when in-memory
|
|
148
|
+
// `history` is exhausted. Memoised so we don't re-read every render.
|
|
149
|
+
const persistentEntries = useMemo(() => {
|
|
150
|
+
try {
|
|
151
|
+
return persistentHistory?.getAll() ?? [];
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
}, [persistentHistory]);
|
|
115
157
|
// Slash popup cursor — index into the filtered match list. Reset
|
|
116
158
|
// to 0 whenever the value changes so freshly-typed characters
|
|
117
159
|
// start from the top match.
|
|
@@ -166,10 +208,18 @@ export function PromptInput({ onSubmit, onChange, onAbort, disabled = false, isS
|
|
|
166
208
|
const trimmed = value.trim();
|
|
167
209
|
if (trimmed.length === 0)
|
|
168
210
|
return;
|
|
211
|
+
// Persist to cross-session history BEFORE clearing. Slash commands and
|
|
212
|
+
// dupes are filtered inside ComposerHistory.add(); errors are swallowed.
|
|
213
|
+
try {
|
|
214
|
+
persistentHistory?.add(trimmed);
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// Best-effort — history is a UX nicety, not correctness.
|
|
218
|
+
}
|
|
169
219
|
onSubmit(trimmed);
|
|
170
220
|
setValue("");
|
|
171
221
|
setHistoryIndex(-1);
|
|
172
|
-
}, [value, onSubmit]);
|
|
222
|
+
}, [value, onSubmit, persistentHistory, setValue]);
|
|
173
223
|
useInput((input, key) => {
|
|
174
224
|
// Ctrl+C aborts streaming or exits
|
|
175
225
|
if (key.ctrl && input === "c") {
|
|
@@ -227,15 +277,35 @@ export function PromptInput({ onSubmit, onChange, onAbort, disabled = false, isS
|
|
|
227
277
|
// history-recall behaviour collapsing the popup. When the popup
|
|
228
278
|
// is closed (no leading "/"), arrows resume their history-walk
|
|
229
279
|
// role.
|
|
280
|
+
//
|
|
281
|
+
// History composition: in-memory `history` (current session, newest
|
|
282
|
+
// first) is concatenated with persistent entries from prior sessions
|
|
283
|
+
// (oldest first → reversed to newest first) so Up keeps walking back
|
|
284
|
+
// in time once the session-local list is exhausted. Dedup against
|
|
285
|
+
// adjacent entries keeps a fresh session from doubling its own first
|
|
286
|
+
// prompt.
|
|
287
|
+
const persistentNewestFirst = persistentEntries.length > 0 ? [...persistentEntries].reverse() : [];
|
|
288
|
+
const combinedHistory = (() => {
|
|
289
|
+
if (history.length === 0)
|
|
290
|
+
return persistentNewestFirst;
|
|
291
|
+
if (persistentNewestFirst.length === 0)
|
|
292
|
+
return history;
|
|
293
|
+
// Avoid duplicating the most recent session prompt at the seam.
|
|
294
|
+
const lastInMemory = history[history.length - 1];
|
|
295
|
+
const trimmedPersistent = persistentNewestFirst[0] === lastInMemory
|
|
296
|
+
? persistentNewestFirst.slice(1)
|
|
297
|
+
: persistentNewestFirst;
|
|
298
|
+
return [...history, ...trimmedPersistent];
|
|
299
|
+
})();
|
|
230
300
|
if (key.upArrow) {
|
|
231
301
|
if (showSlashPopup) {
|
|
232
302
|
setSlashIndex((prev) => Math.max(0, prev - 1));
|
|
233
303
|
return;
|
|
234
304
|
}
|
|
235
|
-
if (
|
|
236
|
-
const newIndex = Math.min(historyIndex + 1,
|
|
305
|
+
if (combinedHistory.length > 0) {
|
|
306
|
+
const newIndex = Math.min(historyIndex + 1, combinedHistory.length - 1);
|
|
237
307
|
setHistoryIndex(newIndex);
|
|
238
|
-
setValue(
|
|
308
|
+
setValue(combinedHistory[newIndex] ?? "");
|
|
239
309
|
return;
|
|
240
310
|
}
|
|
241
311
|
}
|
|
@@ -246,7 +316,7 @@ export function PromptInput({ onSubmit, onChange, onAbort, disabled = false, isS
|
|
|
246
316
|
}
|
|
247
317
|
const newIndex = Math.max(historyIndex - 1, -1);
|
|
248
318
|
setHistoryIndex(newIndex);
|
|
249
|
-
setValue(newIndex >= 0 ? (
|
|
319
|
+
setValue(newIndex >= 0 ? (combinedHistory[newIndex] ?? "") : "");
|
|
250
320
|
return;
|
|
251
321
|
}
|
|
252
322
|
if (key.escape) {
|
|
@@ -254,9 +324,10 @@ export function PromptInput({ onSubmit, onChange, onAbort, disabled = false, isS
|
|
|
254
324
|
// Esc-Esc edit-prev: empty input + double-tap within 500ms
|
|
255
325
|
// recalls the most recent prompt. Mirrors Codex CLI's pattern
|
|
256
326
|
// ("Esc Esc edit prev when empty"); footer hint surfaces it
|
|
257
|
-
// when the input is empty.
|
|
258
|
-
|
|
259
|
-
|
|
327
|
+
// when the input is empty. Falls back to persistent history when
|
|
328
|
+
// the current session has no entries yet (V9 ComposerHistory wire).
|
|
329
|
+
if (value.length === 0 && now - lastEscapeAt < 500 && combinedHistory.length > 0) {
|
|
330
|
+
const last = combinedHistory[0] ?? "";
|
|
260
331
|
if (last.length > 0) {
|
|
261
332
|
setValue(last);
|
|
262
333
|
setHistoryIndex(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptInput.js","sourceRoot":"","sources":["../../../src/ui/components/PromptInput.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PromptInput.js","sourceRoot":"","sources":["../../../src/ui/components/PromptInput.tsx"],"names":[],"mappings":"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"}
|