pypi Python analyzed 1.12.0

tai42-skeleton

v1.12.0
pypi

Open-source implementation of tai42-contract: the extended MCP server hosting tools, agents, extensions, connectors, hooks, and storage for the TAI ecosystem.

maintainer
license
first seen
2026-08-12
last seen
2026-08-14
releases · 30d
31
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport http · sse counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

code evidence v1.12.0 · pypi-sdist
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 327

filesystem 17

  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/app/readiness_sentinel.py :35 with open(tmp, "w", encoding="utf-8") as handle:
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/app/route_registry.py :221 undeclared authed route is fail-open (a forgotten fence silently becomes grantable), so
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/cli/mcp_app.py :158 os.unlink(uds)
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/cli/native/openapi.py :6 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/cli/offline.py :14 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/cli/openapi.py :252 The combined schema is ``anyOf``, not ``oneOf``: ``Error`` is open (it constrains
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/config/file_manager.py :121 fd = os.open(f"{path}.lock", os.O_RDWR | os.O_CREAT, 0o600)
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/interactions/helper.py :52 are already open (the ``max_concurrent`` guard)."""
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/marketplace/installer.py :87 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/marketplace/pip.py :48 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/marketplace/prefix.py :31 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/operations/presets.py :1145 # without a Postgres open (delete's reasoning).
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/plugins/registry.py :32 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/routers/plugins.py :32 from pathlib import Path
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/routers/prometheus.py :24 import shutil
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/template/file_loading.py :98 os.remove(path)
  • fs tai42_skeleton-1.12.0/src/tai42_skeleton/tools/builtin/interactions.py :103 InteractionLimitError: Too many questions are already open (the

network 9

  • net tai42_skeleton-1.12.0/src/tai42_skeleton/cli/mcp_app.py :4 import socket
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/cli/native/doctor.py :10 from urllib.parse import urlsplit, urlunsplit
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/connectors/oauth/client.py :23 from urllib.parse import urlencode, urlparse
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/conversations/delivery.py :20 import httpx
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/conversations/turn.py :21 from urllib.parse import quote
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/interactions/settings.py :9 from urllib.parse import urlparse
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/marketplace/client.py :21 from urllib.parse import quote
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/marketplace/pip.py :170 ANY failure of the fetch itself — an ``httpx.HTTPError`` (a deleted-tag 404,
  • net tai42_skeleton-1.12.0/src/tai42_skeleton/template/resource_manager.py :10 from urllib.parse import unquote_to_bytes, urlsplit

database 8

  • db tai42_skeleton-1.12.0/src/tai42_skeleton/access_control/policy.py :46 # edited policy from redis instead of serving the stale cached copy.
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/app/bus.py :90 from redis.exceptions import ConnectionError as RedisConnectionError
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/channels/notifications_sink.py :44 from redis.asyncio import Redis
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/cli/native/doctor.py :113 from redis.exceptions import ConnectionError as RedisConnectionError
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/conversations/records.py :46 from redis.asyncio import Redis as AsyncRedis
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/interactions/store.py :30 from redis.asyncio import Redis
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/middleware/rate_limit.py :48 from redis.asyncio import Redis as AsyncRedis
  • db tai42_skeleton-1.12.0/src/tai42_skeleton/utils/redis_typing.py :15 from redis.asyncio import Redis as AsyncRedis

declared dependencies 47

  • fastmcp@>=3.2,<4
  • mcp@>=1
  • tai42-contract@>=1.10,<2
  • tai42-kit@>=1.9,<2
  • tai42-cli@>=1.3,<2
  • click@>=8.3
  • typer@>=0.12
  • httpx@>=0.28
  • PyYAML@>=6.0
  • pyaml-env@>=1.2
  • ruamel.yaml@>=0.18
  • python-dotenv@>=1.2
  • makefun@>=1.16
  • pydantic-settings@>=2.13
  • pydantic@>=2.12
  • pydantic-core@>=2
  • cachetools@>=7.0
  • async-lru@>=2.3
  • langchain-core@>=1.2,<2
  • prometheus-client@>=0.24
  • fastapi@>=0.135
  • starlette@>=0.40
  • uvicorn@>=0.43
  • redis@>=5
  • wsproto@>=1.3
  • uvloop@>=0.22; sys_platform !=
  • tai42-toolbox@>=0.5,<0.6
  • magika@>=0.6
  • pandas@>=2.2
  • langchain-community@>=0.3
  • pypdf@>=5
  • docx2txt@>=0.9
  • openpyxl@>=3.1
  • tabulate@>=0.9
  • beautifulsoup4@>=4.12
  • python-pptx@>=1
  • striprtf@>=0.0.26
  • odfpy@>=1.4
  • ebooklib@>=0.18
  • tai42-skeleton@*
  • tai42-identity-redis@>=0.3,<0.4
  • pytest@>=8
  • pytest-asyncio@>=1.3
  • pytest-cov@>=5
  • ruff@>=0.6
  • pyright@>=1.1.389
  • fakeredis@>=2.21