clio-kit 2.5.23__tar.gz → 2.6.2__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.
- {clio_kit-2.5.23 → clio_kit-2.6.2}/PKG-INFO +2 -2
- {clio_kit-2.5.23 → clio_kit-2.6.2}/README.md +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/.claude-plugin/plugin.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/pyproject.toml +2 -2
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/scripts/live_ares_semantic_mcp_probe.py +4 -4
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/server.json +6 -6
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/admin_server.py +4 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/__init__.py +2 -2
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/capabilities/jarvis_handler.py +140 -12
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/server.py +386 -35
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/user_server.py +4 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/uv.lock +5 -5
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/server.json +2 -2
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/backend.py +7 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/server.py +10 -5
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/server.json +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/data/mcpData.js +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/mcp-server-versions.toml +2 -2
- {clio_kit-2.5.23 → clio_kit-2.6.2}/pyproject.toml +1 -1
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/__init__.py +236 -42
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/index.json +17 -8
- clio_kit-2.6.2/src/clio_kit/_mcp_contracts/jarvis-user-v3.6.json +3845 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/spack-user-v2.1.json +4 -3
- clio_kit-2.6.2/src/clio_kit/env_cache.py +843 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/mcp_contracts.py +14 -3
- {clio_kit-2.5.23 → clio_kit-2.6.2}/.gitignore +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/LICENSE +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/api/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/api/app.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/cli/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/cli/main.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/filesystem/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/filesystem/connector.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/graph_store/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/graph_store/connector.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/kv_log_store/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/kv_log_store/connector.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/object_store/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/object_store/connector.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/vector_store/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/connectors/vector_store/connector.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/core/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/core/connectors.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/core/namespace_config.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/core/namespace_registry.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/core/seeding.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/evals/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/evals/quality_gate.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/evals/scientific.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/indexing/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/indexing/lexical.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/indexing/scientific.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/indexing/text_features.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/jobs.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/models/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/models/contracts.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/ann.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/capabilities.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/coordinator.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/rerank.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retrieval/scientific.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/retry.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/storage/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/storage/contracts.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/storage/duckdb_store.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/tasks.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/src/clio_agentic_search/telemetry/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-agentic-search/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-clients/wrp_bin/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/docs/adios_setup.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/docs/basic_install.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/docs/example_uses.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data1.bp/data.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data1.bp/md.idx +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data1.bp/mmd.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data2.bp/data.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data2.bp/md.idx +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data2.bp/mmd.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data3.bp/data.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data3.bp/md.idx +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data3.bp/mmd.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data4.bp/data.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data4.bp/md.idx +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/sample_data/data4.bp/mmd.0 +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_attributes.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_inspect_variables_at_step.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_list.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/implementation/bp5_read_variable_at_step.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/src/adios_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/adios/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/demo.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/docs/basic_install.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/arxiv_base.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/category_search.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/date_search.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/download_paper.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/export_utils.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/paper_details.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/capabilities/text_search.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/src/arxiv_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/arxiv/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/assets/mcp-client.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/assets/mcp-clientstartchronolog.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/assets/mcp-retievecopilot.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/assets/mcp-retrieve-diseasepred.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/docs/Chronolog_setup.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/record_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/retrieve_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/start_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/capabilities/stop_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/CMakeLists.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/HDF5ArchiveReadingAgent.h +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/reader_script/reader.cpp +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/config.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/src/chronomcp/utils/helpers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/chronolog/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/data/sample_data.csv +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/data/sample_log.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/src/compression_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/src/compression_mcp/capabilities/compression_base.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/src/compression_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/src/compression_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/compression/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/src/darshan_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/src/darshan_mcp/capabilities/darshan_parser.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/src/darshan_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/darshan/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/arcgis.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/geocode.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/map_render.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/overlap.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/implementation/proximity.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/src/geo_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geo/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/src/geojson_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/src/geojson_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/src/geojson_mcp/implementation/inspect.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/src/geojson_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/geojson/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/TESTING.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/docs/ARCHITECTURE.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/docs/EXAMPLES.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/docs/MIGRATION.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/docs/TOOLS.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/docs/TRANSPORTS.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/examples/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/examples/create_demo_data.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/examples/demo_script.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/config.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/resources.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/src/hdf5_mcp/utils.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/hdf5/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/GUIDE.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 160800.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162219.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162322.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162545.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 162922.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163023.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163516.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163651.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/assets/Screenshot 2025-05-15 163759.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/docs/basic_install.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/requirements.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/artifacts.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/progress.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/windows_job.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/src/lmod_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/src/lmod_mcp/capabilities/lmod_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/src/lmod_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/lmod/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/docs/mcp_development_guide.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/docs/ndp_api.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/docs/ndp_docs.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/src/ndp_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/src/ndp_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/ndp/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/cpu_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/disk_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/gpu_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/hardware_summary.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/memory_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/network_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/performance_monitor.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/process_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/remote_node_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/sensor_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/system_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/capabilities/utils.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/src/node_hardware_mcp/utils/output_formatter.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/node-hardware/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/example_script/create_sample_data.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/csv_profiling.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_cleaning.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_io.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/data_profiling.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/filtering.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/memory_optimization.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/output_formatter.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/pandas_statistics.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/time_series.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/transformations.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/implementation/validation.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/src/pandas_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/pandas/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/USAGE_GUIDE.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/export_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/filter_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/parallel_processor.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/pattern_detection.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/sort_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/implementation/statistics_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/src/parallel_sort_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parallel-sort/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/LICENSE +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/USAGE_README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/prompt.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/requirements.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/automate_setup.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/build_paraview.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/configure_paraview.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/install_deps.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/installation_example.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/launch_gui.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/launch_server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/scripts/test_installation.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/src/paraview_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/src/paraview_mcp/implementation/paraview_capabilities.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/src/paraview_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/src/paraview_mcp/viz.html +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/paraview/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/data/data.csv +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/data/huge_log.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/data/small_log.txt +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/data/weather_data.parquet +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/datasets/batch_1.parquet +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/datasets/batch_large_strings.parquet +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/evaluation.xml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/compress.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/getResource.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/listResources.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/listTools.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/pandas.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/parquet.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/sort.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/images/tests.png +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/src/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/src/parquet_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/src/parquet_mcp/capabilities/parquet_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/src/parquet_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/parquet/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/data/sample_data.csv +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/data/temperature.csv +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/src/plot_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/src/plot_mcp/implementation/plot_capabilities.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/src/plot_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/plot/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/src/sac_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/analysis.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/src/sac_mcp/implementation/sac_io.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/src/sac_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/sac/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/src/scientific_catalog_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/src/scientific_catalog_mcp/backend.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/src/scientific_catalog_mcp/models.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/src/scientific_catalog_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/scientific-catalog/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/analysis.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/catalog_io.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/implementation/plotting.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/src/seismic_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/seismic/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/MCP_SERVER_GUIDE.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/agent-contract-v3.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/basic_install.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/run.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/NATIVE_SLURM_SUCCESS_REPORT.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/SLURM_INSTALLATION_GUIDE.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/final_verification.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/install_slurm.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/parallel_job.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/quick_native_test.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm.conf +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/docs/slurm_installation/slurm_config.conf +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/SLURM_SCRIPT_GENERATION_PROMPT.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/array_job.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/data_processing.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/generate_slurm_script.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/hello_world.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/long_simulation.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/example_scripts/python_computation.sh +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/logs/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/pytest.ini +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/agent_contract.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/array_jobs.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/cluster_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_cancellation.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_details.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_listing.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_output.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_status.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/job_submission.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_allocation.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/node_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/queue_info.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/slurm_handler.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/implementation/utils.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/mcp_handlers.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/src/slurm_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/slurm/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/admin_server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/user_server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/src/spack_mcp/windows_job.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/spack/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/.claude-plugin/plugin.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/.mcp.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/pyproject.toml +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/__init__.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/_common.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/dem.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/errors.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/implementation/pointcloud.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/src/terrain_mcp/server.py +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/terrain/uv.lock +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/README.md +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/HomepageFeatures/index.js +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/HomepageFeatures/styles.module.css +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/MCPDetail/index.js +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/MCPDetail/styles.module.css +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/MCPShowcase/index.js +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/components/MCPShowcase/styles.module.css +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/css/custom.css +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/pages/index.js +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-website/src/pages/index.module.css +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.1.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.2.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.3.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.4.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.5.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/jarvis-user-v3.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/scientific-catalog-user-v1.1.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/scientific-catalog-user-v1.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/slurm-user-v3.json +0 -0
- {clio_kit-2.5.23 → clio_kit-2.6.2}/src/clio_kit/_mcp_contracts/spack-user-v2.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clio-kit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.2
|
|
4
4
|
Summary: CLIO Kit - MCP Servers, Clients, and Tools for AI Agents
|
|
5
5
|
Project-URL: Homepage, https://github.com/iowarp/clio-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/iowarp/clio-kit
|
|
@@ -275,7 +275,7 @@ distinct `not_installed` semantic, while real Spack failures remain errors.
|
|
|
275
275
|
| **`geo`** | 2.2.3 | Geospatial | Render GeoJSON vector layers with basemaps | `clio-kit mcp-server geo` |
|
|
276
276
|
| **`geojson`** | 2.2.3 | Geospatial | Inspect, validate, and summarize GeoJSON | `clio-kit mcp-server geojson` |
|
|
277
277
|
| **`hdf5`** | 2.2.3 | Data I/O | HPC-optimized scientific data with 27 tools, AI insights, caching, streaming | `clio-kit mcp-server hdf5` |
|
|
278
|
-
| **`jarvis`** | 3.
|
|
278
|
+
| **`jarvis`** | 3.6.0 | Workflow | Durable pipeline, bounded package discovery, progress, artifact, and service-runtime management | `clio-kit mcp-server jarvis` |
|
|
279
279
|
| **`lmod`** | 2.2.3 | Environment | Environment module management | `clio-kit mcp-server lmod` |
|
|
280
280
|
| **`ndp`** | 2.2.3 | Data Protocol | Search and discover datasets across CKAN instances | `clio-kit mcp-server ndp` |
|
|
281
281
|
| **`node-hardware`** | 2.2.3 | System | System hardware information | `clio-kit mcp-server node-hardware` |
|
|
@@ -249,7 +249,7 @@ distinct `not_installed` semantic, while real Spack failures remain errors.
|
|
|
249
249
|
| **`geo`** | 2.2.3 | Geospatial | Render GeoJSON vector layers with basemaps | `clio-kit mcp-server geo` |
|
|
250
250
|
| **`geojson`** | 2.2.3 | Geospatial | Inspect, validate, and summarize GeoJSON | `clio-kit mcp-server geojson` |
|
|
251
251
|
| **`hdf5`** | 2.2.3 | Data I/O | HPC-optimized scientific data with 27 tools, AI insights, caching, streaming | `clio-kit mcp-server hdf5` |
|
|
252
|
-
| **`jarvis`** | 3.
|
|
252
|
+
| **`jarvis`** | 3.6.0 | Workflow | Durable pipeline, bounded package discovery, progress, artifact, and service-runtime management | `clio-kit mcp-server jarvis` |
|
|
253
253
|
| **`lmod`** | 2.2.3 | Environment | Environment module management | `clio-kit mcp-server lmod` |
|
|
254
254
|
| **`ndp`** | 2.2.3 | Data Protocol | Search and discover datasets across CKAN instances | `clio-kit mcp-server ndp` |
|
|
255
255
|
| **`node-hardware`** | 2.2.3 | System | System hardware information | `clio-kit mcp-server node-hardware` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "jarvis-mcp"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.6.0"
|
|
4
4
|
description = "JARVIS-CD MCP with a compact user pipeline contract and explicit admin compatibility profiles"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -15,7 +15,7 @@ dependencies = [
|
|
|
15
15
|
"fastmcp>=3.2.0",
|
|
16
16
|
"fastapi",
|
|
17
17
|
"python-dotenv>=1.2.2",
|
|
18
|
-
"jarvis-cd @ https://github.com/grc-iit/jarvis-cd/releases/download/v1.
|
|
18
|
+
"jarvis-cd @ https://github.com/grc-iit/jarvis-cd/releases/download/v1.6.0/jarvis_cd-1.6.0-py3-none-any.whl#sha256=c4853138f3263715e806fcd794233d89f4aa58161e3c5fbab59e7f96d24f0e98",
|
|
19
19
|
"starlette>=1.3.1",
|
|
20
20
|
"authlib>=1.6.12",
|
|
21
21
|
"cryptography>=48.0.1",
|
|
@@ -18,13 +18,13 @@ from urllib.parse import urlsplit
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
Json = dict[str, Any]
|
|
21
|
-
EXPECTED_JARVIS_VERSION = "1.
|
|
21
|
+
EXPECTED_JARVIS_VERSION = "1.6.0"
|
|
22
22
|
EXPECTED_JARVIS_URL = (
|
|
23
|
-
"https://github.com/grc-iit/jarvis-cd/releases/download/v1.
|
|
24
|
-
"jarvis_cd-1.
|
|
23
|
+
"https://github.com/grc-iit/jarvis-cd/releases/download/v1.6.0/"
|
|
24
|
+
"jarvis_cd-1.6.0-py3-none-any.whl"
|
|
25
25
|
)
|
|
26
26
|
EXPECTED_JARVIS_SHA256 = (
|
|
27
|
-
"
|
|
27
|
+
"c4853138f3263715e806fcd794233d89f4aa58161e3c5fbab59e7f96d24f0e98"
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.iowarp/jarvis-mcp",
|
|
4
4
|
"title": "CLIO Jarvis",
|
|
5
5
|
"description": "JARVIS-CD MCP with a compact user pipeline contract and explicit admin compatibility profiles",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.6.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/iowarp/clio-kit",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"identifier": "clio-kit",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.6.2",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"name": "jarvis_describe",
|
|
38
|
-
"description": "Describe JARVIS packages, one package, a pipeline, or one pipeline step. For a named application, first use target='package' with its unique short name or fully qualified package name. Use target='package_search' for bounded discovery, then describe the selected canonical name. target='packages' is an exhaustive legacy inventory with every package
|
|
38
|
+
"description": "Describe JARVIS packages, one package, a pipeline, or one pipeline step. For a named application, first use target='package' with its unique short name or fully qualified package name. Use target='package_search' for bounded discovery, then describe the selected canonical name. A package description returns package-owned configuration metadata and, when supported, a versioned deployment contract covering execution profiles, runtime requirements, readiness, and configuration rules. Package settings include only semantic parameters explicitly marked agent-visible. A setting may include a versioned input_binding descriptor for a declared local input that must be staged; callers must not infer file semantics from setting names or prose. Installer, scheduler, and other implementation controls remain owned by their dedicated contracts. target='packages' is an exhaustive legacy inventory with every agent-visible package setting and can be large; use it only when the complete installed catalog is explicitly required."
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"name": "jarvis_add_step",
|
|
42
|
-
"description": "Add and configure a package-backed step in a JARVIS pipeline. First use jarvis_describe(target='package') for the selected package; config keys must use its canonical setting names exactly, except for aliases explicitly listed there. User-level step configuration is always validated and cannot be bypassed."
|
|
42
|
+
"description": "Add and configure a package-backed step in a JARVIS pipeline. First use jarvis_describe(target='package') for the selected package; config keys must use its canonical setting names exactly, except for aliases explicitly listed there. Explicit null is accepted only when that setting reports nullable=true; omit a setting to use its declared default. Only settings marked agent-visible by the package are accepted here. User-level step configuration is always validated and cannot be bypassed."
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"name": "jarvis_edit_step",
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
"name": "jarvis_run",
|
|
50
|
-
"description": "Start a configured JARVIS pipeline and return its durable execution handle without waiting for workload completion. Optional execution intent selects local, cluster, or hostfile mode without exposing scheduler internals.
|
|
50
|
+
"description": "Start a configured JARVIS pipeline and return its durable execution handle without waiting for workload completion. Optional execution intent selects local, cluster, or hostfile mode without exposing scheduler internals. For each runtime resolved with Spack, copy spack_locate.output.load_spec unchanged into one element of jarvis_run.input.spack_specs; do not derive an executable path from the Spack prefix. JARVIS resolves those specs into a filtered environment and persists it before direct or scheduler execution. Use jarvis_get_execution with the returned pipeline_id and execution_id to query lifecycle, progress, artifacts, and execution-owned service runtimes."
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"name": "jarvis_get_execution",
|
|
54
|
-
"description": "Query one JARVIS execution handle, durable lifecycle record, and runtime metadata. Progress is included by default and can be omitted. Set include_service_runtimes=true to include execution-owned network services
|
|
54
|
+
"description": "Query one JARVIS execution handle, durable lifecycle record, and runtime metadata. Progress is included by default and can be omitted. Set include_service_runtimes=true to include execution-owned network services; authenticated services expose only a non-secret bearer token SHA-256 fingerprint. Set artifacts to {} or filters to include one bounded artifact page; omit artifacts to avoid querying the artifact manifest."
|
|
55
55
|
}
|
|
56
56
|
],
|
|
57
57
|
"resources": [
|
{clio_kit-2.5.23 → clio_kit-2.6.2}/clio-kit-mcp-servers/jarvis/src/jarvis_mcp/admin_server.py
RENAMED
|
@@ -6,8 +6,10 @@ import argparse
|
|
|
6
6
|
import os
|
|
7
7
|
|
|
8
8
|
from .server import (
|
|
9
|
+
add_jarvis_root_argument,
|
|
9
10
|
add_spack_command_argument,
|
|
10
11
|
apply_tool_profile,
|
|
12
|
+
configure_jarvis_root,
|
|
11
13
|
configure_spack_command,
|
|
12
14
|
mcp,
|
|
13
15
|
)
|
|
@@ -21,8 +23,10 @@ def main() -> None:
|
|
|
21
23
|
parser.add_argument("--transport", choices=["stdio", "http"], default=None)
|
|
22
24
|
parser.add_argument("--host", default="0.0.0.0")
|
|
23
25
|
parser.add_argument("--port", type=int, default=8000)
|
|
26
|
+
add_jarvis_root_argument(parser)
|
|
24
27
|
add_spack_command_argument(parser)
|
|
25
28
|
args = parser.parse_args()
|
|
29
|
+
configure_jarvis_root(args.jarvis_root)
|
|
26
30
|
configure_spack_command(args.spack_command)
|
|
27
31
|
transport = args.transport or os.getenv("MCP_TRANSPORT", "stdio")
|
|
28
32
|
if transport == "http":
|
|
@@ -3,12 +3,12 @@ Jarvis MCP Server
|
|
|
3
3
|
|
|
4
4
|
Jarvis-CD MCP - Pipeline Management for High-Performance Computing with comprehensive workflow operations
|
|
5
5
|
|
|
6
|
-
Version: 3.
|
|
6
|
+
Version: 3.6.0
|
|
7
7
|
Author: IoWarp Team - Gnosis Research Center
|
|
8
8
|
License: BSD-3-Clause
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
-
__version__ = "3.
|
|
11
|
+
__version__ = "3.6.0"
|
|
12
12
|
__author__ = "IoWarp Team - Gnosis Research Center"
|
|
13
13
|
__email__ = "grc@illinoistech.edu"
|
|
14
14
|
__license__ = "BSD-3-Clause"
|
|
@@ -482,6 +482,7 @@ async def append_pkg(
|
|
|
482
482
|
pkg_type: str,
|
|
483
483
|
pkg_id: Optional[str] = None,
|
|
484
484
|
do_configure: bool = True,
|
|
485
|
+
agent_visible_only: bool = False,
|
|
485
486
|
**kwargs: Any,
|
|
486
487
|
) -> dict:
|
|
487
488
|
try:
|
|
@@ -489,6 +490,8 @@ async def append_pkg(
|
|
|
489
490
|
config_flag = do_configure
|
|
490
491
|
if "do_configure" in raw_kwargs:
|
|
491
492
|
config_flag = raw_kwargs.pop("do_configure")
|
|
493
|
+
if agent_visible_only:
|
|
494
|
+
_reject_non_agent_visible_package_settings(pkg_type, raw_kwargs)
|
|
492
495
|
|
|
493
496
|
with _protocol_stdout_to_stderr():
|
|
494
497
|
pipeline = _load_pipeline(pipeline_id)
|
|
@@ -506,13 +509,19 @@ async def append_pkg(
|
|
|
506
509
|
pipeline.append(pkg_type, package_alias=pkg_id, config_args=config_args)
|
|
507
510
|
try:
|
|
508
511
|
expected = _normalize_package_config_request(
|
|
509
|
-
pipeline,
|
|
512
|
+
pipeline,
|
|
513
|
+
resolved_pkg_id,
|
|
514
|
+
raw_kwargs,
|
|
515
|
+
agent_visible_only=agent_visible_only,
|
|
510
516
|
)
|
|
511
517
|
persisted_config = _package_config(
|
|
512
518
|
_get_package(pipeline, resolved_pkg_id)
|
|
513
519
|
)
|
|
514
520
|
_require_persisted_package_config(
|
|
515
|
-
resolved_pkg_id,
|
|
521
|
+
resolved_pkg_id,
|
|
522
|
+
expected,
|
|
523
|
+
persisted_config,
|
|
524
|
+
pipeline=pipeline,
|
|
516
525
|
)
|
|
517
526
|
if config_flag:
|
|
518
527
|
pipeline.configure_package(resolved_pkg_id, config_args)
|
|
@@ -521,7 +530,10 @@ async def append_pkg(
|
|
|
521
530
|
_get_package(persisted, resolved_pkg_id)
|
|
522
531
|
)
|
|
523
532
|
_require_persisted_package_config(
|
|
524
|
-
resolved_pkg_id,
|
|
533
|
+
resolved_pkg_id,
|
|
534
|
+
expected,
|
|
535
|
+
persisted_config,
|
|
536
|
+
pipeline=persisted,
|
|
525
537
|
)
|
|
526
538
|
except BaseException as exc:
|
|
527
539
|
try:
|
|
@@ -581,20 +593,43 @@ async def update_pipeline(pipeline_id: str) -> dict:
|
|
|
581
593
|
|
|
582
594
|
|
|
583
595
|
@_locked_pipeline_operation
|
|
584
|
-
async def configure_pkg(
|
|
596
|
+
async def configure_pkg(
|
|
597
|
+
pipeline_id: str,
|
|
598
|
+
pkg_id: str,
|
|
599
|
+
*,
|
|
600
|
+
agent_visible_only: bool = False,
|
|
601
|
+
**kwargs: Any,
|
|
602
|
+
) -> dict:
|
|
585
603
|
try:
|
|
586
604
|
with _protocol_stdout_to_stderr():
|
|
587
605
|
pipeline = _load_pipeline(pipeline_id)
|
|
588
606
|
if _is_legacy_pipeline(pipeline):
|
|
607
|
+
if agent_visible_only:
|
|
608
|
+
_normalize_package_config_request(
|
|
609
|
+
pipeline,
|
|
610
|
+
pkg_id,
|
|
611
|
+
kwargs,
|
|
612
|
+
agent_visible_only=True,
|
|
613
|
+
)
|
|
589
614
|
pipeline.configure(pkg_id, **kwargs)
|
|
590
615
|
_save_pipeline(pipeline)
|
|
591
616
|
persisted_config = _package_config(_get_package(pipeline, pkg_id))
|
|
592
617
|
else:
|
|
593
|
-
expected = _normalize_package_config_request(
|
|
618
|
+
expected = _normalize_package_config_request(
|
|
619
|
+
pipeline,
|
|
620
|
+
pkg_id,
|
|
621
|
+
kwargs,
|
|
622
|
+
agent_visible_only=agent_visible_only,
|
|
623
|
+
)
|
|
594
624
|
pipeline.configure_package(pkg_id, _kwargs_to_config_args(kwargs))
|
|
595
625
|
persisted = _load_pipeline(pipeline_id)
|
|
596
626
|
persisted_config = _package_config(_get_package(persisted, pkg_id))
|
|
597
|
-
_require_persisted_package_config(
|
|
627
|
+
_require_persisted_package_config(
|
|
628
|
+
pkg_id,
|
|
629
|
+
expected,
|
|
630
|
+
persisted_config,
|
|
631
|
+
pipeline=persisted,
|
|
632
|
+
)
|
|
598
633
|
return {
|
|
599
634
|
"pipeline_id": pipeline_id,
|
|
600
635
|
"configured": pkg_id,
|
|
@@ -3242,7 +3277,11 @@ def _package_config(pkg: Any) -> Any:
|
|
|
3242
3277
|
|
|
3243
3278
|
|
|
3244
3279
|
def _normalize_package_config_request(
|
|
3245
|
-
pipeline: Any,
|
|
3280
|
+
pipeline: Any,
|
|
3281
|
+
pkg_id: str,
|
|
3282
|
+
kwargs: dict[str, Any],
|
|
3283
|
+
*,
|
|
3284
|
+
agent_visible_only: bool = False,
|
|
3246
3285
|
) -> dict[str, Any]:
|
|
3247
3286
|
"""Validate and normalize structured settings with the package-owned parser."""
|
|
3248
3287
|
pkg = _get_package(pipeline, pkg_id)
|
|
@@ -3261,6 +3300,7 @@ def _normalize_package_config_request(
|
|
|
3261
3300
|
if not isinstance(menu, list):
|
|
3262
3301
|
raise RuntimeError(f"Package '{pkg_id}' returned an invalid configuration menu")
|
|
3263
3302
|
canonical_names: dict[str, str] = {}
|
|
3303
|
+
nullable_names: set[str] = set()
|
|
3264
3304
|
for spec in menu:
|
|
3265
3305
|
if not isinstance(spec, dict):
|
|
3266
3306
|
raise RuntimeError(
|
|
@@ -3271,7 +3311,11 @@ def _normalize_package_config_request(
|
|
|
3271
3311
|
raise RuntimeError(
|
|
3272
3312
|
f"Package '{pkg_id}' returned an invalid configuration option name"
|
|
3273
3313
|
)
|
|
3314
|
+
if agent_visible_only and spec.get("agent_visible", True) is False:
|
|
3315
|
+
continue
|
|
3274
3316
|
canonical_names[name] = name
|
|
3317
|
+
if "default" in spec and spec["default"] is None:
|
|
3318
|
+
nullable_names.add(name)
|
|
3275
3319
|
aliases = spec.get("aliases", [])
|
|
3276
3320
|
if not isinstance(aliases, list) or not all(
|
|
3277
3321
|
isinstance(alias, str) and alias for alias in aliases
|
|
@@ -3286,11 +3330,15 @@ def _normalize_package_config_request(
|
|
|
3286
3330
|
raise ValueError(
|
|
3287
3331
|
f"Package '{pkg_id}' does not support settings: {', '.join(unknown)}"
|
|
3288
3332
|
)
|
|
3289
|
-
null_names = sorted(
|
|
3333
|
+
null_names = sorted(
|
|
3334
|
+
name
|
|
3335
|
+
for name, value in kwargs.items()
|
|
3336
|
+
if value is None and canonical_names[name] not in nullable_names
|
|
3337
|
+
)
|
|
3290
3338
|
if null_names:
|
|
3291
3339
|
raise ValueError(
|
|
3292
|
-
"Package settings cannot be null
|
|
3293
|
-
+ ", ".join(null_names)
|
|
3340
|
+
"Package settings cannot be null unless their package description reports "
|
|
3341
|
+
"nullable=true; provide a concrete value for: " + ", ".join(null_names)
|
|
3294
3342
|
)
|
|
3295
3343
|
|
|
3296
3344
|
parser = cast(Any, get_argparse())
|
|
@@ -3314,10 +3362,65 @@ def _normalize_package_config_request(
|
|
|
3314
3362
|
return normalized
|
|
3315
3363
|
|
|
3316
3364
|
|
|
3365
|
+
def _reject_non_agent_visible_package_settings(
|
|
3366
|
+
package_name: str,
|
|
3367
|
+
kwargs: dict[str, Any],
|
|
3368
|
+
) -> None:
|
|
3369
|
+
"""Reject implementation settings before a user append can mutate a pipeline."""
|
|
3370
|
+
|
|
3371
|
+
if not kwargs:
|
|
3372
|
+
return
|
|
3373
|
+
try:
|
|
3374
|
+
from jarvis_cd.core.pkg import Pkg # type: ignore[import-untyped]
|
|
3375
|
+
|
|
3376
|
+
instance = Pkg.load_standalone(package_name)
|
|
3377
|
+
menu = instance.configure_menu()
|
|
3378
|
+
except Exception as exc:
|
|
3379
|
+
raise RuntimeError(
|
|
3380
|
+
f"Package '{package_name}' does not expose agent configuration metadata"
|
|
3381
|
+
) from exc
|
|
3382
|
+
if not isinstance(menu, list):
|
|
3383
|
+
raise RuntimeError(
|
|
3384
|
+
f"Package '{package_name}' returned an invalid configuration menu"
|
|
3385
|
+
)
|
|
3386
|
+
hidden_names: set[str] = set()
|
|
3387
|
+
for spec in menu:
|
|
3388
|
+
if not isinstance(spec, dict):
|
|
3389
|
+
raise RuntimeError(
|
|
3390
|
+
f"Package '{package_name}' returned an invalid configuration option"
|
|
3391
|
+
)
|
|
3392
|
+
if spec.get("agent_visible", True) is not False:
|
|
3393
|
+
continue
|
|
3394
|
+
name = spec.get("name")
|
|
3395
|
+
if not isinstance(name, str) or not name:
|
|
3396
|
+
raise RuntimeError(
|
|
3397
|
+
f"Package '{package_name}' returned an invalid configuration option name"
|
|
3398
|
+
)
|
|
3399
|
+
hidden_names.add(name)
|
|
3400
|
+
aliases = spec.get("aliases", [])
|
|
3401
|
+
if not isinstance(aliases, list) or not all(
|
|
3402
|
+
isinstance(alias, str) and alias for alias in aliases
|
|
3403
|
+
):
|
|
3404
|
+
raise RuntimeError(
|
|
3405
|
+
f"Package '{package_name}' returned invalid aliases for '{name}'"
|
|
3406
|
+
)
|
|
3407
|
+
hidden_names.update(aliases)
|
|
3408
|
+
requested = sorted(set(kwargs) & hidden_names)
|
|
3409
|
+
if requested:
|
|
3410
|
+
raise ValueError(
|
|
3411
|
+
"Package settings are implementation-owned and not agent-visible: "
|
|
3412
|
+
+ ", ".join(requested)
|
|
3413
|
+
)
|
|
3414
|
+
|
|
3415
|
+
|
|
3317
3416
|
def _require_persisted_package_config(
|
|
3318
|
-
pkg_id: str,
|
|
3417
|
+
pkg_id: str,
|
|
3418
|
+
expected: dict[str, Any],
|
|
3419
|
+
persisted: Any,
|
|
3420
|
+
*,
|
|
3421
|
+
pipeline: Any | None = None,
|
|
3319
3422
|
) -> None:
|
|
3320
|
-
"""
|
|
3423
|
+
"""Require exact persistence or a verified package-owned input rewrite."""
|
|
3321
3424
|
if not isinstance(persisted, dict):
|
|
3322
3425
|
raise RuntimeError(f"Package '{pkg_id}' persisted an invalid configuration")
|
|
3323
3426
|
mismatches = [
|
|
@@ -3325,6 +3428,31 @@ def _require_persisted_package_config(
|
|
|
3325
3428
|
for name, value in expected.items()
|
|
3326
3429
|
if name not in persisted or _jsonable(persisted[name]) != _jsonable(value)
|
|
3327
3430
|
]
|
|
3431
|
+
if mismatches and pipeline is not None:
|
|
3432
|
+
package = _get_package(pipeline, pkg_id)
|
|
3433
|
+
loader = getattr(pipeline, "_load_package_instance", None)
|
|
3434
|
+
instance = (
|
|
3435
|
+
loader(package, getattr(pipeline, "env", {}))
|
|
3436
|
+
if package is not None and callable(loader)
|
|
3437
|
+
else package
|
|
3438
|
+
)
|
|
3439
|
+
verifier = getattr(
|
|
3440
|
+
instance,
|
|
3441
|
+
"configuration_input_materialization_matches",
|
|
3442
|
+
None,
|
|
3443
|
+
)
|
|
3444
|
+
if callable(verifier):
|
|
3445
|
+
verified: set[str] = set()
|
|
3446
|
+
for name in mismatches:
|
|
3447
|
+
if name not in persisted:
|
|
3448
|
+
continue
|
|
3449
|
+
try:
|
|
3450
|
+
matches = verifier(name, expected[name], persisted[name])
|
|
3451
|
+
except Exception:
|
|
3452
|
+
matches = False
|
|
3453
|
+
if matches is True:
|
|
3454
|
+
verified.add(name)
|
|
3455
|
+
mismatches = [name for name in mismatches if name not in verified]
|
|
3328
3456
|
if mismatches:
|
|
3329
3457
|
raise ValueError(
|
|
3330
3458
|
f"Package '{pkg_id}' did not persist settings: {', '.join(mismatches)}"
|