Files
zeekay 5c80dbf99c vscode ships a bundle with its dependencies in it
`vsce package --no-dependencies` left node_modules out of the .vsix,
while `main` was plain tsc output requiring axios, rxdb, ws and the MCP
SDK, so a clean install died on activation. scripts/build.js esbuilds
dist/extension.js and dist/mcp-server.js with every dependency inlined.
Only vscode and the native optionals stay external: onnxruntime-node,
@xenova/transformers and ws's bufferutil and utf-8-validate, each
required inside a try/catch that falls back when it is absent.

`build` is `vsce package`, writing dist/hanzo-ide.vsix, and its
prepublish typechecks and bundles, so what `build` makes is what ships
and dist/vscode reaches it. mcp-server-fixed.ts, the server that ships,
is typechecked now; it compiles clean. `package`, `build:mcp`, `watch`,
`dev`, `dev:mcp` and `start:prod` fed or ran out/, which nothing loads,
and cross-env goes with them. The two standalone servers were never in
the .vsix and are no longer built.

The bundle moves __dirname to dist/, so the chat participant finds its
icon through context.extensionUri. mcp-server.js speaks JSON-RPC on
stdout, where the tools' console.log broke the first tools/list; that
logging goes to stderr. .vscodeignore is an allowlist, the package
carries the MIT LICENSE vsce asks for, and package.json loses the
__metadata an installed copy writes.

Claude-Session: https://claude.ai/code/session_01Dc8DXc3fEQCRHUa6XWK4Ku
2026-09-29 12:50:29 -07:00

6 lines
68 B
Plaintext

**
!dist/extension.js
!dist/mcp-server.js
!images/icon.png
!LICENSE