Skip to content

fix: restore local development readiness - #76

Draft
skullcrushercmd wants to merge 1 commit into
mainfrom
fix/local-dev-readiness-2026-08-15
Draft

fix: restore local development readiness#76
skullcrushercmd wants to merge 1 commit into
mainfrom
fix/local-dev-readiness-2026-08-15

Conversation

@skullcrushercmd

Copy link
Copy Markdown
Contributor

Summary

  • restore a deterministic WSL-first local development workflow for AnyGPT
  • pin and bootstrap the ignored LibreChat checkout with its declared Node/npm versions, frozen installs, readiness locks, truthful smoke/doctor modes, and safe process-group cleanup
  • repair the Bun dependency graph for Express/ESLint/AJV, restore real wrapper execution, and fix the resulting TypeScript/lint issues without weakening lint policy
  • fix the provider error-classification predicate chain and add safe local API/frontend validation paths
  • prevent homepage/UI launchers from killing unrelated port owners, with a regression test
  • add a tracked, conflict-safe LibreChat customization patch workflow so local React/CSS/asset design changes can be carried through the outer repository

Validation

  • bash ./bun.sh install --frozen-lockfile
  • bash ./bun.sh run check
  • bash ./bun.sh run lint — 0 errors (2,864 existing warnings)
  • bash ./bun.sh run build
  • bash ./bun.sh run test — API mock/streaming/OpenAI SDK/native coverage plus homepage port-safety regression
  • direct LibreChat client tsc --noEmit
  • LibreChat full build and both dev and production-style local runtime smoke tests
  • keyless/no-provider API + homepage integration smoke
  • AnyScan cargo test --locked — 363 passed, 3 live/bench tests ignored
  • all 220 package script values parse; all 46 advertised non-service frontend modes pass
  • Bash syntax, ShellCheck error severity, git diff --check, staged secret/path/destructive-command scans, and final readiness/port audits pass

Operational notes

  • The live production server and its checkout were not accessed, modified, restarted, or deployed during this work.
  • The branch was built and tested entirely in the local Debian WSL2 clone.
  • The nested LibreChat checkout remains ignored; reusable source/design changes are captured through apps/ui/scripts/capture-customizations.sh and safely replayed by config sync.
  • LibreChat's upstream install currently reports 8 audit advisories (6 low, 2 moderate); no unsafe force-upgrade was applied.

async sendMessage(message: IMessage): Promise<ProviderResponse> {
const originalParts = Array.isArray((message as any)?.parts) ? (message as any).parts : null;
let retriedWithInlinedRemoteMedia = false;
const retriedWithInlinedRemoteMedia = false;
Comment thread apps/api/ws/realtime.ts
// WebSocket data is Buffer | ArrayBuffer | Buffer[]
// Convert to format uWS likes
let payload: any = data;
const payload: any = data;
Comment thread apps/api/routes/openai.ts
let responsesTextItemStarted = false;
let inlineCompactionItemEmitted = false;
let pendingReasoningText = '';
const pendingReasoningText = '';
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