@thoughtflow/core 0.2.0 → 0.3.0
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 +283 -201
- package/dist/adapters/llm/adapter-factory.d.ts.map +1 -1
- package/dist/adapters/llm/adapter-factory.js.map +1 -1
- package/dist/adapters/llm/anthropic.adapter.d.ts.map +1 -1
- package/dist/adapters/llm/anthropic.adapter.js.map +1 -1
- package/dist/adapters/llm/llm-adapter.interface.d.ts.map +1 -1
- package/dist/adapters/llm/llm-adapter.interface.js.map +1 -1
- package/dist/adapters/llm/mock.adapter.d.ts.map +1 -1
- package/dist/adapters/llm/mock.adapter.js.map +1 -1
- package/dist/adapters/llm/model-profiles.d.ts.map +1 -1
- package/dist/adapters/llm/model-profiles.js.map +1 -1
- package/dist/adapters/llm/ollama.adapter.d.ts.map +1 -1
- package/dist/adapters/llm/ollama.adapter.js.map +1 -1
- package/dist/adapters/llm/openai.adapter.d.ts.map +1 -1
- package/dist/adapters/llm/openai.adapter.js.map +1 -1
- package/dist/bin/mcp-server.d.ts +18 -0
- package/dist/bin/mcp-server.d.ts.map +1 -0
- package/dist/bin/mcp-server.js +261 -0
- package/dist/bin/mcp-server.js.map +1 -0
- package/dist/contexts/context-decomposer.d.ts.map +1 -1
- package/dist/contexts/context-decomposer.js.map +1 -1
- package/dist/contexts/context-document-manager.d.ts.map +1 -1
- package/dist/contexts/context-document-manager.js.map +1 -1
- package/dist/contexts/context-router.d.ts.map +1 -1
- package/dist/contexts/context-router.js.map +1 -1
- package/dist/contracts/codebase-analysis.types.d.ts.map +1 -1
- package/dist/contracts/codebase-analysis.types.js.map +1 -1
- package/dist/contracts/context-document.types.d.ts.map +1 -1
- package/dist/contracts/context-document.types.js.map +1 -1
- package/dist/contracts/conversation-status.enum.d.ts.map +1 -1
- package/dist/contracts/conversation-status.enum.js.map +1 -1
- package/dist/contracts/conversation.types.d.ts.map +1 -1
- package/dist/contracts/conversation.types.js.map +1 -1
- package/dist/contracts/doc-graph.types.d.ts.map +1 -1
- package/dist/contracts/doc-graph.types.js.map +1 -1
- package/dist/contracts/events.types.d.ts.map +1 -1
- package/dist/contracts/events.types.js.map +1 -1
- package/dist/contracts/execution-runner.types.d.ts.map +1 -1
- package/dist/contracts/execution-runner.types.js.map +1 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/interrupt.types.d.ts.map +1 -1
- package/dist/contracts/interrupt.types.js.map +1 -1
- package/dist/contracts/knowledge-graph.types.d.ts.map +1 -1
- package/dist/contracts/knowledge-graph.types.js.map +1 -1
- package/dist/contracts/llm.types.d.ts.map +1 -1
- package/dist/contracts/llm.types.js.map +1 -1
- package/dist/contracts/mcp.types.d.ts +8 -1
- package/dist/contracts/mcp.types.d.ts.map +1 -1
- package/dist/contracts/mcp.types.js.map +1 -1
- package/dist/contracts/memory.types.d.ts.map +1 -1
- package/dist/contracts/memory.types.js.map +1 -1
- package/dist/contracts/message.types.d.ts.map +1 -1
- package/dist/contracts/message.types.js.map +1 -1
- package/dist/contracts/plugin.types.d.ts.map +1 -1
- package/dist/contracts/plugin.types.js.map +1 -1
- package/dist/contracts/problem-tree.types.d.ts.map +1 -1
- package/dist/contracts/problem-tree.types.js.map +1 -1
- package/dist/contracts/prompt.types.d.ts.map +1 -1
- package/dist/contracts/prompt.types.js.map +1 -1
- package/dist/contracts/skill.types.d.ts.map +1 -1
- package/dist/contracts/skill.types.js.map +1 -1
- package/dist/contracts/storage.types.d.ts.map +1 -1
- package/dist/contracts/storage.types.js.map +1 -1
- package/dist/contracts/structural-decoder.types.d.ts.map +1 -1
- package/dist/contracts/structural-decoder.types.js.map +1 -1
- package/dist/contracts/subagent.types.d.ts.map +1 -1
- package/dist/contracts/subagent.types.js.map +1 -1
- package/dist/contracts/task-board.types.d.ts.map +1 -1
- package/dist/contracts/task-board.types.js.map +1 -1
- package/dist/contracts/task-flow.types.d.ts.map +1 -1
- package/dist/contracts/task-flow.types.js.map +1 -1
- package/dist/contracts/tool-capability.types.d.ts.map +1 -1
- package/dist/contracts/tool-capability.types.js.map +1 -1
- package/dist/contracts/tool.types.d.ts.map +1 -1
- package/dist/contracts/tool.types.js.map +1 -1
- package/dist/contracts/vector-store.types.d.ts.map +1 -1
- package/dist/contracts/vector-store.types.js.map +1 -1
- package/dist/conversation.class.d.ts.map +1 -1
- package/dist/conversation.class.js.map +1 -1
- package/dist/events/conversation-events.bus.d.ts.map +1 -1
- package/dist/events/conversation-events.bus.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/libs/abort-controller.class.d.ts.map +1 -1
- package/dist/libs/abort-controller.class.js.map +1 -1
- package/dist/libs/ac-verifier.d.ts.map +1 -1
- package/dist/libs/ac-verifier.js.map +1 -1
- package/dist/libs/advanced-hitl-interrupts.d.ts.map +1 -1
- package/dist/libs/advanced-hitl-interrupts.js.map +1 -1
- package/dist/libs/advanced-scheduling.d.ts.map +1 -1
- package/dist/libs/advanced-scheduling.js.map +1 -1
- package/dist/libs/analysis-completion-gate.class.d.ts.map +1 -1
- package/dist/libs/analysis-completion-gate.class.js.map +1 -1
- package/dist/libs/analysis-pipeline.class.d.ts.map +1 -1
- package/dist/libs/analysis-pipeline.class.js.map +1 -1
- package/dist/libs/approval-workflows.d.ts.map +1 -1
- package/dist/libs/approval-workflows.js.map +1 -1
- package/dist/libs/audit-logger.d.ts.map +1 -1
- package/dist/libs/audit-logger.js.map +1 -1
- package/dist/libs/autonomous-orchestrator.class.d.ts.map +1 -1
- package/dist/libs/autonomous-orchestrator.class.js.map +1 -1
- package/dist/libs/checkpoint-manager.d.ts.map +1 -1
- package/dist/libs/checkpoint-manager.js.map +1 -1
- package/dist/libs/checkpointer-backends.d.ts.map +1 -1
- package/dist/libs/checkpointer-backends.js.map +1 -1
- package/dist/libs/code-analysis-pipeline.class.d.ts.map +1 -1
- package/dist/libs/code-analysis-pipeline.class.js.map +1 -1
- package/dist/libs/codebase/deep-analyzer.d.ts.map +1 -1
- package/dist/libs/codebase/deep-analyzer.js.map +1 -1
- package/dist/libs/codebase/graph/dependency-extractor.d.ts.map +1 -1
- package/dist/libs/codebase/graph/dependency-extractor.js.map +1 -1
- package/dist/libs/codebase/graph/graph-analysis.d.ts.map +1 -1
- package/dist/libs/codebase/graph/graph-analysis.js.map +1 -1
- package/dist/libs/codebase/graph/graph-visualizer.d.ts.map +1 -1
- package/dist/libs/codebase/graph/graph-visualizer.js.map +1 -1
- package/dist/libs/codebase/indexer/batch-processor.d.ts.map +1 -1
- package/dist/libs/codebase/indexer/batch-processor.js.map +1 -1
- package/dist/libs/codebase/indexer/chunker-markdown.d.ts.map +1 -1
- package/dist/libs/codebase/indexer/chunker-markdown.js.map +1 -1
- package/dist/libs/codebase/indexer/chunker.d.ts.map +1 -1
- package/dist/libs/codebase/indexer/chunker.js.map +1 -1
- package/dist/libs/codebase/indexer/explorer.d.ts.map +1 -1
- package/dist/libs/codebase/indexer/explorer.js.map +1 -1
- package/dist/libs/codebase/indexer/indexer.d.ts.map +1 -1
- package/dist/libs/codebase/indexer/indexer.js.map +1 -1
- package/dist/libs/codebase/knowledge/cross-referencer.d.ts.map +1 -1
- package/dist/libs/codebase/knowledge/cross-referencer.js.map +1 -1
- package/dist/libs/codebase/knowledge/markdown-extractor.d.ts.map +1 -1
- package/dist/libs/codebase/knowledge/markdown-extractor.js.map +1 -1
- package/dist/libs/codebase/knowledge/summarizer.d.ts.map +1 -1
- package/dist/libs/codebase/knowledge/summarizer.js.map +1 -1
- package/dist/libs/codebase/search/bm25.d.ts.map +1 -1
- package/dist/libs/codebase/search/bm25.js.map +1 -1
- package/dist/libs/codebase/search/hybrid-search.d.ts.map +1 -1
- package/dist/libs/codebase/search/hybrid-search.js.map +1 -1
- package/dist/libs/codebase-index.class.d.ts.map +1 -1
- package/dist/libs/codebase-index.class.js.map +1 -1
- package/dist/libs/command-manager.d.ts.map +1 -1
- package/dist/libs/command-manager.js.map +1 -1
- package/dist/libs/compiled-subagent.manager.d.ts.map +1 -1
- package/dist/libs/compiled-subagent.manager.js.map +1 -1
- package/dist/libs/conditional-flow.d.ts.map +1 -1
- package/dist/libs/conditional-flow.js.map +1 -1
- package/dist/libs/context-propagator.d.ts.map +1 -1
- package/dist/libs/context-propagator.js.map +1 -1
- package/dist/libs/context-window.class.d.ts.map +1 -1
- package/dist/libs/context-window.class.js.map +1 -1
- package/dist/libs/conversation-runner.class.d.ts.map +1 -1
- package/dist/libs/conversation-runner.class.js.map +1 -1
- package/dist/libs/cost-estimation.d.ts.map +1 -1
- package/dist/libs/cost-estimation.js.map +1 -1
- package/dist/libs/debug-logger.class.d.ts.map +1 -1
- package/dist/libs/debug-logger.class.js.map +1 -1
- package/dist/libs/decoder-registry.class.d.ts.map +1 -1
- package/dist/libs/decoder-registry.class.js.map +1 -1
- package/dist/libs/distributed-execution.d.ts.map +1 -1
- package/dist/libs/distributed-execution.js.map +1 -1
- package/dist/libs/divergence-detector.class.d.ts.map +1 -1
- package/dist/libs/divergence-detector.class.js.map +1 -1
- package/dist/libs/doc-graph-builder.class.d.ts.map +1 -1
- package/dist/libs/doc-graph-builder.class.js.map +1 -1
- package/dist/libs/durability-mode.d.ts.map +1 -1
- package/dist/libs/durability-mode.js.map +1 -1
- package/dist/libs/durable-execution.d.ts.map +1 -1
- package/dist/libs/durable-execution.js.map +1 -1
- package/dist/libs/dynamic-fanout.d.ts.map +1 -1
- package/dist/libs/dynamic-fanout.js.map +1 -1
- package/dist/libs/execution-caching.d.ts.map +1 -1
- package/dist/libs/execution-caching.js.map +1 -1
- package/dist/libs/fallback-decoder.class.d.ts.map +1 -1
- package/dist/libs/fallback-decoder.class.js.map +1 -1
- package/dist/libs/general-purpose-subagent.d.ts.map +1 -1
- package/dist/libs/general-purpose-subagent.js.map +1 -1
- package/dist/libs/graphql-federation.d.ts.map +1 -1
- package/dist/libs/graphql-federation.js.map +1 -1
- package/dist/libs/in-memory-job-store.d.ts.map +1 -1
- package/dist/libs/in-memory-job-store.js.map +1 -1
- package/dist/libs/incremental-analyzer.class.d.ts.map +1 -1
- package/dist/libs/incremental-analyzer.class.js.map +1 -1
- package/dist/libs/interrupt-manager.d.ts.map +1 -1
- package/dist/libs/interrupt-manager.js.map +1 -1
- package/dist/libs/knowledge-graph.class.d.ts.map +1 -1
- package/dist/libs/knowledge-graph.class.js.map +1 -1
- package/dist/libs/llm-retry.d.ts.map +1 -1
- package/dist/libs/llm-retry.js.map +1 -1
- package/dist/libs/local-execution.runner.d.ts.map +1 -1
- package/dist/libs/local-execution.runner.js.map +1 -1
- package/dist/libs/mcp/jsonrpc.class.d.ts.map +1 -1
- package/dist/libs/mcp/jsonrpc.class.js.map +1 -1
- package/dist/libs/mcp/mcp-server.class.d.ts +3 -1
- package/dist/libs/mcp/mcp-server.class.d.ts.map +1 -1
- package/dist/libs/mcp/mcp-server.class.js +36 -33
- package/dist/libs/mcp/mcp-server.class.js.map +1 -1
- package/dist/libs/mcp/mcp-tool-registry.class.d.ts.map +1 -1
- package/dist/libs/mcp/mcp-tool-registry.class.js.map +1 -1
- package/dist/libs/mcp/vision-adapter-resolver.d.ts +15 -0
- package/dist/libs/mcp/vision-adapter-resolver.d.ts.map +1 -0
- package/dist/libs/mcp/vision-adapter-resolver.js +48 -0
- package/dist/libs/mcp/vision-adapter-resolver.js.map +1 -0
- package/dist/libs/memory-file.loader.d.ts.map +1 -1
- package/dist/libs/memory-file.loader.js.map +1 -1
- package/dist/libs/message-history.class.d.ts.map +1 -1
- package/dist/libs/message-history.class.js.map +1 -1
- package/dist/libs/message-utils.d.ts.map +1 -1
- package/dist/libs/message-utils.js.map +1 -1
- package/dist/libs/model-ref-resolver.d.ts.map +1 -1
- package/dist/libs/model-ref-resolver.js.map +1 -1
- package/dist/libs/multi-tenant.d.ts.map +1 -1
- package/dist/libs/multi-tenant.js.map +1 -1
- package/dist/libs/observability.d.ts.map +1 -1
- package/dist/libs/observability.js.map +1 -1
- package/dist/libs/payload-offload.manager.d.ts.map +1 -1
- package/dist/libs/payload-offload.manager.js.map +1 -1
- package/dist/libs/performance-optimization.d.ts.map +1 -1
- package/dist/libs/performance-optimization.js.map +1 -1
- package/dist/libs/pipeline-run-registry.class.d.ts.map +1 -1
- package/dist/libs/pipeline-run-registry.class.js.map +1 -1
- package/dist/libs/problem-tree.class.d.ts.map +1 -1
- package/dist/libs/problem-tree.class.js.map +1 -1
- package/dist/libs/production-deployment.d.ts.map +1 -1
- package/dist/libs/production-deployment.js.map +1 -1
- package/dist/libs/prompt-builder.class.d.ts.map +1 -1
- package/dist/libs/prompt-builder.class.js.map +1 -1
- package/dist/libs/prompt-loader.class.d.ts.map +1 -1
- package/dist/libs/prompt-loader.class.js.map +1 -1
- package/dist/libs/resource-decoder.class.d.ts.map +1 -1
- package/dist/libs/resource-decoder.class.js.map +1 -1
- package/dist/libs/router-node.class.d.ts.map +1 -1
- package/dist/libs/router-node.class.js.map +1 -1
- package/dist/libs/runtime-policy-llm.adapter.d.ts.map +1 -1
- package/dist/libs/runtime-policy-llm.adapter.js.map +1 -1
- package/dist/libs/saga-orchestrator.d.ts.map +1 -1
- package/dist/libs/saga-orchestrator.js.map +1 -1
- package/dist/libs/sandbox-execution.d.ts.map +1 -1
- package/dist/libs/sandbox-execution.js.map +1 -1
- package/dist/libs/security-hardening.d.ts.map +1 -1
- package/dist/libs/security-hardening.js.map +1 -1
- package/dist/libs/server-concurrency-pool.d.ts.map +1 -1
- package/dist/libs/server-concurrency-pool.js.map +1 -1
- package/dist/libs/service-mesh.d.ts.map +1 -1
- package/dist/libs/service-mesh.js.map +1 -1
- package/dist/libs/skill-loader.class.d.ts.map +1 -1
- package/dist/libs/skill-loader.class.js.map +1 -1
- package/dist/libs/smart-tool-prompt.class.d.ts.map +1 -1
- package/dist/libs/smart-tool-prompt.class.js.map +1 -1
- package/dist/libs/status-machine.class.d.ts.map +1 -1
- package/dist/libs/status-machine.class.js.map +1 -1
- package/dist/libs/stream-emitter.class.d.ts.map +1 -1
- package/dist/libs/stream-emitter.class.js.map +1 -1
- package/dist/libs/streaming-iterator.d.ts.map +1 -1
- package/dist/libs/streaming-iterator.js.map +1 -1
- package/dist/libs/structured-call.d.ts.map +1 -1
- package/dist/libs/structured-call.js.map +1 -1
- package/dist/libs/subagent-executor.class.d.ts.map +1 -1
- package/dist/libs/subagent-executor.class.js.map +1 -1
- package/dist/libs/subagent-job-manager.d.ts.map +1 -1
- package/dist/libs/subagent-job-manager.js.map +1 -1
- package/dist/libs/subagent-registry.class.d.ts.map +1 -1
- package/dist/libs/subagent-registry.class.js.map +1 -1
- package/dist/libs/subagent-router.class.d.ts.map +1 -1
- package/dist/libs/subagent-router.class.js.map +1 -1
- package/dist/libs/subgraph.d.ts.map +1 -1
- package/dist/libs/subgraph.js.map +1 -1
- package/dist/libs/task-board.class.d.ts.map +1 -1
- package/dist/libs/task-board.class.js.map +1 -1
- package/dist/libs/task-flow/auto-answer-engine.class.d.ts.map +1 -1
- package/dist/libs/task-flow/auto-answer-engine.class.js.map +1 -1
- package/dist/libs/task-flow/controlled-coding-engine.class.d.ts.map +1 -1
- package/dist/libs/task-flow/controlled-coding-engine.class.js.map +1 -1
- package/dist/libs/task-flow/dependency-analyzer.class.d.ts.map +1 -1
- package/dist/libs/task-flow/dependency-analyzer.class.js.map +1 -1
- package/dist/libs/task-flow/git/git-commit-push.class.d.ts.map +1 -1
- package/dist/libs/task-flow/git/git-commit-push.class.js.map +1 -1
- package/dist/libs/task-flow/git/git-worktree.class.d.ts.map +1 -1
- package/dist/libs/task-flow/git/git-worktree.class.js.map +1 -1
- package/dist/libs/task-flow/git/git.types.d.ts.map +1 -1
- package/dist/libs/task-flow/git/git.types.js.map +1 -1
- package/dist/libs/task-flow/git/index.d.ts.map +1 -1
- package/dist/libs/task-flow/git/index.js.map +1 -1
- package/dist/libs/task-flow/index.d.ts.map +1 -1
- package/dist/libs/task-flow/index.js.map +1 -1
- package/dist/libs/task-flow/phase-progress-store.class.d.ts.map +1 -1
- package/dist/libs/task-flow/phase-progress-store.class.js.map +1 -1
- package/dist/libs/task-flow/pipeline/index.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/index.js.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline-builder.class.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline-builder.class.js.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline-runner.class.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline-runner.class.js.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline.types.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/pipeline.types.js.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/commit-push.stage.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/commit-push.stage.js.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/docker-env.stage.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/docker-env.stage.js.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/fn.stage.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/fn.stage.js.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/git-worktree.stage.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/git-worktree.stage.js.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/index.d.ts.map +1 -1
- package/dist/libs/task-flow/pipeline/stages/index.js.map +1 -1
- package/dist/libs/task-flow/role-orchestrator.class.d.ts.map +1 -1
- package/dist/libs/task-flow/role-orchestrator.class.js.map +1 -1
- package/dist/libs/task-flow/task-flow-orchestrator.class.d.ts.map +1 -1
- package/dist/libs/task-flow/task-flow-orchestrator.class.js.map +1 -1
- package/dist/libs/task-flow/task-gate-engine.class.d.ts.map +1 -1
- package/dist/libs/task-flow/task-gate-engine.class.js.map +1 -1
- package/dist/libs/thoughtflow-agent-hierarchy.d.ts.map +1 -1
- package/dist/libs/thoughtflow-agent-hierarchy.js.map +1 -1
- package/dist/libs/thoughtflow-knowledge-graph.d.ts.map +1 -1
- package/dist/libs/thoughtflow-knowledge-graph.js.map +1 -1
- package/dist/libs/thoughtflow-orchestrator-layers.d.ts.map +1 -1
- package/dist/libs/thoughtflow-orchestrator-layers.js.map +1 -1
- package/dist/libs/thoughtflow-orchestrator.d.ts.map +1 -1
- package/dist/libs/thoughtflow-orchestrator.js.map +1 -1
- package/dist/libs/thoughtflow-sdlc-phases.d.ts.map +1 -1
- package/dist/libs/thoughtflow-sdlc-phases.js.map +1 -1
- package/dist/libs/thoughtflow-tool-skill-wiring.d.ts.map +1 -1
- package/dist/libs/thoughtflow-tool-skill-wiring.js.map +1 -1
- package/dist/libs/time-travel-execution.d.ts.map +1 -1
- package/dist/libs/time-travel-execution.js.map +1 -1
- package/dist/libs/tool-capabilities.data.d.ts.map +1 -1
- package/dist/libs/tool-capabilities.data.js.map +1 -1
- package/dist/libs/tool-discovery.class.d.ts.map +1 -1
- package/dist/libs/tool-discovery.class.js.map +1 -1
- package/dist/libs/tool-metadata-registry.class.d.ts.map +1 -1
- package/dist/libs/tool-metadata-registry.class.js.map +1 -1
- package/dist/libs/tool-router.class.d.ts.map +1 -1
- package/dist/libs/tool-router.class.js.map +1 -1
- package/dist/libs/tool-router.d.ts.map +1 -1
- package/dist/libs/tool-router.js.map +1 -1
- package/dist/libs/typescript-decoder.class.d.ts.map +1 -1
- package/dist/libs/typescript-decoder.class.js.map +1 -1
- package/dist/libs/utils.d.ts.map +1 -1
- package/dist/libs/utils.js.map +1 -1
- package/dist/libs/validation-engine.d.ts.map +1 -1
- package/dist/libs/validation-engine.js.map +1 -1
- package/dist/patterns/vision-review.pattern.d.ts.map +1 -1
- package/dist/patterns/vision-review.pattern.js.map +1 -1
- package/dist/plugins/browser.plugin.d.ts.map +1 -1
- package/dist/plugins/browser.plugin.js.map +1 -1
- package/dist/plugins/codebase-intelligence.plugin.d.ts.map +1 -1
- package/dist/plugins/codebase-intelligence.plugin.js.map +1 -1
- package/dist/plugins/docker.plugin.d.ts.map +1 -1
- package/dist/plugins/docker.plugin.js.map +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/workspace.plugin.d.ts.map +1 -1
- package/dist/plugins/workspace.plugin.js.map +1 -1
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/protocol/types.js.map +1 -1
- package/dist/quick/agent-kit.d.ts.map +1 -1
- package/dist/quick/agent-kit.js.map +1 -1
- package/dist/quick/core-preset.d.ts.map +1 -1
- package/dist/quick/core-preset.js.map +1 -1
- package/dist/quick/demo-runtime-config.d.ts.map +1 -1
- package/dist/quick/demo-runtime-config.js.map +1 -1
- package/dist/skills/skill-loader.class.d.ts.map +1 -1
- package/dist/skills/skill-loader.class.js.map +1 -1
- package/dist/storage/in-memory.adapter.d.ts.map +1 -1
- package/dist/storage/in-memory.adapter.js.map +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/json-file.adapter.d.ts.map +1 -1
- package/dist/storage/json-file.adapter.js.map +1 -1
- package/dist/storage/vector/factory.d.ts.map +1 -1
- package/dist/storage/vector/factory.js.map +1 -1
- package/dist/storage/vector/index.d.ts.map +1 -1
- package/dist/storage/vector/index.js.map +1 -1
- package/dist/storage/vector/lancedb-vector-store.d.ts.map +1 -1
- package/dist/storage/vector/lancedb-vector-store.js.map +1 -1
- package/dist/storage/vector/memory-vector-store.d.ts.map +1 -1
- package/dist/storage/vector/memory-vector-store.js.map +1 -1
- package/dist/storage/vector/mock-embedding.d.ts.map +1 -1
- package/dist/storage/vector/mock-embedding.js.map +1 -1
- package/dist/storage/vector/ollama-embedding.d.ts.map +1 -1
- package/dist/storage/vector/ollama-embedding.js.map +1 -1
- package/dist/storage/vector/transformers-embedding.d.ts.map +1 -1
- package/dist/storage/vector/transformers-embedding.js.map +1 -1
- package/dist/tools/base/path-utils.d.ts.map +1 -1
- package/dist/tools/base/path-utils.js.map +1 -1
- package/dist/tools/base/pii-guard.middleware.d.ts.map +1 -1
- package/dist/tools/base/pii-guard.middleware.js.map +1 -1
- package/dist/tools/base/tool-base.class.d.ts.map +1 -1
- package/dist/tools/base/tool-base.class.js.map +1 -1
- package/dist/tools/base/tool-result-normalizer.class.d.ts.map +1 -1
- package/dist/tools/base/tool-result-normalizer.class.js.map +1 -1
- package/dist/tools/base/tool-status-tracker.class.d.ts.map +1 -1
- package/dist/tools/base/tool-status-tracker.class.js.map +1 -1
- package/dist/tools/codebase/codebase-analyze.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-analyze.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-crossref.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-crossref.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-flow.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-flow.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-graph-circular.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-graph-circular.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-graph-query.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-graph-query.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-graph-stats.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-graph-stats.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-graph-visualize.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-graph-visualize.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-impact.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-impact.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-index.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-index.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-knowledge.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-knowledge.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-search.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-search.tool.js.map +1 -1
- package/dist/tools/codebase/codebase-status.tool.d.ts.map +1 -1
- package/dist/tools/codebase/codebase-status.tool.js.map +1 -1
- package/dist/tools/conversation-history.tool.d.ts.map +1 -1
- package/dist/tools/conversation-history.tool.js.map +1 -1
- package/dist/tools/database/db-diagram.tool.d.ts.map +1 -1
- package/dist/tools/database/db-diagram.tool.js.map +1 -1
- package/dist/tools/database/db-index-suggest.tool.d.ts.map +1 -1
- package/dist/tools/database/db-index-suggest.tool.js.map +1 -1
- package/dist/tools/database/db-migration.tool.d.ts.map +1 -1
- package/dist/tools/database/db-migration.tool.js.map +1 -1
- package/dist/tools/database/index.d.ts.map +1 -1
- package/dist/tools/database/index.js.map +1 -1
- package/dist/tools/devops/ci-diagnose.tool.d.ts.map +1 -1
- package/dist/tools/devops/ci-diagnose.tool.js.map +1 -1
- package/dist/tools/devops/ci-workflow.tool.d.ts.map +1 -1
- package/dist/tools/devops/ci-workflow.tool.js.map +1 -1
- package/dist/tools/devops/deploy-check.tool.d.ts.map +1 -1
- package/dist/tools/devops/deploy-check.tool.js.map +1 -1
- package/dist/tools/devops/docker-optimize.tool.d.ts.map +1 -1
- package/dist/tools/devops/docker-optimize.tool.js.map +1 -1
- package/dist/tools/devops/env-check.tool.d.ts.map +1 -1
- package/dist/tools/devops/env-check.tool.js.map +1 -1
- package/dist/tools/devops/env-generate.tool.d.ts.map +1 -1
- package/dist/tools/devops/env-generate.tool.js.map +1 -1
- package/dist/tools/devops/index.d.ts.map +1 -1
- package/dist/tools/devops/index.js.map +1 -1
- package/dist/tools/devops/k8s-manifests.tool.d.ts.map +1 -1
- package/dist/tools/devops/k8s-manifests.tool.js.map +1 -1
- package/dist/tools/docs/api-client.tool.d.ts.map +1 -1
- package/dist/tools/docs/api-client.tool.js.map +1 -1
- package/dist/tools/docs/doc-check-coverage.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-check-coverage.tool.js.map +1 -1
- package/dist/tools/docs/doc-check-links.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-check-links.tool.js.map +1 -1
- package/dist/tools/docs/doc-gen-adr.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-gen-adr.tool.js.map +1 -1
- package/dist/tools/docs/doc-gen-api.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-gen-api.tool.js.map +1 -1
- package/dist/tools/docs/doc-gen-diagrams.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-gen-diagrams.tool.js.map +1 -1
- package/dist/tools/docs/doc-gen-readme.tool.d.ts.map +1 -1
- package/dist/tools/docs/doc-gen-readme.tool.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/mcp/tool-search.tool.d.ts +35 -0
- package/dist/tools/mcp/tool-search.tool.d.ts.map +1 -0
- package/dist/tools/mcp/tool-search.tool.js +186 -0
- package/dist/tools/mcp/tool-search.tool.js.map +1 -0
- package/dist/tools/memory/index.d.ts.map +1 -1
- package/dist/tools/memory/index.js.map +1 -1
- package/dist/tools/memory/memory-context.tool.d.ts.map +1 -1
- package/dist/tools/memory/memory-context.tool.js.map +1 -1
- package/dist/tools/memory/memory-lessons.tool.d.ts.map +1 -1
- package/dist/tools/memory/memory-lessons.tool.js.map +1 -1
- package/dist/tools/memory/memory-patterns.tool.d.ts.map +1 -1
- package/dist/tools/memory/memory-patterns.tool.js.map +1 -1
- package/dist/tools/memory/memory-recall.tool.d.ts.map +1 -1
- package/dist/tools/memory/memory-recall.tool.js.map +1 -1
- package/dist/tools/memory/memory-save.tool.d.ts.map +1 -1
- package/dist/tools/memory/memory-save.tool.js.map +1 -1
- package/dist/tools/neural/comparative-analysis.tool.d.ts.map +1 -1
- package/dist/tools/neural/comparative-analysis.tool.js.map +1 -1
- package/dist/tools/neural/index.d.ts.map +1 -1
- package/dist/tools/neural/index.js.map +1 -1
- package/dist/tools/neural/neural-deadcode.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-deadcode.tool.js.map +1 -1
- package/dist/tools/neural/neural-debug.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-debug.tool.js.map +1 -1
- package/dist/tools/neural/neural-explain.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-explain.tool.js.map +1 -1
- package/dist/tools/neural/neural-optimize.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-optimize.tool.js.map +1 -1
- package/dist/tools/neural/neural-pattern.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-pattern.tool.js.map +1 -1
- package/dist/tools/neural/neural-review.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-review.tool.js.map +1 -1
- package/dist/tools/neural/neural-security.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-security.tool.js.map +1 -1
- package/dist/tools/neural/neural-similar.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-similar.tool.js.map +1 -1
- package/dist/tools/neural/neural-smells.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-smells.tool.js.map +1 -1
- package/dist/tools/neural/neural-suggest.tool.d.ts.map +1 -1
- package/dist/tools/neural/neural-suggest.tool.js.map +1 -1
- package/dist/tools/planning/adaptive-lookup.tool.d.ts.map +1 -1
- package/dist/tools/planning/adaptive-lookup.tool.js.map +1 -1
- package/dist/tools/planning/index.d.ts.map +1 -1
- package/dist/tools/planning/index.js.map +1 -1
- package/dist/tools/planning/pm-breakdown.tool.d.ts.map +1 -1
- package/dist/tools/planning/pm-breakdown.tool.js.map +1 -1
- package/dist/tools/planning/pm-deps.tool.d.ts.map +1 -1
- package/dist/tools/planning/pm-deps.tool.js.map +1 -1
- package/dist/tools/planning/pm-estimate.tool.d.ts.map +1 -1
- package/dist/tools/planning/pm-estimate.tool.js.map +1 -1
- package/dist/tools/planning/pm-progress.tool.d.ts.map +1 -1
- package/dist/tools/planning/pm-progress.tool.js.map +1 -1
- package/dist/tools/planning/pm-risks.tool.d.ts.map +1 -1
- package/dist/tools/planning/pm-risks.tool.js.map +1 -1
- package/dist/tools/planning/problem-tree.tool.d.ts.map +1 -1
- package/dist/tools/planning/problem-tree.tool.js.map +1 -1
- package/dist/tools/planning/solve-complex.tool.d.ts.map +1 -1
- package/dist/tools/planning/solve-complex.tool.js.map +1 -1
- package/dist/tools/quality/index.d.ts.map +1 -1
- package/dist/tools/quality/index.js.map +1 -1
- package/dist/tools/quality/quality-complexity.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-complexity.tool.js.map +1 -1
- package/dist/tools/quality/quality-coupling.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-coupling.tool.js.map +1 -1
- package/dist/tools/quality/quality-coverage.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-coverage.tool.js.map +1 -1
- package/dist/tools/quality/quality-deps.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-deps.tool.js.map +1 -1
- package/dist/tools/quality/quality-duplication.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-duplication.tool.js.map +1 -1
- package/dist/tools/quality/quality-size.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-size.tool.js.map +1 -1
- package/dist/tools/quality/quality-types.tool.d.ts.map +1 -1
- package/dist/tools/quality/quality-types.tool.js.map +1 -1
- package/dist/tools/refactor/eslint-fix.tool.d.ts.map +1 -1
- package/dist/tools/refactor/eslint-fix.tool.js.map +1 -1
- package/dist/tools/refactor/index.d.ts.map +1 -1
- package/dist/tools/refactor/index.js.map +1 -1
- package/dist/tools/refactor/refactor-async.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-async.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-barrel.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-barrel.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-extract.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-extract.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-imports.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-imports.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-move.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-move.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-rename.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-rename.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-split.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-split.tool.js.map +1 -1
- package/dist/tools/refactor/refactor-types.tool.d.ts.map +1 -1
- package/dist/tools/refactor/refactor-types.tool.js.map +1 -1
- package/dist/tools/subagent-conversation.tool.d.ts.map +1 -1
- package/dist/tools/subagent-conversation.tool.js.map +1 -1
- package/dist/tools/subagent-job.tool.d.ts.map +1 -1
- package/dist/tools/subagent-job.tool.js.map +1 -1
- package/dist/tools/testing/index.d.ts.map +1 -1
- package/dist/tools/testing/index.js.map +1 -1
- package/dist/tools/testing/test-fix.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-fix.tool.js.map +1 -1
- package/dist/tools/testing/test-fuzz.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-fuzz.tool.js.map +1 -1
- package/dist/tools/testing/test-gap.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-gap.tool.js.map +1 -1
- package/dist/tools/testing/test-gen-integration.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-gen-integration.tool.js.map +1 -1
- package/dist/tools/testing/test-gen-unit.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-gen-unit.tool.js.map +1 -1
- package/dist/tools/testing/test-snapshot.tool.d.ts.map +1 -1
- package/dist/tools/testing/test-snapshot.tool.js.map +1 -1
- package/dist/tools/tool-name.tool.d.ts.map +1 -1
- package/dist/tools/tool-name.tool.js.map +1 -1
- package/dist/tools/tool-registry.class.d.ts.map +1 -1
- package/dist/tools/tool-registry.class.js.map +1 -1
- package/dist/tools/workspace/analyze-project.tool.d.ts.map +1 -1
- package/dist/tools/workspace/analyze-project.tool.js.map +1 -1
- package/dist/tools/workspace/auto-commit.tool.d.ts.map +1 -1
- package/dist/tools/workspace/auto-commit.tool.js.map +1 -1
- package/dist/tools/workspace/batch-write-files.tool.d.ts.map +1 -1
- package/dist/tools/workspace/batch-write-files.tool.js.map +1 -1
- package/dist/tools/workspace/browser-session-pool.d.ts +88 -0
- package/dist/tools/workspace/browser-session-pool.d.ts.map +1 -0
- package/dist/tools/workspace/browser-session-pool.js +302 -0
- package/dist/tools/workspace/browser-session-pool.js.map +1 -0
- package/dist/tools/workspace/browser.tool.d.ts.map +1 -1
- package/dist/tools/workspace/browser.tool.js.map +1 -1
- package/dist/tools/workspace/codebase-research.tool.d.ts.map +1 -1
- package/dist/tools/workspace/codebase-research.tool.js.map +1 -1
- package/dist/tools/workspace/docker.tool.d.ts.map +1 -1
- package/dist/tools/workspace/docker.tool.js.map +1 -1
- package/dist/tools/workspace/edit-file.tool.d.ts.map +1 -1
- package/dist/tools/workspace/edit-file.tool.js.map +1 -1
- package/dist/tools/workspace/find-files.tool.d.ts.map +1 -1
- package/dist/tools/workspace/find-files.tool.js.map +1 -1
- package/dist/tools/workspace/get-task.tool.d.ts.map +1 -1
- package/dist/tools/workspace/get-task.tool.js.map +1 -1
- package/dist/tools/workspace/git.tool.d.ts.map +1 -1
- package/dist/tools/workspace/git.tool.js.map +1 -1
- package/dist/tools/workspace/grep.tool.d.ts.map +1 -1
- package/dist/tools/workspace/grep.tool.js.map +1 -1
- package/dist/tools/workspace/http-request.tool.d.ts.map +1 -1
- package/dist/tools/workspace/http-request.tool.js.map +1 -1
- package/dist/tools/workspace/index.d.ts.map +1 -1
- package/dist/tools/workspace/index.js.map +1 -1
- package/dist/tools/workspace/knowledge.tool.d.ts.map +1 -1
- package/dist/tools/workspace/knowledge.tool.js.map +1 -1
- package/dist/tools/workspace/list-dir.tool.d.ts.map +1 -1
- package/dist/tools/workspace/list-dir.tool.js.map +1 -1
- package/dist/tools/workspace/list-tasks.tool.d.ts.map +1 -1
- package/dist/tools/workspace/list-tasks.tool.js.map +1 -1
- package/dist/tools/workspace/multi-file-patch.tool.d.ts.map +1 -1
- package/dist/tools/workspace/multi-file-patch.tool.js.map +1 -1
- package/dist/tools/workspace/patch-file.tool.d.ts.map +1 -1
- package/dist/tools/workspace/patch-file.tool.js.map +1 -1
- package/dist/tools/workspace/pipeline-run.tool.d.ts.map +1 -1
- package/dist/tools/workspace/pipeline-run.tool.js.map +1 -1
- package/dist/tools/workspace/plan.tool.d.ts.map +1 -1
- package/dist/tools/workspace/plan.tool.js.map +1 -1
- package/dist/tools/workspace/process-manager.tool.d.ts.map +1 -1
- package/dist/tools/workspace/process-manager.tool.js.map +1 -1
- package/dist/tools/workspace/project-context.tool.d.ts.map +1 -1
- package/dist/tools/workspace/project-context.tool.js.map +1 -1
- package/dist/tools/workspace/project-scanner.tool.d.ts.map +1 -1
- package/dist/tools/workspace/project-scanner.tool.js.map +1 -1
- package/dist/tools/workspace/read-file.tool.d.ts.map +1 -1
- package/dist/tools/workspace/read-file.tool.js.map +1 -1
- package/dist/tools/workspace/run-tsc.tool.d.ts.map +1 -1
- package/dist/tools/workspace/run-tsc.tool.js.map +1 -1
- package/dist/tools/workspace/safe-edit-policy.tool.d.ts.map +1 -1
- package/dist/tools/workspace/safe-edit-policy.tool.js.map +1 -1
- package/dist/tools/workspace/search-code.tool.d.ts.map +1 -1
- package/dist/tools/workspace/search-code.tool.js.map +1 -1
- package/dist/tools/workspace/store.tool.d.ts.map +1 -1
- package/dist/tools/workspace/store.tool.js.map +1 -1
- package/dist/tools/workspace/terminal-run.tool.d.ts.map +1 -1
- package/dist/tools/workspace/terminal-run.tool.js.map +1 -1
- package/dist/tools/workspace/vision-browser.tool.d.ts.map +1 -1
- package/dist/tools/workspace/vision-browser.tool.js.map +1 -1
- package/dist/tools/workspace/write-file.tool.d.ts.map +1 -1
- package/dist/tools/workspace/write-file.tool.js.map +1 -1
- package/package.json +5 -1
- package/skills/thoughtflow-mcp/SKILL.md +294 -0
package/README.md
CHANGED
|
@@ -1,304 +1,386 @@
|
|
|
1
1
|
# thoughtflow
|
|
2
2
|
|
|
3
|
-
**TypeScript framework for building autonomous AI agents** —
|
|
3
|
+
**TypeScript framework for building autonomous AI agents** — streaming, tool-calling, plugins, skills, workspace automation, and advanced orchestration.
|
|
4
4
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://www.npmjs.com/package/@thoughtflow/core)
|
|
7
7
|
|
|
8
8
|
```ts
|
|
9
|
-
import { Conversation, OpenAiAdapter } from "
|
|
9
|
+
import { Conversation, OpenAiAdapter } from "thoughtflow";
|
|
10
10
|
|
|
11
11
|
const agent = new Conversation({
|
|
12
12
|
llmAdapter: new OpenAiAdapter({ apiKey: process.env.OPENAI_API_KEY }),
|
|
13
13
|
model: "gpt-4o",
|
|
14
|
-
systemPrompt: "You are a helpful
|
|
14
|
+
systemPrompt: "You are a helpful agent with tools.",
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
-
const { output } = await agent.sendPrompt("
|
|
17
|
+
const { output } = await agent.sendPrompt("What files are in the project?");
|
|
18
18
|
console.log(output);
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Features
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
- **Conversation loop** — multi-turn agent with streaming, tool-calling, and interrupt support
|
|
26
|
+
- **Adapter system** — OpenAI, Anthropic, Ollama, vLLM, and mock adapters via `AdapterFactory`
|
|
27
|
+
- **120+ built-in tools** — file read/write, search, git, browser, docker, code analysis, refactoring, testing, planning, memory, and more
|
|
28
|
+
- **Context window management** — sliding-window and truncation strategies to stay within model limits
|
|
29
|
+
- **Subagent orchestration** — spawn child agents with isolated context, tools, and state
|
|
30
|
+
- **Plugins** — workspace, docker, browser, codebase intelligence
|
|
31
|
+
- **Skills** — loadable `.md` instructions that inject context and constraints
|
|
32
|
+
- **Storage abstraction** — in-memory, JSON file, LanceDB vector store, Ollama/Transformers embeddings
|
|
33
|
+
- **Event bus** — RxJS-based streaming events for real-time UI or logging
|
|
34
|
+
- **Task flow engine** — multi-stage pipelines with git commit/push, docker, and phase gates
|
|
35
|
+
- **MCP support** — Model Context Protocol server with smart compressed tool list, `tool_search` for on-demand schema discovery, multi-provider routing, and vision browser
|
|
27
36
|
|
|
28
|
-
|
|
37
|
+
## Quickstart
|
|
29
38
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- **Observability over opacity.** Tool calls are events you subscribe to. Iteration counts,
|
|
33
|
-
token usage, stall detection — all exposed. Nothing is hidden behind a magic decorator.
|
|
34
|
-
- **Verification over trust.** The framework doesn't assume an LLM's output is correct.
|
|
35
|
-
Subagents report what they *did*, not what they *said*. You decide when to trust.
|
|
36
|
-
- **Explicit composition.** Agents are assembled from visible parts: adapter, model, tool list,
|
|
37
|
-
system prompt, skills, temperature, iteration limits, callbacks. Every knob is on the surface.
|
|
38
|
-
- **Autonomy with bounds.** Agents can be autonomous — but bounded by explicit tool sets,
|
|
39
|
-
skill definitions, iteration caps, stall detection, and human-in-the-loop interrupts.
|
|
40
|
-
|
|
41
|
-
> thoughtflow emerged from building production agent systems where "it mostly works"
|
|
42
|
-
> wasn't enough. When an agent misbehaves in production, you need to know *why* —
|
|
43
|
-
> not dig through three layers of abstraction to find the actual prompt that was sent.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Installation
|
|
39
|
+
### Installation
|
|
48
40
|
|
|
49
41
|
```bash
|
|
50
|
-
npm install
|
|
42
|
+
npm install thoughtflow
|
|
51
43
|
# or
|
|
52
|
-
bun add
|
|
44
|
+
bun add thoughtflow
|
|
53
45
|
```
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Core concepts
|
|
60
|
-
|
|
61
|
-
### Orchestration patterns
|
|
62
|
-
|
|
63
|
-
Thoughtflow provides six distinct patterns for composing LLM agents:
|
|
64
|
-
|
|
65
|
-
| Pattern | Description | When to use |
|
|
66
|
-
|---------|-------------|-------------|
|
|
67
|
-
| **Single loop** | One `Conversation` with tools, stall detection, streaming | Simple Q&A, code generation, single tasks |
|
|
68
|
-
| **Pipeline** | Sequential agents that pass artifacts between them | Code review, document processing, staged workflows |
|
|
69
|
-
| **Subagent fan-out** | Parent delegates sub-tasks to child agents, collects verified results | Parallel research, multi-file analysis, independent tasks |
|
|
70
|
-
| **Saga** | Pipeline with compensating rollbacks on failure | Automated refactoring, deployments, irreversible operations |
|
|
71
|
-
| **Role orchestrator** | Role-based pipeline with journal tracking and artifact passing | Code review with analyst → planner → implementer → reviewer roles |
|
|
72
|
-
| **Dynamic decomposition** | Agent breaks a task into sub-problems with dependency tracking | Complex multi-step problems, cross-cutting changes |
|
|
73
|
-
|
|
74
|
-
### Verification principle
|
|
75
|
-
|
|
76
|
-
The most important design rule: **don't trust the LLM's self-reported output.**
|
|
47
|
+
### Basic usage
|
|
77
48
|
|
|
78
49
|
```ts
|
|
79
|
-
|
|
80
|
-
const result = await subagent.runTask("count files in src/");
|
|
81
|
-
// Return actual (verified) data to parent — not the LLM's self-reported version
|
|
82
|
-
return { fileCount: result.toolOutputs.fileCount };
|
|
83
|
-
```
|
|
50
|
+
import { Conversation, OpenAiAdapter, AdapterFactory } from "thoughtflow";
|
|
84
51
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
52
|
+
// Option A: direct adapter
|
|
53
|
+
const agent = new Conversation({
|
|
54
|
+
llmAdapter: new OpenAiAdapter({ apiKey: "sk-..." }),
|
|
55
|
+
model: "gpt-4o",
|
|
56
|
+
});
|
|
89
57
|
|
|
90
|
-
|
|
58
|
+
// Option B: factory with provider
|
|
59
|
+
const adapter = AdapterFactory.create({
|
|
60
|
+
provider: "openai",
|
|
61
|
+
baseUrl: "https://api.openai.com/v1",
|
|
62
|
+
apiKey: "sk-...",
|
|
63
|
+
});
|
|
91
64
|
|
|
92
|
-
|
|
65
|
+
// Multi-turn conversation
|
|
66
|
+
await agent.sendPrompt("List the files in src/");
|
|
67
|
+
const history = agent.getHistory(); // full message history
|
|
93
68
|
|
|
94
|
-
|
|
95
|
-
import {
|
|
69
|
+
// With tools
|
|
70
|
+
import { ReadFileTool, GrepTool } from "thoughtflow";
|
|
96
71
|
|
|
97
72
|
const agent = new Conversation({
|
|
98
|
-
llmAdapter:
|
|
73
|
+
llmAdapter: adapter,
|
|
99
74
|
model: "gpt-4o",
|
|
100
|
-
systemPrompt: "You are a coding assistant. Use tools to explore and modify code.",
|
|
101
75
|
tools: [
|
|
102
76
|
new ReadFileTool("/path/to/project"),
|
|
103
77
|
new GrepTool("/path/to/project"),
|
|
104
78
|
],
|
|
105
79
|
});
|
|
106
|
-
|
|
107
|
-
const { output } = await agent.sendPrompt("Find all TODO comments in src/");
|
|
108
80
|
```
|
|
109
81
|
|
|
110
|
-
###
|
|
82
|
+
### Streaming events
|
|
111
83
|
|
|
112
84
|
```ts
|
|
113
|
-
|
|
114
|
-
await agent.sendPrompt("How is the ReadFileTool implemented?");
|
|
115
|
-
const history = agent.getHistory(); // full message history
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### 3. Streaming events
|
|
119
|
-
|
|
120
|
-
Thoughtflow emits RxJS events for real-time UI and logging:
|
|
85
|
+
import { filter } from "rxjs";
|
|
121
86
|
|
|
122
|
-
```ts
|
|
123
87
|
agent.events.pipe(
|
|
124
|
-
filter((e) => e.type === "
|
|
88
|
+
filter((e) => e.type === "stream:chunk"),
|
|
125
89
|
).subscribe((chunk) => {
|
|
126
|
-
process.stdout.write(chunk.
|
|
90
|
+
process.stdout.write(chunk.delta.content ?? "");
|
|
127
91
|
});
|
|
128
92
|
```
|
|
129
93
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
### 4. Using different providers
|
|
94
|
+
### Subagent delegation
|
|
133
95
|
|
|
134
96
|
```ts
|
|
135
|
-
import {
|
|
97
|
+
import { SubagentConversationTool } from "thoughtflow";
|
|
136
98
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
99
|
+
const agent = new Conversation({
|
|
100
|
+
llmAdapter: adapter,
|
|
101
|
+
model: "gpt-4o",
|
|
102
|
+
tools: [new SubagentConversationTool()],
|
|
141
103
|
});
|
|
142
104
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
105
|
+
await agent.sendPrompt(
|
|
106
|
+
"Research the best Node.js testing frameworks, then summarize."
|
|
107
|
+
);
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Architecture
|
|
148
111
|
|
|
149
|
-
// OpenAI-compatible (vLLM, OpenRouter, etc.)
|
|
150
|
-
const vllm = LlmAdapterFactory.create({
|
|
151
|
-
provider: "openai",
|
|
152
|
-
baseUrl: "https://api.openai.com/v1",
|
|
153
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
154
|
-
});
|
|
155
112
|
```
|
|
113
|
+
thoughtflow/
|
|
114
|
+
├── packages/mcp-server/ # @thoughtflow/mcp-server — thin npm wrapper
|
|
115
|
+
├── src/
|
|
116
|
+
│ ├── adapters/llm/ # LLM provider adapters (OpenAI, Anthropic, Ollama, mock)
|
|
117
|
+
│ ├── bin/ # CLI entry point (mcp-server)
|
|
118
|
+
│ ├── contracts/ # TypeScript interfaces and types
|
|
119
|
+
│ ├── contexts/ # Context document management & routing
|
|
120
|
+
│ ├── libs/
|
|
121
|
+
│ │ ├── mcp/ # MCP protocol: JSON-RPC, server, tool registry
|
|
122
|
+
│ │ └── ... # Core libraries (runner, history, subagents, task flow)
|
|
123
|
+
│ ├── plugins/ # Workspace, Docker, Browser, Codebase Intelligence
|
|
124
|
+
│ ├── skills/ # Skill loader + built-in .md skill definitions
|
|
125
|
+
│ ├── storage/ # Persistence adapters (memory, JSON, vector stores)
|
|
126
|
+
│ ├── tools/
|
|
127
|
+
│ │ ├── mcp/ # tool_search — on-demand tool discovery
|
|
128
|
+
│ │ ├── workspace/ # file, git, browser, docker, terminal, vision browser
|
|
129
|
+
│ │ ├── codebase/ # search, graph, impact, knowledge, crossref
|
|
130
|
+
│ │ ├── planning/ # breakdown, deps, estimate, risks, progress
|
|
131
|
+
│ │ ├── quality/ # complexity, coupling, coverage, duplication
|
|
132
|
+
│ │ ├── refactor/ # rename, extract, split, move, imports
|
|
133
|
+
│ │ ├── testing/ # gen-unit, gen-integration, fuzz, snapshot, fix
|
|
134
|
+
│ │ ├── docs/ # gen-readme, gen-api, gen-adr, check-links
|
|
135
|
+
│ │ ├── neural/ # review, debug, explain, optimize, security
|
|
136
|
+
│ │ ├── memory/ # save, recall, context, patterns, lessons
|
|
137
|
+
│ │ ├── database/ # migration, diagram, index-suggest
|
|
138
|
+
│ │ └── devops/ # ci-diagnose, deploy-check, docker-optimize
|
|
139
|
+
│ └── quick/ # Preset configs for common setups
|
|
140
|
+
└── tests/ # 56 unit tests (MCP protocol, JSON-RPC, tool registry)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## LLM Providers
|
|
156
144
|
|
|
157
|
-
| Provider | Adapter |
|
|
145
|
+
| Provider | Adapter | baseUrl example |
|
|
158
146
|
|----------|---------|-----------------|
|
|
159
147
|
| OpenAI-compatible | `OpenAiAdapter` | `https://api.openai.com/v1` |
|
|
160
148
|
| Anthropic | `AnthropicAdapter` | — |
|
|
161
149
|
| Ollama | `OllamaAdapter` | `http://localhost:11434` |
|
|
162
150
|
| Mock | `MockAdapter` | — (testing) |
|
|
163
151
|
|
|
164
|
-
|
|
152
|
+
```ts
|
|
153
|
+
const adapter = AdapterFactory.create({
|
|
154
|
+
provider: "ollama",
|
|
155
|
+
baseUrl: "http://localhost:11434",
|
|
156
|
+
});
|
|
157
|
+
// Adapter appends /v1/chat internally
|
|
158
|
+
```
|
|
165
159
|
|
|
166
|
-
|
|
160
|
+
## MCP Server — Autonomous Agent via Model Context Protocol
|
|
167
161
|
|
|
168
|
-
|
|
169
|
-
import { SubagentConversationTool } from "@thoughtflow/core";
|
|
162
|
+
**Run thoughtflow as an MCP server that any MCP-compatible client can drive.** Claude Desktop, Cursor, OpenCode, Continue, Zed — any client that speaks JSON-RPC over stdio becomes a fully autonomous coding agent with 100+ battle-tested tools.
|
|
170
163
|
|
|
171
|
-
|
|
172
|
-
llmAdapter: adapter,
|
|
173
|
-
model: "gpt-4o",
|
|
174
|
-
tools: [new SubagentConversationTool()],
|
|
175
|
-
});
|
|
164
|
+
### Why thoughtflow MCP?
|
|
176
165
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)
|
|
166
|
+
| Problem | thoughtflow solution |
|
|
167
|
+
|---|---|
|
|
168
|
+
| **Context window pollution** — 100+ tools with full JSON schemas consume 50K+ tokens upfront | **Smart compressed mode** — tools list shows names + one-liners only. LLM calls `tool_search("analyze codebase")` to pull full schemas on demand. Default: saves ~80% tokens. |
|
|
169
|
+
| **Static tool list** — LLM can't discover the right tool among dozens of similar names | **tool_search** — describe what you want to do in natural language. Returns matching tools with full parameter schemas. Domain-aware: `"testing tools"`, `"workspace tools"`. |
|
|
170
|
+
| **One model for everything** — vision doesn't work on your text model | **Per-provider routing** — route `visionBrowser` to GPT-4V, planning tools to Claude, code tools to your local Qwen. Mix and match. |
|
|
171
|
+
| **Setup complexity** — config files, env vars, provider wiring | **Single config file** — `thoughtflow.config.json`. Providers, tool filtering, model routing, workspace paths — all in one place. |
|
|
172
|
+
|
|
173
|
+
### Quickstart — one command
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npx @thoughtflow/mcp-server
|
|
180
177
|
```
|
|
181
178
|
|
|
182
|
-
|
|
179
|
+
That's it. The server auto-detects `thoughtflow.config.json` in the current directory. No config file? Starts with sensible defaults (Ollama on localhost).
|
|
183
180
|
|
|
184
|
-
|
|
181
|
+
**Custom config:**
|
|
182
|
+
```bash
|
|
183
|
+
npx @thoughtflow/mcp-server --config ./my-config.json
|
|
184
|
+
# or
|
|
185
|
+
THOUGHTFLOW_CONFIG=/path/to/config.json npx @thoughtflow/mcp-server
|
|
186
|
+
```
|
|
185
187
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
+
**Minimal `thoughtflow.config.json`:**
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"workspace": { "allowedPaths": ["."] },
|
|
192
|
+
"providers": {
|
|
193
|
+
"default": {
|
|
194
|
+
"type": "ollama",
|
|
195
|
+
"baseUrl": "http://localhost:11434",
|
|
196
|
+
"model": "qwen3"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Wire into your MCP client:
|
|
203
|
+
|
|
204
|
+
**Claude Desktop** (`claude_desktop_config.json`):
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"mcpServers": {
|
|
208
|
+
"thoughtflow": {
|
|
209
|
+
"command": "npx",
|
|
210
|
+
"args": ["-y", "@thoughtflow/mcp-server", "--config", "/Users/you/project/thoughtflow.config.json"]
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Cursor** (`.cursor/mcp.json`):
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"mcpServers": {
|
|
220
|
+
"thoughtflow": {
|
|
221
|
+
"command": "npx",
|
|
222
|
+
"args": ["-y", "@thoughtflow/mcp-server", "--config", "/absolute/path/to/thoughtflow.config.json"]
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
```
|
|
188
227
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
228
|
+
**Zed** (`settings.json`):
|
|
229
|
+
```json
|
|
230
|
+
{
|
|
231
|
+
"context_servers": {
|
|
232
|
+
"thoughtflow": {
|
|
233
|
+
"command": {
|
|
234
|
+
"path": "npx",
|
|
235
|
+
"args": ["-y", "@thoughtflow/mcp-server", "--config", "/absolute/path/to/thoughtflow.config.json"]
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
192
240
|
```
|
|
193
241
|
|
|
194
|
-
|
|
242
|
+
Your LLM now has filesystem access, git, search, code analysis, refactoring, testing — 100+ tools, zero setup beyond the config file. No API keys, no path wrangling, no dependency hell.
|
|
195
243
|
|
|
196
|
-
###
|
|
244
|
+
### The tool_search advantage
|
|
245
|
+
|
|
246
|
+
In compressed mode (default), the LLM receives this instead of 50K tokens of JSON schemas:
|
|
197
247
|
|
|
198
|
-
```ts
|
|
199
|
-
const agent = new Conversation({
|
|
200
|
-
llmAdapter: adapter,
|
|
201
|
-
model: "gpt-4o",
|
|
202
|
-
contextWindow: {
|
|
203
|
-
maxTokens: 8000,
|
|
204
|
-
strategy: "sliding-window", // or "truncation"
|
|
205
|
-
},
|
|
206
|
-
});
|
|
207
248
|
```
|
|
249
|
+
## Tool Discovery — USE THIS FIRST
|
|
208
250
|
|
|
209
|
-
|
|
251
|
+
The tool list is COMPRESSED. Use `tool_search` before calling unfamiliar tools.
|
|
210
252
|
|
|
211
|
-
|
|
253
|
+
Available domains:
|
|
254
|
+
- workspace: File I/O, terminal, git, search, browser, HTTP
|
|
255
|
+
- codebase: Repository intelligence — index, search, graphs, impact
|
|
256
|
+
- neural: LLM-powered analysis — review, explain, debug, security
|
|
257
|
+
- planning: Problem decomposition, project management, estimation
|
|
258
|
+
...
|
|
259
|
+
```
|
|
212
260
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
261
|
+
When the LLM needs to read a file:
|
|
262
|
+
```
|
|
263
|
+
LLM: tool_search("read a text file")
|
|
264
|
+
→ readFile: path (string, required), offset (number, optional)...
|
|
265
|
+
LLM: readFile({ path: "src/app.ts" })
|
|
266
|
+
```
|
|
216
267
|
|
|
217
|
-
|
|
268
|
+
Every interaction costs fewer tokens. The LLM discovers tools exactly when needed — like lazy-loading for function schemas.
|
|
269
|
+
|
|
270
|
+
### Vision browser — visual page analysis
|
|
271
|
+
|
|
272
|
+
```json
|
|
273
|
+
{
|
|
274
|
+
"tools": {
|
|
275
|
+
"visionBrowser": {
|
|
276
|
+
"enabled": true,
|
|
277
|
+
"provider": "custom",
|
|
278
|
+
"baseUrl": "https://integrate.api.nvidia.com/v1",
|
|
279
|
+
"apiKey": "***",
|
|
280
|
+
"model": "nemotron-mini-3-omni"
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
```
|
|
218
285
|
|
|
219
|
-
|
|
220
|
-
|
|
286
|
+
Now the LLM can visually inspect rendered web pages:
|
|
287
|
+
```
|
|
288
|
+
LLM: visionBrowser({ url: "https://example.com", prompt: "Is the login form centered? What color is the submit button?" })
|
|
221
289
|
```
|
|
222
290
|
|
|
223
|
-
|
|
291
|
+
Works with any OpenAI-compatible vision endpoint — GPT-4V, Claude 3, Gemini, Nemotron, local Ollama with vision models.
|
|
224
292
|
|
|
225
|
-
|
|
226
|
-
const result = await agent.sendPrompt("Deploy to production", {
|
|
227
|
-
interruptConfig: {
|
|
228
|
-
riskLevel: "high", // auto-interrupt on risky actions
|
|
229
|
-
keywords: ["deploy", "delete", "rm -rf"],
|
|
230
|
-
},
|
|
231
|
-
});
|
|
293
|
+
### Advanced configuration
|
|
232
294
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"agent": {
|
|
298
|
+
"toolListMode": "compressed",
|
|
299
|
+
"maxIterations": 50
|
|
300
|
+
},
|
|
301
|
+
"categories": {
|
|
302
|
+
"workspace": { "enabled": true },
|
|
303
|
+
"database": { "enabled": false }
|
|
304
|
+
},
|
|
305
|
+
"tools": {
|
|
306
|
+
"visionBrowser": { "enabled": true, "provider": "custom", "model": "gpt-4o" },
|
|
307
|
+
"browser": { "enabled": false }
|
|
308
|
+
},
|
|
309
|
+
"modelRouting": {
|
|
310
|
+
"vision": { "provider": "openai", "model": "gpt-4o" },
|
|
311
|
+
"planning": { "provider": "claude", "model": "claude-sonnet-4" },
|
|
312
|
+
"default": { "provider": "ollama", "model": "qwen3" }
|
|
313
|
+
},
|
|
314
|
+
"providers": {
|
|
315
|
+
"ollama": { "type": "ollama", "baseUrl": "http://localhost:11434", "model": "qwen3" },
|
|
316
|
+
"openai": { "type": "openai", "baseUrl": "https://api.openai.com/v1", "apiKey": "***" },
|
|
317
|
+
"claude": { "type": "anthropic", "baseUrl": "https://api.anthropic.com", "apiKey": "***" }
|
|
318
|
+
}
|
|
236
319
|
}
|
|
237
320
|
```
|
|
238
321
|
|
|
239
|
-
|
|
322
|
+
| Config key | What it does |
|
|
323
|
+
|---|---|
|
|
324
|
+
| `agent.toolListMode` | `"compressed"` (default, saves tokens) or `"full"` (all schemas upfront) |
|
|
325
|
+
| `categories.*.enabled` | Toggle entire tool categories on/off |
|
|
326
|
+
| `tools.*.enabled` | Toggle individual tools |
|
|
327
|
+
| `modelRouting` | Route specific tools/categories to different LLM providers |
|
|
328
|
+
| `tools.visionBrowser` | Enable visual page analysis with any vision-capable model |
|
|
329
|
+
| `workspace.allowedPaths` | Filesystem sandbox — which directories the LLM can touch |
|
|
240
330
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
Full working examples in [`demos/`](./demos/):
|
|
244
|
-
|
|
245
|
-
| Example | Pattern | What it demonstrates |
|
|
246
|
-
|---------|---------|---------------------|
|
|
247
|
-
| `agent-live-demo.ts` | Single loop + pipeline | Basic agent, multi-agent pipeline (architect → coder → reviewer) |
|
|
248
|
-
| `subagent-demo.ts` | Fan-out | Parent delegates verification tasks, re-verifies output |
|
|
249
|
-
| `code-review-saga-demo.ts` | Saga | 4-step analyze → fix → test → commit with compensating rollback |
|
|
250
|
-
| `code-review-role-orchestrator-demo.ts` | Role orchestrator | 6-role pipeline with journal and artifact passing |
|
|
251
|
-
| `solve-complex-demo.ts` | Dynamic decomposition | Task → 12+ subproblems with dependency tree |
|
|
252
|
-
| `autonomous-dev-demo.ts` | Auto loop | End-to-end: plan → code → build → test → fix in a loop |
|
|
253
|
-
| `autonomous-corporation-demo.ts` | Multi-agent swarm | Multiple agents with different roles collaborating |
|
|
254
|
-
| `multi-server-demo.ts` | Distributed | Pooled inference across multiple LLM servers |
|
|
255
|
-
| `thinking-leak-detection.ts` | Quality gate | Detects reasoning content leaking into agent output |
|
|
256
|
-
| `code-review-autonomous-demo.ts` | Auto review | Automated PR review with skill injection |
|
|
257
|
-
| `tool-calling-test.ts` | Tool loop | Walkthrough of the tool-calling loop mechanics |
|
|
258
|
-
| `workspace-demo.ts` | Workspace | File, git, terminal automation |
|
|
259
|
-
| `nestjs-hello-world-demo.ts` | Skills | Skill-based NestJS code generation |
|
|
260
|
-
| `nestjs-todo-demo.ts` | Skills | Skill-based NestJS TODO app generation |
|
|
331
|
+
### Protocol
|
|
261
332
|
|
|
262
|
-
|
|
333
|
+
Standard MCP over stdio — JSON-RPC 2.0, newline-delimited:
|
|
263
334
|
|
|
264
|
-
|
|
335
|
+
```
|
|
336
|
+
→ {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}
|
|
337
|
+
← {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},...}}
|
|
265
338
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
- **Composable.** Conversation, adapters, tools, skills — each piece works independently or together. Use just the event bus, or the full agent stack.
|
|
269
|
-
- **LLM-agnostic.** Switch between OpenAI, Anthropic, Ollama, or vLLM by changing one line.
|
|
270
|
-
- **Pragmatic tooling.** 120+ built-in tools for real workflows — code analysis, refactoring, planning, testing, devops.
|
|
271
|
-
- **Determinism where possible.** Temperature 0, stall detection, max iterations — the framework helps you keep agents predictable.
|
|
339
|
+
→ {"jsonrpc":"2.0","id":2,"method":"tools/list"}
|
|
340
|
+
← {"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"tool_search",...},{"name":"readFile",...},...]}}
|
|
272
341
|
|
|
273
|
-
|
|
342
|
+
→ {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"readFile","arguments":{"path":"src/app.ts"}}}
|
|
343
|
+
← {"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"..."}]}}
|
|
344
|
+
```
|
|
274
345
|
|
|
275
|
-
|
|
346
|
+
### Testing
|
|
276
347
|
|
|
348
|
+
thoughtflow includes a `MockAdapter` — zero network calls, deterministic responses:
|
|
349
|
+
|
|
350
|
+
```ts
|
|
351
|
+
import { McpServer, MockAdapter } from "thoughtflow";
|
|
352
|
+
|
|
353
|
+
const server = new McpServer({
|
|
354
|
+
thoughtflowConfig: { workspace: { allowedPaths: ["."] } },
|
|
355
|
+
adapters: new Map([["mock", { adapter: new MockAdapter(), model: "mock", baseUrl: "" }]]),
|
|
356
|
+
defaultProvider: "mock",
|
|
357
|
+
});
|
|
358
|
+
await server.initialize();
|
|
359
|
+
|
|
360
|
+
const response = await server.handleRequest({
|
|
361
|
+
jsonrpc: "2.0", id: 1, method: "tools/list",
|
|
362
|
+
});
|
|
277
363
|
```
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
├── storage/ # Persistence adapters (memory, JSON, vector stores)
|
|
286
|
-
├── tools/ # 120+ tools across 12 categories
|
|
287
|
-
│ ├── workspace/ # file, git, browser, docker, terminal, ...
|
|
288
|
-
│ ├── codebase/ # search, graph, impact, knowledge, ...
|
|
289
|
-
│ ├── planning/ # breakdown, deps, estimate, risks, ...
|
|
290
|
-
│ ├── quality/ # complexity, coupling, coverage, duplication, ...
|
|
291
|
-
│ ├── refactor/ # rename, extract, split, move, eslint-fix
|
|
292
|
-
│ ├── testing/ # gen-unit, gen-integration, fuzz, snapshot, fix
|
|
293
|
-
│ ├── docs/ # gen-readme, gen-api, gen-adr, check-links
|
|
294
|
-
│ ├── neural/ # review, debug, explain, optimize, security, ...
|
|
295
|
-
│ ├── memory/ # save, recall, context, patterns, lessons
|
|
296
|
-
│ ├── database/ # migration, diagram, index-suggest
|
|
297
|
-
│ └── devops/ # ci-diagnose, deploy-check, docker-optimize, ...
|
|
298
|
-
└── quick/ # Preset configs for common setups
|
|
364
|
+
|
|
365
|
+
### Hermes Agent skill
|
|
366
|
+
|
|
367
|
+
Install the thoughtflow skill for Hermes — one command:
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
npx @thoughtflow/mcp-server install-skill
|
|
299
371
|
```
|
|
300
372
|
|
|
301
|
-
|
|
373
|
+
This copies the skill to `~/.hermes/skills/thoughtflow-mcp/`. Custom target:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
npx @thoughtflow/mcp-server install-skill --target ~/.agents/skills/
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
The skill auto-activates when `mcp__thoughtflow__*` tools are detected and teaches the LLM:
|
|
380
|
+
- Task-based tool selection ("find X" → grep, "review" → neuralReview, etc.)
|
|
381
|
+
- Mandatory workflows (pre-change impact check, pre-commit quality gate, visual testing flow)
|
|
382
|
+
- Safety rules (no destructive ops without backup + user approval)
|
|
383
|
+
- Planning pattern (solveComplex → TODO list)
|
|
302
384
|
|
|
303
385
|
## License
|
|
304
386
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-factory.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/adapter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAiB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAoB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,0BAA0B,CAAC,GACjD,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,mBAAmB,CAAC,GAC1C,CAAC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,sBAAsB,CAAC,GAChD,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU;IAahD,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAI1C,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU;IAItD,gDAAgD;IAChD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,UAAU;IAI5D,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW;CAGrD"}
|
|
1
|
+
{"version":3,"file":"adapter-factory.d.ts","sourceRoot":"","sources":["../../../packages/core/src/adapters/llm/adapter-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAiB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAoB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GACrB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,0BAA0B,CAAC,GACjD,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,mBAAmB,CAAC,GAC1C,CAAC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,sBAAsB,CAAC,GAChD,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU;IAahD,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAI1C,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU;IAItD,gDAAgD;IAChD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,UAAU;IAI5D,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW;CAGrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-factory.js","sourceRoot":"","sources":["../../../src/adapters/llm/adapter-factory.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,qDAAsE;AACtE,2DAA+E;AAC/E,iDAAgE;AAehE;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAC5B,MAAM,CAAC,MAAM,CAAC,MAAqB;QACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,IAAI,8BAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,KAAK,QAAQ;gBACX,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,WAAW;gBACd,OAAO,IAAI,oCAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM;gBACT,OAAO,IAAI,0BAAW,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,8BAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,MAA2B;QACvC,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,SAAS,CAAC,MAA8B;QAC7C,OAAO,IAAI,oCAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,MAA0B;QACpC,OAAO,IAAI,0BAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CACF;AAjCD,8CAiCC"}
|
|
1
|
+
{"version":3,"file":"adapter-factory.js","sourceRoot":"","sources":["../../../packages/core/src/adapters/llm/adapter-factory.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,qDAAsE;AACtE,2DAA+E;AAC/E,iDAAgE;AAehE;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAC5B,MAAM,CAAC,MAAM,CAAC,MAAqB;QACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,IAAI,8BAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,KAAK,QAAQ;gBACX,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,WAAW;gBACd,OAAO,IAAI,oCAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM;gBACT,OAAO,IAAI,0BAAW,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,8BAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,MAAM,CAAC,MAA2B;QACvC,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,SAAS,CAAC,MAA8B;QAC7C,OAAO,IAAI,oCAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,MAA0B;QACpC,OAAO,IAAI,0BAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CACF;AAjCD,8CAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/anthropic.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAqB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAQD,qBAAa,gBAAiB,YAAW,UAAU;IAIrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAET,MAAM,EAAE,sBAAsB;IASrD,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBrC,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0CpE,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAmDvD,UAAU,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACvC,OAAO,CAAC,eAAe,CAAC;IAoG3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,SAAS;CA2ClB"}
|
|
1
|
+
{"version":3,"file":"anthropic.adapter.d.ts","sourceRoot":"","sources":["../../../packages/core/src/adapters/llm/anthropic.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAqB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAQD,qBAAa,gBAAiB,YAAW,UAAU;IAIrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAET,MAAM,EAAE,sBAAsB;IASrD,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBrC,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0CpE,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAmDvD,UAAU,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACvC,OAAO,CAAC,eAAe,CAAC;IAoG3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,SAAS;CA2ClB"}
|