@polpo-ai/channels 0.15.120 → 0.15.121

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.
Files changed (2) hide show
  1. package/README.md +17 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -223,7 +223,18 @@ const handleTurn = createConversationChannelTurnHandler(serverDeps, {
223
223
  resolveInvocation: async (turn) => {
224
224
  const resolution = await resolveApplicationIdentity(turn);
225
225
  if (resolution.kind === "pairing") {
226
- return { disposition: "consume", reply: resolution.reply };
226
+ return {
227
+ disposition: "consume",
228
+ presentation: {
229
+ text: resolution.reply,
230
+ actions: [{
231
+ id: "open-builder",
232
+ label: "Open builder",
233
+ type: "open_url",
234
+ url: resolution.builderUrl,
235
+ }],
236
+ },
237
+ };
227
238
  }
228
239
  return {
229
240
  disposition: "dispatch",
@@ -238,6 +249,11 @@ const handleTurn = createConversationChannelTurnHandler(serverDeps, {
238
249
  });
239
250
  ```
240
251
 
252
+ A consumed turn may use the legacy text-only `reply` or a provider-neutral
253
+ `presentation`, but never both. Presentations are validated before delivery,
254
+ do not create a Session or invoke a model, and support the same `open_url` and
255
+ `postback` actions as Project Loop results.
256
+
241
257
  ### Channel tool policy
242
258
 
243
259
  Channel turns can narrow the agent's tool ceiling at two levels. Configure
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polpo-ai/channels",
3
- "version": "0.15.120",
3
+ "version": "0.15.121",
4
4
  "description": "Provider-neutral messaging channels for the Polpo runtime, powered by Vercel Chat SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",