chore(release): prepare v0.2.2

This commit is contained in:
Xubin Ren
2026-06-22 20:53:28 +08:00
parent 7170761e47
commit 83c29292d3
11 changed files with 53 additions and 49 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ def _resolve_version() -> str:
return _pkg_version("nanobot-ai")
except PackageNotFoundError:
# Source checkouts often import nanobot without installed dist-info.
return _read_pyproject_version() or "0.2.1"
return _read_pyproject_version() or "0.2.2"
__version__ = _resolve_version()
+8 -2
View File
@@ -8,10 +8,16 @@ from typing import Any
from pydantic import Field
from nanobot.agent.tools.base import Tool, tool_parameters
from nanobot.agent.tools.schema import ArraySchema, BooleanSchema, IntegerSchema, StringSchema, tool_parameters_schema
from nanobot.security.workspace_access import current_tool_workspace
from nanobot.agent.tools.schema import (
ArraySchema,
BooleanSchema,
IntegerSchema,
StringSchema,
tool_parameters_schema,
)
from nanobot.apps.cli import CliAppError, CliAppManager, CliAppsRuntimeConfig
from nanobot.config_base import Base
from nanobot.security.workspace_access import current_tool_workspace
class CliAppsToolConfig(Base):
+1 -1
View File
@@ -14,7 +14,6 @@ from nanobot.agent.tools.schema import (
StringSchema,
tool_parameters_schema,
)
from nanobot.security.workspace_access import current_tool_workspace
from nanobot.config.paths import get_media_dir
from nanobot.config_base import Base
from nanobot.providers.image_generation import (
@@ -22,6 +21,7 @@ from nanobot.providers.image_generation import (
ImageGenerationProvider,
get_image_gen_provider,
)
from nanobot.security.workspace_access import current_tool_workspace
from nanobot.security.workspace_policy import WorkspaceBoundaryError, resolve_allowed_path
from nanobot.utils.artifacts import (
ArtifactError,
+1 -1
View File
@@ -10,9 +10,9 @@ from nanobot.agent.tools.base import Tool, tool_parameters
from nanobot.agent.tools.context import ContextAware, RequestContext
from nanobot.agent.tools.path_utils import resolve_workspace_path
from nanobot.agent.tools.schema import ArraySchema, StringSchema, tool_parameters_schema
from nanobot.security.workspace_access import current_tool_workspace
from nanobot.bus.events import OutboundMessage
from nanobot.config.paths import get_workspace_path
from nanobot.security.workspace_access import current_tool_workspace
@tool_parameters(
+1 -1
View File
@@ -11,13 +11,13 @@ from datetime import datetime
from typing import Any
import httpx
from pydantic import Field
from nanobot.bus.events import OutboundMessage
from nanobot.bus.queue import MessageBus
from nanobot.channels.base import BaseChannel
from nanobot.config.paths import get_runtime_subdir
from nanobot.config.schema import Base
from pydantic import Field
try:
import socketio
+1 -1
View File
@@ -7,12 +7,12 @@ from nanobot.config.paths import (
get_cron_dir,
get_data_dir,
get_legacy_sessions_dir,
is_default_workspace,
get_logs_dir,
get_media_dir,
get_runtime_subdir,
get_webui_dir,
get_workspace_path,
is_default_workspace,
)
from nanobot.config.schema import Config
+1 -1
View File
@@ -32,8 +32,8 @@ if TYPE_CHECKING:
from nanobot.providers.azure_openai_provider import AzureOpenAIProvider
from nanobot.providers.bedrock_provider import BedrockProvider
from nanobot.providers.github_copilot_provider import GitHubCopilotProvider
from nanobot.providers.openai_compat_provider import OpenAICompatProvider
from nanobot.providers.openai_codex_provider import OpenAICodexProvider
from nanobot.providers.openai_compat_provider import OpenAICompatProvider
def __getattr__(name: str):
@@ -78,7 +78,7 @@ def package_skill(skill_path, output_dir=None):
skill_filename = output_path / f"{skill_name}.skill"
EXCLUDED_DIRS = {".git", ".svn", ".hg", "__pycache__", "node_modules"}
excluded_dirs = {".git", ".svn", ".hg", "__pycache__", "node_modules"}
files_to_package = []
resolved_archive = skill_filename.resolve()
@@ -91,7 +91,7 @@ def package_skill(skill_path, output_dir=None):
return None
rel_parts = file_path.relative_to(skill_path).parts
if any(part in EXCLUDED_DIRS for part in rel_parts):
if any(part in excluded_dirs for part in rel_parts):
continue
if file_path.is_file():