Summary
The VSCode extension (cli/vscode-extension/) does not compile. npm run build (webpack) and npx tsc --noEmit both fail. The breakage is committed and traces to the last extension commit fcebf3a ("First draft of write support", 2025-11-02), so the extension has been unshippable for ~7 months.
Root causes
@flapi/shared is never built. Its package.json types points to dist/index.d.ts, but cli/shared/dist/ does not exist after npm ci (no prepare script). The extension then resolves a stale/missing type and reports TS2339: Property 'operation' does not exist on type 'EndpointConfig' (src/providers/endpointsProvider.ts:60,61,79,80) — even though operation? is declared in shared/src/lib/types.ts:52.
- Malformed template literals.
src/webview/endpointTesterPanel.ts:1942-1966 (the new renderWriteOperationResponse write-support block) uses raw backticks and ${...} inside the surrounding webview HTML template literal, instead of the escaped \`` / ${ form used everywhere else (e.g. lines 1897, 1920, 2030). This prematurely terminates the outer literal and desyncs the parser (TS1005/TS1110/TS1127`).
Fix
- Add a
prepare (build) step so @flapi/shared dist/ is always present.
- Escape the nested template literals in the write-support block.
Verify
cd cli/shared && npm run build then cd ../vscode-extension && npm ci && npm run build && npx tsc --noEmit — all succeed.
Found by docs/CLIENT_PARITY_AUDIT.md (P0).
Summary
The VSCode extension (
cli/vscode-extension/) does not compile.npm run build(webpack) andnpx tsc --noEmitboth fail. The breakage is committed and traces to the last extension commitfcebf3a("First draft of write support", 2025-11-02), so the extension has been unshippable for ~7 months.Root causes
@flapi/sharedis never built. Itspackage.jsontypespoints todist/index.d.ts, butcli/shared/dist/does not exist afternpm ci(nopreparescript). The extension then resolves a stale/missing type and reportsTS2339: Property 'operation' does not exist on type 'EndpointConfig'(src/providers/endpointsProvider.ts:60,61,79,80) — even thoughoperation?is declared inshared/src/lib/types.ts:52.src/webview/endpointTesterPanel.ts:1942-1966(the newrenderWriteOperationResponsewrite-support block) uses raw backticks and${...}inside the surrounding webview HTML template literal, instead of the escaped\`` /${form used everywhere else (e.g. lines 1897, 1920, 2030). This prematurely terminates the outer literal and desyncs the parser (TS1005/TS1110/TS1127`).Fix
prepare(build) step so@flapi/shareddist/is always present.Verify
cd cli/shared && npm run buildthencd ../vscode-extension && npm ci && npm run build && npx tsc --noEmit— all succeed.Found by docs/CLIENT_PARITY_AUDIT.md (P0).