LICENSE
NOTICE
README.md
pyproject.toml
src/tai42_skeleton/__init__.py
src/tai42_skeleton/asgi.py
src/tai42_skeleton/py.typed
src/tai42_skeleton.egg-info/PKG-INFO
src/tai42_skeleton.egg-info/SOURCES.txt
src/tai42_skeleton.egg-info/dependency_links.txt
src/tai42_skeleton.egg-info/entry_points.txt
src/tai42_skeleton.egg-info/requires.txt
src/tai42_skeleton.egg-info/top_level.txt
src/tai42_skeleton/access_control/__init__.py
src/tai42_skeleton/access_control/adapter.py
src/tai42_skeleton/access_control/backend.py
src/tai42_skeleton/access_control/claim_links.py
src/tai42_skeleton/access_control/management.py
src/tai42_skeleton/access_control/middleware.py
src/tai42_skeleton/access_control/path_canon.py
src/tai42_skeleton/access_control/policy.py
src/tai42_skeleton/access_control/policy_store.py
src/tai42_skeleton/access_control/projection.py
src/tai42_skeleton/access_control/request_scopes.py
src/tai42_skeleton/access_control/role_audit.py
src/tai42_skeleton/access_control/role_gate.py
src/tai42_skeleton/access_control/role_grants.py
src/tai42_skeleton/access_control/roles.py
src/tai42_skeleton/access_control/settings.py
src/tai42_skeleton/access_control/startup.py
src/tai42_skeleton/access_control/store.py
src/tai42_skeleton/access_control/user.py
src/tai42_skeleton/access_control/verifier.py
src/tai42_skeleton/agent/__init__.py
src/tai42_skeleton/agent/binding.py
src/tai42_skeleton/agent/session_thread.py
src/tai42_skeleton/agent/thread_reservation.py
src/tai42_skeleton/app/__init__.py
src/tai42_skeleton/app/boot_rules.py
src/tai42_skeleton/app/bus.py
src/tai42_skeleton/app/bus_settings.py
src/tai42_skeleton/app/channels_facet.py
src/tai42_skeleton/app/clients.py
src/tai42_skeleton/app/conversations_facet.py
src/tai42_skeleton/app/epoch.py
src/tai42_skeleton/app/facets.py
src/tai42_skeleton/app/graceful_exit.py
src/tai42_skeleton/app/http.py
src/tai42_skeleton/app/importer.py
src/tai42_skeleton/app/instance.py
src/tai42_skeleton/app/kind_status.py
src/tai42_skeleton/app/lifecycle.py
src/tai42_skeleton/app/mount_map.py
src/tai42_skeleton/app/readiness_sentinel.py
src/tai42_skeleton/app/recycle.py
src/tai42_skeleton/app/registry_staging.py
src/tai42_skeleton/app/reload_gate.py
src/tai42_skeleton/app/route_defaults.py
src/tai42_skeleton/app/route_registry.py
src/tai42_skeleton/app/route_shapes.py
src/tai42_skeleton/app/server.py
src/tai42_skeleton/app/sessions.py
src/tai42_skeleton/app/sub_mcp_app.py
src/tai42_skeleton/authz/__init__.py
src/tai42_skeleton/authz/check.py
src/tai42_skeleton/authz/execution.py
src/tai42_skeleton/authz/execution_identity.py
src/tai42_skeleton/authz/identity.py
src/tai42_skeleton/authz/middleware.py
src/tai42_skeleton/authz/resolver.py
src/tai42_skeleton/authz/token_free.py
src/tai42_skeleton/backend/__init__.py
src/tai42_skeleton/backend/registry.py
src/tai42_skeleton/backend/settings.py
src/tai42_skeleton/backup/__init__.py
src/tai42_skeleton/backup/registry.py
src/tai42_skeleton/backup/sections.py
src/tai42_skeleton/channels/__init__.py
src/tai42_skeleton/channels/inbound.py
src/tai42_skeleton/channels/notifications_sink.py
src/tai42_skeleton/channels/notify.py
src/tai42_skeleton/channels/registry.py
src/tai42_skeleton/channels/send_receipts.py
src/tai42_skeleton/channels/send_span.py
src/tai42_skeleton/cli/__init__.py
src/tai42_skeleton/cli/backend.py
src/tai42_skeleton/cli/local.py
src/tai42_skeleton/cli/mcp_app.py
src/tai42_skeleton/cli/metrics.py
src/tai42_skeleton/cli/offline.py
src/tai42_skeleton/cli/openapi.py
src/tai42_skeleton/cli/native/__init__.py
src/tai42_skeleton/cli/native/catalog.py
src/tai42_skeleton/cli/native/db.py
src/tai42_skeleton/cli/native/doctor.py
src/tai42_skeleton/cli/native/openapi.py
src/tai42_skeleton/config/__init__.py
src/tai42_skeleton/config/boundary.py
src/tai42_skeleton/config/config_mode.py
src/tai42_skeleton/config/factory.py
src/tai42_skeleton/config/file_manager.py
src/tai42_skeleton/config/recycle_policy.py
src/tai42_skeleton/config/secret_seal.py
src/tai42_skeleton/config/service.py
src/tai42_skeleton/connectors/__init__.py
src/tai42_skeleton/connectors/meta_log_redactor.py
src/tai42_skeleton/connectors/settings.py
src/tai42_skeleton/connectors/token_injection.py
src/tai42_skeleton/connectors/oauth/__init__.py
src/tai42_skeleton/connectors/oauth/client.py
src/tai42_skeleton/connectors/oauth/crypto.py
src/tai42_skeleton/connectors/oauth/redirect.py
src/tai42_skeleton/connectors/oauth/state.py
src/tai42_skeleton/connectors/providers/__init__.py
src/tai42_skeleton/connectors/providers/registry.py
src/tai42_skeleton/connectors/runtime/__init__.py
src/tai42_skeleton/connectors/runtime/launch.py
src/tai42_skeleton/connectors/runtime/locks.py
src/tai42_skeleton/connectors/runtime/probe.py
src/tai42_skeleton/connectors/runtime/resolver.py
src/tai42_skeleton/connectors/service/__init__.py
src/tai42_skeleton/connectors/service/connection_service.py
src/tai42_skeleton/connectors/service/manifest_writer.py
src/tai42_skeleton/connectors/stdio/__init__.py
src/tai42_skeleton/connectors/stdio/launcher.py
src/tai42_skeleton/connectors/store/__init__.py
src/tai42_skeleton/connectors/store/backup.py
src/tai42_skeleton/connectors/store/catalog_store.py
src/tai42_skeleton/connectors/store/persistence.py
src/tai42_skeleton/connectors/store/redis_pg.py
src/tai42_skeleton/conversations/__init__.py
src/tai42_skeleton/conversations/address.py
src/tai42_skeleton/conversations/backup.py
src/tai42_skeleton/conversations/cache.py
src/tai42_skeleton/conversations/caps.py
src/tai42_skeleton/conversations/delivery.py
src/tai42_skeleton/conversations/ledger.py
src/tai42_skeleton/conversations/mode.py
src/tai42_skeleton/conversations/models.py
src/tai42_skeleton/conversations/pair_codes.py
src/tai42_skeleton/conversations/pairing.py
src/tai42_skeleton/conversations/persons.py
src/tai42_skeleton/conversations/records.py
src/tai42_skeleton/conversations/redeem_throttle.py
src/tai42_skeleton/conversations/settings.py
src/tai42_skeleton/conversations/target_config.py
src/tai42_skeleton/conversations/target_config_backup.py
src/tai42_skeleton/conversations/thread_lease.py
src/tai42_skeleton/conversations/turn.py
src/tai42_skeleton/conversations/turn_context.py
src/tai42_skeleton/conversations/managers/__init__.py
src/tai42_skeleton/conversations/managers/base_conversations_manager.py
src/tai42_skeleton/conversations/managers/in_memory_conversations_manager.py
src/tai42_skeleton/conversations/managers/redis_conversations_manager.py
src/tai42_skeleton/core/__init__.py
src/tai42_skeleton/core/registry/__init__.py
src/tai42_skeleton/core/registry/base_registry.py
src/tai42_skeleton/db/__init__.py
src/tai42_skeleton/db/boot_gate.py
src/tai42_skeleton/db/discovery.py
src/tai42_skeleton/db/not_configured.py
src/tai42_skeleton/exceptions/__init__.py
src/tai42_skeleton/exceptions/exceptions.py
src/tai42_skeleton/extensions/__init__.py
src/tai42_skeleton/extensions/registry.py
src/tai42_skeleton/extensions/builtin/__init__.py
src/tai42_skeleton/extensions/builtin/ask_external.py
src/tai42_skeleton/extensions/builtin/monitor.py
src/tai42_skeleton/hooks/__init__.py
src/tai42_skeleton/hooks/cache.py
src/tai42_skeleton/hooks/payload_parser.py
src/tai42_skeleton/hooks/settings.py
src/tai42_skeleton/hooks/trigger_auth.py
src/tai42_skeleton/hooks/trigger_links.py
src/tai42_skeleton/hooks/managers/__init__.py
src/tai42_skeleton/hooks/managers/base_hooks_manager.py
src/tai42_skeleton/hooks/managers/in_memory_hooks_manager.py
src/tai42_skeleton/hooks/managers/redis_hooks_manager.py
src/tai42_skeleton/interactions/__init__.py
src/tai42_skeleton/interactions/continuation.py
src/tai42_skeleton/interactions/elicit_bridge.py
src/tai42_skeleton/interactions/form_schema.py
src/tai42_skeleton/interactions/helper.py
src/tai42_skeleton/interactions/media.py
src/tai42_skeleton/interactions/origin.py
src/tai42_skeleton/interactions/reaper.py
src/tai42_skeleton/interactions/settings.py
src/tai42_skeleton/interactions/store.py
src/tai42_skeleton/manifest/__init__.py
src/tai42_skeleton/marketplace/__init__.py
src/tai42_skeleton/marketplace/advisories.py
src/tai42_skeleton/marketplace/client.py
src/tai42_skeleton/marketplace/compat.py
src/tai42_skeleton/marketplace/errors.py
src/tai42_skeleton/marketplace/installer.py
src/tai42_skeleton/marketplace/manifest_patch.py
src/tai42_skeleton/marketplace/pip.py
src/tai42_skeleton/marketplace/prefix.py
src/tai42_skeleton/marketplace/routes.py
src/tai42_skeleton/marketplace/settings.py
src/tai42_skeleton/marketplace/store.py
src/tai42_skeleton/middleware/__init__.py
src/tai42_skeleton/middleware/audit_log.py
src/tai42_skeleton/middleware/body_limit.py
src/tai42_skeleton/middleware/rate_limit.py
src/tai42_skeleton/monitoring/__init__.py
src/tai42_skeleton/monitoring/noop.py
src/tai42_skeleton/monitoring/registry.py
src/tai42_skeleton/operations/__init__.py
src/tai42_skeleton/operations/_authority.py
src/tai42_skeleton/operations/_broadcast.py
src/tai42_skeleton/operations/_submitted_tool_authz.py
src/tai42_skeleton/operations/adapter.py
src/tai42_skeleton/operations/agents.py
src/tai42_skeleton/operations/api_keys.py
src/tai42_skeleton/operations/backend.py
src/tai42_skeleton/operations/backup.py
src/tai42_skeleton/operations/channels.py
src/tai42_skeleton/operations/checkpoints.py
src/tai42_skeleton/operations/config.py
src/tai42_skeleton/operations/connectors.py
src/tai42_skeleton/operations/conversations.py
src/tai42_skeleton/operations/decorator.py
src/tai42_skeleton/operations/errors.py
src/tai42_skeleton/operations/extensions.py
src/tai42_skeleton/operations/hooks.py
src/tai42_skeleton/operations/interactions.py
src/tai42_skeleton/operations/login.py
src/tai42_skeleton/operations/manifest.py
src/tai42_skeleton/operations/marketplace.py
src/tai42_skeleton/operations/notifications.py
src/tai42_skeleton/operations/observability.py
src/tai42_skeleton/operations/plugins.py
src/tai42_skeleton/operations/presets.py
src/tai42_skeleton/operations/projection.py
src/tai42_skeleton/operations/registry.py
src/tai42_skeleton/operations/resources.py
src/tai42_skeleton/operations/roles.py
src/tai42_skeleton/operations/runs.py
src/tai42_skeleton/operations/sandbox.py
src/tai42_skeleton/operations/schedules.py
src/tai42_skeleton/operations/storage.py
src/tai42_skeleton/operations/sub_mcp.py
src/tai42_skeleton/operations/system_kinds.py
src/tai42_skeleton/operations/templates.py
src/tai42_skeleton/operations/tool_extensions.py
src/tai42_skeleton/operations/tool_meta.py
src/tai42_skeleton/operations/tool_runs.py
src/tai42_skeleton/operations/tools.py
src/tai42_skeleton/plugins/__init__.py
src/tai42_skeleton/plugins/quarantine.py
src/tai42_skeleton/plugins/registry.py
src/tai42_skeleton/plugins/serving.py
src/tai42_skeleton/plugins/settings.py
src/tai42_skeleton/presets/__init__.py
src/tai42_skeleton/presets/base_tool_config.py
src/tai42_skeleton/presets/bind.py
src/tai42_skeleton/presets/manager.py
src/tai42_skeleton/presets/seeds.py
src/tai42_skeleton/presets/store.py
src/tai42_skeleton/presets/write_validators.py
src/tai42_skeleton/routers/__init__.py
src/tai42_skeleton/routers/_tool_call.py
src/tai42_skeleton/routers/agents.py
src/tai42_skeleton/routers/api_keys.py
src/tai42_skeleton/routers/backend.py
src/tai42_skeleton/routers/backup.py
src/tai42_skeleton/routers/channels.py
src/tai42_skeleton/routers/checkpoints.py
src/tai42_skeleton/routers/config.py
src/tai42_skeleton/routers/connectors.py
src/tai42_skeleton/routers/conversations.py
src/tai42_skeleton/routers/extensions.py
src/tai42_skeleton/routers/health.py
src/tai42_skeleton/routers/hooks.py
src/tai42_skeleton/routers/interactions.py
src/tai42_skeleton/routers/login.py
src/tai42_skeleton/routers/manifest.py
src/tai42_skeleton/routers/marketplace.py
src/tai42_skeleton/routers/metrics.py
src/tai42_skeleton/routers/metrics_settings.py
src/tai42_skeleton/routers/notifications.py
src/tai42_skeleton/routers/observability.py
src/tai42_skeleton/routers/observability_support.py
src/tai42_skeleton/routers/plugins.py
src/tai42_skeleton/routers/presets.py
src/tai42_skeleton/routers/prometheus.py
src/tai42_skeleton/routers/resources.py
src/tai42_skeleton/routers/runs.py
src/tai42_skeleton/routers/sandbox.py
src/tai42_skeleton/routers/schedules.py
src/tai42_skeleton/routers/storage.py
src/tai42_skeleton/routers/sub_mcp.py
src/tai42_skeleton/routers/system_kinds.py
src/tai42_skeleton/routers/templates.py
src/tai42_skeleton/routers/tool_extensions.py
src/tai42_skeleton/routers/tool_meta.py
src/tai42_skeleton/routers/tool_runs.py
src/tai42_skeleton/routers/tool_runs_settings.py
src/tai42_skeleton/routers/tools.py
src/tai42_skeleton/runs/__init__.py
src/tai42_skeleton/runs/chokepoint.py
src/tai42_skeleton/runs/models.py
src/tai42_skeleton/runs/settings.py
src/tai42_skeleton/runs/store.py
src/tai42_skeleton/sandbox/__init__.py
src/tai42_skeleton/sandbox/policy.py
src/tai42_skeleton/sandbox/reaper.py
src/tai42_skeleton/sandbox/registry.py
src/tai42_skeleton/settings/__init__.py
src/tai42_skeleton/settings/audit_log.py
src/tai42_skeleton/settings/body_limit.py
src/tai42_skeleton/settings/cache.py
src/tai42_skeleton/settings/env_secret_marks.py
src/tai42_skeleton/settings/mcp_settings.py
src/tai42_skeleton/settings/rate_limit.py
src/tai42_skeleton/settings/settings.py
src/tai42_skeleton/settings/turn.py
src/tai42_skeleton/settings_profiles/__init__.py
src/tai42_skeleton/settings_profiles/store.py
src/tai42_skeleton/sql/__init__.py
src/tai42_skeleton/sql/migrations/0001_baseline.sql
src/tai42_skeleton/sql/migrations/0002_spec_source.sql
src/tai42_skeleton/sql/migrations/0003_run_index.sql
src/tai42_skeleton/storage/__init__.py
src/tai42_skeleton/storage/registry.py
src/tai42_skeleton/sub_mcp/__init__.py
src/tai42_skeleton/sub_mcp/service.py
src/tai42_skeleton/sub_mcp/settings.py
src/tai42_skeleton/sub_mcp/store.py
src/tai42_skeleton/template/__init__.py
src/tai42_skeleton/template/file_loading.py
src/tai42_skeleton/template/media.py
src/tai42_skeleton/template/path_guard.py
src/tai42_skeleton/template/resource_manager.py
src/tai42_skeleton/template/settings.py
src/tai42_skeleton/tool_meta/__init__.py
src/tai42_skeleton/tool_meta/backup.py
src/tai42_skeleton/tool_meta/store.py
src/tai42_skeleton/tools/__init__.py
src/tai42_skeleton/tools/attribution.py
src/tai42_skeleton/tools/binding.py
src/tai42_skeleton/tools/context_bridge.py
src/tai42_skeleton/tools/mcp_health.py
src/tai42_skeleton/tools/platform_referees.py
src/tai42_skeleton/tools/registry.py
src/tai42_skeleton/tools/rename_referees.py
src/tai42_skeleton/tools/retry.py
src/tai42_skeleton/tools/reveal_gate.py
src/tai42_skeleton/tools/sampling_bridge.py
src/tai42_skeleton/tools/sampling_settings.py
src/tai42_skeleton/tools/tool_refs.py
src/tai42_skeleton/tools/turn_budget.py
src/tai42_skeleton/tools/adapters/__init__.py
src/tai42_skeleton/tools/adapters/lc_tool_to_func.py
src/tai42_skeleton/tools/adapters/mcp_tool_to_func.py
src/tai42_skeleton/tools/builtin/__init__.py
src/tai42_skeleton/tools/builtin/file_loader.py
src/tai42_skeleton/tools/builtin/get_pairing_code.py
src/tai42_skeleton/tools/builtin/interactions.py
src/tai42_skeleton/tools/builtin/sandbox_exec.py
src/tai42_skeleton/tools/builtin/set_conversation_mode.py
src/tai42_skeleton/utils/__init__.py
src/tai42_skeleton/utils/redis_typing.py
src/tai42_skeleton/versioning/__init__.py
src/tai42_skeleton/versioning/backup.py
src/tai42_skeleton/versioning/store.py
src/tai42_skeleton/webhooks/__init__.py
src/tai42_skeleton/webhooks/registry.py
src/tai42_skeleton/webhooks/settings.py
src/tai42_skeleton/webhooks/builtin/__init__.py
src/tai42_skeleton/webhooks/builtin/shared_secret.py