Skip to content

fix(sdk): replace removed triggerVoid with trigger + TriggerAction.Void#773

Merged
rohitg00 merged 1 commit into
mainfrom
fix/sdk-trigger-void-removed
Jun 1, 2026
Merged

fix(sdk): replace removed triggerVoid with trigger + TriggerAction.Void#773
rohitg00 merged 1 commit into
mainfrom
fix/sdk-trigger-void-removed

Conversation

@rohitg00
Copy link
Copy Markdown
Owner

@rohitg00 rohitg00 commented Jun 1, 2026

Problem

Reported in #758. iii-sdk 0.11.2 (the pinned version) removed sdk.triggerVoid in favor of sdk.trigger({ function_id, payload, action: TriggerAction.Void() }). Nine call sites in agentmemory still used the removed API, producing:

sdk.triggerVoid is not a function

Three sites were wrapped in try/catch and logged warnings. The other six threw TypeError and broke their pipelines (image write, disk-quota cleanup, vision embeddings, session-stopped fan-out).

Sites fixed

File Sites
src/triggers/api.ts 1 (event::session::stopped)
src/triggers/events.ts 2 (mem::slot-reflect, mem::graph-extract)
src/functions/observe.ts 3 (mem::disk-size-delta x2, mem::vision-embed)
src/functions/image-quota-cleanup.ts 1 (mem::disk-size-delta)
src/functions/image-refs.ts 1 (mem::disk-size-delta)
src/functions/disk-size-manager.ts 1 (mem::image-quota-cleanup)

Each sdk.triggerVoid(name, payload) is replaced with:

sdk.trigger({
  function_id: name,
  payload,
  action: TriggerAction.Void(),
});

Added TriggerAction to the iii-sdk import in files that didn't already use it.

Tests

Tests that spied on triggerVoid updated to spy on trigger and filter calls by function_id and TriggerAction.Void() shape.

Full suite passes: 120 files / 1292 tests.

Pin

iii-sdk pin stays at 0.11.2 per current engine compatibility constraints. The migration is forward-compatible with later iii-sdk releases.

Closes #758.

Summary by CodeRabbit

  • Refactor

    • Updated internal trigger invocation patterns across multiple modules to use explicit action specifications, improving consistency.
  • Tests

    • Updated test mocks and assertions to align with the new trigger API patterns.

iii-sdk 0.11.2 removed sdk.triggerVoid in favor of
sdk.trigger({ function_id, payload, action: TriggerAction.Void() }).
Nine call sites were still using the removed API:

  src/triggers/api.ts          1 site (try/catch wrapped)
  src/triggers/events.ts       2 sites (try/catch wrapped)
  src/functions/observe.ts     3 sites
  src/functions/image-quota-cleanup.ts  1 site
  src/functions/image-refs.ts           1 site
  src/functions/disk-size-manager.ts    1 site

Six of the nine ran without try/catch and threw TypeError on every
call, breaking image lifecycle, disk-quota cleanup, vision embeddings,
and observation write paths.

Tests updated to spy on sdk.trigger with TriggerAction.Void payloads
instead of the removed triggerVoid spy.
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agentmemory Ready Ready Preview, Comment Jun 1, 2026 11:50pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8d5934b2-b729-4a97-b72b-671e38ef60bf

📥 Commits

Reviewing files that changed from the base of the PR and between fd9e3bd and bbca938.

📒 Files selected for processing (9)
  • src/functions/disk-size-manager.ts
  • src/functions/image-quota-cleanup.ts
  • src/functions/image-refs.ts
  • src/functions/observe.ts
  • src/triggers/api.ts
  • src/triggers/events.ts
  • test/multimodal.test.ts
  • test/session-end-triggers-graph.test.ts
  • test/sliding-window.test.ts
💤 Files with no reviewable changes (1)
  • test/sliding-window.test.ts

📝 Walkthrough

Walkthrough

This PR updates the agentmemory codebase to be compatible with iii-sdk v0.11.2, which removed the sdk.triggerVoid() helper method. All 9 call sites across disk management, observation, and event trigger functions are replaced with explicit sdk.trigger({ function_id, payload, action: TriggerAction.Void() }) invocations. Test mocks and assertions are updated accordingly.

Changes

Trigger API Migration to iii-sdk v0.11.2

Layer / File(s) Summary
Disk size and quota management function migrations
src/functions/disk-size-manager.ts, src/functions/image-quota-cleanup.ts, src/functions/image-refs.ts
TriggerAction is imported and triggerVoid calls are replaced with trigger + TriggerAction.Void() in quota cleanup, image deletion, and disk-delta reporting functions.
Observation function trigger migrations
src/functions/observe.ts
Two triggerVoid calls are replaced: after persisting extracted image data and in the error-handling path when cleanup deletes bytes. Both now use explicit trigger with TriggerAction.Void().
Session end and event trigger function migrations
src/triggers/api.ts, src/triggers/events.ts
Three triggerVoid calls in session-end and event handlers (session-stopped, slot-reflect, graph-extract) are replaced with trigger + TriggerAction.Void() while preserving try/catch and warning behavior.
Multimodal test suite refactoring for trigger mocks
test/multimodal.test.ts
SDK mock is updated to use trigger instead of triggerVoid; all test assertions for disk-size delta, quota cleanup, and image ref deletion are refactored to filter trigger calls by function_id and inspect payload.deltaBytes.
Session end trigger test assertions
test/session-end-triggers-graph.test.ts
Assertions for the api::session::end → event::session::stopped flow are updated to match the new trigger shape and explicitly verify TriggerAction.Void() action semantics via regex-based source inspection.
Test helper cleanup
test/sliding-window.test.ts
The triggerVoid method is removed from the mockSdk() test double.

🎯 2 (Simple) | ⏱️ ~12 minutes

🐰 The void triggers now dance with action so clear,
No more deprecated methods to fear,
Fire-and-forget with TriggerAction in sight,
Nine call sites fixed—SDK v0.11 is right! 🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: replacing sdk.triggerVoid with sdk.trigger + TriggerAction.Void across the codebase.
Linked Issues check ✅ Passed All coding requirements from issue #758 are met: 9 sdk.triggerVoid calls replaced with sdk.trigger + TriggerAction.Void, TriggerAction imports added, tests updated to verify trigger calls by function_id.
Out of Scope Changes check ✅ Passed All changes are directly scoped to fixing the iii-sdk v0.11.2 incompatibility; no unrelated modifications were introduced.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/sdk-trigger-void-removed

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rohitg00 rohitg00 merged commit a35de80 into main Jun 1, 2026
7 checks passed
@rohitg00 rohitg00 deleted the fix/sdk-trigger-void-removed branch June 1, 2026 23:56
rohitg00 added a commit that referenced this pull request Jun 2, 2026
Bump to 0.9.25 across 9 files + CHANGELOG.

Closes #778 #775 #783 (PR #791), #758 #726 (PR #773), #759 (PR #772),
#752 (PR #774), #729 (PR #780), #781 (PR #782), #753 (PR #789), #771
(PR #786), #762 (PR #764).

Files bumped:
  - package.json
  - packages/mcp/package.json
  - plugin/.claude-plugin/plugin.json
  - plugin/.codex-plugin/plugin.json
  - plugin/plugin.json
  - src/version.ts
  - src/types.ts (ExportData.version union)
  - src/functions/export-import.ts (supportedVersions Set)
  - test/export-import.test.ts (assertion)

125 test files / 1379 tests pass. npm audit (root + website): 0 vulns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sdk.triggerVoid is not a function — incompatible with iii-sdk v0.11.2 breaking change

1 participant