Merged
Conversation
…r classification, streamline cascade/interceptor, clean up synthesize 1. Remove root-level shim files (errors.ts, logger.ts, registry.ts, types.ts, utils.ts, launcher.ts) — update all ~840 adapter imports to reference src/ directly 2. Consolidate interceptor: reuse shared DISGUISE_FN in tap interceptor instead of reimplementing 3. Unify error classification: single ClassifiedError type with icon/exitCode/hint lookup table, eliminating duplicated pattern matching between resolveExitCode and renderError 4. Simplify cascade probe: replace repetitive switch cases with PROBE_OPTIONS lookup map 12. Clean up synthesize.ts: remove deprecated snake_case field aliases (recommended_args, recommended_columns, recommendedColumnsLegacy) and unnecessary constant aliases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update all documentation and skill files to reference src/ directly, matching the shim removal in the previous commit. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix imports in newly added deep-research adapter files that were still referencing the deleted root shim files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests now expect /search_result/<id> for bare note IDs (matching the note-helpers.ts change from PR #774) and updated empty-shell hint assertion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix imports in newly merged LessWrong and hupu/mentions adapter files that were still referencing the deleted root shim files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Astro-Han
added a commit
to Astro-Han/opencli
that referenced
this pull request
Apr 5, 2026
Bug 1: version.ts used a single-level parent lookup for package.json, which broke after jackwener#784 changed rootDir from "src" to "." (version.js now lives in dist/src/ instead of dist/). Walk up until package.json is found — works in both dev (src/) and prod (dist/src/). Bug 2: adapters copied to ~/.opencli/clis/ import ../../src/registry.js etc., which resolves to ~/.opencli/src/. Derive src/ compat shims from the existing rootShims list so these imports resolve correctly.
This was referenced Apr 5, 2026
jackwener
pushed a commit
that referenced
this pull request
Apr 5, 2026
Bug 1: version.ts used a single-level parent lookup for package.json, which broke after #784 changed rootDir from "src" to "." (version.js now lives in dist/src/ instead of dist/). Walk up until package.json is found — works in both dev (src/) and prod (dist/src/). Bug 2: adapters copied to ~/.opencli/clis/ import ../../src/registry.js etc., which resolves to ~/.opencli/src/. Derive src/ compat shims from the existing rootShims list so these imports resolve correctly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
errors.ts,logger.ts,registry.ts,types.ts,utils.ts,launcher.tsfrom root. Updated ~840 adapter imports inclis/to referencesrc/directly, eliminating the indirection layer.classifyGenericErrorto return aClassifiedErrorobject with icon/exitCode/hint, eliminating duplicated pattern matching betweenresolveExitCode()andrenderError()incommanderAdapter.ts.probeEndpoint()with aPROBE_OPTIONSlookup map incascade.ts.DISGUISE_FNin tap interceptor instead of a simplified reimplementation ininterceptor.ts.recommended_args,recommended_columns,recommendedColumnsLegacy) and unnecessary constant aliases insynthesize.ts.Test plan
tsc --noEmit)🤖 Generated with Claude Code