Files
pi-map/package.json
T
alex 69d3acda5d feat: M7 proper LLM integration with dual providers, caching, and parallel batching
- Add LLM client abstraction (src/llm-client.ts) with factory pattern
- Add OpenAI-compatible external client (src/external-llm-client.ts)
- Add Kimi.com client using Anthropic-based API (src/kimi-llm-client.ts)
- Add Pi native LLM stub (src/pi-llm-client.ts) for future ExtensionAPI wiring
- Add SHA-256 disk cache at ~/.cache/pi-project-map/ (src/llm-cache.ts)
- Add parallel batching with p-limit, retry + exponential backoff (src/llm-batch.ts)
- Rewrite llm-extract.ts to use real LLM calls with structured prompts
  - File-level: PURPOSE, DEPS, CONCEPTS
  - Package-level: ROLE, ARCH
  - Context truncation, 50KB skip, cache before LLM call
- Wire CLI with --llm-provider, --llm-model, --llm-base-url flags
- Update config.ts with llmProvider, llmBaseUrl fields
- Update init.ts and patch.ts to accept optional LLMClient
- Add sample project fixture for manual testing
- Add tests: llm-cache (3), llm-batch (5), llm-integration (8 with real Kimi API),
  pi-extension (14 mocked)
- All 56 tests pass
2026-06-09 22:49:34 +02:00

54 lines
1.2 KiB
JSON

{
"name": "pi-project-map",
"version": "0.1.0",
"description": "Pi skill for hierarchical project analysis — generates and maintains .pi-map.md files",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": {
"project-map": "dist/cli.js"
},
"scripts": {
"build": "tsc",
"dev": "tsc --watch",
"test": "vitest",
"lint": "eslint src/**/*.ts",
"typecheck": "tsc --noEmit"
},
"keywords": [
"pi",
"skill",
"project-analysis",
"code-intelligence",
"agent-context"
],
"author": "",
"license": "MIT",
"pi": {
"extensions": [
"./pi-extension.ts"
],
"skills": [
"./SKILL.md"
]
},
"devDependencies": {
"@types/node": "^20.0.0",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"eslint": "^8.0.0",
"tsx": "^4.22.4",
"typescript": "^5.3.0",
"vitest": "^1.0.0"
},
"dependencies": {
"ignore": "^5.3.0",
"openai": "^6.42.0",
"p-limit": "^7.3.0",
"picocolors": "^1.1.1",
"tree-sitter": "^0.21.0",
"tree-sitter-go": "^0.25.0",
"tree-sitter-python": "^0.25.0",
"tree-sitter-typescript": "^0.21.0"
}
}