Skip to content

Update docs and type generation for better clarity#127

Merged
kfirstri merged 4 commits intomainfrom
update-type-registry-docs
Feb 16, 2026
Merged

Update docs and type generation for better clarity#127
kfirstri merged 4 commits intomainfrom
update-type-registry-docs

Conversation

@wixysam
Copy link
Collaborator

@wixysam wixysam commented Feb 16, 2026

Summary

  • Add "Generated Types" sections to SDK interfaces (entities, functions, agents)
  • Improve JSDoc comments for type registries and helper types
  • Clean up method signatures and remove redundant Type Parameters sections
  • Simplify field-selection generics in entity methods for better readability

Changes

Documentation improvements:

  • Added "Generated Types" sections to EntitiesModule, FunctionsModule, and AgentsModule
  • Enhanced JSDoc for EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry
  • Added examples showing how to use EntityRecord type
  • Improved clarity of AgentName and FunctionName type documentation

Type generation cleanup:

  • Remove redundant Type Parameters sections from generated docs
  • Simplify field-selection generics (K extends keyof T) in signatures
  • Fix truncated generic types in Pick<T, K> displays
  • Clean up broken function-return-type patterns
  • Better handling of EntityRecord mapped types

Made with Cursor

- Add Generated Types sections to SDK interfaces
- Improve JSDoc comments for type registries
- Clean up signatures and remove redundant Type Parameters sections
- Simplify field-selection generics in entity methods

Co-authored-by: Cursor <[email protected]>
@claude
Copy link

claude bot commented Feb 16, 2026

Claude finished @wixysam's task —— View job


Code Review

  • Analyze code quality and best practices
  • Check for potential bugs or issues
  • Evaluate performance considerations
  • Review security concerns
  • Assess test coverage needs

Review Summary

This PR improves the documentation generation and TypeScript type registry system for the Base44 SDK. The changes enhance documentation clarity and type safety for SDK consumers. Overall, the changes are well-implemented with thoughtful improvements to the developer experience.

Code Quality and Best Practices ✅

Documentation Improvements

  • Excellent JSDoc enhancements: The added documentation for EntityTypeRegistry, FunctionNameRegistry, and AgentNameRegistry clearly explains their purpose and relationship to the type generation command.
  • Clear examples: Added practical TypeScript examples showing how to use EntityRecord type for combining schemas with server fields (entities.types.ts:110-128).
  • "Generated Types" sections: Good addition to guide users to the type generation feature across all modules.

Type Generation Script Improvements

  • Well-organized cleanup functions: The signature cleanup logic (file-processing.js:777-1013) is comprehensive and handles edge cases like truncated generics and multi-line signatures.
  • Good use of regex patterns: Complex patterns are documented with explanations of what they match.
  • Modular approach: Functions are well-separated by concern (signature cleanup, heading demotion, type linking).

Potential Issues 🔍

1. Regex Complexity

The file-processing script uses many complex regex patterns that could be fragile:

// file-processing.js:132-135
const typeDefinitionRegex = /^> \*\*\w+\*\* = `\w+` & `\w+`\s*$/m;

Recommendation: Add unit tests for these regex patterns to ensure they handle edge cases correctly.

2. Hard-coded Type Names

Some type cleanup logic has hard-coded assumptions:

// file-processing.js:1220-1223
function deleteTypesAfterProcessing(docsDir) {
  let typesToDelete = new Set();
  // Types are hard-coded in types-to-delete-after-processing.json

Consider: Making this more dynamic or configurable to avoid maintenance burden.

3. Missing Error Boundaries

The post-processing script could fail silently in some cases:

// file-processing.js:746-754
try {
  fs.unlinkSync(appendPath);
  console.log(`Appended ${effectiveAppendKey}${foundExtension} -> ${effectiveHostKey}.mdx`);
} catch (e) {
  console.warn(`Warning: Unable to remove appended article ${effectiveAppendKey}${foundExtension}`);
}

Recommendation: Consider adding a --strict mode that fails on warnings for CI builds.

Performance Considerations ⚡

1. File I/O Operations

The post-processing script performs many synchronous file operations:

// Multiple fs.readFileSync and fs.writeFileSync calls

Suggestion: Consider using async file operations with Promise.all for better performance on large documentation sets.

2. Regex Performance

Some regex patterns with backtracking could be slow on large files:

// file-processing.js:805
content = content.replace(/\(\.\.\.\)\[\(\.\.\.\)\]\s*&\s*ServerEntityFields/g, ...);

Recommendation: Profile the script on large documentation sets to identify bottlenecks.

Security Considerations 🔒

No significant security issues found. The changes are documentation-focused and don't introduce new runtime code that handles user input.

Test Coverage 🧪

Missing Tests

  • No tests for documentation generation scripts: The complex regex patterns and file processing logic in file-processing.js should have unit tests.
  • No tests for TypeDoc plugin modifications: The return type extraction logic (typedoc-mintlify-returns.js) handles complex type resolution that would benefit from tests.

Recommendations for Testing

  1. Add unit tests for:

    • Regex pattern matching in file-processing.js
    • Type name enrichment logic (enrichTypeNameWithGenerics function)
    • File path resolution and module renaming logic
  2. Add integration tests for:

    • Full documentation generation pipeline
    • Verifying output structure matches expected format

Example test structure:

describe('Documentation Post-Processing', () => {
  it('should correctly clean up generic type signatures', () => {
    const input = '`Pick`\\<..., ...\\>';
    const expected = '`Pick`\\<`T`, `K`\\>';
    // Test the cleanup function
  });
  
  it('should handle module renames correctly', () => {
    expect(deriveModuleRename('EntitiesModule')).toBe('entities');
    expect(deriveModuleRename('AppLogsModule')).toBe('app-logs');
  });
});

Minor Suggestions 💡

  1. Consider adding TypeScript for scripts: The documentation generation scripts would benefit from TypeScript for better maintainability.

  2. Add progress indicators: For large documentation sets, progress output would help developers understand the build status.

  3. Document the post-processing pipeline: Add a README in the scripts folder explaining the documentation generation flow.

Conclusion

This PR makes valuable improvements to the SDK's documentation and type system. The changes enhance developer experience through better type safety and clearer documentation. While there are opportunities for testing and performance improvements, the code quality is good and the changes achieve their intended purpose effectively.

@github-actions
Copy link

github-actions bot commented Feb 16, 2026

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/[email protected]

Prefer not to change any import paths? Install using npm alias so your code still imports @base44/sdk:

npm i "@base44/sdk@npm:@base44-preview/[email protected]"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "@base44/sdk": "npm:@base44-preview/[email protected]"
  }
}

Preview published to npm registry — try new features instantly!

Changed from sendEmail to calculateTotal to match the invoke() function
examples for consistency.

Co-authored-by: Cursor <[email protected]>
@claude
Copy link

claude bot commented Feb 16, 2026

Claude finished @wixysam's task —— View job


Code Review

  • Analyze code quality and best practices
  • Check for potential bugs or issues
  • Evaluate performance considerations
  • Review security concerns
  • Assess test coverage needs

Review Summary

This PR improves the documentation generation and TypeScript type registry system for the Base44 SDK. The changes enhance documentation clarity and type safety for SDK consumers.

Code Quality and Best Practices ✅

Documentation Enhancements

  • Excellent JSDoc improvements: The added documentation for EntityTypeRegistry, FunctionNameRegistry, and AgentNameRegistry clearly explains their purpose and relationship to the types generate command.
  • Clear, practical examples: Added TypeScript examples showing how to use EntityRecord type for combining schemas with server fields (entities.types.ts:110-128).
  • "Generated Types" sections: Well-placed additions guide users to the type generation feature across all modules.
  • Consistent documentation pattern: All registry interfaces follow the same documentation pattern, making it easy to understand the relationship between registries and their corresponding union types.

Type Generation Script Improvements

  • Well-organized cleanup functions: The signature cleanup logic (file-processing.js:777-1013) is comprehensive with clear comments explaining each transformation.
  • Modular approach: Functions are well-separated by concern (signature cleanup, heading demotion, type linking).
  • Good handling of edge cases: The script handles various TypeDoc output formats, including truncated generics, multi-line signatures, and broken function-return patterns.

Potential Issues 🔍

1. Complex Regex Patterns

The file-processing script uses complex regex patterns that could be fragile:

// file-processing.js:806-811
content = content.replace(
  /\n> \(\): `void`\n\n<Accordion>\n\n<ResponseField name="Returns" type="void" required>\n\n<\/ResponseField>\n<\/Accordion>\n/g,
  ...
);

Recommendation: Consider adding unit tests for these regex patterns to ensure they handle edge cases correctly and don't break with TypeDoc updates.

2. Hard-coded Type Assumptions

The new types-to-delete-after-processing.json file contains hard-coded type names:

["DeleteManyResult", "DeleteResult", "ImportResult"]

Consideration: Document why these specific types need deletion and consider making this configurable or deriving it programmatically.

3. Error Handling in Type Resolution

The TypeDoc plugin's type resolution could fail silently:

// typedoc-mintlify-returns.js:78-116
function resolveTypePath(typeName, app, currentPagePath = null) {
  // Multiple file existence checks without error handling
  if (!fs.existsSync(filePath)) {
    // Silently continues to next check
  }
}

Recommendation: Add logging or a debug mode to help diagnose type resolution issues during documentation generation.

Performance Considerations ⚡

1. Synchronous File Operations

The post-processing script uses synchronous file operations which could impact performance:

// file-processing.js:1004-1007
const content = fs.readFileSync(entryPath, "utf-8");
fs.writeFileSync(entryPath, updated, "utf-8");

Suggestion: For large documentation sets, consider using async file operations with Promise.all for better performance.

2. Multiple Regex Passes

The cleanup functions make multiple passes over content:

// Each replace operation scans the entire content
content = content.replace(/\\<`K`\\>/g, "\\<`K extends keyof T`\\>");
content = content.replace(/`Pick`\\<\.\.\., \.\.\.\\>/g, "`Pick`\\<`T`, `K`\\>");

Optimization: Consider combining related regex operations into a single pass where possible.

Security Considerations 🔒

No significant security issues found. The changes are documentation-focused and don't introduce new runtime code that handles user input. All file operations work with predictable paths within the documentation directory.

Test Coverage 🧪

Missing Tests

The PR lacks tests for the new documentation generation logic:

  1. Regex pattern tests: The complex patterns in file-processing.js should have unit tests to prevent regressions.

  2. Type enrichment tests: The enrichTypeNameWithGenerics function (typedoc-mintlify-returns.js:305-315) handles complex type resolution that would benefit from tests.

  3. Integration tests: No tests verify the complete documentation generation pipeline produces the expected output.

Recommended Test Structure

describe('Documentation Post-Processing', () => {
  it('should enrich type names with generics from signatures', () => {
    const typeName = 'ImportResult';
    const signature = 'ImportResult<T>';
    expect(enrichTypeNameWithGenerics(typeName, signature))
      .toBe('ImportResult<T>');
  });
  
  it('should clean up truncated Pick types', () => {
    const input = '`Pick`\\<..., ...\\>';
    const result = cleanupSignatures(input);
    expect(result.content).toContain('`Pick`\\<`T`, `K`\\>');
  });
});

Additional Suggestions 💡

  1. Type safety for scripts: Consider migrating the documentation generation scripts to TypeScript for better maintainability and type safety.

  2. Configuration file: Create a configuration file for documentation generation settings instead of hard-coding values across multiple files.

  3. Progress reporting: Add progress indicators during documentation generation to help developers understand the build status.

  4. Documentation for the pipeline: Add a README in the scripts folder explaining how the documentation generation pipeline works.

Conclusion

This PR makes valuable improvements to the SDK's documentation and type system. The changes enhance developer experience through clearer documentation and better type generation. While there are opportunities for improving test coverage and performance, the code quality is good and achieves its intended purpose effectively.

@claude
Copy link

claude bot commented Feb 16, 2026

Claude finished @wixysam's task —— View job


Code Review

  • Read and analyze all changed files
  • Review code quality and best practices
  • Check for potential bugs or issues
  • Evaluate performance considerations
  • Review security concerns
  • Assess test coverage needs

Review Summary

This PR improves the documentation generation and TypeScript type registry system for the Base44 SDK. The changes enhance documentation clarity and type safety for SDK consumers through thoughtful improvements to JSDoc comments, type generation scripts, and documentation post-processing.

Code Quality and Best Practices ✅

Documentation Improvements

  • Excellent JSDoc enhancements: The added documentation for EntityTypeRegistry, FunctionNameRegistry, and AgentNameRegistry clearly explains their purpose and relationship to the types generate command.
  • Clear, practical examples: Added TypeScript examples showing how to use EntityRecord type for combining schemas with server fields (src/modules/entities.types.ts:110-128).
  • "Generated Types" sections: Well-placed additions guide users to the type generation feature across all modules.
  • Consistent documentation pattern: All registry interfaces follow the same documentation pattern, making it easy to understand the relationship between registries and their corresponding union types.

Type Generation Script Improvements

  • Well-organized cleanup functions: The signature cleanup logic (scripts/mintlify-post-processing/file-processing/file-processing.js:777-1013) is comprehensive with clear comments explaining each transformation.
  • Modular approach: Functions are well-separated by concern (signature cleanup, heading demotion, type linking).
  • Good handling of edge cases: The script handles various TypeDoc output formats, including truncated generics, multi-line signatures, and broken function-return patterns.

Potential Issues 🔍

1. Complex Regex Patterns

The file-processing script uses complex regex patterns that could be fragile:

// scripts/mintlify-post-processing/file-processing/file-processing.js:806-811
content = content.replace(
  /\n> \(\): `void`\n\n<Accordion>\n\n<ResponseField name="Returns" type="void" required>\n\n<\/ResponseField>\n<\/Accordion>\n/g,
  ...
);

Recommendation: Consider adding unit tests for these regex patterns to ensure they handle edge cases correctly and don't break with TypeDoc updates.

2. Hard-coded Type Assumptions

The new types-to-delete-after-processing.json file contains hard-coded type names:

["DeleteManyResult", "DeleteResult", "ImportResult"]

Consideration: Document why these specific types need deletion and consider making this configurable or deriving it programmatically. These types are exposed in types-to-expose.json but still deleted after processing, which seems contradictory.

3. Error Handling in Type Resolution

The TypeDoc plugin's type resolution could fail silently:

// scripts/mintlify-post-processing/typedoc-plugin/typedoc-mintlify-returns.js:78-116
function resolveTypePath(typeName, app, currentPagePath = null) {
  // Multiple file existence checks without error handling
  if (!fs.existsSync(filePath)) {
    // Silently continues to next check
  }
}

Recommendation: Add logging or a debug mode to help diagnose type resolution issues during documentation generation.

Performance Considerations ⚡

1. Synchronous File Operations

The post-processing script uses synchronous file operations which could impact performance:

// scripts/mintlify-post-processing/file-processing/file-processing.js:1004-1007
const content = fs.readFileSync(entryPath, "utf-8");
fs.writeFileSync(entryPath, updated, "utf-8");

Suggestion: For large documentation sets, consider using async file operations with Promise.all for better performance.

2. Multiple Regex Passes

The cleanup functions make multiple passes over content:

// Each replace operation scans the entire content
content = content.replace(/\\<`K`\\>/g, "\\<`K extends keyof T`\\>");
content = content.replace(/`Pick`\\<\.\.\., \.\.\.\\>/g, "`Pick`\\<`T`, `K`\\>");

Optimization: Consider combining related regex operations into a single pass where possible.

Security Considerations 🔒

No significant security issues found. The changes are documentation-focused and don't introduce new runtime code that handles user input. All file operations work with predictable paths within the documentation directory.

Test Coverage 🧪

Missing Tests

The PR lacks tests for the new documentation generation logic:

  1. Regex pattern tests: The complex patterns in file-processing.js should have unit tests to prevent regressions.

  2. Type enrichment tests: The enrichTypeNameWithGenerics function (scripts/mintlify-post-processing/typedoc-plugin/typedoc-mintlify-returns.js:305-315) handles complex type resolution that would benefit from tests.

  3. Integration tests: No tests verify the complete documentation generation pipeline produces the expected output.

Recommended Test Structure

describe('Documentation Post-Processing', () => {
  it('should enrich type names with generics from signatures', () => {
    const typeName = 'ImportResult';
    const signature = 'ImportResult<T>';
    expect(enrichTypeNameWithGenerics(typeName, signature))
      .toBe('ImportResult<T>');
  });
  
  it('should clean up truncated Pick types', () => {
    const input = '`Pick`\\<..., ...\\>';
    const result = cleanupSignatures(input);
    expect(result.content).toContain('`Pick`\\<`T`, `K`\\>');
  });
  
  it('should handle module renames correctly', () => {
    expect(deriveModuleRename('EntitiesModule')).toBe('entities');
    expect(deriveModuleRename('AppLogsModule')).toBe('app-logs');
  });
});

Additional Suggestions 💡

  1. Type safety for scripts: Consider migrating the documentation generation scripts to TypeScript for better maintainability and type safety.

  2. Configuration file: Create a configuration file for documentation generation settings instead of hard-coding values across multiple files.

  3. Progress reporting: Add progress indicators during documentation generation to help developers understand the build status.

  4. Documentation for the pipeline: Add a README in the scripts folder explaining how the documentation generation pipeline works.

  5. Clarify deletion logic: The types in types-to-delete-after-processing.json are also listed in types-to-expose.json, which seems contradictory. Consider documenting the reasoning or refactoring this logic.

Conclusion

This PR makes valuable improvements to the SDK's documentation and type system. The changes enhance developer experience through clearer documentation and better type generation. While there are opportunities for improving test coverage and performance, the code quality is good and achieves its intended purpose effectively. The thoughtful improvements to JSDoc comments and type generation will significantly benefit SDK consumers working with TypeScript.

Copy link
Contributor

@kfirstri kfirstri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we also support connectors now.. maybe we should add to this PR?

- Fix all module JSDoc links to reference /dynamic-types instead of /generated-types
- Remove bad import example from EntityRecord JSDoc (don't import from @base44/.types/types)
- Add connectors to type generation documentation following the pattern for entities/functions/agents
- Update ConnectorIntegrationTypeRegistry and ConnectorIntegrationType JSDoc to match other registries
- Add Dynamic Types section to ConnectorsModule JSDoc

Addresses PR feedback from kfirstri on PR #127.

Co-authored-by: Cursor <[email protected]>
@claude
Copy link

claude bot commented Feb 16, 2026

Claude finished @wixysam's task —— View job


Code Review

  • Read and analyze all changed files
  • Review code quality and best practices
  • Check for potential bugs or issues
  • Evaluate performance considerations
  • Review security concerns
  • Assess test coverage needs
  • Address existing review comments

Review Summary

This PR improves the documentation generation and TypeScript type registry system for the Base44 SDK. The changes enhance documentation clarity and type safety for SDK consumers through thoughtful improvements to JSDoc comments, type generation scripts, and documentation post-processing.

Code Quality and Best Practices ✅

Documentation Improvements

  • Excellent JSDoc enhancements: The added documentation for EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, and ConnectorIntegrationTypeRegistry clearly explains their purpose and relationship to the types generate command.
  • Clear, practical examples: Added TypeScript examples showing how to use generated types (EntityRecord, FunctionName, AgentName, ConnectorIntegrationType) with autocomplete benefits.
  • "Generated Types" sections: Well-placed additions guide users to the type generation feature across all modules.
  • Consistent documentation pattern: All registry interfaces follow the same documentation pattern, making it easy to understand the relationship between registries and their corresponding union types.

Type Generation Script Improvements

  • Well-organized cleanup functions: The signature cleanup logic (scripts/mintlify-post-processing/file-processing/file-processing.js:777-1013) is comprehensive with clear comments explaining each transformation.
  • Modular approach: Functions are well-separated by concern (signature cleanup, heading demotion, type linking).
  • Good handling of edge cases: The script handles various TypeDoc output formats, including truncated generics, multi-line signatures, and broken function-return patterns.

Potential Issues 🔍

1. Complex Regex Patterns

The file-processing script uses complex regex patterns that could be fragile:

// scripts/mintlify-post-processing/file-processing/file-processing.js:806-811
content = content.replace(
  /\n> \(\): `void`\n\n<Accordion>\n\n<ResponseField name="Returns" type="void" required>\n\n<\/ResponseField>\n<\/Accordion>\n/g,
  ...
);

Recommendation: Consider adding unit tests for these regex patterns to ensure they handle edge cases correctly and don't break with TypeDoc updates.

2. Contradictory Type Management

The types DeleteManyResult, DeleteResult, and ImportResult appear in both types-to-expose.json and types-to-delete-after-processing.json:

  • They are exported from src/index.ts
  • Listed in types-to-expose.json for documentation
  • But also marked for deletion in types-to-delete-after-processing.json

Recommendation: Clarify the intent - if these types should be documented, they shouldn't be deleted. Consider removing them from the deletion list or documenting why they need special handling.

3. Error Handling in Type Resolution

The TypeDoc plugin's type resolution could fail silently:

// scripts/mintlify-post-processing/typedoc-plugin/typedoc-mintlify-returns.js:78-116
function resolveTypePath(typeName, app, currentPagePath = null) {
  // Multiple file existence checks without error handling
  if (!fs.existsSync(filePath)) {
    // Silently continues to next check
  }
}

Recommendation: Add logging or a debug mode to help diagnose type resolution issues during documentation generation.

Performance Considerations ⚡

1. Synchronous File Operations

The post-processing script uses synchronous file operations which could impact performance:

// scripts/mintlify-post-processing/file-processing/file-processing.js:1004-1007
const content = fs.readFileSync(entryPath, "utf-8");
fs.writeFileSync(entryPath, updated, "utf-8");

Suggestion: For large documentation sets, consider using async file operations with Promise.all for better performance.

2. Multiple Regex Passes

The cleanup functions make multiple passes over content:

// Each replace operation scans the entire content
content = content.replace(/\\<`K`\\>/g, "\\<`K extends keyof T`\\>");
content = content.replace(/`Pick`\\<\.\.\., \.\.\.\\>/g, "`Pick`\\<`T`, `K`\\>");

Optimization: Consider combining related regex operations into a single pass where possible.

Security Considerations 🔒

No significant security issues found. The changes are documentation-focused and don't introduce new runtime code that handles user input. All file operations work with predictable paths within the documentation directory.

Test Coverage 🧪

Missing Tests

The PR lacks tests for the new documentation generation logic:

  1. Regex pattern tests: The complex patterns in file-processing.js should have unit tests to prevent regressions.

  2. Type enrichment tests: The enrichTypeNameWithGenerics function (scripts/mintlify-post-processing/typedoc-plugin/typedoc-mintlify-returns.js:305-315) handles complex type resolution that would benefit from tests.

  3. Integration tests: No tests verify the complete documentation generation pipeline produces the expected output.

Recommended Test Structure

describe('Documentation Post-Processing', () => {
  it('should enrich type names with generics from signatures', () => {
    const typeName = 'ImportResult';
    const signature = 'ImportResult<T>';
    expect(enrichTypeNameWithGenerics(typeName, signature))
      .toBe('ImportResult<T>');
  });
  
  it('should clean up truncated Pick types', () => {
    const input = '`Pick`\\<..., ...\\>';
    const result = cleanupSignatures(input);
    expect(result.content).toContain('`Pick`\\<`T`, `K`\\>');
  });
  
  it('should handle module renames correctly', () => {
    expect(deriveModuleRename('EntitiesModule')).toBe('entities');
    expect(deriveModuleRename('AppLogsModule')).toBe('app-logs');
  });
});

Addressing Review Comments 📝

1. Import Example in entities.types.ts

@kfirstri correctly points out that users shouldn't import from @base44/.types/types.d.ts. The example starting at line 110 should be simplified to:

// Combine your schema with server fields (id, created_date, etc.)
type TaskRecord = EntityRecord['Task'];

The import line should be removed as it's not a recommended practice.

2. Missing Connector Support

@kfirstri notes that connectors are now supported. I see that connectors.types.ts was updated with the new registry pattern and "Generated Types" section, so connector support has been included in this PR.

Additional Suggestions 💡

  1. Type safety for scripts: Consider migrating the documentation generation scripts to TypeScript for better maintainability and type safety.

  2. Configuration file: Create a configuration file for documentation generation settings instead of hard-coding values across multiple files.

  3. Progress reporting: Add progress indicators during documentation generation to help developers understand the build status.

  4. Documentation for the pipeline: Add a README in the scripts folder explaining how the documentation generation pipeline works.

  5. Clarify type deletion logic: Document why types in types-to-delete-after-processing.json need to be deleted after being exposed, or refactor this logic for clarity.

Conclusion

This PR makes valuable improvements to the SDK's documentation and type system. The changes enhance developer experience through clearer documentation and better type generation. The thoughtful improvements to JSDoc comments and type generation will significantly benefit SDK consumers working with TypeScript. While there are opportunities for improving test coverage and clarifying some design decisions, the code quality is good and achieves its intended purpose effectively.

@kfirstri kfirstri merged commit bf24f62 into main Feb 16, 2026
5 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.

2 participants