Skip to content

Restore flapii CLI & VSCode extension parity with server#78

Merged
jrosskopf merged 1 commit into
mainfrom
fix/client-parity-audit
Jun 14, 2026
Merged

Restore flapii CLI & VSCode extension parity with server#78
jrosskopf merged 1 commit into
mainfrom
fix/client-parity-audit

Conversation

@jrosskopf

Copy link
Copy Markdown
Contributor

Summary

Audit of the flapii CLI and VSCode extension against the server's ConfigService surface found one P0 breakage and several P1 gaps. This PR files and fixes them. Full findings in docs/CLIENT_PARITY_AUDIT.md.

Test plan

  • cd cli/shared && npm run build
  • cd cli && npm run build && npm test → 41/41 unit tests pass ✅
  • cd cli/vscode-extension && npm run build ✅ (exit 0) and npx tsc --noEmit → 0 errors ✅
  • Live smoke test against flapi --config-service: all six new CLI commands work; testEndpoint route returns 200 (old /test returns 404). cache audit/gc on a non-cached endpoint correctly surface the server's 400 "Cache not enabled".

Out of scope (follow-ups noted in the audit)

Single shared API client unification, an extension test suite + CI compile gate, version alignment (clients pinned 0.1.0 vs server v26.06.13), and the stale example DuckLake catalog.

- fix(vscode #75): escape nested template literals in endpointTesterPanel
  so the webview HTML literal no longer desyncs the parser; build @flapi/shared
  automatically (shared prepare + extension prebuild) so EndpointConfig types
  resolve. Extension builds and typechecks again (broken since 2025-11-02).
- feat(cli #76): add commands for server capabilities that had no CLI surface:
  health, config env, config filesystem, endpoints parameters,
  cache audit [path], cache gc.
- fix(cli #77): FlapiApiClient.testEndpoint targets the real /template/test
  route instead of the non-existent /test (would 404).
- docs: add CLIENT_PARITY_AUDIT.md documenting findings and resolution.
@jrosskopf jrosskopf merged commit d6adfb1 into main Jun 14, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant