{"_id":"@ank1015/llm-server","_rev":"3-8ac3e8419d3cea483aae376cd8d5b122","name":"@ank1015/llm-server","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.3":{"name":"@ank1015/llm-server","version":"0.0.3","keywords":["llm","server","hono","agents","sessions","skills","typescript","node"],"license":"MIT","_id":"@ank1015/llm-server@0.0.3","maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"homepage":"https://github.com/ank1015/llm/tree/main/packages/server","bugs":{"url":"https://github.com/ank1015/llm/issues"},"dist":{"shasum":"0270e9ede9baac482a3402dfc6d3f3dc431d01a3","tarball":"https://registry.npmjs.org/@ank1015/llm-server/-/llm-server-0.0.3.tgz","fileCount":206,"integrity":"sha512-DmH4uocBqPKzvdbQRwefLehBCFBWiHhlSpRqTNzOHN+tVOLx+vgTVTxuN4QttqyQz8XpkVbAKBYJZvG/ellM2w==","signatures":[{"sig":"MEYCIQDoVN1zp9eBH/w0m5/9fkLmjUAau6+OUDWn+Fkf6XQ+JgIhAPGSO8Dcz9UiA8+wFxoCuD11KDTYu53sSlc+HLx5kl2d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":745013},"main":"./dist/index.js","type":"module","_from":"file:/tmp/ank1015-llm-server-0.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","default":"./dist/server.js"},"./contracts":{"types":"./dist/contracts/index.d.ts","import":"./dist/contracts/index.js","default":"./dist/contracts/index.js"}},"scripts":{"dev":"sh -c 'tsc && tsc --watch --preserveWatchOutput & TSC_PID=$!; trap \"kill $TSC_PID\" EXIT; node --watch dist/server.js'","lint":"eslint src tests vitest.config.ts","test":"pnpm run test:unit && pnpm run test:integration","build":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo && tsc","clean":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo","start":"node dist/server.js","test:live":"vitest run tests/live","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test-skill":"pnpm run build && node dist/test-skill.js","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"},"_resolved":"/tmp/ank1015-llm-server-0.0.3.tgz","_integrity":"sha512-DmH4uocBqPKzvdbQRwefLehBCFBWiHhlSpRqTNzOHN+tVOLx+vgTVTxuN4QttqyQz8XpkVbAKBYJZvG/ellM2w==","repository":{"url":"git+https://github.com/ank1015/llm.git","type":"git","directory":"packages/server"},"_npmVersion":"11.6.2","description":"Node-only Hono orchestration server for projects, artifact directories, agent sessions, and installable skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.20.0","hono":"^4.7.6","node-pty":"^1.1.0","@ank1015/llm-sdk":"^0.0.5","@ank1015/llm-core":"^0.0.6","@hono/node-server":"^1.14.1","@sinclair/typebox":"^0.34.48","@ank1015/llm-agents":"^0.0.8","@anthropic-ai/claude-agent-sdk":"^0.2.42"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/ws":"^8.18.1","@types/node":"^25.2.3","@vitest/coverage-v8":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/llm-server_0.0.3_1776265841728_0.43904850795620587","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ank1015/llm-server","version":"0.0.4","keywords":["llm","server","hono","agents","sessions","skills","typescript","node"],"license":"MIT","_id":"@ank1015/llm-server@0.0.4","maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"homepage":"https://github.com/ank1015/llm/tree/main/packages/server","bugs":{"url":"https://github.com/ank1015/llm/issues"},"dist":{"shasum":"1efe9aa5aa5b91cc321f875f88b358da33ca5cba","tarball":"https://registry.npmjs.org/@ank1015/llm-server/-/llm-server-0.0.4.tgz","fileCount":206,"integrity":"sha512-je04hz3wK/0NI5BPze6sNjIoTNkVZgWkhWj+0HXAhmxeZq8/HsLlNQXuYqdfyIcQWGMqhon2BlC/wUm/4zGZQg==","signatures":[{"sig":"MEYCIQDzrMaTf1EV9Wg7jKC+QpXASSAdfOclKRtVmGYK6MdJCgIhAJ72PrO/tr64AwrRUCXKzyDTUqNzl7SJ692HTdrnyBfz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750379},"main":"./dist/index.js","type":"module","_from":"file:/tmp/llm-server-fix-pack/ank1015-llm-server-0.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","default":"./dist/server.js"},"./contracts":{"types":"./dist/contracts/index.d.ts","import":"./dist/contracts/index.js","default":"./dist/contracts/index.js"}},"scripts":{"dev":"node scripts/dev.mjs","lint":"eslint src tests vitest.config.ts","test":"pnpm run test:unit && pnpm run test:integration","build":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo && tsc","clean":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo","start":"node dist/server.js","test:live":"vitest run tests/live","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test-skill":"pnpm run build && node dist/test-skill.js","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"},"_resolved":"/tmp/llm-server-fix-pack/ank1015-llm-server-0.0.4.tgz","_integrity":"sha512-je04hz3wK/0NI5BPze6sNjIoTNkVZgWkhWj+0HXAhmxeZq8/HsLlNQXuYqdfyIcQWGMqhon2BlC/wUm/4zGZQg==","repository":{"url":"git+https://github.com/ank1015/llm.git","type":"git","directory":"packages/server"},"_npmVersion":"11.6.2","description":"Node-only Hono orchestration server for projects, artifact directories, agent sessions, and installable skills","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ws":"^8.20.0","hono":"^4.7.6","node-pty":"^1.1.0","@ank1015/llm-sdk":"^0.0.6","@ank1015/llm-core":"^0.0.7","@hono/node-server":"^1.14.1","@sinclair/typebox":"^0.34.48","@ank1015/llm-agents":"^0.0.10","@anthropic-ai/claude-agent-sdk":"^0.2.42"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/ws":"^8.18.1","@types/node":"^25.2.3","@vitest/coverage-v8":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/llm-server_0.0.4_1776282814464_0.26022133840604655","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@ank1015/llm-server","version":"0.0.5","description":"Node-only Hono orchestration server for projects, artifact directories, agent sessions, and installable skills","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./contracts":{"types":"./dist/contracts/index.d.ts","import":"./dist/contracts/index.js","default":"./dist/contracts/index.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","default":"./dist/server.js"}},"keywords":["llm","server","hono","agents","sessions","skills","typescript","node"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ank1015/llm.git","directory":"packages/server"},"homepage":"https://github.com/ank1015/llm/tree/main/packages/server","bugs":{"url":"https://github.com/ank1015/llm/issues"},"publishConfig":{"access":"public"},"dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.2.42","@hono/node-server":"^1.14.1","@sinclair/typebox":"^0.34.48","hono":"^4.7.6","node-pty":"^1.1.0","ws":"^8.20.0","@ank1015/llm-agents":"^0.0.10","@ank1015/llm-sdk":"^0.0.7","@ank1015/llm-core":"^0.0.8"},"devDependencies":{"@types/node":"^25.2.3","@types/ws":"^8.18.1","@vitest/coverage-v8":"^2.1.0","vitest":"^2.1.0"},"scripts":{"build":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo && tsc","dev":"node scripts/dev.mjs","start":"node dist/server.js","test-skill":"pnpm run build && node dist/test-skill.js","test":"pnpm run test:unit && pnpm run test:integration","test:watch":"vitest","test:unit":"vitest run tests/unit","test:integration":"vitest run tests/integration","test:live":"vitest run tests/live","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","lint":"eslint src tests vitest.config.ts","clean":"node ../../scripts/remove-paths.mjs dist coverage --tsbuildinfo"},"_id":"@ank1015/llm-server@0.0.5","_integrity":"sha512-kRq5sPzWu0SGmeHyrnqLZ3/H/fmNOXtn51xO8I7CDjTRxLbz/VWb8KZkqx/TWQvBAiSzdVImkQllHQnqtcP4yw==","_resolved":"/private/var/folders/1n/t7lbn2t179zg_xjbmn62ypmr0000gn/T/9a211e72b9985403f17160c1ea65b3e2/ank1015-llm-server-0.0.5.tgz","_from":"file:ank1015-llm-server-0.0.5.tgz","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-kRq5sPzWu0SGmeHyrnqLZ3/H/fmNOXtn51xO8I7CDjTRxLbz/VWb8KZkqx/TWQvBAiSzdVImkQllHQnqtcP4yw==","shasum":"46ff2119a046b3ba644d4f01255764c2476392e9","tarball":"https://registry.npmjs.org/@ank1015/llm-server/-/llm-server-0.0.5.tgz","fileCount":198,"unpackedSize":726972,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCY/+Q/Px17oIvc5UcwECX6laN+IdVIb6Am71BxWSfYTwIgRpnFN0chO0irvwR3j4oDmPM9F59ueEQedGshQ2FeoLo="}]},"_npmUser":{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"},"directories":{},"maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/llm-server_0.0.5_1776332320196_0.6217688140657096"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T15:10:41.659Z","modified":"2026-04-16T09:38:40.489Z","0.0.3":"2026-04-15T15:10:41.970Z","0.0.4":"2026-04-15T19:53:34.656Z","0.0.5":"2026-04-16T09:38:40.361Z"},"bugs":{"url":"https://github.com/ank1015/llm/issues"},"license":"MIT","homepage":"https://github.com/ank1015/llm/tree/main/packages/server","keywords":["llm","server","hono","agents","sessions","skills","typescript","node"],"repository":{"type":"git","url":"git+https://github.com/ank1015/llm.git","directory":"packages/server"},"description":"Node-only Hono orchestration server for projects, artifact directories, agent sessions, and installable skills","maintainers":[{"name":"ananya150","email":"ananyakhandelwal60@gmail.com"}],"readme":"# @ank1015/llm-server\n\nPublished Node package for the monorepo's Hono backend, project storage model, session orchestration, terminal transport, and installable-skill APIs.\n\n## Status\n\nThis package is published as `@ank1015/llm-server` and is also consumed by the `npx @ank1015/llm` launcher.\n\nIt is the main backend for the repo's app clients and local session workflows. When run through `npx @ank1015/llm`, the public app and API share the launcher's port (`3210` by default), while the Hono server process runs on a private internal port selected by the launcher.\n\n## Commands\n\n```bash\npnpm --filter @ank1015/llm-server build\npnpm --filter @ank1015/llm-server typecheck\npnpm --filter @ank1015/llm-server lint\npnpm --filter @ank1015/llm-server test\npnpm --filter @ank1015/llm-server test:unit\npnpm --filter @ank1015/llm-server test:integration\npnpm --filter @ank1015/llm-server test:live\npnpm --filter @ank1015/llm-server dev\npnpm --filter @ank1015/llm-server start\npnpm --filter @ank1015/llm-server test-skill -- --prompt \"Open the target page\"\n```\n\n## What It Contains\n\n- Hono route modules for projects, artifact directories, checkpoints, keys, models, sessions, skills, and terminal APIs\n- Core services for project/artifact lookup, SDK-backed session persistence, compaction sidecars, and terminal registry state\n- HTTP and WebSocket server wiring used by the local desktop and web-facing flows\n- Package-local TypeBox contracts and DTOs for the server boundary\n\n## Runtime Defaults\n\nStandalone `pnpm --filter @ank1015/llm-server start` / `node dist/server.js` defaults:\n\n- `HOST` defaults to `127.0.0.1`\n- `PORT` defaults to `8001`\n- `projectsRoot` defaults to `~/projects`\n- `dataRoot` defaults to `~/.llm/projects`\n\nRepo-local callers can override filesystem paths through the internal config module before starting the app or tests.\n\nPackaged `npx @ank1015/llm` defaults:\n\n- public web and API origin: `http://127.0.0.1:3210`\n- override with `llm --host <host> --port <port>`\n- API requests should use same-origin `/api` routes from the web app instead of assuming `8001`\n\n## Module Map\n\n- `src/app.ts` - Hono app construction and route mounting\n- `src/http-server.ts` - Node HTTP server and terminal WebSocket upgrade handling\n- `src/server.ts` - local process entrypoint using `HOST` and `PORT`\n- `src/routes/` - package HTTP route handlers grouped by resource family\n- `src/core/project/` - project metadata and workspace lookup\n- `src/core/artifact-dir/` - artifact directory metadata, skill helpers, and temp workspace helpers\n- `src/core/session/` - session storage, prompt execution, live run registry, compaction, and context reframing\n- `src/core/terminal/` - terminal registry and PTY helpers\n- `src/test-skill.ts` - standalone CLI that runs the server agent prompt/tools with appended Chrome docs and exports a Markdown transcript\n- `src/contracts/` - route request and response schemas\n- `src/types/` - server-local DTO and model types\n- `docs/` - package-facing backend notes\n\n## Docs\n\n- `docs/architecture.md` - backend module map and storage layout\n- `docs/configuration.md` - runtime host, port, and filesystem configuration\n- `docs/testing.md` - unit, integration, and live test guidance\n\n## Notes\n\n- The package is Node-only and requires local filesystem and subprocess access.\n- Terminal sessions use `node-pty`; the package includes a Python 3 PTY fallback on Unix-like hosts for specific `posix_spawn` failures.\n- Claude credential reload creates a temporary executable wrapper: `.cmd` on Windows, POSIX `sh` elsewhere.\n- `test-skill` accepts `--prompt`, optional `--cwd`, and optional `--output`, then writes a conversation-style Markdown transcript after the run finishes.\n","readmeFilename":"README.md"}