@pellux/goodvibes-daemon 1.28.17 → 1.28.19
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 +26 -0
- package/package.json +4 -4
- package/src/daemon/send/composition.ts +2 -2
- package/src/runtime/services.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to the GoodVibes daemon.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.28.19] - 2026-08-15
|
|
8
|
+
|
|
9
|
+
### Changes
|
|
10
|
+
|
|
11
|
+
- **Signing in to a provider subscription anywhere on the platform now reaches
|
|
12
|
+
this daemon** (platform runtime 2.0.17): subscription sessions move to the
|
|
13
|
+
shared tier, so a ChatGPT/Codex login completed in a terminal surface is
|
|
14
|
+
immediately usable by the daemon that runs the turns; existing per-surface
|
|
15
|
+
records fold in automatically, newest first, legacy files untouched.
|
|
16
|
+
- **A turn through a strict OpenAI-compatible gateway works again** (platform
|
|
17
|
+
runtime 2.0.17): the edit tool's schema declared a union with `oneOf`,
|
|
18
|
+
which validators like abacus RouteLLM now reject wholesale — every hosted
|
|
19
|
+
turn through such a provider failed with "Extra inputs are not permitted".
|
|
20
|
+
The union is `anyOf` now, pinned by a wire-compatibility test.
|
|
21
|
+
|
|
22
|
+
## [1.28.18] - 2026-08-15
|
|
23
|
+
|
|
24
|
+
### Changes
|
|
25
|
+
|
|
26
|
+
- **The keep-awake inhibitor can no longer paint an authentication prompt on
|
|
27
|
+
a terminal** (platform runtime 2.0.15): a polkit refusal of the sleep
|
|
28
|
+
inhibitor — typical for tmux/SSH sessions logind does not count as an
|
|
29
|
+
active seat — used to register systemd's interactive auth agent on the
|
|
30
|
+
controlling terminal. The inhibitor is now requested with
|
|
31
|
+
`--no-ask-password`; refusal is silent and the platform runs without it.
|
|
32
|
+
|
|
7
33
|
## [1.28.17] - 2026-08-08
|
|
8
34
|
|
|
9
35
|
### 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.19",
|
|
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.17",
|
|
69
|
+
"@pellux/goodvibes-terminal-shell": "2.0.17",
|
|
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.17",
|
|
91
91
|
"@types/bun": "^1.3.10",
|
|
92
92
|
"typescript": "^5.9.3"
|
|
93
93
|
},
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
import { ChannelDeliveryRouter } from '@pellux/goodvibes-sdk/platform/channels';
|
|
36
36
|
import { ArtifactStore } from '@pellux/goodvibes-sdk/platform/artifacts';
|
|
37
|
-
import { ConfigManager, ServiceRegistry, SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
37
|
+
import { ConfigManager, ServiceRegistry, SubscriptionManager, sharedSubscriptionsPath } from '@pellux/goodvibes-sdk/platform/config';
|
|
38
38
|
import { createShellPathService } from '@/runtime/index.ts';
|
|
39
39
|
import { SecretsManager } from '../../config/secrets.ts';
|
|
40
40
|
import type { SendDeliver } from './command.ts';
|
|
@@ -85,7 +85,7 @@ export function createSendStack(roots: SendStackRoots): SendStack {
|
|
|
85
85
|
});
|
|
86
86
|
const serviceRegistry = new ServiceRegistry(shellPaths.resolveProjectPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'services.json'), {
|
|
87
87
|
secretsManager,
|
|
88
|
-
subscriptionManager: new SubscriptionManager(shellPaths.resolveUserPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'subscriptions.json')),
|
|
88
|
+
subscriptionManager: new SubscriptionManager(sharedSubscriptionsPath(shellPaths), { legacyPath: shellPaths.resolveUserPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'subscriptions.json') }),
|
|
89
89
|
});
|
|
90
90
|
const router = new ChannelDeliveryRouter({
|
|
91
91
|
configManager,
|
package/src/runtime/services.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
|
-
import { ServiceRegistry, SubscriptionManager, ToolLLM } from '@pellux/goodvibes-sdk/platform/config';
|
|
2
|
+
import { ServiceRegistry, SubscriptionManager, ToolLLM, sharedSubscriptionsPath } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
3
|
import { AutomationDeliveryManager, AutomationManager } from '@pellux/goodvibes-sdk/platform/automation';
|
|
4
4
|
import { ChannelPolicyManager } from '@pellux/goodvibes-sdk/platform/channels';
|
|
5
5
|
import { ApprovalBroker, GatewayMethodCatalog, SharedSessionBroker, buildSharedSessionAgentSpawnRoutingInput, controlPlaneStorePath } from '@pellux/goodvibes-sdk/platform/control-plane';
|
|
@@ -134,7 +134,7 @@ export function createRuntimeServices(options: RuntimeServicesOptions): RuntimeS
|
|
|
134
134
|
daemonHomeDirectory: options.daemonHomeDirectory,
|
|
135
135
|
pairingTokenPath: controlPlaneStorePath(shellPaths, GOODVIBES_DAEMON_SURFACE_ROOT, 'pairing-tokens.json'),
|
|
136
136
|
});
|
|
137
|
-
const subscriptionManager = new SubscriptionManager(shellPaths.resolveUserPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'subscriptions.json'));
|
|
137
|
+
const subscriptionManager = new SubscriptionManager(sharedSubscriptionsPath(shellPaths), { legacyPath: shellPaths.resolveUserPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'subscriptions.json') });
|
|
138
138
|
const serviceRegistry = new ServiceRegistry(shellPaths.resolveProjectPath(GOODVIBES_DAEMON_SURFACE_ROOT, 'services.json'), {
|
|
139
139
|
secretsManager,
|
|
140
140
|
subscriptionManager,
|