Skip to content

Conversation

@prosdev
Copy link
Contributor

@prosdev prosdev commented Dec 24, 2025

Summary

Implements all core TypeScript type definitions for the Experience SDK.

Changes

  • Add Experience interface with targeting and content
  • Add Decision interface with reasons and trace (explainability)
  • Add Context interface for evaluation input
  • Add ExperienceConfig and RuntimeState interfaces
  • Full JSDoc documentation for all types
  • All types exported and typecheck passing

Acceptance Criteria

  • Experience interface defined
  • TargetingRules interfaces defined
  • Decision interface defined (with reasons & trace)
  • Context interface defined
  • ExperienceConfig interface defined
  • All types exported
  • pnpm typecheck passes

Closes #1

- Add Experience interface with targeting and content
- Add Decision interface with reasons and trace (explainability)
- Add Context interface for evaluation input
- Add ExperienceConfig and RuntimeState interfaces
- Full JSDoc documentation for all types
- All types exported and typecheck passing

Closes #1
- Follow sdk-kit pattern: any is intentional for public APIs
- Set noExplicitAny to 'warn' globally
- Disable for types.ts and runtime.ts (public API surfaces)
- Disable for test files
- Update documentation to explain any usage pattern
- Keep any for config values, event payloads, custom user data
@prosdev prosdev merged commit 2e21233 into main Dec 25, 2025
1 check 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.

[Phase 0] Task 1.1: Define Core TypeScript Types

2 participants