workweaver 0.1.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.
- apps/__init__.py +1 -0
- apps/backend/CAPABILITIES.json +5211 -0
- apps/backend/Dockerfile +81 -0
- apps/backend/Dockerfile.lambda +88 -0
- apps/backend/agents/__init__.py +7 -0
- apps/backend/agents/context_loader.py +776 -0
- apps/backend/agents/orchestrator.py +1240 -0
- apps/backend/api/__init__.py +5 -0
- apps/backend/api/account_lifecycle.py +365 -0
- apps/backend/api/activity_stream.py +838 -0
- apps/backend/api/admin_analytics.py +354 -0
- apps/backend/api/admin_cost_summary.py +324 -0
- apps/backend/api/admin_diagnostics.py +244 -0
- apps/backend/api/admin_inference.py +1367 -0
- apps/backend/api/admin_meeting.py +336 -0
- apps/backend/api/admin_portal.py +448 -0
- apps/backend/api/admin_pricing.py +167 -0
- apps/backend/api/admin_secrets_audit.py +295 -0
- apps/backend/api/agent_approval.py +211 -0
- apps/backend/api/agent_calendar.py +185 -0
- apps/backend/api/agent_crm.py +541 -0
- apps/backend/api/agent_deployment.py +1442 -0
- apps/backend/api/agent_email.py +97 -0
- apps/backend/api/agent_identity.py +144 -0
- apps/backend/api/agent_instances.py +270 -0
- apps/backend/api/agent_mesh.py +627 -0
- apps/backend/api/agent_protocol.py +361 -0
- apps/backend/api/agent_work_ledger.py +833 -0
- apps/backend/api/ai_playground.py +1244 -0
- apps/backend/api/analytics.py +40 -0
- apps/backend/api/analytics_funnel.py +189 -0
- apps/backend/api/audit.py +45 -0
- apps/backend/api/auth.py +75 -0
- apps/backend/api/auth_helpers.py +1072 -0
- apps/backend/api/auth_identities.py +368 -0
- apps/backend/api/auth_login.py +1460 -0
- apps/backend/api/auth_management.py +689 -0
- apps/backend/api/auth_models.py +724 -0
- apps/backend/api/auth_runtime_state.py +912 -0
- apps/backend/api/auth_signup.py +84 -0
- apps/backend/api/auth_signup_email.py +504 -0
- apps/backend/api/auth_signup_enterprise.py +996 -0
- apps/backend/api/auth_signup_google.py +805 -0
- apps/backend/api/auth_signup_shared.py +776 -0
- apps/backend/api/autonomy.py +320 -0
- apps/backend/api/batch_jobs.py +391 -0
- apps/backend/api/behavioral_stops.py +386 -0
- apps/backend/api/billing/__init__.py +8 -0
- apps/backend/api/billing/checkout.py +146 -0
- apps/backend/api/billing/invoice.py +353 -0
- apps/backend/api/billing/subscription.py +949 -0
- apps/backend/api/billing/usage.py +1024 -0
- apps/backend/api/bookings.py +205 -0
- apps/backend/api/briefing.py +86 -0
- apps/backend/api/cadence.py +297 -0
- apps/backend/api/calendar_sync.py +314 -0
- apps/backend/api/campaigns.py +186 -0
- apps/backend/api/capabilities_api.py +147 -0
- apps/backend/api/capability_requests.py +194 -0
- apps/backend/api/capability_setup_api.py +155 -0
- apps/backend/api/cold_outreach_errors.py +74 -0
- apps/backend/api/collaboration.py +395 -0
- apps/backend/api/config_history.py +147 -0
- apps/backend/api/connector_actions.py +253 -0
- apps/backend/api/connector_watchface.py +297 -0
- apps/backend/api/connectors/__init__.py +147 -0
- apps/backend/api/connectors/_core.py +1023 -0
- apps/backend/api/connectors/routes_catalog.py +234 -0
- apps/backend/api/connectors/routes_connect_session.py +138 -0
- apps/backend/api/connectors/routes_lifecycle.py +503 -0
- apps/backend/api/connectors/routes_standards.py +68 -0
- apps/backend/api/connectors/routes_zoho.py +251 -0
- apps/backend/api/connectors_contracts.py +308 -0
- apps/backend/api/content_pipeline.py +551 -0
- apps/backend/api/control.py +626 -0
- apps/backend/api/coordination_api.py +105 -0
- apps/backend/api/dependencies/__init__.py +6 -0
- apps/backend/api/dependencies/plugin_auth.py +151 -0
- apps/backend/api/dependencies/tenant_auth.py +931 -0
- apps/backend/api/documents/__init__.py +10 -0
- apps/backend/api/documents/store.py +179 -0
- apps/backend/api/documents/upload.py +25 -0
- apps/backend/api/domains.py +322 -0
- apps/backend/api/edge_cloud_handoff.py +183 -0
- apps/backend/api/entity_autonomy.py +168 -0
- apps/backend/api/entity_phone.py +177 -0
- apps/backend/api/entity_relationships.py +200 -0
- apps/backend/api/entity_scorecard.py +108 -0
- apps/backend/api/events.py +420 -0
- apps/backend/api/evidence.py +593 -0
- apps/backend/api/evidence_external.py +319 -0
- apps/backend/api/experiments.py +437 -0
- apps/backend/api/founder_admin.py +1730 -0
- apps/backend/api/goal_cascade.py +274 -0
- apps/backend/api/goals.py +1147 -0
- apps/backend/api/governance.py +302 -0
- apps/backend/api/harness.py +156 -0
- apps/backend/api/harness_templates.py +125 -0
- apps/backend/api/human_ai_collaboration.py +234 -0
- apps/backend/api/inbox.py +482 -0
- apps/backend/api/ingest.py +193 -0
- apps/backend/api/integrations/__init__.py +17 -0
- apps/backend/api/integrations/catalog.py +259 -0
- apps/backend/api/integrations/oauth.py +517 -0
- apps/backend/api/intelligence.py +189 -0
- apps/backend/api/internal_agents.py +115 -0
- apps/backend/api/interrupt_control.py +521 -0
- apps/backend/api/interview.py +317 -0
- apps/backend/api/invites.py +577 -0
- apps/backend/api/judgments.py +114 -0
- apps/backend/api/jwt_livekit.py +817 -0
- apps/backend/api/lead_magnets.py +1075 -0
- apps/backend/api/meeting_ingest.py +91 -0
- apps/backend/api/meeting_watchface.py +292 -0
- apps/backend/api/meeting_webhooks.py +312 -0
- apps/backend/api/meetings.py +1328 -0
- apps/backend/api/memory.py +1585 -0
- apps/backend/api/meta_observer.py +170 -0
- apps/backend/api/mission.py +103 -0
- apps/backend/api/mission_collaboration_api.py +739 -0
- apps/backend/api/mission_collaboration_models.py +219 -0
- apps/backend/api/mission_dashboard_bundle.py +282 -0
- apps/backend/api/mission_org_api.py +622 -0
- apps/backend/api/mission_runtime_api.py +1231 -0
- apps/backend/api/mission_shared.py +153 -0
- apps/backend/api/mission_watchface.py +718 -0
- apps/backend/api/morning_brief.py +60 -0
- apps/backend/api/newsletter.py +202 -0
- apps/backend/api/notifications/__init__.py +9 -0
- apps/backend/api/notifications/preferences.py +547 -0
- apps/backend/api/oauth_dispatcher.py +585 -0
- apps/backend/api/objective_board.py +65 -0
- apps/backend/api/okr.py +257 -0
- apps/backend/api/omnibox.py +81 -0
- apps/backend/api/onboarding.py +644 -0
- apps/backend/api/org/audit_log.py +64 -0
- apps/backend/api/org/capacity.py +55 -0
- apps/backend/api/org/management.py +131 -0
- apps/backend/api/org_query.py +107 -0
- apps/backend/api/pagination.py +71 -0
- apps/backend/api/phone.py +621 -0
- apps/backend/api/phone_provisioning.py +535 -0
- apps/backend/api/planning.py +170 -0
- apps/backend/api/platform_admin_identity.py +48 -0
- apps/backend/api/proactive.py +185 -0
- apps/backend/api/profile.py +45 -0
- apps/backend/api/projects.py +71 -0
- apps/backend/api/public_api.py +382 -0
- apps/backend/api/public_api_service.py +1093 -0
- apps/backend/api/public_mcp.py +1077 -0
- apps/backend/api/push.py +205 -0
- apps/backend/api/quick_actions.py +196 -0
- apps/backend/api/rate_limit.py +37 -0
- apps/backend/api/revenue_pack.py +429 -0
- apps/backend/api/role_proposals.py +145 -0
- apps/backend/api/roles.py +240 -0
- apps/backend/api/routines.py +111 -0
- apps/backend/api/rules_api.py +186 -0
- apps/backend/api/runtime.py +359 -0
- apps/backend/api/runtime_whatsapp.py +326 -0
- apps/backend/api/scheduler.py +217 -0
- apps/backend/api/schedules.py +667 -0
- apps/backend/api/settings.py +1647 -0
- apps/backend/api/simulation.py +369 -0
- apps/backend/api/skill_activation.py +379 -0
- apps/backend/api/skill_generation.py +558 -0
- apps/backend/api/skills.py +1490 -0
- apps/backend/api/sms.py +544 -0
- apps/backend/api/stripe_webhooks.py +927 -0
- apps/backend/api/supervisor_api.py +283 -0
- apps/backend/api/support/__init__.py +1 -0
- apps/backend/api/support/tickets.py +472 -0
- apps/backend/api/suppression.py +206 -0
- apps/backend/api/swarm.py +264 -0
- apps/backend/api/task_feedback.py +131 -0
- apps/backend/api/task_ingest.py +107 -0
- apps/backend/api/tasks.py +622 -0
- apps/backend/api/team.py +751 -0
- apps/backend/api/telephony.py +474 -0
- apps/backend/api/templates.py +415 -0
- apps/backend/api/tenant/__init__.py +1 -0
- apps/backend/api/tenant/approval_queue.py +473 -0
- apps/backend/api/tenant/billing.py +166 -0
- apps/backend/api/tenant/users.py +425 -0
- apps/backend/api/tenant_improvement.py +56 -0
- apps/backend/api/threads.py +99 -0
- apps/backend/api/trace_learning.py +457 -0
- apps/backend/api/traces.py +73 -0
- apps/backend/api/trust_posture.py +203 -0
- apps/backend/api/trust_score.py +109 -0
- apps/backend/api/uat_simulation.py +423 -0
- apps/backend/api/upgrades.py +95 -0
- apps/backend/api/visitor_beacon.py +99 -0
- apps/backend/api/voice_avatar.py +108 -0
- apps/backend/api/voice_calls.py +997 -0
- apps/backend/api/voice_preload.py +44 -0
- apps/backend/api/webhooks/__init__.py +0 -0
- apps/backend/api/webhooks/_shared.py +51 -0
- apps/backend/api/webhooks/email_events.py +236 -0
- apps/backend/api/webhooks/github.py +202 -0
- apps/backend/api/webhooks/gitlab.py +195 -0
- apps/backend/api/webhooks/ingest.py +218 -0
- apps/backend/api/webhooks/slack_events.py +433 -0
- apps/backend/api/webhooks/sms_inbound.py +262 -0
- apps/backend/api/webhooks/zoho_desk.py +278 -0
- apps/backend/api/whatsapp.py +964 -0
- apps/backend/api/work_items.py +344 -0
- apps/backend/api/workflows_api.py +150 -0
- apps/backend/api/workspace/__init__.py +23 -0
- apps/backend/api/workspace/_core.py +539 -0
- apps/backend/api/workspace/coding_bridge.py +109 -0
- apps/backend/api/workspace/coding_runs.py +990 -0
- apps/backend/api/workspace/files.py +380 -0
- apps/backend/api/workspace/repos.py +1071 -0
- apps/backend/api/workspace/settings.py +491 -0
- apps/backend/api/workspace/terminal.py +542 -0
- apps/backend/api/zara/__init__.py +2204 -0
- apps/backend/api/zara/explain.py +404 -0
- apps/backend/api/zara/goal_intake.py +139 -0
- apps/backend/api/zara/models.py +629 -0
- apps/backend/api/zara/routines.py +136 -0
- apps/backend/api/zara/validation.py +96 -0
- apps/backend/api/zara_voice_ws.py +946 -0
- apps/backend/assets/backchannel/BACKCHANNEL_MANIFEST.md +169 -0
- apps/backend/assets/backchannel/generate_backchannels.py +549 -0
- apps/backend/composition/__init__.py +45 -0
- apps/backend/composition/capability_manifest.py +155 -0
- apps/backend/composition/loader.py +321 -0
- apps/backend/composition/registry.py +140 -0
- apps/backend/config/__init__.py +0 -0
- apps/backend/config/admin_host.py +143 -0
- apps/backend/config/auth_identity_contract.json +36 -0
- apps/backend/config/capability_bundles.py +102 -0
- apps/backend/config/deployment_profile.py +13 -0
- apps/backend/config/email_policy.py +34 -0
- apps/backend/config/environment.py +88 -0
- apps/backend/config/llm_provider_costs.py +464 -0
- apps/backend/config/managed_serverless_routes.py +125 -0
- apps/backend/config/pricing.py +531 -0
- apps/backend/config/region.py +27 -0
- apps/backend/config/router_registry.py +399 -0
- apps/backend/config/secrets.py +363 -0
- apps/backend/config/table_names.py +245 -0
- apps/backend/core/__init__.py +1 -0
- apps/backend/core/health_watchdog.py +294 -0
- apps/backend/dependencies.py +196 -0
- apps/backend/dependency_factories/__init__.py +6 -0
- apps/backend/dependency_factories/agents.py +59 -0
- apps/backend/dependency_factories/business.py +89 -0
- apps/backend/dependency_factories/config.py +23 -0
- apps/backend/dependency_factories/connectors.py +37 -0
- apps/backend/dependency_factories/core.py +70 -0
- apps/backend/dependency_factories/cowork.py +72 -0
- apps/backend/dependency_factories/intelligence.py +73 -0
- apps/backend/dependency_factories/learning.py +59 -0
- apps/backend/dependency_factories/notifications.py +25 -0
- apps/backend/dependency_factories/runtime.py +32 -0
- apps/backend/dependency_factories/skills.py +15 -0
- apps/backend/dependency_factories/standalone.py +76 -0
- apps/backend/dependency_factories/stores.py +63 -0
- apps/backend/dependency_factories/tenant.py +37 -0
- apps/backend/dependency_factories/trace.py +147 -0
- apps/backend/docker-entrypoint.sh +67 -0
- apps/backend/enums/__init__.py +1 -0
- apps/backend/enums/skill_types.py +100 -0
- apps/backend/extensions/__init__.py +19 -0
- apps/backend/extensions/acp/__init__.py +0 -0
- apps/backend/extensions/acp/acp_client_adapter.py +501 -0
- apps/backend/extensions/base.py +124 -0
- apps/backend/extensions/capabilities/__init__.py +0 -0
- apps/backend/extensions/capabilities/baseline.py +132 -0
- apps/backend/extensions/cognition/__init__.py +0 -0
- apps/backend/extensions/cognition/bdi_surface.py +90 -0
- apps/backend/extensions/cognition/fit_probe.py +96 -0
- apps/backend/extensions/cognition/latent_briefing.py +94 -0
- apps/backend/extensions/contracts/__init__.py +0 -0
- apps/backend/extensions/contracts/preflight_contract.py +78 -0
- apps/backend/extensions/contracts/promotion_contract.py +94 -0
- apps/backend/extensions/contracts/weak_contract_sweep.py +96 -0
- apps/backend/extensions/enrichment/__init__.py +1 -0
- apps/backend/extensions/enrichment/apollo_provider.py +96 -0
- apps/backend/extensions/enrichment/base.py +61 -0
- apps/backend/extensions/enrichment/hunter_provider.py +67 -0
- apps/backend/extensions/enrichment/pdl_provider.py +98 -0
- apps/backend/extensions/enrichment/waterfall.py +79 -0
- apps/backend/extensions/enrichment/zoominfo_provider.py +32 -0
- apps/backend/extensions/evidence_graph_seam/__init__.py +31 -0
- apps/backend/extensions/evidence_graph_seam/ledger.py +140 -0
- apps/backend/extensions/evidence_graph_seam/proof_projection.py +61 -0
- apps/backend/extensions/ingestion/__init__.py +28 -0
- apps/backend/extensions/ingestion/handlers.py +213 -0
- apps/backend/extensions/ingestion/substrate.py +213 -0
- apps/backend/extensions/mcp/__init__.py +18 -0
- apps/backend/extensions/mcp/mcp_gateway.py +73 -0
- apps/backend/extensions/mcp/skill_to_mcp_transformer.py +290 -0
- apps/backend/extensions/mcp_server/__init__.py +7 -0
- apps/backend/extensions/mcp_server/endpoints/execute_tool.py +175 -0
- apps/backend/extensions/mcp_server/main.py +333 -0
- apps/backend/extensions/mcp_server/middleware/tenant_isolation.py +143 -0
- apps/backend/extensions/mcp_server/requirements.txt +14 -0
- apps/backend/extensions/oauth_adapters/__init__.py +10 -0
- apps/backend/extensions/oauth_adapters/google.py +198 -0
- apps/backend/extensions/oauth_adapters/microsoft.py +205 -0
- apps/backend/extensions/ontology/__init__.py +0 -0
- apps/backend/extensions/ontology/ontology_surface.py +72 -0
- apps/backend/extensions/ontology/ontology_wiring.py +67 -0
- apps/backend/extensions/ontology/primitive_ontology.py +76 -0
- apps/backend/extensions/payroll/__init__.py +2 -0
- apps/backend/extensions/payroll/models.py +198 -0
- apps/backend/extensions/payroll/provider.py +93 -0
- apps/backend/extensions/promotion/__init__.py +35 -0
- apps/backend/extensions/promotion/delta_j_calculator.py +15 -0
- apps/backend/extensions/rlm/__init__.py +0 -0
- apps/backend/extensions/rlm/cognition_substrate.py +129 -0
- apps/backend/extensions/rlm/execution_envelope.py +157 -0
- apps/backend/extensions/rlm/replay_checkpoint.py +166 -0
- apps/backend/extensions/rlm/substrate_contract.py +111 -0
- apps/backend/extensions/rlm/trajectory_observability.py +162 -0
- apps/backend/extensions/rlm/trajectory_projection.py +181 -0
- apps/backend/extensions/rlm/working_set_governor.py +173 -0
- apps/backend/extensions/validation/__init__.py +1 -0
- apps/backend/extensions/voice_services/__init__.py +1 -0
- apps/backend/extensions/voice_services/grok_voice.py +422 -0
- apps/backend/extensions/voice_services/voice_call_primitive.py +98 -0
- apps/backend/extensions/wep/__init__.py +9 -0
- apps/backend/extensions/wep/manifest.py +72 -0
- apps/backend/extensions/wep/permissions.py +64 -0
- apps/backend/extensions/wep/registry.py +177 -0
- apps/backend/extensions/zara_kernel/__init__.py +28 -0
- apps/backend/extensions/zara_kernel/operating_kernel.py +369 -0
- apps/backend/integrations/__init__.py +17 -0
- apps/backend/integrations/integration_catalog.py +250 -0
- apps/backend/lambda/backup_retention_reconciler/handler.py +257 -0
- apps/backend/lambda/build-and-push.sh +45 -0
- apps/backend/lambda/dispatch_consumer/handler.py +15 -0
- apps/backend/lambda/document_worker/handler.py +177 -0
- apps/backend/lambda/ecs_taskdef_lifecycle/handler.py +173 -0
- apps/backend/lambda/forgetting_scheduler/handler.py +67 -0
- apps/backend/lambda/goal_scheduler/handler.py +185 -0
- apps/backend/lambda/jwt_token_generator/agent_discovery.py +212 -0
- apps/backend/lambda/jwt_token_generator/handler.py +961 -0
- apps/backend/lambda/jwt_token_generator/requirements.txt +3 -0
- apps/backend/lambda/precedent_refresh/handler.py +181 -0
- apps/backend/lambda/proactive_intelligence/__init__.py +0 -0
- apps/backend/lambda/proactive_intelligence/handler.py +818 -0
- apps/backend/lambda/schedule_runner/handler.py +73 -0
- apps/backend/lambda/schedule_runner/requirements.txt +1 -0
- apps/backend/lambda/skills_api/handler.py +86 -0
- apps/backend/lambda/skills_api/requirements.txt +16 -0
- apps/backend/lambda/tenant_lifecycle/handler.py +575 -0
- apps/backend/lambda/wake_email_send/handler.py +140 -0
- apps/backend/lambda/wake_email_send/requirements.txt +1 -0
- apps/backend/lambda/wake_sync_resolve/handler.py +112 -0
- apps/backend/lambda/wake_sync_resolve/requirements.txt +1 -0
- apps/backend/lambda/wake_token_validate/handler.py +101 -0
- apps/backend/lambda/wake_token_validate/requirements.txt +1 -0
- apps/backend/lambda_handler.py +17 -0
- apps/backend/lambda_handlers/__init__.py +0 -0
- apps/backend/lambda_handlers/agent_liveness_watchdog/__init__.py +1 -0
- apps/backend/lambda_handlers/agent_liveness_watchdog/handler.py +90 -0
- apps/backend/lambda_handlers/daily_retrospective/__init__.py +1 -0
- apps/backend/lambda_handlers/daily_retrospective/handler.py +312 -0
- apps/backend/lambda_handlers/developmental_intelligence_warmer/handler.py +251 -0
- apps/backend/lambda_handlers/drift_detection/__init__.py +0 -0
- apps/backend/lambda_handlers/drift_detection/handler.py +224 -0
- apps/backend/lambda_handlers/greedy_optimizer/__init__.py +1 -0
- apps/backend/lambda_handlers/greedy_optimizer/handler.py +150 -0
- apps/backend/lambda_handlers/heartbeat_monitor/__init__.py +0 -0
- apps/backend/lambda_handlers/heartbeat_monitor/handler.py +57 -0
- apps/backend/lambda_handlers/level2_calibrator/__init__.py +1 -0
- apps/backend/lambda_handlers/level2_calibrator/handler.py +102 -0
- apps/backend/lambda_handlers/level2_rollback_watchdog/__init__.py +1 -0
- apps/backend/lambda_handlers/level2_rollback_watchdog/handler.py +75 -0
- apps/backend/lambda_handlers/loop_governance/__init__.py +1 -0
- apps/backend/lambda_handlers/loop_governance/handler.py +87 -0
- apps/backend/lambda_handlers/org_bootstrap/handler.py +177 -0
- apps/backend/lambda_handlers/provider_health/__init__.py +1 -0
- apps/backend/lambda_handlers/provider_health/handler.py +24 -0
- apps/backend/lambda_handlers/strategy_mining/__init__.py +0 -0
- apps/backend/lambda_handlers/strategy_mining/handler.py +106 -0
- apps/backend/lambda_handlers/stripe_webhook_processor/__init__.py +1 -0
- apps/backend/lambda_handlers/stripe_webhook_processor/handler.py +43 -0
- apps/backend/lambda_handlers/twilio_recording_ingestion/__init__.py +1 -0
- apps/backend/lambda_handlers/twilio_recording_ingestion/handler.py +39 -0
- apps/backend/lambda_handlers/upgrade_digest/handler.py +37 -0
- apps/backend/main.py +1113 -0
- apps/backend/managed_lambda_handler.py +163 -0
- apps/backend/mcp/__init__.py +0 -0
- apps/backend/mcp/core_tools.py +598 -0
- apps/backend/mcp/workmemory_mcp_server.py +527 -0
- apps/backend/middleware/__init__.py +20 -0
- apps/backend/middleware/auth_enforcement.py +382 -0
- apps/backend/middleware/decision_capture_audit.py +64 -0
- apps/backend/middleware/exception_sanitizer.py +98 -0
- apps/backend/middleware/grok_tenant_context.py +574 -0
- apps/backend/middleware/logging_redaction.py +100 -0
- apps/backend/middleware/quota_enforcement.py +533 -0
- apps/backend/middleware/security_hardening.py +148 -0
- apps/backend/middleware/security_headers.py +165 -0
- apps/backend/middleware/tenant_isolation.py +286 -0
- apps/backend/models/__init__.py +107 -0
- apps/backend/models/approval_request.py +331 -0
- apps/backend/models/auth_envelope.py +75 -0
- apps/backend/models/capability_manifest.py +84 -0
- apps/backend/models/capability_request.py +122 -0
- apps/backend/models/cold_outreach_lead.py +127 -0
- apps/backend/models/compiled_policy.py +335 -0
- apps/backend/models/composition_plan.py +84 -0
- apps/backend/models/connector_principal.py +102 -0
- apps/backend/models/connector_state.py +148 -0
- apps/backend/models/consent.py +376 -0
- apps/backend/models/decision_event.py +384 -0
- apps/backend/models/delegation.py +333 -0
- apps/backend/models/execution_receipt.py +97 -0
- apps/backend/models/goal_spec.py +177 -0
- apps/backend/models/governed_swarm.py +569 -0
- apps/backend/models/interrupt_state.py +554 -0
- apps/backend/models/lead.py +235 -0
- apps/backend/models/metering_plan.py +83 -0
- apps/backend/models/mission.py +147 -0
- apps/backend/models/objective_board.py +319 -0
- apps/backend/models/operating_kernel.py +272 -0
- apps/backend/models/org.py +103 -0
- apps/backend/models/payment_contract.py +93 -0
- apps/backend/models/precedent.py +470 -0
- apps/backend/models/proof_card.py +97 -0
- apps/backend/models/provenance.py +43 -0
- apps/backend/models/pulse.py +104 -0
- apps/backend/models/runtime_session.py +124 -0
- apps/backend/models/runtime_summary.py +26 -0
- apps/backend/models/skill_registry.py +582 -0
- apps/backend/models/support_ticket.py +127 -0
- apps/backend/models/suppression.py +320 -0
- apps/backend/models/tenant.py +222 -0
- apps/backend/models/thread_schema.py +239 -0
- apps/backend/models/time_block.py +226 -0
- apps/backend/models/topology_edge.py +88 -0
- apps/backend/models/trace_envelope.py +197 -0
- apps/backend/models/trace_record.py +136 -0
- apps/backend/models/user.py +135 -0
- apps/backend/models/user_context.py +147 -0
- apps/backend/models/validation.py +26 -0
- apps/backend/models/variant.py +419 -0
- apps/backend/models/whatsapp_message.py +437 -0
- apps/backend/models/work_memory.py +90 -0
- apps/backend/models/workflow.py +116 -0
- apps/backend/observability/__init__.py +23 -0
- apps/backend/observability/async_tasks.py +47 -0
- apps/backend/observability/error_tracker.py +68 -0
- apps/backend/observability/otel_tracing.py +329 -0
- apps/backend/observability/structlog_config.py +121 -0
- apps/backend/observability/trace_context.py +91 -0
- apps/backend/providers/__init__.py +48 -0
- apps/backend/providers/auth_provider.py +37 -0
- apps/backend/providers/base.py +262 -0
- apps/backend/providers/bedrock_model_provider.py +53 -0
- apps/backend/providers/cma_backend.py +226 -0
- apps/backend/providers/container_orchestrator.py +407 -0
- apps/backend/providers/email_identity_lookup.py +76 -0
- apps/backend/providers/email_provider.py +373 -0
- apps/backend/providers/embedding_provider.py +200 -0
- apps/backend/providers/evidence_hash_chain.py +228 -0
- apps/backend/providers/execution_backend.py +124 -0
- apps/backend/providers/identity_provider.py +456 -0
- apps/backend/providers/local_voice_provider.py +310 -0
- apps/backend/providers/managed_runtime_secret_env.py +99 -0
- apps/backend/providers/managed_schedule_store.py +151 -0
- apps/backend/providers/metering_provider.py +352 -0
- apps/backend/providers/native_backend.py +130 -0
- apps/backend/providers/object_store.py +472 -0
- apps/backend/providers/oidc_provider.py +623 -0
- apps/backend/providers/pii_redactor.py +178 -0
- apps/backend/providers/portable_store.py +892 -0
- apps/backend/providers/queue_runtime.py +676 -0
- apps/backend/providers/runtime_provisioner.py +412 -0
- apps/backend/providers/schedule_provider.py +425 -0
- apps/backend/providers/secret_provider.py +396 -0
- apps/backend/providers/sqlite_store.py +279 -0
- apps/backend/providers/telemetry_provider.py +223 -0
- apps/backend/providers/tiered_secret_store.py +290 -0
- apps/backend/providers/voice_transport.py +244 -0
- apps/backend/public_health_lambda_handler.py +45 -0
- apps/backend/requirements-lambda.txt +8 -0
- apps/backend/requirements.runtime.txt +78 -0
- apps/backend/requirements.txt +32 -0
- apps/backend/schemas/__init__.py +27 -0
- apps/backend/schemas/action_outcome.py +219 -0
- apps/backend/schemas/agent_profile.py +473 -0
- apps/backend/schemas/callback.py +311 -0
- apps/backend/schemas/employee_profile.py +65 -0
- apps/backend/schemas/error_response.py +50 -0
- apps/backend/schemas/interview.py +163 -0
- apps/backend/schemas/promotion.py +574 -0
- apps/backend/schemas/skill.py +467 -0
- apps/backend/schemas/voice_skill.py +582 -0
- apps/backend/scripts/README.md +110 -0
- apps/backend/scripts/dev-clear-s3-evidence.sh +164 -0
- apps/backend/scripts/generate_backchannels.py +529 -0
- apps/backend/services/__init__.py +0 -0
- apps/backend/services/account_lifecycle.py +693 -0
- apps/backend/services/action_item_extractor.py +181 -0
- apps/backend/services/action_outcome_capture.py +233 -0
- apps/backend/services/admin_inference_probe.py +235 -0
- apps/backend/services/admin_meeting_provider_store.py +403 -0
- apps/backend/services/agent_activation_service.py +1058 -0
- apps/backend/services/agent_calendar_service.py +122 -0
- apps/backend/services/agent_collaboration/__init__.py +26 -0
- apps/backend/services/agent_collaboration/channels.py +526 -0
- apps/backend/services/agent_collaboration/messages.py +173 -0
- apps/backend/services/agent_collaboration/models.py +113 -0
- apps/backend/services/agent_collaboration/service.py +222 -0
- apps/backend/services/agent_collaboration/societies.py +231 -0
- apps/backend/services/agent_collaboration/workflows.py +489 -0
- apps/backend/services/agent_context_store.py +482 -0
- apps/backend/services/agent_credential_vault.py +438 -0
- apps/backend/services/agent_crm_service.py +222 -0
- apps/backend/services/agent_directory.py +168 -0
- apps/backend/services/agent_dispatch.py +603 -0
- apps/backend/services/agent_email_service.py +303 -0
- apps/backend/services/agent_health.py +37 -0
- apps/backend/services/agent_identity_governance.py +452 -0
- apps/backend/services/agent_identity_provisioning.py +253 -0
- apps/backend/services/agent_instance_manager.py +677 -0
- apps/backend/services/agent_profile_store.py +896 -0
- apps/backend/services/agent_protocol.py +692 -0
- apps/backend/services/agent_registration.py +274 -0
- apps/backend/services/agent_work_ledger.py +765 -0
- apps/backend/services/ambient_monitor.py +109 -0
- apps/backend/services/analytics_service.py +281 -0
- apps/backend/services/approval_gates.py +1096 -0
- apps/backend/services/approval_service.py +517 -0
- apps/backend/services/assertion_runner.py +341 -0
- apps/backend/services/async_scheduler.py +140 -0
- apps/backend/services/audit_logger.py +493 -0
- apps/backend/services/auth/__init__.py +1 -0
- apps/backend/services/auth/deny_by_default.py +30 -0
- apps/backend/services/auth/impersonation_audit.py +173 -0
- apps/backend/services/auth_identity_contract.py +28 -0
- apps/backend/services/auto_team_provisioner.py +179 -0
- apps/backend/services/autonomous_okr.py +517 -0
- apps/backend/services/autonomy_compiler.py +800 -0
- apps/backend/services/autonomy_policy_store.py +108 -0
- apps/backend/services/autonomy_store.py +192 -0
- apps/backend/services/autoresearch/__init__.py +6 -0
- apps/backend/services/autoresearch/evaluators.py +127 -0
- apps/backend/services/autoresearch/models.py +60 -0
- apps/backend/services/autoresearch/orchestrator.py +160 -0
- apps/backend/services/autoresearch/targets.py +74 -0
- apps/backend/services/background_mission_tracker.py +517 -0
- apps/backend/services/batch_orchestrator.py +907 -0
- apps/backend/services/behavioral_stops_store.py +187 -0
- apps/backend/services/billing/__init__.py +101 -0
- apps/backend/services/billing/_protocols.py +71 -0
- apps/backend/services/billing/adjustments.py +166 -0
- apps/backend/services/billing/anomaly_guard.py +181 -0
- apps/backend/services/billing/attribution_context.py +64 -0
- apps/backend/services/billing/attribution_envelope.py +123 -0
- apps/backend/services/billing/attribution_projector.py +115 -0
- apps/backend/services/billing/billable_meter_registry.py +398 -0
- apps/backend/services/billing/budget_gate.py +78 -0
- apps/backend/services/billing/budget_gate_default.py +340 -0
- apps/backend/services/billing/budget_governor.py +440 -0
- apps/backend/services/billing/caching_cost.py +126 -0
- apps/backend/services/billing/catalog.py +169 -0
- apps/backend/services/billing/catalog_store.py +243 -0
- apps/backend/services/billing/channel_brake.py +165 -0
- apps/backend/services/billing/compensation.py +685 -0
- apps/backend/services/billing/compensation_registry.py +153 -0
- apps/backend/services/billing/context_resolver.py +213 -0
- apps/backend/services/billing/daily_rollup.py +219 -0
- apps/backend/services/billing/emitters/__init__.py +6 -0
- apps/backend/services/billing/emitters/llm_tokens.py +252 -0
- apps/backend/services/billing/emitters/metered_llm_call.py +190 -0
- apps/backend/services/billing/emitters/voice.py +93 -0
- apps/backend/services/billing/entitlements.py +191 -0
- apps/backend/services/billing/founder_cost_view.py +175 -0
- apps/backend/services/billing/group_spend_service.py +390 -0
- apps/backend/services/billing/ingress.py +254 -0
- apps/backend/services/billing/invoice_service.py +1341 -0
- apps/backend/services/billing/leak_detector.py +203 -0
- apps/backend/services/billing/ledger_bus.py +266 -0
- apps/backend/services/billing/ledger_init.py +27 -0
- apps/backend/services/billing/ledger_models.py +41 -0
- apps/backend/services/billing/ledger_store.py +66 -0
- apps/backend/services/billing/ledger_subscribers.py +17 -0
- apps/backend/services/billing/local_infra_collector.py +162 -0
- apps/backend/services/billing/metering_attribution.py +92 -0
- apps/backend/services/billing/metering_collectors.py +138 -0
- apps/backend/services/billing/metering_envelope.py +43 -0
- apps/backend/services/billing/metering_service.py +97 -0
- apps/backend/services/billing/pending_checkout_store.py +54 -0
- apps/backend/services/billing/per_member_cost_policy.py +106 -0
- apps/backend/services/billing/phantom_model_guard.py +139 -0
- apps/backend/services/billing/pricing_catalog.py +309 -0
- apps/backend/services/billing/provider_usage_fetcher.py +303 -0
- apps/backend/services/billing/read_models.py +1057 -0
- apps/backend/services/billing/reconciliation.py +357 -0
- apps/backend/services/billing/rev_crm_sync.py +266 -0
- apps/backend/services/billing/rev_draft.py +347 -0
- apps/backend/services/billing/rev_executor.py +537 -0
- apps/backend/services/billing/rev_followup.py +365 -0
- apps/backend/services/billing/rev_mission_run_bridge.py +383 -0
- apps/backend/services/billing/rev_research.py +279 -0
- apps/backend/services/billing/stripe_checkout.py +661 -0
- apps/backend/services/billing/stripe_webhook_outbox.py +382 -0
- apps/backend/services/billing/subscription_service.py +1667 -0
- apps/backend/services/billing/types.py +178 -0
- apps/backend/services/billing/usage_drilldown.py +203 -0
- apps/backend/services/booking_service.py +554 -0
- apps/backend/services/browser_cli.py +368 -0
- apps/backend/services/browser_executor.py +1035 -0
- apps/backend/services/bulk_campaign_dialer.py +284 -0
- apps/backend/services/business_process/__init__.py +1 -0
- apps/backend/services/byoc_oauth_config.py +252 -0
- apps/backend/services/cache.py +63 -0
- apps/backend/services/calibrator/__init__.py +15 -0
- apps/backend/services/calibrator/level2_calibrator.py +1061 -0
- apps/backend/services/canonical_context.py +99 -0
- apps/backend/services/capability/__init__.py +120 -0
- apps/backend/services/capability/eval_canary.py +343 -0
- apps/backend/services/capability/gate.py +400 -0
- apps/backend/services/capability/manifest.py +37 -0
- apps/backend/services/capability/request.py +362 -0
- apps/backend/services/capability/service.py +529 -0
- apps/backend/services/capability/setup.py +244 -0
- apps/backend/services/capability/tool_registry.py +367 -0
- apps/backend/services/capability_eval_canary.py +343 -0
- apps/backend/services/capability_lease.py +719 -0
- apps/backend/services/capability_manifest.py +670 -0
- apps/backend/services/capability_request_service.py +362 -0
- apps/backend/services/capability_service.py +529 -0
- apps/backend/services/capability_setup_service.py +244 -0
- apps/backend/services/change_events.py +353 -0
- apps/backend/services/channels/__init__.py +0 -0
- apps/backend/services/channels/adapter_base.py +187 -0
- apps/backend/services/channels/channel_adapter.py +131 -0
- apps/backend/services/channels/channel_bound_agent.py +170 -0
- apps/backend/services/channels/channel_router.py +1099 -0
- apps/backend/services/channels/cli_adapter.py +73 -0
- apps/backend/services/channels/cold_outreach_compliance.py +157 -0
- apps/backend/services/channels/pre_send_guard.py +984 -0
- apps/backend/services/channels/revenue_reply_routing.py +279 -0
- apps/backend/services/channels/sender_policy.py +7 -0
- apps/backend/services/channels/slack_adapter.py +138 -0
- apps/backend/services/channels/twilio/__init__.py +0 -0
- apps/backend/services/channels/twilio/client_service.py +940 -0
- apps/backend/services/channels/twilio/connector.py +147 -0
- apps/backend/services/channels/twilio/media_stream.py +1138 -0
- apps/backend/services/channels/twilio/recording_outbox.py +356 -0
- apps/backend/services/channels/twilio/routes.py +290 -0
- apps/backend/services/channels/twilio/security.py +79 -0
- apps/backend/services/channels/twilio/voice.py +406 -0
- apps/backend/services/channels/twilio/voice_browser.py +550 -0
- apps/backend/services/channels/twilio/voice_inbound.py +509 -0
- apps/backend/services/channels/twilio/voice_webhooks.py +972 -0
- apps/backend/services/channels/twilio/voice_zara.py +497 -0
- apps/backend/services/channels/twilio/ws_token.py +117 -0
- apps/backend/services/channels/voice_adapter.py +71 -0
- apps/backend/services/channels/web_adapter.py +83 -0
- apps/backend/services/channels/whatsapp/__init__.py +39 -0
- apps/backend/services/channels/whatsapp/handler.py +1090 -0
- apps/backend/services/channels/whatsapp/runtime_bridge.py +261 -0
- apps/backend/services/channels/whatsapp/service.py +612 -0
- apps/backend/services/channels/whatsapp/skills/__init__.py +75 -0
- apps/backend/services/channels/whatsapp/skills/appointment.py +248 -0
- apps/backend/services/channels/whatsapp/skills/base.py +81 -0
- apps/backend/services/channels/whatsapp/skills/broadcast.py +321 -0
- apps/backend/services/channels/whatsapp/skills/campaign.py +313 -0
- apps/backend/services/channels/whatsapp/skills/follow_up.py +241 -0
- apps/backend/services/channels/whatsapp/skills/registry.py +61 -0
- apps/backend/services/channels/whatsapp/store.py +687 -0
- apps/backend/services/channels/whatsapp_adapter.py +83 -0
- apps/backend/services/checkpoint_service.py +333 -0
- apps/backend/services/clarification_protocol.py +345 -0
- apps/backend/services/cli_login_bridge.py +326 -0
- apps/backend/services/cli_password_reset.py +168 -0
- apps/backend/services/coding_bridge.py +376 -0
- apps/backend/services/company_context.py +115 -0
- apps/backend/services/company_graph.py +161 -0
- apps/backend/services/composition_guard.py +393 -0
- apps/backend/services/compounding_scorecard.py +156 -0
- apps/backend/services/concurrency/__init__.py +15 -0
- apps/backend/services/concurrency/harness.py +229 -0
- apps/backend/services/conference_service.py +192 -0
- apps/backend/services/connector_health_monitor.py +170 -0
- apps/backend/services/connector_marketplace.py +178 -0
- apps/backend/services/connector_policy_broker.py +443 -0
- apps/backend/services/connectors/__init__.py +59 -0
- apps/backend/services/connectors/action_discovery.py +225 -0
- apps/backend/services/connectors/action_normalizer.py +135 -0
- apps/backend/services/connectors/base.py +143 -0
- apps/backend/services/connectors/connector_executor.py +293 -0
- apps/backend/services/connectors/connector_fallback.py +391 -0
- apps/backend/services/connectors/connector_principals.py +94 -0
- apps/backend/services/connectors/connector_sdk.py +683 -0
- apps/backend/services/connectors/connector_security_contract.py +168 -0
- apps/backend/services/connectors/deel_connector.py +164 -0
- apps/backend/services/connectors/generic/__init__.py +41 -0
- apps/backend/services/connectors/generic/cli_connector.py +178 -0
- apps/backend/services/connectors/generic/mcp_connector.py +160 -0
- apps/backend/services/connectors/generic/rest_connector.py +221 -0
- apps/backend/services/connectors/generic/result.py +22 -0
- apps/backend/services/connectors/ghost_connector.py +438 -0
- apps/backend/services/connectors/github_connector.py +199 -0
- apps/backend/services/connectors/gmail_connector.py +203 -0
- apps/backend/services/connectors/google_calendar_connector.py +287 -0
- apps/backend/services/connectors/google_docs_connector.py +328 -0
- apps/backend/services/connectors/google_drive_connector.py +407 -0
- apps/backend/services/connectors/google_search_console_connector.py +131 -0
- apps/backend/services/connectors/google_sheets_connector.py +328 -0
- apps/backend/services/connectors/google_slides_connector.py +339 -0
- apps/backend/services/connectors/google_workspace_connector.py +197 -0
- apps/backend/services/connectors/gusto_connector.py +192 -0
- apps/backend/services/connectors/headless_connector.py +87 -0
- apps/backend/services/connectors/hubspot_connector.py +199 -0
- apps/backend/services/connectors/marketplace.py +3721 -0
- apps/backend/services/connectors/mcp_connector.py +320 -0
- apps/backend/services/connectors/microsoft_365_connector.py +133 -0
- apps/backend/services/connectors/notion_connector.py +323 -0
- apps/backend/services/connectors/oauth_device_flow.py +338 -0
- apps/backend/services/connectors/openapi_spec_parser.py +257 -0
- apps/backend/services/connectors/outlook_calendar_connector.py +144 -0
- apps/backend/services/connectors/provider_operations.py +146 -0
- apps/backend/services/connectors/reauth_cta.py +164 -0
- apps/backend/services/connectors/salesforce_connector.py +204 -0
- apps/backend/services/connectors/shared_connector_service.py +724 -0
- apps/backend/services/connectors/slack_connector.py +332 -0
- apps/backend/services/connectors/standard_connector_registry.py +554 -0
- apps/backend/services/connectors/stripe_connector.py +159 -0
- apps/backend/services/connectors/teams_connector.py +177 -0
- apps/backend/services/connectors/web_search_connector.py +345 -0
- apps/backend/services/consent_manager.py +253 -0
- apps/backend/services/constitutional_ombudsman.py +353 -0
- apps/backend/services/content/__init__.py +1 -0
- apps/backend/services/content/service.py +1359 -0
- apps/backend/services/context_graph.py +281 -0
- apps/backend/services/context_graph_contract.py +154 -0
- apps/backend/services/coordination_orchestrator.py +195 -0
- apps/backend/services/credential_cipher.py +60 -0
- apps/backend/services/crm/__init__.py +1 -0
- apps/backend/services/crm_newsletter_bridge.py +334 -0
- apps/backend/services/crm_service_helpers.py +206 -0
- apps/backend/services/cross_loop_compounding.py +238 -0
- apps/backend/services/customer_context_store.py +232 -0
- apps/backend/services/dag_executor.py +323 -0
- apps/backend/services/decision_event_capture.py +537 -0
- apps/backend/services/decision_tree_service.py +403 -0
- apps/backend/services/degradation_notifier.py +169 -0
- apps/backend/services/delivery_guard.py +792 -0
- apps/backend/services/desk_learning_loop.py +260 -0
- apps/backend/services/developer_loop.py +309 -0
- apps/backend/services/developmental_intelligence.py +1157 -0
- apps/backend/services/dispatch_consumer_runtime.py +1452 -0
- apps/backend/services/doctrine_index.py +435 -0
- apps/backend/services/document_processor.py +696 -0
- apps/backend/services/document_store.py +201 -0
- apps/backend/services/domain_factory/__init__.py +65 -0
- apps/backend/services/domain_factory/pack.py +313 -0
- apps/backend/services/domain_factory/provisioner.py +295 -0
- apps/backend/services/domain_factory/registry.py +1040 -0
- apps/backend/services/domain_factory/workflow_compiler.py +336 -0
- apps/backend/services/domain_factory/zara_integration.py +216 -0
- apps/backend/services/drift_detection.py +1299 -0
- apps/backend/services/dynamo_store.py +301 -0
- apps/backend/services/dynamo_transactions.py +52 -0
- apps/backend/services/edge_cloud/__init__.py +31 -0
- apps/backend/services/edge_cloud/edge_cloud_handoff.py +381 -0
- apps/backend/services/email_service.py +1091 -0
- apps/backend/services/email_threading.py +1431 -0
- apps/backend/services/embedded_assets.py +82 -0
- apps/backend/services/entity_phone_routing.py +170 -0
- apps/backend/services/entity_resolution_engine.py +475 -0
- apps/backend/services/entity_resolution_repository.py +262 -0
- apps/backend/services/escalation_chain.py +152 -0
- apps/backend/services/eval_harness.py +375 -0
- apps/backend/services/event_bus.py +479 -0
- apps/backend/services/evidence_graph.py +1150 -0
- apps/backend/services/evolution_rate_limiter.py +902 -0
- apps/backend/services/executable_skill_platform.py +1087 -0
- apps/backend/services/executable_skill_sandbox_worker.py +334 -0
- apps/backend/services/execution/__init__.py +27 -0
- apps/backend/services/execution/awareness_planner.py +304 -0
- apps/backend/services/execution/emergent_composition.py +258 -0
- apps/backend/services/execution/guard_service.py +1528 -0
- apps/backend/services/execution/guardrail_drift_bias.py +117 -0
- apps/backend/services/execution/interrupt_propagation.py +250 -0
- apps/backend/services/execution/isolation_envelope.py +276 -0
- apps/backend/services/execution/replanner.py +182 -0
- apps/backend/services/execution/seat_spec.py +234 -0
- apps/backend/services/execution/squad_supervisor.py +154 -0
- apps/backend/services/execution/task_complexity_analyzer.py +271 -0
- apps/backend/services/execution/workitem_service.py +1640 -0
- apps/backend/services/execution/workitem_store.py +238 -0
- apps/backend/services/execution_proof_gate.py +311 -0
- apps/backend/services/execution_streaming.py +264 -0
- apps/backend/services/experiment_service.py +259 -0
- apps/backend/services/external_entity_sync.py +786 -0
- apps/backend/services/failure_taxonomy.py +165 -0
- apps/backend/services/feature_flags.py +526 -0
- apps/backend/services/forgetting_scheduler.py +597 -0
- apps/backend/services/funnel_analytics.py +193 -0
- apps/backend/services/gate_b_audit_bundle.py +833 -0
- apps/backend/services/github_ingest.py +337 -0
- apps/backend/services/gitlab_ingest.py +307 -0
- apps/backend/services/global_optimizer.py +339 -0
- apps/backend/services/gmail_read_service.py +231 -0
- apps/backend/services/gmail_service.py +124 -0
- apps/backend/services/goal_cascade.py +648 -0
- apps/backend/services/goal_intake_interviewer.py +691 -0
- apps/backend/services/goal_spec_service.py +121 -0
- apps/backend/services/golden_trace.py +243 -0
- apps/backend/services/google_oauth.py +598 -0
- apps/backend/services/gotcha_service.py +505 -0
- apps/backend/services/governance/__init__.py +17 -0
- apps/backend/services/governance/simulation_parity.py +306 -0
- apps/backend/services/governed_mutation_contract.py +188 -0
- apps/backend/services/governed_skill_index.py +277 -0
- apps/backend/services/governed_swarm_service.py +771 -0
- apps/backend/services/gradient_engine.py +177 -0
- apps/backend/services/grok_client.py +29 -0
- apps/backend/services/grok_intent_classifier.py +1040 -0
- apps/backend/services/grok_skill_selector.py +823 -0
- apps/backend/services/guardrails.py +855 -0
- apps/backend/services/harness_core.py +837 -0
- apps/backend/services/harness_rollout_snapshot.py +195 -0
- apps/backend/services/harness_state_ledger.py +137 -0
- apps/backend/services/heartbeat_monitor.py +113 -0
- apps/backend/services/hierarchical_identity.py +203 -0
- apps/backend/services/http_client_registry.py +96 -0
- apps/backend/services/hubspot_crm_service.py +478 -0
- apps/backend/services/human_judgment_service.py +681 -0
- apps/backend/services/human_override.py +315 -0
- apps/backend/services/idempotency.py +531 -0
- apps/backend/services/identity_links.py +151 -0
- apps/backend/services/identity_provisioner.py +935 -0
- apps/backend/services/improvement_policy_registry.py +1005 -0
- apps/backend/services/improvement_validator.py +246 -0
- apps/backend/services/inference/__init__.py +1 -0
- apps/backend/services/inference/adapters.py +606 -0
- apps/backend/services/inference/admin_resolver.py +618 -0
- apps/backend/services/inference/admin_store.py +1026 -0
- apps/backend/services/inference/anthropic_client.py +199 -0
- apps/backend/services/inference/auth_service.py +1094 -0
- apps/backend/services/inference/authority.py +505 -0
- apps/backend/services/inference/bedrock_client.py +486 -0
- apps/backend/services/inference/capabilities.py +631 -0
- apps/backend/services/inference/capability_router.py +467 -0
- apps/backend/services/inference/codex_client.py +210 -0
- apps/backend/services/inference/eval/__init__.py +35 -0
- apps/backend/services/inference/eval/canary_gate.py +134 -0
- apps/backend/services/inference/eval/golden_tasks.py +444 -0
- apps/backend/services/inference/eval_preflight.py +705 -0
- apps/backend/services/inference/intelligence_service.py +1475 -0
- apps/backend/services/inference/ir.py +149 -0
- apps/backend/services/inference/litellm_gateway.py +235 -0
- apps/backend/services/inference/llamacpp_provider.py +398 -0
- apps/backend/services/inference/ollama_provider.py +411 -0
- apps/backend/services/inference/openai_compatible_client.py +273 -0
- apps/backend/services/inference/phantom_model_baseline.py +211 -0
- apps/backend/services/inference/phantom_model_guard.py +190 -0
- apps/backend/services/inference/provider_chain.py +351 -0
- apps/backend/services/inference/provider_runtime.py +351 -0
- apps/backend/services/inference/service.py +2126 -0
- apps/backend/services/inference/settings.py +441 -0
- apps/backend/services/inference/tenant_clients.py +142 -0
- apps/backend/services/inference/universal.py +200 -0
- apps/backend/services/inference/usage.py +298 -0
- apps/backend/services/inference/vllm_provider.py +453 -0
- apps/backend/services/inference_aggregator.py +22 -0
- apps/backend/services/integration_health_store.py +60 -0
- apps/backend/services/integration_manager.py +1015 -0
- apps/backend/services/intelligence_aggregator.py +649 -0
- apps/backend/services/interrupt_enforcer.py +475 -0
- apps/backend/services/interrupt_state_store.py +151 -0
- apps/backend/services/interview_prompts.py +433 -0
- apps/backend/services/interview_report_service.py +308 -0
- apps/backend/services/interview_session_service.py +755 -0
- apps/backend/services/invitation_service.py +1044 -0
- apps/backend/services/irreversible_action_contract.py +449 -0
- apps/backend/services/judgment_feed_service.py +863 -0
- apps/backend/services/launch_readiness_enforcement.py +153 -0
- apps/backend/services/lead_magnet_email_service.py +546 -0
- apps/backend/services/lead_magnet_scoring.py +128 -0
- apps/backend/services/lead_scorer.py +372 -0
- apps/backend/services/learning/__init__.py +29 -0
- apps/backend/services/learning/daily_synthesis.py +67 -0
- apps/backend/services/learning/learning_agility.py +60 -0
- apps/backend/services/learning/learning_audit_service.py +243 -0
- apps/backend/services/learning/learning_fabric.py +338 -0
- apps/backend/services/learning/loop_agent.py +551 -0
- apps/backend/services/learning/loop_core.py +1737 -0
- apps/backend/services/learning/loop_governance.py +517 -0
- apps/backend/services/learning/loop_types.py +238 -0
- apps/backend/services/learning/post_run_promoter.py +91 -0
- apps/backend/services/learning/retrospective.py +419 -0
- apps/backend/services/learning/strategy_proposal_bridge.py +129 -0
- apps/backend/services/learning/trace_strategy_miner.py +555 -0
- apps/backend/services/learning/trace_strategy_retriever.py +150 -0
- apps/backend/services/learning/trace_strategy_store.py +291 -0
- apps/backend/services/llm_discovery.py +726 -0
- apps/backend/services/llm_provider_registry.py +385 -0
- apps/backend/services/loss_function.py +633 -0
- apps/backend/services/macrohard_baseline.py +396 -0
- apps/backend/services/meeting/__init__.py +4 -0
- apps/backend/services/meeting/booking_handoff.py +164 -0
- apps/backend/services/meeting/capacity_quotas.py +140 -0
- apps/backend/services/meeting/concurrent_attendance.py +107 -0
- apps/backend/services/meeting/consent_by_jurisdiction.py +245 -0
- apps/backend/services/meeting/context_index.py +163 -0
- apps/backend/services/meeting/egress_redaction.py +171 -0
- apps/backend/services/meeting/error_contracts.py +16 -0
- apps/backend/services/meeting/governed_speech.py +173 -0
- apps/backend/services/meeting/interfaces.py +289 -0
- apps/backend/services/meeting/live_tool_calling.py +169 -0
- apps/backend/services/meeting/meeting_intelligence_parity.py +126 -0
- apps/backend/services/meeting/meeting_runtime_session.py +427 -0
- apps/backend/services/meeting/orphan_reaper.py +172 -0
- apps/backend/services/meeting/post_meeting_agent.py +1099 -0
- apps/backend/services/meeting/provider_capability_matrix.py +147 -0
- apps/backend/services/meeting/recall_adapter.py +153 -0
- apps/backend/services/meeting/shared_meeting_service.py +533 -0
- apps/backend/services/meeting/transcription_router.py +137 -0
- apps/backend/services/meeting_ingest.py +225 -0
- apps/backend/services/meeting_session_store.py +307 -0
- apps/backend/services/memory/__init__.py +90 -0
- apps/backend/services/memory/adapters/__init__.py +1 -0
- apps/backend/services/memory/adapters/bridge.py +298 -0
- apps/backend/services/memory/adapters/import_service.py +268 -0
- apps/backend/services/memory/adapters/snapshot.py +157 -0
- apps/backend/services/memory/client.py +672 -0
- apps/backend/services/memory/digest_synthesizer.py +253 -0
- apps/backend/services/memory/evidence_default.py +82 -0
- apps/backend/services/memory/evidence_emitter.py +97 -0
- apps/backend/services/memory/evidence_types.py +104 -0
- apps/backend/services/memory/mcp/__init__.py +1 -0
- apps/backend/services/memory/mcp/index.py +420 -0
- apps/backend/services/memory/mcp/lifecycle.py +355 -0
- apps/backend/services/memory/primitive_ledger.py +395 -0
- apps/backend/services/memory/runtime.py +241 -0
- apps/backend/services/memory/service.py +1834 -0
- apps/backend/services/meta_observer.py +639 -0
- apps/backend/services/metric_direction.py +414 -0
- apps/backend/services/microsoft_auth.py +184 -0
- apps/backend/services/microsoft_graph_service.py +134 -0
- apps/backend/services/mission_contracts.py +371 -0
- apps/backend/services/mission_node_store.py +451 -0
- apps/backend/services/mission_prediction_service.py +153 -0
- apps/backend/services/mission_run/__init__.py +10 -0
- apps/backend/services/mission_run/decision_capture.py +93 -0
- apps/backend/services/mission_run/governance.py +1113 -0
- apps/backend/services/mission_run/state.py +2819 -0
- apps/backend/services/moonshot_client.py +32 -0
- apps/backend/services/morning_brief.py +375 -0
- apps/backend/services/morning_brief_scheduler.py +437 -0
- apps/backend/services/mutation_path_registry.py +460 -0
- apps/backend/services/newsletter_service.py +367 -0
- apps/backend/services/nl_agent_creator.py +233 -0
- apps/backend/services/nl_skill_creator.py +888 -0
- apps/backend/services/nonvoice_reasoning_client.py +111 -0
- apps/backend/services/notification_service.py +1051 -0
- apps/backend/services/oauth_redirect_state.py +434 -0
- apps/backend/services/oauth_state_store.py +158 -0
- apps/backend/services/oauth_token_vault.py +245 -0
- apps/backend/services/objective_board_service.py +207 -0
- apps/backend/services/omnibox_command_grammar.py +292 -0
- apps/backend/services/onboarding_state.py +529 -0
- apps/backend/services/online_eval.py +175 -0
- apps/backend/services/optimizers/__init__.py +9 -0
- apps/backend/services/optimizers/greedy_optimizer.py +469 -0
- apps/backend/services/org_audit_log.py +535 -0
- apps/backend/services/org_capacity_index.py +280 -0
- apps/backend/services/org_chart.py +535 -0
- apps/backend/services/org_provisioning.py +972 -0
- apps/backend/services/org_query_service.py +382 -0
- apps/backend/services/orgs_table.py +28 -0
- apps/backend/services/parity/__init__.py +1 -0
- apps/backend/services/parity/parity_registry.py +111 -0
- apps/backend/services/password_policy.py +197 -0
- apps/backend/services/pdf_report_service.py +600 -0
- apps/backend/services/performance_review.py +414 -0
- apps/backend/services/phone_porting.py +659 -0
- apps/backend/services/phone_provisioning.py +550 -0
- apps/backend/services/pii_utils.py +68 -0
- apps/backend/services/planning/__init__.py +7 -0
- apps/backend/services/planning/block_planner.py +357 -0
- apps/backend/services/planning/candidate_selection.py +93 -0
- apps/backend/services/planning/collaborative.py +392 -0
- apps/backend/services/planning/counter_metrics.py +124 -0
- apps/backend/services/planning/drift_bias_guard.py +393 -0
- apps/backend/services/planning/engine.py +420 -0
- apps/backend/services/planning/ontology_reuse.py +123 -0
- apps/backend/services/planning/planner_mode.py +83 -0
- apps/backend/services/planning/sensitivity_classifier.py +259 -0
- apps/backend/services/platform_bridge/__init__.py +35 -0
- apps/backend/services/platform_bridge/adapter.py +83 -0
- apps/backend/services/platform_bridge/bridge.py +90 -0
- apps/backend/services/platform_bridge/cliq_adapter.py +197 -0
- apps/backend/services/platform_bridge/mapping_store.py +138 -0
- apps/backend/services/platform_bridge/runtime.py +83 -0
- apps/backend/services/platform_bridge/slack_adapter.py +125 -0
- apps/backend/services/platform_bridge/teams_adapter.py +216 -0
- apps/backend/services/policy_kernel.py +95 -0
- apps/backend/services/policy_tools.py +32 -0
- apps/backend/services/portable_background_runtime.py +139 -0
- apps/backend/services/portable_worker_runtime.py +66 -0
- apps/backend/services/precedent_freshness.py +502 -0
- apps/backend/services/precedent_query.py +443 -0
- apps/backend/services/preflight.py +52 -0
- apps/backend/services/project_generator.py +325 -0
- apps/backend/services/proof_card_service.py +378 -0
- apps/backend/services/prospect_research_service.py +277 -0
- apps/backend/services/public_health_contract.py +32 -0
- apps/backend/services/push_subscription_store.py +373 -0
- apps/backend/services/quick_actions.py +292 -0
- apps/backend/services/region_router.py +294 -0
- apps/backend/services/regression_gates.py +559 -0
- apps/backend/services/regulated_action_rails.py +226 -0
- apps/backend/services/replay_eval.py +378 -0
- apps/backend/services/repo_skill_catalog.py +142 -0
- apps/backend/services/retrospective.py +983 -0
- apps/backend/services/revenue_proof_contract.py +218 -0
- apps/backend/services/revenue_reply_service.py +407 -0
- apps/backend/services/role_assembler.py +144 -0
- apps/backend/services/role_skill_templates/__init__.py +22 -0
- apps/backend/services/role_skill_templates/role_skill_template_service.py +195 -0
- apps/backend/services/role_store.py +497 -0
- apps/backend/services/rule_engine.py +471 -0
- apps/backend/services/run_state_service.py +260 -0
- apps/backend/services/runtime/__init__.py +21 -0
- apps/backend/services/runtime/agent_liveness.py +96 -0
- apps/backend/services/runtime/cache_keepalive.py +257 -0
- apps/backend/services/runtime/composition_manifest.py +95 -0
- apps/backend/services/runtime/developer_harness_preset.py +88 -0
- apps/backend/services/runtime/headless_agent_runtime.py +369 -0
- apps/backend/services/runtime/liveness_watchdog.py +274 -0
- apps/backend/services/runtime/persistent_goal.py +111 -0
- apps/backend/services/runtime/provisioning_dns.py +130 -0
- apps/backend/services/runtime/provisioning_lifecycle.py +895 -0
- apps/backend/services/runtime/provisioning_rendering.py +314 -0
- apps/backend/services/runtime/provisioning_service.py +162 -0
- apps/backend/services/runtime/provisioning_shared.py +268 -0
- apps/backend/services/runtime/provisioning_state.py +375 -0
- apps/backend/services/runtime/provisioning_token.py +22 -0
- apps/backend/services/runtime/provisioning_verification.py +436 -0
- apps/backend/services/runtime/runtime_context.py +304 -0
- apps/backend/services/runtime/runtime_session_gateway.py +830 -0
- apps/backend/services/runtime/runtime_supervisor.py +543 -0
- apps/backend/services/runtime/runtime_validation.py +316 -0
- apps/backend/services/runtime/supervisor_self_healing.py +624 -0
- apps/backend/services/runtime/supervisor_service.py +1341 -0
- apps/backend/services/runtime_analyzers.py +92 -0
- apps/backend/services/runtime_types.py +66 -0
- apps/backend/services/salesforce_crm_service.py +480 -0
- apps/backend/services/schedule_dispatch_runtime.py +312 -0
- apps/backend/services/schedule_pattern_observer.py +479 -0
- apps/backend/services/scheduler_state_store.py +121 -0
- apps/backend/services/schedules/__init__.py +1 -0
- apps/backend/services/schedules/schedule_parity.py +152 -0
- apps/backend/services/scheduling/__init__.py +16 -0
- apps/backend/services/scheduling/adaptive.py +819 -0
- apps/backend/services/scheduling/cadence_service.py +1720 -0
- apps/backend/services/scheduling/calendar_api.py +209 -0
- apps/backend/services/scheduling/calendar_density.py +60 -0
- apps/backend/services/scheduling/calendar_intelligence.py +302 -0
- apps/backend/services/scheduling/calendar_service.py +1438 -0
- apps/backend/services/scheduling/calendar_sync_engine.py +264 -0
- apps/backend/services/scheduling/goal_scheduler.py +403 -0
- apps/backend/services/scheduling/routines.py +604 -0
- apps/backend/services/scheduling/service.py +619 -0
- apps/backend/services/scheduling/steering_service.py +305 -0
- apps/backend/services/scheduling/store.py +511 -0
- apps/backend/services/scheduling/timeblock_analytics.py +281 -0
- apps/backend/services/scheduling/timeblock_cockpit.py +91 -0
- apps/backend/services/scheduling/timeblock_materialization.py +223 -0
- apps/backend/services/scheduling/timeblock_service.py +432 -0
- apps/backend/services/self_diagnosis.py +297 -0
- apps/backend/services/send_time_optimizer.py +195 -0
- apps/backend/services/session/__init__.py +90 -0
- apps/backend/services/session/browser_session.py +452 -0
- apps/backend/services/session/session_continuity.py +434 -0
- apps/backend/services/session/session_invalidation.py +191 -0
- apps/backend/services/session/session_router.py +463 -0
- apps/backend/services/shell_convergence/__init__.py +28 -0
- apps/backend/services/shell_convergence/shell_manager.py +313 -0
- apps/backend/services/signed_proposal.py +357 -0
- apps/backend/services/simulation/__init__.py +58 -0
- apps/backend/services/simulation/action_planner.py +35 -0
- apps/backend/services/simulation/planner.py +298 -0
- apps/backend/services/simulation/safety.py +411 -0
- apps/backend/services/simulation/sandbox.py +259 -0
- apps/backend/services/simulation/world_state.py +119 -0
- apps/backend/services/skill_discovery.py +295 -0
- apps/backend/services/skill_dispatch_resolver.py +246 -0
- apps/backend/services/skill_reachability_auditor.py +123 -0
- apps/backend/services/skill_trigger_evaluator.py +87 -0
- apps/backend/services/skillify.py +908 -0
- apps/backend/services/skills/__init__.py +137 -0
- apps/backend/services/skills/crystallization.py +396 -0
- apps/backend/services/skills/deactivation.py +355 -0
- apps/backend/services/skills/dispatch.py +1205 -0
- apps/backend/services/skills/evolution.py +850 -0
- apps/backend/services/skills/evolution_store.py +319 -0
- apps/backend/services/skills/executor.py +1799 -0
- apps/backend/services/skills/marketing_workflow.py +112 -0
- apps/backend/services/skills/marketplace_service.py +270 -0
- apps/backend/services/skills/promotion/__init__.py +24 -0
- apps/backend/services/skills/promotion/delta_j_calculator.py +76 -0
- apps/backend/services/skills/promotion/rollback.py +87 -0
- apps/backend/services/skills/promotion/semantic_comparator.py +75 -0
- apps/backend/services/skills/promotion/traffic_mirror.py +80 -0
- apps/backend/services/skills/promotion_service.py +495 -0
- apps/backend/services/skills/registry/__init__.py +49 -0
- apps/backend/services/skills/registry/activation.py +644 -0
- apps/backend/services/skills/registry/crystallization.py +396 -0
- apps/backend/services/skills/registry/deactivation.py +355 -0
- apps/backend/services/skills/registry/evolution.py +736 -0
- apps/backend/services/skills/registry/evolution_store.py +319 -0
- apps/backend/services/skills/registry/file_system.py +965 -0
- apps/backend/services/skills/registry/marketplace_service.py +270 -0
- apps/backend/services/skills/registry/registrar.py +843 -0
- apps/backend/services/skills/runtime/__init__.py +43 -0
- apps/backend/services/skills/runtime/dispatch.py +1205 -0
- apps/backend/services/skills/runtime/executor.py +1799 -0
- apps/backend/services/skills/runtime/types.py +132 -0
- apps/backend/services/skills/selection/__init__.py +47 -0
- apps/backend/services/skills/selection/composer.py +329 -0
- apps/backend/services/skills/selection/generator.py +862 -0
- apps/backend/services/skills/selection/guidance_store.py +91 -0
- apps/backend/services/skills/selection/progressive_loader.py +418 -0
- apps/backend/services/skills/selection/promotion_service.py +495 -0
- apps/backend/services/skills/selection/query.py +601 -0
- apps/backend/services/skills/skill_activation.py +644 -0
- apps/backend/services/skills/skill_composer.py +329 -0
- apps/backend/services/skills/skill_file_system.py +965 -0
- apps/backend/services/skills/skill_generator.py +862 -0
- apps/backend/services/skills/skill_guidance_store.py +91 -0
- apps/backend/services/skills/skill_progressive_loader.py +418 -0
- apps/backend/services/skills/skill_query.py +601 -0
- apps/backend/services/skills/skill_registrar.py +843 -0
- apps/backend/services/skills/skills_governance_cockpit.py +178 -0
- apps/backend/services/skills/types.py +132 -0
- apps/backend/services/slack_user_binding.py +62 -0
- apps/backend/services/soc2_control_map.py +87 -0
- apps/backend/services/sourced_recall.py +425 -0
- apps/backend/services/stores/__init__.py +19 -0
- apps/backend/services/stores/base.py +333 -0
- apps/backend/services/stores/in_memory_protocol.py +179 -0
- apps/backend/services/stores/instance_store.py +38 -0
- apps/backend/services/stores/session_store.py +129 -0
- apps/backend/services/stores/tenant_scoped.py +109 -0
- apps/backend/services/structured_tool_registry.py +303 -0
- apps/backend/services/structured_tool_runtime.py +241 -0
- apps/backend/services/supervisor_analyzers.py +110 -0
- apps/backend/services/supervisor_types.py +153 -0
- apps/backend/services/suppression_guard.py +149 -0
- apps/backend/services/suppression_store.py +320 -0
- apps/backend/services/swarm_capacity.py +399 -0
- apps/backend/services/swarm_coordination.py +830 -0
- apps/backend/services/swarm_scheduler.py +797 -0
- apps/backend/services/task_ingest.py +280 -0
- apps/backend/services/task_store.py +632 -0
- apps/backend/services/telemetry.py +579 -0
- apps/backend/services/telemetry_policy.py +135 -0
- apps/backend/services/tenant_config.py +105 -0
- apps/backend/services/tenant_improvement_loop.py +228 -0
- apps/backend/services/tenant_lifecycle_admin.py +785 -0
- apps/backend/services/tenant_lifecycle_bootstrap.py +411 -0
- apps/backend/services/tenant_provisioning.py +1227 -0
- apps/backend/services/tenant_quota_service.py +303 -0
- apps/backend/services/tenant_twilio_byo.py +73 -0
- apps/backend/services/tenants_table.py +104 -0
- apps/backend/services/thread_service.py +1063 -0
- apps/backend/services/ticket_service.py +504 -0
- apps/backend/services/time_rollup_service.py +409 -0
- apps/backend/services/timeblock_emission_hooks.py +406 -0
- apps/backend/services/token_encryption.py +388 -0
- apps/backend/services/tool_capability_registry.py +367 -0
- apps/backend/services/tool_catalog_contract.py +511 -0
- apps/backend/services/tool_introspection.py +800 -0
- apps/backend/services/tool_permission_service.py +115 -0
- apps/backend/services/tool_registry_evolution.py +289 -0
- apps/backend/services/topology_swarm_bridge.py +196 -0
- apps/backend/services/trace_capture.py +333 -0
- apps/backend/services/trace_store.py +246 -0
- apps/backend/services/trust/__init__.py +1 -0
- apps/backend/services/trust/beta_trust_partials.py +142 -0
- apps/backend/services/trust_score.py +322 -0
- apps/backend/services/uat/__init__.py +1 -0
- apps/backend/services/uat/staging_uat.py +82 -0
- apps/backend/services/unified_capability_gate.py +400 -0
- apps/backend/services/unified_file_ingestion.py +489 -0
- apps/backend/services/unified_skill_registry.py +793 -0
- apps/backend/services/upgrade_digest.py +345 -0
- apps/backend/services/upload_validation.py +421 -0
- apps/backend/services/usage_tracker.py +1464 -0
- apps/backend/services/user_management.py +462 -0
- apps/backend/services/value_density_calibrator.py +227 -0
- apps/backend/services/variant_store.py +530 -0
- apps/backend/services/variant_store_migration.py +81 -0
- apps/backend/services/voice/__init__.py +1 -0
- apps/backend/services/voice/voice_agent_runtime.py +162 -0
- apps/backend/services/voice/voice_reconnect.py +155 -0
- apps/backend/services/voice/voice_security.py +164 -0
- apps/backend/services/voice_guardrails.py +415 -0
- apps/backend/services/workflow/__init__.py +102 -0
- apps/backend/services/workflow/audience_model.py +910 -0
- apps/backend/services/workflow/cold_outreach_composition.py +363 -0
- apps/backend/services/workflow/content_intelligence.py +638 -0
- apps/backend/services/workflow/deliberation.py +300 -0
- apps/backend/services/workflow/outcome_feedback.py +324 -0
- apps/backend/services/workflow/quality_optimization.py +567 -0
- apps/backend/services/workflow_executor.py +726 -0
- apps/backend/services/workflow_service.py +488 -0
- apps/backend/services/workspace_coding_bridge_store.py +47 -0
- apps/backend/services/workspace_coding_run_store.py +63 -0
- apps/backend/services/workspace_repo_job_store.py +53 -0
- apps/backend/services/workspace_terminal_session_store.py +55 -0
- apps/backend/services/workweaver_runtime_bridge.py +583 -0
- apps/backend/services/zara/__init__.py +11 -0
- apps/backend/services/zara/assertions.py +132 -0
- apps/backend/services/zara/backend.py +375 -0
- apps/backend/services/zara/chat_history.py +193 -0
- apps/backend/services/zara/collaborators.py +347 -0
- apps/backend/services/zara/context.py +351 -0
- apps/backend/services/zara/execution_event_bus.py +122 -0
- apps/backend/services/zara/factory.py +242 -0
- apps/backend/services/zara/first_mission_onboarding.py +388 -0
- apps/backend/services/zara/inventory.py +160 -0
- apps/backend/services/zara/inverter_agent.py +161 -0
- apps/backend/services/zara/kernel.py +346 -0
- apps/backend/services/zara/memory.py +171 -0
- apps/backend/services/zara/operational_graph.py +154 -0
- apps/backend/services/zara/orchestrator_surface.py +75 -0
- apps/backend/services/zara/parsers.py +240 -0
- apps/backend/services/zara/plan_store.py +380 -0
- apps/backend/services/zara/policy.py +192 -0
- apps/backend/services/zara/post_run.py +290 -0
- apps/backend/services/zara/prompts.py +32 -0
- apps/backend/services/zara/role_agent_runtime.py +132 -0
- apps/backend/services/zara/role_skill_contracts.py +95 -0
- apps/backend/services/zara/service.py +1378 -0
- apps/backend/services/zara/swarm_planner_agent.py +174 -0
- apps/backend/services/zara/types.py +108 -0
- apps/backend/services/zara/verifier_agent.py +145 -0
- apps/backend/services/zara/zara_access_token_service.py +162 -0
- apps/backend/services/zara/zara_awareness_service.py +461 -0
- apps/backend/services/zara/zara_control_plane.py +782 -0
- apps/backend/services/zara/zara_fabric.py +150 -0
- apps/backend/services/zara/zara_goal_intake.py +934 -0
- apps/backend/services/zara/zara_interview_contract.py +301 -0
- apps/backend/services/zara/zara_prerequisites.py +158 -0
- apps/backend/services/zara/zara_topic_threads.py +308 -0
- apps/backend/services/zoho/__init__.py +1 -0
- apps/backend/services/zoho/auth.py +663 -0
- apps/backend/services/zoho/calendar_service.py +204 -0
- apps/backend/services/zoho/connection_manager.py +403 -0
- apps/backend/services/zoho/connection_store.py +579 -0
- apps/backend/services/zoho/connectors/__init__.py +1 -0
- apps/backend/services/zoho/connectors/books_connector.py +170 -0
- apps/backend/services/zoho/connectors/calendar_connector.py +67 -0
- apps/backend/services/zoho/connectors/crm_connector.py +201 -0
- apps/backend/services/zoho/connectors/desk_connector.py +155 -0
- apps/backend/services/zoho/connectors/mail_connector.py +89 -0
- apps/backend/services/zoho/crm.py +1681 -0
- apps/backend/services/zoho/desk_adapter.py +442 -0
- apps/backend/services/zoho/lead_queue.py +245 -0
- apps/backend/services/zoho/mail_service.py +549 -0
- apps/backend/services/zoho/product_registry.py +510 -0
- apps/backend/services/zoho/rate_limiter.py +229 -0
- apps/backend/services/zoho/runtime.py +704 -0
- apps/backend/services/zoho/webhook_service.py +362 -0
- apps/backend/skills/__init__.py +19 -0
- apps/backend/skills/skill_validator.py +446 -0
- apps/backend/tests/api/test_swarm_executions.py +157 -0
- apps/backend/tests/conftest.py +237 -0
- apps/backend/tests/contracts/test_strategy_miner_to_loop_governance.py +140 -0
- apps/backend/tests/contracts/test_swarm_execution_dispatch.py +192 -0
- apps/backend/tests/integration/test_e2e_journeys.py +431 -0
- apps/backend/tests/integration/test_journey_j001_public_funnel.py +350 -0
- apps/backend/tests/integration/test_journey_j002_zara_discovery.py +611 -0
- apps/backend/tests/integration/test_journey_j003_goal_to_evidence.py +487 -0
- apps/backend/tests/integration/test_journey_j003_mission_control.py +627 -0
- apps/backend/tests/integration/test_journey_j004_role_adoption.py +433 -0
- apps/backend/tests/integration/test_journey_j005_revenue_loop.py +1236 -0
- apps/backend/tests/integration/test_journey_j006_voice_meeting.py +509 -0
- apps/backend/tests/integration/test_journey_j007_memory_compound.py +665 -0
- apps/backend/tests/integration/test_journey_j008_inbound_channel.py +552 -0
- apps/backend/tests/integration/test_learning_loop_chain.py +147 -0
- apps/backend/tests/integration/test_llm_caller_coverage.py +242 -0
- apps/backend/tests/integration/test_meeting_route_b_provider_smoke.py +391 -0
- apps/backend/tests/integration/test_payment_dunning.py +706 -0
- apps/backend/tests/integration/test_post_meeting_booking_handoff.py +187 -0
- apps/backend/tests/integration/test_stripe_webhooks.py +500 -0
- apps/backend/tests/integration/test_subscription_management.py +554 -0
- apps/backend/tests/lambda_handlers/test_daily_retrospective.py +291 -0
- apps/backend/tests/lambda_handlers/test_developmental_intelligence_warmer.py +80 -0
- apps/backend/tests/services/optimizers/test_greedy_optimizer.py +300 -0
- apps/backend/tests/services/test_change_events.py +172 -0
- apps/backend/tests/services/test_constitutional_ombudsman.py +300 -0
- apps/backend/tests/services/test_level2_calibrator.py +254 -0
- apps/backend/tests/services/test_loss_function.py +168 -0
- apps/backend/tests/services/test_metric_direction.py +138 -0
- apps/backend/tests/services/test_metric_direction_required.py +227 -0
- apps/backend/tests/services/test_no_legacy_paths.py +25 -0
- apps/backend/tests/services/test_swarm_capacity_dynamodb.py +226 -0
- apps/backend/tests/services/test_swarm_coordination_persistence.py +136 -0
- apps/backend/tests/services/test_upgrade_digest.py +206 -0
- apps/backend/tests/test_agent_dispatch_queue.py +266 -0
- apps/backend/tests/test_async_io_wrapper.py +364 -0
- apps/backend/tests/test_audio_chunker.py +314 -0
- apps/backend/tests/test_binary_websocket_handler.py +267 -0
- apps/backend/tests/test_content_pipeline_queue.py +85 -0
- apps/backend/tests/test_document_processor_object_store.py +97 -0
- apps/backend/tests/test_google_oauth_code_model.py +211 -0
- apps/backend/tests/test_google_oauth_redirect.py +87 -0
- apps/backend/tests/test_livekit_agent.py +560 -0
- apps/backend/tests/test_pdf_report_service_object_store.py +109 -0
- apps/backend/tests/test_recording_service_object_store.py +106 -0
- apps/backend/tests/test_runtime_bootstrap_diagnostics.py +173 -0
- apps/backend/tests/test_runtime_dns_propagation.py +66 -0
- apps/backend/tests/test_runtime_provisioning_null_runtime.py +76 -0
- apps/backend/tests/test_runtime_provisioning_readiness_gates.py +166 -0
- apps/backend/tests/test_schedule_store.py +163 -0
- apps/backend/tests/test_suppression_store.py +139 -0
- apps/backend/tests/test_tenant_provisioning_consistent_reads.py +263 -0
- apps/backend/tests/test_tenant_provisioning_email_legacy_adoption.py +150 -0
- apps/backend/tests/test_tenant_provisioning_owner_scan.py +232 -0
- apps/backend/tests/test_variant_store_portable.py +322 -0
- apps/backend/tests/test_waitlist_persistence.py +146 -0
- apps/backend/tests/test_xai_relay_performance.py +292 -0
- apps/backend/tests/test_zara_awareness_orchestration.py +203 -0
- apps/backend/tests/test_zoho_waitlist_position_write_once.py +56 -0
- apps/backend/tests/unit/__init__.py +1 -0
- apps/backend/tests/unit/conftest.py +395 -0
- apps/backend/tests/unit/connectors/__init__.py +1 -0
- apps/backend/tests/unit/connectors/test_connector_proactive_auth_expired.py +321 -0
- apps/backend/tests/unit/connectors/test_google_calendar_create_meeting.py +216 -0
- apps/backend/tests/unit/connectors/test_google_docs.py +282 -0
- apps/backend/tests/unit/connectors/test_google_sheets.py +284 -0
- apps/backend/tests/unit/connectors/test_google_slides.py +244 -0
- apps/backend/tests/unit/connectors/test_salesforce_hubspot_proactive_auth_expired.py +135 -0
- apps/backend/tests/unit/policy_proposal_test_helpers.py +149 -0
- apps/backend/tests/unit/services/stores/__init__.py +0 -0
- apps/backend/tests/unit/services/stores/test_base_store.py +417 -0
- apps/backend/tests/unit/services/test_regression_gates_no_baseline.py +52 -0
- apps/backend/tests/unit/services/test_replay_eval_budget_blocks.py +55 -0
- apps/backend/tests/unit/services/test_variant_store_immutable.py +205 -0
- apps/backend/tests/unit/services/whitebox/__init__.py +0 -0
- apps/backend/tests/unit/services/whitebox/test_fit_probe.py +652 -0
- apps/backend/tests/unit/test_action_item_extractor.py +108 -0
- apps/backend/tests/unit/test_adaptive_scheduler.py +1417 -0
- apps/backend/tests/unit/test_admin_analytics_api.py +200 -0
- apps/backend/tests/unit/test_admin_cost_summary_projection.py +116 -0
- apps/backend/tests/unit/test_admin_host_deep_links.py +94 -0
- apps/backend/tests/unit/test_admin_host_routing.py +224 -0
- apps/backend/tests/unit/test_admin_pricing_api.py +41 -0
- apps/backend/tests/unit/test_admin_secrets_audit.py +315 -0
- apps/backend/tests/unit/test_admin_self_diagnosis_api.py +151 -0
- apps/backend/tests/unit/test_agent_approval.py +500 -0
- apps/backend/tests/unit/test_agent_calendar.py +294 -0
- apps/backend/tests/unit/test_agent_calendar_zoho.py +31 -0
- apps/backend/tests/unit/test_agent_credential_vault.py +141 -0
- apps/backend/tests/unit/test_agent_crm.py +327 -0
- apps/backend/tests/unit/test_agent_email.py +267 -0
- apps/backend/tests/unit/test_agent_email_service_zoho.py +26 -0
- apps/backend/tests/unit/test_agent_identity_activation.py +164 -0
- apps/backend/tests/unit/test_agent_identity_provision.py +232 -0
- apps/backend/tests/unit/test_agent_identity_provisioning.py +126 -0
- apps/backend/tests/unit/test_agent_topology_governance.py +535 -0
- apps/backend/tests/unit/test_agent_work_ledger.py +255 -0
- apps/backend/tests/unit/test_agent_work_ledger_api.py +225 -0
- apps/backend/tests/unit/test_analytics_service.py +140 -0
- apps/backend/tests/unit/test_api_key_store.py +285 -0
- apps/backend/tests/unit/test_approval_service.py +209 -0
- apps/backend/tests/unit/test_approval_ux_overhaul.py +750 -0
- apps/backend/tests/unit/test_async_scheduler.py +198 -0
- apps/backend/tests/unit/test_auth_identities.py +186 -0
- apps/backend/tests/unit/test_auth_login_prod_session.py +273 -0
- apps/backend/tests/unit/test_auth_runtime_state.py +400 -0
- apps/backend/tests/unit/test_autonomous_okr.py +421 -0
- apps/backend/tests/unit/test_backup_retention_reconciler_lambda.py +183 -0
- apps/backend/tests/unit/test_batch_orchestrator_import.py +276 -0
- apps/backend/tests/unit/test_batch_orchestrator_parallel.py +322 -0
- apps/backend/tests/unit/test_billing_adjustments.py +99 -0
- apps/backend/tests/unit/test_billing_entitlements.py +335 -0
- apps/backend/tests/unit/test_billing_ingress.py +182 -0
- apps/backend/tests/unit/test_billing_lifecycle_api.py +325 -0
- apps/backend/tests/unit/test_billing_read_models.py +410 -0
- apps/backend/tests/unit/test_billing_reconciliation.py +78 -0
- apps/backend/tests/unit/test_block_planner.py +94 -0
- apps/backend/tests/unit/test_booking_service.py +336 -0
- apps/backend/tests/unit/test_bookings_api.py +137 -0
- apps/backend/tests/unit/test_briefing_api.py +111 -0
- apps/backend/tests/unit/test_browser_cli.py +362 -0
- apps/backend/tests/unit/test_browser_evidence_writes.py +261 -0
- apps/backend/tests/unit/test_browser_executor_refactored.py +476 -0
- apps/backend/tests/unit/test_browser_executor_safety.py +482 -0
- apps/backend/tests/unit/test_budget_gate.py +414 -0
- apps/backend/tests/unit/test_bulk_campaign_dialer.py +447 -0
- apps/backend/tests/unit/test_calendar_api.py +619 -0
- apps/backend/tests/unit/test_calendar_backend_evolution.py +607 -0
- apps/backend/tests/unit/test_calendar_intelligence.py +447 -0
- apps/backend/tests/unit/test_calendar_service.py +203 -0
- apps/backend/tests/unit/test_calendar_sync.py +215 -0
- apps/backend/tests/unit/test_call_control_service.py +313 -0
- apps/backend/tests/unit/test_canonical_contract_aliases.py +214 -0
- apps/backend/tests/unit/test_capability_graph.py +422 -0
- apps/backend/tests/unit/test_cbac_capability_requests.py +609 -0
- apps/backend/tests/unit/test_channel_timeline.py +115 -0
- apps/backend/tests/unit/test_channels_connectors_calendar.py +455 -0
- apps/backend/tests/unit/test_codex_high_severity_fixes.py +209 -0
- apps/backend/tests/unit/test_command_center.py +390 -0
- apps/backend/tests/unit/test_company_graph.py +342 -0
- apps/backend/tests/unit/test_composition_surfaces.py +290 -0
- apps/backend/tests/unit/test_compounding_scorecard.py +307 -0
- apps/backend/tests/unit/test_config_safety.py +412 -0
- apps/backend/tests/unit/test_connector_conformance.py +184 -0
- apps/backend/tests/unit/test_connector_connect_session_api.py +176 -0
- apps/backend/tests/unit/test_connector_disconnect_lifecycle.py +266 -0
- apps/backend/tests/unit/test_connector_dispatch_wiring.py +617 -0
- apps/backend/tests/unit/test_connector_executor.py +250 -0
- apps/backend/tests/unit/test_connector_executor_policy.py +132 -0
- apps/backend/tests/unit/test_connector_fallback.py +593 -0
- apps/backend/tests/unit/test_connector_policy_broker.py +464 -0
- apps/backend/tests/unit/test_connector_principal.py +426 -0
- apps/backend/tests/unit/test_connector_reachability_truth.py +245 -0
- apps/backend/tests/unit/test_connector_security_hardening.py +250 -0
- apps/backend/tests/unit/test_connector_state_model.py +242 -0
- apps/backend/tests/unit/test_connectors.py +217 -0
- apps/backend/tests/unit/test_consequence_levels.py +221 -0
- apps/backend/tests/unit/test_constraint_envelope_model_policy.py +138 -0
- apps/backend/tests/unit/test_container_orchestrator.py +416 -0
- apps/backend/tests/unit/test_counter_metrics.py +65 -0
- apps/backend/tests/unit/test_cross_loop_compounding.py +195 -0
- apps/backend/tests/unit/test_dag_executor.py +418 -0
- apps/backend/tests/unit/test_dark_meter_emitters.py +165 -0
- apps/backend/tests/unit/test_decision_event_capture_learning.py +186 -0
- apps/backend/tests/unit/test_decision_tree_service.py +176 -0
- apps/backend/tests/unit/test_deployment_profile_detection.py +43 -0
- apps/backend/tests/unit/test_desk_learning_loop.py +296 -0
- apps/backend/tests/unit/test_developer_loop.py +245 -0
- apps/backend/tests/unit/test_developmental_intelligence.py +654 -0
- apps/backend/tests/unit/test_developmental_intelligence_integration.py +165 -0
- apps/backend/tests/unit/test_di_profile_and_autonomy.py +487 -0
- apps/backend/tests/unit/test_dispatch_consumer_swarm_execution.py +384 -0
- apps/backend/tests/unit/test_dispatch_drift_guard_gate.py +140 -0
- apps/backend/tests/unit/test_document_store.py +210 -0
- apps/backend/tests/unit/test_dunning_transition_guards.py +199 -0
- apps/backend/tests/unit/test_dynamo_store.py +88 -0
- apps/backend/tests/unit/test_ecs_taskdef_lifecycle_lambda.py +153 -0
- apps/backend/tests/unit/test_edge_cases_contention_isolation_budget.py +626 -0
- apps/backend/tests/unit/test_email_service_hardening.py +735 -0
- apps/backend/tests/unit/test_emergency_brake.py +477 -0
- apps/backend/tests/unit/test_emergency_brake_api.py +179 -0
- apps/backend/tests/unit/test_emergent_composition.py +292 -0
- apps/backend/tests/unit/test_entropy_threshold.py +128 -0
- apps/backend/tests/unit/test_error_response.py +24 -0
- apps/backend/tests/unit/test_eval_fabric_preflight.py +247 -0
- apps/backend/tests/unit/test_evidence_emitter_abc.py +415 -0
- apps/backend/tests/unit/test_evidence_emitter_enforcement.py +540 -0
- apps/backend/tests/unit/test_evidence_graph_immutability.py +175 -0
- apps/backend/tests/unit/test_evidence_hash_chain.py +290 -0
- apps/backend/tests/unit/test_evidence_memory_bridge.py +383 -0
- apps/backend/tests/unit/test_evidence_route_dedup.py +191 -0
- apps/backend/tests/unit/test_evidence_task_trace.py +285 -0
- apps/backend/tests/unit/test_evolution_rate_limiter.py +405 -0
- apps/backend/tests/unit/test_execute_approved_suggestions.py +125 -0
- apps/backend/tests/unit/test_experiment_service.py +574 -0
- apps/backend/tests/unit/test_final_7_prs.py +597 -0
- apps/backend/tests/unit/test_forgetting_scheduler.py +545 -0
- apps/backend/tests/unit/test_founder_brief_enrichment.py +389 -0
- apps/backend/tests/unit/test_funnel_analytics.py +180 -0
- apps/backend/tests/unit/test_github_ingest.py +285 -0
- apps/backend/tests/unit/test_github_webhook_api.py +370 -0
- apps/backend/tests/unit/test_gitlab_ingest.py +260 -0
- apps/backend/tests/unit/test_gitlab_webhook_api.py +397 -0
- apps/backend/tests/unit/test_gmail_read_service.py +386 -0
- apps/backend/tests/unit/test_gmail_service.py +327 -0
- apps/backend/tests/unit/test_goal_alignment_scoring.py +411 -0
- apps/backend/tests/unit/test_goal_cascade_audit_consumer.py +59 -0
- apps/backend/tests/unit/test_goal_dag.py +413 -0
- apps/backend/tests/unit/test_goal_scheduler_service.py +106 -0
- apps/backend/tests/unit/test_goals_api.py +1591 -0
- apps/backend/tests/unit/test_gotcha_service.py +295 -0
- apps/backend/tests/unit/test_governance.py +214 -0
- apps/backend/tests/unit/test_grace_period_ux.py +459 -0
- apps/backend/tests/unit/test_gradient_engine.py +303 -0
- apps/backend/tests/unit/test_grok_skill_selector.py +439 -0
- apps/backend/tests/unit/test_grok_voice_synthesis.py +388 -0
- apps/backend/tests/unit/test_handoff_sqs_dispatch.py +411 -0
- apps/backend/tests/unit/test_hierarchical_identity.py +303 -0
- apps/backend/tests/unit/test_human_ai_collaboration.py +191 -0
- apps/backend/tests/unit/test_idempotency_store.py +361 -0
- apps/backend/tests/unit/test_identity_provisioner.py +840 -0
- apps/backend/tests/unit/test_impersonation_audit_context.py +491 -0
- apps/backend/tests/unit/test_impersonation_audit_marker.py +239 -0
- apps/backend/tests/unit/test_improvement_policy_signed.py +202 -0
- apps/backend/tests/unit/test_integration_catalog_zoho.py +151 -0
- apps/backend/tests/unit/test_integration_manager_tenant_pk.py +135 -0
- apps/backend/tests/unit/test_intelligence_aggregator.py +483 -0
- apps/backend/tests/unit/test_invoice_generator.py +229 -0
- apps/backend/tests/unit/test_invoice_generator_alignment.py +288 -0
- apps/backend/tests/unit/test_judgment_feed_service.py +360 -0
- apps/backend/tests/unit/test_judgments_api.py +106 -0
- apps/backend/tests/unit/test_jwt_livekit_auth_semantics.py +95 -0
- apps/backend/tests/unit/test_jwt_livekit_dispatch_readiness.py +178 -0
- apps/backend/tests/unit/test_lambda_handlers.py +401 -0
- apps/backend/tests/unit/test_learning_audit_service.py +157 -0
- apps/backend/tests/unit/test_learning_event_service.py +78 -0
- apps/backend/tests/unit/test_learning_fabric.py +236 -0
- apps/backend/tests/unit/test_learning_governance.py +327 -0
- apps/backend/tests/unit/test_learning_loop_productization.py +406 -0
- apps/backend/tests/unit/test_learning_loop_service.py +569 -0
- apps/backend/tests/unit/test_livekit_agent_metering.py +62 -0
- apps/backend/tests/unit/test_livekit_fallback_adapter.py +131 -0
- apps/backend/tests/unit/test_llm_metering_middleware.py +252 -0
- apps/backend/tests/unit/test_llm_provider_costs.py +226 -0
- apps/backend/tests/unit/test_llm_token_metering_cogs.py +371 -0
- apps/backend/tests/unit/test_local_infra_collector.py +250 -0
- apps/backend/tests/unit/test_macrohard_baseline.py +52 -0
- apps/backend/tests/unit/test_marketplace_connectors.py +431 -0
- apps/backend/tests/unit/test_marketplace_seed_idempotency.py +280 -0
- apps/backend/tests/unit/test_meeting_ingest.py +116 -0
- apps/backend/tests/unit/test_meeting_runtime_session.py +847 -0
- apps/backend/tests/unit/test_meeting_session_store.py +294 -0
- apps/backend/tests/unit/test_meeting_transcript_state.py +156 -0
- apps/backend/tests/unit/test_meeting_webhooks.py +440 -0
- apps/backend/tests/unit/test_meetings_runtime_api.py +966 -0
- apps/backend/tests/unit/test_member_billing_attribution.py +138 -0
- apps/backend/tests/unit/test_memory_admission.py +302 -0
- apps/backend/tests/unit/test_memory_api_contract_alignment.py +47 -0
- apps/backend/tests/unit/test_memory_context_fabric.py +563 -0
- apps/backend/tests/unit/test_memory_history_api.py +281 -0
- apps/backend/tests/unit/test_memory_scope_access.py +353 -0
- apps/backend/tests/unit/test_memory_scoping.py +265 -0
- apps/backend/tests/unit/test_memory_seeding.py +372 -0
- apps/backend/tests/unit/test_meta_observer_registry_wiring.py +238 -0
- apps/backend/tests/unit/test_microsoft_365_no_onedrive.py +205 -0
- apps/backend/tests/unit/test_microsoft_graph_service.py +334 -0
- apps/backend/tests/unit/test_microsoft_oauth_adapter.py +446 -0
- apps/backend/tests/unit/test_mission_contracts.py +705 -0
- apps/backend/tests/unit/test_mission_run_composition_plan.py +194 -0
- apps/backend/tests/unit/test_mission_sse.py +491 -0
- apps/backend/tests/unit/test_morning_brief_scheduler.py +129 -0
- apps/backend/tests/unit/test_multi_currency.py +249 -0
- apps/backend/tests/unit/test_multimodal_file_size.py +122 -0
- apps/backend/tests/unit/test_newsletter_orchestration.py +343 -0
- apps/backend/tests/unit/test_oauth_dispatcher.py +342 -0
- apps/backend/tests/unit/test_oauth_google.py +303 -0
- apps/backend/tests/unit/test_oauth_login_resilience.py +127 -0
- apps/backend/tests/unit/test_oauth_token_manager.py +347 -0
- apps/backend/tests/unit/test_oauth_token_vault.py +127 -0
- apps/backend/tests/unit/test_oauth_unification.py +129 -0
- apps/backend/tests/unit/test_objective_board.py +1166 -0
- apps/backend/tests/unit/test_observability.py +255 -0
- apps/backend/tests/unit/test_omnibox_api.py +178 -0
- apps/backend/tests/unit/test_omnibox_command_grammar.py +394 -0
- apps/backend/tests/unit/test_online_eval.py +295 -0
- apps/backend/tests/unit/test_operating_kernel_contract.py +543 -0
- apps/backend/tests/unit/test_org_capacity_api.py +60 -0
- apps/backend/tests/unit/test_p91_runtime_session.py +868 -0
- apps/backend/tests/unit/test_p92_channel_adapters.py +228 -0
- apps/backend/tests/unit/test_p95_tool_registry.py +139 -0
- apps/backend/tests/unit/test_p99_runtime_summary.py +67 -0
- apps/backend/tests/unit/test_payment_contract.py +182 -0
- apps/backend/tests/unit/test_peer_service_portable.py +71 -0
- apps/backend/tests/unit/test_peers_route_portable.py +54 -0
- apps/backend/tests/unit/test_per_agent_channel_identity.py +268 -0
- apps/backend/tests/unit/test_persona_templates.py +203 -0
- apps/backend/tests/unit/test_pkg11_supervisor_service.py +586 -0
- apps/backend/tests/unit/test_pkg16_learning_supervisor_sse.py +788 -0
- apps/backend/tests/unit/test_plan_sensitivity_classifier.py +41 -0
- apps/backend/tests/unit/test_plane_constraint_envelope.py +547 -0
- apps/backend/tests/unit/test_planning_memory_recall.py +248 -0
- apps/backend/tests/unit/test_plugin_contracts.py +625 -0
- apps/backend/tests/unit/test_policy_registry.py +371 -0
- apps/backend/tests/unit/test_portable_store_pagination.py +31 -0
- apps/backend/tests/unit/test_post_meeting_agent.py +1289 -0
- apps/backend/tests/unit/test_post_meeting_crm_wiring.py +247 -0
- apps/backend/tests/unit/test_pricing_catalog.py +130 -0
- apps/backend/tests/unit/test_primitive_ledger.py +227 -0
- apps/backend/tests/unit/test_proactive_api.py +168 -0
- apps/backend/tests/unit/test_proactive_intelligence_handler.py +379 -0
- apps/backend/tests/unit/test_proactive_intelligence_runtime.py +129 -0
- apps/backend/tests/unit/test_proactive_lambda_dryrun.py +223 -0
- apps/backend/tests/unit/test_project_generator.py +117 -0
- apps/backend/tests/unit/test_proof_card_service.py +309 -0
- apps/backend/tests/unit/test_public_api.py +316 -0
- apps/backend/tests/unit/test_public_mcp_swarm_tools.py +140 -0
- apps/backend/tests/unit/test_public_mcp_tools.py +499 -0
- apps/backend/tests/unit/test_push_notifications.py +163 -0
- apps/backend/tests/unit/test_quick_actions.py +366 -0
- apps/backend/tests/unit/test_quick_actions_api.py +176 -0
- apps/backend/tests/unit/test_quota_enforcement_metering.py +141 -0
- apps/backend/tests/unit/test_recall_service.py +374 -0
- apps/backend/tests/unit/test_region_router.py +295 -0
- apps/backend/tests/unit/test_regulated_rails.py +441 -0
- apps/backend/tests/unit/test_reliability.py +390 -0
- apps/backend/tests/unit/test_replay_eval.py +388 -0
- apps/backend/tests/unit/test_resource_pre_check.py +152 -0
- apps/backend/tests/unit/test_retrospective.py +693 -0
- apps/backend/tests/unit/test_revenue_pack_crm_sync.py +142 -0
- apps/backend/tests/unit/test_revenue_pack_draft.py +347 -0
- apps/backend/tests/unit/test_revenue_pack_executor.py +450 -0
- apps/backend/tests/unit/test_revenue_pack_followup.py +188 -0
- apps/backend/tests/unit/test_revenue_pack_research.py +244 -0
- apps/backend/tests/unit/test_revenue_reply_routing.py +86 -0
- apps/backend/tests/unit/test_router_registry.py +256 -0
- apps/backend/tests/unit/test_routine_service.py +269 -0
- apps/backend/tests/unit/test_routines_api.py +106 -0
- apps/backend/tests/unit/test_rule_engine.py +662 -0
- apps/backend/tests/unit/test_rule_inheritance.py +276 -0
- apps/backend/tests/unit/test_run_state_service.py +377 -0
- apps/backend/tests/unit/test_runtime_context.py +375 -0
- apps/backend/tests/unit/test_runtime_table_alignment.py +332 -0
- apps/backend/tests/unit/test_schedule_pattern_observer.py +806 -0
- apps/backend/tests/unit/test_schedule_service.py +644 -0
- apps/backend/tests/unit/test_scheduler_api.py +306 -0
- apps/backend/tests/unit/test_schedules_api_p26.py +392 -0
- apps/backend/tests/unit/test_seat_spec.py +383 -0
- apps/backend/tests/unit/test_security_hardening.py +1146 -0
- apps/backend/tests/unit/test_security_headers.py +252 -0
- apps/backend/tests/unit/test_self_awareness_context.py +197 -0
- apps/backend/tests/unit/test_self_diagnosis.py +88 -0
- apps/backend/tests/unit/test_self_healing_supervisor.py +742 -0
- apps/backend/tests/unit/test_sensitivity_classifier.py +68 -0
- apps/backend/tests/unit/test_session_manager.py +151 -0
- apps/backend/tests/unit/test_session_router_dynamo.py +680 -0
- apps/backend/tests/unit/test_session_router_mounted.py +145 -0
- apps/backend/tests/unit/test_sessions_route_portable.py +56 -0
- apps/backend/tests/unit/test_shared_connector_service_connection_center.py +114 -0
- apps/backend/tests/unit/test_simulation_safety_guard.py +274 -0
- apps/backend/tests/unit/test_skill_evolution.py +346 -0
- apps/backend/tests/unit/test_skill_evolution_runtime_wiring.py +320 -0
- apps/backend/tests/unit/test_skill_executor_dispatch.py +273 -0
- apps/backend/tests/unit/test_skill_executor_p2_wiring.py +157 -0
- apps/backend/tests/unit/test_skill_executor_universal_dispatch.py +678 -0
- apps/backend/tests/unit/test_skill_lifecycle_facade.py +225 -0
- apps/backend/tests/unit/test_skill_marketplace_persistence.py +162 -0
- apps/backend/tests/unit/test_skills_executor_parallel.py +354 -0
- apps/backend/tests/unit/test_slack_adapter.py +367 -0
- apps/backend/tests/unit/test_slack_events.py +289 -0
- apps/backend/tests/unit/test_slack_user_binding.py +35 -0
- apps/backend/tests/unit/test_sms_inbound.py +248 -0
- apps/backend/tests/unit/test_sms_outbound.py +168 -0
- apps/backend/tests/unit/test_sqlite_store.py +248 -0
- apps/backend/tests/unit/test_squad_supervisor.py +479 -0
- apps/backend/tests/unit/test_state_transition_guards.py +175 -0
- apps/backend/tests/unit/test_strategy_retriever.py +241 -0
- apps/backend/tests/unit/test_stripe_checkout.py +392 -0
- apps/backend/tests/unit/test_structured_tool_runtime.py +17 -0
- apps/backend/tests/unit/test_subscription_status_enum.py +161 -0
- apps/backend/tests/unit/test_swarm_loss_api.py +50 -0
- apps/backend/tests/unit/test_swarm_role_skills.py +307 -0
- apps/backend/tests/unit/test_swarm_scheduler_durable.py +670 -0
- apps/backend/tests/unit/test_table_names.py +83 -0
- apps/backend/tests/unit/test_task_feedback_api.py +178 -0
- apps/backend/tests/unit/test_task_ingest.py +176 -0
- apps/backend/tests/unit/test_telemetry.py +513 -0
- apps/backend/tests/unit/test_tenant_improvement_api.py +100 -0
- apps/backend/tests/unit/test_tenant_improvement_loop.py +200 -0
- apps/backend/tests/unit/test_tenant_timezone.py +321 -0
- apps/backend/tests/unit/test_tenants_table_contract.py +450 -0
- apps/backend/tests/unit/test_thread_service.py +836 -0
- apps/backend/tests/unit/test_threads_api.py +138 -0
- apps/backend/tests/unit/test_time_block_emission.py +261 -0
- apps/backend/tests/unit/test_time_block_hourly_canonical.py +648 -0
- apps/backend/tests/unit/test_time_block_model.py +82 -0
- apps/backend/tests/unit/test_time_block_taxonomy.py +137 -0
- apps/backend/tests/unit/test_time_rollup_service.py +178 -0
- apps/backend/tests/unit/test_timeblock_close_reconciliation.py +196 -0
- apps/backend/tests/unit/test_timeblock_materialization.py +82 -0
- apps/backend/tests/unit/test_timeblock_service.py +359 -0
- apps/backend/tests/unit/test_timeblock_workflow_emission.py +403 -0
- apps/backend/tests/unit/test_token_encryption_portability.py +184 -0
- apps/backend/tests/unit/test_token_refresh.py +462 -0
- apps/backend/tests/unit/test_tool_introspection.py +516 -0
- apps/backend/tests/unit/test_tool_permission_service.py +257 -0
- apps/backend/tests/unit/test_trace_envelope_contract.py +87 -0
- apps/backend/tests/unit/test_trace_strategy_miner.py +496 -0
- apps/backend/tests/unit/test_transcription_service.py +341 -0
- apps/backend/tests/unit/test_trust_posture.py +119 -0
- apps/backend/tests/unit/test_trust_score.py +455 -0
- apps/backend/tests/unit/test_twilio_call_state_persistence.py +318 -0
- apps/backend/tests/unit/test_twilio_provisioning.py +337 -0
- apps/backend/tests/unit/test_twilio_twiml_stream_track.py +33 -0
- apps/backend/tests/unit/test_twilio_voice_browser.py +54 -0
- apps/backend/tests/unit/test_twilio_voice_webhooks.py +514 -0
- apps/backend/tests/unit/test_unified_capability_gate.py +545 -0
- apps/backend/tests/unit/test_universal_preflight_contract.py +266 -0
- apps/backend/tests/unit/test_usage_event_service.py +96 -0
- apps/backend/tests/unit/test_usage_tracker_billing_alignment.py +126 -0
- apps/backend/tests/unit/test_usage_tracker_service.py +504 -0
- apps/backend/tests/unit/test_verification_artifacts.py +173 -0
- apps/backend/tests/unit/test_voice_guardrails.py +366 -0
- apps/backend/tests/unit/test_voice_media_stream.py +181 -0
- apps/backend/tests/unit/test_voice_memory_bridge.py +522 -0
- apps/backend/tests/unit/test_voice_metering.py +84 -0
- apps/backend/tests/unit/test_voice_runtime_session.py +156 -0
- apps/backend/tests/unit/test_voice_session_supervisor.py +44 -0
- apps/backend/tests/unit/test_voice_tool_executor.py +439 -0
- apps/backend/tests/unit/test_voice_transport_provider.py +227 -0
- apps/backend/tests/unit/test_voice_wiring.py +801 -0
- apps/backend/tests/unit/test_whatsapp_api_contracts.py +141 -0
- apps/backend/tests/unit/test_whatsapp_service.py +700 -0
- apps/backend/tests/unit/test_wiring_completeness.py +380 -0
- apps/backend/tests/unit/test_workmemory_client.py +425 -0
- apps/backend/tests/unit/test_workmemory_mcp_server.py +541 -0
- apps/backend/tests/unit/test_workmemory_portable_runtime_paths.py +117 -0
- apps/backend/tests/unit/test_workmemory_request_context.py +312 -0
- apps/backend/tests/unit/test_workmemory_runtime.py +184 -0
- apps/backend/tests/unit/test_workspace_root_fallback.py +58 -0
- apps/backend/tests/unit/test_xai_direct_adapter.py +255 -0
- apps/backend/tests/unit/test_zara_audio_buffering.py +42 -0
- apps/backend/tests/unit/test_zara_connection_pool.py +670 -0
- apps/backend/tests/unit/test_zara_control_plane.py +872 -0
- apps/backend/tests/unit/test_zara_endpoints.py +834 -0
- apps/backend/tests/unit/test_zara_goal_intake.py +264 -0
- apps/backend/tests/unit/test_zara_intake_compiler.py +455 -0
- apps/backend/tests/unit/test_zara_interview_contract.py +505 -0
- apps/backend/tests/unit/test_zara_per_entity_context.py +435 -0
- apps/backend/tests/unit/test_zara_plan_execution_contract.py +598 -0
- apps/backend/tests/unit/test_zara_routine_chat.py +153 -0
- apps/backend/tests/unit/test_zara_sip_agent.py +1129 -0
- apps/backend/tests/unit/test_zara_task_executor_enrichment.py +120 -0
- apps/backend/tests/unit/test_zoho_crm_books_connectors.py +126 -0
- apps/backend/tests/unit/test_zoho_product_registry.py +70 -0
- apps/backend/tools/TOOL_CATALOG.md +84 -0
- apps/backend/utils/__init__.py +20 -0
- apps/backend/utils/b64url.py +27 -0
- apps/backend/utils/coerce.py +47 -0
- apps/backend/utils/meeting_url.py +237 -0
- apps/backend/utils/phone_utils.py +173 -0
- apps/backend/utils/service_helpers.py +44 -0
- apps/backend/utils/ssrf.py +145 -0
- apps/backend/utils/tenant.py +152 -0
- apps/backend/utils/time.py +67 -0
- apps/backend/validation/__init__.py +1 -0
- apps/backend/validation/skill_validator.py +303 -0
- apps/backend/validators/__init__.py +1 -0
- apps/backend/validators/context_graph_naming.py +374 -0
- apps/backend/voice_services/__init__.py +172 -0
- apps/backend/voice_services/adapters/livekit_fallback_adapter.py +119 -0
- apps/backend/voice_services/adapters/xai_direct_adapter.py +345 -0
- apps/backend/voice_services/async_io_wrapper.py +102 -0
- apps/backend/voice_services/audio_bridge.py +186 -0
- apps/backend/voice_services/audio_chunker.py +94 -0
- apps/backend/voice_services/barge_in.py +570 -0
- apps/backend/voice_services/binary_websocket_handler.py +82 -0
- apps/backend/voice_services/call_control_service.py +570 -0
- apps/backend/voice_services/gemini_live_client.py +304 -0
- apps/backend/voice_services/latency_tracker.py +635 -0
- apps/backend/voice_services/livekit_agent.py +325 -0
- apps/backend/voice_services/meeting_voice_bridge.py +193 -0
- apps/backend/voice_services/recording_service.py +744 -0
- apps/backend/voice_services/turn_taking.py +449 -0
- apps/backend/voice_services/voice_agent_client.py +58 -0
- apps/backend/voice_services/voice_agent_factory.py +88 -0
- apps/backend/voice_services/voice_memory_bridge.py +610 -0
- apps/backend/voice_services/voice_runtime_session.py +93 -0
- apps/backend/voice_services/voice_session_supervisor.py +176 -0
- apps/backend/voice_services/voice_tool_executor.py +1366 -0
- apps/backend/voice_services/voice_wiring.py +374 -0
- apps/backend/voice_services/xai_relay_service.py +894 -0
- apps/backend/voice_services/zara_connection_pool.py +703 -0
- apps/backend/voice_services/zara_prompts.py +513 -0
- apps/backend/voice_services/zara_sip_agent.py +449 -0
- apps/backend/websocket_handler.py +139 -0
- apps/backend/workmemory/__init__.py +30 -0
- apps/backend/workmemory/adapters/__init__.py +1 -0
- apps/backend/workmemory/adapters/base.py +302 -0
- apps/backend/workmemory/adapters/claude_code.py +201 -0
- apps/backend/workmemory/adapters/generic.py +28 -0
- apps/backend/workmemory/adapters/harness_capabilities.py +113 -0
- apps/backend/workmemory/adapters/workweaver_runtime.py +125 -0
- apps/backend/workmemory/api/__init__.py +6 -0
- apps/backend/workmemory/api/app.py +258 -0
- apps/backend/workmemory/api/deps.py +662 -0
- apps/backend/workmemory/api/memory_api.py +376 -0
- apps/backend/workmemory/api/middleware/__init__.py +1 -0
- apps/backend/workmemory/api/middleware/usage_tracking.py +232 -0
- apps/backend/workmemory/api/ontology.py +488 -0
- apps/backend/workmemory/api/request_context.py +431 -0
- apps/backend/workmemory/api/routes/__init__.py +1 -0
- apps/backend/workmemory/api/routes/agent.py +1471 -0
- apps/backend/workmemory/api/routes/chat_router.py +168 -0
- apps/backend/workmemory/api/routes/connectors.py +328 -0
- apps/backend/workmemory/api/routes/context.py +61 -0
- apps/backend/workmemory/api/routes/dsar.py +216 -0
- apps/backend/workmemory/api/routes/export.py +104 -0
- apps/backend/workmemory/api/routes/import_harness.py +223 -0
- apps/backend/workmemory/api/routes/ingest_modes.py +511 -0
- apps/backend/workmemory/api/routes/keys.py +191 -0
- apps/backend/workmemory/api/routes/learning.py +321 -0
- apps/backend/workmemory/api/routes/lint.py +62 -0
- apps/backend/workmemory/api/routes/memories.py +1247 -0
- apps/backend/workmemory/api/routes/peers.py +300 -0
- apps/backend/workmemory/api/routes/pricing.py +51 -0
- apps/backend/workmemory/api/routes/profiles.py +117 -0
- apps/backend/workmemory/api/routes/relations.py +83 -0
- apps/backend/workmemory/api/routes/sessions.py +274 -0
- apps/backend/workmemory/api/routes/synthesis.py +146 -0
- apps/backend/workmemory/api/routes/system.py +271 -0
- apps/backend/workmemory/api/routes/traces.py +276 -0
- apps/backend/workmemory/api/routes/universal.py +290 -0
- apps/backend/workmemory/api/routes/version_history.py +256 -0
- apps/backend/workmemory/api/schemas.py +340 -0
- apps/backend/workmemory/api/tools/__init__.py +1 -0
- apps/backend/workmemory/api/tools/dump_openapi.py +78 -0
- apps/backend/workmemory/benchmarks/__init__.py +1 -0
- apps/backend/workmemory/benchmarks/base.py +158 -0
- apps/backend/workmemory/benchmarks/convomem.py +72 -0
- apps/backend/workmemory/benchmarks/locomo.py +69 -0
- apps/backend/workmemory/benchmarks/longmemeval.py +69 -0
- apps/backend/workmemory/benchmarks/run_all.py +142 -0
- apps/backend/workmemory/billing/__init__.py +1 -0
- apps/backend/workmemory/billing/memory_billing.py +629 -0
- apps/backend/workmemory/billing/query_unit.py +112 -0
- apps/backend/workmemory/config/__init__.py +0 -0
- apps/backend/workmemory/config/environment.py +16 -0
- apps/backend/workmemory/connectors/__init__.py +1 -0
- apps/backend/workmemory/connectors/base.py +227 -0
- apps/backend/workmemory/connectors/capability_probe_service.py +196 -0
- apps/backend/workmemory/connectors/github.py +151 -0
- apps/backend/workmemory/connectors/gmail.py +326 -0
- apps/backend/workmemory/connectors/google_drive.py +425 -0
- apps/backend/workmemory/connectors/notion.py +398 -0
- apps/backend/workmemory/connectors/remote_ingest.py +103 -0
- apps/backend/workmemory/connectors/s3.py +156 -0
- apps/backend/workmemory/connectors/slack.py +350 -0
- apps/backend/workmemory/contracts/__init__.py +61 -0
- apps/backend/workmemory/contracts/harness_observation_contract.py +84 -0
- apps/backend/workmemory/contracts/memory_contract.py +348 -0
- apps/backend/workmemory/contracts/surface_contract.py +200 -0
- apps/backend/workmemory/lambda_functions/__init__.py +0 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/__init__.py +26 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/backpressure.py +288 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/fair_scheduler.py +137 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/handler.py +193 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/inference_engine.py +414 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/portable_store_tables.py +171 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/quota_manager.py +293 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/self_improvement.py +706 -0
- apps/backend/workmemory/lambda_functions/sleep_time_worker/sleep_time_compute.py +657 -0
- apps/backend/workmemory/mcp/__init__.py +1 -0
- apps/backend/workmemory/mcp/__main__.py +7 -0
- apps/backend/workmemory/mcp/_adapter_base.py +84 -0
- apps/backend/workmemory/mcp/claude_desktop_config.json +19 -0
- apps/backend/workmemory/mcp/claude_desktop_config.packaged.json +13 -0
- apps/backend/workmemory/mcp/cursor_adapter.py +231 -0
- apps/backend/workmemory/mcp/installer.py +104 -0
- apps/backend/workmemory/mcp/opencode_adapter.py +229 -0
- apps/backend/workmemory/mcp/server.py +1890 -0
- apps/backend/workmemory/mcp/test_cursor_adapter.py +225 -0
- apps/backend/workmemory/mcp/test_opencode_adapter.py +170 -0
- apps/backend/workmemory/mcp/tests/test_swarm_tools.py +166 -0
- apps/backend/workmemory/mcp/tool_definitions.py +718 -0
- apps/backend/workmemory/migrations/001_workmemory_portable_store.sql +81 -0
- apps/backend/workmemory/models/__init__.py +125 -0
- apps/backend/workmemory/models/auto_tuner.py +195 -0
- apps/backend/workmemory/models/business_ontology.py +403 -0
- apps/backend/workmemory/models/category.py +242 -0
- apps/backend/workmemory/models/claims.py +223 -0
- apps/backend/workmemory/models/embedding.py +261 -0
- apps/backend/workmemory/models/embedding_errors.py +66 -0
- apps/backend/workmemory/models/embedding_v2.py +22 -0
- apps/backend/workmemory/models/execution_trace.py +118 -0
- apps/backend/workmemory/models/extraction.py +22 -0
- apps/backend/workmemory/models/extraction_guidance.py +71 -0
- apps/backend/workmemory/models/frozen_prompt.py +58 -0
- apps/backend/workmemory/models/ingest_job.py +118 -0
- apps/backend/workmemory/models/item.py +731 -0
- apps/backend/workmemory/models/knowledge.py +203 -0
- apps/backend/workmemory/models/learning_loop.py +222 -0
- apps/backend/workmemory/models/learning_metrics.py +129 -0
- apps/backend/workmemory/models/peer.py +149 -0
- apps/backend/workmemory/models/premise_chain.py +107 -0
- apps/backend/workmemory/models/proposed_skill.py +75 -0
- apps/backend/workmemory/models/resources.py +274 -0
- apps/backend/workmemory/models/shadow_eval.py +61 -0
- apps/backend/workmemory/models/skill_guidance.py +154 -0
- apps/backend/workmemory/models/skill_marketplace.py +85 -0
- apps/backend/workmemory/models/synthesized_artifact.py +181 -0
- apps/backend/workmemory/models/temporal_fact.py +190 -0
- apps/backend/workmemory/models/tenant_embedding_policy.py +61 -0
- apps/backend/workmemory/models/usage_event.py +163 -0
- apps/backend/workmemory/models/user_profile.py +268 -0
- apps/backend/workmemory/models/vector_search.py +246 -0
- apps/backend/workmemory/requirements-workmemory.txt +49 -0
- apps/backend/workmemory/services/__init__.py +49 -0
- apps/backend/workmemory/services/admission_gate.py +125 -0
- apps/backend/workmemory/services/agentic_retrieval.py +377 -0
- apps/backend/workmemory/services/api_capture_service.py +385 -0
- apps/backend/workmemory/services/async_ingest.py +486 -0
- apps/backend/workmemory/services/auto_recall.py +183 -0
- apps/backend/workmemory/services/auto_tuner.py +810 -0
- apps/backend/workmemory/services/categories_evolver.py +381 -0
- apps/backend/workmemory/services/categories_retrieval.py +494 -0
- apps/backend/workmemory/services/chunking_service.py +899 -0
- apps/backend/workmemory/services/concurrency.py +383 -0
- apps/backend/workmemory/services/consolidation.py +664 -0
- apps/backend/workmemory/services/cross_agent_learning.py +206 -0
- apps/backend/workmemory/services/durable_queue.py +224 -0
- apps/backend/workmemory/services/dynamodb_codec.py +37 -0
- apps/backend/workmemory/services/embedding_cost_tracker.py +421 -0
- apps/backend/workmemory/services/embedding_pii_redactor.py +352 -0
- apps/backend/workmemory/services/embedding_rate_limiter.py +240 -0
- apps/backend/workmemory/services/embedding_service.py +716 -0
- apps/backend/workmemory/services/export_service.py +286 -0
- apps/backend/workmemory/services/fact_extractor.py +408 -0
- apps/backend/workmemory/services/forgetting_scheduler.py +189 -0
- apps/backend/workmemory/services/forgetting_service.py +616 -0
- apps/backend/workmemory/services/hybrid_search.py +84 -0
- apps/backend/workmemory/services/ingestion_service.py +1461 -0
- apps/backend/workmemory/services/items_extractor.py +529 -0
- apps/backend/workmemory/services/items_retrieval.py +677 -0
- apps/backend/workmemory/services/knowledge_extractor.py +335 -0
- apps/backend/workmemory/services/layer1_query_filter.py +334 -0
- apps/backend/workmemory/services/layer2_prequery.py +593 -0
- apps/backend/workmemory/services/layer4_audit.py +452 -0
- apps/backend/workmemory/services/learning_event_service.py +133 -0
- apps/backend/workmemory/services/learning_loop_service.py +158 -0
- apps/backend/workmemory/services/learning_metrics_service.py +264 -0
- apps/backend/workmemory/services/lint_service.py +419 -0
- apps/backend/workmemory/services/llm_reranker.py +190 -0
- apps/backend/workmemory/services/local_embedding.py +61 -0
- apps/backend/workmemory/services/markup_policy_service.py +151 -0
- apps/backend/workmemory/services/memory_controller.py +900 -0
- apps/backend/workmemory/services/memory_reference_index.py +186 -0
- apps/backend/workmemory/services/memory_router.py +195 -0
- apps/backend/workmemory/services/memory_tools.py +664 -0
- apps/backend/workmemory/services/memory_write.py +282 -0
- apps/backend/workmemory/services/memory_write_policy.py +57 -0
- apps/backend/workmemory/services/memorybench.py +117 -0
- apps/backend/workmemory/services/model_capabilities.py +98 -0
- apps/backend/workmemory/services/observation_extractor.py +697 -0
- apps/backend/workmemory/services/observation_hook.py +305 -0
- apps/backend/workmemory/services/observer_service.py +114 -0
- apps/backend/workmemory/services/outcome_feedback.py +397 -0
- apps/backend/workmemory/services/parsers/__init__.py +28 -0
- apps/backend/workmemory/services/parsers/audio_parser.py +250 -0
- apps/backend/workmemory/services/parsers/base.py +49 -0
- apps/backend/workmemory/services/parsers/docling_adapter.py +154 -0
- apps/backend/workmemory/services/parsers/document_parser.py +87 -0
- apps/backend/workmemory/services/parsers/harness_importers.py +714 -0
- apps/backend/workmemory/services/parsers/html_parser.py +174 -0
- apps/backend/workmemory/services/parsers/image_parser.py +329 -0
- apps/backend/workmemory/services/parsers/json_parser.py +99 -0
- apps/backend/workmemory/services/parsers/pdf_parser.py +64 -0
- apps/backend/workmemory/services/parsers/structured_text_parser.py +107 -0
- apps/backend/workmemory/services/parsers/text_parser.py +62 -0
- apps/backend/workmemory/services/parsers/video_parser.py +248 -0
- apps/backend/workmemory/services/pattern_learner.py +553 -0
- apps/backend/workmemory/services/pattern_miner.py +418 -0
- apps/backend/workmemory/services/peer_service.py +514 -0
- apps/backend/workmemory/services/pg_pool.py +9 -0
- apps/backend/workmemory/services/pgvector_factory.py +45 -0
- apps/backend/workmemory/services/pgvector_search.py +543 -0
- apps/backend/workmemory/services/post_run_promoter.py +848 -0
- apps/backend/workmemory/services/precedent_injector.py +403 -0
- apps/backend/workmemory/services/premise_traversal.py +292 -0
- apps/backend/workmemory/services/protocols.py +63 -0
- apps/backend/workmemory/services/providers/__init__.py +9 -0
- apps/backend/workmemory/services/providers/bedrock_embedding_provider.py +365 -0
- apps/backend/workmemory/services/providers/gemini_embedding_provider.py +295 -0
- apps/backend/workmemory/services/query_expander.py +126 -0
- apps/backend/workmemory/services/query_understanding.py +277 -0
- apps/backend/workmemory/services/recall_policy.py +50 -0
- apps/backend/workmemory/services/reflector_service.py +143 -0
- apps/backend/workmemory/services/relation_store.py +337 -0
- apps/backend/workmemory/services/relevance.py +355 -0
- apps/backend/workmemory/services/resources_layer.py +706 -0
- apps/backend/workmemory/services/retrieval.py +843 -0
- apps/backend/workmemory/services/scoped_api_key_service.py +342 -0
- apps/backend/workmemory/services/session_manager.py +672 -0
- apps/backend/workmemory/services/session_prompt_builder.py +146 -0
- apps/backend/workmemory/services/skill_auto_creator.py +566 -0
- apps/backend/workmemory/services/skill_marketplace.py +511 -0
- apps/backend/workmemory/services/synthesis_service.py +515 -0
- apps/backend/workmemory/services/table_retrieval.py +253 -0
- apps/backend/workmemory/services/task_scoped_context.py +455 -0
- apps/backend/workmemory/services/temporal_semantics.py +288 -0
- apps/backend/workmemory/services/tier_scoping.py +241 -0
- apps/backend/workmemory/services/tiered_recall_router.py +412 -0
- apps/backend/workmemory/services/tool_nudge_manager.py +146 -0
- apps/backend/workmemory/services/trace_collector.py +312 -0
- apps/backend/workmemory/services/treesitter_chunker.py +509 -0
- apps/backend/workmemory/services/usage_event_service.py +207 -0
- apps/backend/workmemory/services/user_profile_service.py +593 -0
- apps/backend/workmemory/services/version_history.py +868 -0
- apps/backend/workmemory/services/working_memory.py +167 -0
- apps/backend/workmemory/services/xai_usage.py +64 -0
- apps/browser-extension/background.js +344 -0
- apps/browser-extension/content-scripts/chatgpt.js +130 -0
- apps/browser-extension/content-scripts/claude.js +135 -0
- apps/browser-extension/content-scripts/gemini.js +127 -0
- apps/browser-extension/icons/icon-128.png +1 -0
- apps/browser-extension/icons/icon-16.png +1 -0
- apps/browser-extension/icons/icon-48.png +1 -0
- apps/browser-extension/manifest.json +69 -0
- apps/browser-extension/popup/popup.css +308 -0
- apps/browser-extension/popup/popup.html +115 -0
- apps/browser-extension/popup/popup.js +256 -0
- apps/cli/PARITY.md +544 -0
- apps/cli/__init__.py +1 -0
- apps/cli/parity.json +1523 -0
- apps/cli/tests/__init__.py +0 -0
- apps/cli/tests/test_config.py +94 -0
- apps/cli/tests/test_device_login.py +698 -0
- apps/cli/tests/test_org_capacity.py +66 -0
- apps/cli/tests/test_plan.py +102 -0
- apps/cli/tests/test_schedule.py +187 -0
- apps/cli/tests/test_start.py +258 -0
- apps/cli/tests/test_swarm_cancel.py +100 -0
- apps/cli/tests/test_swarm_spawn.py +270 -0
- apps/cli/tests/test_swarm_status.py +118 -0
- apps/cli/ww/__init__.py +18 -0
- apps/cli/ww/__main__.py +5 -0
- apps/cli/ww/acp_daemon.py +387 -0
- apps/cli/ww/commands/__init__.py +1 -0
- apps/cli/ww/commands/acp.py +90 -0
- apps/cli/ww/commands/agent.py +251 -0
- apps/cli/ww/commands/audit.py +72 -0
- apps/cli/ww/commands/auth.py +505 -0
- apps/cli/ww/commands/calendar.py +188 -0
- apps/cli/ww/commands/commands.py +65 -0
- apps/cli/ww/commands/config.py +197 -0
- apps/cli/ww/commands/connect.py +722 -0
- apps/cli/ww/commands/connector.py +192 -0
- apps/cli/ww/commands/decision.py +239 -0
- apps/cli/ww/commands/doctor.py +200 -0
- apps/cli/ww/commands/domain.py +145 -0
- apps/cli/ww/commands/entity.py +184 -0
- apps/cli/ww/commands/evidence.py +144 -0
- apps/cli/ww/commands/experiment.py +205 -0
- apps/cli/ww/commands/governance.py +171 -0
- apps/cli/ww/commands/inbox.py +290 -0
- apps/cli/ww/commands/init.py +353 -0
- apps/cli/ww/commands/login.py +30 -0
- apps/cli/ww/commands/memory.py +1094 -0
- apps/cli/ww/commands/mission.py +354 -0
- apps/cli/ww/commands/okr.py +150 -0
- apps/cli/ww/commands/org.py +342 -0
- apps/cli/ww/commands/phantom_model.py +95 -0
- apps/cli/ww/commands/plan.py +157 -0
- apps/cli/ww/commands/pulse.py +152 -0
- apps/cli/ww/commands/root.py +93 -0
- apps/cli/ww/commands/schedule.py +179 -0
- apps/cli/ww/commands/session.py +331 -0
- apps/cli/ww/commands/settings.py +1088 -0
- apps/cli/ww/commands/simulation.py +139 -0
- apps/cli/ww/commands/skill.py +120 -0
- apps/cli/ww/commands/start.py +255 -0
- apps/cli/ww/commands/swarm.py +601 -0
- apps/cli/ww/commands/system.py +81 -0
- apps/cli/ww/commands/thread.py +143 -0
- apps/cli/ww/commands/topology.py +173 -0
- apps/cli/ww/commands/upgrades.py +143 -0
- apps/cli/ww/commands/variant.py +161 -0
- apps/cli/ww/commands/workitem.py +269 -0
- apps/cli/ww/commands/zara.py +404 -0
- apps/cli/ww/config.py +411 -0
- apps/cli/ww/context.py +20 -0
- apps/cli/ww/errors.py +76 -0
- apps/cli/ww/http.py +141 -0
- apps/cli/ww/introspection.py +482 -0
- apps/cli/ww/main.py +206 -0
- apps/cli/ww/oauth.py +519 -0
- apps/cli/ww/output.py +122 -0
- apps/cli/ww/process_manager.py +207 -0
- apps/dashboard/Dockerfile +47 -0
- apps/dashboard/admin/control-surfaces.html +393 -0
- apps/dashboard/admin/inference/index.html +2412 -0
- apps/dashboard/admin/managers/ai-playground.js +891 -0
- apps/dashboard/admin/managers/batch-processor.js +1002 -0
- apps/dashboard/admin/managers/community-social.js +27 -0
- apps/dashboard/admin/managers/developer-portal.js +1666 -0
- apps/dashboard/admin/managers/help-support.js +537 -0
- apps/dashboard/admin/managers/sandbox-testing.js +915 -0
- apps/dashboard/admin/meeting/index.html +495 -0
- apps/dashboard/admin/runtime/index.html +85 -0
- apps/dashboard/components/search/capability-registry.js +462 -0
- apps/dashboard/components/search/global-search.js +1613 -0
- apps/dashboard/components/settings/org-audit-log.js +206 -0
- apps/dashboard/components/shared/auth-bridge.js +139 -0
- apps/dashboard/components/shared/billing-lifecycle-banner.js +254 -0
- apps/dashboard/components/shared/collaboration-bridge.js +574 -0
- apps/dashboard/components/shared/goal-sidebar.css +535 -0
- apps/dashboard/components/shared/goal-sidebar.js +702 -0
- apps/dashboard/components/shared/keyboard-navigator.css +115 -0
- apps/dashboard/components/shared/keyboard-navigator.js +289 -0
- apps/dashboard/components/shared/progressive-disclosure.css +101 -0
- apps/dashboard/components/shared/progressive-disclosure.js +492 -0
- apps/dashboard/components/shared/sse-reconnect.js +260 -0
- apps/dashboard/components/shared/workweaver-browser-client.js +262 -0
- apps/dashboard/components/shared/ww-states.css +209 -0
- apps/dashboard/components/shared/ww-store.js +206 -0
- apps/dashboard/components/shared/ww-tabs.css +164 -0
- apps/dashboard/components/shared/ww-tabs.js +407 -0
- apps/dashboard/components/shared/zara-shared.js +191 -0
- apps/dashboard/components/vendor/LIVEKIT-LICENSE.txt +175 -0
- apps/dashboard/components/vendor/livekit-client-2.16.1.umd.js +2 -0
- apps/dashboard/components/workspace/autonomy-judgment-actions.js +223 -0
- apps/dashboard/components/workspace/badges.css +103 -0
- apps/dashboard/components/workspace/command-center.js +1205 -0
- apps/dashboard/components/workspace/connector-explorer.js +149 -0
- apps/dashboard/components/workspace/dashboard-coordinator.js +97 -0
- apps/dashboard/components/workspace/dom-utils.js +237 -0
- apps/dashboard/components/workspace/domain-activation.js +170 -0
- apps/dashboard/components/workspace/emergency-brake-panel.css +121 -0
- apps/dashboard/components/workspace/emergency-brake-panel.js +210 -0
- apps/dashboard/components/workspace/governance-panel.js +192 -0
- apps/dashboard/components/workspace/memory-graph.js +715 -0
- apps/dashboard/components/workspace/memory.js +1408 -0
- apps/dashboard/components/workspace/mission-overview/brief.js +269 -0
- apps/dashboard/components/workspace/mission-overview/core.js +240 -0
- apps/dashboard/components/workspace/mission-overview/goals.js +210 -0
- apps/dashboard/components/workspace/mission-overview/learning-audit.js +77 -0
- apps/dashboard/components/workspace/mission-overview/lifecycle.js +32 -0
- apps/dashboard/components/workspace/mission-overview/missed-meeting.js +55 -0
- apps/dashboard/components/workspace/mission-overview/navigation.js +139 -0
- apps/dashboard/components/workspace/mission-overview/org-capacity-heatmap.js +82 -0
- apps/dashboard/components/workspace/mission-overview/team.js +67 -0
- apps/dashboard/components/workspace/mission-overview/timeline.js +148 -0
- apps/dashboard/components/workspace/mission-overview/workitem-detail.js +288 -0
- apps/dashboard/components/workspace/mission-overview.js +118 -0
- apps/dashboard/components/workspace/objective-board.js +334 -0
- apps/dashboard/components/workspace/okr-panel.js +156 -0
- apps/dashboard/components/workspace/runtime-route-manifest.js +1210 -0
- apps/dashboard/components/workspace/settings-policy-surfaces.js +366 -0
- apps/dashboard/components/workspace/simulation-panel.js +180 -0
- apps/dashboard/components/workspace/team.js +1217 -0
- apps/dashboard/components/workspace/trace-insights.js +113 -0
- apps/dashboard/components/workspace/work-quick-actions.js +1229 -0
- apps/dashboard/components/workspace/workitem-surface.js +93 -0
- apps/dashboard/components/workspace/workitem-trace.js +223 -0
- apps/dashboard/components/workspace/workspace-manager.js +842 -0
- apps/dashboard/components/zara/zara-audio-pipeline.js +523 -0
- apps/dashboard/components/zara-experience/components/plan-card.js +353 -0
- apps/dashboard/components/zara-experience/widget.css +1703 -0
- apps/dashboard/components/zara-experience/widget.js +4161 -0
- apps/dashboard/components/zara-experience/zara-skill.js +460 -0
- apps/dashboard/dashboard/upgrades/index.html +246 -0
- apps/dashboard/design-system/colors_and_type.css +287 -0
- apps/dashboard/design-system/workweaver.css +1347 -0
- apps/dashboard/design-system/workweaver.js +468 -0
- apps/dashboard/index.html +24 -0
- apps/dashboard/js/api-base.js +239 -0
- apps/dashboard/legacy/README.md +65 -0
- apps/dashboard/legacy/activate-agent.html +942 -0
- apps/dashboard/legacy/ai-playground.html +735 -0
- apps/dashboard/legacy/autonomy-selector.html +333 -0
- apps/dashboard/legacy/autonomy-strip.html +77 -0
- apps/dashboard/legacy/batch-processing.html +643 -0
- apps/dashboard/legacy/calendar.html +1877 -0
- apps/dashboard/legacy/call-history.html +597 -0
- apps/dashboard/legacy/campaigns.html +1464 -0
- apps/dashboard/legacy/channel-agent-page.html +328 -0
- apps/dashboard/legacy/command-bar.html +493 -0
- apps/dashboard/legacy/command-center.html +570 -0
- apps/dashboard/legacy/community-social.html +194 -0
- apps/dashboard/legacy/compliance-reporting.html +674 -0
- apps/dashboard/legacy/connector-hub.html +469 -0
- apps/dashboard/legacy/deliverables-viewer.html +261 -0
- apps/dashboard/legacy/departments.html +989 -0
- apps/dashboard/legacy/developer-portal.html +925 -0
- apps/dashboard/legacy/entity-detail.html +1716 -0
- apps/dashboard/legacy/evidence-stream.html +364 -0
- apps/dashboard/legacy/flows.html +1833 -0
- apps/dashboard/legacy/headless-runtime.html +394 -0
- apps/dashboard/legacy/help.html +678 -0
- apps/dashboard/legacy/home.html +690 -0
- apps/dashboard/legacy/inbox-alerts.html +126 -0
- apps/dashboard/legacy/inbox-communications.html +100 -0
- apps/dashboard/legacy/inbox-hub.html +761 -0
- apps/dashboard/legacy/inbox.html +132 -0
- apps/dashboard/legacy/integrations.html +3522 -0
- apps/dashboard/legacy/intelligence.html +429 -0
- apps/dashboard/legacy/marketplace.html +984 -0
- apps/dashboard/legacy/meeting-panel.html +533 -0
- apps/dashboard/legacy/memory-artifact-viewer.html +245 -0
- apps/dashboard/legacy/memory-digest.html +311 -0
- apps/dashboard/legacy/memory-graph.html +369 -0
- apps/dashboard/legacy/memory-health-panel.html +541 -0
- apps/dashboard/legacy/memory-hub.html +587 -0
- apps/dashboard/legacy/memory.html +1044 -0
- apps/dashboard/legacy/mission-hub.html +908 -0
- apps/dashboard/legacy/mission-org.html +890 -0
- apps/dashboard/legacy/mission-overview.html +1545 -0
- apps/dashboard/legacy/objective-board.html +258 -0
- apps/dashboard/legacy/organization-settings.html +883 -0
- apps/dashboard/legacy/organizations.html +1067 -0
- apps/dashboard/legacy/preflight-approval.html +414 -0
- apps/dashboard/legacy/proof-cards.html +309 -0
- apps/dashboard/legacy/proof-decision-trace.html +219 -0
- apps/dashboard/legacy/proof-evidence-trail.html +182 -0
- apps/dashboard/legacy/role-skill-templates.html +361 -0
- apps/dashboard/legacy/sandbox-testing.html +615 -0
- apps/dashboard/legacy/settings-overhaul.html +427 -0
- apps/dashboard/legacy/settings.html +1780 -0
- apps/dashboard/legacy/shell-convergence.html +273 -0
- apps/dashboard/legacy/skill-marketplace-page.html +299 -0
- apps/dashboard/legacy/skills-marketplace.html +378 -0
- apps/dashboard/legacy/skills.html +1206 -0
- apps/dashboard/legacy/task-dag-viewer.html +477 -0
- apps/dashboard/legacy/team.html +1100 -0
- apps/dashboard/legacy/templates.html +255 -0
- apps/dashboard/legacy/unified-timeline.html +265 -0
- apps/dashboard/legacy/voice-dashboard.html +510 -0
- apps/dashboard/legacy/work-active-missions.html +405 -0
- apps/dashboard/legacy/work-approvals.html +582 -0
- apps/dashboard/legacy/work-hub.html +112 -0
- apps/dashboard/legacy/work-quick-actions.html +1323 -0
- apps/dashboard/legacy/zara-launcher.html +564 -0
- apps/dashboard/manifest.webmanifest +54 -0
- apps/dashboard/nginx/default.conf +53 -0
- apps/dashboard/onboarding/index.html +165 -0
- apps/dashboard/onboarding/onboarding-prefill.js +107 -0
- apps/dashboard/onboarding/styles.css +796 -0
- apps/dashboard/onboarding/wizard.js +1542 -0
- apps/dashboard/runtime/index.html +1558 -0
- apps/dashboard/sw.js +151 -0
- apps/dashboard/tests/unit/billing-lifecycle-banner.test.js +234 -0
- apps/dashboard/tests/unit/calendar-evolution.test.js +222 -0
- apps/dashboard/tests/unit/dashboard-coordinator.test.js +107 -0
- apps/dashboard/tests/unit/dashboard-runtime-foundation.test.js +156 -0
- apps/dashboard/tests/unit/goal-sidebar.test.js +277 -0
- apps/dashboard/tests/unit/inbox-keyboard-batch.test.js +404 -0
- apps/dashboard/tests/unit/inbox-priority-queue.test.js +220 -0
- apps/dashboard/tests/unit/keyboard-navigator.test.js +327 -0
- apps/dashboard/tests/unit/onboarding-friction.test.js +79 -0
- apps/dashboard/tests/unit/runtime-route-manifest-3-anchor.test.js +238 -0
- apps/dashboard/tests/unit/runtime-route-manifest-communications.test.js +96 -0
- apps/dashboard/tests/unit/runtime-route-manifest-host-routing.test.js +82 -0
- apps/dashboard/tests/unit/runtime-route-manifest-shell-convergence.test.js +139 -0
- apps/dashboard/tests/unit/timeblock-drawer.test.js +363 -0
- apps/dashboard/tests/unit/ux-fixes.test.js +134 -0
- apps/dashboard/tests/unit/workspace-manager.test.js +564 -0
- apps/dashboard/tests/unit/ww-store.test.js +146 -0
- apps/dashboard/utils/sanitize.js +67 -0
- apps/landing/Dockerfile +44 -0
- apps/landing/README.md +152 -0
- apps/landing/deploy.sh +195 -0
- apps/landing/nginx/default.conf +70 -0
- apps/landing/public/.well-known/brand-facts.json +481 -0
- apps/landing/public/about/index.html +591 -0
- apps/landing/public/admin/index.html +1096 -0
- apps/landing/public/agent-knowledge/auth-contract.json +36 -0
- apps/landing/public/agent-knowledge/index.html +613 -0
- apps/landing/public/agent-knowledge/skill-registry.json +556 -0
- apps/landing/public/assess/index.html +252 -0
- apps/landing/public/auth/index.html +2114 -0
- apps/landing/public/auth/reset-password/index.html +99 -0
- apps/landing/public/book/index.html +315 -0
- apps/landing/public/brand-facts/index.html +318 -0
- apps/landing/public/changelog/index.html +791 -0
- apps/landing/public/checkout-cancel.html +363 -0
- apps/landing/public/checkout-success.html +482 -0
- apps/landing/public/components/blog-subscribe.html +120 -0
- apps/landing/public/components/lm1-eligibility-assessment/widget.css +440 -0
- apps/landing/public/components/lm1-eligibility-assessment/widget.js +951 -0
- apps/landing/public/components/memory-graph/widget.css +124 -0
- apps/landing/public/components/memory-graph/widget.js +171 -0
- apps/landing/public/components/shared/workweaver-browser-client.js +262 -0
- apps/landing/public/components/shared/zara-shared.js +191 -0
- apps/landing/public/components/vendor/LIVEKIT-LICENSE.txt +175 -0
- apps/landing/public/components/vendor/livekit-client-2.16.1.umd.js +2 -0
- apps/landing/public/components/zara-experience/components/plan-card.js +353 -0
- apps/landing/public/components/zara-experience/mic-worklet.js +93 -0
- apps/landing/public/components/zara-experience/widget.css +1703 -0
- apps/landing/public/components/zara-experience/widget.js +4161 -0
- apps/landing/public/components/zara-experience/zara-skill.js +460 -0
- apps/landing/public/components/zara-inline/widget.css +939 -0
- apps/landing/public/components/zara-inline/widget.js +1620 -0
- apps/landing/public/components/zara-interview/widget.css +1333 -0
- apps/landing/public/components/zara-interview/widget.js +695 -0
- apps/landing/public/connected/index.html +18 -0
- apps/landing/public/cookies.html +479 -0
- apps/landing/public/css/colors_and_type.css +277 -0
- apps/landing/public/css/workweaver-light-shell.css +339 -0
- apps/landing/public/design-system/colors_and_type.css +277 -0
- apps/landing/public/design-system/workweaver.css +1175 -0
- apps/landing/public/design-system/workweaver.js +513 -0
- apps/landing/public/docs/index.html +545 -0
- apps/landing/public/error/index.html +202 -0
- apps/landing/public/evidence/index.html +1051 -0
- apps/landing/public/forgot-password/index.html +81 -0
- apps/landing/public/get-started/index.html +414 -0
- apps/landing/public/guides/best-ai-employee-platform-2026/index.html +276 -0
- apps/landing/public/guides/best-ai-employee-platform-2026.md +55 -0
- apps/landing/public/guides/index.html +254 -0
- apps/landing/public/guides/workweaver-user-guide/index.html +194 -0
- apps/landing/public/guides/workweaver-user-guide.md +659 -0
- apps/landing/public/home/index.html +18 -0
- apps/landing/public/icons/icon-192.svg +4 -0
- apps/landing/public/icons/icon-512.svg +4 -0
- apps/landing/public/inbox/index.html +18 -0
- apps/landing/public/index.html +494 -0
- apps/landing/public/integrations/index.html +24 -0
- apps/landing/public/integrations/oauth-callback.html +136 -0
- apps/landing/public/js/analytics.js +313 -0
- apps/landing/public/js/api-base.js +239 -0
- apps/landing/public/js/blog-subscribe.js +84 -0
- apps/landing/public/js/cookie-consent.js +92 -0
- apps/landing/public/js/runtime-surface-redirect.js +129 -0
- apps/landing/public/js/tracking.js +557 -0
- apps/landing/public/js/waitlist.js +183 -0
- apps/landing/public/js/zara-first-shift.js +282 -0
- apps/landing/public/landing-assets/Falcon.webp +0 -0
- apps/landing/public/landing-assets/Header.webp +0 -0
- Mobile.webp +0 -0
- apps/landing/public/landing-assets/apple-touch-icon.png +0 -0
- apps/landing/public/landing-assets/bitfoundry-logo.svg +3 -0
- apps/landing/public/landing-assets/favicon-16.png +0 -0
- apps/landing/public/landing-assets/favicon-32.png +0 -0
- apps/landing/public/landing-assets/workweaver-logo.png +0 -0
- apps/landing/public/landing-assets/workweaver-logo.svg +59 -0
- apps/landing/public/llms-full.txt +96 -0
- apps/landing/public/llms.txt +81 -0
- apps/landing/public/login/index.html +18 -0
- apps/landing/public/logout/index.html +110 -0
- apps/landing/public/manifest.json +29 -0
- apps/landing/public/manifest.webmanifest +57 -0
- apps/landing/public/memory/index.html +74 -0
- apps/landing/public/memory/pricing.html +577 -0
- apps/landing/public/memory/proof.html +1266 -0
- apps/landing/public/memory/proof.json +555 -0
- apps/landing/public/mission/analytics.html +362 -0
- apps/landing/public/mission/cadence-audit.html +288 -0
- apps/landing/public/mission/index.html +16 -0
- apps/landing/public/mission/offline.html +41 -0
- apps/landing/public/mission/suppression.html +501 -0
- apps/landing/public/mission/sw.js +111 -0
- apps/landing/public/onboarding/index.html +157 -0
- apps/landing/public/platform/index.html +960 -0
- apps/landing/public/pricing/index.html +1211 -0
- apps/landing/public/privacy.html +582 -0
- apps/landing/public/provisioning/index.html +959 -0
- apps/landing/public/provisioning.html +25 -0
- apps/landing/public/results/index.html +18 -0
- apps/landing/public/robots.txt +77 -0
- apps/landing/public/security.html +317 -0
- apps/landing/public/settings/account/index.html +867 -0
- apps/landing/public/settings/index.html +18 -0
- apps/landing/public/settings/inference-oauth-callback.html +176 -0
- apps/landing/public/settings/runtime/index.html +135 -0
- apps/landing/public/signup/index.html +31 -0
- apps/landing/public/signup.html +25 -0
- apps/landing/public/sitemap.xml +12 -0
- apps/landing/public/sitemaps/guides.xml +28 -0
- apps/landing/public/sitemaps/landing.xml +43 -0
- apps/landing/public/team/index.html +18 -0
- apps/landing/public/terms.html +427 -0
- apps/landing/public/verify.html +745 -0
- apps/landing/public/waitlist/index.html +354 -0
- apps/landing/tests/e2e/test_checkout_flow.spec.ts +439 -0
- apps/shared/__init__.py +1 -0
- apps/shared/decision_taxonomy.py +110 -0
- apps/shared/design-system/README.md +141 -0
- apps/shared/design-system/colors_and_type.css +277 -0
- apps/shared/design-system/workweaver.css +1092 -0
- apps/shared/design-system/workweaver.js +462 -0
- apps/shared/document_extraction.py +445 -0
- apps/shared/edge_cloud_models.py +113 -0
- apps/shared/llm_model_policy.py +411 -0
- apps/shared/pg_pool.py +123 -0
- apps/shared/pyproject.toml +17 -0
- apps/shared/skill_routing_manifest.py +168 -0
- apps/shared/zara-experience/components/plan-card.js +353 -0
- apps/shared/zara-experience/tests/zara-plan-ui.test.js +222 -0
- apps/shared/zara-experience/widget.css +1703 -0
- apps/shared/zara-experience/widget.js +4161 -0
- skills/SKILL-INDEX.md +45 -0
- skills/__init__.py +0 -0
- skills/_shared/deploy-commands.md +14 -0
- skills/_shared/preamble.md +7 -0
- skills/_shared/quality-gates.md +11 -0
- skills/_shared/test-commands.md +21 -0
- skills/accessibility/SKILL.md +224 -0
- skills/accessibility/SKILL.md.tmpl +206 -0
- skills/ai-cto-ops/SKILL.md +386 -0
- skills/ai-cto-ops/references/wiring-guide.md +166 -0
- skills/aws-ops/SKILL.md +100 -0
- skills/brainstorm/SKILL.md +108 -0
- skills/catalog.json +619 -0
- skills/coding-standards/SKILL.md +158 -0
- skills/coding-standards/SKILL.md.tmpl +119 -0
- skills/cold-outreach/SKILL.md +77 -0
- skills/cross-review/SKILL.md +108 -0
- skills/docs-navigator/SKILL.md +66 -0
- skills/document-processor/SKILL.md +251 -0
- skills/engineering-philosophy/SKILL.md +92 -0
- skills/execution-discipline/SKILL.md +45 -0
- skills/frontend-artifacts/SKILL.md +290 -0
- skills/index.json +619 -0
- skills/inverter/SKILL.md +64 -0
- skills/llm-council/SKILL.md +122 -0
- skills/local-docker-e2e/SKILL.md +289 -0
- skills/meta-skill/SKILL.md +146 -0
- skills/meta-skill/checklist.md +55 -0
- skills/meta-skill/templates/SKILL-template.md +24 -0
- skills/performance/SKILL.md +260 -0
- skills/performance/SKILL.md.tmpl +242 -0
- skills/research/SKILL.md +234 -0
- skills/reuse-before-new/SKILL.md +41 -0
- skills/security/SKILL.md +104 -0
- skills/self-awareness/SKILL.md +64 -0
- skills/self-awareness/__init__.py +0 -0
- skills/self-awareness/data/audit-report.md +164 -0
- skills/self-awareness/data/consolidation-queue.json +331 -0
- skills/self-awareness/data/delta-q-history.jsonl +1 -0
- skills/self-awareness/data/implementation-plan-run-b.md +121 -0
- skills/self-awareness/data/last-reviewed-main-sha.txt +1 -0
- skills/self-awareness/data/next-run-prompt.md +108 -0
- skills/self-awareness/scripts/__init__.py +0 -0
- skills/self-awareness/scripts/census/__init__.py +1 -0
- skills/self-awareness/scripts/census/ast_analyzer.py +279 -0
- skills/self-awareness/scripts/census/consolidation_roi_estimator.py +180 -0
- skills/self-awareness/scripts/census/coupling_analyzer.py +123 -0
- skills/self-awareness/scripts/census/dead_code_detector.py +280 -0
- skills/self-awareness/scripts/census/duplication_detector.py +157 -0
- skills/self-awareness/scripts/census/god_object_detector.py +126 -0
- skills/self-awareness/scripts/census/run_census.py +160 -0
- skills/self-awareness/scripts/census/test_quality_analyzer.py +173 -0
- skills/self-awareness/scripts/proposals/__init__.py +0 -0
- skills/self-awareness/scripts/proposals/base_class_proposer.py +130 -0
- skills/self-awareness/scripts/proposals/dead_code_proposer.py +139 -0
- skills/self-awareness/scripts/proposals/doc_drift_proposer.py +123 -0
- skills/self-awareness/scripts/proposals/god_object_proposer.py +87 -0
- skills/self-awareness/scripts/proposals/run_proposals.py +126 -0
- skills/self-awareness/scripts/shared/__init__.py +1 -0
- skills/self-awareness/scripts/shared/json_io.py +23 -0
- skills/self-awareness/scripts/shared/repo_utils.py +60 -0
- skills/self-awareness/scripts/shared/scoring.py +72 -0
- skills/self-awareness/scripts/validation/__init__.py +0 -0
- skills/self-awareness/scripts/validation/codex_review.py +180 -0
- skills/self-awareness/scripts/validation/validate_proposals.py +195 -0
- skills/skill-autoresearch/SKILL.md +72 -0
- skills/skill-autoresearch/scripts/evaluate.py +163 -0
- skills/skill-autoresearch/scripts/improve.py +125 -0
- skills/skill-autoresearch/scripts/promote.py +401 -0
- skills/swarm-planner/SKILL.md +65 -0
- skills/task-decomposition/SKILL.md +92 -0
- skills/tdd-implementation/SKILL.md +48 -0
- skills/testing-suite/SKILL.md +104 -0
- skills/testing-suite/classification.md +496 -0
- skills/testing-suite/integration.md +198 -0
- skills/testing-suite/mocking.md +714 -0
- skills/testing-suite/state-machine.md +340 -0
- skills/testing-suite/unit.md +147 -0
- skills/ux-design/SKILL.md +327 -0
- skills/verifier/SKILL.md +64 -0
- skills/voice-ai-integration/SKILL.md +347 -0
- skills/zara-self-awareness/SKILL.md +78 -0
- skills/zero-defect/SKILL.md +40 -0
- skills/zoho-cli/SKILL.md +109 -0
- skills/zoho-cli/bin/zoho +999 -0
- skills/zoho-cli/registry.json +456 -0
- workweaver-0.1.0.dist-info/METADATA +173 -0
- workweaver-0.1.0.dist-info/RECORD +2463 -0
- workweaver-0.1.0.dist-info/WHEEL +4 -0
- workweaver-0.1.0.dist-info/entry_points.txt +3 -0
- workweaver-0.1.0.dist-info/licenses/LICENSE +685 -0
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Meeting Providers Admin — Workweaver</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--bg: #f4f6fb;
|
|
10
|
+
--surface: #ffffff;
|
|
11
|
+
--surface-2: #f8fafd;
|
|
12
|
+
--border: #e2e8f0;
|
|
13
|
+
--text: #0f172a;
|
|
14
|
+
--text-muted: #64748b;
|
|
15
|
+
--text-xs: #94a3b8;
|
|
16
|
+
--accent: #2563eb;
|
|
17
|
+
--accent-hover: #1d4ed8;
|
|
18
|
+
--accent-light: #eff6ff;
|
|
19
|
+
--success: #10b981;
|
|
20
|
+
--success-bg: #ecfdf5;
|
|
21
|
+
--danger: #ef4444;
|
|
22
|
+
--danger-bg: #fef2f2;
|
|
23
|
+
--warning: #f59e0b;
|
|
24
|
+
--radius: 8px;
|
|
25
|
+
--shadow: 0 1px 3px 0 rgb(0 0 0/0.07), 0 1px 2px -1px rgb(0 0 0/0.05);
|
|
26
|
+
--shadow-md: 0 4px 6px -1px rgb(0 0 0/0.1);
|
|
27
|
+
}
|
|
28
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
29
|
+
body {
|
|
30
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
31
|
+
background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.5;
|
|
32
|
+
-webkit-font-smoothing: antialiased;
|
|
33
|
+
}
|
|
34
|
+
.topbar {
|
|
35
|
+
background: #1a1a2e; color: #fff; display: flex; align-items: center;
|
|
36
|
+
justify-content: space-between; padding: 0 24px; height: 52px;
|
|
37
|
+
position: sticky; top: 0; z-index: 100;
|
|
38
|
+
}
|
|
39
|
+
.topbar-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; }
|
|
40
|
+
.topbar-brand .badge { background: #2563eb; color: #fff; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 12px; }
|
|
41
|
+
.topbar-right { display: flex; align-items: center; gap: 16px; }
|
|
42
|
+
.topbar-email { font-size: 13px; color: #94a3b8; }
|
|
43
|
+
.btn-ghost { background: transparent; border: 1px solid rgba(255,255,255,0.15); color: #cbd5e1; padding: 5px 12px; border-radius: 6px; font-size: 12px; cursor: pointer; }
|
|
44
|
+
.btn-ghost:hover { background: rgba(255,255,255,0.08); color: #fff; }
|
|
45
|
+
|
|
46
|
+
.tabs-bar { display: flex; gap: 0; border-bottom: 1px solid var(--border); background: var(--surface); padding: 0 24px; }
|
|
47
|
+
.tab-btn { padding: 12px 20px; border: none; background: none; font-size: 13px; font-weight: 500; color: var(--text-muted); cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.15s; }
|
|
48
|
+
.tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); }
|
|
49
|
+
.tab-btn:hover:not(.active) { color: var(--text); }
|
|
50
|
+
|
|
51
|
+
.main { max-width: 960px; margin: 24px auto; padding: 0 24px; }
|
|
52
|
+
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 20px; }
|
|
53
|
+
.card-header { padding: 16px 20px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
|
|
54
|
+
.card-header h2 { font-size: 15px; font-weight: 600; }
|
|
55
|
+
.card-body { padding: 20px; }
|
|
56
|
+
|
|
57
|
+
table { width: 100%; border-collapse: collapse; }
|
|
58
|
+
th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); padding: 10px 12px; border-bottom: 1px solid var(--border); }
|
|
59
|
+
td { padding: 12px; border-bottom: 1px solid var(--border); font-size: 13px; }
|
|
60
|
+
tr:last-child td { border-bottom: none; }
|
|
61
|
+
tr:hover { background: var(--surface-2); }
|
|
62
|
+
|
|
63
|
+
.status-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; padding: 3px 10px; border-radius: 12px; }
|
|
64
|
+
.status-configured { background: var(--success-bg); color: var(--success); }
|
|
65
|
+
.status-missing { background: var(--danger-bg); color: var(--danger); }
|
|
66
|
+
.status-env { background: var(--accent-light); color: var(--accent); }
|
|
67
|
+
|
|
68
|
+
.btn { padding: 7px 14px; border: none; border-radius: 6px; font-size: 12px; font-weight: 500; cursor: pointer; transition: all 0.15s; }
|
|
69
|
+
.btn-primary { background: var(--accent); color: #fff; }
|
|
70
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
71
|
+
.btn-danger { background: var(--danger); color: #fff; }
|
|
72
|
+
.btn-danger:hover { background: #dc2626; }
|
|
73
|
+
.btn-outline { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }
|
|
74
|
+
.btn-outline:hover { border-color: var(--text-muted); color: var(--text); }
|
|
75
|
+
|
|
76
|
+
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 200; align-items: center; justify-content: center; }
|
|
77
|
+
.modal-overlay.open { display: flex; }
|
|
78
|
+
.modal { background: var(--surface); border-radius: 12px; box-shadow: var(--shadow-md); width: 440px; max-width: 90vw; }
|
|
79
|
+
.modal-header { padding: 16px 20px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: 15px; }
|
|
80
|
+
.modal-body { padding: 20px; }
|
|
81
|
+
.modal-footer { padding: 12px 20px; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 8px; }
|
|
82
|
+
|
|
83
|
+
.form-group { margin-bottom: 14px; }
|
|
84
|
+
.form-group label { display: block; font-size: 12px; font-weight: 500; color: var(--text-muted); margin-bottom: 4px; }
|
|
85
|
+
.form-group input { width: 100%; padding: 8px 12px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px; }
|
|
86
|
+
.form-group input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 2px rgba(37,99,235,0.15); }
|
|
87
|
+
|
|
88
|
+
.toast { position: fixed; bottom: 24px; right: 24px; padding: 12px 20px; border-radius: 8px; font-size: 13px; font-weight: 500; color: #fff; z-index: 300; transition: opacity 0.3s; }
|
|
89
|
+
.toast-success { background: var(--success); }
|
|
90
|
+
.toast-error { background: var(--danger); }
|
|
91
|
+
|
|
92
|
+
.auth-gate { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; }
|
|
93
|
+
.auth-error { display: none; color: var(--danger); text-align: center; margin-top: 12px; font-size: 13px; }
|
|
94
|
+
.app-content { display: none; }
|
|
95
|
+
|
|
96
|
+
.tenant-lookup { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; }
|
|
97
|
+
.tenant-lookup input { flex: 1; padding: 8px 12px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px; }
|
|
98
|
+
</style>
|
|
99
|
+
</head>
|
|
100
|
+
<body>
|
|
101
|
+
|
|
102
|
+
<!-- Auth gate -->
|
|
103
|
+
<div id="auth-gate" class="auth-gate">
|
|
104
|
+
<div style="font-size:18px;font-weight:700;margin-bottom:8px;">Workweaver</div>
|
|
105
|
+
<div style="color:var(--text-muted);font-size:13px;margin-bottom:16px;">Admin — Meeting Provider Management</div>
|
|
106
|
+
<div id="auth-spinner" style="color:var(--text-muted);font-size:13px;">Verifying session...</div>
|
|
107
|
+
<div id="auth-error" class="auth-error">
|
|
108
|
+
Access denied. Only authorized founders may access this page.<br>
|
|
109
|
+
<a href="https://workweaver.ai/auth" style="color:#60a5fa;margin-top:8px;display:inline-block;">Sign in</a>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<!-- App content -->
|
|
114
|
+
<div id="app-content" class="app-content">
|
|
115
|
+
<div class="topbar">
|
|
116
|
+
<div class="topbar-brand">
|
|
117
|
+
Workweaver <span class="badge">ADMIN</span>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="topbar-right">
|
|
120
|
+
<span class="topbar-email" id="topbar-email"></span>
|
|
121
|
+
<button class="btn-ghost" onclick="window.location.href='/admin/inference/'">Inference Admin</button>
|
|
122
|
+
<button class="btn-ghost" onclick="handleLogout()">Logout</button>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="tabs-bar">
|
|
127
|
+
<button class="tab-btn active" data-tab="providers" onclick="switchTab('providers')">Providers</button>
|
|
128
|
+
<button class="tab-btn" data-tab="tenants" onclick="switchTab('tenants')">Tenant Overrides</button>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
<div class="main">
|
|
132
|
+
<!-- Providers tab -->
|
|
133
|
+
<div id="tab-providers">
|
|
134
|
+
<div class="card">
|
|
135
|
+
<div class="card-header">
|
|
136
|
+
<h2>Meeting Providers</h2>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="card-body" style="padding:0;">
|
|
139
|
+
<table>
|
|
140
|
+
<thead>
|
|
141
|
+
<tr>
|
|
142
|
+
<th>Provider</th>
|
|
143
|
+
<th>Status</th>
|
|
144
|
+
<th>Source</th>
|
|
145
|
+
<th>Enabled</th>
|
|
146
|
+
<th>Actions</th>
|
|
147
|
+
</tr>
|
|
148
|
+
</thead>
|
|
149
|
+
<tbody id="providers-tbody">
|
|
150
|
+
<tr><td colspan="5" style="text-align:center;color:var(--text-muted);padding:24px;">Loading...</td></tr>
|
|
151
|
+
</tbody>
|
|
152
|
+
</table>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<!-- Tenant overrides tab -->
|
|
158
|
+
<div id="tab-tenants" style="display:none;">
|
|
159
|
+
<div class="card">
|
|
160
|
+
<div class="card-header">
|
|
161
|
+
<h2>Tenant Overrides</h2>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="card-body">
|
|
164
|
+
<div class="tenant-lookup">
|
|
165
|
+
<input type="text" id="tenant-id-input" placeholder="Enter tenant ID..." />
|
|
166
|
+
<button class="btn btn-primary" onclick="lookupTenant()">Lookup</button>
|
|
167
|
+
</div>
|
|
168
|
+
<div id="tenant-overrides-result"></div>
|
|
169
|
+
<table id="tenant-overrides-table" style="display:none;">
|
|
170
|
+
<thead>
|
|
171
|
+
<tr>
|
|
172
|
+
<th>Provider</th>
|
|
173
|
+
<th>Status</th>
|
|
174
|
+
<th>Enabled</th>
|
|
175
|
+
<th>Actions</th>
|
|
176
|
+
</tr>
|
|
177
|
+
</thead>
|
|
178
|
+
<tbody id="tenant-overrides-tbody"></tbody>
|
|
179
|
+
</table>
|
|
180
|
+
<div style="margin-top:12px;" id="tenant-add-section" style="display:none;">
|
|
181
|
+
<button class="btn btn-outline" onclick="openTenantAddModal()">Add Override</button>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<!-- Credential modal -->
|
|
190
|
+
<div id="credential-modal" class="modal-overlay">
|
|
191
|
+
<div class="modal">
|
|
192
|
+
<div class="modal-header" id="modal-title">Configure Provider</div>
|
|
193
|
+
<div class="modal-body">
|
|
194
|
+
<div class="form-group">
|
|
195
|
+
<label>API Key</label>
|
|
196
|
+
<input type="password" id="modal-api-key" placeholder="Enter API key..." autocomplete="off" />
|
|
197
|
+
</div>
|
|
198
|
+
<div class="form-group">
|
|
199
|
+
<label>Enabled</label>
|
|
200
|
+
<select id="modal-enabled" style="width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;">
|
|
201
|
+
<option value="true">Enabled</option>
|
|
202
|
+
<option value="false">Disabled</option>
|
|
203
|
+
</select>
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
<div class="modal-footer">
|
|
207
|
+
<button class="btn btn-outline" onclick="closeModal()">Cancel</button>
|
|
208
|
+
<button class="btn btn-primary" id="modal-save-btn" onclick="saveCredential()">Save</button>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
|
|
213
|
+
<!-- Tenant override add modal -->
|
|
214
|
+
<div id="tenant-add-modal" class="modal-overlay">
|
|
215
|
+
<div class="modal">
|
|
216
|
+
<div class="modal-header">Add Tenant Override</div>
|
|
217
|
+
<div class="modal-body">
|
|
218
|
+
<div class="form-group">
|
|
219
|
+
<label>Provider</label>
|
|
220
|
+
<select id="tenant-modal-provider" style="width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;">
|
|
221
|
+
<option value="recall_us_west_2">Recall.ai (US West 2)</option>
|
|
222
|
+
<option value="recall_eu_central_1">Recall.ai (EU Central 1)</option>
|
|
223
|
+
<option value="recall_ap_northeast_1">Recall.ai (AP Northeast 1)</option>
|
|
224
|
+
<option value="deepgram">Deepgram</option>
|
|
225
|
+
<option value="sarvam">Sarvam AI</option>
|
|
226
|
+
</select>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="form-group">
|
|
229
|
+
<label>API Key</label>
|
|
230
|
+
<input type="password" id="tenant-modal-api-key" placeholder="Enter API key..." autocomplete="off" />
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
<div class="modal-footer">
|
|
234
|
+
<button class="btn btn-outline" onclick="closeTenantAddModal()">Cancel</button>
|
|
235
|
+
<button class="btn btn-primary" onclick="saveTenantOverride()">Save</button>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
|
|
240
|
+
<script>
|
|
241
|
+
// ============================================================
|
|
242
|
+
// State
|
|
243
|
+
// ============================================================
|
|
244
|
+
let providers = [];
|
|
245
|
+
let currentEmail = '';
|
|
246
|
+
let currentTenantId = '';
|
|
247
|
+
let tenantOverrides = [];
|
|
248
|
+
let modalTarget = { type: '', providerId: '', tenantId: '' };
|
|
249
|
+
|
|
250
|
+
// ============================================================
|
|
251
|
+
// Auth
|
|
252
|
+
// ============================================================
|
|
253
|
+
async function verifyAuth() {
|
|
254
|
+
try {
|
|
255
|
+
await apiFetch('GET', '/api/v1/founder/meeting/providers');
|
|
256
|
+
return true;
|
|
257
|
+
} catch(e) {
|
|
258
|
+
if (e.status === 401 || e.status === 403) return false;
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
async function init() {
|
|
264
|
+
const authed = await verifyAuth();
|
|
265
|
+
if (!authed) {
|
|
266
|
+
document.getElementById('auth-spinner').style.display = 'none';
|
|
267
|
+
document.getElementById('auth-error').style.display = 'block';
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
document.getElementById('auth-gate').style.display = 'none';
|
|
271
|
+
document.getElementById('app-content').style.display = 'block';
|
|
272
|
+
loadProviders();
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
init();
|
|
276
|
+
|
|
277
|
+
// ============================================================
|
|
278
|
+
// API helper
|
|
279
|
+
// ============================================================
|
|
280
|
+
async function apiFetch(method, path, body) {
|
|
281
|
+
const opts = {
|
|
282
|
+
method,
|
|
283
|
+
credentials: 'include',
|
|
284
|
+
headers: { 'Content-Type': 'application/json' },
|
|
285
|
+
};
|
|
286
|
+
if (body !== undefined) opts.body = JSON.stringify(body);
|
|
287
|
+
const resp = await fetch(path, opts);
|
|
288
|
+
if (!resp.ok) {
|
|
289
|
+
const err = await resp.json().catch(() => ({ detail: resp.statusText }));
|
|
290
|
+
const e = new Error(err.detail || resp.statusText);
|
|
291
|
+
e.status = resp.status;
|
|
292
|
+
throw e;
|
|
293
|
+
}
|
|
294
|
+
if (resp.status === 204) return null;
|
|
295
|
+
return resp.json();
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// ============================================================
|
|
299
|
+
// Tab switching
|
|
300
|
+
// ============================================================
|
|
301
|
+
function switchTab(tab) {
|
|
302
|
+
document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
|
|
303
|
+
document.querySelector(`[data-tab="${tab}"]`).classList.add('active');
|
|
304
|
+
document.getElementById('tab-providers').style.display = tab === 'providers' ? 'block' : 'none';
|
|
305
|
+
document.getElementById('tab-tenants').style.display = tab === 'tenants' ? 'block' : 'none';
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// ============================================================
|
|
309
|
+
// Providers tab
|
|
310
|
+
// ============================================================
|
|
311
|
+
async function loadProviders() {
|
|
312
|
+
try {
|
|
313
|
+
providers = await apiFetch('GET', '/api/v1/founder/meeting/providers');
|
|
314
|
+
renderProviders();
|
|
315
|
+
} catch(e) {
|
|
316
|
+
document.getElementById('providers-tbody').innerHTML =
|
|
317
|
+
`<tr><td colspan="5" style="color:var(--danger);padding:16px;">Failed to load: ${e.message}</td></tr>`;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function renderProviders() {
|
|
322
|
+
const tbody = document.getElementById('providers-tbody');
|
|
323
|
+
if (!providers.length) {
|
|
324
|
+
tbody.innerHTML = '<tr><td colspan="5" style="text-align:center;color:var(--text-muted);padding:24px;">No providers found</td></tr>';
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
tbody.innerHTML = providers.map(p => `
|
|
328
|
+
<tr>
|
|
329
|
+
<td style="font-weight:500;">${esc(p.label)}</td>
|
|
330
|
+
<td>
|
|
331
|
+
<span class="status-badge ${p.has_credentials ? 'status-configured' : 'status-missing'}">
|
|
332
|
+
${p.has_credentials ? 'Configured' : 'Missing'}
|
|
333
|
+
</span>
|
|
334
|
+
</td>
|
|
335
|
+
<td style="color:var(--text-muted);font-size:12px;">${esc(p.source)}</td>
|
|
336
|
+
<td>${p.enabled ? '<span style="color:var(--success);">Yes</span>' : '<span style="color:var(--text-xs);">No</span>'}</td>
|
|
337
|
+
<td>
|
|
338
|
+
<button class="btn btn-outline" onclick="openCredentialModal('global','${esc(p.provider_id)}')">
|
|
339
|
+
${p.has_credentials && p.source === 'admin_store' ? 'Update' : 'Configure'}
|
|
340
|
+
</button>
|
|
341
|
+
</td>
|
|
342
|
+
</tr>
|
|
343
|
+
`).join('');
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// ============================================================
|
|
347
|
+
// Credential modal
|
|
348
|
+
// ============================================================
|
|
349
|
+
function openCredentialModal(type, providerId, tenantId) {
|
|
350
|
+
// tenantId is intentionally not passed via onclick interpolation to prevent
|
|
351
|
+
// XSS — use the module-level currentTenantId for tenant operations instead.
|
|
352
|
+
modalTarget = { type, providerId, tenantId: tenantId || currentTenantId || '' };
|
|
353
|
+
const label = providers.find(p => p.provider_id === providerId)?.label || providerId;
|
|
354
|
+
document.getElementById('modal-title').textContent = `Configure ${label}`;
|
|
355
|
+
document.getElementById('modal-api-key').value = '';
|
|
356
|
+
document.getElementById('modal-enabled').value = 'true';
|
|
357
|
+
document.getElementById('credential-modal').classList.add('open');
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
function closeModal() {
|
|
361
|
+
document.getElementById('credential-modal').classList.remove('open');
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
async function saveCredential() {
|
|
365
|
+
const apiKey = document.getElementById('modal-api-key').value.trim();
|
|
366
|
+
const enabled = document.getElementById('modal-enabled').value === 'true';
|
|
367
|
+
const body = { enabled };
|
|
368
|
+
if (apiKey) body.credentials = { api_key: apiKey };
|
|
369
|
+
|
|
370
|
+
try {
|
|
371
|
+
if (modalTarget.type === 'global') {
|
|
372
|
+
await apiFetch('POST', `/api/v1/founder/meeting/providers/${modalTarget.providerId}`, body);
|
|
373
|
+
toast('Provider updated', 'success');
|
|
374
|
+
loadProviders();
|
|
375
|
+
} else {
|
|
376
|
+
await apiFetch('POST', `/api/v1/founder/meeting/providers/tenants/${encodeURIComponent(modalTarget.tenantId)}/${modalTarget.providerId}`, body);
|
|
377
|
+
toast('Tenant override saved', 'success');
|
|
378
|
+
lookupTenant();
|
|
379
|
+
}
|
|
380
|
+
closeModal();
|
|
381
|
+
} catch(e) {
|
|
382
|
+
toast('Failed: ' + e.message, 'error');
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// ============================================================
|
|
387
|
+
// Tenant overrides tab
|
|
388
|
+
// ============================================================
|
|
389
|
+
async function lookupTenant() {
|
|
390
|
+
const tid = document.getElementById('tenant-id-input').value.trim();
|
|
391
|
+
if (!tid) { toast('Enter a tenant ID', 'error'); return; }
|
|
392
|
+
currentTenantId = tid;
|
|
393
|
+
const result = document.getElementById('tenant-overrides-result');
|
|
394
|
+
result.innerHTML = '<span style="color:var(--text-muted);">Loading...</span>';
|
|
395
|
+
|
|
396
|
+
try {
|
|
397
|
+
tenantOverrides = await apiFetch('GET', `/api/v1/founder/meeting/providers/tenants/${encodeURIComponent(tid)}`);
|
|
398
|
+
document.getElementById('tenant-overrides-table').style.display = tenantOverrides.length ? 'table' : 'none';
|
|
399
|
+
document.getElementById('tenant-add-section').style.display = 'block';
|
|
400
|
+
|
|
401
|
+
if (!tenantOverrides.length) {
|
|
402
|
+
result.innerHTML = '<span style="color:var(--text-muted);font-size:13px;">No overrides for this tenant. Using global credentials.</span>';
|
|
403
|
+
} else {
|
|
404
|
+
result.innerHTML = '';
|
|
405
|
+
renderTenantOverrides();
|
|
406
|
+
}
|
|
407
|
+
} catch(e) {
|
|
408
|
+
result.innerHTML = `<span style="color:var(--danger);">${e.message}</span>`;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
function renderTenantOverrides() {
|
|
413
|
+
const tbody = document.getElementById('tenant-overrides-tbody');
|
|
414
|
+
tbody.innerHTML = tenantOverrides.map(o => `
|
|
415
|
+
<tr>
|
|
416
|
+
<td style="font-weight:500;">${esc(o.label)}</td>
|
|
417
|
+
<td>
|
|
418
|
+
<span class="status-badge ${o.has_credentials ? 'status-configured' : 'status-missing'}">
|
|
419
|
+
${o.has_credentials ? 'Configured' : 'Missing'}
|
|
420
|
+
</span>
|
|
421
|
+
</td>
|
|
422
|
+
<td>${o.enabled ? '<span style="color:var(--success);">Yes</span>' : '<span style="color:var(--text-xs);">No</span>'}</td>
|
|
423
|
+
<td>
|
|
424
|
+
<button class="btn btn-outline" onclick="openCredentialModal('tenant','${esc(o.provider_id)}')">Update</button>
|
|
425
|
+
<button class="btn btn-danger" style="margin-left:4px;" onclick="deleteTenantOverride('${esc(o.provider_id)}')">Delete</button>
|
|
426
|
+
</td>
|
|
427
|
+
</tr>
|
|
428
|
+
`).join('');
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
function openTenantAddModal() {
|
|
432
|
+
if (!currentTenantId) { toast('Look up a tenant first', 'error'); return; }
|
|
433
|
+
document.getElementById('tenant-modal-api-key').value = '';
|
|
434
|
+
document.getElementById('tenant-add-modal').classList.add('open');
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
function closeTenantAddModal() {
|
|
438
|
+
document.getElementById('tenant-add-modal').classList.remove('open');
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
async function saveTenantOverride() {
|
|
442
|
+
const pid = document.getElementById('tenant-modal-provider').value;
|
|
443
|
+
const apiKey = document.getElementById('tenant-modal-api-key').value.trim();
|
|
444
|
+
if (!apiKey) { toast('Enter an API key', 'error'); return; }
|
|
445
|
+
|
|
446
|
+
try {
|
|
447
|
+
await apiFetch('POST', `/api/v1/founder/meeting/providers/tenants/${encodeURIComponent(currentTenantId)}/${pid}`, {
|
|
448
|
+
credentials: { api_key: apiKey },
|
|
449
|
+
enabled: true,
|
|
450
|
+
});
|
|
451
|
+
toast('Override saved', 'success');
|
|
452
|
+
closeTenantAddModal();
|
|
453
|
+
lookupTenant();
|
|
454
|
+
} catch(e) {
|
|
455
|
+
toast('Failed: ' + e.message, 'error');
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
async function deleteTenantOverride(providerId) {
|
|
460
|
+
if (!confirm('Delete this override? The tenant will revert to global credentials.')) return;
|
|
461
|
+
try {
|
|
462
|
+
await apiFetch('DELETE', `/api/v1/founder/meeting/providers/tenants/${encodeURIComponent(currentTenantId)}/${providerId}`);
|
|
463
|
+
toast('Override deleted', 'success');
|
|
464
|
+
lookupTenant();
|
|
465
|
+
} catch(e) {
|
|
466
|
+
toast('Failed: ' + e.message, 'error');
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// ============================================================
|
|
471
|
+
// Utilities
|
|
472
|
+
// ============================================================
|
|
473
|
+
function esc(s) {
|
|
474
|
+
const d = document.createElement('div');
|
|
475
|
+
d.textContent = s || '';
|
|
476
|
+
return d.innerHTML;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
function toast(msg, type) {
|
|
480
|
+
const el = document.createElement('div');
|
|
481
|
+
el.className = `toast toast-${type || 'success'}`;
|
|
482
|
+
el.textContent = msg;
|
|
483
|
+
document.body.appendChild(el);
|
|
484
|
+
setTimeout(() => { el.style.opacity = '0'; setTimeout(() => el.remove(), 300); }, 2500);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
function handleLogout() {
|
|
488
|
+
document.cookie.split(';').forEach(c => {
|
|
489
|
+
document.cookie = c.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`);
|
|
490
|
+
});
|
|
491
|
+
window.location.href = 'https://workweaver.ai/auth';
|
|
492
|
+
}
|
|
493
|
+
</script>
|
|
494
|
+
</body>
|
|
495
|
+
</html>
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Admin Runtime · Workweaver</title>
|
|
7
|
+
<link rel="stylesheet" href="/design-system/colors_and_type.css?v=20260426-session10">
|
|
8
|
+
<link rel="stylesheet" href="/design-system/workweaver.css?v=20260426-session10">
|
|
9
|
+
<link rel="stylesheet" href="/css/workweaver-light-shell.css?v=20260426-session10">
|
|
10
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
11
|
+
<style>
|
|
12
|
+
.admin-runtime { min-height: 100vh; padding: 28px; background: var(--ww-bg); color: var(--ww-ink-900); }
|
|
13
|
+
.admin-runtime__shell { max-width: 1180px; margin: 0 auto; }
|
|
14
|
+
.admin-runtime__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
|
|
15
|
+
.admin-runtime__title { margin: 0; font-family: var(--ww-font-display); font-size: 30px; line-height: 1.05; }
|
|
16
|
+
.admin-runtime__grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; }
|
|
17
|
+
.admin-runtime__nav { display: grid; gap: 6px; }
|
|
18
|
+
.admin-runtime__nav a { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-radius: var(--ww-radius-sm); color: var(--ww-ink-700); text-decoration: none; }
|
|
19
|
+
.admin-runtime__nav a.is-active { background: var(--ww-accent-soft); color: var(--ww-accent-ink); font-weight: var(--ww-fw-semi); }
|
|
20
|
+
.admin-runtime__panel { min-height: 520px; background: var(--ww-glass); border: 1px solid var(--ww-glass-border); border-radius: var(--ww-radius-lg); box-shadow: var(--ww-shadow-glass); overflow: hidden; }
|
|
21
|
+
.admin-runtime__placeholder { padding: 28px; color: var(--ww-ink-500); }
|
|
22
|
+
@media (max-width: 780px) {
|
|
23
|
+
.admin-runtime { padding: 16px; }
|
|
24
|
+
.admin-runtime__grid { grid-template-columns: 1fr; }
|
|
25
|
+
.admin-runtime__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
28
|
+
</head>
|
|
29
|
+
<body class="ww-app">
|
|
30
|
+
<main class="admin-runtime">
|
|
31
|
+
<div class="admin-runtime__shell">
|
|
32
|
+
<header class="admin-runtime__head">
|
|
33
|
+
<div>
|
|
34
|
+
<span class="ww-eb">Admin Runtime</span>
|
|
35
|
+
<h1 class="admin-runtime__title">Operational manager surfaces</h1>
|
|
36
|
+
</div>
|
|
37
|
+
<a class="ww-btn" href="/runtime/#/settings"><i class="fas fa-arrow-left" aria-hidden="true"></i>Tenant runtime</a>
|
|
38
|
+
</header>
|
|
39
|
+
<div class="admin-runtime__grid">
|
|
40
|
+
<nav class="admin-runtime__nav" aria-label="Admin runtime surfaces">
|
|
41
|
+
<a href="#/developer" data-admin-surface="developer"><i class="fas fa-code" aria-hidden="true"></i>Developer</a>
|
|
42
|
+
<a href="#/sandbox-testing" data-admin-surface="sandbox-testing"><i class="fas fa-vial" aria-hidden="true"></i>Sandbox</a>
|
|
43
|
+
<a href="#/ai-playground" data-admin-surface="ai-playground"><i class="fas fa-flask" aria-hidden="true"></i>AI playground</a>
|
|
44
|
+
<a href="#/batch-processing" data-admin-surface="batch-processing"><i class="fas fa-layer-group" aria-hidden="true"></i>Batch</a>
|
|
45
|
+
<a href="#/community" data-admin-surface="community"><i class="fas fa-users" aria-hidden="true"></i>Community</a>
|
|
46
|
+
<a href="#/help" data-admin-surface="help"><i class="fas fa-life-ring" aria-hidden="true"></i>Help</a>
|
|
47
|
+
</nav>
|
|
48
|
+
<section class="admin-runtime__panel" id="admin-runtime-panel" aria-live="polite">
|
|
49
|
+
<div class="admin-runtime__placeholder">Select an admin surface.</div>
|
|
50
|
+
</section>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</main>
|
|
54
|
+
<script>
|
|
55
|
+
(function () {
|
|
56
|
+
'use strict';
|
|
57
|
+
var TITLES = {
|
|
58
|
+
'developer': 'Developer Portal',
|
|
59
|
+
'sandbox-testing': 'Sandbox & Testing',
|
|
60
|
+
'ai-playground': 'AI Playground',
|
|
61
|
+
'batch-processing': 'Batch Processing',
|
|
62
|
+
'community': 'Community',
|
|
63
|
+
'help': 'Help & Support',
|
|
64
|
+
};
|
|
65
|
+
function activeSurface() {
|
|
66
|
+
var raw = String(location.hash || '#/developer').replace(/^#\/?/, '');
|
|
67
|
+
return Object.prototype.hasOwnProperty.call(TITLES, raw) ? raw : 'developer';
|
|
68
|
+
}
|
|
69
|
+
function render() {
|
|
70
|
+
var surface = activeSurface();
|
|
71
|
+
document.querySelectorAll('[data-admin-surface]').forEach(function (link) {
|
|
72
|
+
link.classList.toggle('is-active', link.getAttribute('data-admin-surface') === surface);
|
|
73
|
+
});
|
|
74
|
+
document.getElementById('admin-runtime-panel').innerHTML =
|
|
75
|
+
'<div class="admin-runtime__placeholder"><span class="ww-eb">Admin</span><h2 class="ww-page-title">' +
|
|
76
|
+
TITLES[surface] +
|
|
77
|
+
'</h2></div>';
|
|
78
|
+
}
|
|
79
|
+
window.addEventListener('hashchange', render);
|
|
80
|
+
if (!location.hash) history.replaceState(null, '', '#/developer');
|
|
81
|
+
render();
|
|
82
|
+
})();
|
|
83
|
+
</script>
|
|
84
|
+
</body>
|
|
85
|
+
</html>
|