isa-mate 0.2.0__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.
- isa_mate-0.2.0/.gitignore +51 -0
- isa_mate-0.2.0/PKG-INFO +217 -0
- isa_mate-0.2.0/README.md +164 -0
- isa_mate-0.2.0/isa_mate/__init__.py +27 -0
- isa_mate-0.2.0/isa_mate/__main__.py +5 -0
- isa_mate-0.2.0/isa_mate/accounts/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/accounts/commands.py +394 -0
- isa_mate-0.2.0/isa_mate/agent/__init__.py +12 -0
- isa_mate-0.2.0/isa_mate/agent/config.py +1194 -0
- isa_mate-0.2.0/isa_mate/agent/delegation_directory.py +266 -0
- isa_mate-0.2.0/isa_mate/agent/multi_team_detection.py +145 -0
- isa_mate-0.2.0/isa_mate/agent/project_context.py +128 -0
- isa_mate-0.2.0/isa_mate/agent/research.py +197 -0
- isa_mate-0.2.0/isa_mate/agent/runtime.py +1861 -0
- isa_mate-0.2.0/isa_mate/agent/trading_contract.py +297 -0
- isa_mate-0.2.0/isa_mate/agent/trading_handoff.py +316 -0
- isa_mate-0.2.0/isa_mate/auth/__init__.py +20 -0
- isa_mate-0.2.0/isa_mate/auth/audit.py +79 -0
- isa_mate-0.2.0/isa_mate/auth/authorization.py +46 -0
- isa_mate-0.2.0/isa_mate/auth/clients.py +150 -0
- isa_mate-0.2.0/isa_mate/auth/middleware.py +214 -0
- isa_mate-0.2.0/isa_mate/auth/models.py +51 -0
- isa_mate-0.2.0/isa_mate/auth/scopes.py +120 -0
- isa_mate-0.2.0/isa_mate/channels/__init__.py +35 -0
- isa_mate-0.2.0/isa_mate/channels/discord/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/discord/adapter.py +121 -0
- isa_mate-0.2.0/isa_mate/channels/discord/parser.py +146 -0
- isa_mate-0.2.0/isa_mate/channels/discord/sender.py +109 -0
- isa_mate-0.2.0/isa_mate/channels/feishu/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/feishu/adapter.py +143 -0
- isa_mate-0.2.0/isa_mate/channels/feishu/parser.py +97 -0
- isa_mate-0.2.0/isa_mate/channels/feishu/sender.py +120 -0
- isa_mate-0.2.0/isa_mate/channels/feishu/signature.py +36 -0
- isa_mate-0.2.0/isa_mate/channels/google_chat/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/google_chat/adapter.py +140 -0
- isa_mate-0.2.0/isa_mate/channels/imessage/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/imessage/adapter.py +137 -0
- isa_mate-0.2.0/isa_mate/channels/line/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/line/adapter.py +157 -0
- isa_mate-0.2.0/isa_mate/channels/matrix/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/matrix/adapter.py +125 -0
- isa_mate-0.2.0/isa_mate/channels/matrix/parser.py +81 -0
- isa_mate-0.2.0/isa_mate/channels/matrix/sender.py +91 -0
- isa_mate-0.2.0/isa_mate/channels/msteams/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/msteams/adapter.py +136 -0
- isa_mate-0.2.0/isa_mate/channels/msteams/parser.py +103 -0
- isa_mate-0.2.0/isa_mate/channels/msteams/sender.py +132 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/__init__.py +30 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/contracts.py +31 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/metrics.py +182 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/models.py +66 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/replay.py +48 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/store.py +369 -0
- isa_mate-0.2.0/isa_mate/channels/runtime/workers.py +462 -0
- isa_mate-0.2.0/isa_mate/channels/security/__init__.py +86 -0
- isa_mate-0.2.0/isa_mate/channels/security/channel_policy.py +439 -0
- isa_mate-0.2.0/isa_mate/channels/security/channel_policy_models.py +384 -0
- isa_mate-0.2.0/isa_mate/channels/security/pairing_store.py +652 -0
- isa_mate-0.2.0/isa_mate/channels/security/security_audit_log.py +321 -0
- isa_mate-0.2.0/isa_mate/channels/security/webhook_security_models.py +413 -0
- isa_mate-0.2.0/isa_mate/channels/security/webhook_signature.py +188 -0
- isa_mate-0.2.0/isa_mate/channels/signal/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/signal/adapter.py +125 -0
- isa_mate-0.2.0/isa_mate/channels/signal/parser.py +72 -0
- isa_mate-0.2.0/isa_mate/channels/signal/sender.py +96 -0
- isa_mate-0.2.0/isa_mate/channels/slack/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/slack/adapter.py +153 -0
- isa_mate-0.2.0/isa_mate/channels/slack/parser.py +95 -0
- isa_mate-0.2.0/isa_mate/channels/slack/sender.py +96 -0
- isa_mate-0.2.0/isa_mate/channels/slack/signature.py +61 -0
- isa_mate-0.2.0/isa_mate/channels/telegram/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/telegram/adapter.py +390 -0
- isa_mate-0.2.0/isa_mate/channels/telegram/parser.py +107 -0
- isa_mate-0.2.0/isa_mate/channels/telegram/sender.py +95 -0
- isa_mate-0.2.0/isa_mate/channels/telegram_bridge.py +177 -0
- isa_mate-0.2.0/isa_mate/channels/whatsapp/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/channels/whatsapp/adapter.py +152 -0
- isa_mate-0.2.0/isa_mate/channels/whatsapp/parser.py +191 -0
- isa_mate-0.2.0/isa_mate/channels/whatsapp/sender.py +109 -0
- isa_mate-0.2.0/isa_mate/channels/whatsapp/signature.py +40 -0
- isa_mate-0.2.0/isa_mate/cli.py +1299 -0
- isa_mate-0.2.0/isa_mate/connectivity.py +295 -0
- isa_mate-0.2.0/isa_mate/credentials/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/credentials/cli.py +132 -0
- isa_mate-0.2.0/isa_mate/credentials/models.py +86 -0
- isa_mate-0.2.0/isa_mate/credentials/resolver.py +289 -0
- isa_mate-0.2.0/isa_mate/credentials/routes.py +185 -0
- isa_mate-0.2.0/isa_mate/desktop_agent.py +26 -0
- isa_mate-0.2.0/isa_mate/doctor/__init__.py +19 -0
- isa_mate-0.2.0/isa_mate/doctor/engine.py +1368 -0
- isa_mate-0.2.0/isa_mate/errors/__init__.py +38 -0
- isa_mate-0.2.0/isa_mate/errors/registry.py +467 -0
- isa_mate-0.2.0/isa_mate/errors/taxonomy.py +348 -0
- isa_mate-0.2.0/isa_mate/execution/__init__.py +44 -0
- isa_mate-0.2.0/isa_mate/execution/a2a_router.py +198 -0
- isa_mate-0.2.0/isa_mate/execution/agent_config_client.py +109 -0
- isa_mate-0.2.0/isa_mate/execution/audit_emitter.py +401 -0
- isa_mate-0.2.0/isa_mate/execution/autonomous.py +342 -0
- isa_mate-0.2.0/isa_mate/execution/autonomous_event_bus.py +285 -0
- isa_mate-0.2.0/isa_mate/execution/autonomous_reactive_router.py +1717 -0
- isa_mate-0.2.0/isa_mate/execution/browser_router.py +173 -0
- isa_mate-0.2.0/isa_mate/execution/chat_metrics.py +430 -0
- isa_mate-0.2.0/isa_mate/execution/chat_router.py +435 -0
- isa_mate-0.2.0/isa_mate/execution/dispatch_lifecycle.py +435 -0
- isa_mate-0.2.0/isa_mate/execution/dispatch_store.py +141 -0
- isa_mate-0.2.0/isa_mate/execution/hil_router.py +830 -0
- isa_mate-0.2.0/isa_mate/execution/idempotency.py +320 -0
- isa_mate-0.2.0/isa_mate/execution/notification_router.py +128 -0
- isa_mate-0.2.0/isa_mate/execution/observability_router.py +795 -0
- isa_mate-0.2.0/isa_mate/execution/persistence_router.py +2454 -0
- isa_mate-0.2.0/isa_mate/execution/proactive_router.py +1593 -0
- isa_mate-0.2.0/isa_mate/execution/response_filter.py +61 -0
- isa_mate-0.2.0/isa_mate/execution/responsive_publisher.py +488 -0
- isa_mate-0.2.0/isa_mate/execution/responsive_router.py +709 -0
- isa_mate-0.2.0/isa_mate/execution/stream_helpers.py +457 -0
- isa_mate-0.2.0/isa_mate/execution/swarm_router.py +188 -0
- isa_mate-0.2.0/isa_mate/execution/workflow_manager.py +125 -0
- isa_mate-0.2.0/isa_mate/execution/workflow_router.py +134 -0
- isa_mate-0.2.0/isa_mate/failover/__init__.py +33 -0
- isa_mate-0.2.0/isa_mate/failover/classifier.py +83 -0
- isa_mate-0.2.0/isa_mate/failover/cooldown.py +42 -0
- isa_mate-0.2.0/isa_mate/failover/exceptions.py +49 -0
- isa_mate-0.2.0/isa_mate/failover/health.py +142 -0
- isa_mate-0.2.0/isa_mate/failover/response_normalizer.py +82 -0
- isa_mate-0.2.0/isa_mate/failover/router.py +372 -0
- isa_mate-0.2.0/isa_mate/fault_injection/__init__.py +44 -0
- isa_mate-0.2.0/isa_mate/fault_injection/config.py +152 -0
- isa_mate-0.2.0/isa_mate/fault_injection/engine.py +397 -0
- isa_mate-0.2.0/isa_mate/fault_injection/injectors.py +275 -0
- isa_mate-0.2.0/isa_mate/gateway/__init__.py +6 -0
- isa_mate-0.2.0/isa_mate/gateway/catalog.py +440 -0
- isa_mate-0.2.0/isa_mate/gateway/cli_handler.py +117 -0
- isa_mate-0.2.0/isa_mate/gateway/pair_commands.py +489 -0
- isa_mate-0.2.0/isa_mate/gateway/rate_limit.py +203 -0
- isa_mate-0.2.0/isa_mate/gateway/rate_limit_middleware.py +110 -0
- isa_mate-0.2.0/isa_mate/gateway/rate_limit_policy.py +106 -0
- isa_mate-0.2.0/isa_mate/gateway/redis_rate_limiter.py +173 -0
- isa_mate-0.2.0/isa_mate/gateway/scope_dependency.py +78 -0
- isa_mate-0.2.0/isa_mate/gateway/server.py +2838 -0
- isa_mate-0.2.0/isa_mate/gateway/skills_routes.py +178 -0
- isa_mate-0.2.0/isa_mate/gateway/startup_validator.py +197 -0
- isa_mate-0.2.0/isa_mate/gateway/token_bucket.py +142 -0
- isa_mate-0.2.0/isa_mate/hub/__init__.py +17 -0
- isa_mate-0.2.0/isa_mate/hub/autonomy_hub.py +6 -0
- isa_mate-0.2.0/isa_mate/hub/base.py +4 -0
- isa_mate-0.2.0/isa_mate/hub/data_hub.py +8 -0
- isa_mate-0.2.0/isa_mate/hub/event_bus.py +4 -0
- isa_mate-0.2.0/isa_mate/hub/event_hub.py +9 -0
- isa_mate-0.2.0/isa_mate/hub/events.py +28 -0
- isa_mate-0.2.0/isa_mate/hub/hub.py +4 -0
- isa_mate-0.2.0/isa_mate/hub/interaction_hub.py +8 -0
- isa_mate-0.2.0/isa_mate/hub/memory_hub.py +7 -0
- isa_mate-0.2.0/isa_mate/hub/response_hub.py +16 -0
- isa_mate-0.2.0/isa_mate/logging/__init__.py +32 -0
- isa_mate-0.2.0/isa_mate/logging/structured.py +217 -0
- isa_mate-0.2.0/isa_mate/marketplace/__init__.py +1 -0
- isa_mate-0.2.0/isa_mate/marketplace/models.py +256 -0
- isa_mate-0.2.0/isa_mate/marketplace/pipeline.py +305 -0
- isa_mate-0.2.0/isa_mate/marketplace/repository.py +256 -0
- isa_mate-0.2.0/isa_mate/marketplace/router.py +112 -0
- isa_mate-0.2.0/isa_mate/marketplace/service.py +273 -0
- isa_mate-0.2.0/isa_mate/mate_agent.py +1256 -0
- isa_mate-0.2.0/isa_mate/mcp_server.py +154 -0
- isa_mate-0.2.0/isa_mate/memory/__init__.py +16 -0
- isa_mate-0.2.0/isa_mate/memory/adapters/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/memory/api.py +289 -0
- isa_mate-0.2.0/isa_mate/memory/benchmark.py +210 -0
- isa_mate-0.2.0/isa_mate/memory/cli.py +305 -0
- isa_mate-0.2.0/isa_mate/memory/compaction.py +221 -0
- isa_mate-0.2.0/isa_mate/memory/compactor.py +272 -0
- isa_mate-0.2.0/isa_mate/memory/local_store.py +328 -0
- isa_mate-0.2.0/isa_mate/memory/migration.py +125 -0
- isa_mate-0.2.0/isa_mate/memory/models.py +84 -0
- isa_mate-0.2.0/isa_mate/memory/store_adapter.py +241 -0
- isa_mate-0.2.0/isa_mate/memory/turn_capture.py +221 -0
- isa_mate-0.2.0/isa_mate/metrics/__init__.py +45 -0
- isa_mate-0.2.0/isa_mate/metrics/gateway.py +123 -0
- isa_mate-0.2.0/isa_mate/metrics/memory.py +128 -0
- isa_mate-0.2.0/isa_mate/metrics/middleware.py +129 -0
- isa_mate-0.2.0/isa_mate/metrics/registry.py +275 -0
- isa_mate-0.2.0/isa_mate/metrics/scheduler.py +110 -0
- isa_mate-0.2.0/isa_mate/migrate/__init__.py +265 -0
- isa_mate-0.2.0/isa_mate/onboard/__init__.py +5 -0
- isa_mate-0.2.0/isa_mate/onboard/connect.py +197 -0
- isa_mate-0.2.0/isa_mate/onboard/templates/default_config.yaml +147 -0
- isa_mate-0.2.0/isa_mate/onboard/wizard.py +807 -0
- isa_mate-0.2.0/isa_mate/pool_bridge.py +512 -0
- isa_mate-0.2.0/isa_mate/proactive/__init__.py +83 -0
- isa_mate-0.2.0/isa_mate/proactive/dry_run.py +407 -0
- isa_mate-0.2.0/isa_mate/proactive/event_backend.py +515 -0
- isa_mate-0.2.0/isa_mate/proactive/handler.py +251 -0
- isa_mate-0.2.0/isa_mate/proactive/rate_limit.py +510 -0
- isa_mate-0.2.0/isa_mate/proactive/scheduler_bridge.py +280 -0
- isa_mate-0.2.0/isa_mate/proactive/store.py +687 -0
- isa_mate-0.2.0/isa_mate/proactive/threshold_bridge.py +320 -0
- isa_mate-0.2.0/isa_mate/proactive/webhook_signature.py +193 -0
- isa_mate-0.2.0/isa_mate/routing/__init__.py +24 -0
- isa_mate-0.2.0/isa_mate/routing/budget.py +219 -0
- isa_mate-0.2.0/isa_mate/routing/guardrails.py +232 -0
- isa_mate-0.2.0/isa_mate/routing/health_registry.py +290 -0
- isa_mate-0.2.0/isa_mate/routing/latency.py +206 -0
- isa_mate-0.2.0/isa_mate/routing/router.py +246 -0
- isa_mate-0.2.0/isa_mate/scheduler/__init__.py +116 -0
- isa_mate-0.2.0/isa_mate/scheduler/api.py +620 -0
- isa_mate-0.2.0/isa_mate/scheduler/cli.py +822 -0
- isa_mate-0.2.0/isa_mate/scheduler/cron_parser.py +232 -0
- isa_mate-0.2.0/isa_mate/scheduler/loop.py +240 -0
- isa_mate-0.2.0/isa_mate/scheduler/migrations.py +174 -0
- isa_mate-0.2.0/isa_mate/scheduler/models.py +408 -0
- isa_mate-0.2.0/isa_mate/scheduler/runner.py +172 -0
- isa_mate-0.2.0/isa_mate/scheduler/scheduler.py +252 -0
- isa_mate-0.2.0/isa_mate/scheduler/store.py +681 -0
- isa_mate-0.2.0/isa_mate/scheduler/team_jobs.py +227 -0
- isa_mate-0.2.0/isa_mate/shell_safety/__init__.py +9 -0
- isa_mate-0.2.0/isa_mate/shell_safety/redactor.py +94 -0
- isa_mate-0.2.0/isa_mate/skills/__init__.py +155 -0
- isa_mate-0.2.0/isa_mate/skills/commands.py +842 -0
- isa_mate-0.2.0/isa_mate/skills/file-manager/SKILL.md +81 -0
- isa_mate-0.2.0/isa_mate/skills/local_executor.py +140 -0
- isa_mate-0.2.0/isa_mate/skills/office-manager/SKILL.md +36 -0
- isa_mate-0.2.0/isa_mate/sync/__init__.py +18 -0
- isa_mate-0.2.0/isa_mate/sync/cli.py +177 -0
- isa_mate-0.2.0/isa_mate/sync/encryption.py +128 -0
- isa_mate-0.2.0/isa_mate/sync/engine.py +434 -0
- isa_mate-0.2.0/isa_mate/sync/models.py +135 -0
- isa_mate-0.2.0/isa_mate/tools/__init__.py +547 -0
- isa_mate-0.2.0/isa_mate/tools/errors.py +591 -0
- isa_mate-0.2.0/isa_mate/tools/exec_tools.py +97 -0
- isa_mate-0.2.0/isa_mate/tools/file_tools.py +188 -0
- isa_mate-0.2.0/isa_mate/tools/office_tools.py +344 -0
- isa_mate-0.2.0/isa_mate/tools/protocol_validator.py +530 -0
- isa_mate-0.2.0/isa_mate/tools/redaction.py +227 -0
- isa_mate-0.2.0/isa_mate/tools/search_tools.py +169 -0
- isa_mate-0.2.0/isa_mate/tools/shell_safety.py +310 -0
- isa_mate-0.2.0/isa_mate/tools/system_tools.py +195 -0
- isa_mate-0.2.0/isa_mate/trace_context.py +142 -0
- isa_mate-0.2.0/isa_mate/tracing.py +142 -0
- isa_mate-0.2.0/isa_mate/tracker/__init__.py +0 -0
- isa_mate-0.2.0/isa_mate/tracker/lifecycle.py +133 -0
- isa_mate-0.2.0/isa_mate/triggers/__init__.py +31 -0
- isa_mate-0.2.0/isa_mate/triggers/base.py +83 -0
- isa_mate-0.2.0/isa_mate/triggers/github_trigger.py +105 -0
- isa_mate-0.2.0/isa_mate/triggers/health_plugins.py +248 -0
- isa_mate-0.2.0/isa_mate/triggers/metric_threshold_trigger.py +216 -0
- isa_mate-0.2.0/isa_mate/triggers/trigger_manager.py +89 -0
- isa_mate-0.2.0/isa_mate/triggers/webhook_trigger.py +64 -0
- isa_mate-0.2.0/isa_mate/watchdog/__init__.py +16 -0
- isa_mate-0.2.0/isa_mate/watchdog/health_model.py +139 -0
- isa_mate-0.2.0/isa_mate/watchdog/supervisor.py +161 -0
- isa_mate-0.2.0/pyproject.toml +66 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.egg-info/
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.egg
|
|
10
|
+
|
|
11
|
+
# Virtual environments
|
|
12
|
+
.venv/
|
|
13
|
+
.venv-bringup/
|
|
14
|
+
venv/
|
|
15
|
+
env/
|
|
16
|
+
|
|
17
|
+
# IDE
|
|
18
|
+
.idea/
|
|
19
|
+
.vscode/
|
|
20
|
+
*.swp
|
|
21
|
+
*.swo
|
|
22
|
+
*~
|
|
23
|
+
|
|
24
|
+
# OS
|
|
25
|
+
.DS_Store
|
|
26
|
+
Thumbs.db
|
|
27
|
+
|
|
28
|
+
# Testing
|
|
29
|
+
.pytest_cache/
|
|
30
|
+
.coverage
|
|
31
|
+
htmlcov/
|
|
32
|
+
.tox/
|
|
33
|
+
|
|
34
|
+
# Environment
|
|
35
|
+
.env
|
|
36
|
+
.env.local
|
|
37
|
+
.env.*.local
|
|
38
|
+
|
|
39
|
+
# Database
|
|
40
|
+
*.db
|
|
41
|
+
*.db-shm
|
|
42
|
+
*.db-wal
|
|
43
|
+
*.sqlite
|
|
44
|
+
*.sqlite3
|
|
45
|
+
|
|
46
|
+
# Runtime logs
|
|
47
|
+
logs/
|
|
48
|
+
|
|
49
|
+
# Local secret overrides — gitignored, never commit (secret sweep 2026-06)
|
|
50
|
+
*.local.env
|
|
51
|
+
dev.local.env
|
isa_mate-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: isa-mate
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: isA Mate - The default agent app of the isA platform
|
|
5
|
+
Project-URL: Homepage, https://github.com/xenoISA/isA_Mate
|
|
6
|
+
Project-URL: Repository, https://github.com/xenoISA/isA_Mate
|
|
7
|
+
Project-URL: Issues, https://github.com/xenoISA/isA_Mate/issues
|
|
8
|
+
License: MIT
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Requires-Dist: aiosqlite>=0.19.0
|
|
19
|
+
Requires-Dist: croniter>=2.0.0
|
|
20
|
+
Requires-Dist: docker>=7.0.0
|
|
21
|
+
Requires-Dist: fastapi>=0.109.0
|
|
22
|
+
Requires-Dist: httpx>=0.25.0
|
|
23
|
+
Requires-Dist: huggingface-hub>=0.20.0
|
|
24
|
+
Requires-Dist: isa-agent-sdk>=0.3.3
|
|
25
|
+
Requires-Dist: isa-common>=0.6.0
|
|
26
|
+
Requires-Dist: isa-model>=0.6.0
|
|
27
|
+
Requires-Dist: mcp>=1.0.0
|
|
28
|
+
Requires-Dist: packaging>=23.0
|
|
29
|
+
Requires-Dist: prometheus-client>=0.20.0
|
|
30
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
31
|
+
Requires-Dist: pyyaml>=6.0
|
|
32
|
+
Requires-Dist: redis>=5.0.0
|
|
33
|
+
Requires-Dist: sse-starlette>=1.6.5
|
|
34
|
+
Requires-Dist: uvicorn>=0.27.0
|
|
35
|
+
Requires-Dist: websockets>=12.0
|
|
36
|
+
Provides-Extra: channels
|
|
37
|
+
Requires-Dist: discord-py>=2.0; extra == 'channels'
|
|
38
|
+
Requires-Dist: python-telegram-bot>=20.0; extra == 'channels'
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: cryptography>=41.0; extra == 'dev'
|
|
41
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest-timeout>=2.2.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest>=7.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
45
|
+
Provides-Extra: office
|
|
46
|
+
Requires-Dist: fpdf2>=2.8.0; extra == 'office'
|
|
47
|
+
Requires-Dist: openpyxl>=3.1.0; extra == 'office'
|
|
48
|
+
Requires-Dist: python-docx>=1.1.0; extra == 'office'
|
|
49
|
+
Requires-Dist: python-pptx>=0.6.23; extra == 'office'
|
|
50
|
+
Provides-Extra: sync
|
|
51
|
+
Requires-Dist: cryptography>=41.0; extra == 'sync'
|
|
52
|
+
Description-Content-Type: text/markdown
|
|
53
|
+
|
|
54
|
+
# isA Mate
|
|
55
|
+
|
|
56
|
+
The default agent app of the [isA platform](https://github.com/xenoISA). A personal AI companion that connects to any messaging platform and runs locally or in the cloud.
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
- **Multi-channel**: Telegram, Discord, Slack, WhatsApp, Feishu, Signal, Teams, Matrix (and more coming)
|
|
61
|
+
- **Multi-model**: Route through Anthropic, OpenAI, or local Ollama models
|
|
62
|
+
- **Multi-agent**: Hybrid A2A delegation across pinned platform teams and dynamically discovered org agents
|
|
63
|
+
- **Memory**: Persistent conversation memory with SQLite or remote backends
|
|
64
|
+
- **Tools**: 190+ tools via MCP (Model Context Protocol)
|
|
65
|
+
- **Local-first**: Runs on your machine with optional cloud deployment
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
### Option A: pip install (recommended)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pip install isa-mate
|
|
73
|
+
|
|
74
|
+
# Interactive setup — picks your model provider, channels, etc.
|
|
75
|
+
isa-mate init
|
|
76
|
+
|
|
77
|
+
# Start the gateway server
|
|
78
|
+
isa-mate serve
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Option B: Docker (one command)
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
docker run -e ANTHROPIC_API_KEY=sk-... -p 18789:18789 ghcr.io/xenoisa/isa-mate
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Or with Docker Compose for the full stack:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git clone https://github.com/xenoISA/isA_Mate.git && cd isA_Mate
|
|
91
|
+
echo "ANTHROPIC_API_KEY=sk-..." > .env
|
|
92
|
+
docker compose up
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Verify it's running
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Health check
|
|
99
|
+
curl http://localhost:18789/health
|
|
100
|
+
|
|
101
|
+
# Send a message
|
|
102
|
+
curl -X POST http://localhost:18789/v1/query \
|
|
103
|
+
-H "Content-Type: application/json" \
|
|
104
|
+
-d '{"prompt":"Hello!"}'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Requirements
|
|
108
|
+
|
|
109
|
+
- Python 3.10+ (pip install) or Docker
|
|
110
|
+
- An AI model provider (Ollama for free local models, or Anthropic/OpenAI subscription)
|
|
111
|
+
- If using a subscription provider (`anthropic-sub` / `codex-sub`):
|
|
112
|
+
`SUBSCRIPTION_PROXY_URL` pointing at an `isa_model` deployment. The
|
|
113
|
+
subscription proxy lives in `isa_model` since xenoISA/isA_Model#901 —
|
|
114
|
+
Mate no longer starts it locally. See
|
|
115
|
+
`docs/guides/subscription_proxy_migration.md` in the isa_model repo.
|
|
116
|
+
|
|
117
|
+
## Commands
|
|
118
|
+
|
|
119
|
+
| Command | Description |
|
|
120
|
+
|---------|-------------|
|
|
121
|
+
| `isa-mate init` | Interactive setup wizard |
|
|
122
|
+
| `isa-mate serve` | Start gateway server |
|
|
123
|
+
| `isa-mate cli` | Interactive terminal mode |
|
|
124
|
+
| `isa-mate query "..."` | One-shot query |
|
|
125
|
+
| `isa-mate doctor` | Run diagnostics |
|
|
126
|
+
| `isa-mate accounts` | Manage subscription accounts |
|
|
127
|
+
|
|
128
|
+
## Connecting Channels
|
|
129
|
+
|
|
130
|
+
After setup, connect your favorite messaging platform:
|
|
131
|
+
|
|
132
|
+
### Telegram
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# 1. Create a bot via @BotFather, get your token
|
|
136
|
+
# 2. Set the token
|
|
137
|
+
export TELEGRAM_BOT_TOKEN=your-token-here
|
|
138
|
+
|
|
139
|
+
# 3. Start with Telegram enabled
|
|
140
|
+
isa-mate serve
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Discord
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# 1. Create a Discord bot at https://discord.com/developers
|
|
147
|
+
# 2. Set the token
|
|
148
|
+
export DISCORD_BOT_TOKEN=your-token-here
|
|
149
|
+
|
|
150
|
+
# 3. Install the channels extra
|
|
151
|
+
pip install isa-mate[channels]
|
|
152
|
+
|
|
153
|
+
# 4. Start
|
|
154
|
+
isa-mate serve
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Slack
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# 1. Create a Slack app at https://api.slack.com/apps
|
|
161
|
+
# 2. Set credentials
|
|
162
|
+
export SLACK_BOT_TOKEN=xoxb-...
|
|
163
|
+
export SLACK_SIGNING_SECRET=your-secret
|
|
164
|
+
|
|
165
|
+
# 3. Start
|
|
166
|
+
isa-mate serve
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
See [Channel Integrations Guide](docs/channels.md) for all supported platforms.
|
|
170
|
+
|
|
171
|
+
## Configuration
|
|
172
|
+
|
|
173
|
+
Configuration is stored at `~/.isa/mate/config.yaml`. Run `isa-mate init` to generate it interactively, or use `--non-interactive` mode with environment variables:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
ISA_MATE_MODEL=llama3 ISA_MATE_PROVIDER=ollama isa-mate init --non-interactive
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Mate delegation supports a hybrid routing model:
|
|
180
|
+
- Pinned core teams from `teams.entries`
|
|
181
|
+
- Dynamic org-agent lookup from `teams.directory`
|
|
182
|
+
- Per-request shortlisting before the model decides whether to delegate
|
|
183
|
+
|
|
184
|
+
### Environment Variables
|
|
185
|
+
|
|
186
|
+
| Variable | Default | Description |
|
|
187
|
+
|----------|---------|-------------|
|
|
188
|
+
| `ISA_MATE_HOST` | `127.0.0.1` | Gateway bind host |
|
|
189
|
+
| `ISA_MATE_PORT` | `18789` | Gateway bind port |
|
|
190
|
+
| `ISA_MATE_MODEL` | `gpt-5-nano` | Model name |
|
|
191
|
+
| `ISA_MATE_PROVIDER` | (empty) | Provider: `anthropic-sub`, `codex-sub`, `ollama` |
|
|
192
|
+
| `ISA_MATE_EXECUTION_MODE` | `reactive` | Agent execution mode |
|
|
193
|
+
| `ANTHROPIC_API_KEY` | (empty) | Anthropic API key (for Docker) |
|
|
194
|
+
|
|
195
|
+
## Deployment Modes
|
|
196
|
+
|
|
197
|
+
- **Local-first** (`isa-mate serve`): Run on your machine
|
|
198
|
+
- **Docker** (`docker compose up`): Containerized with health checks
|
|
199
|
+
- **Cloud** (`isa-mate cloud`): Headless cloud deployment
|
|
200
|
+
- **Pool** (`isa-mate pool`): Shared pool mode for multi-tenant setups
|
|
201
|
+
|
|
202
|
+
## isA Mate vs OpenClaw
|
|
203
|
+
|
|
204
|
+
| Capability | isA Mate | OpenClaw |
|
|
205
|
+
|------------|----------|----------|
|
|
206
|
+
| Setup | `pip install isa-mate && isa-mate init` | Clone repo + manual config |
|
|
207
|
+
| Docker | `docker run ... ghcr.io/xenoisa/isa-mate` | No official image |
|
|
208
|
+
| Channels | 8+ (Telegram, Discord, Slack, WhatsApp, ...) | API only |
|
|
209
|
+
| Multi-model | Anthropic, OpenAI, Ollama, local | Single provider |
|
|
210
|
+
| Multi-agent | Hybrid A2A delegation | Single agent |
|
|
211
|
+
| Tools | 190+ via MCP | Plugin-based |
|
|
212
|
+
| Memory | SQLite/remote with compaction | In-memory |
|
|
213
|
+
| Local-first | Yes — runs on your laptop | Server-only |
|
|
214
|
+
|
|
215
|
+
## License
|
|
216
|
+
|
|
217
|
+
MIT
|
isa_mate-0.2.0/README.md
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# isA Mate
|
|
2
|
+
|
|
3
|
+
The default agent app of the [isA platform](https://github.com/xenoISA). A personal AI companion that connects to any messaging platform and runs locally or in the cloud.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Multi-channel**: Telegram, Discord, Slack, WhatsApp, Feishu, Signal, Teams, Matrix (and more coming)
|
|
8
|
+
- **Multi-model**: Route through Anthropic, OpenAI, or local Ollama models
|
|
9
|
+
- **Multi-agent**: Hybrid A2A delegation across pinned platform teams and dynamically discovered org agents
|
|
10
|
+
- **Memory**: Persistent conversation memory with SQLite or remote backends
|
|
11
|
+
- **Tools**: 190+ tools via MCP (Model Context Protocol)
|
|
12
|
+
- **Local-first**: Runs on your machine with optional cloud deployment
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
### Option A: pip install (recommended)
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pip install isa-mate
|
|
20
|
+
|
|
21
|
+
# Interactive setup — picks your model provider, channels, etc.
|
|
22
|
+
isa-mate init
|
|
23
|
+
|
|
24
|
+
# Start the gateway server
|
|
25
|
+
isa-mate serve
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Option B: Docker (one command)
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
docker run -e ANTHROPIC_API_KEY=sk-... -p 18789:18789 ghcr.io/xenoisa/isa-mate
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Or with Docker Compose for the full stack:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
git clone https://github.com/xenoISA/isA_Mate.git && cd isA_Mate
|
|
38
|
+
echo "ANTHROPIC_API_KEY=sk-..." > .env
|
|
39
|
+
docker compose up
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Verify it's running
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Health check
|
|
46
|
+
curl http://localhost:18789/health
|
|
47
|
+
|
|
48
|
+
# Send a message
|
|
49
|
+
curl -X POST http://localhost:18789/v1/query \
|
|
50
|
+
-H "Content-Type: application/json" \
|
|
51
|
+
-d '{"prompt":"Hello!"}'
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
- Python 3.10+ (pip install) or Docker
|
|
57
|
+
- An AI model provider (Ollama for free local models, or Anthropic/OpenAI subscription)
|
|
58
|
+
- If using a subscription provider (`anthropic-sub` / `codex-sub`):
|
|
59
|
+
`SUBSCRIPTION_PROXY_URL` pointing at an `isa_model` deployment. The
|
|
60
|
+
subscription proxy lives in `isa_model` since xenoISA/isA_Model#901 —
|
|
61
|
+
Mate no longer starts it locally. See
|
|
62
|
+
`docs/guides/subscription_proxy_migration.md` in the isa_model repo.
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
| Command | Description |
|
|
67
|
+
|---------|-------------|
|
|
68
|
+
| `isa-mate init` | Interactive setup wizard |
|
|
69
|
+
| `isa-mate serve` | Start gateway server |
|
|
70
|
+
| `isa-mate cli` | Interactive terminal mode |
|
|
71
|
+
| `isa-mate query "..."` | One-shot query |
|
|
72
|
+
| `isa-mate doctor` | Run diagnostics |
|
|
73
|
+
| `isa-mate accounts` | Manage subscription accounts |
|
|
74
|
+
|
|
75
|
+
## Connecting Channels
|
|
76
|
+
|
|
77
|
+
After setup, connect your favorite messaging platform:
|
|
78
|
+
|
|
79
|
+
### Telegram
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# 1. Create a bot via @BotFather, get your token
|
|
83
|
+
# 2. Set the token
|
|
84
|
+
export TELEGRAM_BOT_TOKEN=your-token-here
|
|
85
|
+
|
|
86
|
+
# 3. Start with Telegram enabled
|
|
87
|
+
isa-mate serve
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Discord
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# 1. Create a Discord bot at https://discord.com/developers
|
|
94
|
+
# 2. Set the token
|
|
95
|
+
export DISCORD_BOT_TOKEN=your-token-here
|
|
96
|
+
|
|
97
|
+
# 3. Install the channels extra
|
|
98
|
+
pip install isa-mate[channels]
|
|
99
|
+
|
|
100
|
+
# 4. Start
|
|
101
|
+
isa-mate serve
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Slack
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# 1. Create a Slack app at https://api.slack.com/apps
|
|
108
|
+
# 2. Set credentials
|
|
109
|
+
export SLACK_BOT_TOKEN=xoxb-...
|
|
110
|
+
export SLACK_SIGNING_SECRET=your-secret
|
|
111
|
+
|
|
112
|
+
# 3. Start
|
|
113
|
+
isa-mate serve
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
See [Channel Integrations Guide](docs/channels.md) for all supported platforms.
|
|
117
|
+
|
|
118
|
+
## Configuration
|
|
119
|
+
|
|
120
|
+
Configuration is stored at `~/.isa/mate/config.yaml`. Run `isa-mate init` to generate it interactively, or use `--non-interactive` mode with environment variables:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
ISA_MATE_MODEL=llama3 ISA_MATE_PROVIDER=ollama isa-mate init --non-interactive
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Mate delegation supports a hybrid routing model:
|
|
127
|
+
- Pinned core teams from `teams.entries`
|
|
128
|
+
- Dynamic org-agent lookup from `teams.directory`
|
|
129
|
+
- Per-request shortlisting before the model decides whether to delegate
|
|
130
|
+
|
|
131
|
+
### Environment Variables
|
|
132
|
+
|
|
133
|
+
| Variable | Default | Description |
|
|
134
|
+
|----------|---------|-------------|
|
|
135
|
+
| `ISA_MATE_HOST` | `127.0.0.1` | Gateway bind host |
|
|
136
|
+
| `ISA_MATE_PORT` | `18789` | Gateway bind port |
|
|
137
|
+
| `ISA_MATE_MODEL` | `gpt-5-nano` | Model name |
|
|
138
|
+
| `ISA_MATE_PROVIDER` | (empty) | Provider: `anthropic-sub`, `codex-sub`, `ollama` |
|
|
139
|
+
| `ISA_MATE_EXECUTION_MODE` | `reactive` | Agent execution mode |
|
|
140
|
+
| `ANTHROPIC_API_KEY` | (empty) | Anthropic API key (for Docker) |
|
|
141
|
+
|
|
142
|
+
## Deployment Modes
|
|
143
|
+
|
|
144
|
+
- **Local-first** (`isa-mate serve`): Run on your machine
|
|
145
|
+
- **Docker** (`docker compose up`): Containerized with health checks
|
|
146
|
+
- **Cloud** (`isa-mate cloud`): Headless cloud deployment
|
|
147
|
+
- **Pool** (`isa-mate pool`): Shared pool mode for multi-tenant setups
|
|
148
|
+
|
|
149
|
+
## isA Mate vs OpenClaw
|
|
150
|
+
|
|
151
|
+
| Capability | isA Mate | OpenClaw |
|
|
152
|
+
|------------|----------|----------|
|
|
153
|
+
| Setup | `pip install isa-mate && isa-mate init` | Clone repo + manual config |
|
|
154
|
+
| Docker | `docker run ... ghcr.io/xenoisa/isa-mate` | No official image |
|
|
155
|
+
| Channels | 8+ (Telegram, Discord, Slack, WhatsApp, ...) | API only |
|
|
156
|
+
| Multi-model | Anthropic, OpenAI, Ollama, local | Single provider |
|
|
157
|
+
| Multi-agent | Hybrid A2A delegation | Single agent |
|
|
158
|
+
| Tools | 190+ via MCP | Plugin-based |
|
|
159
|
+
| Memory | SQLite/remote with compaction | In-memory |
|
|
160
|
+
| Local-first | Yes — runs on your laptop | Server-only |
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
MIT
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# isA Mate Service
|
|
2
|
+
|
|
3
|
+
__version__ = "0.2.0"
|
|
4
|
+
|
|
5
|
+
from .pool_bridge import (
|
|
6
|
+
PoolManagerBridge,
|
|
7
|
+
PoolBridgeConfig,
|
|
8
|
+
MateVisibility,
|
|
9
|
+
MateTier,
|
|
10
|
+
MateSpecs,
|
|
11
|
+
# Backwards compatibility aliases
|
|
12
|
+
DesktopVisibility,
|
|
13
|
+
DesktopTier,
|
|
14
|
+
DesktopSpecs,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
"PoolManagerBridge",
|
|
19
|
+
"PoolBridgeConfig",
|
|
20
|
+
"MateVisibility",
|
|
21
|
+
"MateTier",
|
|
22
|
+
"MateSpecs",
|
|
23
|
+
# Backwards compatibility aliases
|
|
24
|
+
"DesktopVisibility",
|
|
25
|
+
"DesktopTier",
|
|
26
|
+
"DesktopSpecs",
|
|
27
|
+
]
|