@vellumai/credential-executor 0.11.3 → 0.11.4-staging.2
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.
|
@@ -6,6 +6,16 @@
|
|
|
6
6
|
* assistant through (Slack, Telegram, WhatsApp, phone, …) plus a couple of
|
|
7
7
|
* internal ids (`vellum` for native app conversations, `platform` for the
|
|
8
8
|
* internal control plane). This is the single source of truth for that set:
|
|
9
|
+
*
|
|
10
|
+
* One id, `plugin`, does not name a surface: it names *every* surface a plugin
|
|
11
|
+
* brings. A plugin channel's real identity is the plugin, which is workspace
|
|
12
|
+
* state and cannot be a compile-time union member, so the plugin name travels
|
|
13
|
+
* in `sourceMetadata.plugin` and is prefixed onto every external id the gateway
|
|
14
|
+
* forwards (`imessage:+15551234567`). Two plugins therefore share a channel
|
|
15
|
+
* row — one admission floor, one set of channel-wide defaults — while their
|
|
16
|
+
* conversations, contacts, and trust records stay disjoint. See
|
|
17
|
+
* `gateway/src/channels/plugin-inbound.ts` for what that concedes.
|
|
18
|
+
*
|
|
9
19
|
* the assistant adopts it wholesale as its `ChannelId`, and the gateway
|
|
10
20
|
* asserts its own (narrower) inbound list is a subset of it so the two sides
|
|
11
21
|
* cannot silently drift.
|
|
@@ -30,6 +40,7 @@ export const CHANNEL_IDS = [
|
|
|
30
40
|
"platform",
|
|
31
41
|
"a2a",
|
|
32
42
|
"discord",
|
|
43
|
+
"plugin",
|
|
33
44
|
] as const;
|
|
34
45
|
|
|
35
46
|
export type ChannelId = (typeof CHANNEL_IDS)[number];
|