codenib 0.1.0__tar.gz → 0.2.0__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.
- codenib-0.2.0/CHANGELOG.md +139 -0
- {codenib-0.1.0 → codenib-0.2.0}/MANIFEST.in +1 -0
- {codenib-0.1.0 → codenib-0.2.0}/PKG-INFO +123 -23
- {codenib-0.1.0 → codenib-0.2.0}/README.md +111 -19
- {codenib-0.1.0 → codenib-0.2.0}/codenib/__init__.py +15 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/__init__.py +108 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/lsp_graph.py +20 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runner.py +118 -4
- codenib-0.2.0/codenib/agent/runtime/__init__.py +90 -0
- codenib-0.2.0/codenib/agent/runtime/explorer.py +729 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/_graphnav.py +10 -2
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/defaults.py +2 -1
- codenib-0.2.0/codenib/agent/tools/sandbox.py +552 -0
- codenib-0.2.0/codenib/artifacts/__init__.py +46 -0
- codenib-0.2.0/codenib/artifacts/archive.py +216 -0
- codenib-0.2.0/codenib/artifacts/context.py +452 -0
- codenib-0.2.0/codenib/artifacts/github.py +424 -0
- codenib-0.2.0/codenib/artifacts/mcp_config.py +91 -0
- codenib-0.2.0/codenib/artifacts/runtime.py +608 -0
- codenib-0.2.0/codenib/artifacts/security.py +173 -0
- codenib-0.2.0/codenib/cli.py +2057 -0
- codenib-0.2.0/codenib/clients/__init__.py +5 -0
- codenib-0.2.0/codenib/clients/_manifest.py +147 -0
- codenib-0.2.0/codenib/clients/agentless_agent.py +575 -0
- codenib-0.2.0/codenib/clients/agentless_protocol.py +152 -0
- codenib-0.2.0/codenib/clients/cosil_agent.py +750 -0
- codenib-0.2.0/codenib/clients/cosil_protocol.py +376 -0
- codenib-0.2.0/codenib/clients/locagent_agent.py +584 -0
- codenib-0.2.0/codenib/clients/locagent_protocol.py +185 -0
- codenib-0.2.0/codenib/clients/orcaloca_agent.py +287 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunker.py +40 -10
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/__init__.py +1 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/base.py +28 -7
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/__init__.py +18 -1
- codenib-0.2.0/codenib/compiler/artifact_fingerprints.py +62 -0
- codenib-0.2.0/codenib/compiler/artifact_quality.py +505 -0
- codenib-0.2.0/codenib/compiler/checkout_identity.py +63 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/index_builders.py +260 -62
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/skill_context.py +10 -20
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/snapshot_store.py +3 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/codenib_base.py +21 -29
- codenib-0.2.0/codenib/eval/__init__.py +5 -0
- codenib-0.2.0/codenib/eval/agent_runner/baseline.py +25 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/query_sweep.py +31 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/sweep.py +14 -1
- {codenib-0.1.0/codenib/eval/agent_runner → codenib-0.2.0/codenib/eval}/baseline.py +4 -1
- codenib-0.2.0/codenib/eval/benchmarks/__init__.py +123 -0
- codenib-0.2.0/codenib/eval/benchmarks/agentless.py +229 -0
- codenib-0.2.0/codenib/eval/benchmarks/cosil.py +118 -0
- codenib-0.2.0/codenib/eval/benchmarks/locagent.py +300 -0
- codenib-0.2.0/codenib/eval/benchmarks/orcaloca.py +403 -0
- codenib-0.2.0/codenib/eval/benchmarks/policy_benchmark.py +1345 -0
- codenib-0.2.0/codenib/eval/benchmarks/policy_compat.py +967 -0
- codenib-0.2.0/codenib/eval/benchmarks/swe_explore.py +916 -0
- codenib-0.2.0/codenib/eval/benchmarks/swe_explore_runner.py +541 -0
- codenib-0.2.0/codenib/eval/benchmarks/swebench_policy_cases.py +951 -0
- codenib-0.2.0/codenib/eval/pricing/anthropic-direct-2026-08-04.json +26 -0
- codenib-0.2.0/codenib/eval/reports/pricing.py +350 -0
- codenib-0.2.0/codenib/eval/reports/quality_cost.py +1187 -0
- codenib-0.2.0/codenib/git_snapshot.py +313 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/__init__.py +8 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/backend_alignment.py +2 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/code_graph.py +61 -26
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/dependency.py +6 -2
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/__init__.py +2 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/change_mgr.py +18 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/lsp_client.py +4 -3
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_base.py +39 -6
- codenib-0.2.0/codenib/graph/incremental/patcher_ts.py +104 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/subgraph_mgr.py +11 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/roi_subgraph.py +9 -4
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/setup.py +20 -8
- codenib-0.2.0/codenib/graph/source_coverage.py +239 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/traverse_graph.py +20 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/__init__.py +9 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/__init__.py +11 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/builders.py +38 -3
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/vector_store.py +98 -11
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/sparse_idx/bm25_index.py +0 -2
- codenib-0.2.0/codenib/integrations/__init__.py +27 -0
- codenib-0.2.0/codenib/integrations/_orcaloca_python.py +158 -0
- codenib-0.2.0/codenib/integrations/_repository.py +835 -0
- codenib-0.2.0/codenib/integrations/agentless.py +455 -0
- codenib-0.2.0/codenib/integrations/cosil.py +509 -0
- codenib-0.2.0/codenib/integrations/locagent.py +775 -0
- codenib-0.2.0/codenib/integrations/orcaloca.py +978 -0
- codenib-0.2.0/codenib/integrations/swe_explore.py +182 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/usage.py +32 -4
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/lsp_graph_decode.py +7 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_router.py +43 -7
- codenib-0.2.0/codenib/mcp/context.py +403 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/prompts.py +18 -5
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/server.py +109 -13
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/search.py +127 -0
- codenib-0.2.0/codenib/model/__init__.py +126 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/agentless_pipeline.py +1 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/retrieve_rerank_pipeline.py +49 -123
- codenib-0.2.0/codenib/ops/__init__.py +5 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/expand.py +169 -6
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/retrieve.py +45 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/paths.py +18 -0
- codenib-0.2.0/codenib/provider_routes.py +613 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/repository_filters.py +3 -2
- codenib-0.2.0/codenib/sandbox/__init__.py +55 -0
- codenib-0.2.0/codenib/sandbox/docker.py +2086 -0
- codenib-0.2.0/codenib/sandbox/protocol.py +103 -0
- codenib-0.2.0/codenib/sandbox/types.py +416 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/__init__.py +56 -2
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/rust_analyzer.py +3 -1
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_core.py +16 -2
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_ruby.py +1 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_ts.py +25 -6
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_python.py +102 -5
- codenib-0.2.0/codenib/scip_interface/typescript_semantics.py +269 -0
- codenib-0.2.0/codenib/toolchains.py +538 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/types.py +68 -1
- codenib-0.2.0/codenib/utils.py +299 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/app.py +140 -12
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/codemap.py +325 -38
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/commit_window.py +15 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/config.py +3 -2
- codenib-0.2.0/codenib/web/entrypoints.py +384 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/local.py +11 -45
- codenib-0.2.0/codenib/web/modulemap.py +611 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/repo_registry.py +42 -45
- codenib-0.2.0/codenib/web/repository_files.py +216 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/schemas.py +1 -0
- codenib-0.2.0/codenib/web/static_export.py +629 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/PKG-INFO +123 -23
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/SOURCES.txt +128 -61
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/entry_points.txt +2 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/requires.txt +11 -2
- {codenib-0.1.0 → codenib-0.2.0}/pyproject.toml +30 -4
- codenib-0.2.0/server.json +45 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_cli.py +470 -3
- codenib-0.2.0/test/test_cli_remote_embeddings.py +125 -0
- codenib-0.2.0/test/test_git_snapshot.py +105 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_lazy_imports.py +26 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_ls_router_registry.py +46 -1
- codenib-0.2.0/test/test_mcp_registry.py +72 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_namespace_contract.py +1 -0
- codenib-0.2.0/test/test_provider_routes.py +330 -0
- codenib-0.2.0/test/test_release_artifacts.py +258 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_release_metadata.py +7 -1
- codenib-0.2.0/test/test_source_classification.py +124 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_source_fingerprint.py +10 -0
- codenib-0.2.0/test/test_toolchains.py +168 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/app/[repoId]/page.tsx +47 -33
- {codenib-0.1.0 → codenib-0.2.0}/web/app/globals.css +10 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/app/page.tsx +25 -16
- {codenib-0.1.0 → codenib-0.2.0}/web/components/CitationItem.tsx +1 -1
- {codenib-0.1.0 → codenib-0.2.0}/web/components/CodeGraph.tsx +29 -6
- {codenib-0.1.0 → codenib-0.2.0}/web/components/Codemap.tsx +150 -6
- {codenib-0.1.0 → codenib-0.2.0}/web/components/GraphView.tsx +23 -9
- {codenib-0.1.0 → codenib-0.2.0}/web/components/Header.tsx +2 -1
- {codenib-0.1.0 → codenib-0.2.0}/web/components/HierarchyMap.tsx +1 -1
- codenib-0.1.0/web/dist/assets/AskBar-Q_2zSw_D.js → codenib-0.2.0/web/dist/assets/AskBar-C4Hds1pN.js +3 -3
- codenib-0.2.0/web/dist/assets/CodeGraph-Bk050lPY.js +3 -0
- codenib-0.1.0/web/dist/assets/CodePanel-BE7Wg1wI.js → codenib-0.2.0/web/dist/assets/CodePanel-RRVgM80m.js +1 -1
- codenib-0.2.0/web/dist/assets/Codemap-_J-N39hJ.js +2 -0
- codenib-0.2.0/web/dist/assets/GraphView-DlJFx6EE.js +2 -0
- codenib-0.2.0/web/dist/assets/Header-D-408zC3.js +1 -0
- codenib-0.1.0/web/dist/assets/HighlightedBlock-H7FGwbAI.js → codenib-0.2.0/web/dist/assets/HighlightedBlock-CBrRJKKg.js +1 -1
- codenib-0.1.0/web/dist/assets/HighlightedCode-CTRFPFV9.js → codenib-0.2.0/web/dist/assets/HighlightedCode-D7iVacoh.js +1 -1
- codenib-0.1.0/web/dist/assets/Mermaid-NhydXLyh.js → codenib-0.2.0/web/dist/assets/Mermaid-qxXKfOC2.js +64 -64
- codenib-0.2.0/web/dist/assets/api-BJqIDhrh.js +1 -0
- codenib-0.1.0/web/dist/assets/arc-Cj6TUG7b.js → codenib-0.2.0/web/dist/assets/arc-YQRjQ4G1.js +1 -1
- codenib-0.1.0/web/dist/assets/architectureDiagram-3BPJPVTR-BXC7SbpZ.js → codenib-0.2.0/web/dist/assets/architectureDiagram-3BPJPVTR-CTgs6C8r.js +1 -1
- codenib-0.1.0/web/dist/assets/blockDiagram-GPEHLZMM-BYhhgH_O.js → codenib-0.2.0/web/dist/assets/blockDiagram-GPEHLZMM-ytEBsL_7.js +1 -1
- codenib-0.1.0/web/dist/assets/c4Diagram-AAUBKEIU-BPe9Xb1K.js → codenib-0.2.0/web/dist/assets/c4Diagram-AAUBKEIU-B45D0ZGi.js +1 -1
- codenib-0.2.0/web/dist/assets/channel-DX20L555.js +1 -0
- codenib-0.1.0/web/dist/assets/chunk-2J33WTMH-mJuoTx1I.js → codenib-0.2.0/web/dist/assets/chunk-2J33WTMH-B04lsti9.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-4BX2VUAB-DyIPfnHV.js → codenib-0.2.0/web/dist/assets/chunk-4BX2VUAB-CJ8ZXPQi.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-55IACEB6-C8bSn9Qq.js → codenib-0.2.0/web/dist/assets/chunk-55IACEB6-YUQCcuMJ.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-727SXJPM-CgiBqZFm.js → codenib-0.2.0/web/dist/assets/chunk-727SXJPM-hJyIaPef.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-AQP2D5EJ-DOOlLotN.js → codenib-0.2.0/web/dist/assets/chunk-AQP2D5EJ-DFQNP1HU.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-FMBD7UC4-mf47mSz2.js → codenib-0.2.0/web/dist/assets/chunk-FMBD7UC4-BkPDOFmf.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-ND2GUHAM-D6lobpla.js → codenib-0.2.0/web/dist/assets/chunk-ND2GUHAM-BiqC6wmT.js +1 -1
- codenib-0.1.0/web/dist/assets/chunk-QZHKN3VN-D9a00sWs.js → codenib-0.2.0/web/dist/assets/chunk-QZHKN3VN-BpBZ3f6B.js +1 -1
- codenib-0.2.0/web/dist/assets/classDiagram-4FO5ZUOK-v3NNLEdL.js +1 -0
- codenib-0.2.0/web/dist/assets/classDiagram-v2-Q7XG4LA2-v3NNLEdL.js +1 -0
- codenib-0.1.0/web/dist/assets/cose-bilkent-S5V4N54A-JwC1FU9v.js → codenib-0.2.0/web/dist/assets/cose-bilkent-S5V4N54A-DVXw00pQ.js +1 -1
- codenib-0.1.0/web/dist/assets/dagre-BM42HDAG-BTm6Sb-x.js → codenib-0.2.0/web/dist/assets/dagre-BM42HDAG-BsDZYKyf.js +1 -1
- codenib-0.1.0/web/dist/assets/diagram-2AECGRRQ-C7XNwfvk.js → codenib-0.2.0/web/dist/assets/diagram-2AECGRRQ-rVanclvL.js +1 -1
- codenib-0.1.0/web/dist/assets/diagram-5GNKFQAL-DcLriIgZ.js → codenib-0.2.0/web/dist/assets/diagram-5GNKFQAL-D2eMLi2U.js +1 -1
- codenib-0.1.0/web/dist/assets/diagram-KO2AKTUF-Bo-6Bpfo.js → codenib-0.2.0/web/dist/assets/diagram-KO2AKTUF-V1R9ziws.js +1 -1
- codenib-0.1.0/web/dist/assets/diagram-LMA3HP47-M4Nh-qq-.js → codenib-0.2.0/web/dist/assets/diagram-LMA3HP47-n07PTGPC.js +1 -1
- codenib-0.1.0/web/dist/assets/diagram-OG6HWLK6-BUT1QVEf.js → codenib-0.2.0/web/dist/assets/diagram-OG6HWLK6-ByIKwzRo.js +1 -1
- codenib-0.1.0/web/dist/assets/erDiagram-TEJ5UH35-DViEMoeP.js → codenib-0.2.0/web/dist/assets/erDiagram-TEJ5UH35-Bb3txhdx.js +1 -1
- codenib-0.1.0/web/dist/assets/flowDiagram-I6XJVG4X-DjBB1gSM.js → codenib-0.2.0/web/dist/assets/flowDiagram-I6XJVG4X-CFpn7_ps.js +1 -1
- codenib-0.1.0/web/dist/assets/ganttDiagram-6RSMTGT7-Drhb89TN.js → codenib-0.2.0/web/dist/assets/ganttDiagram-6RSMTGT7-DtyzYIE6.js +1 -1
- codenib-0.1.0/web/dist/assets/gitGraphDiagram-PVQCEYII-CwqblmoY.js → codenib-0.2.0/web/dist/assets/gitGraphDiagram-PVQCEYII-CfyINP6P.js +1 -1
- codenib-0.1.0/web/dist/assets/highlight-CnfLc-V2.js → codenib-0.2.0/web/dist/assets/highlight-BbEP82OQ.js +1 -1
- codenib-0.2.0/web/dist/assets/index-CNAnkkDJ.css +1 -0
- codenib-0.2.0/web/dist/assets/index-CYsCZOcK.js +9 -0
- codenib-0.1.0/web/dist/assets/infoDiagram-5YYISTIA-BKq62LUG.js → codenib-0.2.0/web/dist/assets/infoDiagram-5YYISTIA-DTDOCLms.js +1 -1
- codenib-0.1.0/web/dist/assets/ishikawaDiagram-YF4QCWOH-DBAgfp9d.js → codenib-0.2.0/web/dist/assets/ishikawaDiagram-YF4QCWOH-Dnh2FYja.js +1 -1
- codenib-0.1.0/web/dist/assets/journeyDiagram-JHISSGLW-DwHStEV9.js → codenib-0.2.0/web/dist/assets/journeyDiagram-JHISSGLW-BI6YNViV.js +1 -1
- codenib-0.1.0/web/dist/assets/kanban-definition-UN3LZRKU-CWPLLTQn.js → codenib-0.2.0/web/dist/assets/kanban-definition-UN3LZRKU-1L_RvDZF.js +1 -1
- codenib-0.1.0/web/dist/assets/linear-DNcGZFnN.js → codenib-0.2.0/web/dist/assets/linear-bADcV-70.js +1 -1
- codenib-0.1.0/web/dist/assets/mindmap-definition-RKZ34NQL-FZHYTpdO.js → codenib-0.2.0/web/dist/assets/mindmap-definition-RKZ34NQL-BjpfBFFt.js +1 -1
- codenib-0.2.0/web/dist/assets/page-BUGawK95.js +2 -0
- codenib-0.1.0/web/dist/assets/page-D1WhIRzi.js → codenib-0.2.0/web/dist/assets/page-CbAUHri9.js +1 -1
- codenib-0.1.0/web/dist/assets/page-Bn-Q8MBy.js → codenib-0.2.0/web/dist/assets/page-Cq0WVyIV.js +1 -1
- codenib-0.2.0/web/dist/assets/page-CtwkwCsy.js +1 -0
- codenib-0.1.0/web/dist/assets/pieDiagram-4H26LBE5-DKlC7xtb.js → codenib-0.2.0/web/dist/assets/pieDiagram-4H26LBE5-Bl85cHMU.js +1 -1
- codenib-0.1.0/web/dist/assets/quadrantDiagram-W4KKPZXB-DldkGUZS.js → codenib-0.2.0/web/dist/assets/quadrantDiagram-W4KKPZXB-CiaQ52Nw.js +1 -1
- codenib-0.1.0/web/dist/assets/requirementDiagram-4Y6WPE33-Dndb6w-j.js → codenib-0.2.0/web/dist/assets/requirementDiagram-4Y6WPE33-ZJQBDOGk.js +1 -1
- codenib-0.1.0/web/dist/assets/sankeyDiagram-5OEKKPKP-B2ewtJAC.js → codenib-0.2.0/web/dist/assets/sankeyDiagram-5OEKKPKP-Cv6-FogF.js +1 -1
- codenib-0.1.0/web/dist/assets/sequenceDiagram-3UESZ5HK-2N2KbYFt.js → codenib-0.2.0/web/dist/assets/sequenceDiagram-3UESZ5HK-D5DF60sA.js +1 -1
- codenib-0.1.0/web/dist/assets/stateDiagram-AJRCARHV-CLwUuVlz.js → codenib-0.2.0/web/dist/assets/stateDiagram-AJRCARHV-Dx0aACtB.js +1 -1
- codenib-0.2.0/web/dist/assets/stateDiagram-v2-BHNVJYJU-tuKRNeTN.js +1 -0
- codenib-0.1.0/web/dist/assets/timeline-definition-PNZ67QCA-D_IdllIp.js → codenib-0.2.0/web/dist/assets/timeline-definition-PNZ67QCA-C5A64rUG.js +1 -1
- codenib-0.1.0/web/dist/assets/vennDiagram-CIIHVFJN-CSU7pI9M.js → codenib-0.2.0/web/dist/assets/vennDiagram-CIIHVFJN-C5KNt3I-.js +1 -1
- codenib-0.1.0/web/dist/assets/wardley-L42UT6IY-Bv1Eg1Al.js → codenib-0.2.0/web/dist/assets/wardley-L42UT6IY-BvkhpSoT.js +2 -2
- codenib-0.1.0/web/dist/assets/wardleyDiagram-YWT4CUSO-Di3bYwLm.js → codenib-0.2.0/web/dist/assets/wardleyDiagram-YWT4CUSO-D4euDcE7.js +1 -1
- codenib-0.1.0/web/dist/assets/xychartDiagram-2RQKCTM6-CPHWEBiN.js → codenib-0.2.0/web/dist/assets/xychartDiagram-2RQKCTM6-BOEne5J8.js +1 -1
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/index.html +4 -4
- codenib-0.2.0/web/dist/runtime-config.js +5 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/api.ts +130 -22
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/router.tsx +4 -3
- codenib-0.2.0/web/lib/runtime.test.ts +65 -0
- codenib-0.2.0/web/lib/runtime.ts +88 -0
- codenib-0.2.0/web/modules_verify.mjs +159 -0
- codenib-0.2.0/web/public/runtime-config.js +5 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/src/main.tsx +4 -1
- {codenib-0.1.0 → codenib-0.2.0}/web/vite.config.ts +1 -0
- codenib-0.1.0/CHANGELOG.md +0 -42
- codenib-0.1.0/codenib/agent/runtime/__init__.py +0 -16
- codenib-0.1.0/codenib/cli.py +0 -1079
- codenib-0.1.0/codenib/clients/__init__.py +0 -5
- codenib-0.1.0/codenib/graph/incremental/patcher_ts.py +0 -49
- codenib-0.1.0/codenib/mcp/context.py +0 -211
- codenib-0.1.0/codenib/model/__init__.py +0 -49
- codenib-0.1.0/codenib/utils.py +0 -93
- codenib-0.1.0/test/test_release_artifacts.py +0 -82
- codenib-0.1.0/web/dist/assets/CodeGraph-C5zIOx4j.js +0 -3
- codenib-0.1.0/web/dist/assets/Codemap-C5Xm7Go_.js +0 -2
- codenib-0.1.0/web/dist/assets/GraphView-CBBbxS9a.js +0 -2
- codenib-0.1.0/web/dist/assets/Header-CUW7gfQl.js +0 -1
- codenib-0.1.0/web/dist/assets/api-DMyba6Hn.js +0 -1
- codenib-0.1.0/web/dist/assets/channel-DGptmZnr.js +0 -1
- codenib-0.1.0/web/dist/assets/classDiagram-4FO5ZUOK-wDtvnBsq.js +0 -1
- codenib-0.1.0/web/dist/assets/classDiagram-v2-Q7XG4LA2-wDtvnBsq.js +0 -1
- codenib-0.1.0/web/dist/assets/index-BHP8c3Tq.js +0 -9
- codenib-0.1.0/web/dist/assets/index-CKJrqu86.css +0 -1
- codenib-0.1.0/web/dist/assets/page-CESv5Ezw.js +0 -2
- codenib-0.1.0/web/dist/assets/page-CHsElUu2.js +0 -1
- codenib-0.1.0/web/dist/assets/stateDiagram-v2-BHNVJYJU-IiZdW_Og.js +0 -1
- codenib-0.1.0/web/dist/runtime-config.js +0 -1
- codenib-0.1.0/web/public/runtime-config.js +0 -1
- {codenib-0.1.0 → codenib-0.2.0}/CONTRIBUTING.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/LICENSE +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/__main__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/_lazy.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/_version.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/agent_types.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/boundary.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/compile.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/extract_agent.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/harness.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/history.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/lsp_provider.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/rerank_agent.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/resource_guard.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/route_context.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runtime/context.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runtime/trace.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/context.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/core.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/loader.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/registry.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/config.yaml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/executor.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/skill.md +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/typecheck.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tool_schema.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/spec.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/utils.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/clients/claude_agent.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/clients/codex_agent.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/cpp_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/csharp_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/go_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/java_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/js_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/kotlin_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/lua_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/php_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/python_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/ruby_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/rust_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/scala_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/swift_chunker.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compat_pickle.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/index_compiler.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/manifest.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/params.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/resources.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/verification.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/base.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/codenib_synthesis.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/collect/difficulty_classifier.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/collect/swebench_sample.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/gt_locate.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/local_json.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/locbench.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/swebench.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/swebench_multilingual.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/_agent.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/_types.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/context_loader.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/query_curator.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/query_synthesizer.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/verifier.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/vocab_guard.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/utils.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/batch.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/contexts.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/feedback.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/feedback_summary.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/format_diagnostics.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/live_lsp_provider.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/loc_baseline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_ab.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_analysis.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_artifacts.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_manifest.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_runner.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_baseline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_latency.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_provider_cli.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_provider_validation.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_readiness.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_replay_benchmark.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/metrics.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/orchestrator.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/pareto.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/prebuilt.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/preload.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/promotion.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/results.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/scoring.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/sweep_config.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/symbols.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/trace_summary.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/verify_expand.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_bundle.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_integrity.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_manifest.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/experiments/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/experiments/lsp_agent_study_policy.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/loc_agent_runner.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/reports/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/reports/cost_arm_report.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/retrieval_eval.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/hierarchy.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/graph_patcher.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_cpp.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_go.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_python.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_rust.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/layers.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/model_policy.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/prompt_registry.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/chunk_store.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/embeddings_cache.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/git_diff.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/index_updater.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/state.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/regex_idx/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/regex_idx/regex_idx.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/rerank/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/rerank/cross_encoder.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/sparse_idx/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/trigram/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/index/trigram/zoekt_searcher.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/languages.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/diagnostics.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/litellm_chat.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/options.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/log_utils.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/clangd_decode.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/clangd_indexer.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/index_quality.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/lsp_indexer.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/__main__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/dependency.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/lsp.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/bm25_retrieve_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/dense_graph_expand_rerank_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/embedding_retrieve_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/graph_augmented_rerank_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/graph_retrieve_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/hybrid_retrieve_pipeline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/model/retrieval_planner.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/filter.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/rerank.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/transform.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/profiler.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/repository_summary.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/lsp_occurrence_index.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip-environment.yml +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip.proto +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_csharp.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_go.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_java.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_php.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_python.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_rust.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_utils.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_base.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_csharp.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_go.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_java.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_php.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_ruby.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_rust.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_ts.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_install.sh +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_pb2.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/search.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/source_fingerprint.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/edge_label.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/launcher.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/web/static_server.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/__init__.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/agent_wiki.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/builder.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/evidence.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/narrator.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/outline.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/quality.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/dependency_links.txt +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/top_level.txt +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/setup.cfg +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/setup.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_cli_entrypoints.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_compat_pickle.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_language_capability_matrix.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_languages.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_log_utils.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_namespace.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_paths.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/test/test_repository_summary.py +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/app/[repoId]/ask/page.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/app/add-repo/page.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/AskBar.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/AskPanel.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/CodePanel.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/HighlightedBlock.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/HighlightedCode.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/Markdown.test.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/Markdown.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/Mermaid.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/components/SystemMap.tsx +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/cytoscape.esm-CkSuTymj.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/defaultLocale-DX6XiGOO.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/graph--OzhPTMs.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/highlight-CDab0zVI.css +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/init-Gi6I4Gst.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/katex-HP8lGamR.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/layout-SsrduOYp.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/ordinal-Cboi1Yqb.js +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/dist/codenib-icon.svg +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/index.html +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/citations.test.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/citations.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/filesLayout.test.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/filesLayout.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/highlight.test.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/lib/highlight.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/loopshot.mjs +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/package-lock.json +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/package.json +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/public/codenib-icon.svg +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/qa_verify.mjs +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/tsconfig.json +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/types/cytoscape-dagre.d.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/types/cytoscape-fcose.d.ts +0 -0
- {codenib-0.1.0 → codenib-0.2.0}/web/verify.mjs +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# Changelog
|
|
8
|
+
|
|
9
|
+
All notable user-facing changes are recorded here. CodeNib follows
|
|
10
|
+
[Semantic Versioning](https://semver.org/).
|
|
11
|
+
|
|
12
|
+
## [Unreleased]
|
|
13
|
+
|
|
14
|
+
## [0.2.0] - 2026-08-05
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- A build-once distribution path that publishes a static Wiki and a verified,
|
|
19
|
+
commit-addressed context artifact for local or MCP reuse.
|
|
20
|
+
- Capability-aware `search_context` serving through the official
|
|
21
|
+
`ai.codenib/codenib` MCP package, plus managed package-level SCIP and LSP
|
|
22
|
+
providers selected from repository languages.
|
|
23
|
+
- Native repository-exploration adapters and quality-constrained token and
|
|
24
|
+
cost reports for supported agent localization policies.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Hybrid BM25+dense retrieval is the recommended installed default when the
|
|
29
|
+
semantic extra is present; the base package retains an explicit no-model
|
|
30
|
+
BM25 path.
|
|
31
|
+
- Repository filtering, graph definition provenance, and TypeScript/TSX import
|
|
32
|
+
edges use updated builder contracts. Incompatible 0.1 views rebuild once;
|
|
33
|
+
compatible 0.2 views remain reusable.
|
|
34
|
+
|
|
35
|
+
### Security
|
|
36
|
+
|
|
37
|
+
- Downloaded context artifacts are inventory-checked, source-bound, and reject
|
|
38
|
+
unsafe archive members before any view is loaded.
|
|
39
|
+
|
|
40
|
+
## [0.2.0a2] - 2026-08-05
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- A capability-aware `search_context` MCP tool and version-matched metadata for
|
|
45
|
+
publishing the local stdio server as `ai.codenib/codenib` in the official MCP
|
|
46
|
+
Registry.
|
|
47
|
+
- A repository-aware `codenib toolchain` command that detects graph and LSP
|
|
48
|
+
providers from the language registry, installs pinned package-managed tools
|
|
49
|
+
under `~/.codenib/toolchains`, and reports system or project prerequisites
|
|
50
|
+
without invoking `sudo` or mutating the target checkout.
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- Local `index` and `wiki` commands now select semantic hybrid retrieval when
|
|
55
|
+
the semantic extra is installed and explicitly report the no-model BM25
|
|
56
|
+
fallback otherwise. The reusable Pages workflow selects semantic retrieval
|
|
57
|
+
by default and caches its pinned local embedding model; `fast` remains an
|
|
58
|
+
explicit no-model route.
|
|
59
|
+
- CodeNib processes automatically prefer the managed tool directory, removing
|
|
60
|
+
the shell `PATH` export previously required after source-checkout installs.
|
|
61
|
+
- The public quickstart recommends BM25+dense serving and uses a normal,
|
|
62
|
+
version-pinned PyPI command instead of exposing a TestPyPI wheel URL.
|
|
63
|
+
|
|
64
|
+
## [0.2.0a1] - 2026-08-05
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- A reusable GitHub Pages workflow and composite Action that build a no-model
|
|
69
|
+
static Wiki plus a commit-addressed BM25 context artifact. Semantic builds
|
|
70
|
+
can use a pinned local CodeRankEmbed model or an explicit OpenAI-compatible
|
|
71
|
+
embedding endpoint.
|
|
72
|
+
- Portable context artifacts with complete file inventories, source identity,
|
|
73
|
+
capability metadata, and an artifact-backed MCP path that reuses BM25 and
|
|
74
|
+
vector views without rebuilding the repository.
|
|
75
|
+
- Secret-free inference route identities for local and remote embeddings,
|
|
76
|
+
compatibility fingerprints, provider-aware diagnostics, and fail-closed
|
|
77
|
+
handling of the retired GitHub Models service.
|
|
78
|
+
- A native repository explorer with selective view loading and revision-pinned
|
|
79
|
+
compatibility layers for SWE-Explore, Agentless, CoSIL, LocAgent, and
|
|
80
|
+
OrcaLoca SearchAgent contracts.
|
|
81
|
+
- Quality-constrained cost reports that pair localization success with token,
|
|
82
|
+
USD, and amortized build cost rather than reporting cost without a quality
|
|
83
|
+
denominator.
|
|
84
|
+
- Graph schema 5 records semantic symbol kinds, explicit definition
|
|
85
|
+
provenance, and anchored TypeScript/TSX import and re-export edges.
|
|
86
|
+
|
|
87
|
+
### Changed
|
|
88
|
+
|
|
89
|
+
- Static Wiki exports now preserve mount paths, source citations, generated
|
|
90
|
+
pages, and dependency data while keeping query engines in the local or MCP
|
|
91
|
+
runtime.
|
|
92
|
+
- Pull requests build and inspect distributions once; the complete
|
|
93
|
+
cross-version and installed-service release matrix runs on `main`, release
|
|
94
|
+
tags, and explicit TestPyPI dispatches.
|
|
95
|
+
- Static navigation and source adapters no longer treat reference-only symbol
|
|
96
|
+
provenance as a definition location. Existing schema 4 graph artifacts need
|
|
97
|
+
a one-time `codenib index <repo> --preset graph --rebuild`.
|
|
98
|
+
|
|
99
|
+
### Security
|
|
100
|
+
|
|
101
|
+
- Downloaded context artifacts reject pickle payloads, unsafe archive paths,
|
|
102
|
+
symbolic and special files, unbounded expansion, inventory mismatches, and
|
|
103
|
+
source checkouts that do not match the recorded commit and fingerprint.
|
|
104
|
+
- GitHub artifact downloads verify the API digest and never forward the GitHub
|
|
105
|
+
bearer token to redirects. Pages publication scans outputs for configured
|
|
106
|
+
credentials and rejects secret-bearing fork execution paths.
|
|
107
|
+
|
|
108
|
+
## [0.1.0] - 2026-07-26
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
|
|
112
|
+
- A unified `codenib` CLI with `index`, `wiki`, `mcp`, and `doctor` commands.
|
|
113
|
+
- A two-command local Wiki path with automatic language detection and reusable
|
|
114
|
+
repository manifests.
|
|
115
|
+
- Fast, semantic, and full indexing presets with explicit optional
|
|
116
|
+
dependencies.
|
|
117
|
+
- A deterministic static Wiki that requires no LLM credentials.
|
|
118
|
+
- A source-linked MCP server for retrieval, graph, and static navigation tools.
|
|
119
|
+
- Multi-view incremental maintenance and evaluation infrastructure.
|
|
120
|
+
|
|
121
|
+
### Changed
|
|
122
|
+
|
|
123
|
+
- Renamed the maintained package, command, state, and protocol namespace to
|
|
124
|
+
CodeNib.
|
|
125
|
+
- Reduced the default installation to the BM25 and Wiki runtime; model, graph,
|
|
126
|
+
dataset, MCP, and agent dependencies now use named extras.
|
|
127
|
+
- Made public package imports lazy so CLI startup does not initialize model or
|
|
128
|
+
graph runtimes.
|
|
129
|
+
|
|
130
|
+
### Security
|
|
131
|
+
|
|
132
|
+
- Prepared secretless PyPI publishing through a dedicated GitHub Actions OIDC
|
|
133
|
+
workflow.
|
|
134
|
+
|
|
135
|
+
[Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.0...HEAD
|
|
136
|
+
[0.2.0]: https://github.com/sysevol-ai/CodeNib/compare/v0.1.0...v0.2.0
|
|
137
|
+
[0.2.0a2]: https://github.com/sysevol-ai/CodeNib/compare/620a82d...78e12ac
|
|
138
|
+
[0.2.0a1]: https://github.com/sysevol-ai/CodeNib/tree/620a82d
|
|
139
|
+
[0.1.0]: https://github.com/sysevol-ai/CodeNib/releases/tag/v0.1.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codenib
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: A multi-view data system for serving repository context to coding agents
|
|
5
5
|
Author-email: Zhongming Yu <zhy025@ucsd.edu>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -9,7 +9,7 @@ Project-URL: Homepage, https://codenib.ai
|
|
|
9
9
|
Project-URL: Issues, https://github.com/sysevol-ai/CodeNib/issues
|
|
10
10
|
Project-URL: Repository, https://github.com/sysevol-ai/CodeNib.git
|
|
11
11
|
Keywords: code-search,coding-agents,model-context-protocol,repository-context,static-analysis
|
|
12
|
-
Classifier: Development Status ::
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -33,7 +33,8 @@ Requires-Dist: tree-sitter>=0.25.2
|
|
|
33
33
|
Requires-Dist: tree-sitter-language-pack<1.9.0,>=1.8.1
|
|
34
34
|
Requires-Dist: uvicorn>=0.20.0
|
|
35
35
|
Provides-Extra: agent
|
|
36
|
-
Requires-Dist: litellm>=1.
|
|
36
|
+
Requires-Dist: litellm>=1.93.0; extra == "agent"
|
|
37
|
+
Requires-Dist: openai>=1.0.0; extra == "agent"
|
|
37
38
|
Provides-Extra: datasets
|
|
38
39
|
Requires-Dist: datasets>=4.0.0; extra == "datasets"
|
|
39
40
|
Provides-Extra: graph
|
|
@@ -47,6 +48,10 @@ Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic"
|
|
|
47
48
|
Requires-Dist: numpy>=1.24.0; extra == "semantic"
|
|
48
49
|
Requires-Dist: openai>=1.0.0; extra == "semantic"
|
|
49
50
|
Requires-Dist: sentence-transformers>=2.2.0; extra == "semantic"
|
|
51
|
+
Provides-Extra: semantic-remote
|
|
52
|
+
Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic-remote"
|
|
53
|
+
Requires-Dist: numpy>=1.24.0; extra == "semantic-remote"
|
|
54
|
+
Requires-Dist: openai>=1.0.0; extra == "semantic-remote"
|
|
50
55
|
Provides-Extra: vertex
|
|
51
56
|
Requires-Dist: litellm[google]>=1.93.0; extra == "vertex"
|
|
52
57
|
Provides-Extra: zoekt
|
|
@@ -70,14 +75,17 @@ Requires-Dist: isort>=5.10.1; extra == "dev"
|
|
|
70
75
|
Requires-Dist: mypy>=0.950; extra == "dev"
|
|
71
76
|
Requires-Dist: flake8>=4.0.1; extra == "dev"
|
|
72
77
|
Requires-Dist: flake8-bugbear>=24.4.0; extra == "dev"
|
|
78
|
+
Requires-Dist: mkdocs<2.0.0; extra == "dev"
|
|
73
79
|
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
|
|
80
|
+
Requires-Dist: mkdocstrings-python>=2.0.0; extra == "dev"
|
|
81
|
+
Requires-Dist: mkdocs-api-autonav>=0.4.0; extra == "dev"
|
|
74
82
|
Provides-Extra: test
|
|
75
83
|
Requires-Dist: datasets>=4.0.0; extra == "test"
|
|
76
84
|
Requires-Dist: einops>=0.8.0; extra == "test"
|
|
77
85
|
Requires-Dist: faiss-cpu>=1.7.0; extra == "test"
|
|
78
86
|
Requires-Dist: filelock>=3.0.0; extra == "test"
|
|
79
87
|
Requires-Dist: igraph>=0.11.6; extra == "test"
|
|
80
|
-
Requires-Dist: litellm>=1.
|
|
88
|
+
Requires-Dist: litellm>=1.93.0; extra == "test"
|
|
81
89
|
Requires-Dist: matplotlib>=3.4.0; extra == "test"
|
|
82
90
|
Requires-Dist: mcp<3,>=2.0.0; extra == "test"
|
|
83
91
|
Requires-Dist: numpy>=1.24.0; extra == "test"
|
|
@@ -97,12 +105,17 @@ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
|
|
|
97
105
|
|
|
98
106
|
SPDX-License-Identifier: Apache-2.0
|
|
99
107
|
-->
|
|
108
|
+
<!-- mcp-name: ai.codenib/codenib -->
|
|
100
109
|
|
|
101
110
|
<div align="center">
|
|
102
111
|
<img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="560">
|
|
103
|
-
<h1>
|
|
112
|
+
<h1>Searchable codebase wikis and context for coding agents</h1>
|
|
104
113
|
<p>
|
|
105
|
-
|
|
114
|
+
Point it at any repo, get a searchable Wiki and an MCP server for your coding agent.
|
|
115
|
+
</p>
|
|
116
|
+
<p>
|
|
117
|
+
<a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg?logo=arxiv&logoColor=white" alt="arXiv 2607.25431"></a>
|
|
118
|
+
<a href="https://huggingface.co/papers/2607.25431"><img src="https://img.shields.io/badge/Hugging_Face-%232_Paper_of_the_Day-FFD21E.svg?logo=huggingface&logoColor=black" alt="Hugging Face: #2 Paper of the Day"></a>
|
|
106
119
|
</p>
|
|
107
120
|
<p>
|
|
108
121
|
<a href="#quickstart">Quickstart</a>
|
|
@@ -115,26 +128,50 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
115
128
|
·
|
|
116
129
|
<a href="https://docs.codenib.ai/mcp/">MCP</a>
|
|
117
130
|
·
|
|
131
|
+
<a href="https://docs.codenib.ai/agent_integrations/">Agent Integrations</a>
|
|
132
|
+
·
|
|
118
133
|
<a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
|
|
119
134
|
</p>
|
|
120
135
|
<p>
|
|
121
136
|
<a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
137
|
+
<a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg" alt="PyPI version"></a>
|
|
122
138
|
<a href="https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
|
|
123
139
|
<a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
|
|
124
|
-
<img src="https://img.shields.io/badge/Release-
|
|
140
|
+
<img src="https://img.shields.io/badge/Release-0.2.0-2563EB.svg" alt="CodeNib 0.2.0">
|
|
125
141
|
</p>
|
|
126
142
|
</div>
|
|
127
143
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
LSP-shaped providers, Python, and HTTP APIs.
|
|
144
|
+
```bash
|
|
145
|
+
python -m pip install "codenib[mcp,semantic]==0.2.0"
|
|
146
|
+
codenib wiki /path/to/your/repo
|
|
147
|
+
```
|
|
133
148
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
agent
|
|
149
|
+
Local, open source, and no cloud required. CodeNib combines BM25 and dense code
|
|
150
|
+
search, adds optional SCIP symbol graphs, and incrementally rebuilds repository
|
|
151
|
+
indexes as commits change. The same index powers the Wiki, Dependency Map, Ask,
|
|
152
|
+
and MCP tools instead of making every agent rediscover the codebase.
|
|
153
|
+
|
|
154
|
+
## News
|
|
155
|
+
|
|
156
|
+
- **2026-08-05 — CodeNib 0.2.0.** Build a static Wiki and reusable context
|
|
157
|
+
artifact once, then serve it through Pages or the official MCP package.
|
|
158
|
+
Hybrid retrieval and managed SCIP/LSP providers ship in the same CLI.
|
|
159
|
+
[Release notes](https://docs.codenib.ai/releases/0.2.0/)
|
|
160
|
+
- **2026-08-05 — SweRank recipe.** Run
|
|
161
|
+
[SweRank](https://github.com/SalesforceAIResearch/SweRank) retrieval and
|
|
162
|
+
reranking over a local checkout. [Example](examples/swerank_retrieve_rerank.py)
|
|
163
|
+
- **2026-08-04 — Native repository explorer.** CodeNib's planner now targets
|
|
164
|
+
the [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench)
|
|
165
|
+
source-region protocol.
|
|
166
|
+
[Validation](docs/evaluation/swe_explore.md)
|
|
167
|
+
- **2026-08-03 — Native LocAgent policy.**
|
|
168
|
+
[LocAgent](https://github.com/gersteinlab/LocAgent) runs directly on CodeNib
|
|
169
|
+
views without LocAgent, LiteLLM, or LlamaIndex dependencies.
|
|
170
|
+
[Support matrix](https://docs.codenib.ai/agent_integrations/)
|
|
171
|
+
- **2026-08-02 — OrcaLoca SearchAgent.**
|
|
172
|
+
[OrcaLoca](https://github.com/fishmingyu/OrcaLoca)'s six-tool search loop
|
|
173
|
+
now reuses CodeNib's symbol graph.
|
|
174
|
+
[Support matrix](https://docs.codenib.ai/agent_integrations/)
|
|
138
175
|
|
|
139
176
|
## System Architecture
|
|
140
177
|
|
|
@@ -160,13 +197,21 @@ publishing a partially updated view.
|
|
|
160
197
|
|
|
161
198
|
## Quickstart
|
|
162
199
|
|
|
163
|
-
Requires Python 3.10+ and Git.
|
|
200
|
+
Requires Python 3.10+ and Git. The recommended local path includes the pinned
|
|
201
|
+
CodeRankEmbed model and serves hybrid BM25+dense retrieval:
|
|
164
202
|
|
|
165
203
|
```bash
|
|
166
|
-
pip install codenib
|
|
204
|
+
python -m pip install "codenib[semantic]==0.2.0"
|
|
205
|
+
codenib doctor --require core --require wiki
|
|
167
206
|
codenib wiki /path/to/repository
|
|
168
207
|
```
|
|
169
208
|
|
|
209
|
+
`codenib wiki` selects the semantic route because the installed environment
|
|
210
|
+
contains its dependencies. A smaller `python -m pip install codenib==0.2.0`
|
|
211
|
+
installation selects the deterministic BM25 fallback and downloads no model.
|
|
212
|
+
The [0.2 release notes](https://docs.codenib.ai/releases/0.2.0/) record the
|
|
213
|
+
upgrade boundary and verification evidence.
|
|
214
|
+
|
|
170
215
|
CodeNib detects the repository languages, builds a reusable index under
|
|
171
216
|
`~/.codenib/repositories`, launches the local Wiki, and opens
|
|
172
217
|
[http://localhost:3000](http://localhost:3000). The wheel includes the
|
|
@@ -181,6 +226,39 @@ codenib doctor --require core --require wiki
|
|
|
181
226
|
codenib index /path/to/repository
|
|
182
227
|
```
|
|
183
228
|
|
|
229
|
+
For a structural view, CodeNib detects the repository languages and manages
|
|
230
|
+
only their package-level providers; operating-system and project prerequisites
|
|
231
|
+
remain explicit:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
python -m pip install "codenib[graph]==0.2.0"
|
|
235
|
+
codenib toolchain install /path/to/repository --scope graph
|
|
236
|
+
codenib doctor /path/to/repository --require graph
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Export that indexed commit as a serverless Wiki when a live Ask backend is not
|
|
240
|
+
needed:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
codenib export /path/to/repository --output /tmp/repository-wiki
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
The export contains a versioned provenance manifest, precomputed Wiki pages,
|
|
247
|
+
source citations, and available page-level dependency data. It contains no
|
|
248
|
+
provider credential; interactive Ask and runtime graph exploration remain on
|
|
249
|
+
the local or MCP serving path.
|
|
250
|
+
|
|
251
|
+
For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
|
|
252
|
+
that incrementally builds the same manifest, deploys the static site to Pages,
|
|
253
|
+
and uploads the matching commit-addressed context artifact. Its default
|
|
254
|
+
`semantic` route builds BM25 and vector views with a cached local Hugging Face
|
|
255
|
+
model and needs no API key. An explicit `fast` route avoids the model download;
|
|
256
|
+
a BYO OpenAI-compatible endpoint can replace local embedding. Query-time search
|
|
257
|
+
remains in the local or MCP runtime. See
|
|
258
|
+
[GitHub Pages](https://docs.codenib.ai/github_pages/).
|
|
259
|
+
The published BM25/vector artifact can then be verified against an exact local
|
|
260
|
+
checkout and served through MCP without rebuilding the repository views.
|
|
261
|
+
|
|
184
262
|
See the
|
|
185
263
|
[Quickstart](https://docs.codenib.ai/quickstart/)
|
|
186
264
|
for ports, advanced indexing, and troubleshooting.
|
|
@@ -195,13 +273,15 @@ Install the MCP extra, build once, and serve the same repository manifest over
|
|
|
195
273
|
stdio:
|
|
196
274
|
|
|
197
275
|
```bash
|
|
198
|
-
pip install "codenib[mcp]"
|
|
276
|
+
python -m pip install "codenib[mcp,semantic]==0.2.0"
|
|
199
277
|
codenib index /path/to/repository
|
|
200
278
|
codenib mcp /path/to/repository
|
|
201
279
|
```
|
|
202
280
|
|
|
203
|
-
The MCP server advertises
|
|
204
|
-
|
|
281
|
+
The MCP server advertises `search_context` as its default ranked entry point,
|
|
282
|
+
then exposes the underlying BM25, vector, graph, and navigation operations for
|
|
283
|
+
explicit control. It uses the compiled manifest to decide which calls have a
|
|
284
|
+
fresh backing view. An agent can therefore reuse
|
|
205
285
|
available repository work instead of rebuilding context through unbounded
|
|
206
286
|
`grep` and `read` loops, while unavailable searches fail explicitly. BM25,
|
|
207
287
|
semantic, regex, Zoekt, dependency, and static-navigation results retain source
|
|
@@ -209,15 +289,31 @@ locations for follow-up reads and citations. See
|
|
|
209
289
|
[MCP Server](https://docs.codenib.ai/mcp/)
|
|
210
290
|
for client configuration and tool contracts.
|
|
211
291
|
|
|
292
|
+
The same planner is available directly to Python agents:
|
|
293
|
+
|
|
294
|
+
```python
|
|
295
|
+
from codenib.agent import RepositoryContextExplorer
|
|
296
|
+
|
|
297
|
+
with RepositoryContextExplorer.from_repository(
|
|
298
|
+
"/path/to/repository", policy="auto"
|
|
299
|
+
) as explorer:
|
|
300
|
+
result = explorer.explore("where is request retry behavior implemented?", top_k=10)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Each result includes source-validated evidence plus the selected plan,
|
|
304
|
+
capabilities, loaded views, fusion, graph, and reranking trace.
|
|
305
|
+
|
|
212
306
|
## What CodeNib Provides
|
|
213
307
|
|
|
214
308
|
| Surface | Purpose |
|
|
215
309
|
|---|---|
|
|
216
310
|
| Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
|
|
217
311
|
| Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
|
|
218
|
-
| Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths |
|
|
312
|
+
| Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
|
|
219
313
|
| Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
|
|
220
314
|
| MCP and LSP-shaped tools | Serve one manifest to coding agents without tying the runtime to one agent framework |
|
|
315
|
+
| Agent compatibility | Reuse one manifest across revision-pinned [LocAgent](https://github.com/gersteinlab/LocAgent), [Agentless](https://github.com/OpenAutoCoder/Agentless), [CoSIL](https://github.com/ZhonghaoJiang/CoSIL), and [OrcaLoca](https://github.com/fishmingyu/OrcaLoca) contracts; see the [support matrix](https://docs.codenib.ai/agent_integrations/) |
|
|
316
|
+
| Benchmark compatibility | Evaluate native exploration against pinned external datasets and scorers, including [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench); see the [dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) |
|
|
221
317
|
| Local inspection | Audit the same context through Wiki pages, Ask answers, citations, and the Dependency Map |
|
|
222
318
|
| Evaluation harness | Measure retrieval, navigation, incremental maintenance, and context policies on the same artifacts |
|
|
223
319
|
|
|
@@ -228,7 +324,11 @@ records chunking, graph, incremental, and C++ decoder support.
|
|
|
228
324
|
## Documentation
|
|
229
325
|
|
|
230
326
|
- [Quickstart](https://docs.codenib.ai/quickstart/)
|
|
327
|
+
- [GitHub Pages](https://docs.codenib.ai/github_pages/)
|
|
231
328
|
- [MCP Server](https://docs.codenib.ai/mcp/)
|
|
329
|
+
- [Agent Integrations](https://docs.codenib.ai/agent_integrations/)
|
|
330
|
+
- [RAG Models and Planner](https://docs.codenib.ai/rag_ops/)
|
|
331
|
+
- [Benchmarks and Evaluation](https://docs.codenib.ai/evaluation/)
|
|
232
332
|
- [Web UI](https://docs.codenib.ai/web_demo/)
|
|
233
333
|
- [Language Capabilities](https://docs.codenib.ai/language_capabilities/)
|
|
234
334
|
- [Concepts and development guides](https://docs.codenib.ai/)
|
|
@@ -236,7 +336,7 @@ records chunking, graph, incremental, and C++ decoder support.
|
|
|
236
336
|
Build the documentation site locally with:
|
|
237
337
|
|
|
238
338
|
```bash
|
|
239
|
-
pip install "
|
|
339
|
+
python -m pip install -e ".[dev]"
|
|
240
340
|
mkdocs serve
|
|
241
341
|
```
|
|
242
342
|
|
|
@@ -3,12 +3,17 @@ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
|
|
|
3
3
|
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
-->
|
|
6
|
+
<!-- mcp-name: ai.codenib/codenib -->
|
|
6
7
|
|
|
7
8
|
<div align="center">
|
|
8
9
|
<img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="560">
|
|
9
|
-
<h1>
|
|
10
|
+
<h1>Searchable codebase wikis and context for coding agents</h1>
|
|
10
11
|
<p>
|
|
11
|
-
|
|
12
|
+
Point it at any repo, get a searchable Wiki and an MCP server for your coding agent.
|
|
13
|
+
</p>
|
|
14
|
+
<p>
|
|
15
|
+
<a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg?logo=arxiv&logoColor=white" alt="arXiv 2607.25431"></a>
|
|
16
|
+
<a href="https://huggingface.co/papers/2607.25431"><img src="https://img.shields.io/badge/Hugging_Face-%232_Paper_of_the_Day-FFD21E.svg?logo=huggingface&logoColor=black" alt="Hugging Face: #2 Paper of the Day"></a>
|
|
12
17
|
</p>
|
|
13
18
|
<p>
|
|
14
19
|
<a href="#quickstart">Quickstart</a>
|
|
@@ -21,26 +26,50 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
21
26
|
·
|
|
22
27
|
<a href="https://docs.codenib.ai/mcp/">MCP</a>
|
|
23
28
|
·
|
|
29
|
+
<a href="https://docs.codenib.ai/agent_integrations/">Agent Integrations</a>
|
|
30
|
+
·
|
|
24
31
|
<a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
|
|
25
32
|
</p>
|
|
26
33
|
<p>
|
|
27
34
|
<a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
35
|
+
<a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg" alt="PyPI version"></a>
|
|
28
36
|
<a href="https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
|
|
29
37
|
<a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
|
|
30
|
-
<img src="https://img.shields.io/badge/Release-
|
|
38
|
+
<img src="https://img.shields.io/badge/Release-0.2.0-2563EB.svg" alt="CodeNib 0.2.0">
|
|
31
39
|
</p>
|
|
32
40
|
</div>
|
|
33
41
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
LSP-shaped providers, Python, and HTTP APIs.
|
|
42
|
+
```bash
|
|
43
|
+
python -m pip install "codenib[mcp,semantic]==0.2.0"
|
|
44
|
+
codenib wiki /path/to/your/repo
|
|
45
|
+
```
|
|
39
46
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
agent
|
|
47
|
+
Local, open source, and no cloud required. CodeNib combines BM25 and dense code
|
|
48
|
+
search, adds optional SCIP symbol graphs, and incrementally rebuilds repository
|
|
49
|
+
indexes as commits change. The same index powers the Wiki, Dependency Map, Ask,
|
|
50
|
+
and MCP tools instead of making every agent rediscover the codebase.
|
|
51
|
+
|
|
52
|
+
## News
|
|
53
|
+
|
|
54
|
+
- **2026-08-05 — CodeNib 0.2.0.** Build a static Wiki and reusable context
|
|
55
|
+
artifact once, then serve it through Pages or the official MCP package.
|
|
56
|
+
Hybrid retrieval and managed SCIP/LSP providers ship in the same CLI.
|
|
57
|
+
[Release notes](https://docs.codenib.ai/releases/0.2.0/)
|
|
58
|
+
- **2026-08-05 — SweRank recipe.** Run
|
|
59
|
+
[SweRank](https://github.com/SalesforceAIResearch/SweRank) retrieval and
|
|
60
|
+
reranking over a local checkout. [Example](examples/swerank_retrieve_rerank.py)
|
|
61
|
+
- **2026-08-04 — Native repository explorer.** CodeNib's planner now targets
|
|
62
|
+
the [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench)
|
|
63
|
+
source-region protocol.
|
|
64
|
+
[Validation](docs/evaluation/swe_explore.md)
|
|
65
|
+
- **2026-08-03 — Native LocAgent policy.**
|
|
66
|
+
[LocAgent](https://github.com/gersteinlab/LocAgent) runs directly on CodeNib
|
|
67
|
+
views without LocAgent, LiteLLM, or LlamaIndex dependencies.
|
|
68
|
+
[Support matrix](https://docs.codenib.ai/agent_integrations/)
|
|
69
|
+
- **2026-08-02 — OrcaLoca SearchAgent.**
|
|
70
|
+
[OrcaLoca](https://github.com/fishmingyu/OrcaLoca)'s six-tool search loop
|
|
71
|
+
now reuses CodeNib's symbol graph.
|
|
72
|
+
[Support matrix](https://docs.codenib.ai/agent_integrations/)
|
|
44
73
|
|
|
45
74
|
## System Architecture
|
|
46
75
|
|
|
@@ -66,13 +95,21 @@ publishing a partially updated view.
|
|
|
66
95
|
|
|
67
96
|
## Quickstart
|
|
68
97
|
|
|
69
|
-
Requires Python 3.10+ and Git.
|
|
98
|
+
Requires Python 3.10+ and Git. The recommended local path includes the pinned
|
|
99
|
+
CodeRankEmbed model and serves hybrid BM25+dense retrieval:
|
|
70
100
|
|
|
71
101
|
```bash
|
|
72
|
-
pip install codenib
|
|
102
|
+
python -m pip install "codenib[semantic]==0.2.0"
|
|
103
|
+
codenib doctor --require core --require wiki
|
|
73
104
|
codenib wiki /path/to/repository
|
|
74
105
|
```
|
|
75
106
|
|
|
107
|
+
`codenib wiki` selects the semantic route because the installed environment
|
|
108
|
+
contains its dependencies. A smaller `python -m pip install codenib==0.2.0`
|
|
109
|
+
installation selects the deterministic BM25 fallback and downloads no model.
|
|
110
|
+
The [0.2 release notes](https://docs.codenib.ai/releases/0.2.0/) record the
|
|
111
|
+
upgrade boundary and verification evidence.
|
|
112
|
+
|
|
76
113
|
CodeNib detects the repository languages, builds a reusable index under
|
|
77
114
|
`~/.codenib/repositories`, launches the local Wiki, and opens
|
|
78
115
|
[http://localhost:3000](http://localhost:3000). The wheel includes the
|
|
@@ -87,6 +124,39 @@ codenib doctor --require core --require wiki
|
|
|
87
124
|
codenib index /path/to/repository
|
|
88
125
|
```
|
|
89
126
|
|
|
127
|
+
For a structural view, CodeNib detects the repository languages and manages
|
|
128
|
+
only their package-level providers; operating-system and project prerequisites
|
|
129
|
+
remain explicit:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
python -m pip install "codenib[graph]==0.2.0"
|
|
133
|
+
codenib toolchain install /path/to/repository --scope graph
|
|
134
|
+
codenib doctor /path/to/repository --require graph
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Export that indexed commit as a serverless Wiki when a live Ask backend is not
|
|
138
|
+
needed:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
codenib export /path/to/repository --output /tmp/repository-wiki
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
The export contains a versioned provenance manifest, precomputed Wiki pages,
|
|
145
|
+
source citations, and available page-level dependency data. It contains no
|
|
146
|
+
provider credential; interactive Ask and runtime graph exploration remain on
|
|
147
|
+
the local or MCP serving path.
|
|
148
|
+
|
|
149
|
+
For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
|
|
150
|
+
that incrementally builds the same manifest, deploys the static site to Pages,
|
|
151
|
+
and uploads the matching commit-addressed context artifact. Its default
|
|
152
|
+
`semantic` route builds BM25 and vector views with a cached local Hugging Face
|
|
153
|
+
model and needs no API key. An explicit `fast` route avoids the model download;
|
|
154
|
+
a BYO OpenAI-compatible endpoint can replace local embedding. Query-time search
|
|
155
|
+
remains in the local or MCP runtime. See
|
|
156
|
+
[GitHub Pages](https://docs.codenib.ai/github_pages/).
|
|
157
|
+
The published BM25/vector artifact can then be verified against an exact local
|
|
158
|
+
checkout and served through MCP without rebuilding the repository views.
|
|
159
|
+
|
|
90
160
|
See the
|
|
91
161
|
[Quickstart](https://docs.codenib.ai/quickstart/)
|
|
92
162
|
for ports, advanced indexing, and troubleshooting.
|
|
@@ -101,13 +171,15 @@ Install the MCP extra, build once, and serve the same repository manifest over
|
|
|
101
171
|
stdio:
|
|
102
172
|
|
|
103
173
|
```bash
|
|
104
|
-
pip install "codenib[mcp]"
|
|
174
|
+
python -m pip install "codenib[mcp,semantic]==0.2.0"
|
|
105
175
|
codenib index /path/to/repository
|
|
106
176
|
codenib mcp /path/to/repository
|
|
107
177
|
```
|
|
108
178
|
|
|
109
|
-
The MCP server advertises
|
|
110
|
-
|
|
179
|
+
The MCP server advertises `search_context` as its default ranked entry point,
|
|
180
|
+
then exposes the underlying BM25, vector, graph, and navigation operations for
|
|
181
|
+
explicit control. It uses the compiled manifest to decide which calls have a
|
|
182
|
+
fresh backing view. An agent can therefore reuse
|
|
111
183
|
available repository work instead of rebuilding context through unbounded
|
|
112
184
|
`grep` and `read` loops, while unavailable searches fail explicitly. BM25,
|
|
113
185
|
semantic, regex, Zoekt, dependency, and static-navigation results retain source
|
|
@@ -115,15 +187,31 @@ locations for follow-up reads and citations. See
|
|
|
115
187
|
[MCP Server](https://docs.codenib.ai/mcp/)
|
|
116
188
|
for client configuration and tool contracts.
|
|
117
189
|
|
|
190
|
+
The same planner is available directly to Python agents:
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
from codenib.agent import RepositoryContextExplorer
|
|
194
|
+
|
|
195
|
+
with RepositoryContextExplorer.from_repository(
|
|
196
|
+
"/path/to/repository", policy="auto"
|
|
197
|
+
) as explorer:
|
|
198
|
+
result = explorer.explore("where is request retry behavior implemented?", top_k=10)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Each result includes source-validated evidence plus the selected plan,
|
|
202
|
+
capabilities, loaded views, fusion, graph, and reranking trace.
|
|
203
|
+
|
|
118
204
|
## What CodeNib Provides
|
|
119
205
|
|
|
120
206
|
| Surface | Purpose |
|
|
121
207
|
|---|---|
|
|
122
208
|
| Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
|
|
123
209
|
| Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
|
|
124
|
-
| Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths |
|
|
210
|
+
| Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
|
|
125
211
|
| Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
|
|
126
212
|
| MCP and LSP-shaped tools | Serve one manifest to coding agents without tying the runtime to one agent framework |
|
|
213
|
+
| Agent compatibility | Reuse one manifest across revision-pinned [LocAgent](https://github.com/gersteinlab/LocAgent), [Agentless](https://github.com/OpenAutoCoder/Agentless), [CoSIL](https://github.com/ZhonghaoJiang/CoSIL), and [OrcaLoca](https://github.com/fishmingyu/OrcaLoca) contracts; see the [support matrix](https://docs.codenib.ai/agent_integrations/) |
|
|
214
|
+
| Benchmark compatibility | Evaluate native exploration against pinned external datasets and scorers, including [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench); see the [dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) |
|
|
127
215
|
| Local inspection | Audit the same context through Wiki pages, Ask answers, citations, and the Dependency Map |
|
|
128
216
|
| Evaluation harness | Measure retrieval, navigation, incremental maintenance, and context policies on the same artifacts |
|
|
129
217
|
|
|
@@ -134,7 +222,11 @@ records chunking, graph, incremental, and C++ decoder support.
|
|
|
134
222
|
## Documentation
|
|
135
223
|
|
|
136
224
|
- [Quickstart](https://docs.codenib.ai/quickstart/)
|
|
225
|
+
- [GitHub Pages](https://docs.codenib.ai/github_pages/)
|
|
137
226
|
- [MCP Server](https://docs.codenib.ai/mcp/)
|
|
227
|
+
- [Agent Integrations](https://docs.codenib.ai/agent_integrations/)
|
|
228
|
+
- [RAG Models and Planner](https://docs.codenib.ai/rag_ops/)
|
|
229
|
+
- [Benchmarks and Evaluation](https://docs.codenib.ai/evaluation/)
|
|
138
230
|
- [Web UI](https://docs.codenib.ai/web_demo/)
|
|
139
231
|
- [Language Capabilities](https://docs.codenib.ai/language_capabilities/)
|
|
140
232
|
- [Concepts and development guides](https://docs.codenib.ai/)
|
|
@@ -142,7 +234,7 @@ records chunking, graph, incremental, and C++ decoder support.
|
|
|
142
234
|
Build the documentation site locally with:
|
|
143
235
|
|
|
144
236
|
```bash
|
|
145
|
-
pip install "
|
|
237
|
+
python -m pip install -e ".[dev]"
|
|
146
238
|
mkdocs serve
|
|
147
239
|
```
|
|
148
240
|
|