Skip to content

Conversation

@ryoppippi
Copy link
Member

@ryoppippi ryoppippi commented Dec 12, 2025

Summary

Remove unused experimental features and internal implementation details from the public API.

What Changed

Removed exports:

  • DEFAULT_BASE_URL - Internal constant (users override via baseUrl option)
  • DEFAULT_HYBRID_ALPHA - Internal constant for meta tools search
  • Experimental_SchemaOverride - Unused type
  • Experimental_PreExecuteFunction - Unused type
  • Experimental_ToolCreationOptions - Unused interface

Removed implementation:

  • BaseTool.experimental_preExecute property and constructor parameter
  • Tools.getTool() options parameter and associated schema override logic

Why

These experimental features were implemented but never documented, tested, or used in examples. Removing them:

  • Simplifies the public API surface
  • Removes dead code
  • Makes the SDK easier to maintain

Breaking Change

This is a breaking change for any users who were importing these types/constants, though usage is expected to be minimal given they were undocumented.


Summary by cubic

Removed undocumented experimental hooks and internal constants from the public API to simplify the SDK and remove dead code. This is a breaking change for anyone importing those exports or using pre-execute/schema override options.

  • Refactors

    • Deleted exports: DEFAULT_BASE_URL, DEFAULT_HYBRID_ALPHA, Experimental_SchemaOverride, Experimental_PreExecuteFunction, Experimental_ToolCreationOptions.
    • Removed BaseTool.experimental_preExecute and related parameter processing.
    • Simplified Tools.getTool(name) to return the original tool; removed options and schema override logic.
  • Migration

    • Stop importing DEFAULT_BASE_URL and DEFAULT_HYBRID_ALPHA; set baseUrl via options instead.
    • Remove usage of Experimental_* types and any preExecute or schema override hooks.
    • Update Tools.getTool calls to no longer pass options; use the tool as-is.

Written for commit e0e7023. Summary will update automatically on new commits.

BREAKING CHANGE: Remove unused public exports from the SDK

Removed exports:
- DEFAULT_BASE_URL: Internal implementation detail, users can override
  via baseUrl option
- DEFAULT_HYBRID_ALPHA: Internal constant for meta tools search
- Experimental_SchemaOverride: Unused type for schema overrides
- Experimental_PreExecuteFunction: Unused type for pre-execute hooks
- Experimental_ToolCreationOptions: Unused interface for tool creation

Also removed the associated implementation in BaseTool and Tools.getTool()
that supported experimental_preExecute and experimental_schemaOverride
options. These features were implemented but never used in examples,
tests, or documentation.

This simplifies the public API surface and removes dead code.
Copilot AI review requested due to automatic review settings December 12, 2025 13:31
@ryoppippi ryoppippi requested a review from a team as a code owner December 12, 2025 13:31
@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 12, 2025

Open in StackBlitz

npm i https://pkg.pr.new/StackOneHQ/stackone-ai-node/@stackone/ai@221

commit: e0e7023

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes unused experimental features and internal constants from the public API to simplify the SDK's interface. The changes are breaking but affect only undocumented functionality that was never used in examples or tests.

Key changes:

  • Removed three experimental types: Experimental_SchemaOverride, Experimental_PreExecuteFunction, and Experimental_ToolCreationOptions
  • Removed two internal constants from public exports: DEFAULT_BASE_URL and DEFAULT_HYBRID_ALPHA (both remain available internally)
  • Simplified BaseTool constructor by removing experimental_preExecute parameter and the corresponding property
  • Simplified Tools.getTool() method by removing the unused options parameter and all schema override logic

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/types.ts Removes experimental type definitions for schema override, pre-execute function, and tool creation options
src/tool.ts Removes experimental pre-execute functionality from BaseTool class and simplifies getTool() to a straightforward find operation
src/index.ts Removes public exports of internal constants and experimental types while maintaining internal access

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 3 files

Copy link
Contributor

@glebedel glebedel left a comment

Choose a reason for hiding this comment

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

LGTM

@ryoppippi ryoppippi merged commit e131433 into main Dec 12, 2025
18 checks passed
@ryoppippi ryoppippi deleted the chore/cleanup-unused-exports branch December 12, 2025 13:59
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.

3 participants