micro-models-agent 0.6.4 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +286 -436
- package/dist/main.js +11706 -0
- package/dist/skills/builtin/git.md +36 -0
- package/dist/skills/builtin/typescript.md +35 -0
- package/package.json +41 -47
- package/dist/agent/context.d.ts +0 -73
- package/dist/agent/context.d.ts.map +0 -1
- package/dist/agent/context.js +0 -262
- package/dist/agent/context.js.map +0 -1
- package/dist/agent/error-escalation.d.ts +0 -19
- package/dist/agent/error-escalation.d.ts.map +0 -1
- package/dist/agent/error-escalation.js +0 -168
- package/dist/agent/error-escalation.js.map +0 -1
- package/dist/agent/loop.d.ts +0 -46
- package/dist/agent/loop.d.ts.map +0 -1
- package/dist/agent/loop.js +0 -1043
- package/dist/agent/loop.js.map +0 -1
- package/dist/agent/memory.d.ts +0 -40
- package/dist/agent/memory.d.ts.map +0 -1
- package/dist/agent/memory.js +0 -231
- package/dist/agent/memory.js.map +0 -1
- package/dist/agent/modes/applier.d.ts +0 -43
- package/dist/agent/modes/applier.d.ts.map +0 -1
- package/dist/agent/modes/applier.js +0 -30
- package/dist/agent/modes/applier.js.map +0 -1
- package/dist/agent/modes/registry.d.ts +0 -35
- package/dist/agent/modes/registry.d.ts.map +0 -1
- package/dist/agent/modes/registry.js +0 -169
- package/dist/agent/modes/registry.js.map +0 -1
- package/dist/agent/modes/types.d.ts +0 -61
- package/dist/agent/modes/types.d.ts.map +0 -1
- package/dist/agent/modes/types.js +0 -13
- package/dist/agent/modes/types.js.map +0 -1
- package/dist/agent/react-loop.d.ts +0 -65
- package/dist/agent/react-loop.d.ts.map +0 -1
- package/dist/agent/react-loop.js +0 -101
- package/dist/agent/react-loop.js.map +0 -1
- package/dist/agent/system-prompt.d.ts +0 -26
- package/dist/agent/system-prompt.d.ts.map +0 -1
- package/dist/agent/system-prompt.js +0 -478
- package/dist/agent/system-prompt.js.map +0 -1
- package/dist/agent/tool-executor.d.ts +0 -36
- package/dist/agent/tool-executor.d.ts.map +0 -1
- package/dist/agent/tool-executor.js +0 -346
- package/dist/agent/tool-executor.js.map +0 -1
- package/dist/agent/user-profile.d.ts +0 -26
- package/dist/agent/user-profile.d.ts.map +0 -1
- package/dist/agent/user-profile.js +0 -169
- package/dist/agent/user-profile.js.map +0 -1
- package/dist/agent/write-enforcer.d.ts +0 -7
- package/dist/agent/write-enforcer.d.ts.map +0 -1
- package/dist/agent/write-enforcer.js +0 -8
- package/dist/agent/write-enforcer.js.map +0 -1
- package/dist/cli/config.d.ts +0 -13
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js +0 -82
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/model.d.ts +0 -13
- package/dist/cli/model.d.ts.map +0 -1
- package/dist/cli/model.js +0 -170
- package/dist/cli/model.js.map +0 -1
- package/dist/cli/provider.d.ts +0 -12
- package/dist/cli/provider.d.ts.map +0 -1
- package/dist/cli/provider.js +0 -90
- package/dist/cli/provider.js.map +0 -1
- package/dist/cli/update.d.ts +0 -12
- package/dist/cli/update.d.ts.map +0 -1
- package/dist/cli/update.js +0 -69
- package/dist/cli/update.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -310
- package/dist/cli.js.map +0 -1
- package/dist/config/config.d.ts +0 -59
- package/dist/config/config.d.ts.map +0 -1
- package/dist/config/config.js +0 -232
- package/dist/config/config.js.map +0 -1
- package/dist/config/types.d.ts +0 -122
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -13
- package/dist/config/types.js.map +0 -1
- package/dist/file-loader.d.ts +0 -20
- package/dist/file-loader.d.ts.map +0 -1
- package/dist/file-loader.js +0 -121
- package/dist/file-loader.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/indexer/cache.d.ts +0 -34
- package/dist/indexer/cache.d.ts.map +0 -1
- package/dist/indexer/cache.js +0 -221
- package/dist/indexer/cache.js.map +0 -1
- package/dist/indexer/code-index.d.ts +0 -27
- package/dist/indexer/code-index.d.ts.map +0 -1
- package/dist/indexer/code-index.js +0 -219
- package/dist/indexer/code-index.js.map +0 -1
- package/dist/indexer/project-map.d.ts +0 -23
- package/dist/indexer/project-map.d.ts.map +0 -1
- package/dist/indexer/project-map.js +0 -264
- package/dist/indexer/project-map.js.map +0 -1
- package/dist/llm/lmstudio-native.d.ts +0 -10
- package/dist/llm/lmstudio-native.d.ts.map +0 -1
- package/dist/llm/lmstudio-native.js +0 -179
- package/dist/llm/lmstudio-native.js.map +0 -1
- package/dist/llm/openai-compat.d.ts +0 -11
- package/dist/llm/openai-compat.d.ts.map +0 -1
- package/dist/llm/openai-compat.js +0 -161
- package/dist/llm/openai-compat.js.map +0 -1
- package/dist/llm/provider.d.ts +0 -46
- package/dist/llm/provider.d.ts.map +0 -1
- package/dist/llm/provider.js +0 -13
- package/dist/llm/provider.js.map +0 -1
- package/dist/llm/token-counter.d.ts +0 -15
- package/dist/llm/token-counter.d.ts.map +0 -1
- package/dist/llm/token-counter.js +0 -51
- package/dist/llm/token-counter.js.map +0 -1
- package/dist/logger.d.ts +0 -24
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -156
- package/dist/logger.js.map +0 -1
- package/dist/plugins/adapters/hooks-adapter.d.ts +0 -12
- package/dist/plugins/adapters/hooks-adapter.d.ts.map +0 -1
- package/dist/plugins/adapters/hooks-adapter.js +0 -23
- package/dist/plugins/adapters/hooks-adapter.js.map +0 -1
- package/dist/plugins/builtin/lint-on-write/index.d.ts +0 -12
- package/dist/plugins/builtin/lint-on-write/index.d.ts.map +0 -1
- package/dist/plugins/builtin/lint-on-write/index.js +0 -98
- package/dist/plugins/builtin/lint-on-write/index.js.map +0 -1
- package/dist/plugins/builtin/lint-on-write/index.ts +0 -97
- package/dist/plugins/builtin/lint-on-write/manifest.json +0 -13
- package/dist/plugins/builtin/notify/index.d.ts +0 -11
- package/dist/plugins/builtin/notify/index.d.ts.map +0 -1
- package/dist/plugins/builtin/notify/index.js +0 -102
- package/dist/plugins/builtin/notify/index.js.map +0 -1
- package/dist/plugins/builtin/notify/index.ts +0 -105
- package/dist/plugins/builtin/notify/manifest.json +0 -16
- package/dist/plugins/loader.d.ts +0 -18
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -182
- package/dist/plugins/loader.js.map +0 -1
- package/dist/plugins/manager.d.ts +0 -55
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -190
- package/dist/plugins/manager.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -76
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -8
- package/dist/plugins/types.js.map +0 -1
- package/dist/repl/commands.d.ts +0 -63
- package/dist/repl/commands.d.ts.map +0 -1
- package/dist/repl/commands.js +0 -1070
- package/dist/repl/commands.js.map +0 -1
- package/dist/repl/history.d.ts +0 -32
- package/dist/repl/history.d.ts.map +0 -1
- package/dist/repl/history.js +0 -40
- package/dist/repl/history.js.map +0 -1
- package/dist/repl/index.d.ts +0 -14
- package/dist/repl/index.d.ts.map +0 -1
- package/dist/repl/index.js +0 -235
- package/dist/repl/index.js.map +0 -1
- package/dist/session/store.d.ts +0 -46
- package/dist/session/store.d.ts.map +0 -1
- package/dist/session/store.js +0 -154
- package/dist/session/store.js.map +0 -1
- package/dist/setup-wizard.d.ts +0 -3
- package/dist/setup-wizard.d.ts.map +0 -1
- package/dist/setup-wizard.js +0 -410
- package/dist/setup-wizard.js.map +0 -1
- package/dist/skills/builtin/agent-test/SKILL.md +0 -68
- package/dist/skills/builtin/cli-expert/SKILL.md +0 -848
- package/dist/skills/builtin/code-review/SKILL.md +0 -424
- package/dist/skills/builtin/git-expert/SKILL.md +0 -522
- package/dist/skills/builtin/grill-me/SKILL.md +0 -46
- package/dist/skills/builtin/jest-testing-expert/SKILL.md +0 -957
- package/dist/skills/builtin/nodejs-expert/SKILL.md +0 -192
- package/dist/skills/builtin/systematic-debugging/SKILL.md +0 -296
- package/dist/skills/builtin/test-driven-development/SKILL.md +0 -371
- package/dist/skills/builtin/typescript-expert/SKILL.md +0 -429
- package/dist/skills/builtin/web-scraping/SKILL.md +0 -422
- package/dist/skills/loader.d.ts +0 -49
- package/dist/skills/loader.d.ts.map +0 -1
- package/dist/skills/loader.js +0 -401
- package/dist/skills/loader.js.map +0 -1
- package/dist/styling/engine.d.ts +0 -39
- package/dist/styling/engine.d.ts.map +0 -1
- package/dist/styling/engine.js +0 -122
- package/dist/styling/engine.js.map +0 -1
- package/dist/styling/index.d.ts +0 -15
- package/dist/styling/index.d.ts.map +0 -1
- package/dist/styling/index.js +0 -40
- package/dist/styling/index.js.map +0 -1
- package/dist/styling/loader.d.ts +0 -9
- package/dist/styling/loader.d.ts.map +0 -1
- package/dist/styling/loader.js +0 -169
- package/dist/styling/loader.js.map +0 -1
- package/dist/styling/types.d.ts +0 -64
- package/dist/styling/types.d.ts.map +0 -1
- package/dist/styling/types.js +0 -12
- package/dist/styling/types.js.map +0 -1
- package/dist/subagent/chat.d.ts +0 -19
- package/dist/subagent/chat.d.ts.map +0 -1
- package/dist/subagent/chat.js +0 -279
- package/dist/subagent/chat.js.map +0 -1
- package/dist/subagent/context.d.ts +0 -9
- package/dist/subagent/context.d.ts.map +0 -1
- package/dist/subagent/context.js +0 -75
- package/dist/subagent/context.js.map +0 -1
- package/dist/subagent/definition.d.ts +0 -7
- package/dist/subagent/definition.d.ts.map +0 -1
- package/dist/subagent/definition.js +0 -26
- package/dist/subagent/definition.js.map +0 -1
- package/dist/subagent/errors.d.ts +0 -24
- package/dist/subagent/errors.d.ts.map +0 -1
- package/dist/subagent/errors.js +0 -85
- package/dist/subagent/errors.js.map +0 -1
- package/dist/subagent/validation.d.ts +0 -17
- package/dist/subagent/validation.d.ts.map +0 -1
- package/dist/subagent/validation.js +0 -83
- package/dist/subagent/validation.js.map +0 -1
- package/dist/tools/adapters/bash-to-fs.d.ts +0 -20
- package/dist/tools/adapters/bash-to-fs.d.ts.map +0 -1
- package/dist/tools/adapters/bash-to-fs.js +0 -74
- package/dist/tools/adapters/bash-to-fs.js.map +0 -1
- package/dist/tools/adapters/content-sanitizer.d.ts +0 -13
- package/dist/tools/adapters/content-sanitizer.d.ts.map +0 -1
- package/dist/tools/adapters/content-sanitizer.js +0 -73
- package/dist/tools/adapters/content-sanitizer.js.map +0 -1
- package/dist/tools/adapters/grounding-fixer.d.ts +0 -15
- package/dist/tools/adapters/grounding-fixer.d.ts.map +0 -1
- package/dist/tools/adapters/grounding-fixer.js +0 -57
- package/dist/tools/adapters/grounding-fixer.js.map +0 -1
- package/dist/tools/adapters/index.d.ts +0 -6
- package/dist/tools/adapters/index.d.ts.map +0 -1
- package/dist/tools/adapters/index.js +0 -5
- package/dist/tools/adapters/index.js.map +0 -1
- package/dist/tools/adapters/pipeline.d.ts +0 -34
- package/dist/tools/adapters/pipeline.d.ts.map +0 -1
- package/dist/tools/adapters/pipeline.js +0 -58
- package/dist/tools/adapters/pipeline.js.map +0 -1
- package/dist/tools/adapters/types.d.ts +0 -46
- package/dist/tools/adapters/types.d.ts.map +0 -1
- package/dist/tools/adapters/types.js +0 -2
- package/dist/tools/adapters/types.js.map +0 -1
- package/dist/tools/approve.d.ts +0 -27
- package/dist/tools/approve.d.ts.map +0 -1
- package/dist/tools/approve.js +0 -45
- package/dist/tools/approve.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -25
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -292
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/fs/copy-file.d.ts +0 -13
- package/dist/tools/fs/copy-file.d.ts.map +0 -1
- package/dist/tools/fs/copy-file.js +0 -54
- package/dist/tools/fs/copy-file.js.map +0 -1
- package/dist/tools/fs/create-dir.d.ts +0 -13
- package/dist/tools/fs/create-dir.d.ts.map +0 -1
- package/dist/tools/fs/create-dir.js +0 -44
- package/dist/tools/fs/create-dir.js.map +0 -1
- package/dist/tools/fs/delete-file.d.ts +0 -13
- package/dist/tools/fs/delete-file.d.ts.map +0 -1
- package/dist/tools/fs/delete-file.js +0 -52
- package/dist/tools/fs/delete-file.js.map +0 -1
- package/dist/tools/fs/edit-file.d.ts +0 -15
- package/dist/tools/fs/edit-file.d.ts.map +0 -1
- package/dist/tools/fs/edit-file.js +0 -95
- package/dist/tools/fs/edit-file.js.map +0 -1
- package/dist/tools/fs/file-info.d.ts +0 -13
- package/dist/tools/fs/file-info.d.ts.map +0 -1
- package/dist/tools/fs/file-info.js +0 -50
- package/dist/tools/fs/file-info.js.map +0 -1
- package/dist/tools/fs/glob-search.d.ts +0 -13
- package/dist/tools/fs/glob-search.d.ts.map +0 -1
- package/dist/tools/fs/glob-search.js +0 -112
- package/dist/tools/fs/glob-search.js.map +0 -1
- package/dist/tools/fs/grep-search.d.ts +0 -14
- package/dist/tools/fs/grep-search.d.ts.map +0 -1
- package/dist/tools/fs/grep-search.js +0 -135
- package/dist/tools/fs/grep-search.js.map +0 -1
- package/dist/tools/fs/list-dir.d.ts +0 -13
- package/dist/tools/fs/list-dir.d.ts.map +0 -1
- package/dist/tools/fs/list-dir.js +0 -74
- package/dist/tools/fs/list-dir.js.map +0 -1
- package/dist/tools/fs/move-file.d.ts +0 -13
- package/dist/tools/fs/move-file.d.ts.map +0 -1
- package/dist/tools/fs/move-file.js +0 -54
- package/dist/tools/fs/move-file.js.map +0 -1
- package/dist/tools/fs/path-utils.d.ts +0 -51
- package/dist/tools/fs/path-utils.d.ts.map +0 -1
- package/dist/tools/fs/path-utils.js +0 -103
- package/dist/tools/fs/path-utils.js.map +0 -1
- package/dist/tools/fs/read-file.d.ts +0 -13
- package/dist/tools/fs/read-file.d.ts.map +0 -1
- package/dist/tools/fs/read-file.js +0 -64
- package/dist/tools/fs/read-file.js.map +0 -1
- package/dist/tools/fs/tree.d.ts +0 -13
- package/dist/tools/fs/tree.d.ts.map +0 -1
- package/dist/tools/fs/tree.js +0 -89
- package/dist/tools/fs/tree.js.map +0 -1
- package/dist/tools/fs/types.d.ts +0 -14
- package/dist/tools/fs/types.d.ts.map +0 -1
- package/dist/tools/fs/types.js +0 -11
- package/dist/tools/fs/types.js.map +0 -1
- package/dist/tools/fs/write-file.d.ts +0 -14
- package/dist/tools/fs/write-file.d.ts.map +0 -1
- package/dist/tools/fs/write-file.js +0 -83
- package/dist/tools/fs/write-file.js.map +0 -1
- package/dist/tools/hooks.d.ts +0 -44
- package/dist/tools/hooks.d.ts.map +0 -1
- package/dist/tools/hooks.js +0 -217
- package/dist/tools/hooks.js.map +0 -1
- package/dist/tools/id-gen.d.ts +0 -4
- package/dist/tools/id-gen.d.ts.map +0 -1
- package/dist/tools/id-gen.js +0 -12
- package/dist/tools/id-gen.js.map +0 -1
- package/dist/tools/mcp.d.ts +0 -36
- package/dist/tools/mcp.d.ts.map +0 -1
- package/dist/tools/mcp.js +0 -93
- package/dist/tools/mcp.js.map +0 -1
- package/dist/tools/native/approve.d.ts +0 -11
- package/dist/tools/native/approve.d.ts.map +0 -1
- package/dist/tools/native/approve.js +0 -39
- package/dist/tools/native/approve.js.map +0 -1
- package/dist/tools/native/plan.d.ts +0 -10
- package/dist/tools/native/plan.d.ts.map +0 -1
- package/dist/tools/native/plan.js +0 -115
- package/dist/tools/native/plan.js.map +0 -1
- package/dist/tools/native/project-map.d.ts +0 -15
- package/dist/tools/native/project-map.d.ts.map +0 -1
- package/dist/tools/native/project-map.js +0 -203
- package/dist/tools/native/project-map.js.map +0 -1
- package/dist/tools/native/question.d.ts +0 -11
- package/dist/tools/native/question.d.ts.map +0 -1
- package/dist/tools/native/question.js +0 -41
- package/dist/tools/native/question.js.map +0 -1
- package/dist/tools/native/scaffold.d.ts +0 -5
- package/dist/tools/native/scaffold.d.ts.map +0 -1
- package/dist/tools/native/scaffold.js +0 -246
- package/dist/tools/native/scaffold.js.map +0 -1
- package/dist/tools/native/theme.d.ts +0 -10
- package/dist/tools/native/theme.d.ts.map +0 -1
- package/dist/tools/native/theme.js +0 -101
- package/dist/tools/native/theme.js.map +0 -1
- package/dist/tools/native/todo.d.ts +0 -10
- package/dist/tools/native/todo.d.ts.map +0 -1
- package/dist/tools/native/todo.js +0 -58
- package/dist/tools/native/todo.js.map +0 -1
- package/dist/tools/native/user-profile.d.ts +0 -10
- package/dist/tools/native/user-profile.d.ts.map +0 -1
- package/dist/tools/native/user-profile.js +0 -58
- package/dist/tools/native/user-profile.js.map +0 -1
- package/dist/tools/parse-tool-call.d.ts +0 -11
- package/dist/tools/parse-tool-call.d.ts.map +0 -1
- package/dist/tools/parse-tool-call.js +0 -87
- package/dist/tools/parse-tool-call.js.map +0 -1
- package/dist/tools/plan.d.ts +0 -40
- package/dist/tools/plan.d.ts.map +0 -1
- package/dist/tools/plan.js +0 -143
- package/dist/tools/plan.js.map +0 -1
- package/dist/tools/question.d.ts +0 -33
- package/dist/tools/question.d.ts.map +0 -1
- package/dist/tools/question.js +0 -62
- package/dist/tools/question.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -37
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -97
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/sanitizer.d.ts +0 -30
- package/dist/tools/sanitizer.d.ts.map +0 -1
- package/dist/tools/sanitizer.js +0 -77
- package/dist/tools/sanitizer.js.map +0 -1
- package/dist/tools/subagent.d.ts +0 -39
- package/dist/tools/subagent.d.ts.map +0 -1
- package/dist/tools/subagent.js +0 -225
- package/dist/tools/subagent.js.map +0 -1
- package/dist/tools/syntax-check.d.ts +0 -32
- package/dist/tools/syntax-check.d.ts.map +0 -1
- package/dist/tools/syntax-check.js +0 -272
- package/dist/tools/syntax-check.js.map +0 -1
- package/dist/tools/todo.d.ts +0 -28
- package/dist/tools/todo.d.ts.map +0 -1
- package/dist/tools/todo.js +0 -125
- package/dist/tools/todo.js.map +0 -1
- package/dist/tools/types.d.ts +0 -51
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js +0 -2
- package/dist/tools/types.js.map +0 -1
- package/dist/tools/web-browse.d.ts +0 -5
- package/dist/tools/web-browse.d.ts.map +0 -1
- package/dist/tools/web-browse.js +0 -757
- package/dist/tools/web-browse.js.map +0 -1
- package/dist/tools/web-fetch.d.ts +0 -19
- package/dist/tools/web-fetch.d.ts.map +0 -1
- package/dist/tools/web-fetch.js +0 -90
- package/dist/tools/web-fetch.js.map +0 -1
- package/dist/tools/web-search.d.ts +0 -19
- package/dist/tools/web-search.d.ts.map +0 -1
- package/dist/tools/web-search.js +0 -97
- package/dist/tools/web-search.js.map +0 -1
- package/dist/ui/components/status-bar.d.ts +0 -11
- package/dist/ui/components/status-bar.d.ts.map +0 -1
- package/dist/ui/components/status-bar.js +0 -20
- package/dist/ui/components/status-bar.js.map +0 -1
- package/dist/ui/index.d.ts +0 -8
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -9
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/ink/components/App.d.ts +0 -98
- package/dist/ui/ink/components/App.d.ts.map +0 -1
- package/dist/ui/ink/components/App.js +0 -212
- package/dist/ui/ink/components/App.js.map +0 -1
- package/dist/ui/ink/components/Conversation.d.ts +0 -20
- package/dist/ui/ink/components/Conversation.d.ts.map +0 -1
- package/dist/ui/ink/components/Conversation.js +0 -15
- package/dist/ui/ink/components/Conversation.js.map +0 -1
- package/dist/ui/ink/components/MessageBlock.d.ts +0 -27
- package/dist/ui/ink/components/MessageBlock.d.ts.map +0 -1
- package/dist/ui/ink/components/MessageBlock.js +0 -41
- package/dist/ui/ink/components/MessageBlock.js.map +0 -1
- package/dist/ui/ink/components/PromptInput.d.ts +0 -25
- package/dist/ui/ink/components/PromptInput.d.ts.map +0 -1
- package/dist/ui/ink/components/PromptInput.js +0 -167
- package/dist/ui/ink/components/PromptInput.js.map +0 -1
- package/dist/ui/ink/components/SelectInput.d.ts +0 -9
- package/dist/ui/ink/components/SelectInput.d.ts.map +0 -1
- package/dist/ui/ink/components/SelectInput.js +0 -30
- package/dist/ui/ink/components/SelectInput.js.map +0 -1
- package/dist/ui/ink/components/StatusBar.d.ts +0 -14
- package/dist/ui/ink/components/StatusBar.d.ts.map +0 -1
- package/dist/ui/ink/components/StatusBar.js +0 -20
- package/dist/ui/ink/components/StatusBar.js.map +0 -1
- package/dist/ui/ink/components/StreamBlock.d.ts +0 -8
- package/dist/ui/ink/components/StreamBlock.d.ts.map +0 -1
- package/dist/ui/ink/components/StreamBlock.js +0 -15
- package/dist/ui/ink/components/StreamBlock.js.map +0 -1
- package/dist/ui/ink/components/Tags.d.ts +0 -26
- package/dist/ui/ink/components/Tags.d.ts.map +0 -1
- package/dist/ui/ink/components/Tags.js +0 -37
- package/dist/ui/ink/components/Tags.js.map +0 -1
- package/dist/ui/ink/components/ToolCallBlock.d.ts +0 -31
- package/dist/ui/ink/components/ToolCallBlock.d.ts.map +0 -1
- package/dist/ui/ink/components/ToolCallBlock.js +0 -17
- package/dist/ui/ink/components/ToolCallBlock.js.map +0 -1
- package/dist/ui/ink/renderer.d.ts +0 -69
- package/dist/ui/ink/renderer.d.ts.map +0 -1
- package/dist/ui/ink/renderer.js +0 -142
- package/dist/ui/ink/renderer.js.map +0 -1
- package/dist/ui/ink/theme.d.ts +0 -28
- package/dist/ui/ink/theme.d.ts.map +0 -1
- package/dist/ui/ink/theme.js +0 -45
- package/dist/ui/ink/theme.js.map +0 -1
- package/dist/ui/md-formatter.d.ts +0 -16
- package/dist/ui/md-formatter.d.ts.map +0 -1
- package/dist/ui/md-formatter.js +0 -448
- package/dist/ui/md-formatter.js.map +0 -1
- package/dist/ui/readline-renderer.d.ts +0 -45
- package/dist/ui/readline-renderer.d.ts.map +0 -1
- package/dist/ui/readline-renderer.js +0 -181
- package/dist/ui/readline-renderer.js.map +0 -1
- package/dist/ui/renderer.d.ts +0 -66
- package/dist/ui/renderer.d.ts.map +0 -1
- package/dist/ui/renderer.js +0 -16
- package/dist/ui/renderer.js.map +0 -1
- package/dist/ui/subagent-renderer.d.ts +0 -58
- package/dist/ui/subagent-renderer.d.ts.map +0 -1
- package/dist/ui/subagent-renderer.js +0 -100
- package/dist/ui/subagent-renderer.js.map +0 -1
- package/dist/updater.d.ts +0 -15
- package/dist/updater.d.ts.map +0 -1
- package/dist/updater.js +0 -166
- package/dist/updater.js.map +0 -1
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { readFileSync, readdirSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { logInfo, logDebug } from '../logger.js';
|
|
4
|
-
/**
|
|
5
|
-
* Индекс кода проекта (AST-based).
|
|
6
|
-
*
|
|
7
|
-
* Строит индекс символов, импортов и ссылок для файлов:
|
|
8
|
-
* - TypeScript/JavaScript (export function/class/type/...)
|
|
9
|
-
* - Python (class/def)
|
|
10
|
-
* - Go (func)
|
|
11
|
-
* - Rust (pub fn/struct/enum/trait)
|
|
12
|
-
* - Java (public class/interface)
|
|
13
|
-
* - Ruby (class/def/module)
|
|
14
|
-
* - PHP (class/interface/function)
|
|
15
|
-
* - C (void/int/char функции)
|
|
16
|
-
*
|
|
17
|
-
* Индекс кэшируется и перестраивается при изменении файлов.
|
|
18
|
-
*
|
|
19
|
-
* @module indexer/code-index
|
|
20
|
-
*/
|
|
21
|
-
const IGNORE_DIRS = new Set([
|
|
22
|
-
'node_modules', '.git', '.mma', 'dist', 'build', '__pycache__',
|
|
23
|
-
'vendor', '.next', '.nuxt', 'coverage', '.cache', 'target',
|
|
24
|
-
'out', '.output', '.turbo',
|
|
25
|
-
]);
|
|
26
|
-
const SYMBOL_PATTERNS = {
|
|
27
|
-
ts: [
|
|
28
|
-
/export\s+(?:default\s+)?(?:async\s+)?function\s+(\w+)/g,
|
|
29
|
-
/export\s+(?:default\s+)?class\s+(\w+)/g,
|
|
30
|
-
/export\s+(?:default\s+)?(?:type|interface)\s+(\w+)/g,
|
|
31
|
-
/export\s+(?:default\s+)?enum\s+(\w+)/g,
|
|
32
|
-
/export\s+(?:default\s+)?(?:const|let|var)\s+(\w+)/g,
|
|
33
|
-
],
|
|
34
|
-
js: [
|
|
35
|
-
/export\s+(?:default\s+)?(?:async\s+)?function\s+(\w+)/g,
|
|
36
|
-
/export\s+(?:default\s+)?class\s+(\w+)/g,
|
|
37
|
-
/export\s+(?:default\s+)?(?:const|let|var)\s+(\w+)/g,
|
|
38
|
-
],
|
|
39
|
-
py: [
|
|
40
|
-
/^(?:class)\s+(\w+)/gm,
|
|
41
|
-
/^(?:def)\s+(\w+)/gm,
|
|
42
|
-
],
|
|
43
|
-
go: [
|
|
44
|
-
/^func\s+(?:\(\w+\s+\*?\w+\)\s+)?(\w+)/gm,
|
|
45
|
-
/^type\s+(\w+)\s+(?:struct|interface)/gm,
|
|
46
|
-
],
|
|
47
|
-
rs: [
|
|
48
|
-
/pub\s+fn\s+(\w+)/g,
|
|
49
|
-
/pub\s+(?:struct|enum|trait|type)\s+(\w+)/g,
|
|
50
|
-
],
|
|
51
|
-
java: [
|
|
52
|
-
/(?:public|protected)\s+(?:class|interface|enum|abstract class)\s+(\w+)/g,
|
|
53
|
-
/(?:public|protected)\s+(?:static\s+)?(?:final\s+)?(?:void|int|String|boolean|long|double|float)\s+(\w+)/g,
|
|
54
|
-
],
|
|
55
|
-
};
|
|
56
|
-
const IMPORT_PATTERNS = {
|
|
57
|
-
ts: /import\s+(?:\{([^}]+)\}|(\w+))\s+from\s+['"]([^'"]+)['"]/g,
|
|
58
|
-
js: /import\s+(?:\{([^}]+)\}|(\w+))\s+from\s+['"]([^'"]+)['"]/g,
|
|
59
|
-
py: /^(?:from\s+(\S+)\s+)?import\s+(.+)/gm,
|
|
60
|
-
go: /import\s+(?:\("([^"]+)"\)|"([^"]+)")/g,
|
|
61
|
-
rs: /use\s+([\w:]+)/g,
|
|
62
|
-
java: /import\s+([\w.]+);/g,
|
|
63
|
-
};
|
|
64
|
-
function getLangKey(ext) {
|
|
65
|
-
if (ext === 'ts' || ext === 'tsx')
|
|
66
|
-
return 'ts';
|
|
67
|
-
if (ext === 'js' || ext === 'jsx' || ext === 'mjs' || ext === 'cjs')
|
|
68
|
-
return 'js';
|
|
69
|
-
return ext;
|
|
70
|
-
}
|
|
71
|
-
async function hashFile(content) {
|
|
72
|
-
const { createHash } = await import('node:crypto');
|
|
73
|
-
return createHash('md5').update(content).digest('hex');
|
|
74
|
-
}
|
|
75
|
-
function extractSymbols(content, lang) {
|
|
76
|
-
const symbols = [];
|
|
77
|
-
const patterns = SYMBOL_PATTERNS[lang] || SYMBOL_PATTERNS.ts;
|
|
78
|
-
for (const pattern of patterns) {
|
|
79
|
-
const re = new RegExp(pattern.source, pattern.flags);
|
|
80
|
-
let match;
|
|
81
|
-
while ((match = re.exec(content)) !== null) {
|
|
82
|
-
const name = match[1];
|
|
83
|
-
const lineNum = content.slice(0, match.index).split('\n').length;
|
|
84
|
-
let type = 'function';
|
|
85
|
-
if (match[0].includes('class'))
|
|
86
|
-
type = 'class';
|
|
87
|
-
else if (match[0].includes('type') || match[0].includes('interface'))
|
|
88
|
-
type = 'type';
|
|
89
|
-
else if (match[0].includes('enum'))
|
|
90
|
-
type = 'enum';
|
|
91
|
-
else if (match[0].includes('const') || match[0].includes('let') || match[0].includes('var'))
|
|
92
|
-
type = 'const';
|
|
93
|
-
const line = content.split('\n')[lineNum - 1]?.trim() || '';
|
|
94
|
-
const sig = line.length > 100 ? line.slice(0, 97) + '...' : line;
|
|
95
|
-
if (!symbols.some(s => s.name === name)) {
|
|
96
|
-
symbols.push({ name, type, sig, line: lineNum });
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return symbols;
|
|
101
|
-
}
|
|
102
|
-
function extractImports(content, lang) {
|
|
103
|
-
const imports = [];
|
|
104
|
-
const pattern = IMPORT_PATTERNS[lang];
|
|
105
|
-
if (!pattern)
|
|
106
|
-
return imports;
|
|
107
|
-
const re = new RegExp(pattern.source, pattern.flags);
|
|
108
|
-
let match;
|
|
109
|
-
while ((match = re.exec(content)) !== null) {
|
|
110
|
-
if (lang === 'ts' || lang === 'js') {
|
|
111
|
-
const named = match[1]?.split(',').map(s => s.trim()).filter(Boolean) || [];
|
|
112
|
-
const def = match[2] ? [match[2]] : [];
|
|
113
|
-
const from = match[3];
|
|
114
|
-
if (from && (named.length > 0 || def.length > 0)) {
|
|
115
|
-
imports.push({ from, imports: [...def, ...named] });
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return imports;
|
|
120
|
-
}
|
|
121
|
-
function walkDir(dir, baseDir, extensions, results) {
|
|
122
|
-
let entries;
|
|
123
|
-
try {
|
|
124
|
-
entries = readdirSync(dir, { withFileTypes: true });
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
for (const entry of entries) {
|
|
130
|
-
if (IGNORE_DIRS.has(entry.name) || entry.name.startsWith('.'))
|
|
131
|
-
continue;
|
|
132
|
-
const fullPath = join(dir, entry.name);
|
|
133
|
-
if (entry.isDirectory()) {
|
|
134
|
-
walkDir(fullPath, baseDir, extensions, results);
|
|
135
|
-
}
|
|
136
|
-
else if (entry.isFile()) {
|
|
137
|
-
const ext = entry.name.split('.').pop()?.toLowerCase() || '';
|
|
138
|
-
if (extensions.has(ext)) {
|
|
139
|
-
const rel = fullPath.slice(baseDir.length + 1).replace(/\\/g, '/');
|
|
140
|
-
results.push(rel);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
export function buildCodeIndex(cwd) {
|
|
146
|
-
const start = performance.now();
|
|
147
|
-
logDebug('INDEXER', 'buildCodeIndex start');
|
|
148
|
-
const index = {
|
|
149
|
-
language: 'unknown',
|
|
150
|
-
symbols: {},
|
|
151
|
-
imports: {},
|
|
152
|
-
references: {},
|
|
153
|
-
builtAt: new Date().toISOString(),
|
|
154
|
-
fileHashes: {},
|
|
155
|
-
};
|
|
156
|
-
const exts = ['ts', 'tsx', 'js', 'jsx', 'py', 'go', 'rs', 'java'];
|
|
157
|
-
const extensions = new Set(exts);
|
|
158
|
-
let langCount = {};
|
|
159
|
-
const filePaths = [];
|
|
160
|
-
walkDir(cwd, cwd, extensions, filePaths);
|
|
161
|
-
filePaths.sort();
|
|
162
|
-
for (const rel of filePaths) {
|
|
163
|
-
try {
|
|
164
|
-
const content = readFileSync(join(cwd, rel), 'utf-8');
|
|
165
|
-
const ext = rel.split('.').pop() || '';
|
|
166
|
-
const lang = getLangKey(ext);
|
|
167
|
-
langCount[lang] = (langCount[lang] || 0) + 1;
|
|
168
|
-
index.fileHashes[rel] = content.length.toString();
|
|
169
|
-
const symbols = extractSymbols(content, lang);
|
|
170
|
-
for (const sym of symbols) {
|
|
171
|
-
index.symbols[sym.name] = {
|
|
172
|
-
file: rel,
|
|
173
|
-
line: sym.line,
|
|
174
|
-
type: sym.type,
|
|
175
|
-
sig: sym.sig,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
const imports = extractImports(content, lang);
|
|
179
|
-
if (imports.length > 0) {
|
|
180
|
-
index.imports[rel] = imports[0];
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
catch { /* skip */ }
|
|
184
|
-
}
|
|
185
|
-
index.language = Object.entries(langCount).sort((a, b) => b[1] - a[1])[0]?.[0] || 'unknown';
|
|
186
|
-
const elapsed = (performance.now() - start).toFixed(0);
|
|
187
|
-
logInfo('INDEXER', `buildCodeIndex: ${filePaths.length} files, ${Object.keys(index.symbols).length} symbols in ${elapsed}ms`);
|
|
188
|
-
return index;
|
|
189
|
-
}
|
|
190
|
-
import { getTheme } from '../styling/index.js';
|
|
191
|
-
export function formatCodeIndex(index) {
|
|
192
|
-
const theme = getTheme();
|
|
193
|
-
const lines = [];
|
|
194
|
-
lines.push(theme.heading(`CODE INDEX (${index.language})`));
|
|
195
|
-
lines.push(theme.dim(`Symbols: ${Object.keys(index.symbols).length} | Files: ${Object.keys(index.fileHashes).length}`));
|
|
196
|
-
lines.push('');
|
|
197
|
-
const byType = {};
|
|
198
|
-
for (const [name, info] of Object.entries(index.symbols)) {
|
|
199
|
-
const t = info.type;
|
|
200
|
-
if (!byType[t])
|
|
201
|
-
byType[t] = [];
|
|
202
|
-
byType[t].push([name, info]);
|
|
203
|
-
}
|
|
204
|
-
for (const [type, syms] of Object.entries(byType).sort()) {
|
|
205
|
-
lines.push(theme.bracket(type));
|
|
206
|
-
for (const [name, info] of syms.slice(0, 30)) {
|
|
207
|
-
lines.push(` ${theme.symbolName(name)} ${theme.dim(theme.icon.arrow)} ${theme.filePath(info.file)}:${theme.lineNumbers(String(info.line))}`);
|
|
208
|
-
}
|
|
209
|
-
if (syms.length > 30) {
|
|
210
|
-
lines.push(theme.dim(` ... and ${syms.length - 30} more`));
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
return lines.join('\n');
|
|
214
|
-
}
|
|
215
|
-
export function getCodeIndexTokenEstimate(index) {
|
|
216
|
-
const text = formatCodeIndex(index);
|
|
217
|
-
return Math.ceil(text.length / 4);
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=code-index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-index.js","sourceRoot":"","sources":["../../src/indexer/code-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare function getLangKeyFromExt(ext: string): string;
|
|
2
|
-
export declare function extractExports(content: string, lang: string): string[];
|
|
3
|
-
export interface ProjectFile {
|
|
4
|
-
path: string;
|
|
5
|
-
exports: string[];
|
|
6
|
-
lines: number;
|
|
7
|
-
}
|
|
8
|
-
export interface ProjectMap {
|
|
9
|
-
projectName: string;
|
|
10
|
-
files: ProjectFile[];
|
|
11
|
-
/** Все директории проекта (включая пустые) */
|
|
12
|
-
directories: string[];
|
|
13
|
-
generatedAt: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function collectSourceFiles(cwd: string): string[];
|
|
16
|
-
/** Собирает все директории проекта (включая пустые) */
|
|
17
|
-
export declare function collectDirectories(cwd: string): string[];
|
|
18
|
-
export declare function setMaxFilesForProject(cwd: string, max: number): void;
|
|
19
|
-
export declare function getMaxFilesForProject(cwd: string): number | undefined;
|
|
20
|
-
export declare function generateProjectMap(cwd: string, maxFiles?: number): ProjectMap;
|
|
21
|
-
export declare function formatProjectMap(map: ProjectMap): string;
|
|
22
|
-
export declare function getProjectMapTokenEstimate(map: ProjectMap): number;
|
|
23
|
-
//# sourceMappingURL=project-map.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-map.d.ts","sourceRoot":"","sources":["../../src/indexer/project-map.ts"],"names":[],"mappings":"AA+CA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAuED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAatE;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAaxD;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAaxD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CA6C7E;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAkDxD;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAGlE"}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { readFileSync, existsSync, readdirSync } from 'node:fs';
|
|
2
|
-
import { join, basename } from 'node:path';
|
|
3
|
-
import { logInfo, logWarn, logDebug } from '../logger.js';
|
|
4
|
-
/**
|
|
5
|
-
* Карта проекта — структурное описание файловой системы.
|
|
6
|
-
*
|
|
7
|
-
* Анализирует директории и определяет:
|
|
8
|
-
* - Язык проекта (по расширениям и конфигам)
|
|
9
|
-
* - Экспортируемые символы
|
|
10
|
-
* - Структуру файлов
|
|
11
|
-
*
|
|
12
|
-
* Определяет тип проекта по конфигурационным файлам:
|
|
13
|
-
* - package.json → TypeScript/JavaScript
|
|
14
|
-
* - pyproject.toml → Python
|
|
15
|
-
* - go.mod → Go
|
|
16
|
-
* - Cargo.toml → Rust
|
|
17
|
-
* - pom.xml → Java
|
|
18
|
-
*
|
|
19
|
-
* @module indexer/project-map
|
|
20
|
-
*/
|
|
21
|
-
const maxFilesPerProject = new Map();
|
|
22
|
-
const IGNORE_DIRS = new Set([
|
|
23
|
-
'node_modules', '.git', '.mma', 'dist', 'build', '__pycache__',
|
|
24
|
-
'vendor', '.next', '.nuxt', 'coverage', '.cache', 'target',
|
|
25
|
-
'out', '.output', '.turbo', '.venv', 'venv', 'env', '.env',
|
|
26
|
-
'lib', 'libs', 'third_party', 'third-party', 'bower_components',
|
|
27
|
-
'jspm_packages', '.dart_tool', '.pub-cache',
|
|
28
|
-
]);
|
|
29
|
-
const EXT_MAP = {
|
|
30
|
-
// Source code
|
|
31
|
-
ts: 'ts', tsx: 'ts', js: 'js', jsx: 'js', mjs: 'js', cjs: 'js',
|
|
32
|
-
py: 'py', go: 'go', rs: 'rs', java: 'java', kt: 'java',
|
|
33
|
-
rb: 'rb', php: 'php', c: 'c', cpp: 'c', h: 'c', hpp: 'c',
|
|
34
|
-
// Config & markup
|
|
35
|
-
json: 'json', html: 'html', htm: 'html', xml: 'html', yaml: 'yaml', yml: 'yaml',
|
|
36
|
-
// Styles
|
|
37
|
-
css: 'css', scss: 'css', less: 'css',
|
|
38
|
-
// Docs
|
|
39
|
-
md: 'md', mdx: 'md',
|
|
40
|
-
// Other
|
|
41
|
-
toml: 'toml', ini: 'ini', env: 'env', sh: 'sh', bash: 'sh',
|
|
42
|
-
};
|
|
43
|
-
export function getLangKeyFromExt(ext) {
|
|
44
|
-
return EXT_MAP[ext.toLowerCase()] || ext.toLowerCase();
|
|
45
|
-
}
|
|
46
|
-
const EXPORT_PATTERNS = {
|
|
47
|
-
ts: /export\s+(?:default\s+)?(?:async\s+)?(?:function|class|type|interface|enum|const|let|var)\s+(\w+)/g,
|
|
48
|
-
js: /export\s+(?:default\s+)?(?:async\s+)?(?:function|class)\s+(\w+)/g,
|
|
49
|
-
py: /^(?:class|def)\s+(\w+)/gm,
|
|
50
|
-
go: /^func\s+(?:\(\w+\s+\*?\w+\)\s+)?(\w+)/gm,
|
|
51
|
-
rs: /pub\s+(?:fn|struct|enum|trait|type|const|static)\s+(\w+)/g,
|
|
52
|
-
java: /(?:public|protected)\s+(?:class|interface|enum|abstract class)\s+(\w+)/g,
|
|
53
|
-
rb: /(?:class|def|module)\s+(\w+)/g,
|
|
54
|
-
php: /(?:class|interface|enum|function)\s+(\w+)/g,
|
|
55
|
-
c: /(?:void|int|char|bool|float|double|unsigned|static|extern|inline)\s+(\w+)\s*\(/g,
|
|
56
|
-
html: /<title>([^<]+)<\/title>/g,
|
|
57
|
-
json: /"(?:name|main|module|exports|scripts)":\s*"([^"]+)"/g,
|
|
58
|
-
css: /^\.([a-zA-Z_-]+)\s*\{/gm,
|
|
59
|
-
yaml: /^(?:name|version|description):\s*(.+)/gm,
|
|
60
|
-
md: /^#\s+(.+)/gm,
|
|
61
|
-
};
|
|
62
|
-
const CONFIG_FILES = {
|
|
63
|
-
'package.json': 'ts',
|
|
64
|
-
'pyproject.toml': 'py',
|
|
65
|
-
'setup.py': 'py',
|
|
66
|
-
'requirements.txt': 'py',
|
|
67
|
-
'go.mod': 'go',
|
|
68
|
-
'Cargo.toml': 'rs',
|
|
69
|
-
'pom.xml': 'java',
|
|
70
|
-
'build.gradle': 'java',
|
|
71
|
-
'Gemfile': 'rb',
|
|
72
|
-
'composer.json': 'php',
|
|
73
|
-
'CMakeLists.txt': 'c',
|
|
74
|
-
'Makefile': 'c',
|
|
75
|
-
};
|
|
76
|
-
function detectLanguage(cwd) {
|
|
77
|
-
const langs = [];
|
|
78
|
-
for (const [configFile, lang] of Object.entries(CONFIG_FILES)) {
|
|
79
|
-
if (existsSync(join(cwd, configFile))) {
|
|
80
|
-
if (!langs.includes(lang))
|
|
81
|
-
langs.push(lang);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (langs.length === 0) {
|
|
85
|
-
langs.push('ts', 'js', 'py', 'go', 'rs', 'java');
|
|
86
|
-
}
|
|
87
|
-
return langs;
|
|
88
|
-
}
|
|
89
|
-
function walkDir(dir, baseDir, extensions, files, dirs) {
|
|
90
|
-
let entries;
|
|
91
|
-
try {
|
|
92
|
-
entries = readdirSync(dir, { withFileTypes: true });
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
for (const entry of entries) {
|
|
98
|
-
if (IGNORE_DIRS.has(entry.name) || entry.name.startsWith('.'))
|
|
99
|
-
continue;
|
|
100
|
-
const fullPath = join(dir, entry.name);
|
|
101
|
-
if (entry.isDirectory()) {
|
|
102
|
-
const relDir = fullPath.slice(baseDir.length + 1).replace(/\\/g, '/');
|
|
103
|
-
if (relDir)
|
|
104
|
-
dirs.push(relDir);
|
|
105
|
-
walkDir(fullPath, baseDir, extensions, files, dirs);
|
|
106
|
-
}
|
|
107
|
-
else if (entry.isFile()) {
|
|
108
|
-
const ext = entry.name.split('.').pop()?.toLowerCase() || '';
|
|
109
|
-
if (extensions.has(ext)) {
|
|
110
|
-
const rel = fullPath.slice(baseDir.length + 1).replace(/\\/g, '/');
|
|
111
|
-
files.push(rel);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
export function extractExports(content, lang) {
|
|
117
|
-
const exports = [];
|
|
118
|
-
const pattern = EXPORT_PATTERNS[lang];
|
|
119
|
-
if (!pattern)
|
|
120
|
-
return exports;
|
|
121
|
-
const re = new RegExp(pattern.source, pattern.flags);
|
|
122
|
-
let match;
|
|
123
|
-
while ((match = re.exec(content)) !== null) {
|
|
124
|
-
if (match[1] && !exports.includes(match[1])) {
|
|
125
|
-
exports.push(match[1]);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return exports;
|
|
129
|
-
}
|
|
130
|
-
export function collectSourceFiles(cwd) {
|
|
131
|
-
const langs = detectLanguage(cwd);
|
|
132
|
-
const extensions = new Set();
|
|
133
|
-
for (const lang of langs) {
|
|
134
|
-
for (const [ext, langKey] of Object.entries(EXT_MAP)) {
|
|
135
|
-
if (langKey === lang)
|
|
136
|
-
extensions.add(ext);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
const filePaths = [];
|
|
140
|
-
const _dirs = [];
|
|
141
|
-
walkDir(cwd, cwd, extensions, filePaths, _dirs);
|
|
142
|
-
filePaths.sort();
|
|
143
|
-
return filePaths;
|
|
144
|
-
}
|
|
145
|
-
/** Собирает все директории проекта (включая пустые) */
|
|
146
|
-
export function collectDirectories(cwd) {
|
|
147
|
-
const langs = detectLanguage(cwd);
|
|
148
|
-
const extensions = new Set();
|
|
149
|
-
for (const lang of langs) {
|
|
150
|
-
for (const [ext, langKey] of Object.entries(EXT_MAP)) {
|
|
151
|
-
if (langKey === lang)
|
|
152
|
-
extensions.add(ext);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const _files = [];
|
|
156
|
-
const dirs = [];
|
|
157
|
-
walkDir(cwd, cwd, extensions, _files, dirs);
|
|
158
|
-
dirs.sort();
|
|
159
|
-
return dirs;
|
|
160
|
-
}
|
|
161
|
-
export function setMaxFilesForProject(cwd, max) {
|
|
162
|
-
maxFilesPerProject.set(cwd, max);
|
|
163
|
-
}
|
|
164
|
-
export function getMaxFilesForProject(cwd) {
|
|
165
|
-
return maxFilesPerProject.get(cwd);
|
|
166
|
-
}
|
|
167
|
-
export function generateProjectMap(cwd, maxFiles) {
|
|
168
|
-
const start = performance.now();
|
|
169
|
-
logDebug('INDEXER', 'generateProjectMap start');
|
|
170
|
-
let projectName = 'unknown';
|
|
171
|
-
const pkgPath = join(cwd, 'package.json');
|
|
172
|
-
if (existsSync(pkgPath)) {
|
|
173
|
-
try {
|
|
174
|
-
projectName = JSON.parse(readFileSync(pkgPath, 'utf-8')).name || projectName;
|
|
175
|
-
}
|
|
176
|
-
catch { /* ignore */ }
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
projectName = basename(cwd);
|
|
180
|
-
}
|
|
181
|
-
const effectiveMax = maxFiles ?? maxFilesPerProject.get(cwd) ?? 5000;
|
|
182
|
-
const filePaths = collectSourceFiles(cwd);
|
|
183
|
-
const directories = collectDirectories(cwd);
|
|
184
|
-
if (effectiveMax === 0) {
|
|
185
|
-
logInfo('INDEXER', 'Project map indexing skipped');
|
|
186
|
-
return { projectName, files: [], directories, generatedAt: new Date().toISOString() };
|
|
187
|
-
}
|
|
188
|
-
const total = filePaths.length;
|
|
189
|
-
if (total > effectiveMax) {
|
|
190
|
-
logWarn('INDEXER', `Too many files: ${total}, using ${effectiveMax}`);
|
|
191
|
-
filePaths.length = effectiveMax;
|
|
192
|
-
}
|
|
193
|
-
const allFiles = [];
|
|
194
|
-
for (const rel of filePaths) {
|
|
195
|
-
try {
|
|
196
|
-
const content = readFileSync(join(cwd, rel), 'utf-8');
|
|
197
|
-
const lines = content.split('\n').length;
|
|
198
|
-
const ext = rel.split('.').pop()?.toLowerCase() || '';
|
|
199
|
-
const langKey = EXT_MAP[ext] || ext;
|
|
200
|
-
const exports = extractExports(content, langKey);
|
|
201
|
-
allFiles.push({ path: rel, exports, lines });
|
|
202
|
-
}
|
|
203
|
-
catch { /* skip unreadable */ }
|
|
204
|
-
}
|
|
205
|
-
const elapsed = (performance.now() - start).toFixed(0);
|
|
206
|
-
logInfo('INDEXER', `generateProjectMap: ${allFiles.length} files, ${directories.length} dirs in ${elapsed}ms`);
|
|
207
|
-
return {
|
|
208
|
-
projectName,
|
|
209
|
-
files: allFiles,
|
|
210
|
-
directories,
|
|
211
|
-
generatedAt: new Date().toISOString(),
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
import { getTheme } from '../styling/index.js';
|
|
215
|
-
export function formatProjectMap(map) {
|
|
216
|
-
const theme = getTheme();
|
|
217
|
-
const lines = [];
|
|
218
|
-
lines.push(theme.heading(`PROJECT: ${map.projectName}`));
|
|
219
|
-
lines.push(theme.dim(`Files: ${map.files.length} | Dirs: ${map.directories.length} | Generated: ${map.generatedAt}`));
|
|
220
|
-
lines.push('');
|
|
221
|
-
// Собираем все директории из файлов
|
|
222
|
-
const dirsFromFiles = new Set();
|
|
223
|
-
for (const file of map.files) {
|
|
224
|
-
const parts = file.path.split('/');
|
|
225
|
-
if (parts.length > 1) {
|
|
226
|
-
// Добавляем все родительские директории
|
|
227
|
-
for (let i = 1; i < parts.length; i++) {
|
|
228
|
-
dirsFromFiles.add(parts.slice(0, i).join('/'));
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
// Добавляем пустые директории
|
|
233
|
-
const emptyDirs = (map.directories || []).filter(d => !dirsFromFiles.has(d));
|
|
234
|
-
const allDirs = [...dirsFromFiles, ...emptyDirs].sort();
|
|
235
|
-
// Показываем директории без файлов
|
|
236
|
-
for (const dir of allDirs) {
|
|
237
|
-
const hasFiles = map.files.some(f => f.path.startsWith(dir + '/'));
|
|
238
|
-
if (!hasFiles) {
|
|
239
|
-
lines.push(`${theme.dim(theme.icon.bullet)} ${theme.filePath(dir + '/')} ${theme.dim('(empty)')}`);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
if (allDirs.length > 0 && map.files.length > 0)
|
|
243
|
-
lines.push('');
|
|
244
|
-
let currentDir = '';
|
|
245
|
-
for (const file of map.files) {
|
|
246
|
-
const parts = file.path.split('/');
|
|
247
|
-
const dir = parts.length > 1 ? parts.slice(0, -1).join('/') : '';
|
|
248
|
-
if (dir !== currentDir) {
|
|
249
|
-
if (currentDir !== '')
|
|
250
|
-
lines.push('');
|
|
251
|
-
lines.push(`${theme.dim(theme.icon.bullet)} ${theme.filePath(dir + '/')}`);
|
|
252
|
-
currentDir = dir;
|
|
253
|
-
}
|
|
254
|
-
const name = parts[parts.length - 1];
|
|
255
|
-
const expStr = file.exports.length > 0 ? ` ${theme.dim('exports:')} ${file.exports.join(', ')}` : '';
|
|
256
|
-
lines.push(`${theme.dim(theme.icon.subBullet)} ${name}${expStr}`);
|
|
257
|
-
}
|
|
258
|
-
return lines.join('\n');
|
|
259
|
-
}
|
|
260
|
-
export function getProjectMapTokenEstimate(map) {
|
|
261
|
-
const text = formatProjectMap(map);
|
|
262
|
-
return Math.ceil(text.length / 4);
|
|
263
|
-
}
|
|
264
|
-
//# sourceMappingURL=project-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-map.js","sourceRoot":"","sources":["../../src/indexer/project-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { LLMProvider, ChatMessage, ChatOptions, Chunk } from './provider.js';
|
|
2
|
-
export declare class LMStudioNative implements LLMProvider {
|
|
3
|
-
readonly model: string;
|
|
4
|
-
contextWindow: number;
|
|
5
|
-
private baseUrl;
|
|
6
|
-
constructor(baseUrl: string, model: string, contextWindow: number);
|
|
7
|
-
chat(messages: ChatMessage[], options?: ChatOptions): AsyncIterable<Chunk>;
|
|
8
|
-
countTokens(text: string): Promise<number>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=lmstudio-native.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lmstudio-native.d.ts","sourceRoot":"","sources":["../../src/llm/lmstudio-native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgDlF,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAQ1D,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;IAoK3E,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIjD"}
|