You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/plugins/google-meet.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -805,6 +805,12 @@ Twilio-only config:
805
805
806
806
With `voiceCall.enabled: true` (the default) and Twilio transport, Voice Call places the DTMF sequence before opening the realtime media stream, then uses the saved intro text as the initial realtime greeting. If `voice-call` is not enabled, Google Meet can still validate and record the dial plan but cannot place the Twilio call.
807
807
808
+
Leave `voiceCall.gatewayUrl` unset to use the local trusted Gateway runtime, which preserves the
809
+
invoking agent for the full call. A configured Gateway URL remains an explicit WebSocket target and
Copy file name to clipboardExpand all lines: docs/plugins/sdk-runtime.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ summary: "api.runtime -- the injected runtime helpers available to plugins"
3
3
title: "Plugin runtime helpers"
4
4
sidebarTitle: "Runtime helpers"
5
5
read_when:
6
-
- You need to call core helpers from a plugin (TTS, STT, image gen, web search, subagent, nodes)
6
+
- You need to call core helpers from a plugin (TTS, STT, image gen, web search, Gateway, subagent, nodes)
7
7
- You want to understand what api.runtime exposes
8
8
- You are accessing config, agent, or media helpers from plugin code
9
9
---
@@ -214,6 +214,27 @@ two-party event loops that do not go through the shared inbound reply runner.
214
214
Model overrides require operator opt-in via `plugins.entries.<id>.llm.allowModelOverride: true` in config. Use `plugins.entries.<id>.llm.allowedModels` to restrict trusted plugins to specific canonical `provider/model` targets. Cross-agent completions require `plugins.entries.<id>.llm.allowAgentIdOverride: true`.
215
215
</Warning>
216
216
217
+
</Accordion>
218
+
<Accordiontitle="api.runtime.gateway">
219
+
Call another Gateway method in process while preserving the current plugin's trusted runtime
220
+
identity. This is intended for bundled or trusted official plugins that compose plugin-owned
221
+
Gateway capabilities without opening a loopback WebSocket connection.
222
+
223
+
```typescript
224
+
if (await api.runtime.gateway.isAvailable()) {
225
+
const result = await api.runtime.gateway.request<{ callId: string }>(
226
+
"voicecall.start",
227
+
{ to: "+15550001234", mode: "conversation" },
228
+
{ timeoutMs: 60_000 },
229
+
);
230
+
}
231
+
```
232
+
233
+
Requests use `operator.write` scope and do not grant admin scope. Calls from arbitrary external
234
+
plugins are rejected. Failed methods throw a `GatewayClientRequestError`, preserving structured
235
+
`details`, retry metadata, and the Gateway error code for recovery flows. Use `isAvailable()`
236
+
before choosing this path from tools that can also run in standalone agent processes.
0 commit comments