Files
openclaw/extensions/zoom-meetings/openclaw.plugin.json
Peter Steinberger 129f86bbf5 feat: auto-collect durable meeting transcripts (#113122)
* feat(meetings): auto-collect durable transcripts

* chore(plugin-sdk): refresh meeting transcript API baseline

* fix(plugin-sdk): keep meeting transcript options implicit

* fix(meetings): satisfy transcript bridge typecheck

* fix(google-meet): preserve optional caption policy context

* fix(google-meet): retain caption mode callback type

* refactor(meetings): split transcript lifecycle helpers

* chore(plugin-sdk): refresh split meeting runtime baseline

* refactor(google-meet): split session helpers

* fix(meetings): decouple transcript retries from leave

* fix(meetings): isolate provider subscribers

* fix(meetings): harden capture lifecycle

* fix(meetings): preserve capture during storage outages

* fix(meetings): preserve pending transcript ordering

* fix(meetings): retry capture initialization

* test(agents): reflect default transcript registration
2026-07-23 11:41:08 -07:00

112 lines
4.2 KiB
JSON

{
"id": "zoom-meetings",
"name": "Zoom meetings",
"description": "Join Zoom meetings as a Chrome browser guest.",
"icon": "https://cdn.simpleicons.org/zoom",
"enabledByDefault": true,
"commandAliases": [{ "name": "zoommeetings" }],
"activation": {
"onStartup": true,
"onCommands": ["zoommeetings"],
"onCapabilities": ["tool"]
},
"contracts": {
"tools": ["zoom_meetings"],
"transcriptSourceProviders": ["zoom"]
},
"uiHints": {
"defaultMode": {
"label": "Default Mode",
"help": "Agent consults OpenClaw, bidi uses direct realtime voice, and transcribe observes only."
},
"chrome.browserProfile": { "label": "Chrome Profile", "advanced": true },
"chrome.guestName": { "label": "Guest Name" },
"chrome.waitForInCallMs": { "label": "Wait For In-Call (ms)", "advanced": true },
"chrome.audioInputCommand": { "label": "Audio Input Command", "advanced": true },
"chrome.audioOutputCommand": { "label": "Audio Output Command", "advanced": true },
"chromeNode.node": {
"label": "Chrome Node",
"help": "Node id/name/IP that owns Chrome, BlackHole, and SoX.",
"advanced": true
},
"realtime.transcriptionProvider": { "label": "Realtime Transcription Provider" },
"realtime.voiceProvider": { "label": "Bidi Voice Provider" },
"realtime.model": { "label": "Bidi Realtime Model", "advanced": true },
"realtime.instructions": { "label": "Realtime Instructions", "advanced": true },
"realtime.introMessage": { "label": "Realtime Intro Message" },
"realtime.agentId": { "label": "Realtime Consult Agent", "advanced": true },
"realtime.toolPolicy": { "label": "Realtime Tool Policy", "advanced": true }
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"defaultMode": {
"type": "string",
"enum": ["agent", "bidi", "transcribe"],
"default": "agent"
},
"chrome": {
"type": "object",
"additionalProperties": false,
"properties": {
"audioBackend": {
"type": "string",
"enum": ["blackhole-2ch"],
"default": "blackhole-2ch"
},
"audioFormat": {
"type": "string",
"enum": ["pcm16-24khz", "g711-ulaw-8khz"],
"default": "pcm16-24khz"
},
"audioBufferBytes": { "type": "number", "minimum": 17 },
"launch": { "type": "boolean" },
"browserProfile": { "type": "string" },
"guestName": { "type": "string" },
"reuseExistingTab": { "type": "boolean" },
"autoJoin": { "type": "boolean" },
"joinTimeoutMs": { "type": "number", "minimum": 1 },
"waitForInCallMs": { "type": "number", "minimum": 1 },
"audioInputCommand": { "type": "array", "items": { "type": "string" } },
"audioOutputCommand": { "type": "array", "items": { "type": "string" } },
"bargeInInputCommand": { "type": "array", "items": { "type": "string" } },
"bargeInRmsThreshold": { "type": "number", "exclusiveMinimum": 0 },
"bargeInPeakThreshold": { "type": "number", "exclusiveMinimum": 0 },
"bargeInCooldownMs": { "type": "number", "minimum": 1 }
}
},
"chromeNode": {
"type": "object",
"additionalProperties": false,
"properties": {
"node": { "type": "string" }
}
},
"realtime": {
"type": "object",
"additionalProperties": false,
"properties": {
"strategy": { "type": "string", "enum": ["agent", "bidi"] },
"provider": { "type": "string" },
"transcriptionProvider": { "type": "string" },
"voiceProvider": { "type": "string" },
"model": { "type": "string" },
"instructions": { "type": "string" },
"introMessage": { "type": "string" },
"agentId": { "type": "string" },
"toolPolicy": {
"type": "string",
"enum": ["safe-read-only", "owner", "none"]
},
"providers": {
"type": "object",
"additionalProperties": { "type": "object" }
}
}
}
}
}
}