apsimo 1.3.0__py3-none-any.whl
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.
- apsimo/__init__.py +38 -0
- apsimo/__main__.py +6 -0
- apsimo/agent/__init__.py +6 -0
- apsimo/agent/client.py +276 -0
- apsimo/agent/models.py +46 -0
- apsimo/agents/__init__.py +20 -0
- apsimo/agents/models.py +264 -0
- apsimo/agents/store.py +861 -0
- apsimo/agents/websocket.py +522 -0
- apsimo/api/__init__.py +1 -0
- apsimo/api/auth_telemetry.py +287 -0
- apsimo/api/authority.py +1203 -0
- apsimo/api/contact_grants.py +347 -0
- apsimo/api/middleware.py +483 -0
- apsimo/api/routers/__init__.py +1 -0
- apsimo/api/routers/commitment_work.py +265 -0
- apsimo/api/routers/context_gate.py +123 -0
- apsimo/api/routers/executions.py +140 -0
- apsimo/api/routers/followup_plans.py +147 -0
- apsimo/api/routers/governed_actions.py +162 -0
- apsimo/api/routers/host.py +14473 -0
- apsimo/api/routers/initiative_work.py +115 -0
- apsimo/api/routers/mining.py +104 -0
- apsimo/api/routers/observations.py +110 -0
- apsimo/api/routers/social_state.py +225 -0
- apsimo/api/routers/task_queue.py +2715 -0
- apsimo/api/routers/temporal_followups.py +251 -0
- apsimo/api/routers/transport.py +110 -0
- apsimo/api/routers/transport_ingress_api.py +240 -0
- apsimo/api/schemas/__init__.py +1 -0
- apsimo/api/schemas/host.py +1949 -0
- apsimo/autonomy/cli.py +110 -0
- apsimo/autonomy/condition_worker.py +437 -0
- apsimo/autonomy/config.py +424 -0
- apsimo/autonomy/loop.py +4316 -0
- apsimo/autonomy/registry.py +339 -0
- apsimo/autonomy/scheduler.py +1822 -0
- apsimo/autonomy/synthesis.py +449 -0
- apsimo/backup.py +962 -0
- apsimo/beliefs/__init__.py +23 -0
- apsimo/beliefs/contradictions.py +109 -0
- apsimo/beliefs/decay.py +61 -0
- apsimo/beliefs/engine.py +479 -0
- apsimo/beliefs/models.py +67 -0
- apsimo/beliefs/promotion.py +41 -0
- apsimo/beliefs/resolve.py +58 -0
- apsimo/beliefs/source_claims.py +690 -0
- apsimo/beliefs/source_projection.py +883 -0
- apsimo/beliefs/source_time.py +208 -0
- apsimo/beliefs/store.py +133 -0
- apsimo/briefings/aggregators.py +824 -0
- apsimo/briefings/composer.py +420 -0
- apsimo/briefings/config.py +55 -0
- apsimo/briefings/delivery.py +439 -0
- apsimo/briefings/engagement.py +97 -0
- apsimo/briefings/engine.py +274 -0
- apsimo/briefings/enhancer.py +99 -0
- apsimo/briefings/models.py +183 -0
- apsimo/briefings/scheduler.py +382 -0
- apsimo/briefings/store.py +435 -0
- apsimo/chain/__init__.py +48 -0
- apsimo/chain/block.py +100 -0
- apsimo/chain/cli.py +704 -0
- apsimo/chain/genesis.py +443 -0
- apsimo/chain/identity.py +416 -0
- apsimo/chain/keys.py +1025 -0
- apsimo/chain/local_keys.py +187 -0
- apsimo/chain/manager.py +290 -0
- apsimo/chain/node.py +163 -0
- apsimo/chain/plugin_transactions.py +371 -0
- apsimo/chain/protocol.py +220 -0
- apsimo/chain/state_machine.py +676 -0
- apsimo/chain/storage.py +503 -0
- apsimo/chain/transactions.py +250 -0
- apsimo/chain/validation.py +397 -0
- apsimo/channels/__init__.py +1 -0
- apsimo/channels/manifest.py +31 -0
- apsimo/channels/migrations/001_channels_schema.sql +12 -0
- apsimo/channels/phone_gateways.py +42 -0
- apsimo/channels/presence.py +188 -0
- apsimo/channels/router.py +235 -0
- apsimo/channels/store.py +231 -0
- apsimo/cli.py +2688 -0
- apsimo/cognition/__init__.py +11 -0
- apsimo/cognition/charter.py +398 -0
- apsimo/cognition/drive_governance.py +3530 -0
- apsimo/cognition/evidence_pipeline.py +1627 -0
- apsimo/cognition/external_events.py +932 -0
- apsimo/cognition/goal_spine.py +3488 -0
- apsimo/cognition/introspection.py +214 -0
- apsimo/cognition/prompt.py +150 -0
- apsimo/cognition/runtime.py +108 -0
- apsimo/cognition/trigger.py +154 -0
- apsimo/commitments/__init__.py +18 -0
- apsimo/commitments/local_work.py +355 -0
- apsimo/commitments/store.py +1052 -0
- apsimo/commitments/work.py +91 -0
- apsimo/compat.py +53 -0
- apsimo/compression/__init__.py +467 -0
- apsimo/connectors/__init__.py +21 -0
- apsimo/connectors/base.py +152 -0
- apsimo/connectors/caldav_calendar.py +125 -0
- apsimo/connectors/fs_documents.py +85 -0
- apsimo/connectors/imap_email.py +138 -0
- apsimo/connectors/manager.py +218 -0
- apsimo/connectors/webhook_pull.py +88 -0
- apsimo/contacts/__init__.py +33 -0
- apsimo/contacts/comms.py +357 -0
- apsimo/contacts/config.py +79 -0
- apsimo/contacts/exporters/__init__.py +1 -0
- apsimo/contacts/exporters/vcard.py +71 -0
- apsimo/contacts/identity_links.py +251 -0
- apsimo/contacts/importer.py +280 -0
- apsimo/contacts/importers/__init__.py +1 -0
- apsimo/contacts/importers/batch.py +43 -0
- apsimo/contacts/importers/macos_contacts.py +101 -0
- apsimo/contacts/migrations/001_contacts_schema.sql +141 -0
- apsimo/contacts/migrations/002_trust_scopes.sql +36 -0
- apsimo/contacts/migrations/003_open_gateway_enum.sql +32 -0
- apsimo/contacts/migrations/004_contact_provision_operations.sql +18 -0
- apsimo/contacts/migrations/005_identity_links.sql +27 -0
- apsimo/contacts/models.py +308 -0
- apsimo/contacts/scoring.py +16 -0
- apsimo/contacts/store.py +1623 -0
- apsimo/contacts/transport_ingress.py +252 -0
- apsimo/contacts/world_bridge.py +314 -0
- apsimo/contextgate/__init__.py +69 -0
- apsimo/contextgate/chunker.py +169 -0
- apsimo/contextgate/estimate.py +54 -0
- apsimo/contextgate/gate.py +313 -0
- apsimo/contextgate/retrieve.py +115 -0
- apsimo/delivery/__init__.py +16 -0
- apsimo/delivery/bridge.py +1260 -0
- apsimo/delivery/channels.py +526 -0
- apsimo/delivery/classification.py +50 -0
- apsimo/delivery/rate_limiter.py +268 -0
- apsimo/delivery/reachout_policy.py +206 -0
- apsimo/directed/__init__.py +22 -0
- apsimo/directed/audit.py +167 -0
- apsimo/directed/intake.py +95 -0
- apsimo/directed/models.py +191 -0
- apsimo/directed/service.py +509 -0
- apsimo/directives/__init__.py +25 -0
- apsimo/directives/evidence.py +87 -0
- apsimo/directives/extractor.py +188 -0
- apsimo/directives/guard.py +364 -0
- apsimo/directives/models.py +206 -0
- apsimo/directives/service.py +372 -0
- apsimo/directives/store.py +167 -0
- apsimo/doctor.py +2173 -0
- apsimo/environment.py +43 -0
- apsimo/events/__init__.py +33 -0
- apsimo/events/broadcaster.py +98 -0
- apsimo/events/bus.py +217 -0
- apsimo/events/journal.py +863 -0
- apsimo/events/stream.py +131 -0
- apsimo/events/types.py +150 -0
- apsimo/execution_results.py +357 -0
- apsimo/feedback/__init__.py +5 -0
- apsimo/feedback/store.py +76 -0
- apsimo/feeds/__init__.py +19 -0
- apsimo/feeds/cli.py +84 -0
- apsimo/feeds/engine.py +437 -0
- apsimo/feeds/example-feed.yaml +77 -0
- apsimo/feeds/hermes_cron.py +126 -0
- apsimo/feeds/manager.py +235 -0
- apsimo/feeds/spec.py +250 -0
- apsimo/feeds/template.py +202 -0
- apsimo/gate/__init__.py +18 -0
- apsimo/gate/audit.py +61 -0
- apsimo/gate/communication_policy.py +166 -0
- apsimo/gate/config.py +72 -0
- apsimo/gate/context_provenance.py +170 -0
- apsimo/gate/env_risk.py +226 -0
- apsimo/gate/guard_audit.py +353 -0
- apsimo/gate/layers/__init__.py +1 -0
- apsimo/gate/layers/base.py +15 -0
- apsimo/gate/layers/l1_recipient.py +66 -0
- apsimo/gate/layers/l2_pii.py +134 -0
- apsimo/gate/layers/l3_cross_context.py +50 -0
- apsimo/gate/layers/l4_trust_tier.py +78 -0
- apsimo/gate/layers/l5_injection.py +199 -0
- apsimo/gate/layers/l6_review.py +86 -0
- apsimo/gate/layers/l7_delay.py +100 -0
- apsimo/gate/layers/tom2_epistemic.py +185 -0
- apsimo/gate/models.py +64 -0
- apsimo/gate/pending_dispatch.py +5 -0
- apsimo/gate/pipeline.py +206 -0
- apsimo/gate/rejection.py +259 -0
- apsimo/gate/response_guard.py +700 -0
- apsimo/gate/rulesets/injection_v1.yaml +51 -0
- apsimo/gate/surface_policy.py +189 -0
- apsimo/gate/taint.py +226 -0
- apsimo/genesis.json +9 -0
- apsimo/goals/__init__.py +100 -0
- apsimo/goals/config.py +38 -0
- apsimo/goals/decomposer.py +421 -0
- apsimo/goals/engine.py +617 -0
- apsimo/goals/inference.py +354 -0
- apsimo/goals/models.py +302 -0
- apsimo/goals/priority.py +270 -0
- apsimo/goals/queue_bridge.py +149 -0
- apsimo/goals/replan.py +450 -0
- apsimo/goals/schema.sql +89 -0
- apsimo/goals/store.py +692 -0
- apsimo/governed_actions.py +1708 -0
- apsimo/harness_integration/__init__.py +45 -0
- apsimo/harness_integration/context.py +41 -0
- apsimo/harness_integration/skills.py +231 -0
- apsimo/identity/__init__.py +26 -0
- apsimo/identity/participants.py +181 -0
- apsimo/identity/resolver.py +329 -0
- apsimo/identity_bootstrap/__init__.py +5 -0
- apsimo/identity_bootstrap/builder.py +208 -0
- apsimo/identity_bootstrap/corpus.py +443 -0
- apsimo/identity_bootstrap/models.py +54 -0
- apsimo/identity_bootstrap/runner.py +353 -0
- apsimo/identity_bootstrap/seeders/__init__.py +25 -0
- apsimo/identity_bootstrap/seeders/briefings.py +109 -0
- apsimo/identity_bootstrap/seeders/chain.py +57 -0
- apsimo/identity_bootstrap/seeders/goals.py +128 -0
- apsimo/identity_bootstrap/seeders/memory.py +191 -0
- apsimo/identity_bootstrap/seeders/neo4j_cognition.py +79 -0
- apsimo/identity_bootstrap/seeders/relationship.py +152 -0
- apsimo/identity_bootstrap/seeders/sessions.py +67 -0
- apsimo/identity_bootstrap/seeders/skills.py +92 -0
- apsimo/identity_bootstrap/seeders/task_queue.py +72 -0
- apsimo/identity_bootstrap/seeders/world_model.py +143 -0
- apsimo/identity_bootstrap/self_query.py +92 -0
- apsimo/identity_bootstrap/self_reflection.py +155 -0
- apsimo/identity_bootstrap/skill.py +37 -0
- apsimo/identity_bootstrap/verifier.py +436 -0
- apsimo/initiatives/__init__.py +20 -0
- apsimo/initiatives/action_registry.py +454 -0
- apsimo/initiatives/approval_authority.py +2105 -0
- apsimo/initiatives/approval_policy.py +123 -0
- apsimo/initiatives/assignment.py +263 -0
- apsimo/initiatives/backup_evidence.py +100 -0
- apsimo/initiatives/context_freshness.py +103 -0
- apsimo/initiatives/models.py +318 -0
- apsimo/initiatives/native_work.py +270 -0
- apsimo/initiatives/standing_approvals.py +232 -0
- apsimo/initiatives/store.py +1081 -0
- apsimo/initiatives/temporal_followup.py +410 -0
- apsimo/intelligence/__init__.py +1 -0
- apsimo/intelligence/cognition/__init__.py +24 -0
- apsimo/intelligence/cognition/gap_detector.py +148 -0
- apsimo/intelligence/cognition/metalearner.py +547 -0
- apsimo/intelligence/cognition/metrics_collector.py +217 -0
- apsimo/intelligence/cognition/performance_index.py +299 -0
- apsimo/intelligence/cognition/registry.py +192 -0
- apsimo/intelligence/cognition/strategy_adjuster.py +222 -0
- apsimo/intelligence/cognition/types.py +16 -0
- apsimo/intelligence/components/__init__.py +66 -0
- apsimo/intelligence/components/anomaly_detector.py +413 -0
- apsimo/intelligence/components/initiative_engine.py +2643 -0
- apsimo/intelligence/components/preference_learner.py +521 -0
- apsimo/intelligence/components/research_orchestrator.py +358 -0
- apsimo/intelligence/components/self_directed_thinker.py +221 -0
- apsimo/intelligence/components/self_reflector.py +252 -0
- apsimo/intelligence/components/session_continuity.py +154 -0
- apsimo/intelligence/components/task_planner.py +320 -0
- apsimo/intelligence/components/tool_learner.py +217 -0
- apsimo/intelligence/graph/__init__.py +79 -0
- apsimo/intelligence/graph/client.py +2483 -0
- apsimo/intelligence/graph/consolidator.py +405 -0
- apsimo/intelligence/graph/distiller.py +312 -0
- apsimo/intelligence/graph/migrations.py +129 -0
- apsimo/intelligence/graph/queries.py +248 -0
- apsimo/intelligence/graph/recall.py +281 -0
- apsimo/intelligence/graph/reconciler.py +144 -0
- apsimo/intelligence/graph/schema.py +337 -0
- apsimo/intelligence/graph/selection.py +252 -0
- apsimo/intelligence/learning/__init__.py +17 -0
- apsimo/intelligence/learning/continuous_learner.py +245 -0
- apsimo/intelligence/learning/feedback_store.py +321 -0
- apsimo/intelligence/mind_model/__init__.py +1 -0
- apsimo/intelligence/mind_model/graph_baseline.py +136 -0
- apsimo/intelligence/mind_model/signal_collector.py +361 -0
- apsimo/intelligence/relationships/__init__.py +11 -0
- apsimo/intelligence/relationships/profiler.py +389 -0
- apsimo/intelligence/relationships/scorer.py +560 -0
- apsimo/intelligence/relationships/signal_floor.py +66 -0
- apsimo/intelligence/relationships/trust_tiers.py +300 -0
- apsimo/intelligence/synthesis/__init__.py +40 -0
- apsimo/intelligence/synthesis/connection_discoverer.py +379 -0
- apsimo/intelligence/synthesis/cross_domain_analyzer.py +287 -0
- apsimo/intelligence/synthesis/insight_deliverer.py +171 -0
- apsimo/intelligence/synthesis/insight_store.py +79 -0
- apsimo/intelligence/synthesis/insight_validator.py +183 -0
- apsimo/intelligence/synthesis/novelty_scorer.py +267 -0
- apsimo/intelligence/turn_middleware/__init__.py +15 -0
- apsimo/intelligence/turn_middleware/memory_sync.py +119 -0
- apsimo/mcp/__init__.py +41 -0
- apsimo/mcp/__main__.py +6 -0
- apsimo/mcp/config.py +287 -0
- apsimo/mcp/server.py +501 -0
- apsimo/migrations.py +187 -0
- apsimo/mining/__init__.py +27 -0
- apsimo/mining/corpus.py +239 -0
- apsimo/mining/escalations.py +289 -0
- apsimo/mining/models.py +169 -0
- apsimo/mining/store.py +210 -0
- apsimo/models/__init__.py +30 -0
- apsimo/models/memory.py +80 -0
- apsimo/models/mesh.py +72 -0
- apsimo/models/person.py +104 -0
- apsimo/models/signal.py +108 -0
- apsimo/observations/__init__.py +15 -0
- apsimo/observations/store.py +277 -0
- apsimo/patterns/__init__.py +6 -0
- apsimo/patterns/extract.py +187 -0
- apsimo/patterns/store.py +227 -0
- apsimo/persona/__init__.py +1 -0
- apsimo/persona/engine.py +611 -0
- apsimo/persona/manifest.py +140 -0
- apsimo/projects/__init__.py +28 -0
- apsimo/projects/engine.py +1681 -0
- apsimo/projects/event_outbox.py +188 -0
- apsimo/projects/models.py +216 -0
- apsimo/projects/planner.py +181 -0
- apsimo/projects/store.py +1446 -0
- apsimo/proposals/__init__.py +12 -0
- apsimo/proposals/engine.py +114 -0
- apsimo/proposals/models.py +207 -0
- apsimo/qualification/__init__.py +1 -0
- apsimo/qualification/cases.py +75 -0
- apsimo/qualification/cli.py +51 -0
- apsimo/qualification/memory_cases.py +209 -0
- apsimo/qualification/records.py +92 -0
- apsimo/qualification/report.py +87 -0
- apsimo/qualification/runner.py +311 -0
- apsimo/qualification/structured_cases.py +131 -0
- apsimo/reasoning/__init__.py +13 -0
- apsimo/reasoning/executor.py +506 -0
- apsimo/reasoning/loop.py +373 -0
- apsimo/reasoning/native_tools/__init__.py +16 -0
- apsimo/reasoning/native_tools/calculate.py +141 -0
- apsimo/reasoning/native_tools/file_ops.py +150 -0
- apsimo/reasoning/native_tools/web_search.py +49 -0
- apsimo/reasoning/tool_policy.py +182 -0
- apsimo/redact/__init__.py +176 -0
- apsimo/repos/__init__.py +5 -0
- apsimo/repos/mirrors.py +204 -0
- apsimo/research/__init__.py +41 -0
- apsimo/research/artifact.py +482 -0
- apsimo/research/gatherer.py +387 -0
- apsimo/research/pipeline.py +513 -0
- apsimo/research/search/__init__.py +7 -0
- apsimo/research/search/base.py +41 -0
- apsimo/research/search/brave.py +59 -0
- apsimo/research/search/cache.py +51 -0
- apsimo/research/search/duckduckgo.py +103 -0
- apsimo/research/search/orchestrator.py +119 -0
- apsimo/research/search/serpapi.py +59 -0
- apsimo/research/search/tavily.py +59 -0
- apsimo/research/synthesizer.py +309 -0
- apsimo/router/__init__.py +30 -0
- apsimo/router/complexity_scorer.py +148 -0
- apsimo/router/endpoints.py +153 -0
- apsimo/router/fallback.py +58 -0
- apsimo/router/functions.py +243 -0
- apsimo/router/native_policy.py +52 -0
- apsimo/router/router.py +762 -0
- apsimo/router/self_learning.py +174 -0
- apsimo/router/tiers.py +677 -0
- apsimo/sandbox/__init__.py +21 -0
- apsimo/sandbox/backend.py +195 -0
- apsimo/sandbox/manager.py +173 -0
- apsimo/scope_bounds.py +7 -0
- apsimo/secrets/__init__.py +6 -0
- apsimo/secrets/backends/__init__.py +8 -0
- apsimo/secrets/backends/base.py +42 -0
- apsimo/secrets/backends/env.py +110 -0
- apsimo/secrets/backends/keyring.py +72 -0
- apsimo/secrets/backends/onepassword.py +232 -0
- apsimo/secrets/cli.py +191 -0
- apsimo/secrets/manager.py +160 -0
- apsimo/secrets/migration.py +101 -0
- apsimo/secrets/types.py +98 -0
- apsimo/seed.py +41 -0
- apsimo/self_model/__init__.py +37 -0
- apsimo/self_model/appraisals.py +673 -0
- apsimo/self_model/benchmark.py +1314 -0
- apsimo/self_model/brief.py +40 -0
- apsimo/self_model/event_concerns.py +1128 -0
- apsimo/self_model/execution_forecasts.py +353 -0
- apsimo/self_model/expectations.py +1595 -0
- apsimo/self_model/experiments.py +1150 -0
- apsimo/self_model/journal.py +148 -0
- apsimo/self_model/judgments.py +705 -0
- apsimo/self_model/native_outcomes.py +55 -0
- apsimo/self_model/params.py +220 -0
- apsimo/self_model/perspective.py +246 -0
- apsimo/self_model/reconcile.py +183 -0
- apsimo/self_model/reply_forecasts.py +381 -0
- apsimo/self_model/runtime_forecasts.py +296 -0
- apsimo/self_model/runtime_models.py +67 -0
- apsimo/self_model/settlement.py +207 -0
- apsimo/self_model/situation.py +1731 -0
- apsimo/self_model/store.py +883 -0
- apsimo/self_model/supervised.py +137 -0
- apsimo/self_model/thinker.py +99 -0
- apsimo/self_model/trust.py +388 -0
- apsimo/self_model/workspace.py +2388 -0
- apsimo/server.py +4197 -0
- apsimo/services/__init__.py +1 -0
- apsimo/services/agent_bridge.py +474 -0
- apsimo/services/initiative_executor.py +914 -0
- apsimo/services/instance.py +297 -0
- apsimo/sessions/__init__.py +22 -0
- apsimo/sessions/config.py +13 -0
- apsimo/sessions/context_loader.py +88 -0
- apsimo/sessions/federation_session.py +75 -0
- apsimo/sessions/isolated_session.py +98 -0
- apsimo/sessions/reports.py +84 -0
- apsimo/sessions/store.py +148 -0
- apsimo/setup.py +2818 -0
- apsimo/setup_hermes.py +879 -0
- apsimo/setup_local_work.py +218 -0
- apsimo/setup_native_goals.py +134 -0
- apsimo/setup_native_reviews.py +115 -0
- apsimo/skills/__init__.py +10 -0
- apsimo/skills/base.py +108 -0
- apsimo/skills/budget.py +28 -0
- apsimo/skills/executor.py +493 -0
- apsimo/skills/executors/__init__.py +1 -0
- apsimo/skills/executors/behavioral_correction.py +75 -0
- apsimo/skills/executors/capability_gap.py +38 -0
- apsimo/skills/executors/data_quality.py +163 -0
- apsimo/skills/executors/knowledge_acquisition.py +41 -0
- apsimo/skills/executors/operational_hygiene.py +185 -0
- apsimo/skills/executors/subsystem_health.py +169 -0
- apsimo/skills/hermes_export.py +431 -0
- apsimo/skills/index.py +123 -0
- apsimo/skills/learning/__init__.py +21 -0
- apsimo/skills/learning/novelty_detector.py +206 -0
- apsimo/skills/learning/pattern_extractor.py +199 -0
- apsimo/skills/learning/triggers.py +159 -0
- apsimo/skills/loader.py +246 -0
- apsimo/skills/migrations/002_progressive_loading.sql +6 -0
- apsimo/skills/migrations/backfill_triggers.py +20 -0
- apsimo/skills/models.py +202 -0
- apsimo/skills/packager.py +128 -0
- apsimo/skills/protocols.py +70 -0
- apsimo/skills/registry.py +191 -0
- apsimo/skills/runtime.py +58 -0
- apsimo/skills/sandbox_runner.py +229 -0
- apsimo/skills/scheduler.py +129 -0
- apsimo/skills/schema.py +79 -0
- apsimo/skills/security/__init__.py +12 -0
- apsimo/skills/security/guards.py +53 -0
- apsimo/skills/security/scanner.py +223 -0
- apsimo/skills_memory/__init__.py +26 -0
- apsimo/skills_memory/distill.py +159 -0
- apsimo/skills_memory/models.py +85 -0
- apsimo/skills_memory/retrieve.py +62 -0
- apsimo/skills_memory/store.py +172 -0
- apsimo/surprise/__init__.py +6 -0
- apsimo/surprise/accumulation.py +57 -0
- apsimo/surprise/scorer.py +102 -0
- apsimo/surprise/store.py +203 -0
- apsimo/task_queue/__init__.py +69 -0
- apsimo/task_queue/action_receipts.py +148 -0
- apsimo/task_queue/approval_relay_canary.py +108 -0
- apsimo/task_queue/config.py +85 -0
- apsimo/task_queue/contract.py +361 -0
- apsimo/task_queue/events.py +130 -0
- apsimo/task_queue/governor.py +1031 -0
- apsimo/task_queue/handlers/__init__.py +16 -0
- apsimo/task_queue/handlers/base.py +37 -0
- apsimo/task_queue/handlers/inference.py +640 -0
- apsimo/task_queue/handlers/monitoring.py +116 -0
- apsimo/task_queue/handlers/registry.py +75 -0
- apsimo/task_queue/handlers/subtask_handler.py +173 -0
- apsimo/task_queue/handlers/system_maintenance.py +147 -0
- apsimo/task_queue/mesh_integration.py +111 -0
- apsimo/task_queue/models.py +317 -0
- apsimo/task_queue/queue_manager.py +8286 -0
- apsimo/task_queue/routing.py +287 -0
- apsimo/task_queue/scheduler.py +252 -0
- apsimo/task_queue/schema.sql +197 -0
- apsimo/task_queue/work_control.py +342 -0
- apsimo/task_queue/worker.py +993 -0
- apsimo/telemetry.py +145 -0
- apsimo/tom/__init__.py +6 -0
- apsimo/tom/affect.py +387 -0
- apsimo/tom/approvals.py +171 -0
- apsimo/tom/arcs.py +896 -0
- apsimo/tom/asymmetry.py +131 -0
- apsimo/tom/eligibility.py +248 -0
- apsimo/tom/engagement.py +214 -0
- apsimo/tom/exposure.py +214 -0
- apsimo/tom/extractor.py +306 -0
- apsimo/tom/fact_adapters.py +144 -0
- apsimo/tom/facts.py +326 -0
- apsimo/tom/integration.py +592 -0
- apsimo/tom/leveled.py +118 -0
- apsimo/tom/levels.py +247 -0
- apsimo/tom/recipient_audit.py +995 -0
- apsimo/tom/recipient_simulator.py +593 -0
- apsimo/tom/source_lineage.py +93 -0
- apsimo/tom/tom2.py +277 -0
- apsimo/tom/visibility.py +559 -0
- apsimo/tom/visibility_store.py +414 -0
- apsimo/tools/__init__.py +0 -0
- apsimo/tools/definitions.py +740 -0
- apsimo/tools/handlers.py +943 -0
- apsimo/toolsmith/__init__.py +26 -0
- apsimo/toolsmith/authority.py +166 -0
- apsimo/toolsmith/engine.py +559 -0
- apsimo/toolsmith/integrity.py +100 -0
- apsimo/toolsmith/miner.py +145 -0
- apsimo/toolsmith/policy.py +110 -0
- apsimo/toolsmith/registry.py +635 -0
- apsimo/turns/__init__.py +17 -0
- apsimo/turns/audio.py +134 -0
- apsimo/turns/documents.py +235 -0
- apsimo/turns/executions.py +486 -0
- apsimo/turns/hermes_history.py +245 -0
- apsimo/turns/hermes_kanban.py +268 -0
- apsimo/turns/hermes_work.py +96 -0
- apsimo/turns/idempotency.py +752 -0
- apsimo/turns/local_work.py +115 -0
- apsimo/turns/media.py +581 -0
- apsimo/turns/reported_workers.py +196 -0
- apsimo/turns/source_annotations.py +283 -0
- apsimo/turns/source_attribution.py +154 -0
- apsimo/turns/source_read.py +351 -0
- apsimo/turns/source_vectors.py +263 -0
- apsimo/turns/video.py +210 -0
- apsimo/util/autonomy_preset.py +220 -0
- apsimo/util/instance.py +92 -0
- apsimo/util/model_output.py +25 -0
- apsimo/util/quiet_hours.py +27 -0
- apsimo/util/session_safety.py +37 -0
- apsimo/util/temporal.py +343 -0
- apsimo/vector/__init__.py +75 -0
- apsimo/vector/backfill.py +171 -0
- apsimo/vector/caption.py +114 -0
- apsimo/vector/collections.py +51 -0
- apsimo/vector/config.py +102 -0
- apsimo/vector/embedder.py +670 -0
- apsimo/vector/image_preprocess.py +406 -0
- apsimo/vector/image_store.py +296 -0
- apsimo/vector/indexes.py +162 -0
- apsimo/vector/migrate.py +334 -0
- apsimo/vector/multimodal_provider.py +417 -0
- apsimo/vector/multimodal_types.py +87 -0
- apsimo/vector/openai_provider.py +119 -0
- apsimo/vector/query.py +49 -0
- apsimo/vector/reranker.py +565 -0
- apsimo/vector/safety_image.py +159 -0
- apsimo/vector/scanner.py +197 -0
- apsimo/vector/setup.py +289 -0
- apsimo/vector/store.py +533 -0
- apsimo/vector/tiers.py +263 -0
- apsimo/work_orders.py +925 -0
- apsimo/workers/__init__.py +21 -0
- apsimo/workers/agent_bridge.py +640 -0
- apsimo/workers/colony_worker.py +382 -0
- apsimo/workers/queue_worker.py +441 -0
- apsimo/workers/skills_sync.py +152 -0
- apsimo/world_model/__init__.py +71 -0
- apsimo/world_model/causal_maintenance.py +131 -0
- apsimo/world_model/causal_policy.py +43 -0
- apsimo/world_model/causal_query.py +125 -0
- apsimo/world_model/confidence.py +54 -0
- apsimo/world_model/config.py +64 -0
- apsimo/world_model/constants.py +97 -0
- apsimo/world_model/entities.py +145 -0
- apsimo/world_model/expectation_resolvers.py +177 -0
- apsimo/world_model/extraction/__init__.py +7 -0
- apsimo/world_model/extraction/base.py +62 -0
- apsimo/world_model/extraction/conversation_extractor.py +262 -0
- apsimo/world_model/extraction/detector.py +74 -0
- apsimo/world_model/extraction/document_extractor.py +78 -0
- apsimo/world_model/extraction/formats/__init__.py +24 -0
- apsimo/world_model/extraction/formats/csv_fmt.py +68 -0
- apsimo/world_model/extraction/formats/html_fmt.py +72 -0
- apsimo/world_model/extraction/formats/json_fmt.py +68 -0
- apsimo/world_model/extraction/formats/pdf.py +43 -0
- apsimo/world_model/extraction/formats/text.py +27 -0
- apsimo/world_model/extraction/llm_extractor.py +164 -0
- apsimo/world_model/extraction/pipeline.py +73 -0
- apsimo/world_model/integrations/__init__.py +5 -0
- apsimo/world_model/integrations/mind_model_bridge.py +115 -0
- apsimo/world_model/integrations/social_intel_bridge.py +120 -0
- apsimo/world_model/jobs/__init__.py +4 -0
- apsimo/world_model/jobs/extraction_job.py +168 -0
- apsimo/world_model/llm_extract.py +572 -0
- apsimo/world_model/neo4j/__init__.py +5 -0
- apsimo/world_model/neo4j/backend.py +654 -0
- apsimo/world_model/observations.py +155 -0
- apsimo/world_model/populator.py +307 -0
- apsimo/world_model/postgres/__init__.py +1 -0
- apsimo/world_model/postgres/backend.py +683 -0
- apsimo/world_model/relationships.py +25 -0
- apsimo/world_model/resolution/__init__.py +13 -0
- apsimo/world_model/resolution/entity_resolver.py +232 -0
- apsimo/world_model/resolution/merge_audit.py +16 -0
- apsimo/world_model/resolution/merge_workflow.py +117 -0
- apsimo/world_model/source_reports.py +121 -0
- apsimo/world_model/sqlite/__init__.py +4 -0
- apsimo/world_model/sqlite/backend.py +855 -0
- apsimo/world_model/sqlite/schema.sql +132 -0
- apsimo/world_model/store.py +545 -0
- apsimo-1.3.0.dist-info/METADATA +78 -0
- apsimo-1.3.0.dist-info/RECORD +614 -0
- apsimo-1.3.0.dist-info/WHEEL +5 -0
- apsimo-1.3.0.dist-info/entry_points.txt +11 -0
- apsimo-1.3.0.dist-info/licenses/LICENSE +21 -0
- apsimo-1.3.0.dist-info/top_level.txt +2 -0
- colony_sidecar/__init__.py +4 -0
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
"""SubsystemRegistry — lazy access to all wired sidecar subsystems.
|
|
2
|
+
|
|
3
|
+
The AutonomyLoop uses this instead of taking 18+ constructor arguments.
|
|
4
|
+
Each property reads from the host router's module-level wiring and
|
|
5
|
+
returns None if the subsystem isn't available. Phases that depend on
|
|
6
|
+
a subsystem check for None and skip gracefully.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Any, Optional
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class SubsystemRegistry:
|
|
15
|
+
"""Provides lazy access to all wired sidecar subsystems.
|
|
16
|
+
|
|
17
|
+
Reads from the host router's module-level globals. If a subsystem
|
|
18
|
+
isn't wired (e.g. Neo4j not configured), the property returns None
|
|
19
|
+
and any phase depending on it becomes a no-op.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
@property
|
|
23
|
+
def graph(self) -> Any:
|
|
24
|
+
from apsimo.api.routers.host import _graph
|
|
25
|
+
return _graph
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def goals(self) -> Any:
|
|
29
|
+
from apsimo.api.routers.host import _goals_store
|
|
30
|
+
return _goals_store
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def world_model(self) -> Any:
|
|
34
|
+
from apsimo.api.routers.host import _world_store
|
|
35
|
+
return _world_store
|
|
36
|
+
|
|
37
|
+
@property
|
|
38
|
+
def directives(self) -> Any:
|
|
39
|
+
from apsimo.api.routers.host import _directive_manager
|
|
40
|
+
return _directive_manager
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def research(self) -> Any:
|
|
44
|
+
from apsimo.api.routers.host import _research_pipeline
|
|
45
|
+
return _research_pipeline
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def proposal_store(self) -> Any:
|
|
49
|
+
from apsimo.api.routers.host import _proposal_store
|
|
50
|
+
return _proposal_store
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def feedback_store(self) -> Any:
|
|
54
|
+
from apsimo.api.routers.host import _feedback_store
|
|
55
|
+
return _feedback_store
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def repo_mirrors(self) -> Any:
|
|
59
|
+
from apsimo.api.routers.host import _repo_mirrors
|
|
60
|
+
return _repo_mirrors
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def directed_service(self) -> Any:
|
|
64
|
+
from apsimo.api.routers.host import _directed_service
|
|
65
|
+
return _directed_service
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def initiative(self) -> Any:
|
|
69
|
+
from apsimo.api.routers.host import _metalearner
|
|
70
|
+
return _metalearner # InitiativeEngine is part of cognition
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def anomalies(self) -> Any:
|
|
74
|
+
from apsimo.intelligence.components.anomaly_detector import AnomalyDetector
|
|
75
|
+
from apsimo.api.routers.host import _graph
|
|
76
|
+
from apsimo.events.bus import EventBus
|
|
77
|
+
if not hasattr(self, '_anomaly_detector'):
|
|
78
|
+
graph_client = _graph.driver if _graph and hasattr(_graph, 'driver') else None
|
|
79
|
+
# Bug 41: Use shared event bus instead of creating new one
|
|
80
|
+
event_bus = self.events or EventBus()
|
|
81
|
+
self._anomaly_detector = AnomalyDetector(graph_client, event_bus)
|
|
82
|
+
return self._anomaly_detector
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def queue(self) -> Any:
|
|
86
|
+
"""Task-queue manager (was a copy-paste bug returning the memory
|
|
87
|
+
consolidator; ``task_queue`` below is the canonical accessor)."""
|
|
88
|
+
from apsimo.api.routers.host import _task_queue
|
|
89
|
+
return _task_queue
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def briefings(self) -> Any:
|
|
93
|
+
from apsimo.api.routers.host import _briefings_engine
|
|
94
|
+
return _briefings_engine
|
|
95
|
+
|
|
96
|
+
@property
|
|
97
|
+
def events(self) -> Any:
|
|
98
|
+
from apsimo.api.routers.host import _event_subscribers
|
|
99
|
+
return _event_subscribers
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def delivery(self) -> Any:
|
|
103
|
+
from apsimo.api.routers.host import _delivery_bridge
|
|
104
|
+
return _delivery_bridge
|
|
105
|
+
|
|
106
|
+
@property
|
|
107
|
+
def p8(self) -> Any:
|
|
108
|
+
"""Shadow-only P8 integration runtime, when explicitly attached."""
|
|
109
|
+
from apsimo.api.routers.host import _p8_runtime
|
|
110
|
+
return _p8_runtime
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def cognition(self) -> Any:
|
|
114
|
+
from apsimo.api.routers.host import _metalearner
|
|
115
|
+
return _metalearner
|
|
116
|
+
|
|
117
|
+
@property
|
|
118
|
+
def connection_discoverer(self) -> Any:
|
|
119
|
+
from apsimo.api.routers.host import _connection_discoverer
|
|
120
|
+
return _connection_discoverer
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def learner(self) -> Any:
|
|
124
|
+
from apsimo.api.routers.host import _learner
|
|
125
|
+
return _learner
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def skills(self) -> Any:
|
|
129
|
+
from apsimo.api.routers.host import _skills_registry
|
|
130
|
+
return _skills_registry
|
|
131
|
+
|
|
132
|
+
@property
|
|
133
|
+
def chain(self) -> Any:
|
|
134
|
+
from apsimo.api.routers.host import _chain_manager
|
|
135
|
+
return _chain_manager
|
|
136
|
+
|
|
137
|
+
@property
|
|
138
|
+
def secrets(self) -> Any:
|
|
139
|
+
from apsimo.api.routers.host import _secrets_manager
|
|
140
|
+
return _secrets_manager
|
|
141
|
+
|
|
142
|
+
@property
|
|
143
|
+
def signal_collector(self) -> Any:
|
|
144
|
+
from apsimo.api.routers.host import _signal_collector
|
|
145
|
+
return _signal_collector
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def embedder(self) -> Any:
|
|
149
|
+
from apsimo.api.routers.host import _embedder
|
|
150
|
+
return _embedder
|
|
151
|
+
|
|
152
|
+
@property
|
|
153
|
+
def response_gate(self) -> Any:
|
|
154
|
+
from apsimo.api.routers.host import _response_gate
|
|
155
|
+
return _response_gate
|
|
156
|
+
|
|
157
|
+
@property
|
|
158
|
+
def llm_router(self) -> Any:
|
|
159
|
+
"""Get the LLMRouter from the ReasoningLoop if wired."""
|
|
160
|
+
from apsimo.api.routers.host import _reasoning_loop
|
|
161
|
+
if _reasoning_loop is not None:
|
|
162
|
+
return _reasoning_loop._model
|
|
163
|
+
return None
|
|
164
|
+
|
|
165
|
+
@property
|
|
166
|
+
def scheduler(self) -> Any:
|
|
167
|
+
from apsimo.api.routers.host import _scheduler
|
|
168
|
+
return _scheduler
|
|
169
|
+
|
|
170
|
+
@property
|
|
171
|
+
def initiative_engine(self) -> Any:
|
|
172
|
+
"""Get or create the InitiativeEngine (NOT MetaLearner)."""
|
|
173
|
+
if not hasattr(self, '_initiative_engine'):
|
|
174
|
+
try:
|
|
175
|
+
from apsimo.intelligence.components.initiative_engine import InitiativeEngine
|
|
176
|
+
from apsimo.api.routers.host import _graph, _initiative_store, _goals_store
|
|
177
|
+
|
|
178
|
+
self._initiative_engine = InitiativeEngine(
|
|
179
|
+
graph_client=_graph if _graph and hasattr(_graph, 'driver') else None,
|
|
180
|
+
event_bus=None, # Not needed for rule-based generation
|
|
181
|
+
mind_model=None,
|
|
182
|
+
store=_initiative_store,
|
|
183
|
+
goal_store=_goals_store,
|
|
184
|
+
)
|
|
185
|
+
except Exception as e:
|
|
186
|
+
import logging
|
|
187
|
+
logging.getLogger(__name__).warning("Failed to create InitiativeEngine: %s", e)
|
|
188
|
+
self._initiative_engine = None
|
|
189
|
+
return self._initiative_engine
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
def commitment_store(self) -> Any:
|
|
193
|
+
"""Get the CommitmentStore."""
|
|
194
|
+
from apsimo.api.routers.host import _commitment_store # singular
|
|
195
|
+
return _commitment_store
|
|
196
|
+
|
|
197
|
+
@property
|
|
198
|
+
def benchmark(self) -> Any:
|
|
199
|
+
"""Get the SelfhoodBenchmark (Mind M0a)."""
|
|
200
|
+
from apsimo.api.routers.host import _benchmark
|
|
201
|
+
return _benchmark
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def experiments(self) -> Any:
|
|
205
|
+
"""Get the ExperimentEngine (Mind M0b)."""
|
|
206
|
+
from apsimo.api.routers.host import _experiments
|
|
207
|
+
return _experiments
|
|
208
|
+
|
|
209
|
+
@property
|
|
210
|
+
def toolsmith(self) -> Any:
|
|
211
|
+
"""Get the Toolsmith engine (Mind M1)."""
|
|
212
|
+
from apsimo.api.routers.host import _toolsmith
|
|
213
|
+
return _toolsmith
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
def workspace(self) -> Any:
|
|
217
|
+
"""Get the WorkspaceEngine (Mind M2)."""
|
|
218
|
+
from apsimo.api.routers.host import _workspace
|
|
219
|
+
return _workspace
|
|
220
|
+
|
|
221
|
+
@property
|
|
222
|
+
def expectations(self) -> Any:
|
|
223
|
+
"""Get the ExpectationEngine (Mind M3a)."""
|
|
224
|
+
from apsimo.api.routers.host import _expectations
|
|
225
|
+
return _expectations
|
|
226
|
+
|
|
227
|
+
@property
|
|
228
|
+
def affect_store(self) -> Any:
|
|
229
|
+
"""Get the AffectStore."""
|
|
230
|
+
from apsimo.api.routers.host import _affect_store
|
|
231
|
+
return _affect_store
|
|
232
|
+
|
|
233
|
+
@property
|
|
234
|
+
def pattern_store(self) -> Any:
|
|
235
|
+
"""Get the PatternStore."""
|
|
236
|
+
from apsimo.api.routers.host import _pattern_store
|
|
237
|
+
return _pattern_store
|
|
238
|
+
|
|
239
|
+
# === Multi-Agent Properties (v0.7.0) ===
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def agent_store(self) -> Any:
|
|
243
|
+
"""Get the AgentStore for multi-agent management."""
|
|
244
|
+
from apsimo.api.routers.host import _agent_store
|
|
245
|
+
return _agent_store
|
|
246
|
+
|
|
247
|
+
@property
|
|
248
|
+
def initiative_store(self) -> Any:
|
|
249
|
+
"""Get the InitiativeStore for initiative persistence."""
|
|
250
|
+
from apsimo.api.routers.host import _initiative_store
|
|
251
|
+
return _initiative_store
|
|
252
|
+
|
|
253
|
+
@property
|
|
254
|
+
def assignment_engine(self) -> Any:
|
|
255
|
+
"""Get the AssignmentEngine for initiative-to-agent matching."""
|
|
256
|
+
from apsimo.api.routers.host import _assignment_engine
|
|
257
|
+
return _assignment_engine
|
|
258
|
+
|
|
259
|
+
@property
|
|
260
|
+
def websocket_manager(self) -> Any:
|
|
261
|
+
"""Get the WebSocketManager for remote agent connections."""
|
|
262
|
+
from apsimo.api.routers.host import _websocket_manager
|
|
263
|
+
return _websocket_manager
|
|
264
|
+
|
|
265
|
+
@property
|
|
266
|
+
def task_queue(self) -> Any:
|
|
267
|
+
"""Get the TaskQueueManager for distributed job scheduling."""
|
|
268
|
+
from apsimo.api.routers.host import _task_queue
|
|
269
|
+
return _task_queue
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
def contacts(self) -> Any:
|
|
273
|
+
"""Get the contact store (graduated approval policy, v0.18.0)."""
|
|
274
|
+
from apsimo.api.routers.host import _contacts_store
|
|
275
|
+
return _contacts_store
|
|
276
|
+
|
|
277
|
+
# === Cognition program (items 1/3/4/7 + Amendment 1) ===
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
def self_model(self) -> Any:
|
|
281
|
+
"""SelfModel (competence store + trust engine + action journal)."""
|
|
282
|
+
from apsimo.api.routers.host import _self_model
|
|
283
|
+
return _self_model
|
|
284
|
+
|
|
285
|
+
@property
|
|
286
|
+
def skill_store(self) -> Any:
|
|
287
|
+
"""Procedure-memory SkillStore (skills_memory, item 3)."""
|
|
288
|
+
from apsimo.api.routers.host import _skill_store
|
|
289
|
+
return _skill_store
|
|
290
|
+
|
|
291
|
+
@property
|
|
292
|
+
def project_engine(self) -> Any:
|
|
293
|
+
"""ProjectEngine (goal persistence, item 1)."""
|
|
294
|
+
from apsimo.api.routers.host import _project_engine
|
|
295
|
+
return _project_engine
|
|
296
|
+
|
|
297
|
+
@property
|
|
298
|
+
def belief_engine(self) -> Any:
|
|
299
|
+
"""BeliefEngine (belief maintenance, item 7)."""
|
|
300
|
+
from apsimo.api.routers.host import _belief_engine
|
|
301
|
+
return _belief_engine
|
|
302
|
+
|
|
303
|
+
@property
|
|
304
|
+
def mining_engine(self) -> Any:
|
|
305
|
+
"""EscalationMiner (escalation mining + corpus capture)."""
|
|
306
|
+
from apsimo.api.routers.mining import _mining_engine
|
|
307
|
+
return _mining_engine
|
|
308
|
+
|
|
309
|
+
@property
|
|
310
|
+
def world_llm_extractor(self) -> Any:
|
|
311
|
+
"""LLM-assisted world-model extractor (batch, journaled)."""
|
|
312
|
+
from apsimo.api.routers.host import _world_llm_extractor
|
|
313
|
+
return _world_llm_extractor
|
|
314
|
+
|
|
315
|
+
@property
|
|
316
|
+
def tom2_engine(self) -> Any:
|
|
317
|
+
"""Knowledge-asymmetry engine (tom2, refs-not-content)."""
|
|
318
|
+
from apsimo.api.routers.host import _tom2_engine
|
|
319
|
+
return _tom2_engine
|
|
320
|
+
|
|
321
|
+
# === Cognition program Phase B (items 5/6) ===
|
|
322
|
+
|
|
323
|
+
@property
|
|
324
|
+
def worker_governor(self) -> Any:
|
|
325
|
+
"""WorkerGovernor: server-side claim gate + completion audit (item 5)."""
|
|
326
|
+
from apsimo.api.routers.host import _worker_governor
|
|
327
|
+
return _worker_governor
|
|
328
|
+
|
|
329
|
+
@property
|
|
330
|
+
def sandbox(self) -> Any:
|
|
331
|
+
"""SandboxManager: gated, isolated code execution (item 6)."""
|
|
332
|
+
from apsimo.api.routers.host import _sandbox
|
|
333
|
+
return _sandbox
|
|
334
|
+
|
|
335
|
+
@property
|
|
336
|
+
def connector_manager(self) -> Any:
|
|
337
|
+
"""ConnectorManager: read-only pull senses (item 2)."""
|
|
338
|
+
from apsimo.api.routers.host import _connector_manager
|
|
339
|
+
return _connector_manager
|