Skip to content

feat: route functions by system version - #89

Draft
uno-ko wants to merge 1 commit into
mainfrom
agent/system-version-function-routing
Draft

feat: route functions by system version#89
uno-ko wants to merge 1 commit into
mainfrom
agent/system-version-function-routing

Conversation

@uno-ko

@uno-ko uno-ko commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Route TypeScript and Go Function registries and dispatch by (systemVersion, method).
  • Treat the /functions/:version path as authoritative, validate it against the request body, and return versionMismatch for conflicts or unsupported versions.
  • Scope Function and test-Function discovery to the requested system version with no cross-version fallback.
  • Add standalone Function version options, Extension version inheritance, version-aware auto-registration, regression tests, and synchronized Korean/English/Japanese documentation.
  • Add a minor changeset for @channel.io/app-sdk-server.

Why

When AppStore introduces a new major system contract such as v2, requests to /functions/v2 must not be silently dispatched to v1 handlers or return v1 schemas. The SDK now preserves the incoming system version through ingress, discovery, and dispatch.

Compatibility

  • Existing registrations and direct calls without a version continue to use v1.
  • The protobuf contract and /functions/:version route shape are unchanged.
  • The deprecated TypeScript simple API remains v1-only and rejects other versions explicitly.
  • Versions never fall back to handlers or schemas registered under another version.

Validation

  • make verify (includes localized docs checks)
  • ./scripts/check-public-content.sh
  • git diff --check
  • Independent code review: no Critical, Important, or Minor findings

@channeltalk

channeltalk Bot commented Aug 11, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 073c6891-5c11-4013-8260-28901c4c9019

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

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