@polpo-ai/channels 0.17.0 → 0.17.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.
- package/README.md +15 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +1 -1
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +18 -7
- package/dist/providers.js.map +1 -1
- package/dist/runtime.d.ts +4 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +185 -8
- package/dist/runtime.js.map +1 -1
- package/dist/suggestions.d.ts +42 -0
- package/dist/suggestions.d.ts.map +1 -0
- package/dist/suggestions.js +99 -0
- package/dist/suggestions.js.map +1 -0
- package/dist/types.d.ts +39 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/whatsapp-suggestions.d.ts +7 -0
- package/dist/whatsapp-suggestions.d.ts.map +1 -0
- package/dist/whatsapp-suggestions.js +46 -0
- package/dist/whatsapp-suggestions.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -124,6 +124,21 @@ Treat the call as successful only when it resolves. A returned message ID means
|
|
|
124
124
|
the provider accepted the send request; it does not by itself prove that the
|
|
125
125
|
recipient received or read the message.
|
|
126
126
|
|
|
127
|
+
## Conversation suggestions
|
|
128
|
+
|
|
129
|
+
Suggestions are opt-in. Set `suggestions: true` in `ChannelRuntime` and in the
|
|
130
|
+
server's `createConversationChannelTurnHandler` options, and enable suggestions
|
|
131
|
+
on the agent. WhatsApp shows up to three reply buttons or a list for four or more
|
|
132
|
+
choices; generation remains capped at five. The main answer is delivered intact
|
|
133
|
+
before the optional controls.
|
|
134
|
+
|
|
135
|
+
Selections use opaque, single-use state and enter the ordinary turn handler.
|
|
136
|
+
The bridge rechecks the current identity and the exact canonical assistant
|
|
137
|
+
source. Existing application postbacks remain separate. Reserved callbacks stay
|
|
138
|
+
guarded when disabled. Use shared state across replicas and preserve normal
|
|
139
|
+
Session/run coordination. See the [complete contract](../../docs/channel-suggestions.md)
|
|
140
|
+
for custom-handler requirements, expiry, failure behavior, and rollback.
|
|
141
|
+
|
|
127
142
|
## Durable state
|
|
128
143
|
|
|
129
144
|
The default state adapter is in-memory and is appropriate for local development
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { ChannelRuntime } from "./runtime.js";
|
|
2
|
+
export { CHANNEL_SUGGESTION_PREFIX } from "./suggestions.js";
|
|
3
|
+
export { SuggestionWhatsAppAdapter } from "./whatsapp-suggestions.js";
|
|
2
4
|
export * from "./management/index.js";
|
|
3
5
|
export { channelProviderCapabilities, createOfficialChannelAdapter, } from "./providers.js";
|
|
4
6
|
export { channelMessageHardLimit, normalizeChannelResponseDeliveryPolicy, segmentChannelText, } from "./response.js";
|
|
5
7
|
export { dispatchChannelWebhook, isChannelProviderId, type DispatchChannelWebhookInput, } from "./webhook.js";
|
|
6
|
-
export { CHANNEL_PROVIDER_IDS, type ChannelActivityPolicy, type ChannelActionEvent, type ChannelAdapterFactory, type ChannelAttachment, type ChannelAuthor, type ChannelCapabilitySupport, type ChannelConcurrencyPolicy, type ChannelDeliveryMessage, type ChannelDeliveryResult, type ChannelEventCoordinator, type ChannelEventHandler, type ChannelEventResult, type ChannelInboundMessage, type ChannelInboundEvent, type ChannelInboundTurn, type ChannelInstallation, type ChannelInstallationResolver, type ChannelInstallationResolverInput, type ChannelMessageEvent, type ChannelModalCloseEvent, type ChannelModalSubmitEvent, type ChannelNativePost, type ChannelOptionsLoadEvent, type ChannelOutputFile, type ChannelOutputStream, type ChannelProviderId, type ChannelProviderCapabilities, type ChannelReactionEvent, type ChannelResponseDeliveryPolicy, type ChannelResponseAction, type ChannelRuntimeEvent, type ChannelRuntimeOptions, type ChannelStateFactory, type ChannelStateAdapter, type ChannelStateLock, type ChannelStateQueueEntry, type ChannelTurnHandler, type ChannelTurnExecutionContext, type ChannelTurnCoordinator, type ChannelTurnResult, type ChannelWebhookOptions, type ChannelWhatsAppTemplate, type ChannelSlashCommandEvent, type DiscordChannelInstallation, type SlackChannelInstallation, type TelegramChannelInstallation, type WhatsAppChannelInstallation, } from "./types.js";
|
|
8
|
+
export { CHANNEL_PROVIDER_IDS, type ChannelActivityPolicy, type ChannelActionEvent, type ChannelAdapterFactory, type ChannelAttachment, type ChannelAuthor, type ChannelCapabilitySupport, type ChannelConcurrencyPolicy, type ChannelDeliveryMessage, type ChannelDeliveryResult, type ChannelEventCoordinator, type ChannelEventHandler, type ChannelEventResult, type ChannelInboundMessage, type ChannelInboundEvent, type ChannelInboundTurn, type ChannelInstallation, type ChannelInstallationResolver, type ChannelInstallationResolverInput, type ChannelMessageEvent, type ChannelModalCloseEvent, type ChannelModalSubmitEvent, type ChannelNativePost, type ChannelOptionsLoadEvent, type ChannelOutputFile, type ChannelOutputStream, type ChannelProviderId, type ChannelProviderCapabilities, type ChannelReactionEvent, type ChannelResponseDeliveryPolicy, type ChannelResponseAction, type ChannelRuntimeEvent, type ChannelRuntimeOptions, type ChannelStateFactory, type ChannelStateAdapter, type ChannelStateLock, type ChannelStateQueueEntry, type ChannelTurnHandler, type ChannelTurnExecutionContext, type ChannelTurnCoordinator, type ChannelTurnResult, type ChannelMessageSuggestion, type ChannelSuggestionSource, type ChannelSuggestionPresentation, type ChannelSuggestionSelection, type ChannelSuggestionChoice, type ChannelSuggestionAdapter, type ChannelWebhookOptions, type ChannelWhatsAppTemplate, type ChannelSlashCommandEvent, type DiscordChannelInstallation, type SlackChannelInstallation, type TelegramChannelInstallation, type WhatsAppChannelInstallation, } from "./types.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { ChannelRuntime } from "./runtime.js";
|
|
2
|
+
export { CHANNEL_SUGGESTION_PREFIX } from "./suggestions.js";
|
|
3
|
+
export { SuggestionWhatsAppAdapter } from "./whatsapp-suggestions.js";
|
|
2
4
|
export * from "./management/index.js";
|
|
3
5
|
export { channelProviderCapabilities, createOfficialChannelAdapter, } from "./providers.js";
|
|
4
6
|
export { channelMessageHardLimit, normalizeChannelResponseDeliveryPolicy, segmentChannelText, } from "./response.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,sCAAsC,EACtC,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,GAsDrB,MAAM,YAAY,CAAC"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Adapter } from "chat";
|
|
2
2
|
import type { ChannelInstallation, ChannelProviderCapabilities, ChannelProviderId } from "./types.js";
|
|
3
3
|
export declare function channelProviderCapabilities(provider: ChannelProviderId): ChannelProviderCapabilities;
|
|
4
4
|
export declare function createOfficialChannelAdapter(installation: ChannelInstallation): Adapter;
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA6DpB,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,GAC1B,2BAA2B,CAE7B;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,mBAAmB,GAChC,OAAO,CA6CT"}
|
package/dist/providers.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createDiscordAdapter } from "@chat-adapter/discord";
|
|
2
2
|
import { createSlackAdapter } from "@chat-adapter/slack";
|
|
3
3
|
import { createTelegramAdapter } from "@chat-adapter/telegram";
|
|
4
|
-
import {
|
|
4
|
+
import { ConsoleLogger } from "chat";
|
|
5
|
+
import { SuggestionWhatsAppAdapter } from "./whatsapp-suggestions.js";
|
|
5
6
|
const PROVIDER_CAPABILITIES = {
|
|
6
7
|
slack: Object.freeze({
|
|
7
8
|
actions: "native",
|
|
@@ -92,12 +93,15 @@ export function createOfficialChannelAdapter(installation) {
|
|
|
92
93
|
});
|
|
93
94
|
break;
|
|
94
95
|
case "whatsapp":
|
|
95
|
-
adapter =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
verifyToken: installation.credentials.verifyToken,
|
|
96
|
+
adapter = new SuggestionWhatsAppAdapter({
|
|
97
|
+
// Preserve the pinned official factory's configuration and validation.
|
|
98
|
+
accessToken: whatsappSetting(installation.credentials.accessToken, "WHATSAPP_ACCESS_TOKEN", "accessToken"),
|
|
99
|
+
appSecret: whatsappSetting(installation.credentials.appSecret, "WHATSAPP_APP_SECRET", "appSecret"),
|
|
100
|
+
phoneNumberId: whatsappSetting(installation.credentials.phoneNumberId, "WHATSAPP_PHONE_NUMBER_ID", "phoneNumberId"),
|
|
101
|
+
verifyToken: whatsappSetting(installation.credentials.verifyToken, "WHATSAPP_VERIFY_TOKEN", "verifyToken"),
|
|
102
|
+
apiUrl: process.env.WHATSAPP_API_URL,
|
|
103
|
+
userName: installation.userName ?? process.env.WHATSAPP_BOT_USERNAME ?? "whatsapp-bot",
|
|
104
|
+
logger: new ConsoleLogger("info").child("whatsapp"),
|
|
101
105
|
});
|
|
102
106
|
break;
|
|
103
107
|
}
|
|
@@ -106,4 +110,11 @@ export function createOfficialChannelAdapter(installation) {
|
|
|
106
110
|
}
|
|
107
111
|
return adapter;
|
|
108
112
|
}
|
|
113
|
+
function whatsappSetting(value, environment, field) {
|
|
114
|
+
const resolved = value ?? process.env[environment];
|
|
115
|
+
if (!resolved) {
|
|
116
|
+
throw new Error(`${field} is required. Set ${environment} or provide it in config.`);
|
|
117
|
+
}
|
|
118
|
+
return resolved;
|
|
119
|
+
}
|
|
109
120
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -19,8 +19,11 @@ export declare class ChannelRuntime {
|
|
|
19
19
|
private getOrCreate;
|
|
20
20
|
private createEntry;
|
|
21
21
|
private handleMessage;
|
|
22
|
+
private handleOrdinaryMessage;
|
|
22
23
|
private handleSlashCommand;
|
|
23
24
|
private handleAction;
|
|
25
|
+
private handleSuggestionSelection;
|
|
26
|
+
private handleQueuedSuggestion;
|
|
24
27
|
private handleReaction;
|
|
25
28
|
private handleModalSubmit;
|
|
26
29
|
private handleModalClose;
|
|
@@ -33,6 +36,7 @@ export declare class ChannelRuntime {
|
|
|
33
36
|
private coordinateEventLocally;
|
|
34
37
|
private coordinateLocally;
|
|
35
38
|
private deliver;
|
|
39
|
+
private deliverSuggestions;
|
|
36
40
|
private turnExecutionContext;
|
|
37
41
|
private markAsRead;
|
|
38
42
|
private startTyping;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AA2BhC,OAAO,KAAK,EAGV,qBAAqB,EAKrB,mBAAmB,EAGnB,qBAAqB,EAGrB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAkDpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4C;IACjF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,4BAA4B,CAAK;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEE;gBAEd,OAAO,EAAE,qBAAqB;IAWpC,aAAa,CACjB,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,QAAQ,CAAC;IA+Bd,IAAI,CACR,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GAAG,MAAM,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAgB3B,WAAW,CACf,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,iBAAiB,GAAG,MAAM,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAe3B,oBAAoB,CACxB,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,qBAAqB,CAAC;IAyC3B,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B,IAAI,IAAI,IAAI,MAAM,CAEjB;YAEa,WAAW;YAyBX,WAAW;YA2FX,aAAa;YA+Bb,qBAAqB;YAmErB,kBAAkB;YA8ElB,YAAY;YA0CZ,yBAAyB;YAuCzB,sBAAsB;YAsCtB,cAAc;YAkCd,iBAAiB;YAsCjB,gBAAgB;YAiChB,iBAAiB;YAsBjB,WAAW;YAaX,WAAW;IA6GzB,OAAO,CAAC,sBAAsB;YAYhB,oBAAoB;YAWpB,YAAY;YA+EZ,sBAAsB;YAetB,iBAAiB;YAiBjB,OAAO;YA4IP,kBAAkB;IAgChC,OAAO,CAAC,oBAAoB;YAqEd,UAAU;YA4BV,WAAW;YA4BX,KAAK;YAgBL,KAAK;YAUL,IAAI;IA4BlB,OAAO,CAAC,YAAY;YAMN,kBAAkB;CAKjC"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { MemoryStateAdapter } from "@chat-adapter/state-memory";
|
|
2
|
-
import { Actions, Button, Card, CardText, Chat, ConsoleLogger, LinkButton, } from "chat";
|
|
2
|
+
import { Actions, Button, Card, CardText, Chat, ConsoleLogger, LinkButton, Message, } from "chat";
|
|
3
3
|
import { createOfficialChannelAdapter } from "./providers.js";
|
|
4
4
|
import { segmentChannelText } from "./response.js";
|
|
5
|
+
import { CHANNEL_SUGGESTION_PREFIX, ChannelSuggestionSets } from "./suggestions.js";
|
|
5
6
|
const DEFAULT_CONCURRENCY = {
|
|
6
7
|
debounceMs: 1_000,
|
|
7
8
|
maxQueueSize: 20,
|
|
@@ -12,6 +13,10 @@ const DEFAULT_CONCURRENCY = {
|
|
|
12
13
|
const DEFAULT_DEDUPE_TTL_MS = 10 * 60_000;
|
|
13
14
|
const DEFAULT_OBSERVABILITY_TIMEOUT_MS = 1_000;
|
|
14
15
|
const OBSERVABILITY_TIMEOUT_BACKOFF_MS = 30_000;
|
|
16
|
+
const QUEUED_SUGGESTION_TYPE = "polpo.suggestion-selection.v1";
|
|
17
|
+
function isQueuedSuggestion(message) {
|
|
18
|
+
return message.raw?.type === QUEUED_SUGGESTION_TYPE;
|
|
19
|
+
}
|
|
15
20
|
class ChannelDeliveryFailure extends Error {
|
|
16
21
|
deliveredMessages;
|
|
17
22
|
constructor(error, deliveredMessages) {
|
|
@@ -196,8 +201,9 @@ export class ChannelRuntime {
|
|
|
196
201
|
chat.onNewMessage(/[\s\S]*/, handler);
|
|
197
202
|
chat.onSubscribedMessage(handler);
|
|
198
203
|
chat.onSlashCommand((event) => this.handleSlashCommand(installation, state, event));
|
|
204
|
+
// The reserved namespace is guarded even after opt-out or without application actions.
|
|
205
|
+
chat.onAction((event) => this.handleAction(installation, state, chat, event));
|
|
199
206
|
if (this.options.handleEvent) {
|
|
200
|
-
chat.onAction((event) => this.handleAction(installation, state, event));
|
|
201
207
|
chat.onReaction((event) => this.handleReaction(installation, state, event));
|
|
202
208
|
chat.onModalSubmit((event) => this.handleModalSubmit(installation, state, event));
|
|
203
209
|
chat.onModalClose((event) => this.handleModalClose(installation, state, event));
|
|
@@ -219,6 +225,33 @@ export class ChannelRuntime {
|
|
|
219
225
|
return entry;
|
|
220
226
|
}
|
|
221
227
|
async handleMessage(installation, adapterName, state, thread, message, context) {
|
|
228
|
+
const messages = [...(context?.skipped ?? []), message];
|
|
229
|
+
if (!messages.some(isQueuedSuggestion)) {
|
|
230
|
+
return this.handleOrdinaryMessage(installation, adapterName, state, thread, message, context);
|
|
231
|
+
}
|
|
232
|
+
// The Chat SDK may batch queue/burst/debounce entries across replicas.
|
|
233
|
+
// Preserve ordering, but never merge a private selection into ordinary text.
|
|
234
|
+
let ordinary = [];
|
|
235
|
+
const flush = async () => {
|
|
236
|
+
if (!ordinary.length)
|
|
237
|
+
return;
|
|
238
|
+
const group = ordinary;
|
|
239
|
+
ordinary = [];
|
|
240
|
+
await this.handleOrdinaryMessage(installation, adapterName, state, thread, group.at(-1), {
|
|
241
|
+
skipped: group.slice(0, -1), totalSinceLastHandler: group.length,
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
for (const incoming of messages) {
|
|
245
|
+
if (!isQueuedSuggestion(incoming)) {
|
|
246
|
+
ordinary.push(incoming);
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
await flush();
|
|
250
|
+
await this.handleQueuedSuggestion(installation, state, thread, incoming);
|
|
251
|
+
}
|
|
252
|
+
await flush();
|
|
253
|
+
}
|
|
254
|
+
async handleOrdinaryMessage(installation, adapterName, state, thread, message, context) {
|
|
222
255
|
const providerEventId = messageProviderEventId(installation.provider, thread.id, message);
|
|
223
256
|
const hasLogicalDedupe = providerEventId !== message.id;
|
|
224
257
|
if (hasLogicalDedupe
|
|
@@ -338,7 +371,7 @@ export class ChannelRuntime {
|
|
|
338
371
|
threadId: event.channel.id,
|
|
339
372
|
}, turn);
|
|
340
373
|
}
|
|
341
|
-
async handleAction(installation, state, event) {
|
|
374
|
+
async handleAction(installation, state, chat, event) {
|
|
342
375
|
const providerEventId = providerEventIdFor(event.raw, [
|
|
343
376
|
event.actionId,
|
|
344
377
|
event.messageId,
|
|
@@ -346,6 +379,10 @@ export class ChannelRuntime {
|
|
|
346
379
|
event.user.userId,
|
|
347
380
|
event.value ?? "",
|
|
348
381
|
]);
|
|
382
|
+
if (event.actionId.startsWith(CHANNEL_SUGGESTION_PREFIX)) {
|
|
383
|
+
await this.handleSuggestionSelection(installation, state, chat, event, providerEventId);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
349
386
|
if (!await this.acceptEvent(state, installation, "action", providerEventId))
|
|
350
387
|
return;
|
|
351
388
|
await this.executeEvent(installation, event.thread
|
|
@@ -367,6 +404,97 @@ export class ChannelRuntime {
|
|
|
367
404
|
value: event.value,
|
|
368
405
|
});
|
|
369
406
|
}
|
|
407
|
+
async handleSuggestionSelection(installation, state, chat, event, providerEventId) {
|
|
408
|
+
const reject = () => this.emit({ installationId: installation.id, provider: installation.provider,
|
|
409
|
+
name: "suggestions.selection.rejected", details: { reason: "unavailable-or-invalid" } });
|
|
410
|
+
if (!this.options.suggestions || !event.thread || !event.threadId) {
|
|
411
|
+
await reject();
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
const raw = event.raw;
|
|
415
|
+
const sourceMessageId = installation.provider === "whatsapp"
|
|
416
|
+
? (typeof raw?.context?.id === "string" ? raw.context.id : undefined)
|
|
417
|
+
: event.messageId;
|
|
418
|
+
// WhatsApp's messageId is the incoming reply, not the original interactive message.
|
|
419
|
+
if (!sourceMessageId) {
|
|
420
|
+
await reject();
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
let selection;
|
|
424
|
+
try {
|
|
425
|
+
selection = await new ChannelSuggestionSets(state).claim({
|
|
426
|
+
actionId: event.actionId, providerEventId, sourceMessageId, provider: installation.provider,
|
|
427
|
+
installationId: installation.id, credentialRevision: installation.credentialRevision,
|
|
428
|
+
threadId: event.threadId, recipientId: event.user.userId,
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
catch {
|
|
432
|
+
await reject();
|
|
433
|
+
return;
|
|
434
|
+
}
|
|
435
|
+
if (!selection) {
|
|
436
|
+
await reject();
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
await this.emit({ installationId: installation.id, provider: installation.provider,
|
|
440
|
+
name: "suggestions.selection.claimed" });
|
|
441
|
+
try {
|
|
442
|
+
await chat.processMessage(event.adapter, event.threadId, new Message({
|
|
443
|
+
id: `polpo-selection:${providerEventId}`, threadId: event.threadId,
|
|
444
|
+
text: "", formatted: markdownAst(""), attachments: [], author: event.user,
|
|
445
|
+
metadata: { dateSent: new Date(), edited: false },
|
|
446
|
+
raw: { type: QUEUED_SUGGESTION_TYPE, actionId: event.actionId,
|
|
447
|
+
providerEventId, sourceMessageId },
|
|
448
|
+
}));
|
|
449
|
+
}
|
|
450
|
+
catch {
|
|
451
|
+
// The original claim stays spent; never bubble the private action reference
|
|
452
|
+
// into Chat SDK's action-error logging or retry an uncertain dispatch.
|
|
453
|
+
await reject();
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
async handleQueuedSuggestion(installation, state, thread, message) {
|
|
457
|
+
const reject = () => this.emit({ installationId: installation.id, provider: installation.provider,
|
|
458
|
+
name: "suggestions.selection.rejected", details: { reason: "unavailable-or-invalid" } });
|
|
459
|
+
const reference = message.raw;
|
|
460
|
+
if (!this.options.suggestions || typeof reference.actionId !== "string"
|
|
461
|
+
|| typeof reference.providerEventId !== "string" || typeof reference.sourceMessageId !== "string"
|
|
462
|
+
|| message.id !== `polpo-selection:${reference.providerEventId}`) {
|
|
463
|
+
await reject();
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
try {
|
|
467
|
+
const selection = await new ChannelSuggestionSets(state).admit({
|
|
468
|
+
actionId: reference.actionId, providerEventId: reference.providerEventId,
|
|
469
|
+
sourceMessageId: reference.sourceMessageId, provider: installation.provider,
|
|
470
|
+
installationId: installation.id, credentialRevision: installation.credentialRevision,
|
|
471
|
+
threadId: thread.id, recipientId: message.author.userId,
|
|
472
|
+
});
|
|
473
|
+
if (!selection) {
|
|
474
|
+
await reject();
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
const providerEventId = reference.providerEventId;
|
|
478
|
+
const turn = {
|
|
479
|
+
installationId: installation.id, credentialRevision: installation.credentialRevision,
|
|
480
|
+
provider: installation.provider, providerEventId, channelId: thread.channelId,
|
|
481
|
+
threadId: thread.id, isDirectMessage: selection.isDirectMessage,
|
|
482
|
+
coordination: { grouped: false, messageCount: 1, messageIds: [providerEventId],
|
|
483
|
+
primaryMessageId: providerEventId, strategy: (installation.concurrency ?? this.options.concurrency ?? DEFAULT_CONCURRENCY).strategy },
|
|
484
|
+
messages: [{ id: providerEventId, text: selection.item.prompt, attachments: [], author: mapAuthor(message.author),
|
|
485
|
+
raw: { id: providerEventId }, timestamp: message.metadata.dateSent, isMention: false }],
|
|
486
|
+
suggestionSelection: { item: selection.item, source: selection.source },
|
|
487
|
+
};
|
|
488
|
+
await this.executeTurn(installation, state, {
|
|
489
|
+
channelId: turn.channelId, threadId: turn.threadId, postable: thread,
|
|
490
|
+
}, turn);
|
|
491
|
+
}
|
|
492
|
+
catch {
|
|
493
|
+
// Selection failure is terminal, and must not discard later ordinary messages
|
|
494
|
+
// already dequeued in the same burst or clear the admission/dedupe claims.
|
|
495
|
+
await reject();
|
|
496
|
+
}
|
|
497
|
+
}
|
|
370
498
|
async handleReaction(installation, state, event) {
|
|
371
499
|
const providerEventId = providerEventIdFor(event.raw, [
|
|
372
500
|
event.messageId,
|
|
@@ -501,8 +629,12 @@ export class ChannelRuntime {
|
|
|
501
629
|
const result = this.options.handleEvent
|
|
502
630
|
? await this.options.handleEvent(event, executionContext)
|
|
503
631
|
: await this.options.handleTurn(turn, executionContext);
|
|
504
|
-
if (result)
|
|
632
|
+
if (result) {
|
|
505
633
|
await this.deliver(installation, executionTarget, result, messageId);
|
|
634
|
+
if (this.options.suggestions && result.suggestions?.items.length) {
|
|
635
|
+
await this.deliverSuggestions(installation, state, executionTarget, turn, result.suggestions);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
506
638
|
await this.emit({
|
|
507
639
|
channelId: target.channelId,
|
|
508
640
|
installationId: installation.id,
|
|
@@ -808,6 +940,39 @@ export class ChannelRuntime {
|
|
|
808
940
|
throw new ChannelDeliveryFailure(error, deliveredPosts);
|
|
809
941
|
}
|
|
810
942
|
}
|
|
943
|
+
async deliverSuggestions(installation, state, target, turn, presentation) {
|
|
944
|
+
try {
|
|
945
|
+
const recipientId = turn.messages.at(-1)?.author.userId;
|
|
946
|
+
if (!recipientId || !target.threadId)
|
|
947
|
+
return;
|
|
948
|
+
const adapter = this.entries.get(runtimeKey(installation, this.options.concurrency))?.adapter;
|
|
949
|
+
const specialized = adapter && "postSuggestionChoices" in adapter
|
|
950
|
+
&& typeof adapter.postSuggestionChoices === "function" ? adapter : undefined;
|
|
951
|
+
// Never fall back to WhatsApp's three-button truncation for a list.
|
|
952
|
+
if (installation.provider === "whatsapp" && !specialized)
|
|
953
|
+
return;
|
|
954
|
+
if (!specialized && presentation.items.length > 5)
|
|
955
|
+
return;
|
|
956
|
+
const binding = { provider: installation.provider, installationId: installation.id,
|
|
957
|
+
credentialRevision: installation.credentialRevision, threadId: target.threadId, recipientId,
|
|
958
|
+
isDirectMessage: turn.isDirectMessage };
|
|
959
|
+
const sets = new ChannelSuggestionSets(state);
|
|
960
|
+
const prepared = await sets.prepare(binding, presentation);
|
|
961
|
+
const sent = specialized
|
|
962
|
+
? await specialized.postSuggestionChoices(target.threadId, prepared.choices)
|
|
963
|
+
: await target.postable.post(Card({ children: [CardText("Suggested next steps"),
|
|
964
|
+
Actions(prepared.choices.map(choice => Button({ id: choice.id, label: choice.label })))] }));
|
|
965
|
+
if (!await sets.activate(prepared.token, binding, sent.id))
|
|
966
|
+
throw new Error("Suggestion activation failed");
|
|
967
|
+
await this.emit({ installationId: installation.id, provider: installation.provider,
|
|
968
|
+
name: "suggestions.delivered", details: { count: prepared.choices.length } });
|
|
969
|
+
}
|
|
970
|
+
catch {
|
|
971
|
+
// Optional delivery must neither fail nor replay the completed main operation.
|
|
972
|
+
await this.emit({ installationId: installation.id, provider: installation.provider,
|
|
973
|
+
name: "suggestions.delivery.failed" });
|
|
974
|
+
}
|
|
975
|
+
}
|
|
811
976
|
turnExecutionContext(installation, state, target, sourceMessageId) {
|
|
812
977
|
return Object.freeze({
|
|
813
978
|
deliverProgress: async (result, options) => {
|
|
@@ -1062,19 +1227,28 @@ class RuntimeLogger {
|
|
|
1062
1227
|
return new RuntimeLogger(this.base.child(prefix), this.observeInfo);
|
|
1063
1228
|
}
|
|
1064
1229
|
debug(message, ...args) {
|
|
1065
|
-
this.base.debug(message, ...args);
|
|
1230
|
+
this.base.debug(message, ...redactSuggestionLogArgs(args));
|
|
1066
1231
|
}
|
|
1067
1232
|
info(message, ...args) {
|
|
1068
1233
|
this.observeInfo(message, args);
|
|
1069
|
-
this.base.info(message, ...args);
|
|
1234
|
+
this.base.info(message, ...redactSuggestionLogArgs(args));
|
|
1070
1235
|
}
|
|
1071
1236
|
warn(message, ...args) {
|
|
1072
|
-
this.base.warn(message, ...args);
|
|
1237
|
+
this.base.warn(message, ...redactSuggestionLogArgs(args));
|
|
1073
1238
|
}
|
|
1074
1239
|
error(message, ...args) {
|
|
1075
|
-
this.base.error(message, ...args);
|
|
1240
|
+
this.base.error(message, ...redactSuggestionLogArgs(args));
|
|
1076
1241
|
}
|
|
1077
1242
|
}
|
|
1243
|
+
/** Chat SDK action diagnostics include actionId even before our handler runs. */
|
|
1244
|
+
function redactSuggestionLogArgs(args) {
|
|
1245
|
+
return args.map(value => {
|
|
1246
|
+
const record = recordValue(value);
|
|
1247
|
+
return typeof record.actionId === "string" && record.actionId.startsWith(CHANNEL_SUGGESTION_PREFIX)
|
|
1248
|
+
? { ...record, actionId: "[channel-suggestion]", ...(Object.hasOwn(record, "value") ? { value: "[redacted]" } : {}) }
|
|
1249
|
+
: value;
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1078
1252
|
function recordValue(value) {
|
|
1079
1253
|
return value && typeof value === "object" && !Array.isArray(value)
|
|
1080
1254
|
? value
|
|
@@ -1266,6 +1440,9 @@ function hasDeliverableOutput(result) {
|
|
|
1266
1440
|
|| result.text);
|
|
1267
1441
|
}
|
|
1268
1442
|
function validateTurnResult(result) {
|
|
1443
|
+
if (result.actions?.some(action => action.id.startsWith(CHANNEL_SUGGESTION_PREFIX))) {
|
|
1444
|
+
throw new Error("The Channel suggestion action namespace is reserved");
|
|
1445
|
+
}
|
|
1269
1446
|
if (result.posts?.length && (result.actions?.length || result.text || result.stream || result.files?.length)) {
|
|
1270
1447
|
throw new Error("Native posts cannot be combined with text, stream, or files");
|
|
1271
1448
|
}
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ChannelProviderId, ChannelStateAdapter, ChannelSuggestionChoice, ChannelSuggestionPresentation, ChannelSuggestionSelection } from "./types.js";
|
|
2
|
+
/** Always intercepted, including when negotiation is disabled or an ID is malformed. */
|
|
3
|
+
export declare const CHANNEL_SUGGESTION_PREFIX = "polpo_suggestion:";
|
|
4
|
+
type Binding = {
|
|
5
|
+
provider: ChannelProviderId;
|
|
6
|
+
installationId: string;
|
|
7
|
+
credentialRevision: string;
|
|
8
|
+
threadId: string;
|
|
9
|
+
recipientId: string;
|
|
10
|
+
isDirectMessage: boolean;
|
|
11
|
+
};
|
|
12
|
+
/** TTL state, not a second conversation store. Claims are conservatively at-most-once. */
|
|
13
|
+
export declare class ChannelSuggestionSets {
|
|
14
|
+
private readonly state;
|
|
15
|
+
constructor(state: ChannelStateAdapter);
|
|
16
|
+
prepare(binding: Binding, presentation: ChannelSuggestionPresentation): Promise<{
|
|
17
|
+
token: string;
|
|
18
|
+
choices: ChannelSuggestionChoice[];
|
|
19
|
+
}>;
|
|
20
|
+
activate(token: string, binding: Binding, providerMessageId: string): Promise<boolean>;
|
|
21
|
+
claim(input: Omit<Binding, "isDirectMessage"> & {
|
|
22
|
+
actionId: string;
|
|
23
|
+
providerEventId: string;
|
|
24
|
+
sourceMessageId?: string;
|
|
25
|
+
}): Promise<(ChannelSuggestionSelection & {
|
|
26
|
+
isDirectMessage: boolean;
|
|
27
|
+
}) | null>;
|
|
28
|
+
/** Resolve a claimed choice after the normal shared message queue admits it.
|
|
29
|
+
* The queue carries only a reference; its text/raw data is never authority.
|
|
30
|
+
* A separate NX admission survives uncertain execution and duplicate dequeue.
|
|
31
|
+
*/
|
|
32
|
+
admit(input: Omit<Binding, "isDirectMessage"> & {
|
|
33
|
+
actionId: string;
|
|
34
|
+
providerEventId: string;
|
|
35
|
+
sourceMessageId: string;
|
|
36
|
+
}): Promise<(ChannelSuggestionSelection & {
|
|
37
|
+
isDirectMessage: boolean;
|
|
38
|
+
}) | null>;
|
|
39
|
+
private key;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=suggestions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestions.d.ts","sourceRoot":"","sources":["../src/suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAC3E,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEhF,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAG7D,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAChF,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;CACjE,CAAC;AASF,0FAA0F;AAC1F,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,mBAAmB;IAEjD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,6BAA6B,GAAG,OAAO,CAAC;QACpF,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,uBAAuB,EAAE,CAAC;KACnD,CAAC;IAgBI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAatF,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG;QACpD,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACrE,GAAG,OAAO,CAAC,CAAC,0BAA0B,GAAG;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAwB/E;;;OAGG;IACG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG;QACpD,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;KACpE,GAAG,OAAO,CAAC,CAAC,0BAA0B,GAAG;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAgB/E,OAAO,CAAC,GAAG;CAGZ"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/** Always intercepted, including when negotiation is disabled or an ID is malformed. */
|
|
2
|
+
export const CHANNEL_SUGGESTION_PREFIX = "polpo_suggestion:";
|
|
3
|
+
const TTL = 24 * 60 * 60_000;
|
|
4
|
+
const LOCK_TTL = 5_000;
|
|
5
|
+
/** TTL state, not a second conversation store. Claims are conservatively at-most-once. */
|
|
6
|
+
export class ChannelSuggestionSets {
|
|
7
|
+
state;
|
|
8
|
+
constructor(state) {
|
|
9
|
+
this.state = state;
|
|
10
|
+
}
|
|
11
|
+
async prepare(binding, presentation) {
|
|
12
|
+
if (!presentation.items.length || presentation.items.length > 10
|
|
13
|
+
|| presentation.items.some(item => !item.id || !item.label.trim() || !item.prompt.trim())) {
|
|
14
|
+
throw new Error("Channel suggestions require 1–10 non-empty choices");
|
|
15
|
+
}
|
|
16
|
+
const token = Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, "0")).join("");
|
|
17
|
+
await this.state.set(this.key(binding, token), {
|
|
18
|
+
...binding, ...structuredClone(presentation), expiresAt: Date.now() + TTL,
|
|
19
|
+
status: "pending_delivery",
|
|
20
|
+
}, TTL);
|
|
21
|
+
return { token, choices: presentation.items.map((item, index) => ({
|
|
22
|
+
id: `${CHANNEL_SUGGESTION_PREFIX}${token}:${index}`, label: item.label,
|
|
23
|
+
})) };
|
|
24
|
+
}
|
|
25
|
+
async activate(token, binding, providerMessageId) {
|
|
26
|
+
const key = this.key(binding, token);
|
|
27
|
+
const lock = await this.state.acquireLock(key, LOCK_TTL);
|
|
28
|
+
if (!lock)
|
|
29
|
+
return false;
|
|
30
|
+
try {
|
|
31
|
+
const set = await this.state.get(key);
|
|
32
|
+
if (!set || set.status !== "pending_delivery" || set.expiresAt <= Date.now()
|
|
33
|
+
|| !providerMessageId || !await this.state.extendLock(lock, LOCK_TTL))
|
|
34
|
+
return false;
|
|
35
|
+
await this.state.set(key, { ...set, status: "active", providerMessageId }, set.expiresAt - Date.now());
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
await this.state.releaseLock(lock);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async claim(input) {
|
|
43
|
+
const match = /^polpo_suggestion:([a-f0-9]{32}):([0-9])$/.exec(input.actionId);
|
|
44
|
+
if (!match)
|
|
45
|
+
return null;
|
|
46
|
+
const key = this.key(input, match[1]);
|
|
47
|
+
const lock = await this.state.acquireLock(key, LOCK_TTL);
|
|
48
|
+
if (!lock)
|
|
49
|
+
return null;
|
|
50
|
+
try {
|
|
51
|
+
const set = await this.state.get(key);
|
|
52
|
+
if (!set || set.status !== "active" || set.expiresAt <= Date.now()
|
|
53
|
+
|| set.provider !== input.provider || set.installationId !== input.installationId
|
|
54
|
+
|| set.credentialRevision !== input.credentialRevision || set.threadId !== input.threadId
|
|
55
|
+
|| set.recipientId !== input.recipientId
|
|
56
|
+
|| (input.sourceMessageId !== undefined && set.providerMessageId !== input.sourceMessageId))
|
|
57
|
+
return null;
|
|
58
|
+
const item = set.items[Number(match[2])];
|
|
59
|
+
if (!item || !await this.state.extendLock(lock, LOCK_TTL))
|
|
60
|
+
return null;
|
|
61
|
+
// NX is also authoritative if a process loses its lock while writing state.
|
|
62
|
+
// Never clear this claim on dispatch failure: tool execution may have started.
|
|
63
|
+
if (!await this.state.setIfNotExists(`${key}:claimed`, true, TTL))
|
|
64
|
+
return null;
|
|
65
|
+
await this.state.set(key, { ...set, status: "claimed", claimedEventId: input.providerEventId,
|
|
66
|
+
claimedIndex: Number(match[2]) }, set.expiresAt - Date.now());
|
|
67
|
+
return { source: set.source, item, isDirectMessage: set.isDirectMessage };
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
await this.state.releaseLock(lock);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** Resolve a claimed choice after the normal shared message queue admits it.
|
|
74
|
+
* The queue carries only a reference; its text/raw data is never authority.
|
|
75
|
+
* A separate NX admission survives uncertain execution and duplicate dequeue.
|
|
76
|
+
*/
|
|
77
|
+
async admit(input) {
|
|
78
|
+
const match = /^polpo_suggestion:([a-f0-9]{32}):([0-9])$/.exec(input.actionId);
|
|
79
|
+
if (!match || !input.providerEventId || !input.sourceMessageId)
|
|
80
|
+
return null;
|
|
81
|
+
const key = this.key(input, match[1]);
|
|
82
|
+
const set = await this.state.get(key);
|
|
83
|
+
if (!set || set.status !== "claimed" || set.expiresAt <= Date.now()
|
|
84
|
+
|| set.claimedEventId !== input.providerEventId || set.claimedIndex !== Number(match[2])
|
|
85
|
+
|| set.provider !== input.provider || set.installationId !== input.installationId
|
|
86
|
+
|| set.credentialRevision !== input.credentialRevision || set.threadId !== input.threadId
|
|
87
|
+
|| set.recipientId !== input.recipientId || set.providerMessageId !== input.sourceMessageId)
|
|
88
|
+
return null;
|
|
89
|
+
const item = set.items[Number(match[2])];
|
|
90
|
+
if (!item || !await this.state.setIfNotExists(`${key}:admitted`, true, TTL)
|
|
91
|
+
|| set.expiresAt <= Date.now())
|
|
92
|
+
return null;
|
|
93
|
+
return { source: set.source, item, isDirectMessage: set.isDirectMessage };
|
|
94
|
+
}
|
|
95
|
+
key(binding, token) {
|
|
96
|
+
return `polpo:suggestions:v1:${JSON.stringify([binding.provider, binding.installationId, binding.credentialRevision, token])}`;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=suggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../src/suggestions.ts"],"names":[],"mappings":"AAGA,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAC7D,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC;AAavB,0FAA0F;AAC1F,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;IAAG,CAAC;IAE3D,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,YAA2C;QAGzE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;eAC3D,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EACjE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC7C,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;YACzE,MAAM,EAAE,kBAAkB;SACJ,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChE,EAAE,EAAE,GAAG,yBAAyB,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK;aACvE,CAAC,CAAC,EAAE,CAAC;IACR,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAgB,EAAE,iBAAyB;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;mBACvE,CAAC,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAEX;QACC,MAAM,KAAK,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;mBAC7D,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;mBAC9E,GAAG,CAAC,kBAAkB,KAAK,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;mBACtF,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;mBACrC,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,CAAC,eAAe,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3G,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvE,4EAA4E;YAC5E,+EAA+E;YAC/E,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/E,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,eAAe;gBAC1F,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;QAC5E,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,KAEX;QACC,MAAM,KAAK,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;eAC9D,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,eAAe,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;eACrF,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;eAC9E,GAAG,CAAC,kBAAkB,KAAK,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;eACtF,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAC3G,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;eACtE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;IAC5E,CAAC;IAEO,GAAG,CAAC,OAA4E,EAAE,KAAa;QACrG,OAAO,wBAAwB,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;IACjI,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -80,6 +80,8 @@ export type ChannelTurnCoordination = {
|
|
|
80
80
|
strategy: ChannelConcurrencyPolicy["strategy"];
|
|
81
81
|
};
|
|
82
82
|
export type ChannelInboundTurn = {
|
|
83
|
+
/** Runtime-created provenance of an opaque, verified suggestion selection. */
|
|
84
|
+
suggestionSelection?: ChannelSuggestionSelection;
|
|
83
85
|
channelId: string;
|
|
84
86
|
coordination: ChannelTurnCoordination;
|
|
85
87
|
credentialRevision: string;
|
|
@@ -109,7 +111,41 @@ export type ChannelResponseAction = {
|
|
|
109
111
|
type: "postback";
|
|
110
112
|
value: string;
|
|
111
113
|
};
|
|
114
|
+
/** Structural transport view; the canonical suggestion contract lives in core. */
|
|
115
|
+
export type ChannelMessageSuggestion = {
|
|
116
|
+
id: string;
|
|
117
|
+
label: string;
|
|
118
|
+
prompt: string;
|
|
119
|
+
};
|
|
120
|
+
export type ChannelSuggestionSource = {
|
|
121
|
+
sessionId: string;
|
|
122
|
+
assistantMessageId: string;
|
|
123
|
+
sessionVersion?: number;
|
|
124
|
+
agent: string;
|
|
125
|
+
user: string;
|
|
126
|
+
scope?: {
|
|
127
|
+
key: string;
|
|
128
|
+
version?: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
export type ChannelSuggestionPresentation = {
|
|
132
|
+
items: ChannelMessageSuggestion[];
|
|
133
|
+
/** Trusted host binding, never put into the provider callback or model prompt. */
|
|
134
|
+
source: ChannelSuggestionSource;
|
|
135
|
+
};
|
|
136
|
+
export type ChannelSuggestionSelection = {
|
|
137
|
+
source: ChannelSuggestionSource;
|
|
138
|
+
item: ChannelMessageSuggestion;
|
|
139
|
+
};
|
|
140
|
+
export type ChannelSuggestionChoice = {
|
|
141
|
+
id: string;
|
|
142
|
+
label: string;
|
|
143
|
+
};
|
|
144
|
+
export type ChannelSuggestionAdapter = Adapter & {
|
|
145
|
+
postSuggestionChoices(threadId: string, choices: readonly ChannelSuggestionChoice[]): Promise<ChannelDeliveryMessage>;
|
|
146
|
+
};
|
|
112
147
|
export type ChannelTurnResult = {
|
|
148
|
+
suggestions?: ChannelSuggestionPresentation;
|
|
113
149
|
actions?: ChannelResponseAction[];
|
|
114
150
|
files?: ChannelOutputFile[];
|
|
115
151
|
metadata?: Record<string, unknown>;
|
|
@@ -250,13 +286,15 @@ export type ChannelRuntimeEvent = {
|
|
|
250
286
|
error?: string;
|
|
251
287
|
installationId: string;
|
|
252
288
|
messageId?: string;
|
|
253
|
-
name: "runtime.created" | "runtime.evicted" | "webhook.received" | "read.completed" | "read.failed" | "typing.started" | "typing.failed" | "event.unhandled" | "event.queued" | "event.steered" | "event.rejected" | "transport.message.queued" | "transport.message.dequeued" | "transport.message.dropped" | "transport.message.expired" | "transport.message.superseded" | "transport.message.debouncing" | "transport.message.debounce_reset" | "turn.started" | "turn.completed" | "turn.failed" | "progress.delivery.completed" | "progress.delivery.failed" | "progress.delivery.skipped" | "delivery.completed" | "delivery.failed";
|
|
289
|
+
name: "suggestions.delivered" | "suggestions.delivery.failed" | "suggestions.selection.rejected" | "suggestions.selection.claimed" | "runtime.created" | "runtime.evicted" | "webhook.received" | "read.completed" | "read.failed" | "typing.started" | "typing.failed" | "event.unhandled" | "event.queued" | "event.steered" | "event.rejected" | "transport.message.queued" | "transport.message.dequeued" | "transport.message.dropped" | "transport.message.expired" | "transport.message.superseded" | "transport.message.debouncing" | "transport.message.debounce_reset" | "turn.started" | "turn.completed" | "turn.failed" | "progress.delivery.completed" | "progress.delivery.failed" | "progress.delivery.skipped" | "delivery.completed" | "delivery.failed";
|
|
254
290
|
provider: ChannelProviderId;
|
|
255
291
|
threadId?: string;
|
|
256
292
|
};
|
|
257
293
|
export type ChannelAdapterFactory = (installation: ChannelInstallation) => Adapter;
|
|
258
294
|
export type ChannelStateFactory = (installation: ChannelInstallation) => StateAdapter | Promise<StateAdapter>;
|
|
259
295
|
export type ChannelRuntimeOptions = {
|
|
296
|
+
/** Explicit transport opt-in. Reserved callbacks remain guarded when disabled. */
|
|
297
|
+
suggestions?: boolean;
|
|
260
298
|
adapterFactory?: ChannelAdapterFactory;
|
|
261
299
|
concurrency?: ChannelConcurrencyPolicy;
|
|
262
300
|
coordinateEvent?: ChannelEventCoordinator;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { WhatsAppAdapter } from "@chat-adapter/whatsapp";
|
|
2
|
+
import type { ChannelSuggestionChoice } from "./types.js";
|
|
3
|
+
/** Narrow extension of the pinned official transport, which only renders 3 card buttons. */
|
|
4
|
+
export declare class SuggestionWhatsAppAdapter extends WhatsAppAdapter {
|
|
5
|
+
postSuggestionChoices(threadId: string, choices: readonly ChannelSuggestionChoice[]): Promise<import("chat").RawMessage<import("@chat-adapter/whatsapp").WhatsAppRawMessage>>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=whatsapp-suggestions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-suggestions.d.ts","sourceRoot":"","sources":["../src/whatsapp-suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,4FAA4F;AAC5F,qBAAa,yBAA0B,SAAQ,eAAe;IACtD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE;CAiB1F"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { WhatsAppAdapter } from "@chat-adapter/whatsapp";
|
|
2
|
+
/** Narrow extension of the pinned official transport, which only renders 3 card buttons. */
|
|
3
|
+
export class SuggestionWhatsAppAdapter extends WhatsAppAdapter {
|
|
4
|
+
async postSuggestionChoices(threadId, choices) {
|
|
5
|
+
if (choices.length < 1 || choices.length > 10
|
|
6
|
+
|| choices.some(choice => !choice.id || choice.id.length > 200 || !choice.label.trim())
|
|
7
|
+
|| new Set(choices.map(choice => choice.id)).size !== choices.length) {
|
|
8
|
+
throw new Error("WhatsApp suggestions require 1–10 distinct bounded choices");
|
|
9
|
+
}
|
|
10
|
+
const titles = distinctChoiceTitles(choices.map(choice => choice.label), choices.length <= 3 ? 20 : 24);
|
|
11
|
+
const rows = choices.map((choice, index) => ({ id: choice.id, title: titles[index] }));
|
|
12
|
+
const { userWaId } = this.decodeThreadId(threadId);
|
|
13
|
+
return this.sendInteractiveMessage(threadId, userWaId, choices.length <= 3 ? {
|
|
14
|
+
type: "button", body: { text: "Suggested next steps" },
|
|
15
|
+
action: { buttons: rows.map(reply => ({ type: "reply", reply })) },
|
|
16
|
+
} : {
|
|
17
|
+
type: "list", body: { text: "Suggested next steps" },
|
|
18
|
+
action: { button: "Choose a next step", sections: [{ title: "Suggestions", rows }] },
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const graphemes = new Intl.Segmenter(undefined, { granularity: "grapheme" });
|
|
23
|
+
/** Count provider characters while retaining whole graphemes, including emoji sequences. */
|
|
24
|
+
function boundedTitle(value, limit) {
|
|
25
|
+
let result = "";
|
|
26
|
+
let used = 0;
|
|
27
|
+
for (const { segment } of graphemes.segment(value)) {
|
|
28
|
+
const count = [...segment].length;
|
|
29
|
+
if (used + count > limit)
|
|
30
|
+
break;
|
|
31
|
+
result += segment;
|
|
32
|
+
used += count;
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/** Numbered suffixes disambiguate identical/truncated labels without splitting Unicode. */
|
|
37
|
+
function distinctChoiceTitles(labels, limit) {
|
|
38
|
+
const trimmed = labels.map(label => boundedTitle(label.trim().replace(/\s+/g, " "), limit) || "Next step");
|
|
39
|
+
if (new Set(trimmed).size === trimmed.length)
|
|
40
|
+
return trimmed;
|
|
41
|
+
return trimmed.map((title, index) => {
|
|
42
|
+
const suffix = ` (${index + 1})`;
|
|
43
|
+
return boundedTitle(title, limit - suffix.length) + suffix;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=whatsapp-suggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-suggestions.js","sourceRoot":"","sources":["../src/whatsapp-suggestions.ts"],"names":[],"mappings":"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"}
|