@pellux/goodvibes-sdk 0.25.5 → 0.25.7
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/dist/_internal/contracts/artifacts/operator-contract.json +184 -4
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
- package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
- package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +184 -4
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.js +1 -0
- package/dist/_internal/contracts/zod-schemas/providers.d.ts +132 -0
- package/dist/_internal/contracts/zod-schemas/providers.d.ts.map +1 -1
- package/dist/_internal/contracts/zod-schemas/providers.js +16 -0
- package/dist/_internal/platform/adapters/slack/index.d.ts.map +1 -1
- package/dist/_internal/platform/adapters/slack/index.js +16 -1
- package/dist/_internal/platform/adapters/types.d.ts +2 -0
- package/dist/_internal/platform/adapters/types.d.ts.map +1 -1
- package/dist/_internal/platform/automation/delivery-manager.d.ts +1 -0
- package/dist/_internal/platform/automation/delivery-manager.d.ts.map +1 -1
- package/dist/_internal/platform/automation/delivery-manager.js +1 -0
- package/dist/_internal/platform/channels/builtin/account-actions.js +58 -1
- package/dist/_internal/platform/channels/builtin/accounts.js +1 -1
- package/dist/_internal/platform/channels/builtin/setup-schema.d.ts.map +1 -1
- package/dist/_internal/platform/channels/builtin/setup-schema.js +4 -2
- package/dist/_internal/platform/channels/builtin/surfaces.d.ts +1 -0
- package/dist/_internal/platform/channels/builtin/surfaces.d.ts.map +1 -1
- package/dist/_internal/platform/channels/builtin/surfaces.js +21 -3
- package/dist/_internal/platform/channels/delivery/strategies-core.d.ts +2 -1
- package/dist/_internal/platform/channels/delivery/strategies-core.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery/strategies-core.js +6 -1
- package/dist/_internal/platform/channels/delivery/types.d.ts +2 -0
- package/dist/_internal/platform/channels/delivery/types.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery-router.d.ts +2 -1
- package/dist/_internal/platform/channels/delivery-router.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery-router.js +3 -3
- package/dist/_internal/platform/channels/provider-runtime.d.ts +3 -0
- package/dist/_internal/platform/channels/provider-runtime.d.ts.map +1 -1
- package/dist/_internal/platform/channels/provider-runtime.js +24 -6
- package/dist/_internal/platform/companion/companion-chat-manager.d.ts +2 -1
- package/dist/_internal/platform/companion/companion-chat-manager.d.ts.map +1 -1
- package/dist/_internal/platform/companion/companion-chat-manager.js +21 -0
- package/dist/_internal/platform/companion/companion-chat-routes.d.ts +1 -0
- package/dist/_internal/platform/companion/companion-chat-routes.d.ts.map +1 -1
- package/dist/_internal/platform/companion/companion-chat-routes.js +76 -0
- package/dist/_internal/platform/companion/companion-chat-types.d.ts +9 -0
- package/dist/_internal/platform/companion/companion-chat-types.d.ts.map +1 -1
- package/dist/_internal/platform/companion/index.d.ts +1 -1
- package/dist/_internal/platform/companion/index.d.ts.map +1 -1
- package/dist/_internal/platform/config/secret-refs.d.ts +1 -0
- package/dist/_internal/platform/config/secret-refs.d.ts.map +1 -1
- package/dist/_internal/platform/config/secret-refs.js +15 -0
- package/dist/_internal/platform/config/service-registry.d.ts +7 -2
- package/dist/_internal/platform/config/service-registry.d.ts.map +1 -1
- package/dist/_internal/platform/config/service-registry.js +6 -2
- package/dist/_internal/platform/control-plane/method-catalog-control-core.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/method-catalog-control-core.js +17 -0
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +3 -0
- package/dist/_internal/platform/daemon/http/provider-routes.d.ts +3 -0
- package/dist/_internal/platform/daemon/http/provider-routes.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/provider-routes.js +79 -20
- package/dist/_internal/platform/daemon/surface-actions.d.ts +2 -0
- package/dist/_internal/platform/daemon/surface-actions.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-actions.js +1 -0
- package/dist/_internal/platform/daemon/surface-delivery.d.ts +5 -0
- package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-delivery.js +26 -12
- package/dist/_internal/platform/integrations/index.d.ts +1 -1
- package/dist/_internal/platform/integrations/index.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/index.js +1 -1
- package/dist/_internal/platform/integrations/ntfy.d.ts +1 -0
- package/dist/_internal/platform/integrations/ntfy.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/ntfy.js +42 -2
- package/dist/_internal/platform/runtime/bootstrap-helpers.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/bootstrap-helpers.js +1 -0
- package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/services.js +2 -0
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/zod-schemas/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;;;;;GAOG;AAEH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;EAA0D,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/zod-schemas/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;;;;;GAOG;AAEH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;EAA0D,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;iBAY5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAItC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,4BAA4B;;;;;;;;;iBAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;iBAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -21,22 +21,38 @@ export const ProviderModelEntrySchema = z.object({
|
|
|
21
21
|
contextWindow: z.number().optional(),
|
|
22
22
|
});
|
|
23
23
|
export const ConfiguredViaSchema = z.enum(['env', 'secrets', 'subscription', 'anonymous']);
|
|
24
|
+
export const ProviderAuthRouteDescriptorSchema = z.object({
|
|
25
|
+
route: z.enum(['api-key', 'secret-ref', 'service-oauth', 'subscription-oauth', 'anonymous', 'none']),
|
|
26
|
+
label: z.string(),
|
|
27
|
+
configured: z.boolean(),
|
|
28
|
+
usable: z.boolean().optional(),
|
|
29
|
+
freshness: z.enum(['healthy', 'expiring', 'expired', 'pending', 'unconfigured']).optional(),
|
|
30
|
+
detail: z.string().optional(),
|
|
31
|
+
envVars: z.array(z.string()).optional(),
|
|
32
|
+
secretKeys: z.array(z.string()).optional(),
|
|
33
|
+
serviceNames: z.array(z.string()).optional(),
|
|
34
|
+
providerId: z.string().optional(),
|
|
35
|
+
repairHints: z.array(z.string()).optional(),
|
|
36
|
+
});
|
|
24
37
|
export const ProviderEntrySchema = z.object({
|
|
25
38
|
id: z.string(),
|
|
26
39
|
label: z.string(),
|
|
27
40
|
configured: z.boolean(),
|
|
28
41
|
configuredVia: ConfiguredViaSchema.optional(),
|
|
29
42
|
envVars: z.array(z.string()),
|
|
43
|
+
routes: z.array(ProviderAuthRouteDescriptorSchema).optional(),
|
|
30
44
|
models: z.array(ProviderModelEntrySchema),
|
|
31
45
|
});
|
|
32
46
|
export const ListProvidersResponseSchema = z.object({
|
|
33
47
|
providers: z.array(ProviderEntrySchema),
|
|
34
48
|
currentModel: ProviderModelRefSchema.nullable(),
|
|
49
|
+
secretsResolutionSkipped: z.boolean().optional(),
|
|
35
50
|
});
|
|
36
51
|
export const CurrentModelResponseSchema = z.object({
|
|
37
52
|
model: ProviderModelRefSchema.nullable(),
|
|
38
53
|
configured: z.boolean(),
|
|
39
54
|
configuredVia: ConfiguredViaSchema.optional(),
|
|
55
|
+
routes: z.array(ProviderAuthRouteDescriptorSchema).optional(),
|
|
40
56
|
});
|
|
41
57
|
export const PatchCurrentModelBodySchema = z.object({
|
|
42
58
|
registryKey: z.string().min(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/adapters/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/adapters/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKzD,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgD/G;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,mBAAyB,EAC9B,GAAG,GAAE,OAAiF,GACrF,OAAO,CAAC,QAAQ,CAAC,CAyQnB"}
|
|
@@ -2,12 +2,14 @@ import { logger } from '../../utils/logger.js';
|
|
|
2
2
|
import { SlackIntegration } from '../../integrations/index.js';
|
|
3
3
|
import { summarizeError } from '../../utils/error-display.js';
|
|
4
4
|
import { fetchWithTimeout } from '../../utils/fetch-with-timeout.js';
|
|
5
|
+
import { resolveSecretInput } from '../../config/secret-refs.js';
|
|
5
6
|
export async function handleSlackSurfaceWebhook(req, context) {
|
|
6
7
|
const contentLength = parseInt(req.headers.get('content-length') ?? '0', 10);
|
|
7
8
|
if (contentLength > 1_000_000) {
|
|
8
9
|
return Response.json({ error: 'Payload too large' }, { status: 413 });
|
|
9
10
|
}
|
|
10
11
|
const signingSecret = await context.serviceRegistry.resolveSecret('slack', 'signingSecret')
|
|
12
|
+
?? await resolveSlackConfigSecret(context, 'surfaces.slack.signingSecret')
|
|
11
13
|
?? process.env.SLACK_SIGNING_SECRET;
|
|
12
14
|
if (!signingSecret) {
|
|
13
15
|
logger.warn('handleSlackSurfaceWebhook: SLACK_SIGNING_SECRET not set — rejecting');
|
|
@@ -16,7 +18,9 @@ export async function handleSlackSurfaceWebhook(req, context) {
|
|
|
16
18
|
const timestamp = req.headers.get('x-slack-request-timestamp') ?? '';
|
|
17
19
|
const signature = req.headers.get('x-slack-signature') ?? '';
|
|
18
20
|
const rawBody = await req.text();
|
|
19
|
-
const slack = new SlackIntegration(await context.serviceRegistry.resolveSecret('slack', 'webhookUrl') ?? process.env.SLACK_WEBHOOK_URL, await context.serviceRegistry.resolveSecret('slack', 'primary')
|
|
21
|
+
const slack = new SlackIntegration(await context.serviceRegistry.resolveSecret('slack', 'webhookUrl') ?? process.env.SLACK_WEBHOOK_URL, await context.serviceRegistry.resolveSecret('slack', 'primary')
|
|
22
|
+
?? await resolveSlackConfigSecret(context, 'surfaces.slack.botToken')
|
|
23
|
+
?? process.env.SLACK_BOT_TOKEN);
|
|
20
24
|
if (!slack.verifySignature(rawBody, timestamp, signature, signingSecret)) {
|
|
21
25
|
logger.warn('handleSlackSurfaceWebhook: invalid signature');
|
|
22
26
|
return Response.json({ error: 'Invalid signature' }, { status: 401 });
|
|
@@ -286,3 +290,14 @@ export async function handleSlackSurfacePayload(bodyRecord, context, slack = new
|
|
|
286
290
|
}
|
|
287
291
|
return new Response(null, { status: 200 });
|
|
288
292
|
}
|
|
293
|
+
async function resolveSlackConfigSecret(context, key) {
|
|
294
|
+
return resolveSecretInput(context.configManager.get(key), slackSecretRefOptions(context));
|
|
295
|
+
}
|
|
296
|
+
function slackSecretRefOptions(context) {
|
|
297
|
+
return {
|
|
298
|
+
resolveLocalSecret: context.secretsManager
|
|
299
|
+
? (key) => context.secretsManager.get(key)
|
|
300
|
+
: undefined,
|
|
301
|
+
homeDirectory: context.secretsManager?.getGlobalHome?.() ?? undefined,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
@@ -5,6 +5,7 @@ import type { AutomationSurfaceKind } from '../automation/types.js';
|
|
|
5
5
|
import type { ChannelConversationKind, ChannelPolicyDecision, RouteBindingManager } from '../channels/index.js';
|
|
6
6
|
import type { SharedSessionBroker } from '../control-plane/index.js';
|
|
7
7
|
import type { ConversationMessageEnvelope } from '../control-plane/conversation-message.js';
|
|
8
|
+
import type { SecretsManager } from '../config/secrets.js';
|
|
8
9
|
import type { ServiceRegistry } from '../config/service-registry.js';
|
|
9
10
|
export interface SurfaceControlCommand {
|
|
10
11
|
readonly action: 'status' | 'cancel' | 'retry';
|
|
@@ -33,6 +34,7 @@ export type TrySpawnAgentResult = AgentRecord | Response;
|
|
|
33
34
|
export type TrySpawnAgentFn = (input: TrySpawnAgentInput, logLabel: string, sessionId?: string) => TrySpawnAgentResult;
|
|
34
35
|
export interface SurfaceAdapterContext {
|
|
35
36
|
readonly serviceRegistry: ServiceRegistry;
|
|
37
|
+
readonly secretsManager?: Pick<SecretsManager, 'get' | 'getGlobalHome'>;
|
|
36
38
|
readonly configManager: {
|
|
37
39
|
get(key: string): unknown;
|
|
38
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/adapters/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/adapters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare class AutomationDeliveryManager {
|
|
|
15
15
|
private runtimeBus;
|
|
16
16
|
constructor(config: {
|
|
17
17
|
readonly serviceRegistry?: ServiceRegistry;
|
|
18
|
+
readonly secretsManager?: Pick<import('../config/secrets.js').SecretsManager, 'get' | 'getGlobalHome'>;
|
|
18
19
|
readonly configManager?: import('../config/manager.js').ConfigManager;
|
|
19
20
|
readonly routeBindings: RouteBindingManager;
|
|
20
21
|
readonly deliveryRouter?: ChannelDeliveryRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/delivery-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAiF3E,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,EAAE;QAClB,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,aAAa,CAAC;QACtE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;QAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;QAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;QACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;KAC3C;
|
|
1
|
+
{"version":3,"file":"delivery-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/delivery-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAiF3E,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,EAAE;QAClB,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;QAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;QACvG,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,aAAa,CAAC;QACtE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;QAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;QAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;QACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;KAC3C;IAsBD,aAAa,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;KAC9C,GAAG,IAAI;IASR,iBAAiB,IAAI,qBAAqB;IAI1C,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IAIvB,sBAAsB,CAAC,OAAO,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIjG,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC;IAoBpG,WAAW,CACf,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,wBAAwB,EAAE,GAC3C,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC;IAyFhD,OAAO,CAAC,cAAc;YAoBR,UAAU;IAoBxB,OAAO,CAAC,WAAW;CA8DpB"}
|
|
@@ -95,6 +95,7 @@ export class AutomationDeliveryManager {
|
|
|
95
95
|
}
|
|
96
96
|
this.deliveryRouter = new ChannelDeliveryRouter({
|
|
97
97
|
configManager: config.configManager,
|
|
98
|
+
secretsManager: config.secretsManager,
|
|
98
99
|
serviceRegistry: config.serviceRegistry,
|
|
99
100
|
artifactStore: config.artifactStore,
|
|
100
101
|
});
|
|
@@ -275,6 +275,56 @@ export async function runBuiltinProviderApi(context, surface, input) {
|
|
|
275
275
|
}
|
|
276
276
|
async function runProviderSetupAction(context, surface, action, base, account, input) {
|
|
277
277
|
if (surface === 'slack') {
|
|
278
|
+
const secretScope = readSecretScope(input?.secretScope);
|
|
279
|
+
const directBotToken = readString(input?.botToken);
|
|
280
|
+
const directSigningSecret = readString(input?.signingSecret);
|
|
281
|
+
const directAppToken = readString(input?.appToken);
|
|
282
|
+
const defaultChannel = readString(input?.defaultChannel);
|
|
283
|
+
const workspaceId = readString(input?.workspaceId);
|
|
284
|
+
if (directBotToken) {
|
|
285
|
+
await context.deps.secretsManager.set('SLACK_BOT_TOKEN', directBotToken, { scope: secretScope });
|
|
286
|
+
context.deps.configManager.set('surfaces.slack.botToken', goodVibesSecretUri('SLACK_BOT_TOKEN'));
|
|
287
|
+
}
|
|
288
|
+
if (directSigningSecret) {
|
|
289
|
+
await context.deps.secretsManager.set('SLACK_SIGNING_SECRET', directSigningSecret, { scope: secretScope });
|
|
290
|
+
context.deps.configManager.set('surfaces.slack.signingSecret', goodVibesSecretUri('SLACK_SIGNING_SECRET'));
|
|
291
|
+
}
|
|
292
|
+
if (directAppToken) {
|
|
293
|
+
await context.deps.secretsManager.set('SLACK_APP_TOKEN', directAppToken, { scope: secretScope });
|
|
294
|
+
context.deps.configManager.set('surfaces.slack.appToken', goodVibesSecretUri('SLACK_APP_TOKEN'));
|
|
295
|
+
}
|
|
296
|
+
if (defaultChannel)
|
|
297
|
+
context.deps.configManager.set('surfaces.slack.defaultChannel', defaultChannel);
|
|
298
|
+
if (workspaceId)
|
|
299
|
+
context.deps.configManager.set('surfaces.slack.workspaceId', workspaceId);
|
|
300
|
+
const hasDirectSlackSecret = Boolean(directBotToken || directSigningSecret || directAppToken);
|
|
301
|
+
if (hasDirectSlackSecret || defaultChannel || workspaceId) {
|
|
302
|
+
if (hasDirectSlackSecret || account.configured) {
|
|
303
|
+
context.deps.configManager.set('surfaces.slack.enabled', true);
|
|
304
|
+
}
|
|
305
|
+
const refreshed = await context.buildAccount('slack');
|
|
306
|
+
const configured = Boolean(hasDirectSlackSecret || account.configured);
|
|
307
|
+
return {
|
|
308
|
+
...base,
|
|
309
|
+
ok: configured,
|
|
310
|
+
account: refreshed,
|
|
311
|
+
state: refreshed.state,
|
|
312
|
+
authState: refreshed.authState,
|
|
313
|
+
login: { kind: 'none' },
|
|
314
|
+
message: configured
|
|
315
|
+
? 'Slack configuration stored.'
|
|
316
|
+
: 'Slack metadata stored; provide botToken, appToken, or signingSecret to enable Slack.',
|
|
317
|
+
metadata: {
|
|
318
|
+
storedSecretFields: [
|
|
319
|
+
...(directBotToken ? ['botToken'] : []),
|
|
320
|
+
...(directSigningSecret ? ['signingSecret'] : []),
|
|
321
|
+
...(directAppToken ? ['appToken'] : []),
|
|
322
|
+
],
|
|
323
|
+
defaultChannel: defaultChannel ?? null,
|
|
324
|
+
workspaceId: workspaceId ?? null,
|
|
325
|
+
},
|
|
326
|
+
};
|
|
327
|
+
}
|
|
278
328
|
const clientId = readString(input?.clientId) ?? process.env.SLACK_CLIENT_ID;
|
|
279
329
|
const clientSecret = readString(input?.clientSecret) ?? process.env.SLACK_CLIENT_SECRET;
|
|
280
330
|
const code = readString(input?.code);
|
|
@@ -282,7 +332,8 @@ async function runProviderSetupAction(context, surface, action, base, account, i
|
|
|
282
332
|
if (code && clientId && clientSecret) {
|
|
283
333
|
const exchange = await new SlackIntegration().exchangeOAuthCode({ clientId, clientSecret, code, ...(redirectUri ? { redirectUri } : {}) });
|
|
284
334
|
if (exchange.ok && exchange.access_token) {
|
|
285
|
-
await context.deps.secretsManager.set('SLACK_BOT_TOKEN', exchange.access_token, { scope:
|
|
335
|
+
await context.deps.secretsManager.set('SLACK_BOT_TOKEN', exchange.access_token, { scope: secretScope });
|
|
336
|
+
context.deps.configManager.set('surfaces.slack.botToken', goodVibesSecretUri('SLACK_BOT_TOKEN'));
|
|
286
337
|
context.deps.configManager.set('surfaces.slack.enabled', true);
|
|
287
338
|
if (exchange.team?.id)
|
|
288
339
|
context.deps.configManager.set('surfaces.slack.workspaceId', exchange.team.id);
|
|
@@ -428,6 +479,9 @@ async function runProviderLogoutAction(context, surface, action, base, account,
|
|
|
428
479
|
if (surface === 'slack') {
|
|
429
480
|
await secrets.delete('SLACK_BOT_TOKEN');
|
|
430
481
|
await secrets.delete('SLACK_APP_TOKEN');
|
|
482
|
+
await secrets.delete('SLACK_SIGNING_SECRET');
|
|
483
|
+
await secrets.delete('SLACK_WEBHOOK_URL');
|
|
484
|
+
context.deps.configManager.set('surfaces.slack.signingSecret', '');
|
|
431
485
|
context.deps.configManager.set('surfaces.slack.botToken', '');
|
|
432
486
|
context.deps.configManager.set('surfaces.slack.appToken', '');
|
|
433
487
|
}
|
|
@@ -450,3 +504,6 @@ async function runProviderLogoutAction(context, surface, action, base, account,
|
|
|
450
504
|
metadata: { action, envBacked: providerEnvBacked(surface) },
|
|
451
505
|
};
|
|
452
506
|
}
|
|
507
|
+
function goodVibesSecretUri(key) {
|
|
508
|
+
return `goodvibes://secrets/goodvibes/${encodeURIComponent(key)}`;
|
|
509
|
+
}
|
|
@@ -26,7 +26,7 @@ export async function buildBuiltinAccount(context, surface) {
|
|
|
26
26
|
const secrets = await Promise.all([
|
|
27
27
|
describeBuiltinSecret(context.deps, 'primary', 'Bot token', context.deps.configManager.get('surfaces.slack.botToken'), ['SLACK_BOT_TOKEN'], 'slack', 'primary'),
|
|
28
28
|
describeBuiltinSecret(context.deps, 'signingSecret', 'Signing secret', context.deps.configManager.get('surfaces.slack.signingSecret'), ['SLACK_SIGNING_SECRET'], 'slack', 'signingSecret'),
|
|
29
|
-
describeBuiltinSecret(context.deps, 'appToken', 'App token', context.deps.configManager.get('surfaces.slack.appToken'), ['SLACK_APP_TOKEN']),
|
|
29
|
+
describeBuiltinSecret(context.deps, 'appToken', 'App token', context.deps.configManager.get('surfaces.slack.appToken'), ['SLACK_APP_TOKEN'], 'slack', 'appToken'),
|
|
30
30
|
describeBuiltinSecret(context.deps, 'webhookUrl', 'Webhook URL', undefined, ['SLACK_WEBHOOK_URL'], 'slack', 'webhookUrl'),
|
|
31
31
|
]);
|
|
32
32
|
return finalizeBuiltinChannelAccount({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-schema.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/builtin/setup-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAMrB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"setup-schema.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/builtin/setup-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAMrB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CA6cjF"}
|
|
@@ -62,14 +62,16 @@ export function getBuiltinSetupSchema(surface) {
|
|
|
62
62
|
envKeys: ['SLACK_SIGNING_SECRET'],
|
|
63
63
|
configKeys: ['surfaces.slack.signingSecret'],
|
|
64
64
|
}),
|
|
65
|
-
secretTarget(surface, 'appToken', 'App token', false, 'Used for Slack
|
|
65
|
+
secretTarget(surface, 'appToken', 'App token', false, 'Used for Slack Socket Mode runtime flows.', {
|
|
66
|
+
serviceName: 'slack',
|
|
67
|
+
serviceField: 'appToken',
|
|
66
68
|
envKeys: ['SLACK_APP_TOKEN'],
|
|
67
69
|
configKeys: ['surfaces.slack.appToken'],
|
|
68
70
|
}),
|
|
69
71
|
],
|
|
70
72
|
externalSteps: [
|
|
71
73
|
'Create or install the Slack app with the required bot scopes.',
|
|
72
|
-
'Store the bot token and signing secret in env, GoodVibes secrets, or an external secret reference.',
|
|
74
|
+
'Store the bot token, app-level Socket Mode token, and signing secret in env, GoodVibes secrets, service registry, or an external secret reference.',
|
|
73
75
|
'Optional: generate an OAuth install URL through the provider channel actions.',
|
|
74
76
|
],
|
|
75
77
|
metadata: {},
|
|
@@ -6,6 +6,7 @@ export declare function isManagedSurface(surface: ChannelSurface): surface is Ma
|
|
|
6
6
|
export declare function providerRuntimeStatus(deps: BuiltinChannelRuntimeDeps, surface: ProviderRuntimeSurface): unknown;
|
|
7
7
|
export declare function providerEnvBacked(surface: ProviderRuntimeSurface): boolean;
|
|
8
8
|
export declare function resolveSlackBotToken(deps: BuiltinChannelRuntimeDeps): Promise<string | null>;
|
|
9
|
+
export declare function resolveSlackAppToken(deps: BuiltinChannelRuntimeDeps): Promise<string | null>;
|
|
9
10
|
export declare function resolveDiscordBotToken(deps: BuiltinChannelRuntimeDeps): Promise<string | null>;
|
|
10
11
|
export declare function resolveNtfyToken(deps: BuiltinChannelRuntimeDeps): Promise<string | null>;
|
|
11
12
|
//# sourceMappingURL=surfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/builtin/surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/builtin/surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,GAAG,IAAI,CAE/F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,CAcnF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAE/G;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAI1E;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOlG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOlG;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOpG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO9F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveSecretInput } from '../../config/secret-refs.js';
|
|
1
2
|
export function asProviderRuntimeSurface(surface) {
|
|
2
3
|
return surface === 'slack' || surface === 'discord' || surface === 'ntfy' ? surface : null;
|
|
3
4
|
}
|
|
@@ -28,22 +29,39 @@ export function providerEnvBacked(surface) {
|
|
|
28
29
|
}
|
|
29
30
|
export async function resolveSlackBotToken(deps) {
|
|
30
31
|
const serviceValue = await deps.serviceRegistry.resolveSecret('slack', 'primary');
|
|
32
|
+
const configValue = await resolveBuiltinConfigSecret(deps, deps.configManager.get('surfaces.slack.botToken'));
|
|
31
33
|
return serviceValue
|
|
32
|
-
||
|
|
34
|
+
|| configValue
|
|
33
35
|
|| process.env.SLACK_BOT_TOKEN
|
|
34
36
|
|| null;
|
|
35
37
|
}
|
|
38
|
+
export async function resolveSlackAppToken(deps) {
|
|
39
|
+
const serviceValue = await deps.serviceRegistry.resolveSecret('slack', 'appToken');
|
|
40
|
+
const configValue = await resolveBuiltinConfigSecret(deps, deps.configManager.get('surfaces.slack.appToken'));
|
|
41
|
+
return serviceValue
|
|
42
|
+
|| configValue
|
|
43
|
+
|| process.env.SLACK_APP_TOKEN
|
|
44
|
+
|| null;
|
|
45
|
+
}
|
|
36
46
|
export async function resolveDiscordBotToken(deps) {
|
|
37
47
|
const serviceValue = await deps.serviceRegistry.resolveSecret('discord', 'primary');
|
|
48
|
+
const configValue = await resolveBuiltinConfigSecret(deps, deps.configManager.get('surfaces.discord.botToken'));
|
|
38
49
|
return serviceValue
|
|
39
|
-
||
|
|
50
|
+
|| configValue
|
|
40
51
|
|| process.env.DISCORD_BOT_TOKEN
|
|
41
52
|
|| null;
|
|
42
53
|
}
|
|
43
54
|
export async function resolveNtfyToken(deps) {
|
|
44
55
|
const serviceValue = await deps.serviceRegistry.resolveSecret('ntfy', 'primary');
|
|
56
|
+
const configValue = await resolveBuiltinConfigSecret(deps, deps.configManager.get('surfaces.ntfy.token'));
|
|
45
57
|
return serviceValue
|
|
46
|
-
||
|
|
58
|
+
|| configValue
|
|
47
59
|
|| process.env.NTFY_ACCESS_TOKEN
|
|
48
60
|
|| null;
|
|
49
61
|
}
|
|
62
|
+
async function resolveBuiltinConfigSecret(deps, value) {
|
|
63
|
+
return resolveSecretInput(value, {
|
|
64
|
+
resolveLocalSecret: (key) => deps.secretsManager.get(key),
|
|
65
|
+
homeDirectory: deps.secretsManager.getGlobalHome?.() ?? undefined,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ArtifactStore } from '../../artifacts/index.js';
|
|
2
2
|
import { ConfigManager } from '../../config/manager.js';
|
|
3
|
+
import type { SecretsManager } from '../../config/secrets.js';
|
|
3
4
|
import { ServiceRegistry } from '../../config/service-registry.js';
|
|
4
5
|
import { ControlPlaneGateway } from '../../control-plane/gateway.js';
|
|
5
6
|
import type { ChannelDeliveryStrategy } from './types.js';
|
|
6
7
|
export declare function createWebhookDeliveryStrategy(configManager: ConfigManager, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
7
|
-
export declare function createSlackDeliveryStrategy(serviceRegistry: ServiceRegistry, configManager: ConfigManager, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
8
|
+
export declare function createSlackDeliveryStrategy(serviceRegistry: ServiceRegistry, configManager: ConfigManager, artifactStore: ArtifactStore, secretsManager?: Pick<SecretsManager, 'get' | 'getGlobalHome'>): ChannelDeliveryStrategy;
|
|
8
9
|
export declare function createDiscordDeliveryStrategy(serviceRegistry: ServiceRegistry, configManager: ConfigManager, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
9
10
|
export declare function createNtfyDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
10
11
|
export declare function createWebControlPlaneDeliveryStrategy(configManager: ConfigManager, artifactStore: ArtifactStore, getGateway: () => ControlPlaneGateway | null): ChannelDeliveryStrategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"strategies-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,uBAAuB,CAsCjI;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,GAC7D,uBAAuB,CA8CzB;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAwBzB;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAC3C,uBAAuB,CA6BzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAqCzB;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA+BzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ArtifactStore } from '../../artifacts/index.js';
|
|
2
2
|
import { ConfigManager } from '../../config/manager.js';
|
|
3
3
|
import { ServiceRegistry } from '../../config/service-registry.js';
|
|
4
|
+
import { resolveSecretInput } from '../../config/secret-refs.js';
|
|
4
5
|
import { ControlPlaneGateway } from '../../control-plane/gateway.js';
|
|
5
6
|
import { DiscordIntegration, NtfyIntegration, SlackIntegration } from '../../integrations/index.js';
|
|
6
7
|
import { validatePublicWebhookUrl } from '../../utils/url-safety.js';
|
|
@@ -47,7 +48,7 @@ export function createWebhookDeliveryStrategy(configManager, artifactStore) {
|
|
|
47
48
|
},
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
|
-
export function createSlackDeliveryStrategy(serviceRegistry, configManager, artifactStore) {
|
|
51
|
+
export function createSlackDeliveryStrategy(serviceRegistry, configManager, artifactStore, secretsManager) {
|
|
51
52
|
return {
|
|
52
53
|
id: 'channel-delivery:slack',
|
|
53
54
|
canHandle(request) {
|
|
@@ -59,6 +60,10 @@ export function createSlackDeliveryStrategy(serviceRegistry, configManager, arti
|
|
|
59
60
|
const webhookUrl = await serviceRegistry.resolveSecret('slack', 'webhookUrl')
|
|
60
61
|
?? process.env.SLACK_WEBHOOK_URL;
|
|
61
62
|
const botToken = await serviceRegistry.resolveSecret('slack', 'primary')
|
|
63
|
+
?? await resolveSecretInput(configManager.get('surfaces.slack.botToken'), {
|
|
64
|
+
resolveLocalSecret: secretsManager ? (key) => secretsManager.get(key) : undefined,
|
|
65
|
+
homeDirectory: secretsManager?.getGlobalHome?.() ?? undefined,
|
|
66
|
+
})
|
|
62
67
|
?? process.env.SLACK_BOT_TOKEN;
|
|
63
68
|
const slack = new SlackIntegration(webhookUrl ?? undefined, botToken ?? undefined);
|
|
64
69
|
const responseUrl = typeof request.binding?.metadata.responseUrl === 'string'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ArtifactReference } from '../../artifacts/index.js';
|
|
2
2
|
import type { ConfigManager } from '../../config/manager.js';
|
|
3
|
+
import type { SecretsManager } from '../../config/secrets.js';
|
|
3
4
|
import type { ServiceRegistry } from '../../config/service-registry.js';
|
|
4
5
|
import type { ArtifactStore } from '../../artifacts/index.js';
|
|
5
6
|
import type { ControlPlaneGateway } from '../../control-plane/gateway.js';
|
|
@@ -45,6 +46,7 @@ export interface ChannelDeliveryStrategy {
|
|
|
45
46
|
}
|
|
46
47
|
export interface ChannelDeliveryRouterConfig {
|
|
47
48
|
readonly configManager?: ConfigManager;
|
|
49
|
+
readonly secretsManager?: Pick<SecretsManager, 'get' | 'getGlobalHome'>;
|
|
48
50
|
readonly serviceRegistry?: ServiceRegistry;
|
|
49
51
|
readonly artifactStore?: ArtifactStore;
|
|
50
52
|
readonly controlPlaneGateway?: ControlPlaneGateway | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC1D,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAEhG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACpD,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC1D"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ArtifactStore } from '../artifacts/index.js';
|
|
2
2
|
import { ConfigManager } from '../config/manager.js';
|
|
3
|
+
import type { SecretsManager } from '../config/secrets.js';
|
|
3
4
|
import { ServiceRegistry } from '../config/service-registry.js';
|
|
4
5
|
import type { ControlPlaneGateway } from '../control-plane/gateway.js';
|
|
5
6
|
import type { ChannelDeliveryRequest, ChannelDeliveryRouterConfig, ChannelDeliveryStrategy } from './delivery/types.js';
|
|
6
7
|
export type { ChannelDeliveryResult, ChannelDeliveryRouteBinding, ChannelDeliveryRouterConfig, ChannelDeliveryStrategy, ChannelDeliverySurfaceKind, ChannelDeliveryTarget, ChannelDeliveryTargetKind, } from './delivery/types.js';
|
|
7
8
|
export { resolveChannelDeliverySurfaceKind } from './delivery/shared.js';
|
|
8
|
-
export declare function createDefaultChannelDeliveryStrategies(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore, getControlPlaneGateway: () => ControlPlaneGateway | null): ChannelDeliveryStrategy[];
|
|
9
|
+
export declare function createDefaultChannelDeliveryStrategies(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore, getControlPlaneGateway: () => ControlPlaneGateway | null, secretsManager?: Pick<SecretsManager, 'get' | 'getGlobalHome'>): ChannelDeliveryStrategy[];
|
|
9
10
|
export declare class ChannelDeliveryRouter {
|
|
10
11
|
private readonly strategies;
|
|
11
12
|
private controlPlaneGateway;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-router.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/delivery-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAsBvE,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAEzE,wBAAgB,sCAAsC,CACpD,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,MAAM,mBAAmB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"delivery-router.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/delivery-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAsBvE,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAEzE,wBAAgB,sCAAsC,CACpD,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,MAAM,mBAAmB,GAAG,IAAI,EACxD,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,GAC7D,uBAAuB,EAAE,CAiB3B;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,mBAAmB,CAA6B;gBAE5C,MAAM,GAAE,2BAAgC;IAoBpD,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIjE,cAAc,IAAI,SAAS,uBAAuB,EAAE;IAIpD,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAYvG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOzC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAS5E"}
|
|
@@ -6,10 +6,10 @@ import { createBlueBubblesDeliveryStrategy, createIMessageDeliveryStrategy, crea
|
|
|
6
6
|
import { createMSTeamsDeliveryStrategy, createMattermostDeliveryStrategy, createMatrixDeliveryStrategy, } from './delivery/strategies-enterprise.js';
|
|
7
7
|
import { resolveChannelDeliverySurfaceKind } from './delivery/shared.js';
|
|
8
8
|
export { resolveChannelDeliverySurfaceKind } from './delivery/shared.js';
|
|
9
|
-
export function createDefaultChannelDeliveryStrategies(configManager, serviceRegistry, artifactStore, getControlPlaneGateway) {
|
|
9
|
+
export function createDefaultChannelDeliveryStrategies(configManager, serviceRegistry, artifactStore, getControlPlaneGateway, secretsManager) {
|
|
10
10
|
return [
|
|
11
11
|
createWebhookDeliveryStrategy(configManager, artifactStore),
|
|
12
|
-
createSlackDeliveryStrategy(serviceRegistry, configManager, artifactStore),
|
|
12
|
+
createSlackDeliveryStrategy(serviceRegistry, configManager, artifactStore, secretsManager),
|
|
13
13
|
createDiscordDeliveryStrategy(serviceRegistry, configManager, artifactStore),
|
|
14
14
|
createNtfyDeliveryStrategy(configManager, serviceRegistry, artifactStore),
|
|
15
15
|
createWebControlPlaneDeliveryStrategy(configManager, artifactStore, getControlPlaneGateway),
|
|
@@ -36,7 +36,7 @@ export class ChannelDeliveryRouter {
|
|
|
36
36
|
if (!config.configManager || !config.serviceRegistry || !config.artifactStore) {
|
|
37
37
|
throw new Error('ChannelDeliveryRouter requires configManager, serviceRegistry, and artifactStore when using builtin delivery strategies.');
|
|
38
38
|
}
|
|
39
|
-
this.strategies = createDefaultChannelDeliveryStrategies(config.configManager, config.serviceRegistry, config.artifactStore, () => this.controlPlaneGateway);
|
|
39
|
+
this.strategies = createDefaultChannelDeliveryStrategies(config.configManager, config.serviceRegistry, config.artifactStore, () => this.controlPlaneGateway, config.secretsManager);
|
|
40
40
|
}
|
|
41
41
|
setControlPlaneGateway(gateway) {
|
|
42
42
|
this.controlPlaneGateway = gateway;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ConfigManager } from '../config/manager.js';
|
|
2
|
+
import type { SecretsManager } from '../config/secrets.js';
|
|
2
3
|
import type { ServiceRegistry } from '../config/service-registry.js';
|
|
3
4
|
import { type SurfaceAdapterContext } from '../adapters/index.js';
|
|
4
5
|
export type ProviderRuntimeSurface = 'slack' | 'discord' | 'ntfy';
|
|
@@ -20,6 +21,7 @@ export interface ProviderRuntimeActionResult {
|
|
|
20
21
|
}
|
|
21
22
|
interface ProviderRuntimeManagerDeps {
|
|
22
23
|
readonly configManager: ConfigManager;
|
|
24
|
+
readonly secretsManager?: Pick<SecretsManager, 'get' | 'getGlobalHome'>;
|
|
23
25
|
readonly serviceRegistry: ServiceRegistry;
|
|
24
26
|
readonly buildSurfaceAdapterContext: () => SurfaceAdapterContext;
|
|
25
27
|
}
|
|
@@ -51,6 +53,7 @@ export declare class ChannelProviderRuntimeManager {
|
|
|
51
53
|
private markStopped;
|
|
52
54
|
private markError;
|
|
53
55
|
private result;
|
|
56
|
+
private resolveConfigSecret;
|
|
54
57
|
}
|
|
55
58
|
export {};
|
|
56
59
|
//# sourceMappingURL=provider-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/provider-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/provider-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAcrE,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,sBAAsB,CAAC;AAI9B,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,0BAA0B;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;IACxE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;CAClE;AAeD,qBAAa,6BAA6B;IAU5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IATjC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAIpB;gBAE2B,IAAI,EAAE,0BAA0B;IAEvD,eAAe,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;IAczD,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMlF,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,2BAA2B;IAmBlE,OAAO,IAAI,IAAI;IAMf,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB;YAchD,UAAU;YAoCV,YAAY;YA8BZ,SAAS;YA+BT,mBAAmB;YASnB,qBAAqB;YASrB,iBAAiB;YASjB,oBAAoB;YASpB,oBAAoB;YASpB,sBAAsB;YAQtB,gBAAgB;IAQ9B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,MAAM;YASA,mBAAmB;CAQlC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveSecretInput } from '../config/secret-refs.js';
|
|
2
|
+
import { DiscordGatewayClient, DiscordIntegration, NtfyIntegration, SlackIntegration, SlackSocketModeClient, createNtfyLiveSubscriptionSince, resolveGoodVibesNtfyTopics, } from '../integrations/index.js';
|
|
2
3
|
import { handleDiscordGatewayDispatchPayload, handleNtfySurfacePayload, handleSlackSurfacePayload, } from '../adapters/index.js';
|
|
3
4
|
import { logger } from '../utils/logger.js';
|
|
4
5
|
import { summarizeError } from '../utils/error-display.js';
|
|
@@ -148,9 +149,10 @@ export class ChannelProviderRuntimeManager {
|
|
|
148
149
|
this.ntfyAbort = abort;
|
|
149
150
|
const ntfy = new NtfyIntegration(String(this.deps.configManager.get('surfaces.ntfy.baseUrl') || 'https://ntfy.sh'), await this.resolveNtfyToken() ?? undefined);
|
|
150
151
|
const topicList = topics.join(',');
|
|
151
|
-
|
|
152
|
+
const since = createNtfyLiveSubscriptionSince();
|
|
153
|
+
this.markStarted('ntfy', { topics, since, replayCachedMessages: false });
|
|
152
154
|
void ntfy.subscribeJsonStream(topicList, (message) => this.handleNtfyMessage(message), {
|
|
153
|
-
since
|
|
155
|
+
since,
|
|
154
156
|
signal: abort.signal,
|
|
155
157
|
}).catch((error) => {
|
|
156
158
|
if (abort.signal.aborted)
|
|
@@ -190,13 +192,17 @@ export class ChannelProviderRuntimeManager {
|
|
|
190
192
|
}
|
|
191
193
|
async resolveSlackBotToken() {
|
|
192
194
|
const serviceValue = await this.deps.serviceRegistry.resolveSecret('slack', 'primary');
|
|
195
|
+
const configValue = await this.resolveConfigSecret(this.deps.configManager.get('surfaces.slack.botToken'));
|
|
193
196
|
return serviceValue
|
|
194
|
-
||
|
|
197
|
+
|| configValue
|
|
195
198
|
|| process.env.SLACK_BOT_TOKEN
|
|
196
199
|
|| null;
|
|
197
200
|
}
|
|
198
201
|
async resolveSlackAppToken() {
|
|
199
|
-
|
|
202
|
+
const serviceValue = await this.deps.serviceRegistry.resolveSecret('slack', 'appToken');
|
|
203
|
+
const configValue = await this.resolveConfigSecret(this.deps.configManager.get('surfaces.slack.appToken'));
|
|
204
|
+
return serviceValue
|
|
205
|
+
|| configValue
|
|
200
206
|
|| process.env.SLACK_APP_TOKEN
|
|
201
207
|
|| null;
|
|
202
208
|
}
|
|
@@ -223,7 +229,11 @@ export class ChannelProviderRuntimeManager {
|
|
|
223
229
|
}
|
|
224
230
|
isConfigured(surface) {
|
|
225
231
|
if (surface === 'slack') {
|
|
226
|
-
|
|
232
|
+
const slackService = this.deps.serviceRegistry.get('slack');
|
|
233
|
+
return Boolean(this.deps.configManager.get('surfaces.slack.appToken')
|
|
234
|
+
|| process.env.SLACK_APP_TOKEN
|
|
235
|
+
|| slackService?.appTokenKey
|
|
236
|
+
|| slackService?.appTokenRef);
|
|
227
237
|
}
|
|
228
238
|
if (surface === 'discord') {
|
|
229
239
|
return Boolean(this.deps.configManager.get('surfaces.discord.botToken') || process.env.DISCORD_BOT_TOKEN);
|
|
@@ -259,4 +269,12 @@ export class ChannelProviderRuntimeManager {
|
|
|
259
269
|
message,
|
|
260
270
|
};
|
|
261
271
|
}
|
|
272
|
+
async resolveConfigSecret(value) {
|
|
273
|
+
return resolveSecretInput(value, {
|
|
274
|
+
resolveLocalSecret: this.deps.secretsManager
|
|
275
|
+
? (key) => this.deps.secretsManager.get(key)
|
|
276
|
+
: undefined,
|
|
277
|
+
homeDirectory: this.deps.secretsManager?.getGlobalHome?.() ?? undefined,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
262
280
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* for that specific session — never the global TUI event feed.
|
|
20
20
|
* - A GC sweep closes sessions that have been idle beyond the TTL.
|
|
21
21
|
*/
|
|
22
|
-
import type { CompanionChatMessage, CompanionChatSession, CreateCompanionChatSessionInput } from './companion-chat-types.js';
|
|
22
|
+
import type { CompanionChatMessage, CompanionChatSession, CreateCompanionChatSessionInput, UpdateCompanionChatSessionInput } from './companion-chat-types.js';
|
|
23
23
|
import type { CompanionChatRateLimiterOptions } from './companion-chat-rate-limiter.js';
|
|
24
24
|
import type { ToolRegistry } from '../tools/registry.js';
|
|
25
25
|
export interface CompanionProviderMessage {
|
|
@@ -113,6 +113,7 @@ export declare class CompanionChatManager {
|
|
|
113
113
|
createSession(input?: CreateCompanionChatSessionInput): CompanionChatSession;
|
|
114
114
|
getSession(sessionId: string): CompanionChatSession | null;
|
|
115
115
|
getMessages(sessionId: string): CompanionChatMessage[];
|
|
116
|
+
updateSession(sessionId: string, input: UpdateCompanionChatSessionInput): CompanionChatSession;
|
|
116
117
|
/**
|
|
117
118
|
* Register the SSE clientId for this session so events are routed only to
|
|
118
119
|
* the correct subscriber. Replaces any previous registration (single subscriber
|