-
-
Notifications
You must be signed in to change notification settings - Fork 225
Conversation
realfishsam
commented
Jun 20, 2026
CI note after opening this focused #1169 fix:
- The PR itself only changes
sdks/typescript/pmxt/models.tsandsdks/typescript/tests/public-exports.test.tsto add/export theClusterSortOptiontype alias. - Local focused static check passed:
npx tsc --noEmit --skipLibCheck --moduleResolution node --target ES2020 --module commonjs sdks/typescript/pmxt/models.ts. - I verified the test is meaningful before the fix:
npm test --workspace=pmxtjs -- --runInBand tests/public-exports.test.tsfailed withModule '../index' has no exported member 'ClusterSortOption'. - After the fix, local full
public-exportsJest is blocked by missing generated SDK artifacts (../generated/src/index.js); attemptingnpm run generate --workspace=pmxtjsis blocked in this runner becausejavais not installed for openapi-generator. - Current red generated-sync checks show broad pre-existing/unrelated generator drift (
API_REFERENCE.mdsourceExchange/exchange changes, client method hosted-routing diffs, etc.) rather than drift caused by this type alias. I am keeping this PR scoped instead of folding that broad generator churn into a small TS public type export fix.
realfishsam
commented
Jun 20, 2026
PR Review: PASS (NOT VERIFIED)
What This Does
Adds ClusterSortOption as a public TypeScript SDK type alias and keeps MatchedClusterSort as an alias of it. This matters to SDK consumers who want to import the canonical cluster sort type from the package root instead of relying on the older matched-cluster-specific name.
Blast Radius
TypeScript SDK public model exports only: sdks/typescript/pmxt/models.ts and the public-export test. No sidecar exchange, router, OpenAPI schema, Python SDK, or runtime HTTP behavior is affected.
Consumer Verification
Before (base branch):
Static consumer-path check on origin/main showed no export type ClusterSortOption; MatchedClusterSort was defined directly as 'volume' | 'confidence'.
// origin/main, sdks/typescript/pmxt/models.ts export type MatchedClusterSort = 'volume' | 'confidence';
A consumer import such as import type { ClusterSortOption } from 'pmxtjs' would not have a public type to resolve.
After (PR branch):
Static consumer-path check on pr-1171 showed ClusterSortOption is exported and MatchedClusterSort aliases it, so both names share the same literal union.
export type ClusterSortOption = 'volume' | 'confidence'; export type MatchedClusterSort = ClusterSortOption;
Test Results
- Build: NOT VERIFIED —
npm run build --workspace=pmxtjsis blocked in this checkout by missing generated SDK artifacts:Cannot find module '../generated/src/index.js'frompmxt/client.tsandpmxt/server-manager.ts. - Unit tests: NOT VERIFIED — targeted
npm test --workspace=pmxtjs -- --runTestsByPath tests/public-exports.test.tshits the same missing../generated/src/index.jsartifact before executing tests. - Server starts: N/A — type-export-only SDK change.
- E2E smoke: N/A — no sidecar API behavior changed.
Findings
No blocking findings.
PMXT Pipeline Check
- Field propagation (3-layer): N/A
- OpenAPI sync: N/A
- Financial precision: N/A
- Type safety: OK — alias preserves the existing
'volume' | 'confidence'union and keepsMatchedClusterSortbackward-compatible. - Auth safety: N/A
Semver Impact
patch -- public type export/backward-compatible alias fix.
Risk
I could not run the TypeScript package build or public-export Jest test in this review environment because generated SDK artifacts are absent, so this is verified by static source inspection rather than a compiled package import.
Summary
ClusterSortOptionfrom the TypeScript SDK models to match the Python SDK's canonical cluster sort type.MatchedClusterSortas an alias ofClusterSortOptionfor existing callers.Fixes #1169
Test Plan
npm test --workspace=pmxtjs -- --runInBand tests/public-exports.test.tsfailed withModule '../index' has no exported member 'ClusterSortOption'.npx tsc --noEmit --skipLibCheck --moduleResolution node --target ES2020 --module commonjs sdks/typescript/pmxt/models.ts../generated/src/index.js). Attemptednpm run generate --workspace=pmxtjs, but this runner lacksjavafor openapi-generator.