jarvis-ai-assistant 0.3.29__tar.gz → 0.3.30__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.
- {jarvis_ai_assistant-0.3.29/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-0.3.30}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/pyproject.toml +1 -1
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/setup.py +1 -1
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/__init__.py +94 -7
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/run_loop.py +1 -3
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/code_agent.py +3 -2
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_data/config_schema.json +8 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/generate_new_tool.py +13 -2
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/config.py +14 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/git_utils.py +20 -16
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/utils.py +13 -11
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30/src/jarvis_ai_assistant.egg-info}/PKG-INFO +1 -1
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/LICENSE +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/README.md +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/setup.cfg +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/agent_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/builtin_input_handler.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/config.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/config_editor.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/edit_file_handler.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/event_bus.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/events.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/file_methodology_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/jarvis.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/memory_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/methodology_share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompt_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompts.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/protocols.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/session_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/task_analyzer.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/task_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/tool_share_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/user_interaction.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/utils.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_git_utils/git_commiter.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_memory_organizer/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_memory_organizer/memory_organizer.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/ai8.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/base.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/kimi.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/openai.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/registry.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/tongyi.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform_manager/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform_manager/service.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/cache.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/cli.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/reranker.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/retriever.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_smart_shell/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/cli.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/stats.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/storage.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/visualizer.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/ask_user.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/base.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/clear_memory.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/cli/main.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/edit_file.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/execute_script.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/file_analyzer.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/methodology.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/read_code.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/registry.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/retrieve_memory.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/rewrite_file.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/save_memory.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/search_web.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/sub_agent.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/sub_code_agent.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/virtual_tty.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/clipboard.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/fzf.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/globals.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/http.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/input.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/methodology.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/output.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis_ai_assistant.egg-info/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis_ai_assistant.egg-info/requires.txt +0 -0
- {jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "jarvis-ai-assistant"
|
7
|
-
version = "0.3.
|
7
|
+
version = "0.3.30"
|
8
8
|
description = "Jarvis: An AI assistant that uses tools to interact with the system"
|
9
9
|
readme = "README.md"
|
10
10
|
authors = [{ name = "skyfire", email = "skyfireitdiy@hotmail.com" }]
|
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages # type: ignore
|
|
3
3
|
|
4
4
|
setup(
|
5
5
|
name="jarvis-ai-assistant",
|
6
|
-
version="0.3.
|
6
|
+
version="0.3.30",
|
7
7
|
author="skyfire",
|
8
8
|
author_email="skyfireitdiy@hotmail.com",
|
9
9
|
description="An AI assistant that uses various tools to interact with the system",
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/__init__.py
RENAMED
@@ -4,6 +4,7 @@ import datetime
|
|
4
4
|
import os
|
5
5
|
import platform
|
6
6
|
import re
|
7
|
+
import sys
|
7
8
|
from pathlib import Path
|
8
9
|
from enum import Enum
|
9
10
|
from typing import Any, Callable, Dict, List, Optional, Protocol, Tuple, Union
|
@@ -48,6 +49,7 @@ from jarvis.jarvis_agent.events import (
|
|
48
49
|
INTERRUPT_TRIGGERED,
|
49
50
|
BEFORE_TOOL_FILTER,
|
50
51
|
TOOL_FILTERED,
|
52
|
+
AFTER_TOOL_CALL,
|
51
53
|
)
|
52
54
|
from jarvis.jarvis_agent.user_interaction import UserInteractionHandler
|
53
55
|
from jarvis.jarvis_agent.utils import join_prompts
|
@@ -68,6 +70,7 @@ from jarvis.jarvis_utils.config import (
|
|
68
70
|
is_use_analysis,
|
69
71
|
is_use_methodology,
|
70
72
|
get_tool_filter_threshold,
|
73
|
+
get_after_tool_call_cb_dirs,
|
71
74
|
)
|
72
75
|
from jarvis.jarvis_utils.embedding import get_context_token_count
|
73
76
|
from jarvis.jarvis_utils.globals import (
|
@@ -310,7 +313,7 @@ class Agent:
|
|
310
313
|
self.first = True
|
311
314
|
self.run_input_handlers_next_turn = False
|
312
315
|
self.user_data: Dict[str, Any] = {}
|
313
|
-
|
316
|
+
|
314
317
|
|
315
318
|
# 用户确认回调:默认使用 CLI 的 user_confirm,可由外部注入以支持 TUI/GUI
|
316
319
|
self.user_confirm: Callable[[str, bool], bool] = (
|
@@ -361,6 +364,8 @@ class Agent:
|
|
361
364
|
self.get_tool_registry(), # type: ignore
|
362
365
|
platform_name=self.model.platform_name(), # type: ignore
|
363
366
|
)
|
367
|
+
# 动态加载工具调用后回调
|
368
|
+
self._load_after_tool_callbacks()
|
364
369
|
|
365
370
|
def _init_model(self, model_group: Optional[str]):
|
366
371
|
"""初始化模型平台(统一使用 normal 平台/模型)"""
|
@@ -502,13 +507,95 @@ class Agent:
|
|
502
507
|
# Fallback for custom handlers that only accept one argument
|
503
508
|
return self.multiline_inputer(tip) # type: ignore
|
504
509
|
|
505
|
-
def
|
506
|
-
"""设置工具调用后回调函数。
|
507
|
-
|
508
|
-
参数:
|
509
|
-
cb: 回调函数
|
510
|
+
def _load_after_tool_callbacks(self) -> None:
|
510
511
|
"""
|
511
|
-
|
512
|
+
扫描 JARVIS_AFTER_TOOL_CALL_CB_DIRS 中的 Python 文件并动态注册回调。
|
513
|
+
约定优先级(任一命中即注册):
|
514
|
+
- 模块级可调用对象: after_tool_call_cb
|
515
|
+
- 工厂方法返回单个或多个可调用对象: get_after_tool_call_cb(), register_after_tool_call_cb()
|
516
|
+
"""
|
517
|
+
try:
|
518
|
+
dirs = get_after_tool_call_cb_dirs()
|
519
|
+
if not dirs:
|
520
|
+
return
|
521
|
+
for d in dirs:
|
522
|
+
p_dir = Path(d)
|
523
|
+
if not p_dir.exists() or not p_dir.is_dir():
|
524
|
+
continue
|
525
|
+
for file_path in p_dir.glob("*.py"):
|
526
|
+
if file_path.name == "__init__.py":
|
527
|
+
continue
|
528
|
+
parent_dir = str(file_path.parent)
|
529
|
+
added_path = False
|
530
|
+
try:
|
531
|
+
if parent_dir not in sys.path:
|
532
|
+
sys.path.insert(0, parent_dir)
|
533
|
+
added_path = True
|
534
|
+
module_name = file_path.stem
|
535
|
+
module = __import__(module_name)
|
536
|
+
|
537
|
+
candidates: List[Callable[[Any], None]] = []
|
538
|
+
|
539
|
+
# 1) 直接导出的回调
|
540
|
+
if hasattr(module, "after_tool_call_cb"):
|
541
|
+
obj = getattr(module, "after_tool_call_cb")
|
542
|
+
if callable(obj):
|
543
|
+
candidates.append(obj) # type: ignore[arg-type]
|
544
|
+
|
545
|
+
# 2) 工厂方法:get_after_tool_call_cb()
|
546
|
+
if hasattr(module, "get_after_tool_call_cb"):
|
547
|
+
factory = getattr(module, "get_after_tool_call_cb")
|
548
|
+
if callable(factory):
|
549
|
+
try:
|
550
|
+
ret = factory()
|
551
|
+
if callable(ret):
|
552
|
+
candidates.append(ret)
|
553
|
+
elif isinstance(ret, (list, tuple)):
|
554
|
+
for c in ret:
|
555
|
+
if callable(c):
|
556
|
+
candidates.append(c)
|
557
|
+
except Exception:
|
558
|
+
pass
|
559
|
+
|
560
|
+
# 3) 工厂方法:register_after_tool_call_cb()
|
561
|
+
if hasattr(module, "register_after_tool_call_cb"):
|
562
|
+
factory2 = getattr(module, "register_after_tool_call_cb")
|
563
|
+
if callable(factory2):
|
564
|
+
try:
|
565
|
+
ret2 = factory2()
|
566
|
+
if callable(ret2):
|
567
|
+
candidates.append(ret2)
|
568
|
+
elif isinstance(ret2, (list, tuple)):
|
569
|
+
for c in ret2:
|
570
|
+
if callable(c):
|
571
|
+
candidates.append(c)
|
572
|
+
except Exception:
|
573
|
+
pass
|
574
|
+
|
575
|
+
for cb in candidates:
|
576
|
+
try:
|
577
|
+
def _make_wrapper(callback):
|
578
|
+
def _wrapper(**kwargs: Any) -> None:
|
579
|
+
try:
|
580
|
+
agent = kwargs.get("agent")
|
581
|
+
callback(agent)
|
582
|
+
except Exception:
|
583
|
+
pass
|
584
|
+
return _wrapper
|
585
|
+
self.event_bus.subscribe(AFTER_TOOL_CALL, _make_wrapper(cb))
|
586
|
+
except Exception:
|
587
|
+
pass
|
588
|
+
|
589
|
+
except Exception as e:
|
590
|
+
PrettyOutput.print(f"从 {file_path} 加载回调失败: {e}", OutputType.WARNING)
|
591
|
+
finally:
|
592
|
+
if added_path:
|
593
|
+
try:
|
594
|
+
sys.path.remove(parent_dir)
|
595
|
+
except ValueError:
|
596
|
+
pass
|
597
|
+
except Exception as e:
|
598
|
+
PrettyOutput.print(f"加载回调目录时发生错误: {e}", OutputType.WARNING)
|
512
599
|
|
513
600
|
def save_session(self) -> bool:
|
514
601
|
"""Saves the current session state by delegating to the session manager."""
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/code_agent.py
RENAMED
@@ -12,6 +12,7 @@ from typing import List, Optional, Tuple
|
|
12
12
|
import typer
|
13
13
|
|
14
14
|
from jarvis.jarvis_agent import Agent
|
15
|
+
from jarvis.jarvis_agent.events import AFTER_TOOL_CALL
|
15
16
|
from jarvis.jarvis_agent.builtin_input_handler import builtin_input_handler
|
16
17
|
from jarvis.jarvis_agent.edit_file_handler import EditFileHandler
|
17
18
|
from jarvis.jarvis_agent.shell_input_handler import shell_input_handler
|
@@ -94,7 +95,7 @@ class CodeAgent:
|
|
94
95
|
use_analysis=False, # 禁用分析
|
95
96
|
)
|
96
97
|
|
97
|
-
self.agent.
|
98
|
+
self.agent.event_bus.subscribe(AFTER_TOOL_CALL, self._on_after_tool_call)
|
98
99
|
|
99
100
|
def _get_system_prompt(self) -> str:
|
100
101
|
"""获取代码工程师的系统提示词"""
|
@@ -598,7 +599,7 @@ class CodeAgent:
|
|
598
599
|
except RuntimeError as e:
|
599
600
|
return f"Error during execution: {str(e)}"
|
600
601
|
|
601
|
-
def
|
602
|
+
def _on_after_tool_call(self, agent: Agent, current_response=None, need_return=None, tool_prompt=None, **kwargs) -> None:
|
602
603
|
"""工具调用后回调函数。"""
|
603
604
|
final_ret = ""
|
604
605
|
diff = get_diff()
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_data/config_schema.json
RENAMED
@@ -247,6 +247,14 @@
|
|
247
247
|
},
|
248
248
|
"default": []
|
249
249
|
},
|
250
|
+
"JARVIS_AFTER_TOOL_CALL_CB_DIRS": {
|
251
|
+
"type": "array",
|
252
|
+
"description": "工具调用后回调函数实现目录",
|
253
|
+
"items": {
|
254
|
+
"type": "string"
|
255
|
+
},
|
256
|
+
"default": []
|
257
|
+
},
|
250
258
|
"JARVIS_CENTRAL_METHODOLOGY_REPO": {
|
251
259
|
"type": "string",
|
252
260
|
"description": "中心方法论Git仓库地址,该仓库会自动添加到方法论加载路径中",
|
@@ -173,9 +173,20 @@ class generate_new_tool:
|
|
173
173
|
__import__(pkg)
|
174
174
|
except ImportError:
|
175
175
|
|
176
|
-
import subprocess
|
176
|
+
import subprocess, sys, os
|
177
|
+
from shutil import which as _which
|
178
|
+
# 优先使用 uv 安装(先查 venv 内 uv,再查 PATH 中 uv),否则回退到 python -m pip
|
179
|
+
if sys.platform == "win32":
|
180
|
+
venv_uv = os.path.join(sys.prefix, "Scripts", "uv.exe")
|
181
|
+
else:
|
182
|
+
venv_uv = os.path.join(sys.prefix, "bin", "uv")
|
183
|
+
uv_executable = venv_uv if os.path.exists(venv_uv) else (_which("uv") or None)
|
184
|
+
if uv_executable:
|
185
|
+
install_cmd = [uv_executable, "pip", "install", pkg]
|
186
|
+
else:
|
187
|
+
install_cmd = [sys.executable, "-m", "pip", "install", pkg]
|
188
|
+
subprocess.run(install_cmd, check=True)
|
177
189
|
|
178
|
-
subprocess.run(["pip", "install", pkg], check=True)
|
179
190
|
|
180
191
|
except Exception as e:
|
181
192
|
PrettyOutput.print(f"依赖检查/安装失败: {str(e)}", OutputType.WARNING)
|
@@ -378,6 +378,20 @@ def get_roles_dirs() -> List[str]:
|
|
378
378
|
]
|
379
379
|
|
380
380
|
|
381
|
+
def get_after_tool_call_cb_dirs() -> List[str]:
|
382
|
+
"""
|
383
|
+
获取工具调用后回调函数实现目录。
|
384
|
+
|
385
|
+
返回:
|
386
|
+
List[str]: 工具调用后回调函数实现目录列表
|
387
|
+
"""
|
388
|
+
return [
|
389
|
+
os.path.expanduser(os.path.expandvars(str(p)))
|
390
|
+
for p in GLOBAL_CONFIG_DATA.get("JARVIS_AFTER_TOOL_CALL_CB_DIRS", [])
|
391
|
+
if p
|
392
|
+
]
|
393
|
+
|
394
|
+
|
381
395
|
def get_central_methodology_repo() -> str:
|
382
396
|
"""
|
383
397
|
获取中心方法论Git仓库地址。
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/git_utils.py
RENAMED
@@ -417,25 +417,32 @@ def check_and_update_git_repo(repo_path: str) -> bool:
|
|
417
417
|
hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix
|
418
418
|
)
|
419
419
|
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
420
|
+
# 检测 uv 可用性:优先虚拟环境内的 uv,其次 PATH 中的 uv
|
421
|
+
from shutil import which as _which
|
422
|
+
uv_executable = None
|
423
|
+
if sys.platform == "win32":
|
424
|
+
venv_uv = os.path.join(sys.prefix, "Scripts", "uv.exe")
|
425
|
+
else:
|
426
|
+
venv_uv = os.path.join(sys.prefix, "bin", "uv")
|
427
|
+
if os.path.exists(venv_uv):
|
428
|
+
uv_executable = venv_uv
|
429
|
+
else:
|
430
|
+
path_uv = _which("uv")
|
431
|
+
if path_uv:
|
432
|
+
uv_executable = path_uv
|
429
433
|
|
430
434
|
# 根据环境选择安装命令
|
431
435
|
# 检测是否安装了 RAG 特性(更精确)
|
432
436
|
rag_installed = is_rag_installed()
|
433
437
|
|
434
|
-
#
|
435
|
-
if
|
436
|
-
if
|
437
|
-
install_cmd = [
|
438
|
+
# 根据 uv 可用性与 RAG 特性选择安装命令(优先使用 uv)
|
439
|
+
if uv_executable:
|
440
|
+
if rag_installed:
|
441
|
+
install_cmd = [uv_executable, "pip", "install", "-e", ".[rag]"]
|
438
442
|
else:
|
443
|
+
install_cmd = [uv_executable, "pip", "install", "-e", "."]
|
444
|
+
else:
|
445
|
+
if rag_installed:
|
439
446
|
install_cmd = [
|
440
447
|
sys.executable,
|
441
448
|
"-m",
|
@@ -444,9 +451,6 @@ def check_and_update_git_repo(repo_path: str) -> bool:
|
|
444
451
|
"-e",
|
445
452
|
".[rag]",
|
446
453
|
]
|
447
|
-
else:
|
448
|
-
if is_uv_env:
|
449
|
-
install_cmd = ["uv", "pip", "install", "-e", "."]
|
450
454
|
else:
|
451
455
|
install_cmd = [
|
452
456
|
sys.executable,
|
@@ -252,17 +252,19 @@ def _check_pip_updates() -> bool:
|
|
252
252
|
hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix
|
253
253
|
)
|
254
254
|
|
255
|
-
#
|
256
|
-
|
255
|
+
# 检测是否可用 uv(优先使用虚拟环境内的uv,其次PATH中的uv)
|
256
|
+
from shutil import which as _which
|
257
257
|
uv_executable: Optional[str] = None
|
258
|
-
if
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
258
|
+
if sys.platform == "win32":
|
259
|
+
venv_uv = Path(sys.prefix) / "Scripts" / "uv.exe"
|
260
|
+
else:
|
261
|
+
venv_uv = Path(sys.prefix) / "bin" / "uv"
|
262
|
+
if venv_uv.exists():
|
263
|
+
uv_executable = str(venv_uv)
|
264
|
+
else:
|
265
|
+
path_uv = _which("uv")
|
266
|
+
if path_uv:
|
267
|
+
uv_executable = path_uv
|
266
268
|
|
267
269
|
# 检测是否安装了 RAG 特性(更精确)
|
268
270
|
from jarvis.jarvis_utils.utils import (
|
@@ -274,7 +276,7 @@ def _check_pip_updates() -> bool:
|
|
274
276
|
package_spec = (
|
275
277
|
"jarvis-ai-assistant[rag]" if rag_installed else "jarvis-ai-assistant"
|
276
278
|
)
|
277
|
-
if
|
279
|
+
if uv_executable:
|
278
280
|
cmd_list = [uv_executable, "pip", "install", "--upgrade", package_spec]
|
279
281
|
update_cmd = f"uv pip install --upgrade {package_spec}"
|
280
282
|
else:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/agent_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/config_editor.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/event_bus.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/memory_manager.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/output_handler.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompt_builder.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompt_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/prompts.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/protocols.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/session_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/share_manager.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/task_analyzer.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/task_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_agent/tool_executor.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_code_agent/lint.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_git_squash/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_git_squash/main.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/sse_mcp_client.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_mcp/stdio_mcp_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_methodology/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_multi_agent/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_multi_agent/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/__init__.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/base.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/human.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/kimi.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/openai.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/registry.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/tongyi.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform/yuanbao.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_platform_manager/main.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/embedding_manager.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/llm_interface.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/query_rewriter.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/rag_pipeline.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_rag/retriever.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_smart_shell/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_smart_shell/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/storage.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_stats/visualizer.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/ask_user.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/clear_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/cli/__init__.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/cli/main.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/edit_file.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/execute_script.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/file_analyzer.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/methodology.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/read_code.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/read_webpage.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/registry.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/retrieve_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/rewrite_file.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/save_memory.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/search_web.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/sub_agent.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/sub_code_agent.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_tools/virtual_tty.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/__init__.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/clipboard.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/embedding.py
RENAMED
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/file_processors.py
RENAMED
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/globals.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{jarvis_ai_assistant-0.3.29 → jarvis_ai_assistant-0.3.30}/src/jarvis/jarvis_utils/methodology.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|