@pellux/goodvibes-daemon 1.28.15 → 1.28.17
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 +27 -0
- package/package.json +4 -4
- package/src/cli/command-catalog.ts +9 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,33 @@ All notable changes to the GoodVibes daemon.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.28.17] - 2026-08-08
|
|
8
|
+
|
|
9
|
+
### Changes
|
|
10
|
+
|
|
11
|
+
- **Post-wake capture ends when the speaker stops, on real microphones**
|
|
12
|
+
(platform runtime 2.0.14): the silence floor now follows the room during
|
|
13
|
+
capture — a headset's automatic gain control ramping up after speech no
|
|
14
|
+
longer holds the microphone open — and breath ticks shorter than
|
|
15
|
+
`voice.wake.speechRetriggerMs` (new setting, default 150 ms) no longer
|
|
16
|
+
reset the silence clock. A pinned `voice.wake.silenceFloorRms` still
|
|
17
|
+
freezes the floor completely.
|
|
18
|
+
- **Spoken output reads prose, not markdown** (platform runtime 2.0.14):
|
|
19
|
+
formatting marks are stripped before synthesis and fenced code blocks are
|
|
20
|
+
announced ("Code block omitted.") rather than read character by character.
|
|
21
|
+
|
|
22
|
+
## [1.28.16] - 2026-08-07
|
|
23
|
+
|
|
24
|
+
### Changes
|
|
25
|
+
|
|
26
|
+
- **One more module-scope read is gone from the compiled daemon's load path.**
|
|
27
|
+
The command catalog built its flag-arity table by calling an SDK helper at
|
|
28
|
+
module scope; under the single-file compiler's nondeterministic module
|
|
29
|
+
order that call could run before the helper exists, killing the binary at
|
|
30
|
+
load. The table is now built on first use. Found by auditing for the same
|
|
31
|
+
build-order lottery class 1.28.15 fixed — this was the last direct
|
|
32
|
+
module-scope call into the platform runtime in this product.
|
|
33
|
+
|
|
7
34
|
## [1.28.15] - 2026-08-07
|
|
8
35
|
|
|
9
36
|
### Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-daemon",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.17",
|
|
4
4
|
"description": "The GoodVibes daemon \u2014 the one long-running host for the control plane, channels, cluster membership, scheduled work, knowledge and memory stores, and the verb families every GoodVibes client calls.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/daemon/cli.ts",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"@anthropic-ai/bedrock-sdk": "^0.28.1",
|
|
66
66
|
"@anthropic-ai/sdk": "^0.82.0",
|
|
67
67
|
"@ast-grep/napi": "^0.42.0",
|
|
68
|
-
"@pellux/goodvibes-sdk": "2.0.
|
|
69
|
-
"@pellux/goodvibes-terminal-shell": "2.0.
|
|
68
|
+
"@pellux/goodvibes-sdk": "2.0.14",
|
|
69
|
+
"@pellux/goodvibes-terminal-shell": "2.0.14",
|
|
70
70
|
"bash-language-server": "^5.6.0",
|
|
71
71
|
"fuse.js": "^7.1.0",
|
|
72
72
|
"graphql": "^16.13.2",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"web-tree-sitter": "^0.26.7"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@pellux/goodvibes-toolchain": "2.0.
|
|
90
|
+
"@pellux/goodvibes-toolchain": "2.0.14",
|
|
91
91
|
"@types/bun": "^1.3.10",
|
|
92
92
|
"typescript": "^5.9.3"
|
|
93
93
|
},
|
|
@@ -820,7 +820,15 @@ export function isRawInterceptCommand(command: DaemonCommand): boolean {
|
|
|
820
820
|
* than one command's flag list has the same kind in all of them — asserted by
|
|
821
821
|
* a unit test rather than left as an assumption — so one table is honest.
|
|
822
822
|
*/
|
|
823
|
-
|
|
823
|
+
// Resolved on first use, not at module load: `catalogFlagArity` is an SDK
|
|
824
|
+
// import, and the single-file compiler's nondeterministic module order could
|
|
825
|
+
// run this line before the SDK module body exists — the binary then dies at
|
|
826
|
+
// load (the build-order lottery class fixed at runtime 2.0.13).
|
|
827
|
+
let allFlagArityCache: ReadonlyMap<string, CliFlagKind> | null = null;
|
|
828
|
+
export function allFlagArity(): ReadonlyMap<string, CliFlagKind> {
|
|
829
|
+
allFlagArityCache ??= catalogFlagArity(DAEMON_CLI_CATALOG);
|
|
830
|
+
return allFlagArityCache;
|
|
831
|
+
}
|
|
824
832
|
|
|
825
833
|
/** Flag specs a given command accepts: the global ones plus its own. */
|
|
826
834
|
export function flagsForCommand(command: DaemonCommand): readonly DaemonCommandFlagSpec[] {
|