Skip to content

Conversation

seansica
Copy link
Contributor

  • Add Validated base class with Zod schema integration
  • Refactor TechniqueImpl to use new architecture pattern
  • Replace interface declaration merging with schema-based approach
  • Add comprehensive relationship management with private fields
  • Include domain-specific utility methods (getAttackId, supportsPlatform, etc.)
  • Add technique-impl.example.ts demonstrating usage patterns
  • Remove TypeScript linting suppressions from implementation

This proof of concept establishes the foundation for overhauling all *Impl classes to eliminate declaration merging workarounds and improve type safety.

- Add Validated base class with Zod schema integration
- Refactor TechniqueImpl to use new architecture pattern
- Replace interface declaration merging with schema-based approach
- Add comprehensive relationship management with private fields
- Include domain-specific utility methods (getAttackId, supportsPlatform, etc.)
- Add technique-impl.example.ts demonstrating usage patterns
- Remove TypeScript linting suppressions from implementation

This proof of concept establishes the foundation for overhauling all *Impl classes
to eliminate declaration merging workarounds and improve type safety.
@seansica seansica self-assigned this Jul 21, 2025
@seansica seansica marked this pull request as draft July 21, 2025 19:01
@seansica seansica linked an issue Jul 21, 2025 that may be closed by this pull request
7 tasks
@seansica seansica removed a link to an issue Jul 21, 2025
7 tasks
@seansica seansica linked an issue Jul 21, 2025 that may be closed by this pull request
7 tasks
- Rename DataSourceOptions → ContentOriginOptions
- Rename DataSourceRegistration → ContentOriginRegistration
- Rename registerDataSource() → registerContentOrigin()
- Rename DataSourceMap → ContentOriginMap
- Rename dataSources variable → contentOrigins
- Change 'attack' source option to 'mitre' for clarity
- Update all documentation in README.md, docs/, and docusaurus/docs/
- Update error messages and comments throughout codebase

BREAKING CHANGE: API functions and types have been renamed. Update imports to use
ContentOriginRegistration and registerContentOrigin instead of DataSourceRegistration and
registerDataSource. Change source: 'attack' to source: 'mitre' in configurations.
- Refinements have been moved from @/refinements to @/schemas/refinements
- Update downstream references accordingly
- Generator has been moved to the utils sub-package
- Update downstream references accordingly
- Update test modules in test/documentation
- Update references to content origin (from data source)
- Update import paths
- Fix some small type hinting issues
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.

Overhaul ES6 Class Implementations
1 participant