asicode 0.2.6__py3-none-any.whl
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.
- asi.py +9644 -0
- asicode-0.2.6.dist-info/METADATA +208 -0
- asicode-0.2.6.dist-info/RECORD +340 -0
- asicode-0.2.6.dist-info/WHEEL +5 -0
- asicode-0.2.6.dist-info/entry_points.txt +2 -0
- asicode-0.2.6.dist-info/licenses/LICENSE +21 -0
- asicode-0.2.6.dist-info/top_level.txt +11 -0
- common.py +86 -0
- config.py +162 -0
- context_collector.py +388 -0
- diff_apply.py +1549 -0
- external_llm/__init__.py +53 -0
- external_llm/agent/__init__.py +1 -0
- external_llm/agent/_shared_utils.py +1713 -0
- external_llm/agent/_thread_pool.py +13 -0
- external_llm/agent/_user_intent.py +233 -0
- external_llm/agent/agent_context_manager.py +532 -0
- external_llm/agent/agent_escalation_pipeline.py +161 -0
- external_llm/agent/agent_fast_path.py +63 -0
- external_llm/agent/agent_loop.py +3567 -0
- external_llm/agent/agent_loop_types.py +207 -0
- external_llm/agent/agent_phase_manager.py +352 -0
- external_llm/agent/agent_planner_pipeline.py +1756 -0
- external_llm/agent/agent_profile.py +200 -0
- external_llm/agent/agent_turn_pipeline.py +2592 -0
- external_llm/agent/alignment_scorer.py +333 -0
- external_llm/agent/anchor_shared.py +310 -0
- external_llm/agent/argument_repairer.py +119 -0
- external_llm/agent/ast_cache.py +148 -0
- external_llm/agent/ast_engine.py +1060 -0
- external_llm/agent/async_tool_executor.py +182 -0
- external_llm/agent/auto_correction.py +2268 -0
- external_llm/agent/background_job_manager.py +571 -0
- external_llm/agent/call_graph.py +516 -0
- external_llm/agent/checkpoint_store.py +472 -0
- external_llm/agent/config/__init__.py +0 -0
- external_llm/agent/config/thresholds.py +409 -0
- external_llm/agent/context_budget.py +593 -0
- external_llm/agent/context_contract.py +231 -0
- external_llm/agent/context_manager.py +1301 -0
- external_llm/agent/context_utils.py +29 -0
- external_llm/agent/design_chat_loop.py +2510 -0
- external_llm/agent/enums.py +48 -0
- external_llm/agent/execution_mode_classifier.py +323 -0
- external_llm/agent/execution_spec.py +355 -0
- external_llm/agent/execution_thresholds.py +281 -0
- external_llm/agent/failure_classifier.py +160 -0
- external_llm/agent/failure_context.py +409 -0
- external_llm/agent/failure_pattern_store.py +911 -0
- external_llm/agent/file_cache.py +144 -0
- external_llm/agent/fix_spec_claim_validator.py +747 -0
- external_llm/agent/gsg_safety.py +114 -0
- external_llm/agent/guard_ir.py +985 -0
- external_llm/agent/handoff_observer.py +327 -0
- external_llm/agent/insights_manager.py +1124 -0
- external_llm/agent/intent_models.py +250 -0
- external_llm/agent/intent_resolver.py +861 -0
- external_llm/agent/interrupt_tool_results.py +95 -0
- external_llm/agent/json_repair.py +283 -0
- external_llm/agent/language_backend.py +612 -0
- external_llm/agent/language_hint.py +51 -0
- external_llm/agent/learned_policy.py +826 -0
- external_llm/agent/light_repo_index.py +231 -0
- external_llm/agent/lint_runner.py +397 -0
- external_llm/agent/llm_output_utils.py +52 -0
- external_llm/agent/local_assistant.py +804 -0
- external_llm/agent/message_shapes.py +89 -0
- external_llm/agent/metadata_utils.py +14 -0
- external_llm/agent/operation_models.py +2707 -0
- external_llm/agent/orchestrator.py +5109 -0
- external_llm/agent/output_normalizer.py +415 -0
- external_llm/agent/performance_metrics.py +452 -0
- external_llm/agent/placement_contract.py +2765 -0
- external_llm/agent/plan_state.py +136 -0
- external_llm/agent/planner_lane_facade.py +67 -0
- external_llm/agent/rag_configs.py +168 -0
- external_llm/agent/rag_searcher.py +693 -0
- external_llm/agent/reasoning_utils.py +62 -0
- external_llm/agent/repair_helpers.py +475 -0
- external_llm/agent/request_intent_classifier.py +95 -0
- external_llm/agent/routing_policy.py +157 -0
- external_llm/agent/run_store.py +2356 -0
- external_llm/agent/scanner_registry.py +610 -0
- external_llm/agent/selector_constants.py +26 -0
- external_llm/agent/semantic_intent.py +163 -0
- external_llm/agent/semantic_lint.py +94 -0
- external_llm/agent/session_state.py +80 -0
- external_llm/agent/slash_commands.py +90 -0
- external_llm/agent/subagent_ipc.py +1222 -0
- external_llm/agent/symbol_engine.py +592 -0
- external_llm/agent/symbol_index.py +380 -0
- external_llm/agent/symbol_locator.py +117 -0
- external_llm/agent/symbol_modify_tool.py +1258 -0
- external_llm/agent/symbol_search.py +1881 -0
- external_llm/agent/task_router.py +751 -0
- external_llm/agent/terminal_coordination.py +43 -0
- external_llm/agent/termination_policy.py +284 -0
- external_llm/agent/test_impact_selector.py +411 -0
- external_llm/agent/test_runner.py +450 -0
- external_llm/agent/tool_chain.py +36 -0
- external_llm/agent/tool_dependency_graph.py +169 -0
- external_llm/agent/tool_failure_log.py +497 -0
- external_llm/agent/tool_handlers/__init__.py +25 -0
- external_llm/agent/tool_handlers/agent_tools.py +289 -0
- external_llm/agent/tool_handlers/analysis_tools.py +1343 -0
- external_llm/agent/tool_handlers/ast_op_executor.py +1233 -0
- external_llm/agent/tool_handlers/browser_tools.py +325 -0
- external_llm/agent/tool_handlers/constants.py +10 -0
- external_llm/agent/tool_handlers/git_tools.py +1031 -0
- external_llm/agent/tool_handlers/read_tools.py +530 -0
- external_llm/agent/tool_handlers/shell_policy.py +17 -0
- external_llm/agent/tool_handlers/test_tools.py +228 -0
- external_llm/agent/tool_handlers/web_search_tools.py +769 -0
- external_llm/agent/tool_handlers/write_tools.py +6213 -0
- external_llm/agent/tool_registry.py +2268 -0
- external_llm/agent/tool_result_cache.py +178 -0
- external_llm/agent/tool_safety.py +956 -0
- external_llm/agent/tool_schemas.py +1176 -0
- external_llm/agent/vector_cache.py +614 -0
- external_llm/agent/weight_learning.py +2929 -0
- external_llm/agent/work_state_digest.py +157 -0
- external_llm/analysis/__init__.py +0 -0
- external_llm/analysis/_dead_block_shared.py +848 -0
- external_llm/analysis/ast_similarity_scanner.py +1128 -0
- external_llm/analysis/broken_contract_scanner.py +591 -0
- external_llm/analysis/container_reachability_scanner.py +792 -0
- external_llm/analysis/contradictory_logic_scanner.py +693 -0
- external_llm/analysis/cross_file_refs.py +430 -0
- external_llm/analysis/dead_block_scanner.py +97 -0
- external_llm/analysis/duplicate_definition_scanner.py +353 -0
- external_llm/analysis/parse_cache.py +110 -0
- external_llm/analysis/public_dead_code_scanner.py +106 -0
- external_llm/analysis/unused_import_scanner.py +385 -0
- external_llm/analysis/vulture_scanner.py +445 -0
- external_llm/anthropic_client.py +1235 -0
- external_llm/ast_rewrite.py +322 -0
- external_llm/client.py +485 -0
- external_llm/code_analyzer.py +302 -0
- external_llm/code_structure_utils.py +1554 -0
- external_llm/common/__init__.py +0 -0
- external_llm/common/atomic_io.py +240 -0
- external_llm/common/file_lock.py +134 -0
- external_llm/common/indent_utils.py +839 -0
- external_llm/context/context_packs.py +60 -0
- external_llm/context_builder.py +411 -0
- external_llm/dependency_graph.py +303 -0
- external_llm/design_session.py +629 -0
- external_llm/edit_localization/__init__.py +26 -0
- external_llm/edit_localization/dataflow_extractor.py +472 -0
- external_llm/edit_localization/graph_propagator.py +241 -0
- external_llm/edit_localization/relevance_scorer.py +310 -0
- external_llm/edit_localization/request_analyzer.py +89 -0
- external_llm/editor/_editor_core/__init__.py +0 -0
- external_llm/editor/_editor_core/common/__init__.py +0 -0
- external_llm/editor/_editor_core/common/import_normalizer.py +376 -0
- external_llm/editor/_editor_core/ts_vm/__init__.py +0 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/__init__.py +0 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/ast_rewriter.py +118 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/models.py +27 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/rollback_manager.py +41 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/verifier.py +212 -0
- external_llm/editor/_editor_core/ts_vm/execution_vm/vm.py +193 -0
- external_llm/editor/_editor_core/ts_vm/learning/__init__.py +0 -0
- external_llm/editor/_editor_core/ts_vm/learning/exploration_policy.py +43 -0
- external_llm/editor/_editor_core/ts_vm/primitives/__init__.py +0 -0
- external_llm/editor/_editor_core/ts_vm/primitives/executor.py +66 -0
- external_llm/editor/_editor_core/ts_vm/primitives/models.py +21 -0
- external_llm/editor/_editor_core/ts_vm/repair/__init__.py +0 -0
- external_llm/editor/_editor_core/ts_vm/repair/failure_classifier.py +88 -0
- external_llm/editor/_editor_core/ts_vm/repair/repair_planner.py +94 -0
- external_llm/editor/_editor_core/ts_vm/repair/repair_registry.py +42 -0
- external_llm/editor/_editor_core/ts_vm/repair/repair_strategies.py +113 -0
- external_llm/editor/_editor_core/vm/__init__.py +36 -0
- external_llm/editor/_editor_core/vm/ast_rewriter.py +99 -0
- external_llm/editor/_editor_core/vm/classification.py +70 -0
- external_llm/editor/_editor_core/vm/contracts/__init__.py +3 -0
- external_llm/editor/_editor_core/vm/contracts/contract_diff.py +225 -0
- external_llm/editor/_editor_core/vm/contracts/contract_extractor.py +271 -0
- external_llm/editor/_editor_core/vm/contracts/contract_models.py +93 -0
- external_llm/editor/_editor_core/vm/contracts/project_graph.py +201 -0
- external_llm/editor/_editor_core/vm/contracts/propagation_planner.py +237 -0
- external_llm/editor/_editor_core/vm/failure_classifier.py +390 -0
- external_llm/editor/_editor_core/vm/models.py +28 -0
- external_llm/editor/_editor_core/vm/repair_planner.py +91 -0
- external_llm/editor/_editor_core/vm/repair_registry.py +34 -0
- external_llm/editor/_editor_core/vm/repair_strategies.py +1049 -0
- external_llm/editor/_editor_core/vm/rollback_manager.py +40 -0
- external_llm/editor/_editor_core/vm/verifier.py +381 -0
- external_llm/editor/_editor_core/vm/vm.py +326 -0
- external_llm/editor/agent/autonomous/__init__.py +45 -0
- external_llm/editor/agent/autonomous/proactive_runner.py +386 -0
- external_llm/editor/agent/autonomous/push_manager.py +299 -0
- external_llm/editor/agent/autonomous/task_queue.py +225 -0
- external_llm/editor/agent/autonomous/trigger_engine.py +175 -0
- external_llm/editor/agent/autonomous/trigger_policy.py +294 -0
- external_llm/editor/agent/mcp/__init__.py +13 -0
- external_llm/editor/agent/mcp/server.py +175 -0
- external_llm/editor/agent/prompts/__init__.py +2 -0
- external_llm/editor/agent/prompts/edit_prompts.py +299 -0
- external_llm/editor/cross_language/__init__.py +4 -0
- external_llm/editor/cross_language/models.py +79 -0
- external_llm/editor/cross_language/strategy_abstraction.py +204 -0
- external_llm/editor/cross_language/transfer_engine.py +170 -0
- external_llm/editor/learning/__init__.py +1 -0
- external_llm/editor/learning/experience_store.py +343 -0
- external_llm/editor/learning/exploration_state.py +124 -0
- external_llm/editor/learning/learning_sink.py +131 -0
- external_llm/editor/learning/pattern_extractor.py +158 -0
- external_llm/editor/learning/primitive_learning_models.py +125 -0
- external_llm/editor/learning/primitive_learning_scorer.py +145 -0
- external_llm/editor/learning/primitive_learning_store.py +142 -0
- external_llm/editor/learning/primitive_learning_updater.py +128 -0
- external_llm/editor/learning/primitive_sequence_models.py +58 -0
- external_llm/editor/learning/primitive_sequence_scorer.py +117 -0
- external_llm/editor/learning/primitive_sequence_store.py +115 -0
- external_llm/editor/learning/primitive_sequence_updater.py +74 -0
- external_llm/editor/learning/problem_signature.py +161 -0
- external_llm/editor/learning/strategy_execution_bias.py +345 -0
- external_llm/editor/learning/strategy_prioritizer.py +245 -0
- external_llm/editor/learning/strategy_state.py +128 -0
- external_llm/editor/learning/unified_run_record.py +118 -0
- external_llm/editor/learning/unified_store.py +566 -0
- external_llm/editor/primitives/__init__.py +2 -0
- external_llm/editor/primitives/code_context.py +660 -0
- external_llm/editor/primitives/delete_node.py +41 -0
- external_llm/editor/primitives/executor.py +106 -0
- external_llm/editor/primitives/insert_import.py +90 -0
- external_llm/editor/primitives/insert_statement.py +77 -0
- external_llm/editor/primitives/models.py +87 -0
- external_llm/editor/primitives/registry.py +49 -0
- external_llm/editor/primitives/rename_symbol.py +91 -0
- external_llm/editor/primitives/replace_function.py +260 -0
- external_llm/editor/primitives/update_call.py +76 -0
- external_llm/editor/semantic/__init__.py +1 -0
- external_llm/editor/semantic/ast_transform_utils.py +450 -0
- external_llm/editor/semantic/contract_replan_strategy.py +98 -0
- external_llm/editor/semantic/draft_parser.py +206 -0
- external_llm/editor/semantic/flow_synthesizer.py +165 -0
- external_llm/editor/semantic/fragment_generator.py +21 -0
- external_llm/editor/semantic/fragment_integrator.py +163 -0
- external_llm/editor/semantic/generation_planner.py +19 -0
- external_llm/editor/semantic/libcst_transform_utils.py +254 -0
- external_llm/editor/semantic/output_comparator.py +90 -0
- external_llm/editor/semantic/primitive_code_templates.py +307 -0
- external_llm/editor/semantic/primitive_detector.py +402 -0
- external_llm/editor/semantic/primitive_ir_builder.py +109 -0
- external_llm/editor/semantic/primitive_models.py +108 -0
- external_llm/editor/semantic/primitive_reconstructor.py +264 -0
- external_llm/editor/semantic/primitive_registry.py +328 -0
- external_llm/editor/semantic/semantic_contract_evaluator.py +321 -0
- external_llm/editor/semantic/semantic_contract_models.py +124 -0
- external_llm/editor/semantic/semantic_contract_registry.py +134 -0
- external_llm/editor/semantic/semantic_contracts.py +72 -0
- external_llm/editor/semantic/semantic_corrector.py +75 -0
- external_llm/editor/semantic/semantic_gap_analyzer.py +194 -0
- external_llm/editor/semantic/semantic_rewrite_models.py +62 -0
- external_llm/editor/semantic/semantic_rewrite_planner.py +252 -0
- external_llm/editor/semantic/semantic_rewriter.py +304 -0
- external_llm/editor/semantic/semantic_tracer.py +427 -0
- external_llm/editor/semantic/synthesis_planner.py +99 -0
- external_llm/editor/semantic/ts_ir_models.py +414 -0
- external_llm/editor/semantic/ts_semantic_models.py +112 -0
- external_llm/editor/semantic/ts_semantic_tracer.py +1302 -0
- external_llm/editor/simulator/dependency_traversal.py +172 -0
- external_llm/editor/simulator/impact_models.py +42 -0
- external_llm/editor/simulator/impact_simulator.py +187 -0
- external_llm/editor/simulator/risk_estimator.py +71 -0
- external_llm/editor/verification/__init__.py +7 -0
- external_llm/editor/verification/code_integrity.py +406 -0
- external_llm/editor/verification/impact_propagation.py +401 -0
- external_llm/editor/verification/impact_verification_mapper.py +148 -0
- external_llm/editor/verification/verification_set_builder.py +329 -0
- external_llm/graph/composite_risk.py +226 -0
- external_llm/graph/execution_graph_advisor.py +636 -0
- external_llm/graph/graph_builder.py +31 -0
- external_llm/graph/graph_facade.py +198 -0
- external_llm/graph/models.py +113 -0
- external_llm/graph/repository_graph.py +1061 -0
- external_llm/graph/run_scoped_graph_cache.py +283 -0
- external_llm/graph/spec_graph_enricher.py +855 -0
- external_llm/graph/virtual_graph.py +429 -0
- external_llm/hybrid_parser.py +215 -0
- external_llm/image_utils.py +147 -0
- external_llm/intelligent_service.py +2147 -0
- external_llm/languages/__init__.py +24 -0
- external_llm/languages/base.py +450 -0
- external_llm/languages/bash_provider.py +94 -0
- external_llm/languages/capabilities.py +129 -0
- external_llm/languages/csharp_provider.py +111 -0
- external_llm/languages/css_provider.py +178 -0
- external_llm/languages/dependency_checker.py +753 -0
- external_llm/languages/go_provider.py +452 -0
- external_llm/languages/html_provider.py +136 -0
- external_llm/languages/java_provider.py +485 -0
- external_llm/languages/javascript_provider.py +334 -0
- external_llm/languages/json_provider.py +113 -0
- external_llm/languages/kotlin_provider.py +462 -0
- external_llm/languages/libcst_utils.py +699 -0
- external_llm/languages/models.py +195 -0
- external_llm/languages/php_provider.py +90 -0
- external_llm/languages/python_provider.py +390 -0
- external_llm/languages/registry.py +128 -0
- external_llm/languages/ruby_provider.py +90 -0
- external_llm/languages/rust_provider.py +89 -0
- external_llm/languages/swift_provider.py +95 -0
- external_llm/languages/syntax_validator.py +357 -0
- external_llm/languages/tree_sitter_utils.py +2140 -0
- external_llm/languages/typescript_provider.py +694 -0
- external_llm/model_registry.py +153 -0
- external_llm/multi_planner.py +744 -0
- external_llm/ollama_api.py +126 -0
- external_llm/openai_client.py +1281 -0
- external_llm/output_modes.py +29 -0
- external_llm/output_parser.py +760 -0
- external_llm/patch_engine.py +2482 -0
- external_llm/patch_synthesizer.py +251 -0
- external_llm/project_analyzer.py +1386 -0
- external_llm/providers.py +2112 -0
- external_llm/repl/collaborate/__init__.py +46 -0
- external_llm/repl/collaborate/asi_mcp_adapter.py +550 -0
- external_llm/repl/collaborate/claude_session.py +484 -0
- external_llm/repl/collaborate/cli.py +257 -0
- external_llm/repl/collaborate/collaboration_orchestrator.py +422 -0
- external_llm/repl/collaborate/streaming_display.py +667 -0
- external_llm/repl/collaborate/verdict.py +145 -0
- external_llm/semantic_patch.py +190 -0
- external_llm/service.py +1690 -0
- external_llm/smart_analyzer.py +466 -0
- external_llm/super_context_builder.py +644 -0
- external_llm/testing/__init__.py +0 -0
- external_llm/testing/symbol_aware_test_finder.py +377 -0
- external_llm/testing/test_dependency_graph.py +380 -0
- patch_synth.py +1587 -0
- path_security.py +143 -0
- plan_compiler.py +1058 -0
- services/__init__.py +0 -0
- services/patch_helpers.py +151 -0
- utils/__init__.py +1 -0
- utils/llm_utils.py +22 -0
- utils/string_helper.py +274 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: asicode
|
|
3
|
+
Version: 0.2.6
|
|
4
|
+
Summary: Autonomous Software Improvement — AST-precise code editing agent with verification gates (CLI + MCP server)
|
|
5
|
+
Author-email: socialherb <junddory@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/socialherb/asicode
|
|
8
|
+
Project-URL: Repository, https://github.com/socialherb/asicode
|
|
9
|
+
Project-URL: Issues, https://github.com/socialherb/asicode/issues
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Operating System :: MacOS
|
|
14
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: pydantic>=2.0
|
|
27
|
+
Requires-Dist: requests>=2.31
|
|
28
|
+
Requires-Dist: rich>=13.7
|
|
29
|
+
Requires-Dist: libcst>=1.4
|
|
30
|
+
Requires-Dist: prompt-toolkit>=3.0
|
|
31
|
+
Requires-Dist: httpx>=0.27
|
|
32
|
+
Requires-Dist: ruff>=0.6
|
|
33
|
+
Requires-Dist: tree-sitter-language-pack>=1.10
|
|
34
|
+
Requires-Dist: networkx>=3.0
|
|
35
|
+
Requires-Dist: packaging>=21
|
|
36
|
+
Provides-Extra: webapp
|
|
37
|
+
Requires-Dist: fastapi>=0.110; extra == "webapp"
|
|
38
|
+
Requires-Dist: uvicorn>=0.27; extra == "webapp"
|
|
39
|
+
Requires-Dist: jinja2>=3.1; extra == "webapp"
|
|
40
|
+
Provides-Extra: vulture
|
|
41
|
+
Requires-Dist: vulture>=2.11; extra == "vulture"
|
|
42
|
+
Provides-Extra: collaborate
|
|
43
|
+
Requires-Dist: claude-agent-sdk>=0.2; extra == "collaborate"
|
|
44
|
+
Provides-Extra: rag
|
|
45
|
+
Requires-Dist: sentence-transformers>=3.0; extra == "rag"
|
|
46
|
+
Requires-Dist: faiss-cpu>=1.8; extra == "rag"
|
|
47
|
+
Requires-Dist: numpy>=1.24; extra == "rag"
|
|
48
|
+
Provides-Extra: vision
|
|
49
|
+
Requires-Dist: Pillow>=10.0; extra == "vision"
|
|
50
|
+
Requires-Dist: pytesseract>=0.3; extra == "vision"
|
|
51
|
+
Provides-Extra: browser
|
|
52
|
+
Requires-Dist: playwright>=1.40; extra == "browser"
|
|
53
|
+
Provides-Extra: config
|
|
54
|
+
Requires-Dist: pyyaml>=6.0; extra == "config"
|
|
55
|
+
Provides-Extra: dev
|
|
56
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
57
|
+
Requires-Dist: pytest-xdist>=3.6; extra == "dev"
|
|
58
|
+
Requires-Dist: pre-commit>=4.0; extra == "dev"
|
|
59
|
+
Provides-Extra: lint
|
|
60
|
+
Requires-Dist: mypy>=1.10; extra == "lint"
|
|
61
|
+
Requires-Dist: pyright[nodejs]>=1.1; extra == "lint"
|
|
62
|
+
Provides-Extra: search
|
|
63
|
+
Requires-Dist: ripgrep>=15.0; extra == "search"
|
|
64
|
+
Provides-Extra: all
|
|
65
|
+
Requires-Dist: asicode[vulture]; extra == "all"
|
|
66
|
+
Requires-Dist: asicode[collaborate]; extra == "all"
|
|
67
|
+
Requires-Dist: asicode[rag]; extra == "all"
|
|
68
|
+
Requires-Dist: asicode[vision]; extra == "all"
|
|
69
|
+
Requires-Dist: asicode[browser]; extra == "all"
|
|
70
|
+
Requires-Dist: asicode[config]; extra == "all"
|
|
71
|
+
Requires-Dist: asicode[lint]; extra == "all"
|
|
72
|
+
Requires-Dist: asicode[search]; extra == "all"
|
|
73
|
+
Dynamic: license-file
|
|
74
|
+
|
|
75
|
+
# asicode
|
|
76
|
+
|
|
77
|
+
**Autonomous Software Improvement** — local safe patch runner and code editing tool: an AI-powered assistant for reading, analyzing, and modifying codebases with deterministic AST-level operations, transparent shell execution, and multi-language support.
|
|
78
|
+
|
|
79
|
+
## Features
|
|
80
|
+
|
|
81
|
+
- **Multi-language code editing**: Python, TypeScript, JavaScript, Go, Java, Kotlin, Rust, and more via tree-sitter AST parsing
|
|
82
|
+
- **AST-precise modifications**: Edit symbols by name, insert/delete lines by anchor, apply typed AST operations (Python)
|
|
83
|
+
- **Vector search & RAG**: Semantic code search with FAISS + sentence-transformers embedding
|
|
84
|
+
- **Structural analysis**: Dead code detection, duplicate finding, unused import scanning, contradictory logic detection
|
|
85
|
+
- **Interactive CLI**: Rich terminal interface with prompt-toolkit, command history, completion, and multi-line editing
|
|
86
|
+
- **Headless & automation modes**: single-shot runs (`asi -p`), JSON/NDJSON output, and multi-agent orchestration (`--orchestrate`)
|
|
87
|
+
- **Design chat**: Persistent conversation session with auto-compression and insight management
|
|
88
|
+
- **Shell shim layer**: macOS/Linux compatibility layer for BSD-style command-line tools
|
|
89
|
+
|
|
90
|
+
## Quick Start
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Recommended for CLI use: pipx installs into an isolated env and puts
|
|
94
|
+
# `asi` on your PATH, no venv activation needed
|
|
95
|
+
pipx install 'asicode @ git+https://github.com/socialherb/asicode.git'
|
|
96
|
+
|
|
97
|
+
# Or plain pip (inside a venv of your choice):
|
|
98
|
+
pip install git+https://github.com/socialherb/asicode.git
|
|
99
|
+
|
|
100
|
+
# Or with all features:
|
|
101
|
+
pip install 'asicode[all] @ git+https://github.com/socialherb/asicode.git'
|
|
102
|
+
|
|
103
|
+
# Start the interactive CLI
|
|
104
|
+
asi
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Installation Options
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Core (includes tree-sitter AST parsing — one package covers 300+ languages)
|
|
111
|
+
pip install asicode
|
|
112
|
+
|
|
113
|
+
# With RAG (vector search for code)
|
|
114
|
+
pip install 'asicode[rag]'
|
|
115
|
+
|
|
116
|
+
# With browser automation
|
|
117
|
+
pip install 'asicode[browser]'
|
|
118
|
+
|
|
119
|
+
# Development tools
|
|
120
|
+
pip install 'asicode[dev,lint]'
|
|
121
|
+
|
|
122
|
+
# Everything
|
|
123
|
+
pip install 'asicode[all]'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Architecture
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
asicode/
|
|
130
|
+
├── asi.py # Interactive CLI (REPL)
|
|
131
|
+
├── external_llm/ # Core engine
|
|
132
|
+
│ ├── agent/ # Agent loop, tool handlers, verification
|
|
133
|
+
│ ├── languages/ # Multi-language providers (Python, TS, Go, etc.)
|
|
134
|
+
│ ├── editor/ # Code editing (AST, anchor, text, patch)
|
|
135
|
+
│ └── repl/ # Design chat session management
|
|
136
|
+
├── scripts/ # Lint/reachability guards (CI)
|
|
137
|
+
└── tests/ # Test suite (unit + integration)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Key Concepts
|
|
141
|
+
|
|
142
|
+
### Agent Tool Loop
|
|
143
|
+
Every request runs through a single LLM tool-use loop: the model reads,
|
|
144
|
+
searches, and edits the repository through typed tools, and each write is
|
|
145
|
+
followed by verification. Headless mode (`asi -p`) and orchestration mode
|
|
146
|
+
(`--orchestrate`, which decomposes a request and dispatches it to parallel
|
|
147
|
+
sub-agent workers) drive the same loop.
|
|
148
|
+
|
|
149
|
+
### Deterministic Editing
|
|
150
|
+
All code modifications are validated through multiple layers:
|
|
151
|
+
- Syntax validation (AST parse gate)
|
|
152
|
+
- Structural analysis (dependency graph, import consistency)
|
|
153
|
+
- Verification loop (edit → verify → repair if needed)
|
|
154
|
+
|
|
155
|
+
## Requirements
|
|
156
|
+
|
|
157
|
+
### Python
|
|
158
|
+
- Python 3.10+
|
|
159
|
+
- macOS or Linux (BSD shim layer for macOS)
|
|
160
|
+
|
|
161
|
+
### Bundled with the install
|
|
162
|
+
- **`ruff`** — the linter used for post-edit verification (F821 undefined-name checks). It is a
|
|
163
|
+
core dependency, so `pip install asicode` installs it automatically. No separate step needed.
|
|
164
|
+
- **tree-sitter** — powers AST-based symbol/call/import detection for precise multi-language
|
|
165
|
+
editing. The core install ships `tree-sitter-language-pack` (~2 MB) — a single package with
|
|
166
|
+
full prebuilt-wheel platform coverage that covers every supported language out of the box
|
|
167
|
+
(it also pulls in the `tree-sitter` core library automatically).
|
|
168
|
+
|
|
169
|
+
### Recommended system tools
|
|
170
|
+
asicode degrades gracefully when these are missing, but installing them improves results:
|
|
171
|
+
|
|
172
|
+
| Tool | Used for | Required when | Behavior if absent |
|
|
173
|
+
|------|----------|---------------|--------------------|
|
|
174
|
+
| `git` | Version control, diff/apply, change-impact analysis | Almost always | Core features expect git |
|
|
175
|
+
| `ripgrep` (`rg`) | Fast code search (`grep` tool) | Recommended | Falls back to system `grep` |
|
|
176
|
+
| `node` | TypeScript/JavaScript editing & validation | Only when editing JS/TS | JS/TS features disabled |
|
|
177
|
+
| `gofmt` / `golangci-lint` | Go formatting & linting | Only when editing Go | Go linting disabled |
|
|
178
|
+
| `docker` | Sandboxed web search (SearXNG) | Only for isolated web search | Web search disabled |
|
|
179
|
+
|
|
180
|
+
Install `git` and `ripgrep` on macOS:
|
|
181
|
+
```bash
|
|
182
|
+
brew install git ripgrep
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
`ripgrep` can also be installed via the optional `search` extra (`pip install asicode` is unaffected if it fails — the `grep` fallback applies):
|
|
186
|
+
```bash
|
|
187
|
+
pip install 'asicode[search]'
|
|
188
|
+
```
|
|
189
|
+
> Prebuilt wheels exist for macOS-arm64 and linux-x86_64; other platforms build from source.
|
|
190
|
+
|
|
191
|
+
## Development
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Clone and install in editable mode
|
|
195
|
+
git clone <repo-url>
|
|
196
|
+
cd asicode
|
|
197
|
+
pip install -e '.[dev,lint,rag]'
|
|
198
|
+
|
|
199
|
+
# Run tests
|
|
200
|
+
pytest
|
|
201
|
+
|
|
202
|
+
# Run linting
|
|
203
|
+
ruff check
|
|
204
|
+
ruff format --check
|
|
205
|
+
|
|
206
|
+
# Run type checking
|
|
207
|
+
pyright
|
|
208
|
+
```
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
asi.py,sha256=n8r4_4czvH5Z5wQVVblbfnlreDyBPHwenGTM0OhLYEo,472860
|
|
2
|
+
common.py,sha256=wKt5bFQxlWPQZDlz4dNIqRJc_5j8jWxIB3WSo69GNQA,3031
|
|
3
|
+
config.py,sha256=z58zWJkIoqs7nC89A32URpeb5ZUPzIM7ackQvrKTMrM,7550
|
|
4
|
+
context_collector.py,sha256=hx7LqdMbasdCw9HRHdICCxhUNYcnYLxdLxSc6iht2VU,12583
|
|
5
|
+
diff_apply.py,sha256=Xsyka3Sn-lrL5iAIGYZ-WACGfU0wwB9gJLh1TealNck,65143
|
|
6
|
+
patch_synth.py,sha256=vf_skAY44Ezwf2utk5Y-rEBq4LvjgAw_alvf46BXouA,53750
|
|
7
|
+
path_security.py,sha256=E8hlZohO8pgr3upXnFknI_ZvxO1RJiQWFGCrhtMVx2Y,4917
|
|
8
|
+
plan_compiler.py,sha256=QoYfzx72fC8l84NbCb-WfFNNT54pVgqsFzZGuQ8bOSI,43129
|
|
9
|
+
asicode-0.2.6.dist-info/licenses/LICENSE,sha256=NCILgVMmhNstKYmeY-tzFJoI_BwIS2dA0VY_s49XEYA,1082
|
|
10
|
+
external_llm/__init__.py,sha256=2sf1daqLFIihMY9_6ciF9HI5vY-M6CmEhtp_CismhwM,2353
|
|
11
|
+
external_llm/anthropic_client.py,sha256=YhZ9cOZPIes9WT3TrY5mqx668B-F5Ctm2Mk8WkYSYHE,54708
|
|
12
|
+
external_llm/ast_rewrite.py,sha256=ZVzeFmJi_yV3zd3mWBBmFMXnGiacQnUHa4NABGcNQeQ,9243
|
|
13
|
+
external_llm/client.py,sha256=rtMyanB88TSQ9XmkYvFvLLCzeE8WhTFV1EjTOu892AI,18191
|
|
14
|
+
external_llm/code_analyzer.py,sha256=gKPXjFYiEmFapCwPvFjLlHUhJE10yAsAYjUmJHlH8sI,9423
|
|
15
|
+
external_llm/code_structure_utils.py,sha256=o-ciliq6Hcc_ujQjMHgRvGuXdDFUijjEtbpj0s6XzqQ,67929
|
|
16
|
+
external_llm/context_builder.py,sha256=em7dAgRwntbr7SJgLHSazRsslU4rw5EdDJZxkLyOhL0,15135
|
|
17
|
+
external_llm/dependency_graph.py,sha256=F2wPPllEZ0N1QcluZVkm1MhcD8DGOxOsfKLa1b_kZQY,10015
|
|
18
|
+
external_llm/design_session.py,sha256=DuGGO-FQeGJ4rNAc-A0mV1YCLsoLiJ8-X62oZm4X7gY,29182
|
|
19
|
+
external_llm/hybrid_parser.py,sha256=Ab7zxq07pe3_3ZUdMYsu1_q1gI4HlWbXVeTQ9HKBOEo,7038
|
|
20
|
+
external_llm/image_utils.py,sha256=QALe-FEDC9ZXoRXhJyEOFnGNq21HUvRNZO2aRWmMpyo,5717
|
|
21
|
+
external_llm/intelligent_service.py,sha256=7L4zsJ2Zm2zZj6tdaZFnUC-jAjsNqpNSicwW2dLP-Mk,92459
|
|
22
|
+
external_llm/model_registry.py,sha256=oJYLYUzseWLkQ-fW5N_N-I_5iPc_OYlOmKkXS0yHJGA,7501
|
|
23
|
+
external_llm/multi_planner.py,sha256=qiY2RJY_9rN1OYTgfdVk3j2gGFgy9s4Vqn8Gkl3hzzU,26979
|
|
24
|
+
external_llm/ollama_api.py,sha256=W7JvX65SVVeMHuGPf0_DzLF07QkMdqWyti27r2gptco,5203
|
|
25
|
+
external_llm/openai_client.py,sha256=ZC8Mgh7gvqNRMZFDgMf6Lp5C6ScHhcFVeJPW1U8KkU0,53330
|
|
26
|
+
external_llm/output_modes.py,sha256=0VmVi-PrHa7O9GO5nd0GVxj6nBa_UHr8Ox10mxW4Avw,830
|
|
27
|
+
external_llm/output_parser.py,sha256=7UscRp35C6XQKws-o_6ZTMBsQxqgFohkDEd5sQpQWE8,27288
|
|
28
|
+
external_llm/patch_engine.py,sha256=8dx77rOMmnupoYa6jCQEL05QfgW8pjWxsGe42-7eb_U,108605
|
|
29
|
+
external_llm/patch_synthesizer.py,sha256=RHdv3ZGwc5gouHLRxKcVE4L7gA82WZVwrJjt1I286_8,9158
|
|
30
|
+
external_llm/project_analyzer.py,sha256=d86Z9D5Y2Tikcb-f8v-b8ZEyRLmeJGC8Zg0i0kTkWzM,58584
|
|
31
|
+
external_llm/providers.py,sha256=Cw-BBzj9YA_2O5ZU3Ey8kjYso8RnqwajnJRSxhBnYwo,87071
|
|
32
|
+
external_llm/semantic_patch.py,sha256=KDPrjcbznHl_m743ZNp-WqaCLUQHI8JPnw0IxvJ4c5Y,5173
|
|
33
|
+
external_llm/service.py,sha256=r7dhaVzB0EQmq9_Xft8z2hJqaL2VSobmEsAWNLmjBuM,71347
|
|
34
|
+
external_llm/smart_analyzer.py,sha256=SViCMZ8FvXVvSu6iWZvONtR6sVQLTDSGSaVLF5gR7_8,18441
|
|
35
|
+
external_llm/super_context_builder.py,sha256=JVmEZPIFvWC-riDMee8i5Mh5UqNgQakwLwQWk9Lx_5o,23127
|
|
36
|
+
external_llm/agent/__init__.py,sha256=v8w2HHiPIhXXVGAhzpGFFlxbb7G0HlSRhxhaRPE__jA,30
|
|
37
|
+
external_llm/agent/_shared_utils.py,sha256=sSzStsfwd4WVVHSha_x_znqCN80xyoD8CNaTDeZ4gpM,74833
|
|
38
|
+
external_llm/agent/_thread_pool.py,sha256=jElrItcgKVfyfAp7iFcYa54zXTDUGzc_oezNhnm-VeY,689
|
|
39
|
+
external_llm/agent/_user_intent.py,sha256=D_ZOXyqz1kwOd4RVxNFLoijGdZz-sMscfllM_D7bCJ4,10299
|
|
40
|
+
external_llm/agent/agent_context_manager.py,sha256=cRZiKt1kDnMog97IBwHHDY5Tw66HBGHvtyklIqiyvKU,26210
|
|
41
|
+
external_llm/agent/agent_escalation_pipeline.py,sha256=MAH_C4D3YlZ8-AuXf0zj5FigTyTxefpl0asszkVBqro,7917
|
|
42
|
+
external_llm/agent/agent_fast_path.py,sha256=8lrp7BbLs7ZeuS0QzdACQe2-P_3qE0R0DUDrgFsYwvc,2338
|
|
43
|
+
external_llm/agent/agent_loop.py,sha256=rQNGmBZ5NcJY00u4BI4mbqNbC3tutUHl11MHB3Ev1AM,173900
|
|
44
|
+
external_llm/agent/agent_loop_types.py,sha256=IivquK-ylk9_iCwi584aVNZEEOmSTtbSPSsib1XzkVw,6217
|
|
45
|
+
external_llm/agent/agent_phase_manager.py,sha256=wlK1LrndijkoY2o24_B1mzgjJyF9or7Ambo0L4oXvRo,14791
|
|
46
|
+
external_llm/agent/agent_planner_pipeline.py,sha256=fVITmrbxkLJaqVpGRp0OnCsOtMS6SfT_iVQ3o5x0uh4,91225
|
|
47
|
+
external_llm/agent/agent_profile.py,sha256=ciZ6Ljnq1WOBqsm5Y3yuaI6Qq-P_x2ncfDfhudFPzKE,7329
|
|
48
|
+
external_llm/agent/agent_turn_pipeline.py,sha256=7TfUM6gOiQQjgnjv2xhqKnuuygXM55LR_yuR0OplAGc,126187
|
|
49
|
+
external_llm/agent/alignment_scorer.py,sha256=yP0HYhhpsajbVwa-79Ii1T-89aGyjnBxoQ42taqO1Oo,14214
|
|
50
|
+
external_llm/agent/anchor_shared.py,sha256=TXFBR0gZDZ2eSAla9X1K7_Q6zTQF3CRFfsXBn2Gn4hg,12859
|
|
51
|
+
external_llm/agent/argument_repairer.py,sha256=32_WX-4UHDl0dRZIcZ_GbMunsqWLmpfyJTkwpmNMS1E,4472
|
|
52
|
+
external_llm/agent/ast_cache.py,sha256=RHiOPhYhuSySZbee4XrCBHWQdzvfeGI79X-ptqwLids,5414
|
|
53
|
+
external_llm/agent/ast_engine.py,sha256=xIk0fAOOUDhJuvVDjgRBO-11Up2WDVCzKKcv_AzaKDg,40726
|
|
54
|
+
external_llm/agent/async_tool_executor.py,sha256=USwVcMUx882BZljIvAImwRTavMaQozhQERRuBvU7B3Y,6602
|
|
55
|
+
external_llm/agent/auto_correction.py,sha256=JbOo6SYMQvqyzdLCwj69d3wXgPMZ71a-789V7wb-crc,101183
|
|
56
|
+
external_llm/agent/background_job_manager.py,sha256=Go-xjodKyVKOMvYCytBt6hH3cTgUOYLhinM0AtBU3As,23144
|
|
57
|
+
external_llm/agent/call_graph.py,sha256=kyJWovOI3u730xyA4GjoJPlIrPPlbXHh0l07EWOjj0c,20713
|
|
58
|
+
external_llm/agent/checkpoint_store.py,sha256=bgRMgAZolN1M9h9k6yWksZI7F-WQq3pCkSvwvqt-xPQ,20353
|
|
59
|
+
external_llm/agent/context_budget.py,sha256=1iF9cBeTc6oig1FJyWTLikGYd8zD3C8jdFydVGPxq50,28550
|
|
60
|
+
external_llm/agent/context_contract.py,sha256=N_8mrfcNU9TNM8ooC49BFiEMjx9gpmAwDptuRMhb7NI,10315
|
|
61
|
+
external_llm/agent/context_manager.py,sha256=bstEn4bvkfaocNgT63egVBLUuUb0utjSgmYzqIXCXR8,62809
|
|
62
|
+
external_llm/agent/context_utils.py,sha256=30SuM6xoPOo1ftVJukWdb6jmQpwIx5GK9jf20obOnnw,1096
|
|
63
|
+
external_llm/agent/design_chat_loop.py,sha256=4F9Rn06eLV0lXBUKtlNxyAi_tnHFSP-W6-bzJC_q3ZU,125651
|
|
64
|
+
external_llm/agent/enums.py,sha256=fcf6-V6XxEpWYRqurMvkc18_gMjUrklbOCyBzpD_D6M,1084
|
|
65
|
+
external_llm/agent/execution_mode_classifier.py,sha256=3a33rsWTB6Y8Td_Ib32TWwO9eBZjxTWws2FNFthT18A,12936
|
|
66
|
+
external_llm/agent/execution_spec.py,sha256=Bs6P23gVN4pV0gADz4qnsFq1R8K5iZTzIUt7Ych6lx4,16574
|
|
67
|
+
external_llm/agent/execution_thresholds.py,sha256=VpfFdnsLQTTZgvkJooEqLkWcxjYO8curcmAiDVsJ2t4,16177
|
|
68
|
+
external_llm/agent/failure_classifier.py,sha256=ei2ffbAdyiXFLVFZObJzhai9QR318B043ZqAPVxF8N8,6655
|
|
69
|
+
external_llm/agent/failure_context.py,sha256=x4WdAFiaU5-FUUbZH2kYPgWszba0PoBKbcYNmGair9c,14672
|
|
70
|
+
external_llm/agent/failure_pattern_store.py,sha256=y3aImP_ujj1faAv04gbqlnGi1ssmg3Cz2rXLOAb1Hm8,42884
|
|
71
|
+
external_llm/agent/file_cache.py,sha256=GmKADvEz6Jb7e32myfdADtONjwJxzJCXo6dvF0_85no,5515
|
|
72
|
+
external_llm/agent/fix_spec_claim_validator.py,sha256=P0-qSSmPO63gqBAZi7g83gY8Vyl8wBBwlV0ymjVzlbU,29220
|
|
73
|
+
external_llm/agent/gsg_safety.py,sha256=O8kGWqfNQyYGUM17tYQvSrQiOncVQyrlUo66AHC7dbc,4147
|
|
74
|
+
external_llm/agent/guard_ir.py,sha256=0jVDfNelIsAijZZrPVAVb2rTaIV8cTrRcQJi2n4OpPI,38755
|
|
75
|
+
external_llm/agent/handoff_observer.py,sha256=u-d8ASIwuGcb4-wQdHxx4qNUx0dRYJ4pOqwLx9gLMzE,11147
|
|
76
|
+
external_llm/agent/insights_manager.py,sha256=2tcdjLkkFjYECj_1HSlc8BJmooHJ69WVwHPlzGGN7j4,53204
|
|
77
|
+
external_llm/agent/intent_models.py,sha256=lEzNLGnGYFbMIf8CbECYDNwy76BnDq8QoAp1qmtdaZk,10349
|
|
78
|
+
external_llm/agent/intent_resolver.py,sha256=59V1HII0etODQGeD6ldM-FqCbkREebcKb0FJtwo-3lo,41553
|
|
79
|
+
external_llm/agent/interrupt_tool_results.py,sha256=5n0thmhv0xwT2DMYdJl_aLgZrEJcqC80cZbIzQfJjY4,3467
|
|
80
|
+
external_llm/agent/json_repair.py,sha256=v9MdWcf9vplvhQo0Y0lFKs6cM0E7N2zYLkXI0-f5I8M,9535
|
|
81
|
+
external_llm/agent/language_backend.py,sha256=84EKcuQP_tOEMKD_b4CWzWiaODOT86GHUr6Ix9hchSI,23504
|
|
82
|
+
external_llm/agent/language_hint.py,sha256=IJocPrYVdiLlBTo3Iuv0LpoJm7sDnWWj0xNlfUw5FaA,2015
|
|
83
|
+
external_llm/agent/learned_policy.py,sha256=UmXOpHYfuB48EdRhXFn0TTkq8mkw8Fx0H3vQ6B6CSTo,32049
|
|
84
|
+
external_llm/agent/light_repo_index.py,sha256=P6mZzUCjkIb0pRuBkDJxK7w59neMzYIbmjGvPRmdAWc,9674
|
|
85
|
+
external_llm/agent/lint_runner.py,sha256=PKiN-4GWEoPiDODDxhaOf39oacbyaFXiZ_eV0dXIlTo,15513
|
|
86
|
+
external_llm/agent/llm_output_utils.py,sha256=l261KQBv9E1AzxIpRLA1knPkeOJRf6ByhahsulPhI0A,1949
|
|
87
|
+
external_llm/agent/local_assistant.py,sha256=d1-erpitfCmb4C7vUMgXnu9vG2ryxwoikQiNUm5xQWI,32051
|
|
88
|
+
external_llm/agent/message_shapes.py,sha256=PkXhOJ8YxBYu6kCAeEn_15vc5azQcLYP31C9Y91kI6A,3204
|
|
89
|
+
external_llm/agent/metadata_utils.py,sha256=mupw_AM0jedy91idFlQoCn5SE7rEg8lw4DFChVCoUAU,360
|
|
90
|
+
external_llm/agent/operation_models.py,sha256=Z-9LgnCv02Eu4sYn51PNvECWQSlBYLht4jkIp0vwheA,132213
|
|
91
|
+
external_llm/agent/orchestrator.py,sha256=GgK_bjF-jh17iD3jQNrKBrdSRWGyyBZprMqv4iE-Mdo,257552
|
|
92
|
+
external_llm/agent/output_normalizer.py,sha256=nyGWf8ZmqZ7iobfaAVCJ6zyv7izI8Vul0Co4YmmKIgw,16227
|
|
93
|
+
external_llm/agent/performance_metrics.py,sha256=csq81zjtsjoskXUAMWuzgWavZ-HNBtHTJBOjBRkRk_I,18979
|
|
94
|
+
external_llm/agent/placement_contract.py,sha256=nJEOfRtVzNNoZZ3n0v08pFuRvNGblmqg2j46HvuOxK4,118525
|
|
95
|
+
external_llm/agent/plan_state.py,sha256=Gp_MqeLDkhry3LkYhc0RSzU7kB_fWbhJ3IKVZQj48Mo,5035
|
|
96
|
+
external_llm/agent/planner_lane_facade.py,sha256=PEjtmFQXZVTLs0ypDIefZIZ-SdEaWzWdYjDc8TspHvc,2974
|
|
97
|
+
external_llm/agent/rag_configs.py,sha256=K7oe_2O-Y1YJWUEWit9_Kwar1zdpL4tlilYff45YXJs,6439
|
|
98
|
+
external_llm/agent/rag_searcher.py,sha256=yIkTEClxVqP_5nTZYZmx5deW1dPikPG7P83kPm3PbXU,31186
|
|
99
|
+
external_llm/agent/reasoning_utils.py,sha256=QN0ks5MwtswprQlOqVth1QwiYrWLVIpK52S6KBN96E4,2409
|
|
100
|
+
external_llm/agent/repair_helpers.py,sha256=-7LDoRqmGtKea2pV9rkT1pYyt69zDk4OXl71un_ikmk,19329
|
|
101
|
+
external_llm/agent/request_intent_classifier.py,sha256=ObZyozvsKKym6xrK-51500fVkthBlUjQUX8lWN1riJ8,4314
|
|
102
|
+
external_llm/agent/routing_policy.py,sha256=YxakPOVKRWDOVFVvhqZTqNylAZkrQrEQRC7ou0I--OM,5104
|
|
103
|
+
external_llm/agent/run_store.py,sha256=ROJ30Cu1A_VAhCxnhjjCj6e0xOkynyNvirRAyqUY_gk,108768
|
|
104
|
+
external_llm/agent/scanner_registry.py,sha256=WRozIPKOP5uHvucbmKSsUHDnZBwmeJXsUgLKMp6oSVU,25589
|
|
105
|
+
external_llm/agent/selector_constants.py,sha256=wW66OqVbjKDAahovajMf__fAfnty0png36_sF6cQQ04,1390
|
|
106
|
+
external_llm/agent/semantic_intent.py,sha256=Qw9cQapypCOQ2HoQUxFNoqDFmIFFnTOOpDZ-Pc2r6Is,7087
|
|
107
|
+
external_llm/agent/semantic_lint.py,sha256=m4nqX_Eq41qdmjw1PR2YpZRtpAkL2kIcWr1Av_DACHQ,2748
|
|
108
|
+
external_llm/agent/session_state.py,sha256=WGbX9Z6dBEhgayEcZ7EIm0ki9uFfgEJah2RzpxNuJvQ,3051
|
|
109
|
+
external_llm/agent/slash_commands.py,sha256=sJ5RE9AHYAi53wLlVgWrHVtHkhVTQScO-53BYnlJC6M,3105
|
|
110
|
+
external_llm/agent/subagent_ipc.py,sha256=Cy4aCfydWSG2mXkOcKM-QcmhJbzKhF7eQl25gVn3NlQ,59434
|
|
111
|
+
external_llm/agent/symbol_engine.py,sha256=gUIopE8JTp8RhXRRePWlG67Fo2joqy9o7DgDu7tgJ7s,23904
|
|
112
|
+
external_llm/agent/symbol_index.py,sha256=lSQJUd4pfCnjgwun2HrpTMvQnAaUoDqWm2V9YhHkrBA,16232
|
|
113
|
+
external_llm/agent/symbol_locator.py,sha256=KxghAlSdj7hkTjHRY9SVncbFnMOCaIaMMAaW0F2KbyA,4471
|
|
114
|
+
external_llm/agent/symbol_modify_tool.py,sha256=GbDOj438DpmEqPbpsU4irPZS3NEmcs1t4L8zOUERuOI,54350
|
|
115
|
+
external_llm/agent/symbol_search.py,sha256=e2V0M1-1ApBpidnm7uG4c1xACi5IkNBU5be06DTj-os,86622
|
|
116
|
+
external_llm/agent/task_router.py,sha256=EAmOxG2K2S7AQUtrrYf39jLf-P_smyvOzwdqGK1yhUE,31123
|
|
117
|
+
external_llm/agent/terminal_coordination.py,sha256=-93HqxXFwSKJhgAWObuub3iYHGpvJDz2hTsYiMtQBXo,1822
|
|
118
|
+
external_llm/agent/termination_policy.py,sha256=yqRefW6i3QdyQbJ2V_q2Pbrqo-WOQvJurBClfCl0yvQ,12122
|
|
119
|
+
external_llm/agent/test_impact_selector.py,sha256=W5I0sJUG0hzDIPAjzSKMvzg797MVXfW0LBPunLBrgxg,18311
|
|
120
|
+
external_llm/agent/test_runner.py,sha256=fuRMZTZx4kcWnSgfYLWFPbmc5yGaxhSn8Bmq14ZOISY,16892
|
|
121
|
+
external_llm/agent/tool_chain.py,sha256=qch_APbAi9IeR_St83PCknvDZoyniC0_r3XOE2bhUw4,1233
|
|
122
|
+
external_llm/agent/tool_dependency_graph.py,sha256=4kBmZy3GvmKl-cwZ2YJnu9qyGMaN7jivUyrNRpjGaRY,6712
|
|
123
|
+
external_llm/agent/tool_failure_log.py,sha256=y1k_D8dIErp9BsNSpp_qENPZSH8QPnfnSGqC29Onztk,22686
|
|
124
|
+
external_llm/agent/tool_registry.py,sha256=cxvupk_7yw-1nJeV2wLzTJ4Hjwr3jn9ANc9LZyDmDNY,109839
|
|
125
|
+
external_llm/agent/tool_result_cache.py,sha256=0L85eqEkrMn7Bser3mpZENlJLEUiRJzCvBztJiKQWC0,7030
|
|
126
|
+
external_llm/agent/tool_safety.py,sha256=13drCF1qHWNoqIcC37zJhc3OsGNvFQxNBkSNl9G1y6Y,45235
|
|
127
|
+
external_llm/agent/tool_schemas.py,sha256=9xzVEF5E2MsuULA9pz7kHoO-Vq8d3rniHQcPXiwOEts,58594
|
|
128
|
+
external_llm/agent/vector_cache.py,sha256=wl4b5VruBGSqHyeNlihzt0URTVPZDZ1b9ZiW7qFakqM,27527
|
|
129
|
+
external_llm/agent/weight_learning.py,sha256=n6oHfHA6qmxmJtxVeqpaBaTBE4h67eenkKn_IJJsB08,130135
|
|
130
|
+
external_llm/agent/work_state_digest.py,sha256=rs8mEHgv7CoVdyOuA297sOvrZXIgTnQ433kov8NGN1c,6031
|
|
131
|
+
external_llm/agent/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
|
+
external_llm/agent/config/thresholds.py,sha256=FWsAZrIuy9_-UA6I1vfjyfhZLMsM8958I4EUsIM3AGY,21532
|
|
133
|
+
external_llm/agent/tool_handlers/__init__.py,sha256=57hGfj2UVKJIt5IIPz4iEsnO6Cux5-WlNrUsMiYQKUE,738
|
|
134
|
+
external_llm/agent/tool_handlers/agent_tools.py,sha256=HDCtqEYqr3Qc9ToV-F4fpA-FpiSIxK5WIHyUx63Dp5Q,12352
|
|
135
|
+
external_llm/agent/tool_handlers/analysis_tools.py,sha256=S1EnCNbpUv0WnEmTfErEOIi8W-u0b8_kvoXedCgDC9Q,63098
|
|
136
|
+
external_llm/agent/tool_handlers/ast_op_executor.py,sha256=4nmHL-dJBB9PxkVLNH4M_phaxfjbZyJlsaObp3mtjOU,54344
|
|
137
|
+
external_llm/agent/tool_handlers/browser_tools.py,sha256=VZ9pJaMRZlv9F8U6HYePYFfPIYGj9cOFAbYiaPQa-ek,13632
|
|
138
|
+
external_llm/agent/tool_handlers/constants.py,sha256=75gIKQstE_XXY9qhtWV3A2mE6mCQAW0HPIfsne72jGw,452
|
|
139
|
+
external_llm/agent/tool_handlers/git_tools.py,sha256=bLLtEZ81hK9EEsyM0vB7GV1aSFvrx89eG1A7qcxriCM,49538
|
|
140
|
+
external_llm/agent/tool_handlers/read_tools.py,sha256=MjZeWhX-fhcjNtnbapgMuFCzOLR_15h0z39ykutYGE0,25089
|
|
141
|
+
external_llm/agent/tool_handlers/shell_policy.py,sha256=3-KemnXrPBOVKP_j1JpddDjEFeC8zHSl7clBMjh31eE,646
|
|
142
|
+
external_llm/agent/tool_handlers/test_tools.py,sha256=3NOqT0ADoVzYi596KupBw3PEPFaLXZetJ7teInWNhac,10820
|
|
143
|
+
external_llm/agent/tool_handlers/web_search_tools.py,sha256=6HX0f-0cbdQ2k70zTb2e_kWldQLlZgaKzQRiNLVFFdk,33415
|
|
144
|
+
external_llm/agent/tool_handlers/write_tools.py,sha256=xQVsPXDxMla2R-5YTlb7f89X_SmF3TgAGnEaNH7Ny60,304971
|
|
145
|
+
external_llm/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
external_llm/analysis/_dead_block_shared.py,sha256=ssL4RaPE8PqCNDwjaSGGX4z8otZf-6KGuhBj3c6FpZA,35643
|
|
147
|
+
external_llm/analysis/ast_similarity_scanner.py,sha256=XR_PdeSclPTMJfh7Z6z5Nr1oHNp9dsejytlx0af4qno,51019
|
|
148
|
+
external_llm/analysis/broken_contract_scanner.py,sha256=U3hFAJkU_rchZ2TzD3MaHosRFVUqyMTIZgh3E2wbt6s,22916
|
|
149
|
+
external_llm/analysis/container_reachability_scanner.py,sha256=kNz1UMCly5Rveld1Hb-UMAGbDSLWKLzexEZgazRTWxA,32020
|
|
150
|
+
external_llm/analysis/contradictory_logic_scanner.py,sha256=pDylbPbLjBDttpspa8RHKHxK4N5faOAd_pnnfS9rvv4,30931
|
|
151
|
+
external_llm/analysis/cross_file_refs.py,sha256=PoMcYby8TjTfzj3dvL3De68XIIgD2AHzY70_kHKZNQg,20125
|
|
152
|
+
external_llm/analysis/dead_block_scanner.py,sha256=XM-aZqjWO1yAiM3Lcz9BfkFMs2tbosZqjJzvk22ZXfI,4119
|
|
153
|
+
external_llm/analysis/duplicate_definition_scanner.py,sha256=iHMkYXA05GKxXnAEKvGRcs_HfptL8lu-gE_E1B-P5aI,15397
|
|
154
|
+
external_llm/analysis/parse_cache.py,sha256=LstWczomgCe49j5XNdlm6mafGymv8WmTjSdDrp3EAtA,3999
|
|
155
|
+
external_llm/analysis/public_dead_code_scanner.py,sha256=ftZjAJqjXAV2eWW_rLNqRtVCKrtcCNsMfhQ1MtykYUU,4101
|
|
156
|
+
external_llm/analysis/unused_import_scanner.py,sha256=8mhNxILw1Jv4SziyCSrMriVhtPtcXzIVhkIDePznLNQ,16270
|
|
157
|
+
external_llm/analysis/vulture_scanner.py,sha256=08bnooizeqE5Zt54l4yXCaN9APLloC5u9nPXimvTf3E,18528
|
|
158
|
+
external_llm/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
+
external_llm/common/atomic_io.py,sha256=XaOejza2rCGefwqBVZQpvsulD7byGHkrw9DllAI51yE,9747
|
|
160
|
+
external_llm/common/file_lock.py,sha256=QLJjZYv9RnmIqxPL8Ls3HzcSrlu8h0trU10A_6xXcJ8,4932
|
|
161
|
+
external_llm/common/indent_utils.py,sha256=tgfKER7iWPwFHv1499YBNrdeA52Bhdva5ORrguTQx9A,40315
|
|
162
|
+
external_llm/context/context_packs.py,sha256=X9C1lM3jBtByqwgqaPNiLDnVuAAQHUXkG7b9IRO3afA,1703
|
|
163
|
+
external_llm/edit_localization/__init__.py,sha256=zzd6dUYr1xIRivQyjFj1iul-zrmFmpLTbkonPTK7bYg,833
|
|
164
|
+
external_llm/edit_localization/dataflow_extractor.py,sha256=y80n-hTuMa2EKSc8nX9afYEhEhFOQDufqyCeCb105P8,17372
|
|
165
|
+
external_llm/edit_localization/graph_propagator.py,sha256=XM4F6fmZv07o8kuNmT2U2l71fNcwDSMdPviBsBFTs0U,8652
|
|
166
|
+
external_llm/edit_localization/relevance_scorer.py,sha256=jQxGZ0SHes2M4qLn6YrQfRhaHemsbYNMPQ4NcocuDqc,10827
|
|
167
|
+
external_llm/edit_localization/request_analyzer.py,sha256=H3kz5huLErc7XNPyaPqvwxk51jjE3iq6dp3uU2Cu1Qw,3034
|
|
168
|
+
external_llm/editor/_editor_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
169
|
+
external_llm/editor/_editor_core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
+
external_llm/editor/_editor_core/common/import_normalizer.py,sha256=FQb35w507s-LyjkLGF_3fnCHibwjheNwk14bGZcc4XU,15433
|
|
171
|
+
external_llm/editor/_editor_core/ts_vm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/ast_rewriter.py,sha256=-rm50Vrsl3dJuMej9cr_JmoPKsYoUur66zMr4hyhjds,4245
|
|
174
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/models.py,sha256=Q2h1yQL0PBwp0I9qprZxo61-q8-wGtNjxgfyEjusccU,716
|
|
175
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/rollback_manager.py,sha256=_GsBgEw-XaljfruCo282G9Kksqrp014xGbXC8qDHnkk,1242
|
|
176
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/verifier.py,sha256=coyRsYJ5uce6JgdVMiFxHMT6ZUFuTC1Xy3mnO43JZuM,8198
|
|
177
|
+
external_llm/editor/_editor_core/ts_vm/execution_vm/vm.py,sha256=4CMVJEAJ_Tk3CBu6J1ZbEqSoyzYHAWD4JR3GzasMEhg,7208
|
|
178
|
+
external_llm/editor/_editor_core/ts_vm/learning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
|
+
external_llm/editor/_editor_core/ts_vm/learning/exploration_policy.py,sha256=fxIA2L6G3iZ0fAPswXGWZwZtxZwdhVA3VEtwbgsrRMg,1299
|
|
180
|
+
external_llm/editor/_editor_core/ts_vm/primitives/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
|
+
external_llm/editor/_editor_core/ts_vm/primitives/executor.py,sha256=HuS8qRV0oUkHqfHlZRYdYMBCvZo7oEOat0eos8urZew,2414
|
|
182
|
+
external_llm/editor/_editor_core/ts_vm/primitives/models.py,sha256=gp6qWOA-928L_ADJKJkgwb2dz49w-IAJSp2W-xOi2Gw,852
|
|
183
|
+
external_llm/editor/_editor_core/ts_vm/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
+
external_llm/editor/_editor_core/ts_vm/repair/failure_classifier.py,sha256=dcrvErm-WWwxbtXiQ7XGgeE4g1aYktfz1yxSukfd6mA,4067
|
|
185
|
+
external_llm/editor/_editor_core/ts_vm/repair/repair_planner.py,sha256=lMbahBpKvwr9NBABbJDZfFDMmzC9GrJwSPs-DcmQrUs,2933
|
|
186
|
+
external_llm/editor/_editor_core/ts_vm/repair/repair_registry.py,sha256=qOGDavQ39ni1fXAGWocAUvMh7wQ8fnZ4JaOZoWbbYNk,1633
|
|
187
|
+
external_llm/editor/_editor_core/ts_vm/repair/repair_strategies.py,sha256=f-G_CTJwSkEsxjT1hqpHVlKnBh9yEF7VjTx3laTKBiI,5175
|
|
188
|
+
external_llm/editor/_editor_core/vm/__init__.py,sha256=47BjAMqtwvMbXj9-PpKiyNXBvOWiybBtuW9JA7nueCo,1215
|
|
189
|
+
external_llm/editor/_editor_core/vm/ast_rewriter.py,sha256=12lOs8iYbw00IZA3A6xcuC6cgnyQh1mYTYIynygjA8k,3344
|
|
190
|
+
external_llm/editor/_editor_core/vm/classification.py,sha256=9U9sIEC06ExTlovAK_ycocrMTHSnEIUFjfi35s4hZWs,2726
|
|
191
|
+
external_llm/editor/_editor_core/vm/failure_classifier.py,sha256=_QXNQ2fWIvkkGKcUA0bYHzZdTfjeblVPkPXl4XmbFHQ,16680
|
|
192
|
+
external_llm/editor/_editor_core/vm/models.py,sha256=Sy-GnU-j6p1VYjRtKCETJSZUSSUH42_IyaKUZnm1-is,816
|
|
193
|
+
external_llm/editor/_editor_core/vm/repair_planner.py,sha256=3kern04v9EPGA1muVZ5Bm7MB_w5NLsmOmlQhLZ8keuA,2863
|
|
194
|
+
external_llm/editor/_editor_core/vm/repair_registry.py,sha256=OHSoJkrwYQiF6iqlJDI4tBhus2Wd7QVQTBjkc4dgFhE,1442
|
|
195
|
+
external_llm/editor/_editor_core/vm/repair_strategies.py,sha256=iz84hWQmTufGJpY__MRgUUPMii-XUODaUhJ12ZCgAvc,40603
|
|
196
|
+
external_llm/editor/_editor_core/vm/rollback_manager.py,sha256=JuXZH2xXd9OctoI_YCZCVxRCHTzv9SAsnxHiwG4xaVM,1239
|
|
197
|
+
external_llm/editor/_editor_core/vm/verifier.py,sha256=5TocQv8rTcEM8awqjYENIBVfNf9mIrNfJIBeX8PIn-A,14675
|
|
198
|
+
external_llm/editor/_editor_core/vm/vm.py,sha256=DZmeRVPRZ3SkSzkqA5jhAOm_CYprmMh3d2jEKZC2ZkM,12057
|
|
199
|
+
external_llm/editor/_editor_core/vm/contracts/__init__.py,sha256=Bq1H2hU8CLGSybm25wvBHWXZ6e9CeiU-4FnixVVcNFM,132
|
|
200
|
+
external_llm/editor/_editor_core/vm/contracts/contract_diff.py,sha256=9fAeTnz0pstfut9QYfqWeJ867k7WPBullz-j4euIC2Q,8090
|
|
201
|
+
external_llm/editor/_editor_core/vm/contracts/contract_extractor.py,sha256=157ICTcQhQyP1QTnq-rMxhYVFCyoJKANYmah8Zhd2rg,9457
|
|
202
|
+
external_llm/editor/_editor_core/vm/contracts/contract_models.py,sha256=1lX3qFJoQ2HBz0n4Bnf59mLbWSmO4Pj6JORquqaR3Lk,2416
|
|
203
|
+
external_llm/editor/_editor_core/vm/contracts/project_graph.py,sha256=eetDe8hVoQ8IAClHAbe2JsedevuTvyvEENg9nh7-iXA,7401
|
|
204
|
+
external_llm/editor/_editor_core/vm/contracts/propagation_planner.py,sha256=_gwBxq6zbO-rZOorQ3igde8-TAuFjZj0BqBJrLfXZCs,8140
|
|
205
|
+
external_llm/editor/agent/autonomous/__init__.py,sha256=UpN6hse-nMbE5wg6aoIHCAO2BkJDLfaYd1uxNZZKC4c,1652
|
|
206
|
+
external_llm/editor/agent/autonomous/proactive_runner.py,sha256=FtX2ye3JOKXWufJ6jMW_00dgpHK8eyTFy8Aa9pLMhbs,16289
|
|
207
|
+
external_llm/editor/agent/autonomous/push_manager.py,sha256=bgeJgWCV1P9U1wwebJVHXAl5VwBeY01IVdSlJtgYlBM,12767
|
|
208
|
+
external_llm/editor/agent/autonomous/task_queue.py,sha256=mInmB4wVntrEeNppwl_pKVM7EBauBVk4kQIL8HKwDPE,10394
|
|
209
|
+
external_llm/editor/agent/autonomous/trigger_engine.py,sha256=9aY_W5MXWLykEYJQfmARjfRrVG4OT5WeSteXX_MuETY,7303
|
|
210
|
+
external_llm/editor/agent/autonomous/trigger_policy.py,sha256=2zGtVcqIiBX5JFkhhhJrmsqQp0DLQB38To9diQvDSvE,13649
|
|
211
|
+
external_llm/editor/agent/mcp/__init__.py,sha256=Zjt7wKrLRcqxzoZsgdB3QUv0EG_2sJ59o7n0ujsoPig,419
|
|
212
|
+
external_llm/editor/agent/mcp/server.py,sha256=QmFJ7QKNm587Kg__eAofP3qJ5HBY8e-A9iHUfqffXps,5750
|
|
213
|
+
external_llm/editor/agent/prompts/__init__.py,sha256=cO_m6r54zQIUPWOfWlWKki8O5jFp9-tcK5Z8mww26Rg,119
|
|
214
|
+
external_llm/editor/agent/prompts/edit_prompts.py,sha256=DChrr_I1SdVBkaHERS7PZj57DaHh6e-chkx0AA6oDmA,11851
|
|
215
|
+
external_llm/editor/cross_language/__init__.py,sha256=Vb0aWGD0EG20Cfc_F18HIdm1XBpp6f6YoAYZ7LWuhR8,124
|
|
216
|
+
external_llm/editor/cross_language/models.py,sha256=0ilcapFobkH-gm4KMVaF-afnKLvS4r9cdLYLYt0J5JY,2582
|
|
217
|
+
external_llm/editor/cross_language/strategy_abstraction.py,sha256=kwfHnvS6eOt24h3oLLzxOFd0zIjsw1kPL2OiqcIc_0U,7934
|
|
218
|
+
external_llm/editor/cross_language/transfer_engine.py,sha256=01wyKrjZf6R0cYxQ3OZufgqvIiZxy2QCZRSOabIG72Y,6086
|
|
219
|
+
external_llm/editor/learning/__init__.py,sha256=CMCN3Df4pFHP91r7KHS76JDb3OVrEfbXvm4bCUU5Yi8,46
|
|
220
|
+
external_llm/editor/learning/experience_store.py,sha256=Eb5aWCUeztfJ2q1yNzB4Z4XO8CL_LTlTXLrRb3sdCvQ,14485
|
|
221
|
+
external_llm/editor/learning/exploration_state.py,sha256=6Lt40hnAq_qVMvnVCa6Qgx-mFerXM9viP8Wlxgk-LYw,4410
|
|
222
|
+
external_llm/editor/learning/learning_sink.py,sha256=WScps1WRFo141NRrbuO053mkymIVsUQSqqrCehb8vO0,4779
|
|
223
|
+
external_llm/editor/learning/pattern_extractor.py,sha256=ZDE3cDMWpQsmRNYvNn7fWWf0ojNll0rtiDOcR5SMOmc,6061
|
|
224
|
+
external_llm/editor/learning/primitive_learning_models.py,sha256=CzoMkj7Lx515Sx2yPyE9yrnpp5KvGMXlwHu9tAbTaBQ,5133
|
|
225
|
+
external_llm/editor/learning/primitive_learning_scorer.py,sha256=JGGhnAs_Zw34fAu1nWUbgYP9U7zAgXn1Qw96dnXk7AQ,4222
|
|
226
|
+
external_llm/editor/learning/primitive_learning_store.py,sha256=GQbD4s3UTlrPC8XHQLxs_8cJnM_P6Q-oBK1eTB7avDg,5281
|
|
227
|
+
external_llm/editor/learning/primitive_learning_updater.py,sha256=EVhpqwi2hJphRsAfHLnvcZ7UewYpPkd2xxlLKziTXgM,4525
|
|
228
|
+
external_llm/editor/learning/primitive_sequence_models.py,sha256=91NBfBtVdEARY_MHdyqgMYTvhkksIVlDNKsrnsraUT0,1775
|
|
229
|
+
external_llm/editor/learning/primitive_sequence_scorer.py,sha256=fjkKD98OJLuLrkdGBIIEeTArJ2pI_UQOeGDZFMIun9Q,3714
|
|
230
|
+
external_llm/editor/learning/primitive_sequence_store.py,sha256=O76vzqk8E-ceT6QwxrZ2gZ6aj6C54ThagRP7lxtbclA,4389
|
|
231
|
+
external_llm/editor/learning/primitive_sequence_updater.py,sha256=bDlXH0Y6aquU4RjUr9wjXd8uX8XHp1L8OeSXs0E0eJg,2047
|
|
232
|
+
external_llm/editor/learning/problem_signature.py,sha256=jPQe_U3TDQJTHcFpSDc7i7wXjpJqwBjz3kx-bGtw2w4,5787
|
|
233
|
+
external_llm/editor/learning/strategy_execution_bias.py,sha256=URZ5ASav6Dt6O76bV36USIHhmuaiD8NGJVTRH_a8fhQ,13207
|
|
234
|
+
external_llm/editor/learning/strategy_prioritizer.py,sha256=wpDCPnUHjSewYF_CHvk94sLpbk-QLzM8Xqq7-E0ae88,10099
|
|
235
|
+
external_llm/editor/learning/strategy_state.py,sha256=VM1MuAeEJVmvAsgD5EdSBfpeV_NynV_wZW1r4lJzdPU,4754
|
|
236
|
+
external_llm/editor/learning/unified_run_record.py,sha256=1SxuV2FkdvtiLRxqKkBzyORZCkZbfKcOYYKJF2Vr-TI,4446
|
|
237
|
+
external_llm/editor/learning/unified_store.py,sha256=h-L3G8XeJfWlavq7HKqyDSJdsW3RCVg6C_pnh6nFXpk,22434
|
|
238
|
+
external_llm/editor/primitives/__init__.py,sha256=oZww4XCgsY15U7sMTt4f9ArnlnhYIP3zsFuINREQMx4,111
|
|
239
|
+
external_llm/editor/primitives/code_context.py,sha256=9EjYGOgOWywJPlsTgQkW4gz8tDMERUAVJNGJBM3bm_4,27219
|
|
240
|
+
external_llm/editor/primitives/delete_node.py,sha256=ggN7TnxWyRO9wKQYDuDrWahWysBCb_I_ommkEvuoQH8,1230
|
|
241
|
+
external_llm/editor/primitives/executor.py,sha256=RFgkAi_S1dnZNdlrNILJMuKwUyUYvBlimTG4LlrsbKM,3733
|
|
242
|
+
external_llm/editor/primitives/insert_import.py,sha256=pjLSqJpfQzis7s1AVzRCoGgQkVa_eRZv2S8eSqzZxKE,3035
|
|
243
|
+
external_llm/editor/primitives/insert_statement.py,sha256=w30nrkyAPmi-06_6J4OOawK-JJriZqoTech2fEYXO8U,2749
|
|
244
|
+
external_llm/editor/primitives/models.py,sha256=sKijKAkQBevrQ1s60yB7l3mXJcQtKQmgZuitCzwScW8,2410
|
|
245
|
+
external_llm/editor/primitives/registry.py,sha256=MvBMNOXZaTAN7i1BmxNLLrA8Q45Ylq26QTMVgoRHjMk,1638
|
|
246
|
+
external_llm/editor/primitives/rename_symbol.py,sha256=PLU7mVH_6k4Ud8nvAM5PYmd7SD9Qrr_jUrhtkQ6U7OA,3415
|
|
247
|
+
external_llm/editor/primitives/replace_function.py,sha256=vzY-9bsQbsWWdmWIQm_HHyquyQZeVuzmY76SJHROqUw,10180
|
|
248
|
+
external_llm/editor/primitives/update_call.py,sha256=stI9bn8_OYQ9iEPHeeV_yH4Vxx2weJ_9yyZdtgzyl9c,2687
|
|
249
|
+
external_llm/editor/semantic/__init__.py,sha256=y_FAEMxyTY05bEo2HV6iR8mKtZmJDl2kPvJfwtVq6CI,62
|
|
250
|
+
external_llm/editor/semantic/ast_transform_utils.py,sha256=Ubgp9B6L5Ij7Zt41G8nVrpL3uexLrEkZ1FjqEn4auDE,15308
|
|
251
|
+
external_llm/editor/semantic/contract_replan_strategy.py,sha256=AaxNCQ5jmEYFgsQBu3pDbbCaB8emNUuAXfq7r1NXKvM,3499
|
|
252
|
+
external_llm/editor/semantic/draft_parser.py,sha256=NbjbRYRhEmcHnajjPIvEf6yFzf_S_0z-kWoWBjhq0ns,7005
|
|
253
|
+
external_llm/editor/semantic/flow_synthesizer.py,sha256=jdzFwOQ8f_J03NQluAde82m4Vol3n3RS4zf6N5VYT4Y,5135
|
|
254
|
+
external_llm/editor/semantic/fragment_generator.py,sha256=3ZtB7h1frKirHdySoedKT4kKY9TXmhKtJTYJX3F4mS4,803
|
|
255
|
+
external_llm/editor/semantic/fragment_integrator.py,sha256=bJnriVv0tG22Ud157rhb-bHskwgZUWmFD5aCIg5g1jI,4701
|
|
256
|
+
external_llm/editor/semantic/generation_planner.py,sha256=hde8E8nzADA9CC4RK6Ufa-tBxREHDeuaacCrergto1Q,783
|
|
257
|
+
external_llm/editor/semantic/libcst_transform_utils.py,sha256=LCMT9dZvdBbka1ye82O0Q5Uu8MtlYkYKt7P2JwYFnlo,9877
|
|
258
|
+
external_llm/editor/semantic/output_comparator.py,sha256=TX6o_2sfXAMDSUgjbL_ub7MxUHyOaw7TwES9BcTJo_g,3094
|
|
259
|
+
external_llm/editor/semantic/primitive_code_templates.py,sha256=wCSb_LQsqcYsWyLkYFm0Djw65bXFaHq-OZWLj8PKOTw,11431
|
|
260
|
+
external_llm/editor/semantic/primitive_detector.py,sha256=uSGI8CoLqdCxJFmyLvKg9qx5IQNnq6iYPU7wT-9etE4,19139
|
|
261
|
+
external_llm/editor/semantic/primitive_ir_builder.py,sha256=tgJGPlmzVwPh8pKUsJeDCtl7Z9hLJymYqvZYEf5zS2o,4720
|
|
262
|
+
external_llm/editor/semantic/primitive_models.py,sha256=C8YNGAuPSDsibOi3mwKRDagBi5278JvvyVqHHNUGfYk,3929
|
|
263
|
+
external_llm/editor/semantic/primitive_reconstructor.py,sha256=L8Az_2zbwl-i4dSVSYqB54i9jvDhS5JLhYBOD1n8nPA,10777
|
|
264
|
+
external_llm/editor/semantic/primitive_registry.py,sha256=Ve5fh1f3ieAtPr8vf1XKbp7WN56ZqlYLaQ0z1vrCVKs,11776
|
|
265
|
+
external_llm/editor/semantic/semantic_contract_evaluator.py,sha256=q8X8k79Y_LdSjHMSyCS9b_dOUvAxJ3SWRtP-qVJBltQ,12665
|
|
266
|
+
external_llm/editor/semantic/semantic_contract_models.py,sha256=trBc2RcjjimmXflC-gcvKEBeCfGUZAZkJGF24mrNC-I,4315
|
|
267
|
+
external_llm/editor/semantic/semantic_contract_registry.py,sha256=Je2MKPV8NM_0RQez8HGGDtsU-a8OEiR96WRXcVL1_KY,4717
|
|
268
|
+
external_llm/editor/semantic/semantic_contracts.py,sha256=Jk46ktqyQZO0xgWK1g41jxgajOZgxro8CmIO5zIY4s0,3646
|
|
269
|
+
external_llm/editor/semantic/semantic_corrector.py,sha256=HZwxH0aTjaunZUXcZTQI1OCZOihqFsweOmBviw21jsc,2506
|
|
270
|
+
external_llm/editor/semantic/semantic_gap_analyzer.py,sha256=WlHlzJQaa4fABji54-ZcFe1niE9r37G5BdHoleWu4f0,6133
|
|
271
|
+
external_llm/editor/semantic/semantic_rewrite_models.py,sha256=QVmLwLqoAjZB40XI-Hs3NW4mEsOAHidfUhgVQ6chZXk,2121
|
|
272
|
+
external_llm/editor/semantic/semantic_rewrite_planner.py,sha256=YJbbndeuFpcx1hXURjcUO9v7TSwGA2jWPPWbUBJ6djY,8722
|
|
273
|
+
external_llm/editor/semantic/semantic_rewriter.py,sha256=dLhUuHlVmXrz2VZlbqcXdGM49aTTHmkR3JhdEa4v-Yg,10806
|
|
274
|
+
external_llm/editor/semantic/semantic_tracer.py,sha256=Y8I8keRzdw98pgbjO1Qmuvwe2UOjdLi8Og46_-LE0Xw,16707
|
|
275
|
+
external_llm/editor/semantic/synthesis_planner.py,sha256=IaZElTh3LacV6_lfAYDyLftWccn187Jw7yMR_eowPMM,3569
|
|
276
|
+
external_llm/editor/semantic/ts_ir_models.py,sha256=T03f88fTD2s2peaGwZ_53CtLDzA8-YziK50hUOpa2gM,13469
|
|
277
|
+
external_llm/editor/semantic/ts_semantic_models.py,sha256=sbijuAKKZDKqYqgZI4-Y2VdNlZ_iltid6Na8-nATp18,3337
|
|
278
|
+
external_llm/editor/semantic/ts_semantic_tracer.py,sha256=7aUgM1I0j_0X3q1Wq65Gu6CdIjCgIA6ZmtG8wIGmzzE,55124
|
|
279
|
+
external_llm/editor/simulator/dependency_traversal.py,sha256=j_x3tIHLKmBJjj9tEVLFOoZURmc3O34BtlXS2YCIO6M,5012
|
|
280
|
+
external_llm/editor/simulator/impact_models.py,sha256=EbqvF-9aEo7ycydJZyt-_utA2qnGXsWuLEg6LgNNMsA,1313
|
|
281
|
+
external_llm/editor/simulator/impact_simulator.py,sha256=t90qiPyjQ6qLdWqo_Fn6lBUWvgCHodyv-9ZdhxOALss,6355
|
|
282
|
+
external_llm/editor/simulator/risk_estimator.py,sha256=65w0bTo2_e3CG7zv7yfkAEautuBZ-4TJoyaOubBVq60,2181
|
|
283
|
+
external_llm/editor/verification/__init__.py,sha256=zaN6m-BkJ69BdZYf9SlMs2-T0U-HrvhMp3G10slz8lU,219
|
|
284
|
+
external_llm/editor/verification/code_integrity.py,sha256=gHr4vkuyYjb4IK4mU5inEXP5_SDdEfH2yDIsdqO2WWw,15701
|
|
285
|
+
external_llm/editor/verification/impact_propagation.py,sha256=zzT5ba9CNYtKMnYRQw0cXDuHwM9RgDP_dDIAndsoG88,15524
|
|
286
|
+
external_llm/editor/verification/impact_verification_mapper.py,sha256=ZduuGvggHvF0GHkfHRJ6k8U7w0cAyoyIcST4mKocZk0,5501
|
|
287
|
+
external_llm/editor/verification/verification_set_builder.py,sha256=A5oHuRyRquRQ6eWhjBgfJs89A0_IUH51mC1E42nfMck,14130
|
|
288
|
+
external_llm/graph/composite_risk.py,sha256=Q7dI9D1bhoHUZWxYg3HDIxmi7wNIqFWHB7o7PdhgY_Y,8458
|
|
289
|
+
external_llm/graph/execution_graph_advisor.py,sha256=0bq6Re4SVTCyepsslt94btopNqEOqDAsTyHMBtAspQU,26791
|
|
290
|
+
external_llm/graph/graph_builder.py,sha256=NO6-W8__MAR6_O6aTZVOUQcmm0iu1t7D5PTcoYZ1gQg,807
|
|
291
|
+
external_llm/graph/graph_facade.py,sha256=LHK41RE1bydZs8Sbyab65WM-MfYIBGU1TLELzC1dtXk,8089
|
|
292
|
+
external_llm/graph/models.py,sha256=wiZ2ckVMBNKYK7i4aVbdGtrTnhWaclO-eoUStzn9LCo,3356
|
|
293
|
+
external_llm/graph/repository_graph.py,sha256=EDZFQ4o5V9lbQOXEOibnc1MZ6tg8kI-P00puiWnQ6Dw,45440
|
|
294
|
+
external_llm/graph/run_scoped_graph_cache.py,sha256=VEalTcRak5rm5QIt1J8-oxO5W4eNNWbndjHFRzpPUyM,10823
|
|
295
|
+
external_llm/graph/spec_graph_enricher.py,sha256=FfJxuSN2vqFXbIYaWFQYtwHo9u1X7RkeQMIAJUncb6w,43564
|
|
296
|
+
external_llm/graph/virtual_graph.py,sha256=0YEPPZRc8c1QBC3IyWmORphIkLt_Md09lPjffEWtvOA,22459
|
|
297
|
+
external_llm/languages/__init__.py,sha256=WxvBSr0AikMHCVN4FDIQte4DgwIFZQ_x051jJbBvJzg,571
|
|
298
|
+
external_llm/languages/base.py,sha256=4ZLRuPeaE2BCAbXbRY_ru_W3D_-VRi0fF_FSpuO8Crw,17928
|
|
299
|
+
external_llm/languages/bash_provider.py,sha256=CBBVffI4sSSmohofhwL7zPE5_awzEHfd5fs2IgKXkpk,3958
|
|
300
|
+
external_llm/languages/capabilities.py,sha256=mYnrp5wdxmo4K7Ejd8rp1wFfaF6tizQzGuuI-YiDOMQ,4949
|
|
301
|
+
external_llm/languages/csharp_provider.py,sha256=AJc2j3pzhN6L58mldHwthjQMrSOOPWr0fabkx_pOpRw,4483
|
|
302
|
+
external_llm/languages/css_provider.py,sha256=PE5lDJoS0PMWZNcRekLWu7X56_w1TpgyARMCuDumxnI,5848
|
|
303
|
+
external_llm/languages/dependency_checker.py,sha256=FXD7a_fePNeuYqajHpVs2CXfiTzSFiXxB1L05OHcpbU,26469
|
|
304
|
+
external_llm/languages/go_provider.py,sha256=vuzSpURXD2qSLs3y3kntwZS-UIJbgqe9Qel4mSrpwGE,19903
|
|
305
|
+
external_llm/languages/html_provider.py,sha256=8rp0MqCw1vZFNN2fjuqjyHhBMDGSOhm5ppsIcTKmgF0,4761
|
|
306
|
+
external_llm/languages/java_provider.py,sha256=r6dCAonkyl-EaUy1kJGkZPQJhbXO6jOU1VFuOLBUviQ,20904
|
|
307
|
+
external_llm/languages/javascript_provider.py,sha256=j2EAweS-mi5C8T0iMdtWjt4EFV6gFtelnS7I7U5CfzQ,14112
|
|
308
|
+
external_llm/languages/json_provider.py,sha256=IzWDXap2_Hq6BnQ4e3xpTqBt6sTZCd1FfuM3Il2RfZI,3851
|
|
309
|
+
external_llm/languages/kotlin_provider.py,sha256=NTx-av98I2pPVP09K1ITNC1bsDAvPdv7dILNB1sheKc,19851
|
|
310
|
+
external_llm/languages/libcst_utils.py,sha256=EhQI9A71rPiAsITcnI6HEZNotwRt0jO3XernxFsPGbs,28060
|
|
311
|
+
external_llm/languages/models.py,sha256=dJU9vuPdeU5CT0VT3Xx6P1ZhW61TK1O7moYkNCx8QsI,6309
|
|
312
|
+
external_llm/languages/php_provider.py,sha256=u8m-BU2Q3OL8XfCZ5t6c0GlenixWGg5X1kZikX9UDnE,3399
|
|
313
|
+
external_llm/languages/python_provider.py,sha256=NhuKuXcDvM8gx_r1BBXH92ldQkPC9_0ikfY3R4li3tI,15546
|
|
314
|
+
external_llm/languages/registry.py,sha256=vhXSshGXPmvrWYHNsljU-jEfJM_TptPsRV3c37FVP_o,5431
|
|
315
|
+
external_llm/languages/ruby_provider.py,sha256=UoveCCXrO-AKfCKmji9vJcoSS5K9A9TsC7RiN5BkxlQ,3401
|
|
316
|
+
external_llm/languages/rust_provider.py,sha256=9E2BTZVPw2mcD0g2DTElqnj4A4hn4cCe934q16L3GrM,3304
|
|
317
|
+
external_llm/languages/swift_provider.py,sha256=7F3uq8uqXZRfLLqsHSMgUlNcco7PuId4K7xLtkI-hCI,3603
|
|
318
|
+
external_llm/languages/syntax_validator.py,sha256=bjqpc7habai6WgmgyJj7w5vTER0kRQ_VUicQiwvMssg,14939
|
|
319
|
+
external_llm/languages/tree_sitter_utils.py,sha256=js9KmFxvmbNPlmX4HJLHpWnIoxWXhYf7pNUVC_qEbd8,81929
|
|
320
|
+
external_llm/languages/typescript_provider.py,sha256=u3dKibKQLrQKPEQUrxJWntAEUS6zxERG6hEKT8hxE20,31616
|
|
321
|
+
external_llm/repl/collaborate/__init__.py,sha256=aS_JQWVajBJYopHHdyuSmJbVF-eMQCyO8-tOLnWPGTY,1603
|
|
322
|
+
external_llm/repl/collaborate/asi_mcp_adapter.py,sha256=ypJu8fhOLzm9RNG_qkFvBjXkoUwJauacTnjEUEuU8Ms,23915
|
|
323
|
+
external_llm/repl/collaborate/claude_session.py,sha256=2vqnnkX12cpjgKeazQXWv5Lgx-I6E97k5Xw2gCzmuB8,19684
|
|
324
|
+
external_llm/repl/collaborate/cli.py,sha256=tMx0BSmZ4Vm7ZvJ1h5bCFQNkbWZBLPxNjwyZZA1wYVM,7671
|
|
325
|
+
external_llm/repl/collaborate/collaboration_orchestrator.py,sha256=vII6x2k2W5L4nndFOyJlAn6_kMkee02o9Y5f6hwgZn8,17154
|
|
326
|
+
external_llm/repl/collaborate/streaming_display.py,sha256=Psyk5tje247aVKiwDkhtNNiLoadqpaR7XUaac3KytdI,28994
|
|
327
|
+
external_llm/repl/collaborate/verdict.py,sha256=cmaWuE2FvSayd2U2jQMVUtne5VO7_S0OLJhaum7qLA0,6293
|
|
328
|
+
external_llm/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
329
|
+
external_llm/testing/symbol_aware_test_finder.py,sha256=lZF1vV3DMNT2yHuMWB64qo04ZD_z1zKPjUpw199nw7E,16048
|
|
330
|
+
external_llm/testing/test_dependency_graph.py,sha256=5xBShed5neP8qsHCWi_wX5QMJLzWNRYImU2fyadKrYc,16756
|
|
331
|
+
services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
332
|
+
services/patch_helpers.py,sha256=qWb6vAY2wnDfLdtdePThZ0GkGCZIGd11CGDzvrVeR3Q,4610
|
|
333
|
+
utils/__init__.py,sha256=6OEhX5P2M-KyzBgDzEGJKzfjEaX0Bccyyf21DWQHNo8,58
|
|
334
|
+
utils/llm_utils.py,sha256=0f_hHElnXNscmDjQggepz27Thnqt6DZAfmLY9C3428I,956
|
|
335
|
+
utils/string_helper.py,sha256=FFIcLxEg2bKG7rXmM8kl0a0hfarsqUn32Lcdw1I8bz8,8619
|
|
336
|
+
asicode-0.2.6.dist-info/METADATA,sha256=bWE9ySbWL5yNI4Y4ssiukfyk3P5Is9tyTXgytNq8Yc0,8175
|
|
337
|
+
asicode-0.2.6.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
338
|
+
asicode-0.2.6.dist-info/entry_points.txt,sha256=ucfQDo18vkbL36rwuHEWko6oyHq5MB1Y8O3QhGVj-No,33
|
|
339
|
+
asicode-0.2.6.dist-info/top_level.txt,sha256=XlDWp77Wk3L-srWgzpfTkubYk7AD3_Wv08Rd-hdJZ_I,115
|
|
340
|
+
asicode-0.2.6.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 asicode contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|