Skip to content

feat: Add SDK parity features for Node.js migration#10

Merged
jmarbutt merged 1 commit intomainfrom
jmarbutt/sdk-parity-gaps
Jan 6, 2026
Merged

feat: Add SDK parity features for Node.js migration#10
jmarbutt merged 1 commit intomainfrom
jmarbutt/sdk-parity-gaps

Conversation

@jmarbutt
Copy link
Owner

@jmarbutt jmarbutt commented Jan 6, 2026

Summary

Implements five critical features required for CoolFocus migration from Node.js to .NET:

  • Multi-constraint concurrency (support both per-key serialization and global caps simultaneously)
  • Idempotency TTL/Period support (explicit 24h, 1h, etc. instead of implicit Inngest defaults)
  • Retry/attempt helpers (IsFinalAttempt property, MaxAttempts tracking)
  • Structured logging scopes (function_id, run_id, event_id, attempt automatically in all logs)
  • First-class onFailure handlers (companion functions triggered on inngest/function.failed)

Test plan

  • All 127 existing tests continue to pass
  • Added 20 new comprehensive tests covering all parity features
  • Manifest serialization validates correct format for all options
  • Tests verify attribute validation (no conflicting concurrency constraints, etc.)
  • Full solution builds successfully including example project

🤖 Generated with Claude Code

Implement five critical features for CoolFocus migration:
- Multi-constraint concurrency (per-key + global caps)
- Idempotency TTL/Period support
- Retry/attempt helpers (IsFinalAttempt, MaxAttempts)
- Structured logging scopes (function_id, run_id, event_id, attempt)
- First-class onFailure handlers with companion functions

All features include comprehensive tests (20 new tests added).

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@jmarbutt jmarbutt merged commit 50a99f1 into main Jan 6, 2026
2 checks passed
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.

1 participant