@pellux/goodvibes-tui 1.21.1 → 1.23.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.
- package/CHANGELOG.md +21 -0
- package/README.md +1 -1
- package/docs/foundation-artifacts/operator-contract.json +714 -177
- package/docs/foundation-artifacts/peer-contract.json +8 -4
- package/package.json +9 -7
- package/src/cli/entrypoint.ts +6 -0
- package/src/cli/service-posture.ts +6 -2
- package/src/config/run-daemon-config-migration.ts +46 -0
- package/src/core/conversation-compaction-render.ts +88 -0
- package/src/core/conversation-line-cache.ts +120 -92
- package/src/core/conversation-rendering.ts +290 -233
- package/src/core/conversation-turn-structure.ts +464 -0
- package/src/core/conversation-types.ts +8 -9
- package/src/daemon/cli.ts +71 -5
- package/src/input/commands/local-runtime.ts +14 -14
- package/src/input/commands/operator-rpc.ts +15 -4
- package/src/input/daemon-owned-settings-descriptions.ts +53 -0
- package/src/input/handler-content-actions.ts +4 -2
- package/src/input/handler-onboarding-daemon-adopt.ts +10 -0
- package/src/input/onboarding/onboarding-feature-units.ts +38 -0
- package/src/input/onboarding/onboarding-wizard-types.ts +1 -0
- package/src/input/search.ts +1 -1
- package/src/input/settings-modal-data.ts +15 -85
- package/src/input/settings-modal-search.ts +99 -0
- package/src/input/settings-modal-types.ts +2 -1
- package/src/renderer/conversation-surface.ts +37 -11
- package/src/renderer/conversation-tree.ts +179 -0
- package/src/renderer/settings-modal-helpers.ts +5 -3
- package/src/renderer/settings-modal.ts +8 -0
- package/src/renderer/tool-call.ts +38 -5
- package/src/runtime/cloudflare-control-plane.ts +4 -1
- package/src/runtime/feature-settings.ts +7 -0
- package/src/runtime/index.ts +22 -1
- package/src/runtime/legacy-daemon-migration.ts +2 -0
- package/src/runtime/services.ts +2 -2
- package/src/verification/verification-ledger.ts +115 -2
- package/src/version.ts +1 -1
- package/src/core/conversation-tool-groups.ts +0 -152
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ All notable changes to GoodVibes TUI.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.23.0] - 2026-07-26
|
|
8
|
+
|
|
9
|
+
### Changes
|
|
10
|
+
|
|
11
|
+
- Fixed: a work request sent over Telegram (or Google Chat, Signal, WhatsApp, telephony, iMessage, Microsoft Teams, BlueBubbles, Mattermost, Matrix, or Home Assistant) produced a proposal that could never be shown. The daemon asked for your agreement on a channel it had no way to send on, so you saw nothing and the work waited on an answer to a question that was never posed. Proposals now go out on every surface the gate covers.
|
|
12
|
+
- Fixed: the daemon discarded every log line it produced. Its activity log had no destination, so a rejected bot token, a surface that could not start, and a reply with nowhere to go all left no trace anywhere. The log now has a home before anything else starts, which is why the failures above were invisible until now.
|
|
13
|
+
- Fixed: an inbound message that landed in an already-running session started work immediately no matter how the conversation gate was configured. The gate's settings now reach the daemon, which is the process that receives the message.
|
|
14
|
+
- Fixed: a channel surface that was switched on but could not start said nothing. It now reports which surface, why it cannot start, and what would fix it.
|
|
15
|
+
- Fixed: conversation-gate settings edited from the TUI or the agent were written to that client's own settings file, which the daemon never reads, so they changed nothing. They now live with the daemon and existing values are moved there on first start, with a record of exactly what moved.
|
|
16
|
+
|
|
17
|
+
## [1.22.0] - 2026-07-26
|
|
18
|
+
|
|
19
|
+
### Changes
|
|
20
|
+
|
|
21
|
+
- Changed: an assistant turn now reads as one thing instead of a scatter of separate blocks. The turn gets a single header, the tool calls it issued hang under it as branches, and each call's result sits under the call that produced it rather than wherever it happened to arrive. Calls that run at the same time settle under their own call no matter which finishes first, work still in flight stays visible while it runs instead of appearing only once it is done, and expanding and collapsing works exactly as before.
|
|
22
|
+
- Added: a Devices settings surface for a paired phone. It covers which capabilities a phone may serve, whether "always allow" is offered at all, how precise a shared location is, whether the clipboard may be read, and how long captures are kept before they are deleted. Standing permissions are listed where you manage the phone and can be revoked there, and a revoked permission stops applying immediately.
|
|
23
|
+
- Added: a Triggers settings surface. Triggers watch something and start work when it changes — a long-running command finishing, a matching line appearing in a running command's output, or a scheduled check whose answer actually changed. The surface covers supervision, how output is batched, how much history is kept, and how a repeatedly failing trigger is backed off and eventually stopped. Triggers ship off and nothing watches anything until you turn them on.
|
|
24
|
+
- Changed: settings the daemon acts on are now stored where the daemon can actually read them, and say so. A value like a channel token was previously written into this client's own settings file even though only the daemon ever reads it, so a save could report success and change nothing. Those settings now go to the daemon's own configuration, existing values are moved there once, and the setting's own description names the file it lives in and says it applies to every client rather than just this one.
|
|
25
|
+
- Added: the push notification settings the platform runtime gained are reachable under Notifications — the contact address a push service uses to reach you about a delivery problem, and the bounds on how registered devices are kept tidy. They sit with the settings that already decide which events get pushed.
|
|
26
|
+
- Updated: bundled GoodVibes platform runtime to 1.15.0, which carries the triggers, paired-phone capability, wake-word platform, reply-routing and background-output changes behind these notes.
|
|
27
|
+
|
|
7
28
|
## [1.21.1] - 2026-07-25
|
|
8
29
|
|
|
9
30
|
### Changes
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/mgd34msu/goodvibes-tui/actions/workflows/ci.yml)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
[](https://github.com/mgd34msu/goodvibes-tui)
|
|
6
6
|
|
|
7
7
|
GoodVibes is a terminal console for coding and operations work with an AI model. You run `goodvibes` in a project directory and get a full-screen terminal app where you talk to a model that can read and edit your files, run shell commands, search the web, and hand work off to background agents — asking your permission before anything that writes or executes. It talks to many model providers (OpenAI, Anthropic, Gemini, Bedrock, Copilot, OpenRouter and other OpenAI-compatible gateways, plus local servers like Ollama and LM Studio that it finds on startup), keeps its settings, sessions, and secrets on your own machine, and shows you the token count and running cost of every turn. Alongside the conversation, panels turn background work — running agents, git state, diffs, tokens, cost — into live control rooms.
|
|
8
8
|
|