onetool-mcp 1.0.0b1__tar.gz → 1.0.0rc2__tar.gz
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.
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.chunkhound.json +37 -37
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/consult.md +63 -63
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/prime.md +8 -8
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/quick-apply.md +24 -7
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/review-py.md +252 -252
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/sanity.md +1 -1
- onetool_mcp-1.0.0rc2/.claude/settings.local.json +148 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.github/workflows/publish.yml +63 -63
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.gitignore +119 -109
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.gitleaks.toml +19 -19
- onetool_mcp-1.0.0rc2/.gitleaksignore +4 -0
- onetool_mcp-1.0.0rc2/CHANGELOG.md +22 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/CLAUDE.md +3 -3
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/LICENSE.txt +1 -1
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/NOTICE.txt +54 -64
- onetool_mcp-1.0.0rc2/PKG-INFO +266 -0
- onetool_mcp-1.0.0rc2/README.md +217 -0
- onetool_mcp-1.0.0b1/AGENTS_PRIME.md → onetool_mcp-1.0.0rc2/agents/prime.md +2 -2
- onetool_mcp-1.0.0b1/AGENTS_RULES.md → onetool_mcp-1.0.0rc2/agents/rules.md +60 -60
- onetool_mcp-1.0.0rc2/cliff.toml +34 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/README.md +67 -67
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/compare.yaml +2 -9
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_brave_search.yaml +1 -1
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_web_fetch.yaml +2 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/prompts/onetool-in-action.md +12 -10
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/CNAME +1 -1
- onetool_mcp-1.0.0rc2/docs/_internal/architecture.md +96 -0
- onetool_mcp-1.0.0rc2/docs/_internal/attribution.md +95 -0
- onetool_mcp-1.0.0rc2/docs/_internal/brand/brand.md +115 -0
- onetool_mcp-1.0.0b1/docs/_internal/brand/claims.md → onetool_mcp-1.0.0rc2/docs/_internal/brand/ref-claims.md +1 -1
- onetool_mcp-1.0.0rc2/docs/_internal/brand/ref-terminology.md +89 -0
- onetool_mcp-1.0.0b1/docs/_internal/brand/tool-packs.md → onetool_mcp-1.0.0rc2/docs/_internal/brand/ref-tool-packs.md +20 -21
- onetool_mcp-1.0.0rc2/docs/_internal/cli-patterns.md +228 -0
- onetool_mcp-1.0.0rc2/docs/_internal/docs/best-practices.md +656 -0
- onetool_mcp-1.0.0rc2/docs/_internal/docs/design-system.md +109 -0
- onetool_mcp-1.0.0rc2/docs/_internal/docs/index.md +8 -0
- onetool_mcp-1.0.0rc2/docs/_internal/index.md +59 -0
- onetool_mcp-1.0.0rc2/docs/_internal/internal-tools.md +216 -0
- {onetool_mcp-1.0.0b1/docs/extending → onetool_mcp-1.0.0rc2/docs/_internal}/logging.md +4 -3
- onetool_mcp-1.0.0rc2/docs/_internal/publish.md +101 -0
- {onetool_mcp-1.0.0b1/docs/extending → onetool_mcp-1.0.0rc2/docs/_internal}/testing.md +1 -1
- onetool_mcp-1.0.0rc2/docs/about/about-onetool.md +199 -0
- onetool_mcp-1.0.0rc2/docs/about/index.md +16 -0
- onetool_mcp-1.0.0rc2/docs/assets/MCP.jpeg +0 -0
- onetool_mcp-1.0.0rc2/docs/assets/logo.svg +1 -0
- onetool_mcp-1.0.0rc2/docs/assets/quickstart/onetool-connected.png +0 -0
- onetool_mcp-1.0.0rc2/docs/index.md +169 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/learn/comparison.md +2 -1
- onetool_mcp-1.0.0rc2/docs/learn/configuration.md +68 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/learn/explicit-calls.md +193 -195
- onetool_mcp-1.0.0rc2/docs/learn/extending/extension-tools.md +364 -0
- onetool_mcp-1.0.0rc2/docs/learn/extending/index.md +46 -0
- onetool_mcp-1.0.0rc2/docs/learn/extending/isolated-tools.md +211 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/learn/index.md +5 -5
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/learn/installation.md +44 -89
- onetool_mcp-1.0.0rc2/docs/learn/quickstart.md +129 -0
- onetool_mcp-1.0.0rc2/docs/learn/security.md +291 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/llms.txt +1 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/overrides/partials/integrations/analytics/posthog.html +15 -15
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/cli/bench.md +76 -7
- onetool_mcp-1.0.0rc2/docs/reference/cli/onetool-config.md +492 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/cli/onetool.md +10 -5
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/index.md +5 -5
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/brave.md +49 -60
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/code.md +0 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/context7.md +0 -10
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/convert.md +0 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/db.md +39 -9
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/diagram.md +25 -7
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/excel.md +178 -187
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/file.md +0 -9
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/ground.md +0 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/index.md +7 -8
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/llm.md +17 -13
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/ot.md +71 -12
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/package.md +51 -61
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/ripgrep.md +0 -10
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/scaffold.md +0 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/tools/web.md +5 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/results/result-20260119.csv +8 -8
- onetool_mcp-1.0.0rc2/docs/stylesheets/extra.css +572 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/justfile +13 -3
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/brave-search-mcp-server-LICENSE +25 -25
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/chunkhound-LICENSE +24 -24
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/context7-LICENSE +24 -24
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/excel-mcp-server-LICENSE +21 -21
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/mcp-package-version-LICENSE +21 -21
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/trafilatura-LICENSE +182 -182
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/mkdocs.yml +13 -19
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/README.md +578 -578
- onetool_mcp-1.0.0rc2/openspec/changes/remove-bundled-defaults/proposal.md +127 -0
- onetool_mcp-1.0.0rc2/openspec/changes/remove-bundled-defaults/specs/serve-configuration/spec.md +117 -0
- onetool_mcp-1.0.0rc2/openspec/changes/remove-bundled-defaults/tasks.md +80 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/_nf-docs/spec.md +46 -51
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/_nf-observability/spec.md +5 -14
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/_nf-paths/spec.md +7 -3
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/onetool-cli/spec.md +111 -111
- onetool_mcp-1.0.0rc2/openspec/specs/serve-code-validation/spec.md +301 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-configuration/spec.md +135 -142
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-mcp-discoverability/spec.md +92 -92
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-mcp-proxy/spec.md +23 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-diagram/spec.md +18 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-excel/spec.md +391 -391
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-ot/spec.md +114 -10
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-transform/spec.md +87 -16
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-web-fetch/spec.md +62 -14
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/pyproject.toml +11 -14
- onetool_mcp-1.0.0rc2/release.just +137 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/resources/docker/kroki/docker-compose.yaml +60 -60
- onetool_mcp-1.0.0rc2/scripts/generate_specs_html.py +950 -0
- onetool_mcp-1.0.0rc2/scripts/release_publish.py +183 -0
- onetool_mcp-1.0.0rc2/server.json +27 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/onetool/cli.py +63 -4
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/__main__.py +6 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/__init__.py +48 -46
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/__init__.py +2 -2
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/api-flow.mmd +33 -33
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/c4-context.puml +30 -30
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/class-diagram.mmd +87 -87
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/feature-mindmap.mmd +70 -70
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/microservices.d2 +81 -81
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/project-gantt.mmd +37 -37
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/diagram-templates/state-machine.mmd +42 -42
- onetool_mcp-1.0.0rc2/src/ot/config/global_templates/diagram.yaml +167 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/onetool.yaml +3 -1
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/prompts.yaml +102 -97
- onetool_mcp-1.0.0rc2/src/ot/config/global_templates/security.yaml +31 -0
- onetool_mcp-1.0.0rc2/src/ot/config/global_templates/servers.yaml +99 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/snippets.yaml +5 -26
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/tool_templates/__init__.py +7 -7
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/loader.py +221 -105
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/mcp.py +5 -1
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/secrets.py +192 -190
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/decorators.py +116 -116
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/__init__.py +35 -35
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/base.py +16 -16
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/fence_processor.py +83 -83
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/linter.py +142 -142
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/pep723.py +288 -288
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/runner.py +20 -6
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/simple.py +163 -163
- onetool_mcp-1.0.0rc2/src/ot/executor/validator.py +837 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/http_client.py +145 -145
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/logging/__init__.py +37 -37
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/logging/entry.py +213 -213
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/logging/format.py +191 -188
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/logging/span.py +349 -349
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/meta.py +236 -14
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/paths.py +32 -49
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/prompts.py +218 -218
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/proxy/manager.py +14 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/registry/__init__.py +189 -189
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/registry/parser.py +269 -269
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/server.py +330 -315
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/shortcuts/__init__.py +15 -15
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/shortcuts/aliases.py +87 -87
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/shortcuts/snippets.py +258 -258
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/stats/__init__.py +35 -35
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/stats/html.py +2 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/stats/reader.py +354 -354
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/stats/timing.py +57 -57
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/support.py +63 -63
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/tools.py +1 -1
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/batch.py +161 -161
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/cache.py +120 -120
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/exceptions.py +23 -23
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/factory.py +178 -179
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/format.py +65 -65
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/http.py +202 -202
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/platform.py +45 -45
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/truncate.py +69 -69
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/__init__.py +4 -4
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/__init__.py +12 -12
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/pdf.py +254 -254
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/diagram.yaml +167 -167
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/scaffold.py +2 -2
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/transform.py +124 -19
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/web_fetch.py +94 -43
- onetool_mcp-1.0.0rc2/tests/.onetool/config/onetool.yaml +20 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/conftest.py +14 -14
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_brave_search.py +33 -33
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_context7.py +40 -40
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_convert.py +414 -414
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_grounding_search.py +33 -33
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_package.py +112 -112
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_ripgrep.py +54 -54
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/test_web_fetch.py +41 -41
- onetool_mcp-1.0.0rc2/tests/sanity/test_sanity-hints.md +72 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/sanity/test_sanity.md +1 -1
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/smoke/test_cli_onetool.py +29 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/smoke/test_config.py +43 -43
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/smoke/test_registry.py +44 -44
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_code_linter.py +183 -183
- onetool_mcp-1.0.0rc2/tests/unit/core/test_code_validator.py +470 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_config_loader.py +29 -62
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_config_settings.py +33 -33
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_features_config.py +151 -151
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_features_python.py +170 -170
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_features_triggers.py +243 -243
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_format.py +203 -203
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_http_client.py +203 -203
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_log_format.py +150 -150
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_meta_help.py +6 -6
- onetool_mcp-1.0.0rc2/tests/unit/core/test_paths.py +193 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_platform_utils.py +90 -90
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_proxy_manager.py +5 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_secrets.py +234 -225
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_worker_proxy.py +197 -197
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/serve/test_tool_registry.py +239 -239
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_info.py +958 -778
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_package.py +821 -821
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_transform.py +226 -27
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_web_fetch.py +164 -24
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/uv.lock +3 -936
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/workspace.code-workspace +29 -33
- onetool_mcp-1.0.0b1/.github/workflows/docs.yml +0 -71
- onetool_mcp-1.0.0b1/CHANGELOG.md +0 -40
- onetool_mcp-1.0.0b1/PKG-INFO +0 -163
- onetool_mcp-1.0.0b1/README.md +0 -113
- onetool_mcp-1.0.0b1/docs/_internal/bento-demo.html +0 -424
- onetool_mcp-1.0.0b1/docs/_internal/brand/brand.md +0 -194
- onetool_mcp-1.0.0b1/docs/_internal/brand/release-v1.0.0b1.md +0 -49
- onetool_mcp-1.0.0b1/docs/_internal/features-layout.md +0 -412
- onetool_mcp-1.0.0b1/docs/_internal/ideas/linkedin-article.md +0 -57
- onetool_mcp-1.0.0b1/docs/_internal/ideas/why-onetool-source.md +0 -356
- onetool_mcp-1.0.0b1/docs/_internal/ideas/write-ideas.md +0 -109
- onetool_mcp-1.0.0b1/docs/_internal/why-onetool.md +0 -80
- onetool_mcp-1.0.0b1/docs/about.md +0 -18
- onetool_mcp-1.0.0b1/docs/assets/logo-blue.png +0 -0
- onetool_mcp-1.0.0b1/docs/assets/logo-white.png +0 -0
- onetool_mcp-1.0.0b1/docs/assets/ml.svg +0 -31
- onetool_mcp-1.0.0b1/docs/assets/onetool-favicon-64.png +0 -0
- onetool_mcp-1.0.0b1/docs/assets/onetool-logo.png +0 -0
- onetool_mcp-1.0.0b1/docs/extending/creating-clis.md +0 -368
- onetool_mcp-1.0.0b1/docs/extending/creating-tools.md +0 -481
- onetool_mcp-1.0.0b1/docs/extending/extensions.md +0 -374
- onetool_mcp-1.0.0b1/docs/extending/index.md +0 -5
- onetool_mcp-1.0.0b1/docs/features.md +0 -231
- onetool_mcp-1.0.0b1/docs/index.md +0 -54
- onetool_mcp-1.0.0b1/docs/learn/configuration.md +0 -627
- onetool_mcp-1.0.0b1/docs/learn/database-queries.md +0 -94
- onetool_mcp-1.0.0b1/docs/learn/examples.md +0 -90
- onetool_mcp-1.0.0b1/docs/learn/prompting-best-practices.md +0 -84
- onetool_mcp-1.0.0b1/docs/learn/quickstart.md +0 -41
- onetool_mcp-1.0.0b1/docs/learn/security.md +0 -237
- onetool_mcp-1.0.0b1/docs/reference/tools/firecrawl.md +0 -91
- onetool_mcp-1.0.0b1/docs/stylesheets/extra.css +0 -40
- onetool_mcp-1.0.0b1/openspec/specs/serve-code-validation/spec.md +0 -250
- onetool_mcp-1.0.0b1/openspec/specs/tool-firecrawl/spec.md +0 -250
- onetool_mcp-1.0.0b1/src/ot/config/defaults/bench.yaml +0 -4
- onetool_mcp-1.0.0b1/src/ot/config/defaults/onetool.yaml +0 -25
- onetool_mcp-1.0.0b1/src/ot/config/defaults/servers.yaml +0 -7
- onetool_mcp-1.0.0b1/src/ot/config/defaults/snippets.yaml +0 -4
- onetool_mcp-1.0.0b1/src/ot/config/global_templates/servers.yaml +0 -18
- onetool_mcp-1.0.0b1/src/ot/executor/validator.py +0 -398
- onetool_mcp-1.0.0b1/src/ot_tools/firecrawl.py +0 -732
- onetool_mcp-1.0.0b1/tests/.onetool/config/onetool.yaml +0 -15
- onetool_mcp-1.0.0b1/tests/integration/tools/test_firecrawl.py +0 -53
- onetool_mcp-1.0.0b1/tests/sanity/test_sanity-hints.md +0 -41
- onetool_mcp-1.0.0b1/tests/sanity/test_sanity_status.yaml +0 -203
- onetool_mcp-1.0.0b1/tests/unit/core/test_code_validator.py +0 -445
- onetool_mcp-1.0.0b1/tests/unit/core/test_paths.py +0 -91
- onetool_mcp-1.0.0b1/tests/unit/tools/test_firecrawl.py +0 -581
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/openspec/apply.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/openspec/archive.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/openspec/proposal.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/commands/proj/doc-sync.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.claude/skills/humanizer/SKILL.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.gitattributes +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/.markdownlint.json +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/AGENTS.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/.onetool/config/bench.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/.onetool/config/onetool.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/.onetool/stats/stats.jsonl +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/.onetool/tools/demo/demo_tools.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/features.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_code_search.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_context7.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_convert.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_db.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_diagram.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_excel.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_file.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_github.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_grounding_search.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_package.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/bench/tool_ripgrep.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/data/file_example_1MB.docx +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/data/file_example_PPT_1MB.pptx +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/data/file_example_XLS_1000.xlsx +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/data/sample_sales.xlsx +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/demo/justfile +0 -0
- /onetool_mcp-1.0.0b1/docs/_internal/brand/references.md → /onetool_mcp-1.0.0rc2/docs/_internal/brand/ref-links.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/docs/reference/cli/index.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/licenses/mcp-alchemy-LICENSE +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/AGENTS.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/project.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/INDEX.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/_nf-conventions/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/_nf-testing/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-config/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-csv/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-evaluators/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-logging/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-metrics/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-tasks/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/bench-tui/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-output-sanitization/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-prompts/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-run-tool/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-stats/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/serve-tools-packages/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-brave-search/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-code-search/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-context7/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-convert/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-db/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-execution/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-file/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-grounding-search/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-internal/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-notify/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-package/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-ripgrep/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-scaffold/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/openspec/specs/tool-sdk/spec.md +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/cli.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/client.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/config.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/csv_writer.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/evaluate.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/metrics.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/harness/runner.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/py.typed +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/reporter.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/run.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/secrets.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/bench/utils.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/onetool/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/onetool/py.typed +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/_cli.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/_tui.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/dynamic.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/bench-secrets-template.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/bench.yaml +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/global_templates/secrets-template.yaml +0 -0
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/tool_templates/extension.py +0 -0
- {onetool_mcp-1.0.0b1/src/ot/config/defaults → onetool_mcp-1.0.0rc2/src/ot/config/global_templates}/tool_templates/isolated.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/config/tool_config.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/pack_proxy.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/param_resolver.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/result_store.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/tool_loader.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/worker_pool.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/executor/worker_proxy.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/logging/config.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/proxy/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/py.typed +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/registry/models.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/registry/registry.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/stats/jsonl_writer.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/deps.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot/utils/sanitize.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/excel.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/powerpoint.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/utils.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/_convert/word.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/brave_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/code_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/context7.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/convert.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/db.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/diagram.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/excel.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/file.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/grounding_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/package.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/py.typed +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/src/ot_tools/ripgrep.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/conftest.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/bench/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/bench/test_context_metrics.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/integration/tools/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/smoke/test_cli_bench.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/bench/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/bench/test_csv_writer.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/bench/test_evaluate.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/bench/test_metrics.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/conftest.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_meta_timed.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_param_resolver.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_pep723.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_python_exec.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_result_store.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_sanitize.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_shortcuts.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_stats.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_support.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_tool_loader.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_tools.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/core/test_worker_pool.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/__init__.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_brave_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_code_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_context7.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_convert.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_excel.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_file.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_grounding_search.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_notify.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_ripgrep.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/test_scaffold.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/tool_db/test_db.py +0 -0
- {onetool_mcp-1.0.0b1 → onetool_mcp-1.0.0rc2}/tests/unit/tools/tool_diagram/test_diagram.py +0 -0
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"database": {
|
|
3
|
-
"provider": "duckdb"
|
|
4
|
-
},
|
|
5
|
-
"embedding": {
|
|
6
|
-
"provider": "openai",
|
|
7
|
-
"model": "text-embedding-3-small",
|
|
8
|
-
"base_url": "https://openrouter.ai/api/v1"
|
|
9
|
-
},
|
|
10
|
-
"indexing": {
|
|
11
|
-
"include": [
|
|
12
|
-
"**/*.py",
|
|
13
|
-
"**/*.md",
|
|
14
|
-
"**/*.yaml",
|
|
15
|
-
"**/*.toml",
|
|
16
|
-
"**/*.json"
|
|
17
|
-
],
|
|
18
|
-
"exclude": [
|
|
19
|
-
"**/node_modules/**",
|
|
20
|
-
"**/__pycache__/**",
|
|
21
|
-
"**/.venv/**",
|
|
22
|
-
"**/dist/**",
|
|
23
|
-
"**/build/**",
|
|
24
|
-
"**/*.egg-info/**",
|
|
25
|
-
"**/.git/**",
|
|
26
|
-
"**/.local/**",
|
|
27
|
-
"**/htmlcov/**",
|
|
28
|
-
"**/.mypy_cache/**",
|
|
29
|
-
"**/.pytest_cache/**",
|
|
30
|
-
"**/.ruff_cache/**"
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
"mcp": {
|
|
34
|
-
"transport": "stdio"
|
|
35
|
-
},
|
|
36
|
-
"debug": false
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"database": {
|
|
3
|
+
"provider": "duckdb"
|
|
4
|
+
},
|
|
5
|
+
"embedding": {
|
|
6
|
+
"provider": "openai",
|
|
7
|
+
"model": "text-embedding-3-small",
|
|
8
|
+
"base_url": "https://openrouter.ai/api/v1"
|
|
9
|
+
},
|
|
10
|
+
"indexing": {
|
|
11
|
+
"include": [
|
|
12
|
+
"**/*.py",
|
|
13
|
+
"**/*.md",
|
|
14
|
+
"**/*.yaml",
|
|
15
|
+
"**/*.toml",
|
|
16
|
+
"**/*.json"
|
|
17
|
+
],
|
|
18
|
+
"exclude": [
|
|
19
|
+
"**/node_modules/**",
|
|
20
|
+
"**/__pycache__/**",
|
|
21
|
+
"**/.venv/**",
|
|
22
|
+
"**/dist/**",
|
|
23
|
+
"**/build/**",
|
|
24
|
+
"**/*.egg-info/**",
|
|
25
|
+
"**/.git/**",
|
|
26
|
+
"**/.local/**",
|
|
27
|
+
"**/htmlcov/**",
|
|
28
|
+
"**/.mypy_cache/**",
|
|
29
|
+
"**/.pytest_cache/**",
|
|
30
|
+
"**/.ruff_cache/**"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"mcp": {
|
|
34
|
+
"transport": "stdio"
|
|
35
|
+
},
|
|
36
|
+
"debug": false
|
|
37
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Consult
|
|
3
|
-
description: Interactive consultation mode for research and Q&A. Can save findings on explicit request.
|
|
4
|
-
category: onetool
|
|
5
|
-
tags: [consultation, research, qa, findings]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Assumptions**
|
|
9
|
-
- Uses openspec (`openspec/project.md` for context)
|
|
10
|
-
- Language agnostic
|
|
11
|
-
|
|
12
|
-
**Guardrails**
|
|
13
|
-
- This is primarily a READ-ONLY consultation session. You MUST NOT:
|
|
14
|
-
- Make git commits or push changes
|
|
15
|
-
- Run commands that modify the system (e.g., `git commit`, `rm`, `mv`, `npm install`)
|
|
16
|
-
- Modify existing project source code
|
|
17
|
-
- You CAN and SHOULD:
|
|
18
|
-
- Read files, search code, and explore the codebase
|
|
19
|
-
- Run read-only commands (e.g., `git log`, `git status`, `git diff`, `ls`, `cat`)
|
|
20
|
-
- Use web search for up-to-date information
|
|
21
|
-
- Answer questions thoroughly with code references
|
|
22
|
-
- Ask clarifying questions to understand user needs
|
|
23
|
-
- **Writing Findings (on explicit request only)**:
|
|
24
|
-
- When the user explicitly asks to save, write, or document findings (e.g., "save these findings", "write this up", "document what we found"):
|
|
25
|
-
- Suggest a descriptive filename based on the topic discussed
|
|
26
|
-
- Write findings to `plan/consult/<name>.md` (create directory if needed)
|
|
27
|
-
- Unless user specifies a different location
|
|
28
|
-
- Use a clear heading with date/time and topic
|
|
29
|
-
- Include key discoveries, code references, and conclusions
|
|
30
|
-
- Do NOT write findings unless the user explicitly requests it
|
|
31
|
-
- The session continues until the user explicitly ends it (e.g., "end consultation", "done consulting", "exit consult mode").
|
|
32
|
-
|
|
33
|
-
**Steps**
|
|
34
|
-
1. Begin the consultation:
|
|
35
|
-
- Acknowledge entering consultation mode.
|
|
36
|
-
- Briefly explain the read-only constraints.
|
|
37
|
-
- Ask what the user would like to explore or discuss.
|
|
38
|
-
2. Handle each question:
|
|
39
|
-
- Listen to the user's question or topic.
|
|
40
|
-
- Use read-only tools (Read, Glob, Grep, WebSearch, WebFetch, Task with Explore agent) to research.
|
|
41
|
-
- Provide clear, detailed answers with file references where relevant.
|
|
42
|
-
- Ask follow-up questions if clarification is needed.
|
|
43
|
-
3. Continue the dialogue:
|
|
44
|
-
- After answering, check if the user has more questions.
|
|
45
|
-
- Offer to dive deeper into related topics.
|
|
46
|
-
- Suggest areas that might be worth exploring.
|
|
47
|
-
4. Save findings (on explicit request):
|
|
48
|
-
- When user asks to save/document findings:
|
|
49
|
-
- Suggest a filename: "I'll save this as `plan/consult/<topic>.md` - sound good?"
|
|
50
|
-
- Create `plan/consult/` directory if it doesn't exist
|
|
51
|
-
- Write with dated heading and key discoveries
|
|
52
|
-
- Confirm what was written
|
|
53
|
-
5. End the session:
|
|
54
|
-
- When the user signals they are done (e.g., "end consultation", "done", "exit"):
|
|
55
|
-
- Summarize key findings from the session.
|
|
56
|
-
- Suggest next steps if applicable (e.g., creating a proposal, making changes).
|
|
57
|
-
- Confirm the session has ended.
|
|
58
|
-
|
|
59
|
-
**Reference**
|
|
60
|
-
- Use exploration agents (Task with subagent_type=Explore) for open-ended codebase questions.
|
|
61
|
-
- Reference files using markdown link format: `[filename.ts](path/to/file.ts)`.
|
|
62
|
-
- For web research, cite sources in your answers.
|
|
63
|
-
- Cross-reference with `openspec/project.md` for project context when relevant.
|
|
1
|
+
---
|
|
2
|
+
name: Consult
|
|
3
|
+
description: Interactive consultation mode for research and Q&A. Can save findings on explicit request.
|
|
4
|
+
category: onetool
|
|
5
|
+
tags: [consultation, research, qa, findings]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**Assumptions**
|
|
9
|
+
- Uses openspec (`openspec/project.md` for context)
|
|
10
|
+
- Language agnostic
|
|
11
|
+
|
|
12
|
+
**Guardrails**
|
|
13
|
+
- This is primarily a READ-ONLY consultation session. You MUST NOT:
|
|
14
|
+
- Make git commits or push changes
|
|
15
|
+
- Run commands that modify the system (e.g., `git commit`, `rm`, `mv`, `npm install`)
|
|
16
|
+
- Modify existing project source code
|
|
17
|
+
- You CAN and SHOULD:
|
|
18
|
+
- Read files, search code, and explore the codebase
|
|
19
|
+
- Run read-only commands (e.g., `git log`, `git status`, `git diff`, `ls`, `cat`)
|
|
20
|
+
- Use web search for up-to-date information
|
|
21
|
+
- Answer questions thoroughly with code references
|
|
22
|
+
- Ask clarifying questions to understand user needs
|
|
23
|
+
- **Writing Findings (on explicit request only)**:
|
|
24
|
+
- When the user explicitly asks to save, write, or document findings (e.g., "save these findings", "write this up", "document what we found"):
|
|
25
|
+
- Suggest a descriptive filename based on the topic discussed
|
|
26
|
+
- Write findings to `plan/consult/<name>.md` (create directory if needed)
|
|
27
|
+
- Unless user specifies a different location
|
|
28
|
+
- Use a clear heading with date/time and topic
|
|
29
|
+
- Include key discoveries, code references, and conclusions
|
|
30
|
+
- Do NOT write findings unless the user explicitly requests it
|
|
31
|
+
- The session continues until the user explicitly ends it (e.g., "end consultation", "done consulting", "exit consult mode").
|
|
32
|
+
|
|
33
|
+
**Steps**
|
|
34
|
+
1. Begin the consultation:
|
|
35
|
+
- Acknowledge entering consultation mode.
|
|
36
|
+
- Briefly explain the read-only constraints.
|
|
37
|
+
- Ask what the user would like to explore or discuss.
|
|
38
|
+
2. Handle each question:
|
|
39
|
+
- Listen to the user's question or topic.
|
|
40
|
+
- Use read-only tools (Read, Glob, Grep, WebSearch, WebFetch, Task with Explore agent) to research.
|
|
41
|
+
- Provide clear, detailed answers with file references where relevant.
|
|
42
|
+
- Ask follow-up questions if clarification is needed.
|
|
43
|
+
3. Continue the dialogue:
|
|
44
|
+
- After answering, check if the user has more questions.
|
|
45
|
+
- Offer to dive deeper into related topics.
|
|
46
|
+
- Suggest areas that might be worth exploring.
|
|
47
|
+
4. Save findings (on explicit request):
|
|
48
|
+
- When user asks to save/document findings:
|
|
49
|
+
- Suggest a filename: "I'll save this as `plan/consult/<topic>.md` - sound good?"
|
|
50
|
+
- Create `plan/consult/` directory if it doesn't exist
|
|
51
|
+
- Write with dated heading and key discoveries
|
|
52
|
+
- Confirm what was written
|
|
53
|
+
5. End the session:
|
|
54
|
+
- When the user signals they are done (e.g., "end consultation", "done", "exit"):
|
|
55
|
+
- Summarize key findings from the session.
|
|
56
|
+
- Suggest next steps if applicable (e.g., creating a proposal, making changes).
|
|
57
|
+
- Confirm the session has ended.
|
|
58
|
+
|
|
59
|
+
**Reference**
|
|
60
|
+
- Use exploration agents (Task with subagent_type=Explore) for open-ended codebase questions.
|
|
61
|
+
- Reference files using markdown link format: `[filename.ts](path/to/file.ts)`.
|
|
62
|
+
- For web research, cite sources in your answers.
|
|
63
|
+
- Cross-reference with `openspec/project.md` for project context when relevant.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Prime
|
|
3
|
-
description: Load project context from
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Read and present the contents of `
|
|
7
|
-
|
|
8
|
-
After reading, briefly confirm the context is loaded and ask what the user would like to work on.
|
|
1
|
+
---
|
|
2
|
+
name: Prime
|
|
3
|
+
description: Load project context from agents/prime.md
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read and present the contents of `agents/prime.md` to prime the conversation with project context.
|
|
7
|
+
|
|
8
|
+
After reading, briefly confirm the context is loaded and ask what the user would like to work on.
|
|
@@ -52,10 +52,19 @@ If input is unclear, ASK the user to clarify before proceeding.
|
|
|
52
52
|
3. Identify all affected areas:
|
|
53
53
|
- Source files to modify
|
|
54
54
|
- Tests to add/update
|
|
55
|
-
- Specs to update
|
|
55
|
+
- Specs to update (search `openspec/specs/` for related specs - see detection rules below)
|
|
56
56
|
- Docs to sync
|
|
57
57
|
- Config to migrate
|
|
58
58
|
|
|
59
|
+
### Spec Detection Rules
|
|
60
|
+
|
|
61
|
+
To find affected specs, check for specs matching these patterns:
|
|
62
|
+
- **Tool changes** (`src/ot_tools/<name>.py`): Look for `openspec/specs/tool-<name>/spec.md`
|
|
63
|
+
- **Serve/server changes** (`src/ot/`): Look for `openspec/specs/serve-*/spec.md`
|
|
64
|
+
- **Feature/pack changes**: Search spec files for the feature name: `rg "<feature>" openspec/specs/`
|
|
65
|
+
|
|
66
|
+
If a spec exists for the functionality being modified, it MUST be updated.
|
|
67
|
+
|
|
59
68
|
---
|
|
60
69
|
|
|
61
70
|
## Step 2: Present the Plan
|
|
@@ -110,14 +119,22 @@ Report test results before proceeding.
|
|
|
110
119
|
|
|
111
120
|
## Step 5: Update Specs
|
|
112
121
|
|
|
113
|
-
|
|
122
|
+
**ALWAYS check for affected specs before skipping this step.**
|
|
123
|
+
|
|
124
|
+
1. **Find related specs** using these strategies:
|
|
125
|
+
- For tool changes (`src/ot_tools/<name>.py`): Check `openspec/specs/tool-<name>/spec.md`
|
|
126
|
+
- For serve changes: Check `openspec/specs/serve-*/spec.md`
|
|
127
|
+
- Search for the feature name: `ls openspec/specs/ | grep <feature>`
|
|
128
|
+
- Search spec contents: `rg "<function_name>" openspec/specs/`
|
|
129
|
+
|
|
130
|
+
2. **If a spec exists**, update it to match the new implementation:
|
|
131
|
+
- Add new requirements/scenarios for new functionality
|
|
132
|
+
- Update existing scenarios if behavior changed
|
|
133
|
+
- Ensure all function signatures and parameters are documented
|
|
114
134
|
|
|
115
|
-
|
|
116
|
-
2. Update requirements to match new implementation
|
|
117
|
-
3. Update or add scenarios as needed
|
|
118
|
-
4. Run `openspec validate --strict` if available
|
|
135
|
+
3. Run `openspec validate --strict` if available
|
|
119
136
|
|
|
120
|
-
|
|
137
|
+
Only skip this step if you have explicitly verified NO specs exist for the changed functionality.
|
|
121
138
|
|
|
122
139
|
---
|
|
123
140
|
|