Repository navigation
0.2.0
Installer withdrawn. Please install CALL-E 0.2.2. Release notes and source tags are retained.
Changes
- Use Calls API v2 with one destination phone and a closed scalar result schema.
- Read v2 results, errors, telephone outcomes, transcripts, and separate API/Billing identifiers.
- Wait for result readiness for both Calls and Goal Runs, including final unavailable results with null result/error.
- Preserve stable caller-supplied keys and accepted IDs for retry recovery; return named Dify workflow variables alongside JSON.
- Update Goal Run request fields, catalog pagination, credential validation, and migration guidance.
Upgrade from 0.1.x
Bind each creation node's Idempotency Key to a saved upstream call-request ID. The ID may be an upstream-generated UUID; it does not need to be typed by an end user. Reuse the original value and inputs when retrying or rerunning the same call. The plugin does not infer retry intent from matching phone/task inputs or generate new keys on each invocation.
Check old region/locale hints and legacy output mappings, and rename Goal catalog cursor to after. Historical v1 Call IDs remain with their original interface. See the README migration section.
Verification
- 101 tests pass with Dify plugin SDK 0.9.0 and 0.10.2 on Python 3.12.
- Compilation, package/source equality, and private-data checks pass.
- Native Dify plugin execution verifies Calls and published Goal Run real-call results, exact replays, changed-input conflicts, process-restart recovery, and named outputs.
- The final package passes two cache-cleared Dify Cloud workflow runs against the workflow's completed real call. Creation/wait and exact replay return the original API and Billing IDs, available result, eight-turn transcript, matching metadata, and named outputs. The two runs create no new logical calls.
Package SHA-256: 19d8ebd291e436491555e984f68f5a7414d0986d70d031088eb75628f62b89b7.
Dify Community Edition installation was not tested. Goal Run real-call verification uses the native plugin runtime; Cloud verification covers Calls v2.
Live calls still require both dry_run=false and confirm_live_call=true. A timeout does not cancel or prove absence of a call. Keep saved keys, original inputs, and accepted IDs when recovering or rolling back.