@pellux/goodvibes-tui 0.19.30 → 0.19.31
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 +5 -0
- package/README.md +9 -2
- package/docs/foundation-artifacts/operator-contract.json +1 -1
- package/package.json +2 -2
- package/src/input/commands/services-runtime.ts +1 -0
- package/src/panels/services-panel.ts +2 -0
- package/src/runtime/onboarding/derivation.ts +1 -1
- package/src/runtime/onboarding/snapshot.ts +2 -0
- package/src/runtime/onboarding/types.ts +1 -0
- package/src/runtime/services.ts +1 -0
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
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
|
A terminal-native AI coding, operations, automation, knowledge, and integration console with a typed runtime, omnichannel surfaces, structured memory/knowledge, and a raw ANSI renderer.
|
|
8
8
|
|
|
@@ -836,7 +836,7 @@ Key commands:
|
|
|
836
836
|
- `/profilesync`
|
|
837
837
|
- `/setup transfer export|inspect|import`
|
|
838
838
|
|
|
839
|
-
Service entries can use existing `tokenKey` fields, a SecretRef in the key field, or explicit `tokenRef` / `passwordRef` / `webhookUrlRef` / `signingSecretRef` / `publicKeyRef` fields:
|
|
839
|
+
Service entries can use existing `tokenKey` fields, a SecretRef in the key field, or explicit `tokenRef` / `passwordRef` / `webhookUrlRef` / `signingSecretRef` / `publicKeyRef` / `appTokenRef` fields:
|
|
840
840
|
|
|
841
841
|
```json
|
|
842
842
|
{
|
|
@@ -844,11 +844,18 @@ Service entries can use existing `tokenKey` fields, a SecretRef in the key field
|
|
|
844
844
|
"name": "slack",
|
|
845
845
|
"authType": "bearer",
|
|
846
846
|
"tokenKey": "SLACK_BOT_TOKEN",
|
|
847
|
+
"appTokenKey": "SLACK_APP_TOKEN",
|
|
847
848
|
"tokenRef": {
|
|
848
849
|
"source": "vaultwarden",
|
|
849
850
|
"item": "GoodVibes Slack",
|
|
850
851
|
"field": "password",
|
|
851
852
|
"server": "https://vault.example.test"
|
|
853
|
+
},
|
|
854
|
+
"appTokenRef": {
|
|
855
|
+
"source": "vaultwarden",
|
|
856
|
+
"item": "GoodVibes Slack App",
|
|
857
|
+
"field": "password",
|
|
858
|
+
"server": "https://vault.example.test"
|
|
852
859
|
}
|
|
853
860
|
}
|
|
854
861
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-tui",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.31",
|
|
4
4
|
"description": "Terminal-native GoodVibes product for coding, operations, automation, knowledge, channels, and daemon-backed control-plane workflows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/main.ts",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@anthropic-ai/vertex-sdk": "^0.16.0",
|
|
92
92
|
"@ast-grep/napi": "^0.42.0",
|
|
93
93
|
"@aws/bedrock-token-generator": "^1.1.0",
|
|
94
|
-
"@pellux/goodvibes-sdk": "^0.25.
|
|
94
|
+
"@pellux/goodvibes-sdk": "^0.25.6",
|
|
95
95
|
"bash-language-server": "^5.6.0",
|
|
96
96
|
"fuse.js": "^7.1.0",
|
|
97
97
|
"graphql": "^16.13.2",
|
|
@@ -41,6 +41,7 @@ export function registerServicesRuntimeCommands(registry: CommandRegistry): void
|
|
|
41
41
|
` webhookUrl: ${inspection.hasWebhookUrl ? 'present' : 'missing'}`,
|
|
42
42
|
` signingSecret: ${inspection.hasSigningSecret ? 'present' : 'missing'}`,
|
|
43
43
|
` publicKey: ${inspection.hasPublicKey ? 'present' : 'missing'}`,
|
|
44
|
+
` appToken: ${inspection.hasAppToken ? 'present' : 'missing'}`,
|
|
44
45
|
].join('\n'));
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
@@ -195,6 +195,8 @@ export class ServicesPanel extends ScrollableListPanel<ServicePanelEntry> {
|
|
|
195
195
|
...buildStatusPill(inspect.hasWebhookUrl ? 'good' : 'info', inspect.hasWebhookUrl ? 'present' : 'missing'),
|
|
196
196
|
[' Signing secret: ', C.label],
|
|
197
197
|
...buildStatusPill(inspect.hasSigningSecret ? 'good' : 'info', inspect.hasSigningSecret ? 'present' : 'missing'),
|
|
198
|
+
[' App token: ', C.label],
|
|
199
|
+
...buildStatusPill(inspect.hasAppToken ? 'good' : 'info', inspect.hasAppToken ? 'present' : 'missing'),
|
|
198
200
|
]));
|
|
199
201
|
if (selected.lastTest) {
|
|
200
202
|
detailLines.push(buildPanelLine(width, [
|
|
@@ -211,7 +211,7 @@ function hasRemoteDeviceAccess(snapshot: OnboardingSnapshotState): boolean {
|
|
|
211
211
|
function hasWebhookOrEventIngress(snapshot: OnboardingSnapshotState): boolean {
|
|
212
212
|
return snapshot.bindSettings.httpListenerEnabled
|
|
213
213
|
|| hasInboundEventSurface(snapshot)
|
|
214
|
-
|| snapshot.services.services.some((service) => service.hasWebhookUrl || service.hasSigningSecret || service.hasPublicKey);
|
|
214
|
+
|| snapshot.services.services.some((service) => service.hasWebhookUrl || service.hasSigningSecret || service.hasPublicKey || service.hasAppToken);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
function getProviderIdentityIds(snapshot: OnboardingSnapshotState): Set<string> {
|
|
@@ -122,6 +122,7 @@ async function buildServicesSnapshot(
|
|
|
122
122
|
hasWebhookUrl: inspection?.hasWebhookUrl ?? false,
|
|
123
123
|
hasSigningSecret: inspection?.hasSigningSecret ?? false,
|
|
124
124
|
hasPublicKey: inspection?.hasPublicKey ?? false,
|
|
125
|
+
hasAppToken: inspection?.hasAppToken ?? false,
|
|
125
126
|
} satisfies OnboardingServiceState,
|
|
126
127
|
issue: null,
|
|
127
128
|
};
|
|
@@ -139,6 +140,7 @@ async function buildServicesSnapshot(
|
|
|
139
140
|
hasWebhookUrl: false,
|
|
140
141
|
hasSigningSecret: false,
|
|
141
142
|
hasPublicKey: false,
|
|
143
|
+
hasAppToken: false,
|
|
142
144
|
} satisfies OnboardingServiceState,
|
|
143
145
|
issue: {
|
|
144
146
|
area: 'services',
|
package/src/runtime/services.ts
CHANGED
|
@@ -417,6 +417,7 @@ export function createRuntimeServices(options: RuntimeServicesOptions): RuntimeS
|
|
|
417
417
|
const projectIndex = new ProjectIndex(workingDirectory);
|
|
418
418
|
const channelDeliveryRouter = new ChannelDeliveryRouter({
|
|
419
419
|
configManager,
|
|
420
|
+
secretsManager,
|
|
420
421
|
serviceRegistry,
|
|
421
422
|
artifactStore,
|
|
422
423
|
});
|
package/src/version.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
// The prebuild script updates the fallback value before compilation.
|
|
7
7
|
// Uses import.meta.dir (Bun) to locate package.json relative to this file,
|
|
8
8
|
// which is correct regardless of the process working directory.
|
|
9
|
-
let _version = '0.19.
|
|
9
|
+
let _version = '0.19.31';
|
|
10
10
|
try {
|
|
11
11
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8'));
|
|
12
12
|
_version = pkg.version ?? _version;
|