@kolisachint/hoocode-agent 0.5.40 → 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/CHANGELOG.md +60 -0
- package/dist/core/agent-session.d.ts +10 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +18 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +6 -67
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/git-branch.d.ts +35 -0
- package/dist/core/git-branch.d.ts.map +1 -0
- package/dist/core/git-branch.js +88 -0
- package/dist/core/git-branch.js.map +1 -0
- package/dist/core/session-identity.d.ts +25 -0
- package/dist/core/session-identity.d.ts.map +1 -0
- package/dist/core/session-identity.js +137 -0
- package/dist/core/session-identity.js.map +1 -0
- package/dist/core/session-manager.d.ts +38 -4
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +62 -10
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/modes/interactive/command-executor.d.ts +8 -0
- package/dist/modes/interactive/command-executor.d.ts.map +1 -1
- package/dist/modes/interactive/command-executor.js +39 -11
- package/dist/modes/interactive/command-executor.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +7 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +14 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/session-chip.d.ts +25 -0
- package/dist/modes/interactive/components/session-chip.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-chip.js +62 -0
- package/dist/modes/interactive/components/session-chip.js.map +1 -0
- package/dist/modes/interactive/components/session-color-selector.d.ts +14 -0
- package/dist/modes/interactive/components/session-color-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-color-selector.js +54 -0
- package/dist/modes/interactive/components/session-color-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +32 -3
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +18 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +75 -4
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +24 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +72 -11
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,65 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.41] - 2026-08-31
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Sessions record the git branch they started on, and the resume list shows it.
|
|
8
|
+
|
|
9
|
+
A session you never named, that opened with "look at this", was unfindable in
|
|
10
|
+
the list — the first message said nothing and there was nothing else to go on.
|
|
11
|
+
The branch usually says exactly what the work was, and it is the rare piece of
|
|
12
|
+
meaning that can be written down safely: unlike a derived title it is a fact,
|
|
13
|
+
so it is still true a month later.
|
|
14
|
+
|
|
15
|
+
It has to be recorded rather than derived, because by the time anyone reads the
|
|
16
|
+
list the working tree has moved on. One optional field on the session header,
|
|
17
|
+
read from `.git/HEAD` at session creation — a walk up to the repo and one file
|
|
18
|
+
read, no subprocess outside the reftable case, sharing the footer's
|
|
19
|
+
implementation so the branch a session remembers is the string the footer was
|
|
20
|
+
showing at the time.
|
|
21
|
+
|
|
22
|
+
Shown in the picker only where it adds something: a session with a chosen name
|
|
23
|
+
already says what it is, and `main` names no particular work. Also in
|
|
24
|
+
`/session`. Sessions recorded before this simply have no branch and read as
|
|
25
|
+
they did.
|
|
26
|
+
|
|
27
|
+
- A session chip: the session's name, filled with its colour, laid into the
|
|
28
|
+
top-right of the input box.
|
|
29
|
+
|
|
30
|
+
The name used to live at the tail of the footer's busiest line — after the
|
|
31
|
+
brand mark, the mode, the path and the git branch, in `dim`, the quietest
|
|
32
|
+
colour a theme has. It answered *which session is this*, and it was the least
|
|
33
|
+
visible thing on screen. The chip puts the same fact where the cursor already
|
|
34
|
+
is, and gives it a colour so it can be recognised rather than read.
|
|
35
|
+
|
|
36
|
+
Every session now carries a name and a colour without anyone setting one. Both
|
|
37
|
+
are pure functions of the session id: a two-word slug from a 32x32 vocabulary
|
|
38
|
+
(`amber-harbor`), and a slot in the six-colour identity palette the agent tags
|
|
39
|
+
already use. Because they derive from the id, a resumed session comes back
|
|
40
|
+
wearing the same chip and a fork gets its own, with nothing to store. `/name`
|
|
41
|
+
and the new `/color` override either, and those choices are written to the
|
|
42
|
+
session's `session_info` entry, which now resolves its two fields
|
|
43
|
+
independently — setting a colour cannot clear a name, and renaming keeps the
|
|
44
|
+
colour you have already learned. `/color` on its own opens a swatch picker
|
|
45
|
+
that repaints the live chip as you move through it.
|
|
46
|
+
|
|
47
|
+
The chip is laid into border cells the box was already drawing, so it costs no
|
|
48
|
+
screen row, and it yields where it should: to the `↑ N more` scroll indicator
|
|
49
|
+
on the same border, and to the box itself below 48 columns, where the footer
|
|
50
|
+
takes the name back rather than leaving it nowhere. The editor's border colour
|
|
51
|
+
is untouched — it still carries thinking level and bash mode, so identity and
|
|
52
|
+
agent state never fight for the same pixels.
|
|
53
|
+
|
|
54
|
+
The fill's ink is picked from its own luminance, which is what lets one code
|
|
55
|
+
path render on a dark theme's bright hues and a light theme's deep inks alike.
|
|
56
|
+
`theme.fill()` is the new primitive for that: the palette lives on the
|
|
57
|
+
foreground side, where `theme.bg()` could not reach it.
|
|
58
|
+
|
|
59
|
+
The session picker shows the same colour as a swatch per row, and the slug for
|
|
60
|
+
sessions nobody has named, so a session recognised by its chip is found the
|
|
61
|
+
same way in the list.
|
|
62
|
+
|
|
3
63
|
## [0.5.40] - 2026-08-30
|
|
4
64
|
|
|
5
65
|
### Added
|
|
@@ -272,6 +272,10 @@ export declare class AgentSession {
|
|
|
272
272
|
get sessionId(): string;
|
|
273
273
|
/** Current session display name, if set */
|
|
274
274
|
get sessionName(): string | undefined;
|
|
275
|
+
/** What to show for this session: the chosen name, else its auto-assigned slug */
|
|
276
|
+
get displayName(): string;
|
|
277
|
+
/** The session's colour slot (1-6), chosen or auto-assigned */
|
|
278
|
+
get sessionColorSlot(): number;
|
|
275
279
|
/** Scoped models for cycling (from --models flag) */
|
|
276
280
|
get scopedModels(): ReadonlyArray<{
|
|
277
281
|
model: Model<any>;
|
|
@@ -519,6 +523,12 @@ export declare class AgentSession {
|
|
|
519
523
|
* Set a display name for the current session.
|
|
520
524
|
*/
|
|
521
525
|
setSessionName(name: string): void;
|
|
526
|
+
/**
|
|
527
|
+
* Set the colour slot (1-6) the session's chip is filled with. Written as its
|
|
528
|
+
* own field so it survives a later rename, and so setting it never disturbs
|
|
529
|
+
* the name.
|
|
530
|
+
*/
|
|
531
|
+
setSessionColor(slot: number): void;
|
|
522
532
|
/**
|
|
523
533
|
* Navigate to a different node in the session tree.
|
|
524
534
|
* Unlike fork() which creates a new session file, this stays in the same file.
|