@vpxa/aikit 0.1.58 → 0.1.60
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 +38 -3
- package/package.json +2 -1
- package/packages/aikit-client/dist/index.d.ts +146 -4
- package/packages/aikit-client/dist/index.js +5 -1
- package/packages/analyzers/dist/index.d.ts +309 -11
- package/packages/analyzers/dist/index.js +54 -1
- package/packages/chunker/dist/index.d.ts +451 -18
- package/packages/chunker/dist/index.js +24 -1
- package/packages/cli/dist/{commands/init/constants.js → constants-D3v4VDf0.js} +1 -1
- package/packages/cli/dist/index.js +15 -2
- package/packages/cli/dist/init-D0CiV9PX.js +7 -0
- package/packages/cli/dist/scaffold-CJwkHf-q.js +2 -0
- package/packages/cli/dist/{commands/init/templates.js → templates-DJ7EC5vw.js} +1 -1
- package/packages/cli/dist/user-HmJYNt5b.js +5 -0
- package/packages/core/dist/index.d.ts +357 -6
- package/packages/core/dist/index.js +1 -1
- package/packages/dashboard/dist/assets/{index-Cdke3KDK.js → index-C6D-PCp0.js} +7 -7
- package/packages/dashboard/dist/assets/index-C6D-PCp0.js.map +1 -0
- package/packages/dashboard/dist/index.html +1 -1
- package/packages/elicitation/dist/index.d.ts +139 -4
- package/packages/elicitation/dist/index.js +1 -1
- package/packages/embeddings/dist/index.d.ts +45 -2
- package/packages/embeddings/dist/index.js +1 -1
- package/packages/enterprise-bridge/dist/index.d.ts +275 -7
- package/packages/enterprise-bridge/dist/index.js +1 -1
- package/packages/flows/dist/index.d.ts +345 -12
- package/packages/flows/dist/index.js +15 -1
- package/packages/indexer/dist/index.d.ts +196 -6
- package/packages/indexer/dist/index.js +1 -1
- package/packages/present/dist/index.html +315 -314
- package/packages/server/dist/curated-manager-DX-_oJg0.js +5 -0
- package/packages/server/dist/index.d.ts +139 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/server-eMZ64H9b.js +1274 -0
- package/packages/store/dist/index.d.ts +316 -5
- package/packages/store/dist/index.js +90 -1
- package/packages/store/dist/lance-store-jdHZp-V4.js +1 -0
- package/packages/tools/dist/index.d.ts +2161 -61
- package/packages/tools/dist/index.js +117 -1
- package/packages/tui/dist/{App-CoMyn2kt.js → App-DobfqTPH.js} +1 -1
- package/packages/tui/dist/App.d.ts +1 -1
- package/packages/tui/dist/App.js +1 -1
- package/packages/tui/dist/{LogPanel-CDItCD0E.js → LogPanel-DGeptKim.js} +3 -3
- package/packages/tui/dist/hooks/useKBClient.d.ts +1 -1
- package/packages/tui/dist/{index-MXJeXmCf.d.ts → index-floZQwfo.d.ts} +2 -1
- package/packages/tui/dist/index.d.ts +1 -1
- package/packages/tui/dist/index.js +1 -1
- package/packages/tui/dist/panels/LogPanel.js +1 -1
- package/scaffold/definitions/bodies.mjs +47 -0
- package/scaffold/definitions/protocols.mjs +9 -0
- package/scaffold/definitions/tools.mjs +15 -0
- package/scaffold/general/agents/Debugger.agent.md +9 -0
- package/scaffold/general/agents/Documenter.agent.md +9 -0
- package/scaffold/general/agents/Frontend.agent.md +9 -0
- package/scaffold/general/agents/Implementer.agent.md +9 -0
- package/scaffold/general/agents/Orchestrator.agent.md +47 -0
- package/scaffold/general/agents/Planner.agent.md +9 -0
- package/scaffold/general/agents/Refactor.agent.md +9 -0
- package/scaffold/general/agents/Security.agent.md +9 -0
- package/scaffold/general/agents/_shared/code-agent-base.md +9 -0
- package/scaffold/general/skills/aikit/SKILL.md +71 -7
- package/scaffold/general/skills/c4-architecture/SKILL.md +87 -1
- package/scaffold/general/skills/c4-architecture/references/html-design-system.md +337 -0
- package/scaffold/general/skills/c4-architecture/references/html-template.html +627 -0
- package/scaffold/general/skills/present/SKILL.md +180 -0
- package/packages/aikit-client/dist/direct-client.d.ts +0 -37
- package/packages/aikit-client/dist/direct-client.js +0 -1
- package/packages/aikit-client/dist/mcp-client.d.ts +0 -19
- package/packages/aikit-client/dist/mcp-client.js +0 -4
- package/packages/aikit-client/dist/parsers.d.ts +0 -35
- package/packages/aikit-client/dist/parsers.js +0 -2
- package/packages/aikit-client/dist/types.d.ts +0 -62
- package/packages/aikit-client/dist/types.js +0 -1
- package/packages/analyzers/dist/blast-radius-analyzer.d.ts +0 -19
- package/packages/analyzers/dist/blast-radius-analyzer.js +0 -6
- package/packages/analyzers/dist/dependency-analyzer.d.ts +0 -32
- package/packages/analyzers/dist/dependency-analyzer.js +0 -8
- package/packages/analyzers/dist/diagram-generator.d.ts +0 -16
- package/packages/analyzers/dist/diagram-generator.js +0 -2
- package/packages/analyzers/dist/entry-point-analyzer.d.ts +0 -40
- package/packages/analyzers/dist/entry-point-analyzer.js +0 -4
- package/packages/analyzers/dist/knowledge-producer.d.ts +0 -40
- package/packages/analyzers/dist/knowledge-producer.js +0 -26
- package/packages/analyzers/dist/pattern-analyzer.d.ts +0 -15
- package/packages/analyzers/dist/pattern-analyzer.js +0 -2
- package/packages/analyzers/dist/regex-call-graph.d.ts +0 -10
- package/packages/analyzers/dist/regex-call-graph.js +0 -1
- package/packages/analyzers/dist/structure-analyzer.d.ts +0 -19
- package/packages/analyzers/dist/structure-analyzer.js +0 -4
- package/packages/analyzers/dist/symbol-analyzer.d.ts +0 -14
- package/packages/analyzers/dist/symbol-analyzer.js +0 -9
- package/packages/analyzers/dist/ts-call-graph.d.ts +0 -29
- package/packages/analyzers/dist/ts-call-graph.js +0 -1
- package/packages/analyzers/dist/types.d.ts +0 -110
- package/packages/analyzers/dist/types.js +0 -1
- package/packages/chunker/dist/call-graph-extractor.d.ts +0 -25
- package/packages/chunker/dist/call-graph-extractor.js +0 -1
- package/packages/chunker/dist/chunker-factory.d.ts +0 -19
- package/packages/chunker/dist/chunker-factory.js +0 -1
- package/packages/chunker/dist/chunker.interface.d.ts +0 -13
- package/packages/chunker/dist/chunker.interface.js +0 -1
- package/packages/chunker/dist/code-chunker.d.ts +0 -17
- package/packages/chunker/dist/code-chunker.js +0 -11
- package/packages/chunker/dist/extractors/call-extractor.d.ts +0 -24
- package/packages/chunker/dist/extractors/call-extractor.js +0 -1
- package/packages/chunker/dist/extractors/entry-point-detector.d.ts +0 -14
- package/packages/chunker/dist/extractors/entry-point-detector.js +0 -1
- package/packages/chunker/dist/extractors/import-extractor.d.ts +0 -14
- package/packages/chunker/dist/extractors/import-extractor.js +0 -1
- package/packages/chunker/dist/extractors/pattern-detector.d.ts +0 -14
- package/packages/chunker/dist/extractors/pattern-detector.js +0 -1
- package/packages/chunker/dist/extractors/scope-resolver.d.ts +0 -26
- package/packages/chunker/dist/extractors/scope-resolver.js +0 -1
- package/packages/chunker/dist/extractors/symbol-extractor.d.ts +0 -14
- package/packages/chunker/dist/extractors/symbol-extractor.js +0 -3
- package/packages/chunker/dist/extractors/types.d.ts +0 -44
- package/packages/chunker/dist/extractors/types.js +0 -1
- package/packages/chunker/dist/generic-chunker.d.ts +0 -15
- package/packages/chunker/dist/generic-chunker.js +0 -5
- package/packages/chunker/dist/markdown-chunker.d.ts +0 -17
- package/packages/chunker/dist/markdown-chunker.js +0 -3
- package/packages/chunker/dist/wasm/languages.d.ts +0 -18
- package/packages/chunker/dist/wasm/languages.js +0 -1
- package/packages/chunker/dist/wasm/query-executor.d.ts +0 -70
- package/packages/chunker/dist/wasm/query-executor.js +0 -1
- package/packages/chunker/dist/wasm/runtime.d.ts +0 -44
- package/packages/chunker/dist/wasm/runtime.js +0 -1
- package/packages/chunker/dist/wasm/types.d.ts +0 -84
- package/packages/chunker/dist/wasm/types.js +0 -1
- package/packages/chunker/dist/wasm-chunker.d.ts +0 -23
- package/packages/chunker/dist/wasm-chunker.js +0 -6
- package/packages/cli/dist/aikit-init.d.ts +0 -59
- package/packages/cli/dist/aikit-init.js +0 -1
- package/packages/cli/dist/commands/analyze.d.ts +0 -6
- package/packages/cli/dist/commands/analyze.js +0 -2
- package/packages/cli/dist/commands/context-cmds.d.ts +0 -6
- package/packages/cli/dist/commands/context-cmds.js +0 -1
- package/packages/cli/dist/commands/environment.d.ts +0 -6
- package/packages/cli/dist/commands/environment.js +0 -1
- package/packages/cli/dist/commands/execution.d.ts +0 -6
- package/packages/cli/dist/commands/execution.js +0 -1
- package/packages/cli/dist/commands/flow.d.ts +0 -6
- package/packages/cli/dist/commands/flow.js +0 -1
- package/packages/cli/dist/commands/graph.d.ts +0 -6
- package/packages/cli/dist/commands/graph.js +0 -6
- package/packages/cli/dist/commands/init/adapters.d.ts +0 -28
- package/packages/cli/dist/commands/init/adapters.js +0 -1
- package/packages/cli/dist/commands/init/config.d.ts +0 -10
- package/packages/cli/dist/commands/init/config.js +0 -3
- package/packages/cli/dist/commands/init/constants.d.ts +0 -46
- package/packages/cli/dist/commands/init/curated.d.ts +0 -7
- package/packages/cli/dist/commands/init/curated.js +0 -1
- package/packages/cli/dist/commands/init/frontmatter.d.ts +0 -79
- package/packages/cli/dist/commands/init/frontmatter.js +0 -2
- package/packages/cli/dist/commands/init/index.d.ts +0 -36
- package/packages/cli/dist/commands/init/index.js +0 -5
- package/packages/cli/dist/commands/init/manifest.d.ts +0 -72
- package/packages/cli/dist/commands/init/manifest.js +0 -1
- package/packages/cli/dist/commands/init/scaffold.d.ts +0 -58
- package/packages/cli/dist/commands/init/scaffold.js +0 -1
- package/packages/cli/dist/commands/init/templates.d.ts +0 -9
- package/packages/cli/dist/commands/init/user.d.ts +0 -61
- package/packages/cli/dist/commands/init/user.js +0 -5
- package/packages/cli/dist/commands/knowledge.d.ts +0 -6
- package/packages/cli/dist/commands/knowledge.js +0 -1
- package/packages/cli/dist/commands/search.d.ts +0 -6
- package/packages/cli/dist/commands/search.js +0 -1
- package/packages/cli/dist/commands/system.d.ts +0 -6
- package/packages/cli/dist/commands/system.js +0 -4
- package/packages/cli/dist/commands/upgrade.d.ts +0 -6
- package/packages/cli/dist/commands/upgrade.js +0 -1
- package/packages/cli/dist/commands/workspace.d.ts +0 -6
- package/packages/cli/dist/commands/workspace.js +0 -1
- package/packages/cli/dist/context.d.ts +0 -7
- package/packages/cli/dist/context.js +0 -1
- package/packages/cli/dist/helpers.d.ts +0 -55
- package/packages/cli/dist/helpers.js +0 -5
- package/packages/cli/dist/types.d.ts +0 -9
- package/packages/cli/dist/types.js +0 -1
- package/packages/core/dist/constants.d.ts +0 -74
- package/packages/core/dist/constants.js +0 -1
- package/packages/core/dist/content-detector.d.ts +0 -13
- package/packages/core/dist/content-detector.js +0 -1
- package/packages/core/dist/errors.d.ts +0 -20
- package/packages/core/dist/errors.js +0 -1
- package/packages/core/dist/global-registry.d.ts +0 -69
- package/packages/core/dist/global-registry.js +0 -1
- package/packages/core/dist/logger.d.ts +0 -32
- package/packages/core/dist/logger.js +0 -1
- package/packages/core/dist/types.d.ts +0 -149
- package/packages/core/dist/types.js +0 -1
- package/packages/dashboard/dist/assets/index-Cdke3KDK.js.map +0 -1
- package/packages/elicitation/dist/build.d.ts +0 -14
- package/packages/elicitation/dist/build.js +0 -1
- package/packages/elicitation/dist/fields.d.ts +0 -32
- package/packages/elicitation/dist/fields.js +0 -1
- package/packages/elicitation/dist/normalize.d.ts +0 -15
- package/packages/elicitation/dist/normalize.js +0 -1
- package/packages/elicitation/dist/types.d.ts +0 -88
- package/packages/elicitation/dist/types.js +0 -1
- package/packages/embeddings/dist/embedder.interface.d.ts +0 -26
- package/packages/embeddings/dist/embedder.interface.js +0 -1
- package/packages/embeddings/dist/onnx-embedder.d.ts +0 -23
- package/packages/embeddings/dist/onnx-embedder.js +0 -1
- package/packages/enterprise-bridge/dist/cache.d.ts +0 -28
- package/packages/enterprise-bridge/dist/cache.js +0 -1
- package/packages/enterprise-bridge/dist/er-client.d.ts +0 -37
- package/packages/enterprise-bridge/dist/er-client.js +0 -1
- package/packages/enterprise-bridge/dist/evolution-collector.d.ts +0 -62
- package/packages/enterprise-bridge/dist/evolution-collector.js +0 -1
- package/packages/enterprise-bridge/dist/policy-store.d.ts +0 -45
- package/packages/enterprise-bridge/dist/policy-store.js +0 -1
- package/packages/enterprise-bridge/dist/push-adapter.d.ts +0 -23
- package/packages/enterprise-bridge/dist/push-adapter.js +0 -1
- package/packages/enterprise-bridge/dist/result-merger.d.ts +0 -14
- package/packages/enterprise-bridge/dist/result-merger.js +0 -1
- package/packages/enterprise-bridge/dist/types.d.ts +0 -81
- package/packages/enterprise-bridge/dist/types.js +0 -1
- package/packages/flows/dist/adapters/claude-plugin.d.ts +0 -25
- package/packages/flows/dist/adapters/claude-plugin.js +0 -3
- package/packages/flows/dist/adapters/copilot.d.ts +0 -12
- package/packages/flows/dist/adapters/copilot.js +0 -1
- package/packages/flows/dist/adapters/index.d.ts +0 -12
- package/packages/flows/dist/adapters/index.js +0 -1
- package/packages/flows/dist/adapters/native.d.ts +0 -10
- package/packages/flows/dist/adapters/native.js +0 -1
- package/packages/flows/dist/adapters/openspec.d.ts +0 -40
- package/packages/flows/dist/adapters/openspec.js +0 -1
- package/packages/flows/dist/builtins.d.ts +0 -16
- package/packages/flows/dist/builtins.js +0 -1
- package/packages/flows/dist/foundation.d.ts +0 -20
- package/packages/flows/dist/foundation.js +0 -11
- package/packages/flows/dist/git.d.ts +0 -53
- package/packages/flows/dist/git.js +0 -2
- package/packages/flows/dist/loader.d.ts +0 -13
- package/packages/flows/dist/loader.js +0 -2
- package/packages/flows/dist/registry.d.ts +0 -23
- package/packages/flows/dist/registry.js +0 -1
- package/packages/flows/dist/state-machine.d.ts +0 -23
- package/packages/flows/dist/state-machine.js +0 -1
- package/packages/flows/dist/symlinks.d.ts +0 -17
- package/packages/flows/dist/symlinks.js +0 -1
- package/packages/flows/dist/types.d.ts +0 -127
- package/packages/flows/dist/types.js +0 -1
- package/packages/indexer/dist/file-hasher.d.ts +0 -13
- package/packages/indexer/dist/file-hasher.js +0 -1
- package/packages/indexer/dist/filesystem-crawler.d.ts +0 -29
- package/packages/indexer/dist/filesystem-crawler.js +0 -1
- package/packages/indexer/dist/graph-extractor.d.ts +0 -22
- package/packages/indexer/dist/graph-extractor.js +0 -1
- package/packages/indexer/dist/hash-cache.d.ts +0 -24
- package/packages/indexer/dist/hash-cache.js +0 -1
- package/packages/indexer/dist/incremental-indexer.d.ts +0 -73
- package/packages/indexer/dist/incremental-indexer.js +0 -1
- package/packages/indexer/dist/smart-index-scheduler.d.ts +0 -47
- package/packages/indexer/dist/smart-index-scheduler.js +0 -1
- package/packages/server/dist/api.d.ts +0 -3
- package/packages/server/dist/api.js +0 -1
- package/packages/server/dist/auto-gc.d.ts +0 -30
- package/packages/server/dist/auto-gc.js +0 -1
- package/packages/server/dist/background-task.d.ts +0 -47
- package/packages/server/dist/background-task.js +0 -1
- package/packages/server/dist/completions.d.ts +0 -14
- package/packages/server/dist/completions.js +0 -1
- package/packages/server/dist/compression-interceptor.d.ts +0 -12
- package/packages/server/dist/compression-interceptor.js +0 -1
- package/packages/server/dist/config.d.ts +0 -16
- package/packages/server/dist/cross-workspace.d.ts +0 -43
- package/packages/server/dist/cross-workspace.js +0 -1
- package/packages/server/dist/curated-manager.d.ts +0 -92
- package/packages/server/dist/curated-manager.js +0 -5
- package/packages/server/dist/dashboard-static.d.ts +0 -27
- package/packages/server/dist/elicitor.d.ts +0 -18
- package/packages/server/dist/elicitor.js +0 -1
- package/packages/server/dist/idle-timer.d.ts +0 -33
- package/packages/server/dist/idle-timer.js +0 -1
- package/packages/server/dist/mcp-logging.d.ts +0 -11
- package/packages/server/dist/mcp-logging.js +0 -1
- package/packages/server/dist/memory-monitor.d.ts +0 -37
- package/packages/server/dist/memory-monitor.js +0 -1
- package/packages/server/dist/output-schemas.d.ts +0 -244
- package/packages/server/dist/output-schemas.js +0 -1
- package/packages/server/dist/prompts.d.ts +0 -13
- package/packages/server/dist/prompts.js +0 -13
- package/packages/server/dist/replay-interceptor.d.ts +0 -23
- package/packages/server/dist/replay-interceptor.js +0 -1
- package/packages/server/dist/resource-links.d.ts +0 -34
- package/packages/server/dist/resource-links.js +0 -1
- package/packages/server/dist/resources/curated-resources.d.ts +0 -13
- package/packages/server/dist/resources/curated-resources.js +0 -2
- package/packages/server/dist/resources/resource-notifier.d.ts +0 -45
- package/packages/server/dist/resources/resource-notifier.js +0 -1
- package/packages/server/dist/resources/resources.d.ts +0 -8
- package/packages/server/dist/resources/resources.js +0 -2
- package/packages/server/dist/sampling.d.ts +0 -41
- package/packages/server/dist/sampling.js +0 -2
- package/packages/server/dist/server.d.ts +0 -63
- package/packages/server/dist/server.js +0 -3
- package/packages/server/dist/structured-content-guard.d.ts +0 -28
- package/packages/server/dist/structured-content-guard.js +0 -1
- package/packages/server/dist/task-manager.d.ts +0 -40
- package/packages/server/dist/task-manager.js +0 -1
- package/packages/server/dist/tool-metadata.d.ts +0 -38
- package/packages/server/dist/tool-metadata.js +0 -1
- package/packages/server/dist/tool-prefix.d.ts +0 -12
- package/packages/server/dist/tool-prefix.js +0 -1
- package/packages/server/dist/tool-timeout.d.ts +0 -27
- package/packages/server/dist/tool-timeout.js +0 -1
- package/packages/server/dist/tools/analyze.tools.d.ts +0 -14
- package/packages/server/dist/tools/analyze.tools.js +0 -8
- package/packages/server/dist/tools/audit.tool.d.ts +0 -8
- package/packages/server/dist/tools/audit.tool.js +0 -1
- package/packages/server/dist/tools/brainstorm.tool.d.ts +0 -7
- package/packages/server/dist/tools/brainstorm.tool.js +0 -9
- package/packages/server/dist/tools/bridge.tools.d.ts +0 -34
- package/packages/server/dist/tools/bridge.tools.js +0 -15
- package/packages/server/dist/tools/config.tool.d.ts +0 -8
- package/packages/server/dist/tools/config.tool.js +0 -12
- package/packages/server/dist/tools/context.tools.d.ts +0 -15
- package/packages/server/dist/tools/context.tools.js +0 -10
- package/packages/server/dist/tools/evolution.tools.d.ts +0 -7
- package/packages/server/dist/tools/evolution.tools.js +0 -5
- package/packages/server/dist/tools/execution.tools.d.ts +0 -14
- package/packages/server/dist/tools/execution.tools.js +0 -4
- package/packages/server/dist/tools/flow.tools.d.ts +0 -7
- package/packages/server/dist/tools/flow.tools.js +0 -16
- package/packages/server/dist/tools/forge.tools.d.ts +0 -13
- package/packages/server/dist/tools/forge.tools.js +0 -10
- package/packages/server/dist/tools/forget.tool.d.ts +0 -8
- package/packages/server/dist/tools/forget.tool.js +0 -1
- package/packages/server/dist/tools/graph.tool.d.ts +0 -7
- package/packages/server/dist/tools/graph.tool.js +0 -29
- package/packages/server/dist/tools/infra.tools.d.ts +0 -10
- package/packages/server/dist/tools/infra.tools.js +0 -5
- package/packages/server/dist/tools/list.tool.d.ts +0 -7
- package/packages/server/dist/tools/list.tool.js +0 -2
- package/packages/server/dist/tools/lookup.tool.d.ts +0 -7
- package/packages/server/dist/tools/lookup.tool.js +0 -3
- package/packages/server/dist/tools/manipulation.tools.d.ts +0 -10
- package/packages/server/dist/tools/manipulation.tools.js +0 -4
- package/packages/server/dist/tools/onboard.tool.d.ts +0 -12
- package/packages/server/dist/tools/onboard.tool.js +0 -2
- package/packages/server/dist/tools/persistence.tools.d.ts +0 -10
- package/packages/server/dist/tools/persistence.tools.js +0 -5
- package/packages/server/dist/tools/policy.tools.d.ts +0 -7
- package/packages/server/dist/tools/policy.tools.js +0 -3
- package/packages/server/dist/tools/present/browser.d.ts +0 -4
- package/packages/server/dist/tools/present/browser.js +0 -93
- package/packages/server/dist/tools/present/helpers.d.ts +0 -19
- package/packages/server/dist/tools/present/helpers.js +0 -16
- package/packages/server/dist/tools/present/html.d.ts +0 -18
- package/packages/server/dist/tools/present/html.js +0 -5
- package/packages/server/dist/tools/present/index.d.ts +0 -2
- package/packages/server/dist/tools/present/index.js +0 -1
- package/packages/server/dist/tools/present/markdown.d.ts +0 -32
- package/packages/server/dist/tools/present/markdown.js +0 -11
- package/packages/server/dist/tools/present/templates.d.ts +0 -14
- package/packages/server/dist/tools/present/templates.js +0 -472
- package/packages/server/dist/tools/present/tool.d.ts +0 -27
- package/packages/server/dist/tools/present/tool.js +0 -39
- package/packages/server/dist/tools/present-blocks.d.ts +0 -46
- package/packages/server/dist/tools/present-blocks.js +0 -27
- package/packages/server/dist/tools/present-charts.d.ts +0 -31
- package/packages/server/dist/tools/present-charts.js +0 -34
- package/packages/server/dist/tools/present-theme.d.ts +0 -14
- package/packages/server/dist/tools/present-theme.js +0 -396
- package/packages/server/dist/tools/present-utils.d.ts +0 -11
- package/packages/server/dist/tools/present-utils.js +0 -1
- package/packages/server/dist/tools/present.tool.d.ts +0 -2
- package/packages/server/dist/tools/present.tool.js +0 -1
- package/packages/server/dist/tools/produce.tool.d.ts +0 -7
- package/packages/server/dist/tools/produce.tool.js +0 -4
- package/packages/server/dist/tools/read.tool.d.ts +0 -7
- package/packages/server/dist/tools/read.tool.js +0 -2
- package/packages/server/dist/tools/reindex.tool.d.ts +0 -11
- package/packages/server/dist/tools/reindex.tool.js +0 -9
- package/packages/server/dist/tools/remember.tool.d.ts +0 -9
- package/packages/server/dist/tools/remember.tool.js +0 -4
- package/packages/server/dist/tools/replay.tool.d.ts +0 -6
- package/packages/server/dist/tools/replay.tool.js +0 -3
- package/packages/server/dist/tools/restore.tool.d.ts +0 -6
- package/packages/server/dist/tools/restore.tool.js +0 -3
- package/packages/server/dist/tools/search.tool.d.ts +0 -11
- package/packages/server/dist/tools/search.tool.js +0 -10
- package/packages/server/dist/tools/status.tool.d.ts +0 -28
- package/packages/server/dist/tools/status.tool.js +0 -3
- package/packages/server/dist/tools/update.tool.d.ts +0 -8
- package/packages/server/dist/tools/update.tool.js +0 -1
- package/packages/server/dist/tools/utility.tools.d.ts +0 -15
- package/packages/server/dist/tools/utility.tools.js +0 -13
- package/packages/server/dist/version-check.d.ts +0 -32
- package/packages/store/dist/graph-store.interface.d.ts +0 -159
- package/packages/store/dist/graph-store.interface.js +0 -1
- package/packages/store/dist/lance-store.d.ts +0 -46
- package/packages/store/dist/lance-store.js +0 -1
- package/packages/store/dist/sqlite-graph-store.d.ts +0 -57
- package/packages/store/dist/sqlite-graph-store.js +0 -90
- package/packages/store/dist/store-factory.d.ts +0 -12
- package/packages/store/dist/store-factory.js +0 -1
- package/packages/store/dist/store.interface.d.ts +0 -54
- package/packages/store/dist/store.interface.js +0 -1
- package/packages/tools/dist/audit.d.ts +0 -65
- package/packages/tools/dist/audit.js +0 -6
- package/packages/tools/dist/batch.d.ts +0 -23
- package/packages/tools/dist/batch.js +0 -1
- package/packages/tools/dist/changelog.d.ts +0 -36
- package/packages/tools/dist/changelog.js +0 -2
- package/packages/tools/dist/check.d.ts +0 -48
- package/packages/tools/dist/check.js +0 -2
- package/packages/tools/dist/checkpoint.d.ts +0 -19
- package/packages/tools/dist/checkpoint.js +0 -1
- package/packages/tools/dist/codemod.d.ts +0 -39
- package/packages/tools/dist/codemod.js +0 -2
- package/packages/tools/dist/compact.d.ts +0 -47
- package/packages/tools/dist/compact.js +0 -3
- package/packages/tools/dist/compress-output.d.ts +0 -38
- package/packages/tools/dist/compress-output.js +0 -1
- package/packages/tools/dist/compression/delta-cache.d.ts +0 -29
- package/packages/tools/dist/compression/delta-cache.js +0 -1
- package/packages/tools/dist/compression/engine.d.ts +0 -34
- package/packages/tools/dist/compression/engine.js +0 -4
- package/packages/tools/dist/compression/litm.d.ts +0 -20
- package/packages/tools/dist/compression/litm.js +0 -1
- package/packages/tools/dist/compression/mmr.d.ts +0 -24
- package/packages/tools/dist/compression/mmr.js +0 -1
- package/packages/tools/dist/compression/rules/docker.d.ts +0 -11
- package/packages/tools/dist/compression/rules/docker.js +0 -3
- package/packages/tools/dist/compression/rules/generic.d.ts +0 -11
- package/packages/tools/dist/compression/rules/generic.js +0 -3
- package/packages/tools/dist/compression/rules/git.d.ts +0 -11
- package/packages/tools/dist/compression/rules/git.js +0 -3
- package/packages/tools/dist/compression/rules/index.d.ts +0 -14
- package/packages/tools/dist/compression/rules/index.js +0 -1
- package/packages/tools/dist/compression/rules/kubectl.d.ts +0 -11
- package/packages/tools/dist/compression/rules/kubectl.js +0 -3
- package/packages/tools/dist/compression/rules/lint.d.ts +0 -11
- package/packages/tools/dist/compression/rules/lint.js +0 -3
- package/packages/tools/dist/compression/rules/npm.d.ts +0 -11
- package/packages/tools/dist/compression/rules/npm.js +0 -3
- package/packages/tools/dist/compression/rules/test-runner.d.ts +0 -11
- package/packages/tools/dist/compression/rules/test-runner.js +0 -3
- package/packages/tools/dist/compression/scoring.d.ts +0 -26
- package/packages/tools/dist/compression/scoring.js +0 -1
- package/packages/tools/dist/compression/types.d.ts +0 -61
- package/packages/tools/dist/compression/types.js +0 -1
- package/packages/tools/dist/config-extractor.d.ts +0 -9
- package/packages/tools/dist/config-extractor.js +0 -7
- package/packages/tools/dist/data-transform.d.ts +0 -12
- package/packages/tools/dist/data-transform.js +0 -1
- package/packages/tools/dist/dead-symbols.d.ts +0 -28
- package/packages/tools/dist/dead-symbols.js +0 -2
- package/packages/tools/dist/delegate.d.ts +0 -36
- package/packages/tools/dist/delegate.js +0 -1
- package/packages/tools/dist/diagram-builder.d.ts +0 -9
- package/packages/tools/dist/diagram-builder.js +0 -9
- package/packages/tools/dist/diff-parse.d.ts +0 -28
- package/packages/tools/dist/diff-parse.js +0 -3
- package/packages/tools/dist/digest.d.ts +0 -55
- package/packages/tools/dist/digest.js +0 -6
- package/packages/tools/dist/dogfood-log.d.ts +0 -49
- package/packages/tools/dist/dogfood-log.js +0 -2
- package/packages/tools/dist/encode.d.ts +0 -16
- package/packages/tools/dist/encode.js +0 -1
- package/packages/tools/dist/env-info.d.ts +0 -30
- package/packages/tools/dist/env-info.js +0 -1
- package/packages/tools/dist/eval.d.ts +0 -15
- package/packages/tools/dist/eval.js +0 -2
- package/packages/tools/dist/evidence-map.d.ts +0 -92
- package/packages/tools/dist/evidence-map.js +0 -2
- package/packages/tools/dist/file-cache.d.ts +0 -41
- package/packages/tools/dist/file-cache.js +0 -3
- package/packages/tools/dist/file-summary.d.ts +0 -52
- package/packages/tools/dist/file-summary.js +0 -2
- package/packages/tools/dist/file-walk.d.ts +0 -6
- package/packages/tools/dist/file-walk.js +0 -1
- package/packages/tools/dist/find-examples.d.ts +0 -29
- package/packages/tools/dist/find-examples.js +0 -3
- package/packages/tools/dist/find.d.ts +0 -49
- package/packages/tools/dist/find.js +0 -1
- package/packages/tools/dist/forge-classify.d.ts +0 -44
- package/packages/tools/dist/forge-classify.js +0 -2
- package/packages/tools/dist/forge-ground.d.ts +0 -61
- package/packages/tools/dist/forge-ground.js +0 -1
- package/packages/tools/dist/git-context.d.ts +0 -25
- package/packages/tools/dist/git-context.js +0 -3
- package/packages/tools/dist/graph-query.d.ts +0 -98
- package/packages/tools/dist/graph-query.js +0 -1
- package/packages/tools/dist/guide.d.ts +0 -25
- package/packages/tools/dist/guide.js +0 -1
- package/packages/tools/dist/health.d.ts +0 -16
- package/packages/tools/dist/health.js +0 -2
- package/packages/tools/dist/http-request.d.ts +0 -25
- package/packages/tools/dist/http-request.js +0 -1
- package/packages/tools/dist/lane.d.ts +0 -41
- package/packages/tools/dist/lane.js +0 -6
- package/packages/tools/dist/measure.d.ts +0 -42
- package/packages/tools/dist/measure.js +0 -2
- package/packages/tools/dist/onboard-utils.d.ts +0 -12
- package/packages/tools/dist/onboard-utils.js +0 -1
- package/packages/tools/dist/onboard.d.ts +0 -50
- package/packages/tools/dist/onboard.js +0 -18
- package/packages/tools/dist/parse-output.d.ts +0 -84
- package/packages/tools/dist/parse-output.js +0 -2
- package/packages/tools/dist/path-resolver.d.ts +0 -14
- package/packages/tools/dist/path-resolver.js +0 -1
- package/packages/tools/dist/process-manager.d.ts +0 -20
- package/packages/tools/dist/process-manager.js +0 -1
- package/packages/tools/dist/queue.d.ts +0 -40
- package/packages/tools/dist/queue.js +0 -1
- package/packages/tools/dist/regex-test.d.ts +0 -33
- package/packages/tools/dist/regex-test.js +0 -1
- package/packages/tools/dist/regex-utils.d.ts +0 -8
- package/packages/tools/dist/regex-utils.js +0 -1
- package/packages/tools/dist/rename.d.ts +0 -31
- package/packages/tools/dist/rename.js +0 -2
- package/packages/tools/dist/replay.d.ts +0 -59
- package/packages/tools/dist/replay.js +0 -4
- package/packages/tools/dist/response-envelope.d.ts +0 -43
- package/packages/tools/dist/response-envelope.js +0 -1
- package/packages/tools/dist/restore-points.d.ts +0 -22
- package/packages/tools/dist/restore-points.js +0 -1
- package/packages/tools/dist/schema-validate.d.ts +0 -25
- package/packages/tools/dist/schema-validate.js +0 -1
- package/packages/tools/dist/scope-map.d.ts +0 -51
- package/packages/tools/dist/scope-map.js +0 -1
- package/packages/tools/dist/snippet.d.ts +0 -35
- package/packages/tools/dist/snippet.js +0 -1
- package/packages/tools/dist/stash.d.ts +0 -14
- package/packages/tools/dist/stash.js +0 -1
- package/packages/tools/dist/stratum-card.d.ts +0 -30
- package/packages/tools/dist/stratum-card.js +0 -4
- package/packages/tools/dist/symbol.d.ts +0 -45
- package/packages/tools/dist/symbol.js +0 -3
- package/packages/tools/dist/synthesis-engine.d.ts +0 -13
- package/packages/tools/dist/synthesis-engine.js +0 -6
- package/packages/tools/dist/test-run.d.ts +0 -28
- package/packages/tools/dist/test-run.js +0 -2
- package/packages/tools/dist/text-utils.d.ts +0 -24
- package/packages/tools/dist/text-utils.js +0 -2
- package/packages/tools/dist/time-utils.d.ts +0 -20
- package/packages/tools/dist/time-utils.js +0 -1
- package/packages/tools/dist/trace.d.ts +0 -43
- package/packages/tools/dist/trace.js +0 -2
- package/packages/tools/dist/truncation.d.ts +0 -66
- package/packages/tools/dist/truncation.js +0 -11
- package/packages/tools/dist/watch.d.ts +0 -32
- package/packages/tools/dist/watch.js +0 -1
- package/packages/tools/dist/web-fetch.d.ts +0 -47
- package/packages/tools/dist/web-fetch.js +0 -8
- package/packages/tools/dist/web-search.d.ts +0 -25
- package/packages/tools/dist/web-search.js +0 -1
- package/packages/tools/dist/workset.d.ts +0 -47
- package/packages/tools/dist/workset.js +0 -1
- package/scaffold/__tests__/copilot-inline-shared-protocols.test.mjs +0 -39
- /package/packages/server/dist/{config.js → config-C5IU9Lau.js} +0 -0
- /package/packages/server/dist/{dashboard-static.js → dashboard-static-BfIe0Si1.js} +0 -0
- /package/packages/server/dist/{version-check.js → version-check-D4j0Pykd.js} +0 -0
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region packages/server/src/output-schemas.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Centralized output schemas for MCP tools that return naturally structured data.
|
|
6
|
-
*
|
|
7
|
-
* Phase 1: status, list, health, measure, env, time
|
|
8
|
-
* These schemas are used with `outputSchema` in tool registration and validated
|
|
9
|
-
* by the SDK at runtime. Keep them intentionally flat and stable — do not leak
|
|
10
|
-
* internal storage record shapes.
|
|
11
|
-
*/
|
|
12
|
-
declare const StatusOutputSchema: z.ZodObject<{
|
|
13
|
-
totalRecords: z.ZodNumber;
|
|
14
|
-
totalFiles: z.ZodNumber;
|
|
15
|
-
lastIndexedAt: z.ZodNullable<z.ZodString>;
|
|
16
|
-
onboarded: z.ZodBoolean;
|
|
17
|
-
onboardDir: z.ZodString;
|
|
18
|
-
contentTypes: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
19
|
-
wasmAvailable: z.ZodBoolean;
|
|
20
|
-
graphStats: z.ZodNullable<z.ZodObject<{
|
|
21
|
-
nodes: z.ZodNumber;
|
|
22
|
-
edges: z.ZodNumber;
|
|
23
|
-
}, z.core.$strip>>;
|
|
24
|
-
curatedCount: z.ZodNumber;
|
|
25
|
-
serverVersion: z.ZodString;
|
|
26
|
-
scaffoldVersion: z.ZodNullable<z.ZodString>;
|
|
27
|
-
workspaceScaffoldVersion: z.ZodNullable<z.ZodString>;
|
|
28
|
-
upgradeAvailable: z.ZodBoolean;
|
|
29
|
-
contextPressure: z.ZodNumber;
|
|
30
|
-
}, z.core.$strip>;
|
|
31
|
-
declare const ListOutputSchema: z.ZodObject<{
|
|
32
|
-
entries: z.ZodArray<z.ZodObject<{
|
|
33
|
-
path: z.ZodString;
|
|
34
|
-
title: z.ZodString;
|
|
35
|
-
category: z.ZodString;
|
|
36
|
-
tags: z.ZodArray<z.ZodString>;
|
|
37
|
-
version: z.ZodNumber;
|
|
38
|
-
preview: z.ZodString;
|
|
39
|
-
}, z.core.$strip>>;
|
|
40
|
-
totalCount: z.ZodNumber;
|
|
41
|
-
}, z.core.$strip>;
|
|
42
|
-
declare const HealthOutputSchema: z.ZodObject<{
|
|
43
|
-
ok: z.ZodBoolean;
|
|
44
|
-
checks: z.ZodArray<z.ZodObject<{
|
|
45
|
-
name: z.ZodString;
|
|
46
|
-
ok: z.ZodBoolean;
|
|
47
|
-
message: z.ZodOptional<z.ZodString>;
|
|
48
|
-
}, z.core.$strip>>;
|
|
49
|
-
}, z.core.$strip>;
|
|
50
|
-
declare const MeasureOutputSchema: z.ZodObject<{
|
|
51
|
-
summary: z.ZodObject<{
|
|
52
|
-
totalFiles: z.ZodNumber;
|
|
53
|
-
totalLines: z.ZodNumber;
|
|
54
|
-
totalCodeLines: z.ZodNumber;
|
|
55
|
-
totalFunctions: z.ZodNumber;
|
|
56
|
-
avgComplexity: z.ZodNumber;
|
|
57
|
-
maxComplexity: z.ZodObject<{
|
|
58
|
-
value: z.ZodNumber;
|
|
59
|
-
file: z.ZodString;
|
|
60
|
-
}, z.core.$strip>;
|
|
61
|
-
}, z.core.$strip>;
|
|
62
|
-
files: z.ZodArray<z.ZodObject<{
|
|
63
|
-
path: z.ZodString;
|
|
64
|
-
lines: z.ZodNumber;
|
|
65
|
-
code: z.ZodNumber;
|
|
66
|
-
complexity: z.ZodNumber;
|
|
67
|
-
functions: z.ZodNumber;
|
|
68
|
-
}, z.core.$strip>>;
|
|
69
|
-
}, z.core.$strip>;
|
|
70
|
-
declare const EnvOutputSchema: z.ZodObject<{
|
|
71
|
-
platform: z.ZodString;
|
|
72
|
-
arch: z.ZodString;
|
|
73
|
-
nodeVersion: z.ZodString;
|
|
74
|
-
cwd: z.ZodString;
|
|
75
|
-
cpus: z.ZodNumber;
|
|
76
|
-
memoryFreeGb: z.ZodNumber;
|
|
77
|
-
memoryTotalGb: z.ZodNumber;
|
|
78
|
-
}, z.core.$strip>;
|
|
79
|
-
declare const TimeOutputSchema: z.ZodObject<{
|
|
80
|
-
iso: z.ZodString;
|
|
81
|
-
unix: z.ZodNumber;
|
|
82
|
-
timezone: z.ZodString;
|
|
83
|
-
formatted: z.ZodString;
|
|
84
|
-
}, z.core.$strip>;
|
|
85
|
-
declare const CheckOutputSchema: z.ZodObject<{
|
|
86
|
-
passed: z.ZodBoolean;
|
|
87
|
-
tsc: z.ZodObject<{
|
|
88
|
-
passed: z.ZodBoolean;
|
|
89
|
-
errorCount: z.ZodNumber;
|
|
90
|
-
warningCount: z.ZodNumber;
|
|
91
|
-
topErrors: z.ZodArray<z.ZodString>;
|
|
92
|
-
}, z.core.$strip>;
|
|
93
|
-
biome: z.ZodObject<{
|
|
94
|
-
passed: z.ZodBoolean;
|
|
95
|
-
errorCount: z.ZodNumber;
|
|
96
|
-
warningCount: z.ZodNumber;
|
|
97
|
-
topErrors: z.ZodArray<z.ZodString>;
|
|
98
|
-
}, z.core.$strip>;
|
|
99
|
-
}, z.core.$strip>;
|
|
100
|
-
declare const SymbolOutputSchema: z.ZodObject<{
|
|
101
|
-
name: z.ZodString;
|
|
102
|
-
definedIn: z.ZodNullable<z.ZodObject<{
|
|
103
|
-
path: z.ZodString;
|
|
104
|
-
line: z.ZodNumber;
|
|
105
|
-
kind: z.ZodString;
|
|
106
|
-
signature: z.ZodOptional<z.ZodString>;
|
|
107
|
-
}, z.core.$strip>>;
|
|
108
|
-
importedBy: z.ZodArray<z.ZodObject<{
|
|
109
|
-
path: z.ZodString;
|
|
110
|
-
line: z.ZodNumber;
|
|
111
|
-
importStatement: z.ZodString;
|
|
112
|
-
}, z.core.$strip>>;
|
|
113
|
-
referencedIn: z.ZodArray<z.ZodObject<{
|
|
114
|
-
path: z.ZodString;
|
|
115
|
-
line: z.ZodNumber;
|
|
116
|
-
context: z.ZodString;
|
|
117
|
-
scope: z.ZodOptional<z.ZodString>;
|
|
118
|
-
}, z.core.$strip>>;
|
|
119
|
-
graphContext: z.ZodNullable<z.ZodObject<{
|
|
120
|
-
definingModule: z.ZodOptional<z.ZodString>;
|
|
121
|
-
importedByModules: z.ZodArray<z.ZodString>;
|
|
122
|
-
siblingSymbols: z.ZodArray<z.ZodString>;
|
|
123
|
-
}, z.core.$strip>>;
|
|
124
|
-
}, z.core.$strip>;
|
|
125
|
-
declare const SearchOutputSchema: z.ZodObject<{
|
|
126
|
-
results: z.ZodArray<z.ZodObject<{
|
|
127
|
-
sourcePath: z.ZodString;
|
|
128
|
-
contentType: z.ZodString;
|
|
129
|
-
score: z.ZodNumber;
|
|
130
|
-
headingPath: z.ZodOptional<z.ZodString>;
|
|
131
|
-
startLine: z.ZodOptional<z.ZodNumber>;
|
|
132
|
-
endLine: z.ZodOptional<z.ZodNumber>;
|
|
133
|
-
origin: z.ZodOptional<z.ZodString>;
|
|
134
|
-
category: z.ZodOptional<z.ZodString>;
|
|
135
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
136
|
-
}, z.core.$strip>>;
|
|
137
|
-
totalResults: z.ZodNumber;
|
|
138
|
-
searchMode: z.ZodString;
|
|
139
|
-
query: z.ZodString;
|
|
140
|
-
}, z.core.$strip>;
|
|
141
|
-
declare const FindOutputSchema: z.ZodObject<{
|
|
142
|
-
matches: z.ZodArray<z.ZodObject<{
|
|
143
|
-
path: z.ZodString;
|
|
144
|
-
line: z.ZodOptional<z.ZodNumber>;
|
|
145
|
-
matchType: z.ZodString;
|
|
146
|
-
preview: z.ZodString;
|
|
147
|
-
}, z.core.$strip>>;
|
|
148
|
-
totalMatches: z.ZodNumber;
|
|
149
|
-
pattern: z.ZodString;
|
|
150
|
-
truncated: z.ZodBoolean;
|
|
151
|
-
}, z.core.$strip>;
|
|
152
|
-
declare const ScopeMapOutputSchema: z.ZodObject<{
|
|
153
|
-
files: z.ZodArray<z.ZodObject<{
|
|
154
|
-
path: z.ZodString;
|
|
155
|
-
relevance: z.ZodNumber;
|
|
156
|
-
estimatedTokens: z.ZodNumber;
|
|
157
|
-
focusLines: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
158
|
-
}, z.core.$strip>>;
|
|
159
|
-
totalFiles: z.ZodNumber;
|
|
160
|
-
totalEstimatedTokens: z.ZodNumber;
|
|
161
|
-
task: z.ZodString;
|
|
162
|
-
}, z.core.$strip>;
|
|
163
|
-
declare const BlastRadiusOutputSchema: z.ZodObject<{
|
|
164
|
-
changedFiles: z.ZodArray<z.ZodString>;
|
|
165
|
-
affectedFiles: z.ZodArray<z.ZodObject<{
|
|
166
|
-
path: z.ZodString;
|
|
167
|
-
impact: z.ZodString;
|
|
168
|
-
reason: z.ZodString;
|
|
169
|
-
}, z.core.$strip>>;
|
|
170
|
-
totalAffected: z.ZodNumber;
|
|
171
|
-
riskLevel: z.ZodString;
|
|
172
|
-
}, z.core.$strip>;
|
|
173
|
-
declare const AuditOutputSchema: z.ZodObject<{
|
|
174
|
-
passed: z.ZodBoolean;
|
|
175
|
-
score: z.ZodNumber;
|
|
176
|
-
checks: z.ZodArray<z.ZodObject<{
|
|
177
|
-
name: z.ZodString;
|
|
178
|
-
passed: z.ZodBoolean;
|
|
179
|
-
message: z.ZodOptional<z.ZodString>;
|
|
180
|
-
severity: z.ZodOptional<z.ZodString>;
|
|
181
|
-
}, z.core.$strip>>;
|
|
182
|
-
summary: z.ZodString;
|
|
183
|
-
}, z.core.$strip>;
|
|
184
|
-
declare const GraphOutputSchema: z.ZodObject<{
|
|
185
|
-
nodes: z.ZodArray<z.ZodObject<{
|
|
186
|
-
id: z.ZodString;
|
|
187
|
-
name: z.ZodString;
|
|
188
|
-
type: z.ZodString;
|
|
189
|
-
sourcePath: z.ZodOptional<z.ZodString>;
|
|
190
|
-
}, z.core.$strip>>;
|
|
191
|
-
edges: z.ZodArray<z.ZodObject<{
|
|
192
|
-
fromId: z.ZodString;
|
|
193
|
-
toId: z.ZodString;
|
|
194
|
-
type: z.ZodString;
|
|
195
|
-
}, z.core.$strip>>;
|
|
196
|
-
totalNodes: z.ZodNumber;
|
|
197
|
-
totalEdges: z.ZodNumber;
|
|
198
|
-
query: z.ZodString;
|
|
199
|
-
}, z.core.$strip>;
|
|
200
|
-
declare const DeadSymbolsOutputSchema: z.ZodObject<{
|
|
201
|
-
symbols: z.ZodArray<z.ZodObject<{
|
|
202
|
-
name: z.ZodString;
|
|
203
|
-
path: z.ZodString;
|
|
204
|
-
line: z.ZodOptional<z.ZodNumber>;
|
|
205
|
-
kind: z.ZodString;
|
|
206
|
-
}, z.core.$strip>>;
|
|
207
|
-
totalDead: z.ZodNumber;
|
|
208
|
-
}, z.core.$strip>;
|
|
209
|
-
declare const AnalyzeStructureOutputSchema: z.ZodObject<{
|
|
210
|
-
files: z.ZodNumber;
|
|
211
|
-
packages: z.ZodNumber;
|
|
212
|
-
languages: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
213
|
-
tree: z.ZodString;
|
|
214
|
-
}, z.core.$strip>;
|
|
215
|
-
declare const FileSummaryOutputSchema: z.ZodObject<{
|
|
216
|
-
path: z.ZodString;
|
|
217
|
-
language: z.ZodString;
|
|
218
|
-
lines: z.ZodNumber;
|
|
219
|
-
imports: z.ZodNumber;
|
|
220
|
-
exports: z.ZodNumber;
|
|
221
|
-
functions: z.ZodNumber;
|
|
222
|
-
classes: z.ZodNumber;
|
|
223
|
-
}, z.core.$strip>;
|
|
224
|
-
declare const GitContextOutputSchema: z.ZodObject<{
|
|
225
|
-
gitRoot: z.ZodString;
|
|
226
|
-
branch: z.ZodString;
|
|
227
|
-
commitCount: z.ZodNumber;
|
|
228
|
-
hasUncommitted: z.ZodBoolean;
|
|
229
|
-
recentCommits: z.ZodArray<z.ZodObject<{
|
|
230
|
-
hash: z.ZodString;
|
|
231
|
-
message: z.ZodString;
|
|
232
|
-
author: z.ZodString;
|
|
233
|
-
date: z.ZodString;
|
|
234
|
-
}, z.core.$strip>>;
|
|
235
|
-
}, z.core.$strip>;
|
|
236
|
-
declare const CompactOutputSchema: z.ZodObject<{
|
|
237
|
-
originalChars: z.ZodNumber;
|
|
238
|
-
compressedChars: z.ZodNumber;
|
|
239
|
-
ratio: z.ZodNumber;
|
|
240
|
-
segmentsKept: z.ZodNumber;
|
|
241
|
-
segmentsTotal: z.ZodNumber;
|
|
242
|
-
}, z.core.$strip>;
|
|
243
|
-
//#endregion
|
|
244
|
-
export { AnalyzeStructureOutputSchema, AuditOutputSchema, BlastRadiusOutputSchema, CheckOutputSchema, CompactOutputSchema, DeadSymbolsOutputSchema, EnvOutputSchema, FileSummaryOutputSchema, FindOutputSchema, GitContextOutputSchema, GraphOutputSchema, HealthOutputSchema, ListOutputSchema, MeasureOutputSchema, ScopeMapOutputSchema, SearchOutputSchema, StatusOutputSchema, SymbolOutputSchema, TimeOutputSchema };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{z as e}from"zod";const t=e.object({totalRecords:e.number(),totalFiles:e.number(),lastIndexedAt:e.string().nullable(),onboarded:e.boolean(),onboardDir:e.string(),contentTypes:e.record(e.string(),e.number()),wasmAvailable:e.boolean(),graphStats:e.object({nodes:e.number(),edges:e.number()}).nullable(),curatedCount:e.number(),serverVersion:e.string(),scaffoldVersion:e.string().nullable(),workspaceScaffoldVersion:e.string().nullable(),upgradeAvailable:e.boolean(),contextPressure:e.number().min(0).max(100).describe(`0–100 score indicating knowledge base saturation`)}),n=e.object({entries:e.array(e.object({path:e.string(),title:e.string(),category:e.string(),tags:e.array(e.string()),version:e.number(),preview:e.string()})),totalCount:e.number()}),r=e.object({ok:e.boolean(),checks:e.array(e.object({name:e.string(),ok:e.boolean(),message:e.string().optional()}))}),i=e.object({summary:e.object({totalFiles:e.number(),totalLines:e.number(),totalCodeLines:e.number(),totalFunctions:e.number(),avgComplexity:e.number(),maxComplexity:e.object({value:e.number(),file:e.string()})}),files:e.array(e.object({path:e.string(),lines:e.number(),code:e.number(),complexity:e.number(),functions:e.number()}))}),a=e.object({platform:e.string(),arch:e.string(),nodeVersion:e.string(),cwd:e.string(),cpus:e.number(),memoryFreeGb:e.number(),memoryTotalGb:e.number()}),o=e.object({iso:e.string(),unix:e.number(),timezone:e.string(),formatted:e.string()}),s=e.object({passed:e.boolean(),errorCount:e.number(),warningCount:e.number(),topErrors:e.array(e.string())}),c=e.object({passed:e.boolean(),tsc:s,biome:s}),l=e.object({name:e.string(),definedIn:e.object({path:e.string(),line:e.number(),kind:e.string(),signature:e.string().optional()}).nullable(),importedBy:e.array(e.object({path:e.string(),line:e.number(),importStatement:e.string()})),referencedIn:e.array(e.object({path:e.string(),line:e.number(),context:e.string(),scope:e.string().optional()})),graphContext:e.object({definingModule:e.string().optional(),importedByModules:e.array(e.string()),siblingSymbols:e.array(e.string())}).nullable()}),u=e.object({sourcePath:e.string(),contentType:e.string(),score:e.number(),headingPath:e.string().optional(),startLine:e.number().optional(),endLine:e.number().optional(),origin:e.string().optional(),category:e.string().optional(),tags:e.array(e.string()).optional()}),d=e.object({results:e.array(u),totalResults:e.number(),searchMode:e.string(),query:e.string()}),f=e.object({path:e.string(),line:e.number().optional(),matchType:e.string(),preview:e.string()}),p=e.object({matches:e.array(f),totalMatches:e.number(),pattern:e.string(),truncated:e.boolean()}),m=e.object({path:e.string(),relevance:e.number(),estimatedTokens:e.number(),focusLines:e.array(e.string()).optional()}),h=e.object({files:e.array(m),totalFiles:e.number(),totalEstimatedTokens:e.number(),task:e.string()}),g=e.object({path:e.string(),impact:e.string(),reason:e.string()}),_=e.object({changedFiles:e.array(e.string()),affectedFiles:e.array(g),totalAffected:e.number(),riskLevel:e.string()}),v=e.object({name:e.string(),passed:e.boolean(),message:e.string().optional(),severity:e.string().optional()}),y=e.object({passed:e.boolean(),score:e.number(),checks:e.array(v),summary:e.string()}),b=e.object({id:e.string(),name:e.string(),type:e.string(),sourcePath:e.string().optional()}),x=e.object({fromId:e.string(),toId:e.string(),type:e.string()}),S=e.object({nodes:e.array(b),edges:e.array(x),totalNodes:e.number(),totalEdges:e.number(),query:e.string()}),C=e.object({symbols:e.array(e.object({name:e.string(),path:e.string(),line:e.number().optional(),kind:e.string()})),totalDead:e.number()}),w=e.object({files:e.number(),packages:e.number(),languages:e.record(e.string(),e.number()),tree:e.string()}),T=e.object({path:e.string(),language:e.string(),lines:e.number(),imports:e.number(),exports:e.number(),functions:e.number(),classes:e.number()}),E=e.object({gitRoot:e.string(),branch:e.string(),commitCount:e.number(),hasUncommitted:e.boolean(),recentCommits:e.array(e.object({hash:e.string(),message:e.string(),author:e.string(),date:e.string()}))}),D=e.object({originalChars:e.number(),compressedChars:e.number(),ratio:e.number(),segmentsKept:e.number(),segmentsTotal:e.number()});export{w as AnalyzeStructureOutputSchema,y as AuditOutputSchema,_ as BlastRadiusOutputSchema,c as CheckOutputSchema,D as CompactOutputSchema,C as DeadSymbolsOutputSchema,a as EnvOutputSchema,T as FileSummaryOutputSchema,p as FindOutputSchema,E as GitContextOutputSchema,S as GraphOutputSchema,r as HealthOutputSchema,n as ListOutputSchema,i as MeasureOutputSchema,h as ScopeMapOutputSchema,d as SearchOutputSchema,t as StatusOutputSchema,l as SymbolOutputSchema,o as TimeOutputSchema};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CuratedKnowledgeManager } from "./curated-manager.js";
|
|
2
|
-
import { IGraphStore, IKnowledgeStore } from "../../store/dist/index.js";
|
|
3
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
-
|
|
5
|
-
//#region packages/server/src/prompts.d.ts
|
|
6
|
-
interface PromptDependencies {
|
|
7
|
-
curated: CuratedKnowledgeManager;
|
|
8
|
-
store: IKnowledgeStore;
|
|
9
|
-
graphStore: IGraphStore;
|
|
10
|
-
}
|
|
11
|
-
declare function registerPrompts(server: McpServer, deps?: PromptDependencies, indexMode?: string): void;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { PromptDependencies, registerPrompts };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{completeCheckpointNames as e,completeCuratedPaths as t,completeFilePaths as n,completeStashKeys as r,completeSymbolNames as i,completeWorksetNames as a}from"./completions.js";import{completable as o}from"@modelcontextprotocol/sdk/server/completable.js";import{z as s}from"zod";function c(c,l,u){if(c.registerPrompt(`ready`,{title:`AI Kit Ready`,description:`AI Kit is ready — quick-start guide for search, onboard, and workflows`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`AI Kit is ready. Quick start:`,``,'• **New project?** → `onboard({ path: "." })` for full codebase analysis','• **Returning?** → `status({})` then `search({ query: "SESSION CHECKPOINT", origin: "curated" })`','• **Exploring?** → `guide({ goal: "your task" })` for workflow recommendations','• **Quick lookup?** → `search({ query: "your question" })`'].join(`
|
|
2
|
-
`)}}]})),c.registerPrompt(`onboard`,{title:`Onboard Codebase`,description:`Analyze the codebase for first-time onboarding — runs all analyzers and produces a knowledge summary`,argsSchema:{path:s.string().optional().describe(`Path to analyze (default: workspace root)`)}},async({path:e})=>({messages:[{role:`user`,content:{type:`text`,text:[`Run the full onboarding workflow for "${e??`.`}"`,``,`1. \`onboard({ path: "${e??`.`}" })\` — full codebase analysis`,`2. \`produce_knowledge({ path: "${e??`.`}" })\` — generate synthesis`,"3. `remember` key findings as curated entries","4. `status` to verify index health"].join(`
|
|
3
|
-
`)}}]})),c.registerPrompt(`sessionStart`,{title:`Start AI Kit Session`,description:`Initialize an AI Kit session — check status, list knowledge, and resume from last checkpoint`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`Run the session start protocol:`,``,"1. `status({})` — check AI Kit health and onboard state","2. `list()` — see stored knowledge entries",'3. `search({ query: "SESSION CHECKPOINT", origin: "curated" })` — resume prior work'].join(`
|
|
4
|
-
`)}}]})),c.registerPrompt(`sessionEnd`,{title:`End AI Kit Session`,description:`Persist decisions and create a session checkpoint before ending`,argsSchema:{summary:s.string().describe(`Brief summary of decisions made, blockers encountered, and next steps`)}},async({summary:e})=>({messages:[{role:`user`,content:{type:`text`,text:[`Run the session end protocol:`,``,'1. `remember({ title: "Session checkpoint: '+e.slice(0,60)+`...", content: "`+e.replace(/"/g,`\\"`)+'", category: "conventions" })` — persist findings',u===`smart`?`2. Smart indexing is active — index refreshes automatically`:"2. `reindex({})` — refresh search index if files changed",`3. Confirm session data saved`].join(`
|
|
5
|
-
`)}}]})),c.registerPrompt(`search`,{title:`Search AI Kit`,description:`Search AI Kit with hybrid semantic + keyword search`,argsSchema:{query:s.string().describe(`Search query`)}},async({query:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Search AI Kit for: "${e}"\n\nUse \`search({ query: "${e.replace(/"/g,`\\"`)}" })\` to find relevant code, documentation, and curated knowledge.`}}]})),c.registerPrompt(`remember`,{title:`Remember Knowledge`,description:`Store a decision, convention, or finding as curated knowledge`,argsSchema:{title:s.string().describe(`Title of the knowledge entry`),content:s.string().describe(`Content to remember`),category:s.enum([`conventions`,`decisions`,`patterns`,`blockers`,`tasks`]).optional().describe(`Category (default: conventions)`)}},async({title:e,content:t,category:n})=>({messages:[{role:`user`,content:{type:`text`,text:`Store this knowledge:\n\n\`remember({ title: "${e.replace(/"/g,`\\"`)}", content: "${t.replace(/"/g,`\\"`).slice(0,200)}...", category: "${n??`conventions`}" })\``}}]})),c.registerPrompt(`planTask`,{title:`Plan a Task`,description:`Generate a reading plan and scope map for a development task`,argsSchema:{task:s.string().describe(`Description of the task to plan`)}},async({task:e})=>({messages:[{role:`user`,content:{type:`text`,text:[`Plan implementation for: "${e}"`,``,'1. `search({ query: "'+e.replace(/"/g,`\\"`)+'" })` — find related code and prior decisions','2. `scope_map({ task: "'+e.replace(/"/g,`\\"`)+'" })` — generate a reading plan',"3. For each recommended file, use `file_summary` then `compact` for detail","4. `blast_radius` on planned changes to assess impact"].join(`
|
|
6
|
-
`)}}]})),c.registerPrompt(`investigate`,{title:`Investigate Bug`,description:`Bug investigation workflow — parse error, find symbols, trace data flow, assess impact`,argsSchema:{error:s.string().describe(`Error message, stack trace, or bug description`)}},async({error:e})=>({messages:[{role:`user`,content:{type:`text`,text:[`Investigate this error:`,"```",e,"```",``,`Follow the bug investigation workflow:`,"1. `parse_output({ text: <error> })` — extract structured data from the error","2. `symbol({ name: <relevant symbol> })` — find definition and references",'3. `trace({ symbol: <symbol>, direction: "backward" })` — trace data flow to find root cause',"4. `blast_radius({ changed_files: [<affected files>] })` — assess fix impact"].join(`
|
|
7
|
-
`)}}]})),!l)return;let{curated:d,store:f,graphStore:p}=l;c.registerPrompt(`read_knowledge`,{title:`Read Knowledge`,description:`Read a curated knowledge entry by path — with autocomplete`,argsSchema:{path:o(s.string().describe(`Path of the curated entry (e.g. conventions/naming.md)`),async e=>t(d,e))}},async({path:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Read the curated knowledge entry: \`read({ path: "${e}" })\``}}]})),c.registerPrompt(`update_knowledge`,{title:`Update Knowledge`,description:`Update an existing curated knowledge entry — with autocomplete`,argsSchema:{path:o(s.string().describe(`Path of the curated entry to update`),async e=>t(d,e)),content:s.string().describe(`New content for the entry`)}},async({path:e,content:t})=>({messages:[{role:`user`,content:{type:`text`,text:`Update the curated entry at "${e}":\n\n\`update({ path: "${e}", content: "${t.replace(/"/g,`\\"`).slice(0,200)}..." })\``}}]})),c.registerPrompt(`forget_knowledge`,{title:`Forget Knowledge`,description:`Delete a curated knowledge entry — with autocomplete`,argsSchema:{path:o(s.string().describe(`Path of the curated entry to delete`),async e=>t(d,e))}},async({path:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Delete the curated entry: \`forget({ path: "${e}" })\``}}]})),c.registerPrompt(`lookup_file`,{title:`Lookup File`,description:`Look up an indexed file — with autocomplete`,argsSchema:{path:o(s.string().describe(`Source file path`),async e=>n(f,e))}},async({path:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Look up the indexed file: \`file_summary({ path: "${e}" })\``}}]})),c.registerPrompt(`find_symbol`,{title:`Find Symbol`,description:`Find a symbol definition and references — with autocomplete`,argsSchema:{name:o(s.string().describe(`Symbol name`),async e=>i(p,e))}},async({name:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Find symbol: \`symbol({ name: "${e}" })\``}}]})),c.registerPrompt(`get_stash`,{title:`Get Stash`,description:`Retrieve a stashed value by key — with autocomplete`,argsSchema:{key:o(s.string().describe(`Stash key`),e=>r(e))}},async({key:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Get stashed value: \`stash({ action: "get", key: "${e}" })\``}}]})),c.registerPrompt(`get_workset`,{title:`Get Workset`,description:`Load a saved workset by name — with autocomplete`,argsSchema:{name:o(s.string().describe(`Workset name`),e=>a(e))}},async({name:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Load workset: \`workset({ action: "load", name: "${e}" })\``}}]})),c.registerPrompt(`load_checkpoint`,{title:`Load Checkpoint`,description:`Restore a saved checkpoint by name — with autocomplete`,argsSchema:{name:o(s.string().describe(`Checkpoint name`),t=>e(t))}},async({name:e})=>({messages:[{role:`user`,content:{type:`text`,text:`Load checkpoint: \`checkpoint({ action: "load", name: "${e}" })\``}}]})),c.registerPrompt(`audit_workflow`,{title:`Audit Workflow`,description:`Run a full project quality audit: check → test_run → audit → produce recommendations`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## Audit Workflow`,``,`Execute the following tools in sequence:`,``,"1. `check({})` — Run typecheck + lint","2. `test_run({})` — Run all tests","3. `audit({})` — Full project audit","4. Review findings and `remember` important patterns",``,`Report: pass/fail status, error counts, audit recommendations, and suggested next steps.`].join(`
|
|
8
|
-
`)}}]})),c.registerPrompt(`refactor_workflow`,{title:`Refactor Workflow`,description:`Safe refactoring workflow: analyze → blast_radius → implement → verify`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## Refactor Workflow`,``,`For the target files/symbols:`,``,"1. `analyze_structure({ path })` — Understand current structure","2. `analyze_dependencies({ path })` — Map dependency graph","3. `blast_radius({ changed_files })` — Assess impact scope",`4. Implement changes carefully`,"5. `check({})` + `test_run({})` — Verify nothing broke",u===`smart`?`6. Smart indexing is active — changes will be indexed automatically`:"6. `reindex({})` — Update AI Kit with changes",``,`What would you like to refactor?`].join(`
|
|
9
|
-
`)}}]})),c.registerPrompt(`forge_workflow`,{title:`FORGE Workflow`,description:`Full FORGE protocol: classify → ground → implement with quality gates`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## FORGE Quality Gate Workflow`,``,"1. `forge_classify({ task })` — Determine complexity tier (floor/standard/critical)","2. `forge_ground({ task, files, root_path })` — Full grounding analysis",`3. Review typed unknowns and constraints`,`4. Implement with evidence tracking`,'5. `evidence_map({ action: "validate" })` — Verify all claims',"6. `check({})` + `test_run({})` — Final verification",``,`Describe the task to classify:`].join(`
|
|
10
|
-
`)}}]})),c.registerPrompt(`investigate_workflow`,{title:`Investigate Issue`,description:`Bug investigation workflow: trace → analyze → find root cause → fix`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## Bug Investigation Workflow`,``,"1. `parse_output({ output })` — Parse error messages if available","2. `symbol({ name })` — Find the failing symbol",'3. `trace({ symbol, direction: "backward" })` — Trace data flow to root cause',"4. `blast_radius({ changed_files })` — Assess impact of fix",`5. Implement fix`,"6. `check({})` + `test_run({})` — Verify fix works",``,`Describe the issue:`].join(`
|
|
11
|
-
`)}}]})),c.registerPrompt(`context_workflow`,{title:`Build Context`,description:`Progressive context building: file_summary → compact → digest for deep understanding`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## Context Building Workflow`,``,`Build understanding progressively:`,``,"1. `file_summary({ path })` — Structure overview (~50 tokens)","2. `compact({ path, query })` — Extract relevant sections (5-20x reduction)","3. `digest({ sources })` — Multi-file compressed summary","4. `stratum_card({ files })` — Reusable reference card",``,`For project-wide context:`,"- `scope_map({ task })` — Reading plan for a specific task",'- `workset({ action: "save" })` — Save working set for later',``,`What do you need to understand?`].join(`
|
|
12
|
-
`)}}]})),c.registerPrompt(`migrate_workflow`,{title:`Migration Workflow`,description:`Code migration workflow: analyze → plan → migrate → verify → document`},async()=>({messages:[{role:`user`,content:{type:`text`,text:[`## Migration Workflow`,``,"1. `analyze_structure({ path })` — Current codebase state","2. `analyze_patterns({ path })` — Identify patterns to migrate","3. `dead_symbols({ path })` — Find unused code to remove",'4. `scope_map({ task: "migration" })` — Plan migration scope',"5. Use `codemod` for bulk transformations","6. `check({})` + `test_run({})` — Verify after each step","7. `changelog({ from })` — Document changes",``,`What are you migrating from/to?`].join(`
|
|
13
|
-
`)}}]}))}export{c as registerPrompts};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
|
|
3
|
-
//#region packages/server/src/replay-interceptor.d.ts
|
|
4
|
-
interface ToolStats {
|
|
5
|
-
callCount: number;
|
|
6
|
-
totalDurationMs: number;
|
|
7
|
-
totalInputChars: number;
|
|
8
|
-
totalOutputChars: number;
|
|
9
|
-
errorCount: number;
|
|
10
|
-
}
|
|
11
|
-
/** Get per-tool invocation statistics for the current session. */
|
|
12
|
-
declare function getToolTelemetry(): Array<{
|
|
13
|
-
tool: string;
|
|
14
|
-
} & ToolStats>;
|
|
15
|
-
/** Get the rolling latency buffer (last N tool call durations in ms). */
|
|
16
|
-
declare function getLatencyBuffer(): readonly number[];
|
|
17
|
-
/**
|
|
18
|
-
* Wrap the McpServer's registerTool method so that every tool invocation
|
|
19
|
-
* is logged to the replay JSONL audit trail.
|
|
20
|
-
*/
|
|
21
|
-
declare function installReplayInterceptor(server: McpServer): void;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { getLatencyBuffer, getToolTelemetry, installReplayInterceptor };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{checkAndMaybeGc as e}from"./auto-gc.js";import{replayAppend as t}from"../../tools/dist/index.js";const n=/key|token|secret|auth|password|bearer/i,r=new Set([`eval`,`env`]);function i(e,t){if(r.has(e))return JSON.stringify({_redacted:!0,tool:e});if(e===`http`&&t.headers&&typeof t.headers==`object`){let e={...t},r={};for(let[e,i]of Object.entries(t.headers))r[e]=n.test(e)?`[REDACTED]`:i;return e.headers=r,JSON.stringify(e).slice(0,200)}return JSON.stringify(t).slice(0,200)}const a=new Map,o=[];function s(t,n,r,i,s){let c=a.get(t);c||(c={callCount:0,totalDurationMs:0,totalInputChars:0,totalOutputChars:0,errorCount:0},a.set(t,c)),c.callCount++,c.totalDurationMs+=n,c.totalInputChars+=r,c.totalOutputChars+=i,s&&c.errorCount++,o.push(n),o.length>100&&o.shift(),o.length>=10&&o.length%20==0&&e()}function c(){return Array.from(a.entries()).map(([e,t])=>({tool:e,...t}))}function l(){return o}function u(e){let n=e.registerTool.bind(e);e.registerTool=(e,r,a)=>n(e,r,async(n,r)=>{let o=Date.now(),c=JSON.stringify(n??{}).length;try{let l=await a(n,r),u=Date.now()-o,d=JSON.stringify(l);return t({ts:new Date().toISOString(),source:`mcp`,tool:e,input:i(e,n),durationMs:u,status:`ok`,output:d.slice(0,200)}),s(e,u,c,d.length,!1),l}catch(r){let a=Date.now()-o;throw t({ts:new Date().toISOString(),source:`mcp`,tool:e,input:i(e,n),durationMs:a,status:`error`,output:r instanceof Error?r.message:String(r)}),s(e,a,c,0,!0),r}})}export{l as getLatencyBuffer,c as getToolTelemetry,u as installReplayInterceptor};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
//#region packages/server/src/resource-links.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Helpers for emitting resource_link content blocks in tool results.
|
|
4
|
-
* Centralises the `aikit://curated/{path}` URI scheme so all tools stay consistent.
|
|
5
|
-
*/
|
|
6
|
-
/** Shape of a resource_link content block (matches MCP SDK ResourceLink). */
|
|
7
|
-
interface ResourceLinkBlock {
|
|
8
|
-
type: 'resource_link';
|
|
9
|
-
uri: string;
|
|
10
|
-
name: string;
|
|
11
|
-
description?: string;
|
|
12
|
-
mimeType?: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Build a resource_link content block for a single curated knowledge entry.
|
|
16
|
-
* Returns `undefined` for invalid paths so callers can safely filter.
|
|
17
|
-
*/
|
|
18
|
-
declare function curatedResourceLink(path: string | undefined | null, name?: string, description?: string): ResourceLinkBlock | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Build resource_link blocks for multiple curated entries.
|
|
21
|
-
* Deduplicates by URI and filters out invalid paths.
|
|
22
|
-
*/
|
|
23
|
-
declare function curatedResourceLinks(entries: ReadonlyArray<{
|
|
24
|
-
path: string;
|
|
25
|
-
title?: string;
|
|
26
|
-
category?: string;
|
|
27
|
-
}>): ResourceLinkBlock[];
|
|
28
|
-
/**
|
|
29
|
-
* Extract the curated path from a store `sourcePath`.
|
|
30
|
-
* Returns `undefined` for non-curated records.
|
|
31
|
-
*/
|
|
32
|
-
declare function extractCuratedPath(sourcePath: string): string | undefined;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { ResourceLinkBlock, curatedResourceLink, curatedResourceLinks, extractCuratedPath };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e,t,n){if(!(!e||typeof e!=`string`)&&!(e.includes(`..`)||e.startsWith(`/`)||e.startsWith(`[`)))return{type:`resource_link`,uri:`aikit://curated/${e}`,name:t??e,mimeType:`text/markdown`,...n?{description:n}:{}}}function t(t){let n=new Set,r=[];for(let i of t){let t=e(i.path,i.title,i.category?`[${i.category}]`:void 0);t&&!n.has(t.uri)&&(n.add(t.uri),r.push(t))}return r}function n(e){if(e.startsWith(`.ai/curated/`))return e.slice(12)}export{e as curatedResourceLink,t as curatedResourceLinks,n as extractCuratedPath};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CuratedKnowledgeManager } from "../curated-manager.js";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
|
|
4
|
-
//#region packages/server/src/resources/curated-resources.d.ts
|
|
5
|
-
/**
|
|
6
|
-
* Register curated knowledge as browsable MCP resources.
|
|
7
|
-
*
|
|
8
|
-
* - `aikit://curated` — index listing all curated entries
|
|
9
|
-
* - `aikit://curated/{path}` — individual entry by path (e.g. `decisions/use-lancedb.md`)
|
|
10
|
-
*/
|
|
11
|
-
declare function registerCuratedResources(server: McpServer, curated: CuratedKnowledgeManager): void;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { registerCuratedResources };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ResourceTemplate as e}from"@modelcontextprotocol/sdk/server/mcp.js";function t(t,n){t.resource(`aikit-curated-index`,`aikit://curated`,{description:`Index of all curated knowledge entries`,mimeType:`text/markdown`},async()=>{let e=(await n.list()).map(e=>`- [${e.title}](aikit://curated/${e.path}) — ${e.category}`);return{contents:[{uri:`aikit://curated`,text:`# Curated Knowledge Index\n\n${e.length>0?e.join(`
|
|
2
|
-
`):`_No curated entries yet._`}`,mimeType:`text/markdown`}]}});let r=new e(`aikit://curated/{+path}`,{list:async()=>({resources:(await n.list()).map(e=>({uri:`aikit://curated/${e.path}`,name:e.title,description:`[${e.category}] ${e.contentPreview?.slice(0,80)??``}`,mimeType:`text/markdown`}))})});t.resource(`aikit-curated-entry`,r,{description:`A curated knowledge entry`,mimeType:`text/markdown`},async(e,t)=>{let r=t.path;if(!r)throw Error(`Missing path variable in curated resource URI`);let i=await n.read(r);return{contents:[{uri:e.toString(),text:`---\ntitle: ${i.title}\ncategory: ${i.category}\ntags: ${i.tags?.join(`, `)??``}\nversion: ${i.version??1}\n---\n\n${i.content??i.contentPreview??``}`,mimeType:`text/markdown`}]}})}export{t as registerCuratedResources};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
|
|
3
|
-
//#region packages/server/src/resources/resource-notifier.d.ts
|
|
4
|
-
declare class ResourceNotifier {
|
|
5
|
-
private readonly mcpServer;
|
|
6
|
-
constructor(mcpServer: McpServer);
|
|
7
|
-
/**
|
|
8
|
-
* Notify that the AI Kit status resource has changed.
|
|
9
|
-
* Call after: reindex, onboard, remember, forget operations.
|
|
10
|
-
*/
|
|
11
|
-
notifyStatusChanged(): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Notify that the file tree resource has changed.
|
|
14
|
-
* Call after: reindex operations.
|
|
15
|
-
*/
|
|
16
|
-
notifyFileTreeChanged(): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Notify that the curated knowledge index has changed.
|
|
19
|
-
* Call after: remember, update, forget operations.
|
|
20
|
-
*/
|
|
21
|
-
notifyCuratedIndexChanged(): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Notify that a specific curated entry has changed.
|
|
24
|
-
* Call after: update or remember operations for a specific path.
|
|
25
|
-
*/
|
|
26
|
-
notifyCuratedEntryChanged(path: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Notify that the resource list itself changed (new/removed resources).
|
|
29
|
-
* Call after: curated entries are added or removed.
|
|
30
|
-
*/
|
|
31
|
-
notifyResourceListChanged(): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Convenience: notify all relevant resources after a reindex.
|
|
34
|
-
*/
|
|
35
|
-
notifyAfterReindex(): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Convenience: notify all relevant resources after a curated write.
|
|
38
|
-
*/
|
|
39
|
-
notifyAfterCuratedWrite(path?: string): Promise<void>;
|
|
40
|
-
private sendUpdate;
|
|
41
|
-
}
|
|
42
|
-
/** No-op resource notifier — all methods silently succeed. */
|
|
43
|
-
declare const noopResourceNotifier: ResourceNotifier;
|
|
44
|
-
//#endregion
|
|
45
|
-
export { ResourceNotifier, noopResourceNotifier };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createLogger as e}from"../../../core/dist/index.js";const t=e(`resource-notifier`);var n=class{constructor(e){this.mcpServer=e}async notifyStatusChanged(){await this.sendUpdate(`aikit://status`)}async notifyFileTreeChanged(){await this.sendUpdate(`aikit://file-tree`)}async notifyCuratedIndexChanged(){await this.sendUpdate(`aikit://curated`)}async notifyCuratedEntryChanged(e){await this.sendUpdate(`aikit://curated/${e}`)}async notifyResourceListChanged(){try{await this.mcpServer.server.sendResourceListChanged()}catch(e){t.debug(`sendResourceListChanged failed`,{error:String(e)})}}async notifyAfterReindex(){await Promise.allSettled([this.notifyStatusChanged(),this.notifyFileTreeChanged()])}async notifyAfterCuratedWrite(e){let t=[this.notifyStatusChanged(),this.notifyCuratedIndexChanged()];e&&t.push(this.notifyCuratedEntryChanged(e)),await Promise.allSettled(t)}async sendUpdate(e){try{await this.mcpServer.server.sendResourceUpdated({uri:e})}catch(n){t.debug(`sendResourceUpdated failed`,{uri:e,error:String(n)})}}};const r={notifyStatusChanged:async()=>{},notifyFileTreeChanged:async()=>{},notifyCuratedIndexChanged:async()=>{},notifyCuratedEntryChanged:async()=>{},notifyResourceListChanged:async()=>{},notifyAfterReindex:async()=>{},notifyAfterCuratedWrite:async()=>{}};export{n as ResourceNotifier,r as noopResourceNotifier};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { CuratedKnowledgeManager } from "../curated-manager.js";
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
-
import { IKnowledgeStore } from "../../../store/dist/index.js";
|
|
4
|
-
|
|
5
|
-
//#region packages/server/src/resources/resources.d.ts
|
|
6
|
-
declare function registerResources(server: McpServer, store: IKnowledgeStore, curated: CuratedKnowledgeManager): void;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { registerResources };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{registerCuratedResources as e}from"./curated-resources.js";function t(t,n,r){t.resource(`aikit-status`,`aikit://status`,{description:`Current AI Kit status and statistics`,mimeType:`text/plain`},async()=>{let e=await n.getStats();return{contents:[{uri:`aikit://status`,text:`AI Kit: ${e.totalRecords} records from ${e.totalFiles} files. Last indexed: ${e.lastIndexedAt??`Never`}`,mimeType:`text/plain`}]}}),t.resource(`aikit-file-tree`,`aikit://file-tree`,{description:`List of all indexed source files`,mimeType:`text/plain`},async()=>({contents:[{uri:`aikit://file-tree`,text:(await n.listSourcePaths()).sort().join(`
|
|
2
|
-
`),mimeType:`text/plain`}]})),e(t,r)}export{t as registerResources};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
|
|
3
|
-
//#region packages/server/src/sampling.d.ts
|
|
4
|
-
interface SamplingRequest {
|
|
5
|
-
/** The user prompt to send. */
|
|
6
|
-
prompt: string;
|
|
7
|
-
/** Optional system prompt. */
|
|
8
|
-
systemPrompt?: string;
|
|
9
|
-
/** Optional context to prepend to the prompt. */
|
|
10
|
-
context?: string;
|
|
11
|
-
/** Max tokens in the response (default: 4000). */
|
|
12
|
-
maxTokens?: number;
|
|
13
|
-
/** Model preferences. */
|
|
14
|
-
modelPreferences?: {
|
|
15
|
-
costPriority?: number;
|
|
16
|
-
speedPriority?: number;
|
|
17
|
-
intelligencePriority?: number;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
interface SamplingResponse {
|
|
21
|
-
/** The model's text response. */
|
|
22
|
-
text: string;
|
|
23
|
-
/** Which model was used. */
|
|
24
|
-
model?: string;
|
|
25
|
-
/** Stop reason. */
|
|
26
|
-
stopReason?: string;
|
|
27
|
-
}
|
|
28
|
-
interface ISamplingClient {
|
|
29
|
-
/** Whether the sampling capability is available. */
|
|
30
|
-
readonly available: boolean;
|
|
31
|
-
/** Send a prompt to the host LLM. */
|
|
32
|
-
createMessage(request: SamplingRequest): Promise<SamplingResponse>;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Create a sampling client backed by the MCP server.
|
|
36
|
-
*/
|
|
37
|
-
declare function createSamplingClient(mcpServer: McpServer): ISamplingClient;
|
|
38
|
-
/** No-op sampling client — always reports unavailable. */
|
|
39
|
-
declare const noopSamplingClient: ISamplingClient;
|
|
40
|
-
//#endregion
|
|
41
|
-
export { ISamplingClient, SamplingRequest, SamplingResponse, createSamplingClient, noopSamplingClient };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createLogger as e}from"../../core/dist/index.js";const t=e(`sampling`);function n(e){if(!e.modelPreferences)return;let t={...e.modelPreferences.costPriority===void 0?{}:{costPriority:e.modelPreferences.costPriority},...e.modelPreferences.speedPriority===void 0?{}:{speedPriority:e.modelPreferences.speedPriority},...e.modelPreferences.intelligencePriority===void 0?{}:{intelligencePriority:e.modelPreferences.intelligencePriority}};return Object.keys(t).length>0?t:void 0}function r(e){if(Array.isArray(e))return e.map(e=>r(e)).filter(e=>e.length>0).join(`
|
|
2
|
-
`);if(e&&typeof e==`object`&&`type`in e){let t=e;if(t.type===`text`&&typeof t.text==`string`)return t.text}return JSON.stringify(e)}function i(e){let i=e.server,a=typeof i?.createMessage==`function`;return{get available(){return a},async createMessage(e){if(!a)throw Error(`Sampling not available: client does not support createMessage`);let o=e.context?`${e.context}\n\n---\n\n${e.prompt}`:e.prompt;try{let t=await i.createMessage({messages:[{role:`user`,content:{type:`text`,text:o}}],systemPrompt:e.systemPrompt,modelPreferences:n(e),maxTokens:e.maxTokens??4e3});return{text:r(t.content),model:t.model,stopReason:t.stopReason}}catch(e){throw t.warn(`Sampling createMessage failed`,{error:String(e)}),e}}}}const a={available:!1,async createMessage(){throw Error(`Sampling not available`)}};export{i as createSamplingClient,a as noopSamplingClient};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { BackgroundTaskScheduler } from "./background-task.js";
|
|
2
|
-
import { CuratedKnowledgeManager } from "./curated-manager.js";
|
|
3
|
-
import { ResourceNotifier } from "./resources/resource-notifier.js";
|
|
4
|
-
import { ISamplingClient } from "./sampling.js";
|
|
5
|
-
import { BridgeComponents } from "./tools/bridge.tools.js";
|
|
6
|
-
import { KBConfig } from "../../core/dist/index.js";
|
|
7
|
-
import { OnnxEmbedder } from "../../embeddings/dist/index.js";
|
|
8
|
-
import { EvolutionCollector, PolicyStore } from "../../enterprise-bridge/dist/index.js";
|
|
9
|
-
import { IncrementalIndexer } from "../../indexer/dist/index.js";
|
|
10
|
-
import { IGraphStore, createStore } from "../../store/dist/index.js";
|
|
11
|
-
import { FileCache } from "../../tools/dist/index.js";
|
|
12
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
13
|
-
import { Elicitor } from "../../elicitation/dist/index.js";
|
|
14
|
-
|
|
15
|
-
//#region packages/server/src/server.d.ts
|
|
16
|
-
/** Shape returned by SmartIndexScheduler.getState() */
|
|
17
|
-
interface SmartSchedulerState {
|
|
18
|
-
mode: string;
|
|
19
|
-
queueSize: number;
|
|
20
|
-
changedFilesSize: number;
|
|
21
|
-
intervalMs: number;
|
|
22
|
-
batchSize: number;
|
|
23
|
-
running: boolean;
|
|
24
|
-
}
|
|
25
|
-
interface KnowledgeBaseComponents {
|
|
26
|
-
embedder: OnnxEmbedder;
|
|
27
|
-
store: Awaited<ReturnType<typeof createStore>>;
|
|
28
|
-
indexer: IncrementalIndexer;
|
|
29
|
-
curated: CuratedKnowledgeManager;
|
|
30
|
-
graphStore: IGraphStore;
|
|
31
|
-
fileCache: FileCache;
|
|
32
|
-
bridge?: BridgeComponents;
|
|
33
|
-
policyStore?: PolicyStore;
|
|
34
|
-
evolutionCollector?: EvolutionCollector;
|
|
35
|
-
onboardComplete: boolean;
|
|
36
|
-
onboardTimestamp?: string;
|
|
37
|
-
}
|
|
38
|
-
declare function initializeKnowledgeBase(config: KBConfig): Promise<KnowledgeBaseComponents>;
|
|
39
|
-
declare function createMcpServer(kb: KnowledgeBaseComponents, config: KBConfig): McpServer;
|
|
40
|
-
declare function registerMcpTools(server: McpServer, kb: KnowledgeBaseComponents, config: KBConfig, elicitor?: Elicitor, resourceNotifier?: ResourceNotifier, samplingClient?: ISamplingClient, indexMode?: string, getSmartState?: (() => SmartSchedulerState) | null): void;
|
|
41
|
-
/**
|
|
42
|
-
* Create a fully-initialized server (HTTP mode or when immediate readiness is needed).
|
|
43
|
-
*/
|
|
44
|
-
declare function createServer(config: KBConfig): Promise<{
|
|
45
|
-
server: McpServer;
|
|
46
|
-
runInitialIndex: () => Promise<void>;
|
|
47
|
-
shutdown: () => Promise<void>;
|
|
48
|
-
}>;
|
|
49
|
-
declare const ALL_TOOL_NAMES: readonly ["analyze_dependencies", "analyze_diagram", "analyze_entry_points", "analyze_patterns", "analyze_structure", "analyze_symbols", "audit", "batch", "blast_radius", "brainstorm", "changelog", "check", "checkpoint", "codemod", "compact", "config", "data_transform", "dead_symbols", "delegate", "diff_parse", "digest", "encode", "env", "eval", "evidence_map", "file_summary", "find", "flow_info", "flow_list", "flow_reset", "flow_start", "flow_status", "flow_step", "flow_add", "flow_update", "flow_remove", "flow_read_instruction", "forge_classify", "forge_ground", "forget", "git_context", "graph", "guide", "health", "http", "lane", "list", "lookup", "measure", "onboard", "parse_output", "present", "process", "produce_knowledge", "queue", "read", "regex_test", "reindex", "remember", "rename", "replay", "restore", "schema_validate", "scope_map", "search", "snippet", "stash", "status", "stratum_card", "symbol", "test_run", "time", "trace", "update", "watch", "web_fetch", "web_search", "workset"];
|
|
50
|
-
declare function createLazyServer(config: KBConfig, indexMode?: string): {
|
|
51
|
-
server: McpServer; /** Call after MCP roots are resolved (or fallback decided) to start heavy init. */
|
|
52
|
-
startInit: () => void;
|
|
53
|
-
ready: Promise<void>;
|
|
54
|
-
runInitialIndex: () => Promise<void>; /** Initialized AI Kit components after lazy startup completes. */
|
|
55
|
-
readonly kb: KnowledgeBaseComponents | null; /** Background task scheduler — use to queue heavy operations and check status. */
|
|
56
|
-
scheduler: BackgroundTaskScheduler; /** Set the smart index scheduler for tool invocation prioritization. */
|
|
57
|
-
setSmartScheduler: (s: {
|
|
58
|
-
prioritize: (...paths: string[]) => void;
|
|
59
|
-
getState?: () => SmartSchedulerState;
|
|
60
|
-
} | null) => void;
|
|
61
|
-
};
|
|
62
|
-
//#endregion
|
|
63
|
-
export { ALL_TOOL_NAMES, KnowledgeBaseComponents, createLazyServer, createMcpServer, createServer, initializeKnowledgeBase, registerMcpTools };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{BackgroundTaskScheduler as e}from"./background-task.js";import{clearCompletionCache as t}from"./completions.js";import{installCompressionInterceptor as n}from"./compression-interceptor.js";import{CuratedKnowledgeManager as r}from"./curated-manager.js";import{createElicitor as i,noopElicitor as a}from"./elicitor.js";import{IdleTimer as o}from"./idle-timer.js";import{bridgeMcpLogging as s}from"./mcp-logging.js";import{MemoryMonitor as c}from"./memory-monitor.js";import{registerPrompts as l}from"./prompts.js";import{installReplayInterceptor as u}from"./replay-interceptor.js";import{ResourceNotifier as d}from"./resources/resource-notifier.js";import{registerResources as f}from"./resources/resources.js";import{createSamplingClient as p}from"./sampling.js";import{installStructuredContentGuard as m}from"./structured-content-guard.js";import{getToolMeta as h}from"./tool-metadata.js";import{installToolPrefix as g}from"./tool-prefix.js";import{ToolTimeoutError as _,getToolTimeout as v,withTimeout as ee}from"./tool-timeout.js";import{registerAnalyzeDependenciesTool as y,registerAnalyzeDiagramTool as b,registerAnalyzeEntryPointsTool as x,registerAnalyzePatternsTool as te,registerAnalyzeStructureTool as S,registerAnalyzeSymbolsTool as C,registerBlastRadiusTool as w}from"./tools/analyze.tools.js";import{registerAuditTool as ne}from"./tools/audit.tool.js";import{registerBrainstormTool as T}from"./tools/brainstorm.tool.js";import{initBridgeComponents as E,registerErPullTool as D,registerErPushTool as O,registerErSyncStatusTool as re}from"./tools/bridge.tools.js";import{registerConfigTool as k}from"./tools/config.tool.js";import{registerCompactTool as A,registerDeadSymbolsTool as j,registerFileSummaryTool as M,registerFindTool as ie,registerScopeMapTool as N,registerSymbolTool as P,registerTraceTool as ae}from"./tools/context.tools.js";import{registerErEvolveReviewTool as oe}from"./tools/evolution.tools.js";import{registerBatchTool as se,registerCheckTool as F,registerDelegateTool as I,registerEvalTool as L,registerParseOutputTool as R,registerTestRunTool as ce}from"./tools/execution.tools.js";import{registerFlowTools as z}from"./tools/flow.tools.js";import{registerDigestTool as le,registerEvidenceMapTool as B,registerForgeClassifyTool as V,registerForgeGroundTool as ue,registerStratumCardTool as de}from"./tools/forge.tools.js";import{registerForgetTool as fe}from"./tools/forget.tool.js";import{registerGraphTool as pe}from"./tools/graph.tool.js";import{registerGuideTool as H,registerHealthTool as U,registerProcessTool as W,registerWatchTool as G,registerWebFetchTool as me}from"./tools/infra.tools.js";import{registerListTool as he}from"./tools/list.tool.js";import{registerLookupTool as ge}from"./tools/lookup.tool.js";import{registerCodemodTool as _e,registerDataTransformTool as K,registerDiffParseTool as ve,registerGitContextTool as ye,registerRenameTool as be}from"./tools/manipulation.tools.js";import{registerOnboardTool as xe}from"./tools/onboard.tool.js";import{registerCheckpointTool as Se,registerLaneTool as Ce,registerQueueTool as we,registerStashTool as Te,registerWorksetTool as Ee}from"./tools/persistence.tools.js";import{registerErUpdatePolicyTool as De}from"./tools/policy.tools.js";import{registerPresentTool as Oe}from"./tools/present/tool.js";import"./tools/present/index.js";import{registerProduceKnowledgeTool as ke}from"./tools/produce.tool.js";import{registerReadTool as Ae}from"./tools/read.tool.js";import{registerReindexTool as je}from"./tools/reindex.tool.js";import{registerRememberTool as Me}from"./tools/remember.tool.js";import{registerReplayTool as Ne}from"./tools/replay.tool.js";import{registerRestoreTool as Pe}from"./tools/restore.tool.js";import{registerSearchTool as Fe}from"./tools/search.tool.js";import{getCurrentVersion as Ie}from"./version-check.js";import{registerEarlyStatusTool as Le,registerStatusTool as Re}from"./tools/status.tool.js";import{registerUpdateTool as ze}from"./tools/update.tool.js";import{registerChangelogTool as Be,registerEncodeTool as Ve,registerEnvTool as He,registerHttpTool as Ue,registerMeasureTool as We,registerRegexTestTool as Ge,registerSchemaValidateTool as Ke,registerSnippetTool as qe,registerTimeTool as Je,registerWebSearchTool as Ye}from"./tools/utility.tools.js";import{existsSync as Xe,statSync as Ze}from"node:fs";import{join as q,resolve as Qe}from"node:path";import{AIKIT_PATHS as $e,EMBEDDING_DEFAULTS as et,createLogger as tt,serializeError as J}from"../../core/dist/index.js";import{homedir as nt}from"node:os";import{initializeWasm as rt}from"../../chunker/dist/index.js";import{OnnxEmbedder as it}from"../../embeddings/dist/index.js";import{EvolutionCollector as at,PolicyStore as ot}from"../../enterprise-bridge/dist/index.js";import{FileHashCache as st,IncrementalIndexer as ct}from"../../indexer/dist/index.js";import{SqliteGraphStore as lt,createStore as ut}from"../../store/dist/index.js";import{FileCache as dt}from"../../tools/dist/index.js";import{completable as ft}from"@modelcontextprotocol/sdk/server/completable.js";import{McpServer as pt}from"@modelcontextprotocol/sdk/server/mcp.js";import{z as mt}from"zod";const Y=tt(`server`);function ht(e){let t=e.toLowerCase();return[`protobuf`,`invalid model`,`invalid onnx`,`unexpected end`,`unexpected token`,`failed to load`,`failed to initialize embedding`,`checksum`,`corrupt`,`malformed`,`could not load`,`onnx`,`database disk image is malformed`,`file is not a database`,`lance`].some(e=>t.includes(e))}async function gt(e,t){let n=t.toLowerCase(),r;try{({rm:r}=await import(`node:fs/promises`))}catch{return}if(n.includes(`embedding`)||n.includes(`onnx`)||n.includes(`protobuf`)||n.includes(`model`)){let t=e.embedding?.model??et.model,n=q(nt(),`.cache`,`huggingface`,`transformers-js`,t);try{await r(n,{recursive:!0,force:!0}),Y.info(`Auto-heal: cleared embedding model cache`,{path:n})}catch{}}if(n.includes(`lance`)||n.includes(`database`)||n.includes(`store`)){let t=q(e.store.path,`lance`);try{await r(t,{recursive:!0,force:!0}),Y.info(`Auto-heal: cleared LanceDB store`,{path:t})}catch{}}if(n.includes(`sqlite`)||n.includes(`database disk image`)||n.includes(`graph`)){let t=q(e.store.path,`graph.db`);try{await r(t,{force:!0}),Y.info(`Auto-heal: cleared graph database`,{path:t})}catch{}}}async function X(e){Y.info(`Initializing AI Kit components`);let[t,n,i,a]=await Promise.all([(async()=>{let t=new it({model:e.embedding.model,dimensions:e.embedding.dimensions});return await t.initialize(),Y.info(`Embedder loaded`,{modelId:t.modelId,dimensions:t.dimensions}),t})(),(async()=>{let t=await ut({backend:e.store.backend,path:e.store.path});return await t.initialize(),Y.info(`Store initialized`),t})(),(async()=>{let t=new lt({path:e.store.path});return await t.initialize(),Y.info(`Graph store initialized`),t})(),(async()=>{let e=await rt();return e?Y.info(`WASM tree-sitter enabled for AST analysis`):Y.warn(`WASM tree-sitter not available; analyzers will use regex fallback`),e})()]),o=new ct(t,n),s=new st(e.store.path);s.load(),o.setHashCache(s);let c=e.curated.path,l=new r(c,n,t);o.setGraphStore(i);let u=E(e.er),d=u?new ot(e.curated.path):void 0;d&&Y.info(`Policy store initialized`,{ruleCount:d.getRules().length});let f=u?new at:void 0,p=Qe(e.sources[0]?.path??process.cwd(),$e.aiContext),m=Xe(p),h=e.onboardDir?Xe(e.onboardDir):!1,g=m||h,_,v=m?p:e.onboardDir;if(g&&v)try{_=Ze(v).mtime.toISOString()}catch{}return Y.info(`Onboard state detected`,{onboardComplete:g,onboardTimestamp:_,aiKbExists:m,onboardDirExists:h}),{embedder:t,store:n,indexer:o,curated:l,graphStore:i,fileCache:new dt,bridge:u,policyStore:d,evolutionCollector:f,onboardComplete:g,onboardTimestamp:_}}function _t(e,t){let n=new pt({name:t.serverName??`aikit`,version:Ie()},{capabilities:{logging:{},completions:{},prompts:{}}});return s(n),g(n,t.toolPrefix??``),Z(n,e,t,i(n),new d(n),p(n)),l(n,{curated:e.curated,store:e.store,graphStore:e.graphStore},t.indexMode),n}function Z(e,t,r,i,a,o,s,c){u(e),m(e),n(e),Fe(e,t.embedder,t.store,t.graphStore,t.bridge,t.evolutionCollector,o),ge(e,t.store);let l={onboardComplete:t.onboardComplete,onboardTimestamp:t.onboardTimestamp};Re(e,t.store,t.graphStore,t.curated,l,r,s,c),k(e,r),je(e,t.indexer,r,t.curated,t.store,a,s),Me(e,t.curated,t.policyStore,t.evolutionCollector,a),ze(e,t.curated,a),fe(e,t.curated,a),Ae(e,t.curated),he(e,t.curated),S(e,t.store,t.embedder),y(e,t.store,t.embedder),C(e,t.store,t.embedder),te(e,t.store,t.embedder),x(e,t.store,t.embedder),b(e,t.store,t.embedder),w(e,t.store,t.embedder,t.graphStore),ke(e,r),xe(e,t.store,t.embedder,r,l),pe(e,t.graphStore),ne(e,t.store,t.embedder);let d=r.sources[0]?.path??process.cwd();A(e,t.embedder,t.fileCache,d),N(e,t.embedder,t.store),ie(e,t.embedder,t.store),R(e),Ee(e),F(e),se(e,t.embedder,t.store),P(e,t.embedder,t.store,t.graphStore),L(e),ce(e),Te(e),ye(e),ve(e),be(e),_e(e),Pe(e),M(e,t.fileCache,d),Se(e),K(e),ae(e,t.embedder,t.store,t.graphStore),W(e),G(e),j(e,t.embedder,t.store),I(e,o),U(e),Ce(e),we(e),me(e),H(e,s),B(e),le(e,t.embedder),V(e),de(e,t.embedder,t.fileCache),ue(e,t.embedder,t.store),Oe(e,i),i&&T(e,i),Ye(e),Ue(e),Ge(e),Ve(e),We(e),Be(e),Ke(e),qe(e),He(e),Je(e),z(e,r),t.bridge&&(O(e,t.bridge,t.evolutionCollector),D(e,t.bridge),re(e,t.bridge)),t.policyStore&&De(e,t.policyStore),t.evolutionCollector&&oe(e,t.evolutionCollector),f(e,t.store,t.curated),Ne(e)}async function vt(e){let t=await X(e),n=_t(t,e);Y.info(`MCP server configured`,{toolCount:$.length,resourceCount:2});let r=async()=>{try{let n=e.sources.map(e=>e.path).join(`, `);Y.info(`Running initial index`,{sourcePaths:n});let r=await t.indexer.index(e,e=>{e.phase===`crawling`||e.phase===`done`||(e.phase===`chunking`&&e.currentFile&&Y.debug(`Indexing file`,{current:e.filesProcessed+1,total:e.filesTotal,file:e.currentFile}),e.phase===`cleanup`&&Y.debug(`Index cleanup`,{staleEntries:e.filesTotal-e.filesProcessed}))});Y.info(`Initial index complete`,{filesProcessed:r.filesProcessed,filesSkipped:r.filesSkipped,chunksCreated:r.chunksCreated,durationMs:r.durationMs});try{await t.store.createFtsIndex()}catch(e){Y.warn(`FTS index creation failed`,J(e))}try{let e=await t.curated.reindexAll();Y.info(`Curated re-index complete`,{indexed:e.indexed})}catch(e){Y.error(`Curated re-index failed`,J(e))}}catch(e){Y.error(`Initial index failed; will retry on aikit_reindex`,J(e))}},i=async()=>{Y.info(`Shutting down`),await Promise.all([t.embedder.shutdown().catch(()=>{}),t.graphStore.close().catch(()=>{}),t.store.close().catch(()=>{})]),process.exit(0)};process.on(`SIGINT`,i),process.on(`SIGTERM`,i);let a=process.ppid,o=setInterval(()=>{try{process.kill(a,0)}catch{Y.info(`Parent process died; shutting down`,{parentPid:a}),clearInterval(o),i()}},5e3);return o.unref(),{server:n,runInitialIndex:r,shutdown:i}}const yt=new Set(`batch.brainstorm.changelog.check.checkpoint.codemod.compact.config.data_transform.delegate.diff_parse.digest.encode.env.eval.evidence_map.file_summary.forge_classify.git_context.graph.guide.health.http.lane.measure.onboard.parse_output.present.process.produce_knowledge.queue.read.regex_test.reindex.remember.rename.replay.restore.schema_validate.scope_map.snippet.stash.status.stratum_card.test_run.time.update.forget.list.watch.web_fetch.web_search.workset`.split(`.`)),bt=5e3,Q=new Set(`brainstorm.changelog.check.checkpoint.codemod.data_transform.delegate.diff_parse.encode.env.eval.evidence_map.flow_info.flow_list.flow_reset.flow_start.flow_status.flow_step.flow_add.flow_update.flow_remove.flow_read_instruction.forge_classify.git_context.guide.present.health.http.lane.measure.parse_output.process.produce_knowledge.queue.regex_test.rename.replay.restore.schema_validate.snippet.stash.status.test_run.time.watch.web_fetch.web_search.workset`.split(`.`));function xt(e,t){F(e),L(e),ce(e),R(e),I(e),ye(e),ve(e),be(e),_e(e),K(e),Ee(e),Te(e),Se(e),Pe(e),Ce(e),we(e),U(e),W(e),G(e),me(e),H(e),B(e),V(e),Oe(e),T(e,a),ke(e),Ne(e),Le(e),z(e,t),Ye(e),Ue(e),Ge(e),Ve(e),We(e),Be(e),Ke(e),qe(e),He(e),Je(e)}const $=`analyze_dependencies.analyze_diagram.analyze_entry_points.analyze_patterns.analyze_structure.analyze_symbols.audit.batch.blast_radius.brainstorm.changelog.check.checkpoint.codemod.compact.config.data_transform.dead_symbols.delegate.diff_parse.digest.encode.env.eval.evidence_map.file_summary.find.flow_info.flow_list.flow_reset.flow_start.flow_status.flow_step.flow_add.flow_update.flow_remove.flow_read_instruction.forge_classify.forge_ground.forget.git_context.graph.guide.health.http.lane.list.lookup.measure.onboard.parse_output.present.process.produce_knowledge.queue.read.regex_test.reindex.remember.rename.replay.restore.schema_validate.scope_map.search.snippet.stash.status.stratum_card.symbol.test_run.time.trace.update.watch.web_fetch.web_search.workset`.split(`.`);function St(n,r){let a=new pt({name:n.serverName??`aikit`,version:Ie()},{capabilities:{logging:{},completions:{},prompts:{}}}),u=`initializing`,f=``,m=!1,y=null,b=null,x=null;function te(e){if(!e||typeof e!=`object`)return[];let t=e,n=[];for(let e of[`path`,`file`,`source_path`,`sourcePath`,`filePath`]){let r=t[e];typeof r==`string`&&r&&n.push(r)}for(let e of[`changed_files`,`paths`,`files`]){let r=t[e];if(Array.isArray(r))for(let e of r){if(typeof e==`string`){n.push(e);continue}e&&typeof e==`object`&&typeof e.path==`string`&&n.push(e.path)}}if(Array.isArray(t.sources))for(let e of t.sources)e&&typeof e==`object`&&typeof e.path==`string`&&n.push(e.path);return n}let S=()=>u===`failed`?[`❌ AI Kit initialization failed — this tool is unavailable.`,``,f?`Error: ${f}`:``,``,`**${Q.size} tools are still available** and fully functional:`,`check, eval, test_run, git_context, health, measure, web_fetch, web_search,`,`flow_list, flow_status, flow_start, flow_read_instruction, regex_test, encode,`,`stash, checkpoint, lane, process, time, env, and more.`,``,`To fix embedding errors, try deleting the cached model:`,` rm -rf ~/.cache/huggingface/transformers-js/mixedbread-ai/`,`Then restart the server to re-download a fresh copy.`,``,`Try restarting the MCP server to retry initialization.`].filter(Boolean).join(`
|
|
2
|
-
`):[`AI Kit is still initializing (loading embeddings model & store).`,``,`**${Q.size} tools are already available** while initialization completes — including:`,`check, eval, test_run, git_context, health, measure, web_fetch, web_search,`,`flow_list, flow_status, flow_start, flow_read_instruction, regex_test, encode,`,`stash, checkpoint, lane, process, time, env, and more.`,``,`This tool requires the AI Kit index. Please retry in a few seconds,`,`or use one of the available tools above in the meantime.`].join(`
|
|
3
|
-
`);s(a),g(a,n.toolPrefix??``);let C=a.sendToolListChanged.bind(a);a.sendToolListChanged=()=>{};let w=[];for(let e of $){let t=h(e),n=a.registerTool(e,{title:t.title,description:`${t.title} — initializing, available shortly`,inputSchema:{},annotations:t.annotations},async()=>({content:[{type:`text`,text:S()}]}));Q.has(e)?n.remove():w.push(n)}xt(a,n),a.sendToolListChanged=C;let ne=a.registerResource(`aikit-status`,`aikit://status`,{description:`AI Kit status (initializing...)`,mimeType:`text/plain`},async()=>({contents:[{uri:`aikit://status`,text:`AI Kit is initializing...`,mimeType:`text/plain`}]})),T=a.registerPrompt(`_init`,{description:`Initializing AI Kit…`,argsSchema:{_dummy:ft(mt.string(),()=>[])}},async()=>({messages:[]})),E,D=new Promise(e=>{E=e}),O,re=new Promise(e=>{O=e}),k=()=>O?.(),A=(async()=>{await re;let e;try{e=await X(n)}catch(t){let r=t instanceof Error?t.message:String(t);if(ht(r)){Y.warn(`AI Kit initialization failed with recoverable error — attempting auto-heal retry`,{error:r}),await gt(n,r);try{e=await X(n),Y.info(`AI Kit auto-heal successful — initialization recovered after retry`)}catch(e){u=`failed`,f=e instanceof Error?e.message:String(e),Y.error(`AI Kit initialization failed after auto-heal attempt — server continuing with zero-dep tools only`,{error:f,originalError:r});return}}else{u=`failed`,f=r,Y.error(`AI Kit initialization failed — server continuing with zero-dep tools only`,{error:f});return}}let s=a.sendToolListChanged.bind(a);a.sendToolListChanged=()=>{};let h=a.sendPromptListChanged.bind(a);a.sendPromptListChanged=()=>{};let g=a.sendResourceListChanged.bind(a);a.sendResourceListChanged=()=>{};for(let e of w)e.remove();ne.remove(),T.remove();let S=a._registeredTools??{};for(let e of Q)S[e]?.remove();let C=new d(a),D=p(a);Z(a,e,n,i(a),C,D,r,r===`smart`?(()=>{let e=x;return e?.getState?e.getState():null}):null),l(a,{curated:e.curated,store:e.store,graphStore:e.graphStore},r),a.sendToolListChanged=s,a.sendPromptListChanged=h,a.sendResourceListChanged=g,Promise.resolve(a.sendToolListChanged()).catch(()=>{}),Promise.resolve(a.sendPromptListChanged()).catch(()=>{}),Promise.resolve(a.sendResourceListChanged()).catch(()=>{});let O=a._registeredTools??{};for(let[t,n]of Object.entries(O)){if(yt.has(t))continue;let r=n.handler;n.handler=async(...n)=>{if(!e.indexer.isIndexing)return r(...n);let i=m?`re-indexing`:`running initial index`,a=new Promise(e=>setTimeout(()=>e({content:[{type:`text`,text:`⏳ AI Kit is ${i}. The tool "${t}" timed out waiting for index data (${bt/1e3}s).\n\nThe existing index may be temporarily locked. Please retry shortly — indexing will complete automatically.`}]}),bt));return Promise.race([r(...n),a])}}for(let[e,t]of Object.entries(O)){let n=t.handler,r=v(e);t.handler=async(...t)=>{try{return await ee(()=>n(...t),r,e)}catch(t){if(t instanceof _)return{content:[{type:`text`,text:`⏳ Tool "${e}" timed out after ${r/1e3}s. This may indicate a long-running operation. Please retry or break the task into smaller steps.`}]};throw t}}}let k=Object.keys(O).length;k<$.length&&Y.warn(`ALL_TOOL_NAMES count mismatch`,{expectedToolCount:$.length,registeredToolCount:k}),Y.info(`MCP server configured`,{toolCount:$.length,resourceCount:4});let A=new c;A.onPressure((e,n)=>{e===`warning`&&t(),e===`critical`&&(Y.warn(`Memory pressure critical — consider restarting`,{rssMB:Math.round(n/1024/1024)}),t())}),A.start();let j=new o;b=j,j.onIdle(async()=>{if(M.isRunning||e.indexer.isIndexing){Y.info(`Idle cleanup deferred — background tasks still running`),j.touch();return}Y.info(`Idle cleanup: closing store and graph connections`);try{await Promise.all([e.store.close().catch(()=>{}),e.graphStore.close().catch(()=>{})])}catch{}}),j.touch();for(let e of Object.values(O)){let t=e.handler;e.handler=async(...e)=>{if(j.touch(),x){let t=te(e[0]);t.length>0&&x.prioritize(...t)}return t(...e)}}y=e,E?.(e)})(),j=async()=>{let e=await D;b?.setBusy(!0);try{let t=n.sources.map(e=>e.path).join(`, `);Y.info(`Running initial index`,{sourcePaths:t});let r=await e.indexer.index(n,e=>{e.phase===`crawling`||e.phase===`done`||(e.phase===`chunking`&&e.currentFile&&Y.debug(`Indexing file`,{current:e.filesProcessed+1,total:e.filesTotal,file:e.currentFile}),e.phase===`cleanup`&&Y.debug(`Index cleanup`,{staleEntries:e.filesTotal-e.filesProcessed}))});m=!0,Y.info(`Initial index complete`,{filesProcessed:r.filesProcessed,filesSkipped:r.filesSkipped,chunksCreated:r.chunksCreated,durationMs:r.durationMs});try{await e.store.createFtsIndex()}catch(e){Y.warn(`FTS index creation failed`,J(e))}try{let t=await e.curated.reindexAll();Y.info(`Curated re-index complete`,{indexed:t.indexed})}catch(e){Y.error(`Curated re-index failed`,J(e))}}catch(e){Y.error(`Initial index failed; will retry on aikit_reindex`,J(e))}finally{b?.setBusy(!1)}},M=new e,ie=()=>M.schedule({name:`initial-index`,fn:j}),N=process.ppid,P=setInterval(()=>{try{process.kill(N,0)}catch{Y.info(`Parent process died; shutting down`,{parentPid:N}),clearInterval(P),D.then(async e=>{await Promise.all([e.embedder.shutdown().catch(()=>{}),e.graphStore.close().catch(()=>{}),e.store.close().catch(()=>{})])}).catch(()=>{}).finally(()=>process.exit(0))}},5e3);return P.unref(),{server:a,startInit:k,ready:A,runInitialIndex:ie,get kb(){return y},scheduler:M,setSmartScheduler(e){x=e}}}export{$ as ALL_TOOL_NAMES,St as createLazyServer,_t as createMcpServer,vt as createServer,X as initializeKnowledgeBase,Z as registerMcpTools};
|