ciris-agent 1.7.7__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.
- ciris_adapters/README.md +113 -0
- ciris_adapters/__init__.py +30 -0
- ciris_adapters/ciris_covenant_metrics/README.md +144 -0
- ciris_adapters/ciris_covenant_metrics/__init__.py +36 -0
- ciris_adapters/ciris_covenant_metrics/adapter.py +249 -0
- ciris_adapters/ciris_covenant_metrics/manifest.json +152 -0
- ciris_adapters/ciris_covenant_metrics/services.py +403 -0
- ciris_adapters/ciris_hosted_tools/__init__.py +24 -0
- ciris_adapters/ciris_hosted_tools/adapter.py +169 -0
- ciris_adapters/ciris_hosted_tools/manifest.json +94 -0
- ciris_adapters/ciris_hosted_tools/services.py +744 -0
- ciris_adapters/external_data_sql/README.md +559 -0
- ciris_adapters/external_data_sql/__init__.py +43 -0
- ciris_adapters/external_data_sql/adapter.py +144 -0
- ciris_adapters/external_data_sql/configurable.py +315 -0
- ciris_adapters/external_data_sql/dialects/__init__.py +37 -0
- ciris_adapters/external_data_sql/dialects/base.py +133 -0
- ciris_adapters/external_data_sql/dialects/mysql.py +63 -0
- ciris_adapters/external_data_sql/dialects/postgresql.py +59 -0
- ciris_adapters/external_data_sql/dialects/sqlite.py +62 -0
- ciris_adapters/external_data_sql/example_config.json +88 -0
- ciris_adapters/external_data_sql/example_privacy_schema.yaml +127 -0
- ciris_adapters/external_data_sql/manifest.json +195 -0
- ciris_adapters/external_data_sql/privacy_schema_loader.py +189 -0
- ciris_adapters/external_data_sql/protocol.py +101 -0
- ciris_adapters/external_data_sql/schemas.py +146 -0
- ciris_adapters/external_data_sql/service.py +1547 -0
- ciris_adapters/external_data_sql/service_old.py +492 -0
- ciris_adapters/home_assistant/__init__.py +63 -0
- ciris_adapters/home_assistant/adapter.py +201 -0
- ciris_adapters/home_assistant/communication_service.py +347 -0
- ciris_adapters/home_assistant/configurable.py +667 -0
- ciris_adapters/home_assistant/manifest.json +203 -0
- ciris_adapters/home_assistant/schemas.py +129 -0
- ciris_adapters/home_assistant/service.py +751 -0
- ciris_adapters/home_assistant/tool_service.py +441 -0
- ciris_adapters/mcp_client/__init__.py +82 -0
- ciris_adapters/mcp_client/adapter.py +847 -0
- ciris_adapters/mcp_client/config.py +280 -0
- ciris_adapters/mcp_client/configurable.py +422 -0
- ciris_adapters/mcp_client/manifest.json +185 -0
- ciris_adapters/mcp_client/mcp_communication_service.py +393 -0
- ciris_adapters/mcp_client/mcp_tool_service.py +463 -0
- ciris_adapters/mcp_client/mcp_wise_service.py +394 -0
- ciris_adapters/mcp_client/schemas.py +149 -0
- ciris_adapters/mcp_client/security.py +592 -0
- ciris_adapters/mcp_common/__init__.py +44 -0
- ciris_adapters/mcp_common/manifest.json +25 -0
- ciris_adapters/mcp_common/protocol.py +315 -0
- ciris_adapters/mcp_common/schemas.py +225 -0
- ciris_adapters/mcp_server/__init__.py +47 -0
- ciris_adapters/mcp_server/adapter.py +581 -0
- ciris_adapters/mcp_server/config.py +260 -0
- ciris_adapters/mcp_server/configurable.py +393 -0
- ciris_adapters/mcp_server/handlers.py +663 -0
- ciris_adapters/mcp_server/manifest.json +211 -0
- ciris_adapters/mcp_server/security.py +500 -0
- ciris_adapters/mock_llm/README.md +117 -0
- ciris_adapters/mock_llm/__init__.py +21 -0
- ciris_adapters/mock_llm/adapter.py +131 -0
- ciris_adapters/mock_llm/configurable.py +237 -0
- ciris_adapters/mock_llm/manifest.json +106 -0
- ciris_adapters/mock_llm/protocol.py +37 -0
- ciris_adapters/mock_llm/responses.py +520 -0
- ciris_adapters/mock_llm/responses_action_selection.py +1041 -0
- ciris_adapters/mock_llm/responses_epistemic.py +17 -0
- ciris_adapters/mock_llm/responses_feedback.py +27 -0
- ciris_adapters/mock_llm/schemas.py +35 -0
- ciris_adapters/mock_llm/service.py +294 -0
- ciris_adapters/navigation/__init__.py +21 -0
- ciris_adapters/navigation/adapter.py +129 -0
- ciris_adapters/navigation/configurable.py +239 -0
- ciris_adapters/navigation/manifest.json +104 -0
- ciris_adapters/navigation/service.py +487 -0
- ciris_adapters/reddit/README.md +132 -0
- ciris_adapters/reddit/REDDIT_ADAPTER_ANALYSIS.md +715 -0
- ciris_adapters/reddit/REDDIT_ADAPTER_SUMMARY.txt +278 -0
- ciris_adapters/reddit/REDDIT_ANALYSIS_INDEX.md +307 -0
- ciris_adapters/reddit/REDDIT_PRODUCTION_READINESS_PLAN.md +518 -0
- ciris_adapters/reddit/__init__.py +15 -0
- ciris_adapters/reddit/adapter.py +189 -0
- ciris_adapters/reddit/configurable.py +274 -0
- ciris_adapters/reddit/error_handler.py +307 -0
- ciris_adapters/reddit/manifest.json +218 -0
- ciris_adapters/reddit/observer.py +532 -0
- ciris_adapters/reddit/protocol.py +34 -0
- ciris_adapters/reddit/schemas.py +433 -0
- ciris_adapters/reddit/service.py +1471 -0
- ciris_adapters/sample_adapter/README.md +474 -0
- ciris_adapters/sample_adapter/__init__.py +45 -0
- ciris_adapters/sample_adapter/adapter.py +208 -0
- ciris_adapters/sample_adapter/configurable.py +469 -0
- ciris_adapters/sample_adapter/manifest.json +247 -0
- ciris_adapters/sample_adapter/services.py +486 -0
- ciris_adapters/weather/__init__.py +16 -0
- ciris_adapters/weather/adapter.py +130 -0
- ciris_adapters/weather/configurable.py +240 -0
- ciris_adapters/weather/manifest.json +156 -0
- ciris_adapters/weather/service.py +600 -0
- ciris_agent-1.7.7.dist-info/METADATA +284 -0
- ciris_agent-1.7.7.dist-info/RECORD +986 -0
- ciris_agent-1.7.7.dist-info/WHEEL +5 -0
- ciris_agent-1.7.7.dist-info/entry_points.txt +15 -0
- ciris_agent-1.7.7.dist-info/licenses/LICENSE +205 -0
- ciris_agent-1.7.7.dist-info/licenses/NOTICE +82 -0
- ciris_agent-1.7.7.dist-info/top_level.txt +4 -0
- ciris_engine/__init__.py +15 -0
- ciris_engine/ciris_templates/ally.yaml +632 -0
- ciris_engine/ciris_templates/default.yaml +411 -0
- ciris_engine/ciris_templates/echo-core.yaml +629 -0
- ciris_engine/ciris_templates/echo-speculative.yaml +764 -0
- ciris_engine/ciris_templates/echo.yaml +647 -0
- ciris_engine/ciris_templates/sage.yaml +332 -0
- ciris_engine/ciris_templates/scout.yaml +338 -0
- ciris_engine/ciris_templates/test.yaml +168 -0
- ciris_engine/cli.py +42 -0
- ciris_engine/config/CIRIS_SERVICES.json +19 -0
- ciris_engine/config/MODEL_CAPABILITIES.json +419 -0
- ciris_engine/config/PRICING_DATA.json +179 -0
- ciris_engine/config/__init__.py +50 -0
- ciris_engine/config/ciris_services.py +113 -0
- ciris_engine/config/model_capabilities.py +388 -0
- ciris_engine/config/pricing_models.py +276 -0
- ciris_engine/constants.py +35 -0
- ciris_engine/data/__init__.py +1 -0
- ciris_engine/data/covenant_1.0b.txt +978 -0
- ciris_engine/gui_static/11steps.svg +107 -0
- ciris_engine/gui_static/2x-schematics.png +0 -0
- ciris_engine/gui_static/404/index.html +1 -0
- ciris_engine/gui_static/404.html +1 -0
- ciris_engine/gui_static/_next/static/0edhkwDxd5UccTsCmtaBi/_buildManifest.js +1 -0
- ciris_engine/gui_static/_next/static/0edhkwDxd5UccTsCmtaBi/_ssgManifest.js +1 -0
- ciris_engine/gui_static/_next/static/U-3xTQao7hc2wnAi-Uekm/_buildManifest.js +1 -0
- ciris_engine/gui_static/_next/static/U-3xTQao7hc2wnAi-Uekm/_ssgManifest.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/3297-60e86ba0f8a7b040.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/3835-2aad4b7f5f8e4643.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/4499-99a0bc47de0b8975.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/4534-af88cd4ba6e99bff.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/4541-84b455f9e0dc4cfe.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/4789-61412711484754bb.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/6539-c6398bc9d7018430.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/704-8e827b26cc8c2d32.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/704-fb45d630f3192c6f.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/8072-de4952a2e6d2b33f.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/8315-b91d03a3949db0af.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/8386-f93a83ccbd789bd9.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/87c73c54-781a7f35148d5433.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/8903-fefea3339a02d41b.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/9090-e66485adf8d9d990.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/_not-found/page-a67d9808462c23b1.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/api-keys/page-2d7ee1583bbbd02e.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/api-keys/page-6a3c2bae6fe92b7b.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/consent/page-2ed3a035136bc4e8.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/consent/page-b2f5c91844a32422.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/page-25b90f89af3ea58c.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/page-b65d16c94ecaf69c.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/privacy/page-675b6d05c8f9184f.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/privacy/page-cbee2e1c8ab52145.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/settings/page-0f44da06697cf9f0.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/account/settings/page-563420253577edbf.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/adapters/page-1854631018bc32be.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/agents/page-8353752c176a7c70.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/agents/page-f61a529f110a6040.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/api-demo/page-7f19b9d20d39be28.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/api-demo/page-d1063938f249b8bd.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/audit/page-321b6728b8fff0bb.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/audit/page-ebac35ca961a1277.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/billing/page-6f3dc3bd02924f8e.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/billing/page-fa4a469f814c821a.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/comms/page-0d4f734269addd8f.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/comms/page-79227d426050089c.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/config/page-018d21d683b6e5bc.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/config/page-2aa5a5363ca2a371.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/consent/page-198373205fd316e2.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/consent/page-f2ca39e7713b13f8.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/dashboard/page-1dd5a196f643c60d.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/dashboard/page-530a04d3abbb8cda.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/docs/page-3193b06d094ab654.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/docs/page-330e996dedb87aba.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/layout-0a70f5fc460298b1.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/layout-21f2f99dd5b336e9.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/login/page-33240e6c6034a49d.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/login/page-68ffab6d54a7fdcd.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/logs/page-8a6167aecc4a475c.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/memory/page-9ca8c5d0056de3ff.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/memory/page-e961226941c18f81.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/page-6fdb065a787a4974.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/page-89f87d431be6064a.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/runtime/page-2e728b9c43aa164d.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/runtime/page-c7dd033dc40a72f0.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/services/page-ae9f0bdf11d01a95.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/services/page-b10feb79ca5d75e5.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/sessions/page-13ebe7ef1c16ae11.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/sessions/page-e6c82b16d617f785.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/setup/page-0beb5f5b5a5c20fc.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/setup/page-2595e729eae30c0e.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/status-dashboard/page-1037c987aecc3653.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/status-dashboard/page-2ffd147f6d3162ff.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/system/page-2c5798d58cafcd91.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/system/page-505b1ba4eceb01c3.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-auth/page-b0cad31d5cb1b2fa.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-auth/page-f3ecd7a8012df230.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-login/page-f35117fdc4105801.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-login/page-fb583a7924114906.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-sdk/page-50f116fd76935563.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/test-sdk/page-c37d8aa5ba623a44.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/tools/page-429aec7a707777ef.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/tools/page-5f705aad60e0c04e.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/users/page-13476b8b0f3808cc.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/users/page-7e500d154ed5bba4.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/wa/page-cc4a9d8a5cb44d08.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/app/wa/page-ec3e429efbc79230.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/framework-9d29490f5ba089ba.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/main-1f554952e47a82c4.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/main-app-26fa8aed029082e5.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/main-app-97b0486ef6bcef25.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/pages/_app-6ce685456e616eb2.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/pages/_error-d4bce98d93fe21e7.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- ciris_engine/gui_static/_next/static/chunks/webpack-fcebd240b7f8477d.js +1 -0
- ciris_engine/gui_static/_next/static/css/16b94b1fe0cc6e37.css +3 -0
- ciris_engine/gui_static/_next/static/css/77a24ceaae86deff.css +3 -0
- ciris_engine/gui_static/_next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- ciris_engine/gui_static/_next/static/media/d8298875641ec7d4-s.p.woff2 +0 -0
- ciris_engine/gui_static/account/api-keys/index.html +1 -0
- ciris_engine/gui_static/account/api-keys/index.txt +27 -0
- ciris_engine/gui_static/account/consent/index.html +1 -0
- ciris_engine/gui_static/account/consent/index.txt +27 -0
- ciris_engine/gui_static/account/index.html +1 -0
- ciris_engine/gui_static/account/index.txt +27 -0
- ciris_engine/gui_static/account/privacy/index.html +1 -0
- ciris_engine/gui_static/account/privacy/index.txt +27 -0
- ciris_engine/gui_static/account/settings/index.html +1 -0
- ciris_engine/gui_static/account/settings/index.txt +27 -0
- ciris_engine/gui_static/adapters/index.html +1 -0
- ciris_engine/gui_static/adapters/index.txt +27 -0
- ciris_engine/gui_static/agents/index.html +1 -0
- ciris_engine/gui_static/agents/index.txt +27 -0
- ciris_engine/gui_static/andrew-roberts-euBRXcx57T4-unsplash.jpg +0 -0
- ciris_engine/gui_static/api-demo/index.html +1 -0
- ciris_engine/gui_static/api-demo/index.txt +27 -0
- ciris_engine/gui_static/audit/index.html +1 -0
- ciris_engine/gui_static/audit/index.txt +27 -0
- ciris_engine/gui_static/billing/index.html +1 -0
- ciris_engine/gui_static/billing/index.txt +27 -0
- ciris_engine/gui_static/blurryinfo.png +0 -0
- ciris_engine/gui_static/chip-vincent-PkQDwfl9Flc-unsplash.jpg +0 -0
- ciris_engine/gui_static/ciris-architecture.svg +338 -0
- ciris_engine/gui_static/comms/index.html +1 -0
- ciris_engine/gui_static/comms/index.txt +27 -0
- ciris_engine/gui_static/config/index.html +1 -0
- ciris_engine/gui_static/config/index.txt +27 -0
- ciris_engine/gui_static/consent/index.html +1 -0
- ciris_engine/gui_static/consent/index.txt +27 -0
- ciris_engine/gui_static/dashboard/index.html +1 -0
- ciris_engine/gui_static/dashboard/index.txt +27 -0
- ciris_engine/gui_static/docs/index.html +1 -0
- ciris_engine/gui_static/docs/index.txt +27 -0
- ciris_engine/gui_static/eric.png +0 -0
- ciris_engine/gui_static/file.svg +1 -0
- ciris_engine/gui_static/globe.svg +1 -0
- ciris_engine/gui_static/index.html +1 -0
- ciris_engine/gui_static/index.txt +27 -0
- ciris_engine/gui_static/infogfx-1@2x.png +0 -0
- ciris_engine/gui_static/infogfx-2.png +0 -0
- ciris_engine/gui_static/infogfx-dark-1.png +0 -0
- ciris_engine/gui_static/kelly-vohs-soSTXmIxTDU-unsplash.jpg +0 -0
- ciris_engine/gui_static/login/index.html +1 -0
- ciris_engine/gui_static/login/index.txt +27 -0
- ciris_engine/gui_static/logs/index.html +1 -0
- ciris_engine/gui_static/logs/index.txt +27 -0
- ciris_engine/gui_static/memory/index.html +1 -0
- ciris_engine/gui_static/memory/index.txt +27 -0
- ciris_engine/gui_static/nathan-farrish-ArcTfEoBgzs-unsplash.jpg +0 -0
- ciris_engine/gui_static/next.svg +1 -0
- ciris_engine/gui_static/overview.svg +512 -0
- ciris_engine/gui_static/overview1.svg +407 -0
- ciris_engine/gui_static/overview2.svg +370 -0
- ciris_engine/gui_static/pipeline-visualization.svg +278 -0
- ciris_engine/gui_static/privacy-policy.html +160 -0
- ciris_engine/gui_static/runtime/index.html +8 -0
- ciris_engine/gui_static/runtime/index.txt +27 -0
- ciris_engine/gui_static/services/index.html +1 -0
- ciris_engine/gui_static/services/index.txt +27 -0
- ciris_engine/gui_static/sessions/index.html +1 -0
- ciris_engine/gui_static/sessions/index.txt +27 -0
- ciris_engine/gui_static/setup/index.html +1 -0
- ciris_engine/gui_static/setup/index.txt +27 -0
- ciris_engine/gui_static/status-dashboard/index.html +1 -0
- ciris_engine/gui_static/status-dashboard/index.txt +27 -0
- ciris_engine/gui_static/system/index.html +1 -0
- ciris_engine/gui_static/system/index.txt +27 -0
- ciris_engine/gui_static/terms-of-service.html +174 -0
- ciris_engine/gui_static/test-auth/index.html +1 -0
- ciris_engine/gui_static/test-auth/index.txt +27 -0
- ciris_engine/gui_static/test-login/index.html +1 -0
- ciris_engine/gui_static/test-login/index.txt +27 -0
- ciris_engine/gui_static/test-sdk/index.html +1 -0
- ciris_engine/gui_static/test-sdk/index.txt +27 -0
- ciris_engine/gui_static/tools/index.html +1 -0
- ciris_engine/gui_static/tools/index.txt +27 -0
- ciris_engine/gui_static/users/index.html +1 -0
- ciris_engine/gui_static/users/index.txt +27 -0
- ciris_engine/gui_static/vercel.svg +1 -0
- ciris_engine/gui_static/videos/video1.mp4 +0 -0
- ciris_engine/gui_static/videos/video3.mp4 +0 -0
- ciris_engine/gui_static/wa/index.html +1 -0
- ciris_engine/gui_static/wa/index.txt +27 -0
- ciris_engine/gui_static/window.svg +1 -0
- ciris_engine/logic/__init__.py +8 -0
- ciris_engine/logic/adapters/__init__.py +74 -0
- ciris_engine/logic/adapters/api/__init__.py +5 -0
- ciris_engine/logic/adapters/api/adapter.py +1037 -0
- ciris_engine/logic/adapters/api/api_communication.py +370 -0
- ciris_engine/logic/adapters/api/api_document.py +330 -0
- ciris_engine/logic/adapters/api/api_observer.py +24 -0
- ciris_engine/logic/adapters/api/api_runtime_control.py +388 -0
- ciris_engine/logic/adapters/api/api_tools.py +299 -0
- ciris_engine/logic/adapters/api/api_vision.py +215 -0
- ciris_engine/logic/adapters/api/app.py +272 -0
- ciris_engine/logic/adapters/api/auth.py +159 -0
- ciris_engine/logic/adapters/api/config.py +101 -0
- ciris_engine/logic/adapters/api/constants.py +55 -0
- ciris_engine/logic/adapters/api/dependencies/__init__.py +1 -0
- ciris_engine/logic/adapters/api/dependencies/auth.py +260 -0
- ciris_engine/logic/adapters/api/endpoints/__init__.py +1 -0
- ciris_engine/logic/adapters/api/endpoints/emergency.py +86 -0
- ciris_engine/logic/adapters/api/middleware/__init__.py +1 -0
- ciris_engine/logic/adapters/api/middleware/rate_limiter.py +302 -0
- ciris_engine/logic/adapters/api/models.py +29 -0
- ciris_engine/logic/adapters/api/routes/__init__.py +52 -0
- ciris_engine/logic/adapters/api/routes/agent.py +1762 -0
- ciris_engine/logic/adapters/api/routes/audit.py +707 -0
- ciris_engine/logic/adapters/api/routes/auth.py +1745 -0
- ciris_engine/logic/adapters/api/routes/billing.py +895 -0
- ciris_engine/logic/adapters/api/routes/config.py +329 -0
- ciris_engine/logic/adapters/api/routes/connectors.py +534 -0
- ciris_engine/logic/adapters/api/routes/consent.py +637 -0
- ciris_engine/logic/adapters/api/routes/dsar.py +637 -0
- ciris_engine/logic/adapters/api/routes/dsar_multi_source.py +484 -0
- ciris_engine/logic/adapters/api/routes/emergency.py +302 -0
- ciris_engine/logic/adapters/api/routes/memory.py +733 -0
- ciris_engine/logic/adapters/api/routes/memory_filters.py +230 -0
- ciris_engine/logic/adapters/api/routes/memory_models.py +112 -0
- ciris_engine/logic/adapters/api/routes/memory_queries.py +236 -0
- ciris_engine/logic/adapters/api/routes/memory_query_helpers.py +394 -0
- ciris_engine/logic/adapters/api/routes/memory_visualization.py +359 -0
- ciris_engine/logic/adapters/api/routes/memory_visualization_helpers.py +110 -0
- ciris_engine/logic/adapters/api/routes/partnership.py +541 -0
- ciris_engine/logic/adapters/api/routes/setup.py +1374 -0
- ciris_engine/logic/adapters/api/routes/system.py +3049 -0
- ciris_engine/logic/adapters/api/routes/system_extensions.py +952 -0
- ciris_engine/logic/adapters/api/routes/telemetry.py +1987 -0
- ciris_engine/logic/adapters/api/routes/telemetry_converters.py +141 -0
- ciris_engine/logic/adapters/api/routes/telemetry_helpers.py +111 -0
- ciris_engine/logic/adapters/api/routes/telemetry_logs_reader.py +280 -0
- ciris_engine/logic/adapters/api/routes/telemetry_metrics.py +131 -0
- ciris_engine/logic/adapters/api/routes/telemetry_models.py +190 -0
- ciris_engine/logic/adapters/api/routes/telemetry_otlp.py +878 -0
- ciris_engine/logic/adapters/api/routes/telemetry_resource_helpers.py +191 -0
- ciris_engine/logic/adapters/api/routes/tickets.py +541 -0
- ciris_engine/logic/adapters/api/routes/tools.py +556 -0
- ciris_engine/logic/adapters/api/routes/transparency.py +281 -0
- ciris_engine/logic/adapters/api/routes/users.py +981 -0
- ciris_engine/logic/adapters/api/routes/verification.py +373 -0
- ciris_engine/logic/adapters/api/routes/wa.py +369 -0
- ciris_engine/logic/adapters/api/service_configuration.py +177 -0
- ciris_engine/logic/adapters/api/services/__init__.py +1 -0
- ciris_engine/logic/adapters/api/services/auth_service.py +1417 -0
- ciris_engine/logic/adapters/api/services/oauth_security.py +68 -0
- ciris_engine/logic/adapters/base.py +141 -0
- ciris_engine/logic/adapters/base_adapter.py +73 -0
- ciris_engine/logic/adapters/base_observer.py +1141 -0
- ciris_engine/logic/adapters/base_vision.py +312 -0
- ciris_engine/logic/adapters/cirisnode_client.py +307 -0
- ciris_engine/logic/adapters/cli/__init__.py +3 -0
- ciris_engine/logic/adapters/cli/adapter.py +207 -0
- ciris_engine/logic/adapters/cli/cli_adapter.py +902 -0
- ciris_engine/logic/adapters/cli/cli_observer.py +268 -0
- ciris_engine/logic/adapters/cli/cli_tools.py +427 -0
- ciris_engine/logic/adapters/cli/cli_wa_service.py +134 -0
- ciris_engine/logic/adapters/cli/config.py +73 -0
- ciris_engine/logic/adapters/discord/__init__.py +3 -0
- ciris_engine/logic/adapters/discord/adapter.py +783 -0
- ciris_engine/logic/adapters/discord/ciris_discord_client.py +159 -0
- ciris_engine/logic/adapters/discord/config.py +177 -0
- ciris_engine/logic/adapters/discord/constants.py +185 -0
- ciris_engine/logic/adapters/discord/discord-stubs.pyi +50 -0
- ciris_engine/logic/adapters/discord/discord_adapter.py +1584 -0
- ciris_engine/logic/adapters/discord/discord_audit.py +150 -0
- ciris_engine/logic/adapters/discord/discord_channel_manager.py +351 -0
- ciris_engine/logic/adapters/discord/discord_connection_manager.py +313 -0
- ciris_engine/logic/adapters/discord/discord_embed_formatter.py +369 -0
- ciris_engine/logic/adapters/discord/discord_error_classifier.py +302 -0
- ciris_engine/logic/adapters/discord/discord_error_handler.py +316 -0
- ciris_engine/logic/adapters/discord/discord_guidance_handler.py +460 -0
- ciris_engine/logic/adapters/discord/discord_message_handler.py +207 -0
- ciris_engine/logic/adapters/discord/discord_observer.py +670 -0
- ciris_engine/logic/adapters/discord/discord_rate_limiter.py +249 -0
- ciris_engine/logic/adapters/discord/discord_reaction_handler.py +278 -0
- ciris_engine/logic/adapters/discord/discord_tool_handler.py +465 -0
- ciris_engine/logic/adapters/discord/discord_tool_service.py +790 -0
- ciris_engine/logic/adapters/discord/discord_tools.py +90 -0
- ciris_engine/logic/adapters/discord/discord_vision_helper.py +148 -0
- ciris_engine/logic/adapters/discord/py.typed +0 -0
- ciris_engine/logic/adapters/document_parser.py +320 -0
- ciris_engine/logic/audit/__init__.py +10 -0
- ciris_engine/logic/audit/hash_chain.py +313 -0
- ciris_engine/logic/audit/signature_manager.py +352 -0
- ciris_engine/logic/audit/verifier.py +408 -0
- ciris_engine/logic/buses/__init__.py +21 -0
- ciris_engine/logic/buses/base_bus.py +178 -0
- ciris_engine/logic/buses/bus_manager.py +121 -0
- ciris_engine/logic/buses/communication_bus.py +387 -0
- ciris_engine/logic/buses/llm_bus.py +722 -0
- ciris_engine/logic/buses/memory_bus.py +577 -0
- ciris_engine/logic/buses/prohibitions.py +502 -0
- ciris_engine/logic/buses/runtime_control_bus.py +539 -0
- ciris_engine/logic/buses/tool_bus.py +482 -0
- ciris_engine/logic/buses/wise_bus.py +684 -0
- ciris_engine/logic/config/__init__.py +25 -0
- ciris_engine/logic/config/bootstrap.py +255 -0
- ciris_engine/logic/config/config_accessor.py +202 -0
- ciris_engine/logic/config/db_paths.py +194 -0
- ciris_engine/logic/config/env_utils.py +39 -0
- ciris_engine/logic/conscience/__init__.py +16 -0
- ciris_engine/logic/conscience/build_deferral_package.py +0 -0
- ciris_engine/logic/conscience/core.py +688 -0
- ciris_engine/logic/conscience/interface.py +33 -0
- ciris_engine/logic/conscience/registry.py +76 -0
- ciris_engine/logic/conscience/thought_depth_guardrail.py +231 -0
- ciris_engine/logic/conscience/updated_status_conscience.py +156 -0
- ciris_engine/logic/context/__init__.py +10 -0
- ciris_engine/logic/context/batch_context.py +550 -0
- ciris_engine/logic/context/builder.py +149 -0
- ciris_engine/logic/context/channel_resolution.py +136 -0
- ciris_engine/logic/context/secrets_snapshot.py +52 -0
- ciris_engine/logic/context/system_snapshot.py +116 -0
- ciris_engine/logic/context/system_snapshot_helpers.py +1651 -0
- ciris_engine/logic/covenant/__init__.py +33 -0
- ciris_engine/logic/covenant/executor.py +303 -0
- ciris_engine/logic/covenant/extractor.py +382 -0
- ciris_engine/logic/covenant/handler.py +241 -0
- ciris_engine/logic/covenant/verifier.py +383 -0
- ciris_engine/logic/dma/__init__.py +15 -0
- ciris_engine/logic/dma/action_selection/__init__.py +11 -0
- ciris_engine/logic/dma/action_selection/action_instruction_generator.py +444 -0
- ciris_engine/logic/dma/action_selection/context_builder.py +508 -0
- ciris_engine/logic/dma/action_selection/faculty_integration.py +193 -0
- ciris_engine/logic/dma/action_selection/special_cases.py +132 -0
- ciris_engine/logic/dma/action_selection_pdma.py +365 -0
- ciris_engine/logic/dma/base_dma.py +335 -0
- ciris_engine/logic/dma/csdma.py +239 -0
- ciris_engine/logic/dma/dma_executor.py +575 -0
- ciris_engine/logic/dma/dsdma_base.py +410 -0
- ciris_engine/logic/dma/exceptions.py +4 -0
- ciris_engine/logic/dma/factory.py +150 -0
- ciris_engine/logic/dma/pdma.py +120 -0
- ciris_engine/logic/dma/prompt_loader.py +189 -0
- ciris_engine/logic/dma/prompts/action_selection_pdma.yml +58 -0
- ciris_engine/logic/dma/prompts/csdma_common_sense.yml +28 -0
- ciris_engine/logic/dma/prompts/dsdma_base.yml +17 -0
- ciris_engine/logic/dma/prompts/pdma_ethical.yml +42 -0
- ciris_engine/logic/formatters/__init__.py +26 -0
- ciris_engine/logic/formatters/crisis_resources.py +80 -0
- ciris_engine/logic/formatters/escalation.py +21 -0
- ciris_engine/logic/formatters/identity.py +224 -0
- ciris_engine/logic/formatters/prompt_blocks.py +64 -0
- ciris_engine/logic/formatters/system_snapshot.py +193 -0
- ciris_engine/logic/formatters/user_profiles.py +108 -0
- ciris_engine/logic/handlers/__init__.py +1 -0
- ciris_engine/logic/handlers/control/__init__.py +1 -0
- ciris_engine/logic/handlers/control/defer_handler.py +195 -0
- ciris_engine/logic/handlers/control/ponder_handler.py +154 -0
- ciris_engine/logic/handlers/control/reject_handler.py +81 -0
- ciris_engine/logic/handlers/external/__init__.py +1 -0
- ciris_engine/logic/handlers/external/observe_handler.py +154 -0
- ciris_engine/logic/handlers/external/speak_handler.py +250 -0
- ciris_engine/logic/handlers/external/tool_handler.py +148 -0
- ciris_engine/logic/handlers/memory/__init__.py +1 -0
- ciris_engine/logic/handlers/memory/forget_handler.py +107 -0
- ciris_engine/logic/handlers/memory/memorize_handler.py +391 -0
- ciris_engine/logic/handlers/memory/recall_handler.py +213 -0
- ciris_engine/logic/handlers/terminal/__init__.py +1 -0
- ciris_engine/logic/handlers/terminal/task_complete_handler.py +299 -0
- ciris_engine/logic/infrastructure/__init__.py +1 -0
- ciris_engine/logic/infrastructure/handlers/__init__.py +8 -0
- ciris_engine/logic/infrastructure/handlers/action_dispatcher.py +382 -0
- ciris_engine/logic/infrastructure/handlers/base_handler.py +450 -0
- ciris_engine/logic/infrastructure/handlers/exceptions.py +2 -0
- ciris_engine/logic/infrastructure/handlers/handler_registry.py +59 -0
- ciris_engine/logic/infrastructure/handlers/helpers.py +55 -0
- ciris_engine/logic/infrastructure/step_streaming.py +149 -0
- ciris_engine/logic/infrastructure/sub_services/__init__.py +1 -0
- ciris_engine/logic/infrastructure/sub_services/identity_variance_monitor.py +1035 -0
- ciris_engine/logic/infrastructure/sub_services/pattern_analysis_loop.py +758 -0
- ciris_engine/logic/infrastructure/sub_services/wa_cli_bootstrap.py +229 -0
- ciris_engine/logic/infrastructure/sub_services/wa_cli_display.py +176 -0
- ciris_engine/logic/infrastructure/sub_services/wa_cli_oauth.py +404 -0
- ciris_engine/logic/infrastructure/sub_services/wa_cli_wizard.py +181 -0
- ciris_engine/logic/persistence/__init__.py +130 -0
- ciris_engine/logic/persistence/analytics.py +97 -0
- ciris_engine/logic/persistence/db/__init__.py +28 -0
- ciris_engine/logic/persistence/db/core.py +520 -0
- ciris_engine/logic/persistence/db/dialect.py +380 -0
- ciris_engine/logic/persistence/db/execution_helpers.py +216 -0
- ciris_engine/logic/persistence/db/migration_runner.py +191 -0
- ciris_engine/logic/persistence/db/operations.py +313 -0
- ciris_engine/logic/persistence/db/query_builder.py +232 -0
- ciris_engine/logic/persistence/db/retry.py +154 -0
- ciris_engine/logic/persistence/db/setup.py +18 -0
- ciris_engine/logic/persistence/migrations/postgres/001_initial_schema.sql +4 -0
- ciris_engine/logic/persistence/migrations/postgres/002_add_retry_status.sql +3 -0
- ciris_engine/logic/persistence/migrations/postgres/003_add_task_update_tracking.sql +8 -0
- ciris_engine/logic/persistence/migrations/postgres/004_add_occurrence_id.sql +54 -0
- ciris_engine/logic/persistence/migrations/postgres/005_add_consolidation_locks.sql +22 -0
- ciris_engine/logic/persistence/migrations/postgres/006_add_correlation_id_unique_index.sql +16 -0
- ciris_engine/logic/persistence/migrations/postgres/007_add_dsar_tickets.sql +39 -0
- ciris_engine/logic/persistence/migrations/postgres/008_rename_to_tickets_add_sop.sql +123 -0
- ciris_engine/logic/persistence/migrations/postgres/009_add_ticket_status_columns.sql +39 -0
- ciris_engine/logic/persistence/migrations/postgres/010_add_images_to_tasks.sql +5 -0
- ciris_engine/logic/persistence/migrations/sqlite/001_initial_schema.sql +357 -0
- ciris_engine/logic/persistence/migrations/sqlite/002_add_retry_status.sql +3 -0
- ciris_engine/logic/persistence/migrations/sqlite/003_add_task_update_tracking.sql +8 -0
- ciris_engine/logic/persistence/migrations/sqlite/004_add_occurrence_id.sql +45 -0
- ciris_engine/logic/persistence/migrations/sqlite/005_add_consolidation_locks.sql +22 -0
- ciris_engine/logic/persistence/migrations/sqlite/006_add_correlation_id_unique_index.sql +16 -0
- ciris_engine/logic/persistence/migrations/sqlite/007_add_dsar_tickets.sql +39 -0
- ciris_engine/logic/persistence/migrations/sqlite/008_rename_to_tickets_add_sop.sql +120 -0
- ciris_engine/logic/persistence/migrations/sqlite/009_add_ticket_status_columns.sql +129 -0
- ciris_engine/logic/persistence/migrations/sqlite/010_add_images_to_tasks.sql +17 -0
- ciris_engine/logic/persistence/models/__init__.py +141 -0
- ciris_engine/logic/persistence/models/correlations.py +881 -0
- ciris_engine/logic/persistence/models/deferral.py +68 -0
- ciris_engine/logic/persistence/models/dsar.py +286 -0
- ciris_engine/logic/persistence/models/graph.py +362 -0
- ciris_engine/logic/persistence/models/identity.py +264 -0
- ciris_engine/logic/persistence/models/queue_status.py +139 -0
- ciris_engine/logic/persistence/models/tasks.py +1043 -0
- ciris_engine/logic/persistence/models/thoughts.py +400 -0
- ciris_engine/logic/persistence/models/tickets.py +518 -0
- ciris_engine/logic/persistence/stores/__init__.py +13 -0
- ciris_engine/logic/persistence/stores/auth_helpers.py +117 -0
- ciris_engine/logic/persistence/stores/authentication_store.py +414 -0
- ciris_engine/logic/persistence/utils.py +212 -0
- ciris_engine/logic/processors/__init__.py +30 -0
- ciris_engine/logic/processors/core/__init__.py +1 -0
- ciris_engine/logic/processors/core/base_processor.py +280 -0
- ciris_engine/logic/processors/core/main_processor.py +1777 -0
- ciris_engine/logic/processors/core/step_decorators.py +1583 -0
- ciris_engine/logic/processors/core/thought_processor/__init__.py +20 -0
- ciris_engine/logic/processors/core/thought_processor/action_execution.py +49 -0
- ciris_engine/logic/processors/core/thought_processor/conscience_execution.py +382 -0
- ciris_engine/logic/processors/core/thought_processor/finalize_action.py +66 -0
- ciris_engine/logic/processors/core/thought_processor/gather_context.py +120 -0
- ciris_engine/logic/processors/core/thought_processor/main.py +920 -0
- ciris_engine/logic/processors/core/thought_processor/perform_aspdma.py +86 -0
- ciris_engine/logic/processors/core/thought_processor/perform_dmas.py +106 -0
- ciris_engine/logic/processors/core/thought_processor/recursive_processing.py +237 -0
- ciris_engine/logic/processors/core/thought_processor/round_complete.py +52 -0
- ciris_engine/logic/processors/core/thought_processor/start_round.py +64 -0
- ciris_engine/logic/processors/exceptions.py +59 -0
- ciris_engine/logic/processors/states/__init__.py +1 -0
- ciris_engine/logic/processors/states/dream_processor.py +1381 -0
- ciris_engine/logic/processors/states/play_processor.py +141 -0
- ciris_engine/logic/processors/states/shutdown_processor.py +623 -0
- ciris_engine/logic/processors/states/solitude_processor.py +305 -0
- ciris_engine/logic/processors/states/wakeup_processor.py +802 -0
- ciris_engine/logic/processors/states/work_processor.py +742 -0
- ciris_engine/logic/processors/support/__init__.py +1 -0
- ciris_engine/logic/processors/support/dma_orchestrator.py +336 -0
- ciris_engine/logic/processors/support/processing_queue.py +133 -0
- ciris_engine/logic/processors/support/shutdown_condition_evaluator.py +294 -0
- ciris_engine/logic/processors/support/state_manager.py +358 -0
- ciris_engine/logic/processors/support/task_manager.py +303 -0
- ciris_engine/logic/processors/support/thought_escalation.py +116 -0
- ciris_engine/logic/processors/support/thought_manager.py +328 -0
- ciris_engine/logic/processors/support/thought_manager_enhanced.py +105 -0
- ciris_engine/logic/registries/__init__.py +34 -0
- ciris_engine/logic/registries/base.py +653 -0
- ciris_engine/logic/registries/circuit_breaker.py +275 -0
- ciris_engine/logic/registries/typed_registries.py +184 -0
- ciris_engine/logic/runtime/__init__.py +7 -0
- ciris_engine/logic/runtime/adapter_loader.py +261 -0
- ciris_engine/logic/runtime/adapter_manager.py +1053 -0
- ciris_engine/logic/runtime/ciris_runtime.py +2342 -0
- ciris_engine/logic/runtime/ciris_runtime_helpers.py +923 -0
- ciris_engine/logic/runtime/component_builder.py +361 -0
- ciris_engine/logic/runtime/identity_manager.py +219 -0
- ciris_engine/logic/runtime/module_loader.py +207 -0
- ciris_engine/logic/runtime/prevent_sideeffects.py +30 -0
- ciris_engine/logic/runtime/runtime_interface.py +23 -0
- ciris_engine/logic/runtime/service_initializer.py +1623 -0
- ciris_engine/logic/secrets/__init__.py +30 -0
- ciris_engine/logic/secrets/encryption.py +175 -0
- ciris_engine/logic/secrets/filter.py +295 -0
- ciris_engine/logic/secrets/service.py +652 -0
- ciris_engine/logic/secrets/store.py +669 -0
- ciris_engine/logic/services/__init__.py +1 -0
- ciris_engine/logic/services/adaptation/__init__.py +3 -0
- ciris_engine/logic/services/base_graph_service.py +142 -0
- ciris_engine/logic/services/base_infrastructure_service.py +69 -0
- ciris_engine/logic/services/base_scheduled_service.py +136 -0
- ciris_engine/logic/services/base_service.py +247 -0
- ciris_engine/logic/services/governance/__init__.py +3 -0
- ciris_engine/logic/services/governance/adaptive_filter/__init__.py +14 -0
- ciris_engine/logic/services/governance/adaptive_filter/service.py +818 -0
- ciris_engine/logic/services/governance/consent/__init__.py +53 -0
- ciris_engine/logic/services/governance/consent/air.py +403 -0
- ciris_engine/logic/services/governance/consent/decay.py +324 -0
- ciris_engine/logic/services/governance/consent/dsar_automation.py +589 -0
- ciris_engine/logic/services/governance/consent/exceptions.py +106 -0
- ciris_engine/logic/services/governance/consent/metrics.py +270 -0
- ciris_engine/logic/services/governance/consent/partnership.py +533 -0
- ciris_engine/logic/services/governance/consent/service.py +1256 -0
- ciris_engine/logic/services/governance/dsar/__init__.py +29 -0
- ciris_engine/logic/services/governance/dsar/orchestrator.py +977 -0
- ciris_engine/logic/services/governance/dsar/schemas.py +141 -0
- ciris_engine/logic/services/governance/dsar/signature_service.py +283 -0
- ciris_engine/logic/services/governance/self_observation/__init__.py +20 -0
- ciris_engine/logic/services/governance/self_observation/service.py +1153 -0
- ciris_engine/logic/services/governance/visibility/__init__.py +17 -0
- ciris_engine/logic/services/governance/visibility/service.py +512 -0
- ciris_engine/logic/services/governance/wise_authority/__init__.py +15 -0
- ciris_engine/logic/services/governance/wise_authority/service.py +827 -0
- ciris_engine/logic/services/graph/__init__.py +5 -0
- ciris_engine/logic/services/graph/audit_service/__init__.py +5 -0
- ciris_engine/logic/services/graph/audit_service/service.py +1675 -0
- ciris_engine/logic/services/graph/base.py +208 -0
- ciris_engine/logic/services/graph/config_service/__init__.py +5 -0
- ciris_engine/logic/services/graph/config_service/service.py +372 -0
- ciris_engine/logic/services/graph/incident_service/__init__.py +5 -0
- ciris_engine/logic/services/graph/incident_service/service.py +803 -0
- ciris_engine/logic/services/graph/memory_service.py +1120 -0
- ciris_engine/logic/services/graph/telemetry_service/__init__.py +5 -0
- ciris_engine/logic/services/graph/telemetry_service/exceptions.py +104 -0
- ciris_engine/logic/services/graph/telemetry_service/helpers.py +1337 -0
- ciris_engine/logic/services/graph/telemetry_service/service.py +2429 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/__init__.py +17 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/aggregation_helpers.py +355 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/cleanup_helpers.py +438 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/compressor.py +260 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/__init__.py +27 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/audit.py +326 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/conversation.py +291 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/memory.py +197 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/metrics.py +251 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/task.py +257 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/trace.py +363 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/data_converter.py +545 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/date_calculation_helpers.py +193 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/db_query_helpers.py +296 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/edge_helpers.py +92 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/edge_manager.py +896 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/extensive_helpers.py +322 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/period_manager.py +152 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/profound_helpers.py +277 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/query_manager.py +812 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/service.py +1692 -0
- ciris_engine/logic/services/graph/tsdb_consolidation/sql_builders.py +363 -0
- ciris_engine/logic/services/infrastructure/__init__.py +1 -0
- ciris_engine/logic/services/infrastructure/authentication/__init__.py +5 -0
- ciris_engine/logic/services/infrastructure/authentication/service.py +1634 -0
- ciris_engine/logic/services/infrastructure/database_maintenance/__init__.py +15 -0
- ciris_engine/logic/services/infrastructure/database_maintenance/service.py +764 -0
- ciris_engine/logic/services/infrastructure/resource_monitor/__init__.py +7 -0
- ciris_engine/logic/services/infrastructure/resource_monitor/ciris_billing_provider.py +755 -0
- ciris_engine/logic/services/infrastructure/resource_monitor/service.py +409 -0
- ciris_engine/logic/services/infrastructure/resource_monitor/simple_credit_provider.py +129 -0
- ciris_engine/logic/services/lifecycle/__init__.py +3 -0
- ciris_engine/logic/services/lifecycle/initialization/__init__.py +10 -0
- ciris_engine/logic/services/lifecycle/initialization/service.py +312 -0
- ciris_engine/logic/services/lifecycle/scheduler/__init__.py +5 -0
- ciris_engine/logic/services/lifecycle/scheduler/service.py +607 -0
- ciris_engine/logic/services/lifecycle/shutdown/__init__.py +9 -0
- ciris_engine/logic/services/lifecycle/shutdown/service.py +378 -0
- ciris_engine/logic/services/lifecycle/time/__init__.py +15 -0
- ciris_engine/logic/services/lifecycle/time/service.py +259 -0
- ciris_engine/logic/services/memory_service/__init__.py +8 -0
- ciris_engine/logic/services/mixins/__init__.py +13 -0
- ciris_engine/logic/services/mixins/example_usage.py +200 -0
- ciris_engine/logic/services/mixins/request_metrics.py +179 -0
- ciris_engine/logic/services/runtime/__init__.py +3 -0
- ciris_engine/logic/services/runtime/adapter_configuration/__init__.py +16 -0
- ciris_engine/logic/services/runtime/adapter_configuration/service.py +674 -0
- ciris_engine/logic/services/runtime/adapter_configuration/session.py +67 -0
- ciris_engine/logic/services/runtime/control_service/__init__.py +5 -0
- ciris_engine/logic/services/runtime/control_service/service.py +2269 -0
- ciris_engine/logic/services/runtime/llm_service/__init__.py +14 -0
- ciris_engine/logic/services/runtime/llm_service/pricing_calculator.py +279 -0
- ciris_engine/logic/services/runtime/llm_service/service.py +930 -0
- ciris_engine/logic/services/tools/__init__.py +5 -0
- ciris_engine/logic/services/tools/core_tool_service/__init__.py +8 -0
- ciris_engine/logic/services/tools/core_tool_service/service.py +852 -0
- ciris_engine/logic/setup/__init__.py +1 -0
- ciris_engine/logic/setup/first_run.py +250 -0
- ciris_engine/logic/setup/wizard.py +327 -0
- ciris_engine/logic/telemetry/__init__.py +46 -0
- ciris_engine/logic/telemetry/core.py +239 -0
- ciris_engine/logic/telemetry/hot_cold_config.py +133 -0
- ciris_engine/logic/telemetry/log_collector.py +190 -0
- ciris_engine/logic/telemetry/resource_monitor.py +7 -0
- ciris_engine/logic/telemetry/security.py +79 -0
- ciris_engine/logic/utils/__init__.py +18 -0
- ciris_engine/logic/utils/channel_utils.py +75 -0
- ciris_engine/logic/utils/consent/__init__.py +1 -0
- ciris_engine/logic/utils/consent/partnership_utils.py +172 -0
- ciris_engine/logic/utils/constants.py +92 -0
- ciris_engine/logic/utils/context_utils.py +145 -0
- ciris_engine/logic/utils/directory_setup.py +533 -0
- ciris_engine/logic/utils/graphql_context_provider.py +152 -0
- ciris_engine/logic/utils/identity_resolution.py +843 -0
- ciris_engine/logic/utils/incident_capture_handler.py +303 -0
- ciris_engine/logic/utils/initialization_manager.py +74 -0
- ciris_engine/logic/utils/jsondict_helpers.py +290 -0
- ciris_engine/logic/utils/log_sanitizer.py +97 -0
- ciris_engine/logic/utils/logging_config.py +151 -0
- ciris_engine/logic/utils/observability_decorators.py +544 -0
- ciris_engine/logic/utils/occurrence_utils.py +155 -0
- ciris_engine/logic/utils/path_resolution.py +281 -0
- ciris_engine/logic/utils/platform_detection.py +286 -0
- ciris_engine/logic/utils/privacy.py +266 -0
- ciris_engine/logic/utils/profile_loader.py +124 -0
- ciris_engine/logic/utils/profile_manager.py +16 -0
- ciris_engine/logic/utils/runtime_utils.py +69 -0
- ciris_engine/logic/utils/shutdown_manager.py +107 -0
- ciris_engine/logic/utils/task_formatters.py +60 -0
- ciris_engine/logic/utils/task_thought_factory.py +404 -0
- ciris_engine/logic/utils/thought_utils.py +54 -0
- ciris_engine/logic/utils/user_utils.py +70 -0
- ciris_engine/protocols/__init__.py +0 -0
- ciris_engine/protocols/adapters/__init__.py +35 -0
- ciris_engine/protocols/adapters/base.py +149 -0
- ciris_engine/protocols/adapters/configurable.py +265 -0
- ciris_engine/protocols/adapters/message.py +90 -0
- ciris_engine/protocols/audit/__init__.py +1 -0
- ciris_engine/protocols/buses/__init__.py +1 -0
- ciris_engine/protocols/config/__init__.py +1 -0
- ciris_engine/protocols/conscience/__init__.py +1 -0
- ciris_engine/protocols/consent.py +88 -0
- ciris_engine/protocols/context/__init__.py +1 -0
- ciris_engine/protocols/data/__init__.py +1 -0
- ciris_engine/protocols/dma/__init__.py +1 -0
- ciris_engine/protocols/dma/base.py +107 -0
- ciris_engine/protocols/faculties.py +34 -0
- ciris_engine/protocols/formatters/__init__.py +1 -0
- ciris_engine/protocols/handlers/__init__.py +1 -0
- ciris_engine/protocols/infrastructure/__init__.py +25 -0
- ciris_engine/protocols/infrastructure/base.py +377 -0
- ciris_engine/protocols/persistence/__init__.py +1 -0
- ciris_engine/protocols/pipeline_control.py +609 -0
- ciris_engine/protocols/processors/__init__.py +19 -0
- ciris_engine/protocols/processors/agent.py +299 -0
- ciris_engine/protocols/processors/base.py +130 -0
- ciris_engine/protocols/processors/orchestration.py +62 -0
- ciris_engine/protocols/registries/__init__.py +1 -0
- ciris_engine/protocols/runtime/__init__.py +1 -0
- ciris_engine/protocols/runtime/base.py +163 -0
- ciris_engine/protocols/secrets/__init__.py +1 -0
- ciris_engine/protocols/services/__init__.py +80 -0
- ciris_engine/protocols/services/adaptation/__init__.py +7 -0
- ciris_engine/protocols/services/adaptation/self_observation.py +265 -0
- ciris_engine/protocols/services/governance/__init__.py +20 -0
- ciris_engine/protocols/services/governance/communication.py +58 -0
- ciris_engine/protocols/services/governance/filter.py +56 -0
- ciris_engine/protocols/services/governance/visibility.py +32 -0
- ciris_engine/protocols/services/governance/wa_auth.py +192 -0
- ciris_engine/protocols/services/governance/wise_authority.py +75 -0
- ciris_engine/protocols/services/graph/__init__.py +19 -0
- ciris_engine/protocols/services/graph/audit.py +92 -0
- ciris_engine/protocols/services/graph/config.py +54 -0
- ciris_engine/protocols/services/graph/incident_management.py +103 -0
- ciris_engine/protocols/services/graph/memory.py +110 -0
- ciris_engine/protocols/services/graph/telemetry.py +51 -0
- ciris_engine/protocols/services/graph/tsdb_consolidation.py +87 -0
- ciris_engine/protocols/services/infrastructure/__init__.py +11 -0
- ciris_engine/protocols/services/infrastructure/authentication.py +159 -0
- ciris_engine/protocols/services/infrastructure/credit_gate.py +46 -0
- ciris_engine/protocols/services/infrastructure/database_maintenance.py +25 -0
- ciris_engine/protocols/services/infrastructure/resource_monitor.py +83 -0
- ciris_engine/protocols/services/lifecycle/__init__.py +13 -0
- ciris_engine/protocols/services/lifecycle/initialization.py +41 -0
- ciris_engine/protocols/services/lifecycle/scheduler.py +42 -0
- ciris_engine/protocols/services/lifecycle/shutdown.py +50 -0
- ciris_engine/protocols/services/lifecycle/time.py +31 -0
- ciris_engine/protocols/services/runtime/__init__.py +13 -0
- ciris_engine/protocols/services/runtime/llm.py +50 -0
- ciris_engine/protocols/services/runtime/runtime_control.py +193 -0
- ciris_engine/protocols/services/runtime/secrets.py +100 -0
- ciris_engine/protocols/services/runtime/tool.py +123 -0
- ciris_engine/protocols/telemetry/__init__.py +1 -0
- ciris_engine/protocols/utils/__init__.py +1 -0
- ciris_engine/schemas/__init__.py +112 -0
- ciris_engine/schemas/actions/__init__.py +37 -0
- ciris_engine/schemas/actions/parameters.py +137 -0
- ciris_engine/schemas/adapters/__init__.py +13 -0
- ciris_engine/schemas/adapters/cirisnode.py +135 -0
- ciris_engine/schemas/adapters/cli.py +97 -0
- ciris_engine/schemas/adapters/cli_tools.py +98 -0
- ciris_engine/schemas/adapters/discord.py +125 -0
- ciris_engine/schemas/adapters/graphql_core.py +144 -0
- ciris_engine/schemas/adapters/registration.py +47 -0
- ciris_engine/schemas/adapters/runtime_context.py +48 -0
- ciris_engine/schemas/adapters/tool_execution.py +45 -0
- ciris_engine/schemas/adapters/tools.py +96 -0
- ciris_engine/schemas/api/__init__.py +1 -0
- ciris_engine/schemas/api/agent.py +50 -0
- ciris_engine/schemas/api/audit.py +38 -0
- ciris_engine/schemas/api/auth.py +351 -0
- ciris_engine/schemas/api/config_security.py +242 -0
- ciris_engine/schemas/api/emergency.py +111 -0
- ciris_engine/schemas/api/responses.py +72 -0
- ciris_engine/schemas/api/runtime.py +26 -0
- ciris_engine/schemas/api/telemetry.py +109 -0
- ciris_engine/schemas/api/wa.py +90 -0
- ciris_engine/schemas/audit/__init__.py +13 -0
- ciris_engine/schemas/audit/core.py +139 -0
- ciris_engine/schemas/audit/hash_chain.py +58 -0
- ciris_engine/schemas/audit/verification.py +131 -0
- ciris_engine/schemas/buses/__init__.py +1 -0
- ciris_engine/schemas/config/__init__.py +41 -0
- ciris_engine/schemas/config/agent.py +279 -0
- ciris_engine/schemas/config/cognitive_state_behaviors.py +194 -0
- ciris_engine/schemas/config/default_dsar_sops.py +178 -0
- ciris_engine/schemas/config/essential.py +195 -0
- ciris_engine/schemas/config/tickets.py +86 -0
- ciris_engine/schemas/conscience/__init__.py +25 -0
- ciris_engine/schemas/conscience/context.py +34 -0
- ciris_engine/schemas/conscience/core.py +145 -0
- ciris_engine/schemas/conscience/results.py +24 -0
- ciris_engine/schemas/consent/__init__.py +5 -0
- ciris_engine/schemas/consent/core.py +404 -0
- ciris_engine/schemas/context/__init__.py +1 -0
- ciris_engine/schemas/covenant.py +382 -0
- ciris_engine/schemas/data/__init__.py +1 -0
- ciris_engine/schemas/dma/__init__.py +16 -0
- ciris_engine/schemas/dma/core.py +199 -0
- ciris_engine/schemas/dma/faculty.py +192 -0
- ciris_engine/schemas/dma/prompts.py +172 -0
- ciris_engine/schemas/dma/results.py +103 -0
- ciris_engine/schemas/formatters/__init__.py +1 -0
- ciris_engine/schemas/handlers/__init__.py +10 -0
- ciris_engine/schemas/handlers/context.py +119 -0
- ciris_engine/schemas/handlers/contexts.py +100 -0
- ciris_engine/schemas/handlers/core.py +167 -0
- ciris_engine/schemas/handlers/memory_schemas.py +67 -0
- ciris_engine/schemas/handlers/schemas.py +95 -0
- ciris_engine/schemas/identity.py +149 -0
- ciris_engine/schemas/infrastructure/__init__.py +1 -0
- ciris_engine/schemas/infrastructure/base.py +256 -0
- ciris_engine/schemas/infrastructure/behavioral_patterns.py +129 -0
- ciris_engine/schemas/infrastructure/feedback_loop.py +57 -0
- ciris_engine/schemas/infrastructure/identity_variance.py +141 -0
- ciris_engine/schemas/infrastructure/oauth.py +175 -0
- ciris_engine/schemas/infrastructure/wa_cli_wizard.py +54 -0
- ciris_engine/schemas/persistence/__init__.py +34 -0
- ciris_engine/schemas/persistence/core.py +140 -0
- ciris_engine/schemas/persistence/correlations.py +73 -0
- ciris_engine/schemas/persistence/postgres/__init__.py +1 -0
- ciris_engine/schemas/persistence/postgres/tables.py +280 -0
- ciris_engine/schemas/persistence/sqlite/__init__.py +1 -0
- ciris_engine/schemas/persistence/sqlite/tables.py +281 -0
- ciris_engine/schemas/platform.py +149 -0
- ciris_engine/schemas/processors/__init__.py +26 -0
- ciris_engine/schemas/processors/base.py +130 -0
- ciris_engine/schemas/processors/cognitive.py +77 -0
- ciris_engine/schemas/processors/context.py +35 -0
- ciris_engine/schemas/processors/core.py +152 -0
- ciris_engine/schemas/processors/dma.py +105 -0
- ciris_engine/schemas/processors/error.py +122 -0
- ciris_engine/schemas/processors/main.py +109 -0
- ciris_engine/schemas/processors/phase_results.py +21 -0
- ciris_engine/schemas/processors/results.py +99 -0
- ciris_engine/schemas/processors/solitude.py +79 -0
- ciris_engine/schemas/processors/state.py +202 -0
- ciris_engine/schemas/processors/state_example.py +177 -0
- ciris_engine/schemas/processors/states.py +21 -0
- ciris_engine/schemas/processors/status.py +34 -0
- ciris_engine/schemas/registries/__init__.py +1 -0
- ciris_engine/schemas/registries/base.py +66 -0
- ciris_engine/schemas/resources/__init__.py +15 -0
- ciris_engine/schemas/resources/crisis.py +315 -0
- ciris_engine/schemas/runtime/__init__.py +42 -0
- ciris_engine/schemas/runtime/adapter_management.py +186 -0
- ciris_engine/schemas/runtime/api.py +58 -0
- ciris_engine/schemas/runtime/audit.py +50 -0
- ciris_engine/schemas/runtime/bootstrap.py +33 -0
- ciris_engine/schemas/runtime/contexts.py +61 -0
- ciris_engine/schemas/runtime/core.py +161 -0
- ciris_engine/schemas/runtime/enums.py +167 -0
- ciris_engine/schemas/runtime/extended.py +232 -0
- ciris_engine/schemas/runtime/manifest.py +311 -0
- ciris_engine/schemas/runtime/memory.py +60 -0
- ciris_engine/schemas/runtime/messages.py +108 -0
- ciris_engine/schemas/runtime/models.py +156 -0
- ciris_engine/schemas/runtime/processing_context.py +43 -0
- ciris_engine/schemas/runtime/protocols_core.py +96 -0
- ciris_engine/schemas/runtime/resources.py +33 -0
- ciris_engine/schemas/runtime/system_context.py +417 -0
- ciris_engine/schemas/secrets/__init__.py +1 -0
- ciris_engine/schemas/secrets/core.py +267 -0
- ciris_engine/schemas/secrets/service.py +95 -0
- ciris_engine/schemas/services/__init__.py +33 -0
- ciris_engine/schemas/services/audit_summary_node.py +172 -0
- ciris_engine/schemas/services/authority/__init__.py +39 -0
- ciris_engine/schemas/services/authority/jwt.py +158 -0
- ciris_engine/schemas/services/authority/wa_updates.py +138 -0
- ciris_engine/schemas/services/authority/wise_authority.py +163 -0
- ciris_engine/schemas/services/authority_core.py +370 -0
- ciris_engine/schemas/services/capabilities.py +72 -0
- ciris_engine/schemas/services/community_core.py +95 -0
- ciris_engine/schemas/services/context.py +111 -0
- ciris_engine/schemas/services/conversation_summary_node.py +189 -0
- ciris_engine/schemas/services/core/__init__.py +153 -0
- ciris_engine/schemas/services/core/runtime.py +262 -0
- ciris_engine/schemas/services/core/runtime_config.py +117 -0
- ciris_engine/schemas/services/core/secrets.py +65 -0
- ciris_engine/schemas/services/correlation_node.py +179 -0
- ciris_engine/schemas/services/credit_gate.py +92 -0
- ciris_engine/schemas/services/discord_nodes.py +299 -0
- ciris_engine/schemas/services/feedback_core.py +131 -0
- ciris_engine/schemas/services/filters_core.py +270 -0
- ciris_engine/schemas/services/governance.py +26 -0
- ciris_engine/schemas/services/graph/__init__.py +26 -0
- ciris_engine/schemas/services/graph/attributes.py +254 -0
- ciris_engine/schemas/services/graph/audit.py +98 -0
- ciris_engine/schemas/services/graph/consolidation.py +338 -0
- ciris_engine/schemas/services/graph/edge_types.py +43 -0
- ciris_engine/schemas/services/graph/edges.py +88 -0
- ciris_engine/schemas/services/graph/incident.py +312 -0
- ciris_engine/schemas/services/graph/memory.py +84 -0
- ciris_engine/schemas/services/graph/node_data.py +174 -0
- ciris_engine/schemas/services/graph/query_results.py +82 -0
- ciris_engine/schemas/services/graph/telemetry.py +250 -0
- ciris_engine/schemas/services/graph/tsdb_consolidation.py +27 -0
- ciris_engine/schemas/services/graph/tsdb_models.py +107 -0
- ciris_engine/schemas/services/graph_core.py +196 -0
- ciris_engine/schemas/services/graph_typed_nodes.py +194 -0
- ciris_engine/schemas/services/infrastructure/__init__.py +1 -0
- ciris_engine/schemas/services/infrastructure/resource_monitor.py +20 -0
- ciris_engine/schemas/services/lifecycle/__init__.py +9 -0
- ciris_engine/schemas/services/lifecycle/initialization.py +33 -0
- ciris_engine/schemas/services/lifecycle/time.py +50 -0
- ciris_engine/schemas/services/llm.py +187 -0
- ciris_engine/schemas/services/metadata.py +43 -0
- ciris_engine/schemas/services/nodes.py +704 -0
- ciris_engine/schemas/services/operations.py +126 -0
- ciris_engine/schemas/services/requests.py +128 -0
- ciris_engine/schemas/services/resources_core.py +182 -0
- ciris_engine/schemas/services/runtime_control.py +1010 -0
- ciris_engine/schemas/services/shutdown.py +88 -0
- ciris_engine/schemas/services/special/__init__.py +0 -0
- ciris_engine/schemas/services/special/self_observation.py +396 -0
- ciris_engine/schemas/services/trace_summary_node.py +199 -0
- ciris_engine/schemas/services/visibility.py +98 -0
- ciris_engine/schemas/streaming/__init__.py +10 -0
- ciris_engine/schemas/streaming/reasoning_stream.py +95 -0
- ciris_engine/schemas/telemetry/__init__.py +0 -0
- ciris_engine/schemas/telemetry/collector.py +67 -0
- ciris_engine/schemas/telemetry/core.py +252 -0
- ciris_engine/schemas/telemetry/unified.py +59 -0
- ciris_engine/schemas/tools.py +72 -0
- ciris_engine/schemas/types.py +47 -0
- ciris_engine/schemas/utils/__init__.py +1 -0
- ciris_engine/schemas/utils/config_validator.py +54 -0
- ciris_engine/utils/__init__.py +1 -0
- ciris_engine/utils/serialization.py +35 -0
- ciris_sdk/__init__.py +124 -0
- ciris_sdk/auth_store.py +261 -0
- ciris_sdk/client.py +261 -0
- ciris_sdk/exceptions.py +73 -0
- ciris_sdk/model_types.py +258 -0
- ciris_sdk/models.py +354 -0
- ciris_sdk/pagination.py +214 -0
- ciris_sdk/rate_limiter.py +188 -0
- ciris_sdk/setup.py +17 -0
- ciris_sdk/telemetry_models.py +257 -0
- ciris_sdk/telemetry_responses.py +199 -0
- ciris_sdk/transport.py +177 -0
- ciris_sdk/websocket.py +400 -0
- main.py +766 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Processing context schemas for CIRIS.
|
|
3
|
+
|
|
4
|
+
Provides context objects for thought and task processing that carry
|
|
5
|
+
system state and metadata through the processing pipeline.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Dict, List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
|
+
|
|
12
|
+
from .models import TaskContext
|
|
13
|
+
from .system_context import SystemSnapshot, UserProfile
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class ProcessingThoughtContext(BaseModel):
|
|
17
|
+
"""Context passed through thought processing pipeline.
|
|
18
|
+
|
|
19
|
+
This is different from ThoughtContext which represents a thought entity.
|
|
20
|
+
This context carries processing metadata and system state.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
# System state snapshot
|
|
24
|
+
system_snapshot: SystemSnapshot = Field(..., description="Current system state")
|
|
25
|
+
|
|
26
|
+
# User and profile data
|
|
27
|
+
user_profiles: Dict[str, UserProfile] = Field(
|
|
28
|
+
default_factory=dict, description="User profile data keyed by user_id"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
# Task history
|
|
32
|
+
task_history: List[Any] = Field(default_factory=list, description="Recent task history")
|
|
33
|
+
|
|
34
|
+
# Identity context
|
|
35
|
+
identity_context: Optional[str] = Field(None, description="Agent identity context")
|
|
36
|
+
|
|
37
|
+
# Initial task context
|
|
38
|
+
initial_task_context: Optional[TaskContext] = Field(None, description="Original task context")
|
|
39
|
+
|
|
40
|
+
model_config = ConfigDict(extra="allow") # Allow additional fields for flexibility
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
__all__ = ["ProcessingThoughtContext"]
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Core protocol schemas.
|
|
3
|
+
|
|
4
|
+
Type-safe schemas for core service operations.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from typing import Dict, List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class LLMUsageStatistics(BaseModel):
|
|
14
|
+
"""Token usage statistics for LLM service."""
|
|
15
|
+
|
|
16
|
+
total_calls: int = Field(0, description="Total number of calls made")
|
|
17
|
+
failed_calls: int = Field(0, description="Number of failed calls")
|
|
18
|
+
success_rate: float = Field(1.0, ge=0.0, le=1.0, description="Success rate (0-1)")
|
|
19
|
+
|
|
20
|
+
model_config = ConfigDict(extra="forbid")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class LLMStatus(BaseModel):
|
|
24
|
+
"""Status information from LLM service."""
|
|
25
|
+
|
|
26
|
+
available: bool = Field(..., description="Whether service is available")
|
|
27
|
+
model: str = Field(..., description="Current model name")
|
|
28
|
+
usage: LLMUsageStatistics = Field(default_factory=LLMUsageStatistics, description="Token usage statistics")
|
|
29
|
+
rate_limit_remaining: Optional[int] = Field(None, description="Remaining API calls")
|
|
30
|
+
response_time_avg: Optional[float] = Field(None, description="Average response time")
|
|
31
|
+
|
|
32
|
+
model_config = ConfigDict(extra="forbid")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class NetworkQueryRequest(BaseModel):
|
|
36
|
+
"""Request for network query."""
|
|
37
|
+
|
|
38
|
+
query_type: str = Field(..., description="Type of query (e.g., 'peer_discovery')")
|
|
39
|
+
parameters: Dict[str, str] = Field(default_factory=dict, description="Query parameters")
|
|
40
|
+
timeout: Optional[float] = Field(30.0, description="Query timeout")
|
|
41
|
+
|
|
42
|
+
model_config = ConfigDict(extra="forbid")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class MetricDataPoint(BaseModel):
|
|
46
|
+
"""A single metric data point."""
|
|
47
|
+
|
|
48
|
+
metric_name: str = Field(..., description="Name of the metric")
|
|
49
|
+
value: float = Field(..., description="Metric value")
|
|
50
|
+
timestamp: datetime = Field(..., description="When metric was recorded")
|
|
51
|
+
tags: Dict[str, str] = Field(default_factory=dict, description="Metric tags")
|
|
52
|
+
service_name: Optional[str] = Field(None, description="Service that recorded metric")
|
|
53
|
+
|
|
54
|
+
model_config = ConfigDict(extra="forbid")
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class ResourceLimits(BaseModel):
|
|
58
|
+
"""Resource limits and quotas."""
|
|
59
|
+
|
|
60
|
+
max_memory_mb: Optional[int] = Field(None, description="Maximum memory in MB")
|
|
61
|
+
max_cpu_percent: Optional[float] = Field(None, description="Maximum CPU percentage")
|
|
62
|
+
max_disk_gb: Optional[float] = Field(None, description="Maximum disk usage in GB")
|
|
63
|
+
max_api_calls_per_minute: Optional[int] = Field(None, description="API rate limit")
|
|
64
|
+
max_concurrent_operations: Optional[int] = Field(None, description="Max concurrent ops")
|
|
65
|
+
|
|
66
|
+
model_config = ConfigDict(extra="forbid")
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class SecretInfo(BaseModel):
|
|
70
|
+
"""Information about a stored secret."""
|
|
71
|
+
|
|
72
|
+
uuid: str = Field(..., description="Secret UUID")
|
|
73
|
+
description: str = Field(..., description="Secret description")
|
|
74
|
+
secret_type: str = Field(..., description="Type of secret")
|
|
75
|
+
sensitivity: str = Field(..., description="Sensitivity level")
|
|
76
|
+
created_at: datetime = Field(..., description="When secret was stored")
|
|
77
|
+
last_accessed: Optional[datetime] = Field(None, description="Last access time")
|
|
78
|
+
access_count: int = Field(0, description="Number of times accessed")
|
|
79
|
+
decrypted_value: Optional[str] = Field(None, description="Decrypted value if requested")
|
|
80
|
+
|
|
81
|
+
model_config = ConfigDict(extra="forbid")
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class SecretsServiceStats(BaseModel):
|
|
85
|
+
"""Statistics from secrets service."""
|
|
86
|
+
|
|
87
|
+
secrets_stored: int = Field(..., description="Total secrets in storage")
|
|
88
|
+
filter_active: bool = Field(..., description="Whether filter is active")
|
|
89
|
+
patterns_enabled: List[str] = Field(..., description="Enabled detection patterns")
|
|
90
|
+
recent_detections: int = Field(0, description="Detections in last hour")
|
|
91
|
+
storage_size_bytes: Optional[int] = Field(None, description="Storage size used")
|
|
92
|
+
|
|
93
|
+
model_config = ConfigDict(extra="forbid")
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
__all__ = ["LLMStatus", "NetworkQueryRequest", "MetricDataPoint", "ResourceLimits", "SecretInfo", "SecretsServiceStats"]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Resource tracking schemas for CIRIS Trinity Architecture.
|
|
3
|
+
|
|
4
|
+
Environmental and financial impact tracking for responsible AI.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ResourceUsage(BaseModel):
|
|
13
|
+
"""Track LLM resource utilization with environmental awareness."""
|
|
14
|
+
|
|
15
|
+
# Token usage
|
|
16
|
+
tokens_used: int = Field(default=0, description="Total tokens consumed")
|
|
17
|
+
tokens_input: int = Field(default=0, description="Input tokens")
|
|
18
|
+
tokens_output: int = Field(default=0, description="Output tokens")
|
|
19
|
+
|
|
20
|
+
# Financial impact
|
|
21
|
+
cost_cents: float = Field(default=0.0, ge=0.0, description="Cost in cents USD")
|
|
22
|
+
|
|
23
|
+
# Environmental impact
|
|
24
|
+
carbon_grams: float = Field(default=0.0, ge=0.0, description="Carbon emissions in grams CO2")
|
|
25
|
+
energy_kwh: float = Field(default=0.0, ge=0.0, description="Energy consumption in kilowatt-hours")
|
|
26
|
+
|
|
27
|
+
# Model information
|
|
28
|
+
model_used: Optional[str] = Field(default=None, description="Model that incurred these costs")
|
|
29
|
+
|
|
30
|
+
model_config = ConfigDict(extra="forbid", protected_namespaces=())
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
__all__ = ["ResourceUsage"]
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
"""
|
|
2
|
+
System and runtime context schemas.
|
|
3
|
+
|
|
4
|
+
Provides type-safe contexts for system state and runtime operations.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
|
11
|
+
|
|
12
|
+
from ciris_engine.schemas.adapters.tools import ToolInfo
|
|
13
|
+
|
|
14
|
+
# Import IdentityData for backwards compatibility with new type
|
|
15
|
+
from ciris_engine.schemas.infrastructure.identity_variance import IdentityData
|
|
16
|
+
|
|
17
|
+
# Import ShutdownContext directly to avoid forward reference issues
|
|
18
|
+
from ciris_engine.schemas.runtime.extended import ShutdownContext
|
|
19
|
+
from ciris_engine.schemas.runtime.resources import ResourceUsage
|
|
20
|
+
|
|
21
|
+
# Import CircuitBreakerState directly for runtime validation
|
|
22
|
+
from ciris_engine.schemas.services.graph.telemetry import CircuitBreakerState
|
|
23
|
+
from ciris_engine.schemas.types import JSONDict
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class SystemSnapshot(BaseModel):
|
|
27
|
+
"""System state snapshot for processing context.
|
|
28
|
+
|
|
29
|
+
This snapshot captures the system state needed for decision-making during
|
|
30
|
+
task and thought processing. The most critical field is channel_context,
|
|
31
|
+
which provides the communication context. All other fields provide
|
|
32
|
+
supplementary information about current processing state and system health.
|
|
33
|
+
|
|
34
|
+
Usage patterns:
|
|
35
|
+
1. Minimal: SystemSnapshot(channel_context=create_channel_context(channel_id))
|
|
36
|
+
- Used by: task_manager, shutdown_processor, speak_handler, discord_observer
|
|
37
|
+
|
|
38
|
+
2. Full: Built by build_system_snapshot() with all available context
|
|
39
|
+
- Used during: thought context building in processors
|
|
40
|
+
|
|
41
|
+
Field usage:
|
|
42
|
+
- ALWAYS SET: channel_context, channel_id
|
|
43
|
+
- COMMONLY SET: current_task_details, current_thought_summary, system_counts
|
|
44
|
+
- IDENTITY FIELDS: agent_identity and related fields loaded from graph
|
|
45
|
+
- RUNTIME FIELDS: service_health, circuit_breaker_status from service registry
|
|
46
|
+
- SECURITY FIELDS: detected_secrets and related from secrets service
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
# Channel context (PRIMARY FIELDS - almost always set)
|
|
50
|
+
channel_id: Optional[str] = Field(
|
|
51
|
+
None, description="ID of the communication channel (e.g., Discord channel ID, 'cli', 'api')"
|
|
52
|
+
)
|
|
53
|
+
channel_context: Optional["ChannelContext"] = Field(
|
|
54
|
+
None, description="Full channel context with metadata - the most important field"
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# Current processing state (set when processing tasks/thoughts)
|
|
58
|
+
current_task_details: Optional["TaskSummary"] = Field(
|
|
59
|
+
None, description="Summary of the task currently being processed"
|
|
60
|
+
)
|
|
61
|
+
current_thought_summary: Optional["ThoughtSummary"] = Field(
|
|
62
|
+
None, description="Summary of the thought currently being processed"
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# System overview (computed during snapshot building)
|
|
66
|
+
system_counts: Dict[str, int] = Field(
|
|
67
|
+
default_factory=dict, description="Counts: total_tasks, total_thoughts, pending_tasks, pending_thoughts"
|
|
68
|
+
)
|
|
69
|
+
top_pending_tasks_summary: List["TaskSummary"] = Field(
|
|
70
|
+
default_factory=list, description="Top 10 pending tasks by priority"
|
|
71
|
+
)
|
|
72
|
+
recently_completed_tasks_summary: List["TaskSummary"] = Field(
|
|
73
|
+
default_factory=list, description="10 most recently completed tasks"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
# Agent identity (loaded once from graph memory)
|
|
77
|
+
# Accepts both IdentityData model and JSONDict for backwards compatibility
|
|
78
|
+
agent_identity: IdentityData | JSONDict = Field(
|
|
79
|
+
default_factory=lambda: {}, description="Raw agent identity data from graph node"
|
|
80
|
+
)
|
|
81
|
+
identity_purpose: Optional[str] = Field(None, description="Agent's purpose statement extracted from identity")
|
|
82
|
+
identity_capabilities: List[str] = Field(
|
|
83
|
+
default_factory=list, description="List of agent capabilities from identity"
|
|
84
|
+
)
|
|
85
|
+
identity_restrictions: List[str] = Field(
|
|
86
|
+
default_factory=list, description="List of agent restrictions from identity"
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
# Version information
|
|
90
|
+
agent_version: Optional[str] = Field(None, description="CIRIS agent version (e.g., 1.0.4-beta)")
|
|
91
|
+
agent_codename: Optional[str] = Field(None, description="Release codename (e.g., Graceful Guardian)")
|
|
92
|
+
agent_code_hash: Optional[str] = Field(None, description="Code hash for exact version identification")
|
|
93
|
+
|
|
94
|
+
# Security context (from secrets service)
|
|
95
|
+
detected_secrets: List[str] = Field(
|
|
96
|
+
default_factory=list, description="Patterns of secrets detected in current context (masked representations)"
|
|
97
|
+
)
|
|
98
|
+
secrets_filter_version: int = Field(0, description="Version of the secrets filter being used")
|
|
99
|
+
total_secrets_stored: int = Field(0, description="Total number of secrets in secure storage")
|
|
100
|
+
|
|
101
|
+
# Service health (from service registry)
|
|
102
|
+
service_health: Dict[str, bool] = Field(
|
|
103
|
+
default_factory=dict, description="Health status of each service (service_name -> is_healthy)"
|
|
104
|
+
)
|
|
105
|
+
circuit_breaker_status: Dict[str, str] = Field(
|
|
106
|
+
default_factory=dict, description="Circuit breaker status for each service (service_name -> state)"
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
# Runtime context
|
|
110
|
+
shutdown_context: Optional[ShutdownContext] = Field(None, description="Shutdown context if system is shutting down")
|
|
111
|
+
current_time_utc: str = Field(default="", description="Current system time in UTC ISO format from time service")
|
|
112
|
+
current_time_london: str = Field(default="", description="Current time in London timezone (Europe/London)")
|
|
113
|
+
current_time_chicago: str = Field(default="", description="Current time in Chicago timezone (America/Chicago)")
|
|
114
|
+
current_time_tokyo: str = Field(default="", description="Current time in Tokyo timezone (Asia/Tokyo)")
|
|
115
|
+
|
|
116
|
+
# Resource alerts - CRITICAL for mission-critical systems
|
|
117
|
+
resource_alerts: List[str] = Field(
|
|
118
|
+
default_factory=list, description="CRITICAL resource alerts that require immediate attention"
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
# User profiles (used by context builder)
|
|
122
|
+
user_profiles: List["UserProfile"] = Field(default_factory=list, description="User profile information")
|
|
123
|
+
|
|
124
|
+
# Telemetry summary for resource usage
|
|
125
|
+
telemetry_summary: Optional["TelemetrySummary"] = Field(
|
|
126
|
+
None, description="Aggregated telemetry data for resource usage tracking"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
# Continuity awareness - agent lifecycle metrics
|
|
130
|
+
continuity_summary: Optional["ContinuitySummary"] = Field(
|
|
131
|
+
None, description="Continuity awareness metrics across shutdowns and restarts"
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Adapter channels - for agent visibility into available communication channels
|
|
135
|
+
# Type-safe: Use ChannelContext objects from processors.base, not dicts
|
|
136
|
+
# Using forward reference to avoid circular import
|
|
137
|
+
adapter_channels: Dict[str, List["ChannelContext"]] = Field(
|
|
138
|
+
default_factory=dict, description="Available channels by adapter type with ChannelContext objects"
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
# Available tools - for agent visibility into tools across all adapters
|
|
142
|
+
available_tools: Dict[str, List[ToolInfo]] = Field(
|
|
143
|
+
default_factory=dict, description="Available tools by adapter type with full ToolInfo objects"
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
# Context enrichment results - pre-run tool results for context-aware action selection
|
|
147
|
+
# These are populated by running tools marked with context_enrichment=True
|
|
148
|
+
# Key is "adapter_type:tool_name", value is the tool result data
|
|
149
|
+
context_enrichment_results: Dict[str, Any] = Field(
|
|
150
|
+
default_factory=dict,
|
|
151
|
+
description="Results from tools marked with context_enrichment=True, keyed by adapter_type:tool_name",
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
model_config = ConfigDict(extra="forbid") # Be strict about fields to catch misuse
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class TaskSummary(BaseModel):
|
|
158
|
+
"""Summary of a task for system snapshot."""
|
|
159
|
+
|
|
160
|
+
task_id: str = Field(..., description="Unique task identifier")
|
|
161
|
+
channel_id: str = Field(..., description="Channel where task originated")
|
|
162
|
+
created_at: datetime = Field(..., description="Task creation time")
|
|
163
|
+
status: str = Field(..., description="Current task status")
|
|
164
|
+
|
|
165
|
+
# Task metadata
|
|
166
|
+
priority: int = Field(0, description="Task priority")
|
|
167
|
+
retry_count: int = Field(0, description="Number of retries")
|
|
168
|
+
parent_task_id: Optional[str] = Field(None, description="Parent task if nested")
|
|
169
|
+
|
|
170
|
+
# Execution context
|
|
171
|
+
assigned_agent: Optional[str] = Field(None, description="Agent handling the task")
|
|
172
|
+
deadline: Optional[datetime] = Field(None, description="Task deadline")
|
|
173
|
+
tags: List[str] = Field(default_factory=list, description="Task tags")
|
|
174
|
+
|
|
175
|
+
# Results
|
|
176
|
+
result: Optional[str] = Field(None, description="Task result")
|
|
177
|
+
result_data: Optional[Dict[str, str]] = Field(None, description="Structured result data")
|
|
178
|
+
error: Optional[str] = Field(None, description="Error if failed")
|
|
179
|
+
|
|
180
|
+
model_config = ConfigDict(extra="forbid")
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
class ThoughtState(BaseModel):
|
|
184
|
+
"""State for a thought being processed."""
|
|
185
|
+
|
|
186
|
+
thought_id: str = Field(..., description="Unique thought identifier")
|
|
187
|
+
task_id: str = Field(..., description="Associated task ID")
|
|
188
|
+
content: str = Field(..., description="Thought content")
|
|
189
|
+
thought_type: str = Field(..., description="Type of thought")
|
|
190
|
+
|
|
191
|
+
# Processing state
|
|
192
|
+
created_at: datetime = Field(..., description="When thought was created")
|
|
193
|
+
processing_depth: int = Field(0, description="How many times processed")
|
|
194
|
+
is_pondering: bool = Field(False, description="Whether in ponder state")
|
|
195
|
+
|
|
196
|
+
# Relationships
|
|
197
|
+
parent_thought_id: Optional[str] = Field(None, description="Parent thought if nested")
|
|
198
|
+
child_thought_ids: List[str] = Field(default_factory=list, description="Child thoughts")
|
|
199
|
+
|
|
200
|
+
# DMA results (stored as JSON strings for flexibility)
|
|
201
|
+
pdma_result: Optional[str] = Field(None, description="PDMA evaluation JSON")
|
|
202
|
+
csdma_result: Optional[str] = Field(None, description="CSDMA evaluation JSON")
|
|
203
|
+
dsdma_result: Optional[str] = Field(None, description="DSDMA evaluation JSON")
|
|
204
|
+
|
|
205
|
+
# Decision
|
|
206
|
+
selected_action: Optional[str] = Field(None, description="Action selected")
|
|
207
|
+
|
|
208
|
+
model_config = ConfigDict(extra="forbid")
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
class UserProfile(BaseModel):
|
|
212
|
+
"""User profile information."""
|
|
213
|
+
|
|
214
|
+
user_id: str = Field(..., description="Unique user identifier")
|
|
215
|
+
display_name: str = Field(..., description="User display name")
|
|
216
|
+
created_at: datetime = Field(..., description="Profile creation time")
|
|
217
|
+
|
|
218
|
+
# Preferences
|
|
219
|
+
preferred_language: str = Field("en", description="Preferred language code")
|
|
220
|
+
timezone: str = Field("UTC", description="User timezone")
|
|
221
|
+
communication_style: str = Field("formal", description="Preferred communication style")
|
|
222
|
+
|
|
223
|
+
# User-configurable preferences (protected from agent, modifiable via API only)
|
|
224
|
+
user_preferred_name: Optional[str] = Field(None, description="User's preferred display name (overrides oauth_name)")
|
|
225
|
+
location: Optional[str] = Field(None, description="User's location preference")
|
|
226
|
+
interaction_preferences: Optional[str] = Field(
|
|
227
|
+
None, description="User's custom interaction preferences/prompt (free-form text)"
|
|
228
|
+
)
|
|
229
|
+
oauth_name: Optional[str] = Field(None, description="Full name from OAuth provider")
|
|
230
|
+
|
|
231
|
+
# Interaction history
|
|
232
|
+
total_interactions: int = Field(0, description="Total interactions")
|
|
233
|
+
last_interaction: Optional[datetime] = Field(None, description="Last interaction time")
|
|
234
|
+
trust_level: float = Field(0.5, description="Trust level (0.0-1.0)")
|
|
235
|
+
|
|
236
|
+
# Permissions
|
|
237
|
+
is_wa: bool = Field(False, description="Whether user is Wise Authority")
|
|
238
|
+
permissions: List[str] = Field(default_factory=list, description="Granted permissions")
|
|
239
|
+
restrictions: List[str] = Field(default_factory=list, description="Applied restrictions")
|
|
240
|
+
|
|
241
|
+
# Consent relationship state (v1.4.6)
|
|
242
|
+
consent_stream: str = Field("TEMPORARY", description="Consent stream: TEMPORARY, PARTNERED, or ANONYMOUS")
|
|
243
|
+
consent_expires_at: Optional[datetime] = Field(None, description="When TEMPORARY consent expires (14 days)")
|
|
244
|
+
partnership_requested_at: Optional[datetime] = Field(None, description="When partnership was requested")
|
|
245
|
+
partnership_approved: bool = Field(False, description="Whether partnership was approved by agent")
|
|
246
|
+
|
|
247
|
+
# Agent memorized data - arbitrary attributes the agent chose to store about this user
|
|
248
|
+
memorized_attributes: Dict[str, str] = Field(
|
|
249
|
+
default_factory=dict, description="Additional attributes the agent memorized about this user"
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
# Additional context
|
|
253
|
+
notes: Optional[str] = Field(None, description="Additional notes or context about the user")
|
|
254
|
+
|
|
255
|
+
model_config = ConfigDict(extra="forbid")
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class ChannelContext(BaseModel):
|
|
259
|
+
"""Context for a communication channel."""
|
|
260
|
+
|
|
261
|
+
channel_id: str = Field(..., description="Unique channel identifier")
|
|
262
|
+
channel_type: str = Field(..., description="Type of channel (discord, cli, api)")
|
|
263
|
+
created_at: datetime = Field(..., description="Channel creation time")
|
|
264
|
+
|
|
265
|
+
# Channel metadata
|
|
266
|
+
channel_name: Optional[str] = Field(None, description="Human-readable channel name")
|
|
267
|
+
is_private: bool = Field(False, description="Whether channel is private")
|
|
268
|
+
participants: List[str] = Field(default_factory=list, description="Channel participants")
|
|
269
|
+
|
|
270
|
+
# State
|
|
271
|
+
is_active: bool = Field(True, description="Whether channel is active")
|
|
272
|
+
last_activity: Optional[datetime] = Field(None, description="Last activity time")
|
|
273
|
+
message_count: int = Field(0, description="Total messages in channel")
|
|
274
|
+
|
|
275
|
+
# Configuration
|
|
276
|
+
allowed_actions: List[str] = Field(default_factory=list, description="Allowed actions in channel")
|
|
277
|
+
moderation_level: str = Field("standard", description="Moderation level")
|
|
278
|
+
|
|
279
|
+
# Agent memorized data - arbitrary attributes the agent chose to store about this channel
|
|
280
|
+
memorized_attributes: Dict[str, str] = Field(
|
|
281
|
+
default_factory=dict, description="Additional attributes the agent memorized about this channel"
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
@field_serializer("created_at", "last_activity")
|
|
285
|
+
def serialize_datetimes(self, dt: Optional[datetime], _info: Any) -> Optional[str]:
|
|
286
|
+
return dt.isoformat() if dt else None
|
|
287
|
+
|
|
288
|
+
model_config = ConfigDict(extra="forbid")
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
class AuditVerification(BaseModel):
|
|
292
|
+
"""Audit chain verification result."""
|
|
293
|
+
|
|
294
|
+
verified_at: datetime = Field(..., description="When verification occurred")
|
|
295
|
+
result: str = Field(..., description="Verification result: valid, invalid, partial")
|
|
296
|
+
entries_verified: int = Field(..., description="Number of entries verified")
|
|
297
|
+
hash_chain_valid: bool = Field(..., description="Whether hash chain is intact")
|
|
298
|
+
signatures_valid: bool = Field(..., description="Whether signatures are valid")
|
|
299
|
+
|
|
300
|
+
# Issues found
|
|
301
|
+
issues: List[str] = Field(default_factory=list, description="Issues found during verification")
|
|
302
|
+
missing_entries: List[str] = Field(default_factory=list, description="Missing entry IDs")
|
|
303
|
+
|
|
304
|
+
model_config = ConfigDict(extra="forbid")
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
class ThoughtSummary(BaseModel):
|
|
308
|
+
"""Summary of a thought for context."""
|
|
309
|
+
|
|
310
|
+
thought_id: str = Field(..., description="Thought ID")
|
|
311
|
+
content: Optional[str] = Field(None, description="Thought content")
|
|
312
|
+
status: Optional[str] = Field(None, description="Thought status")
|
|
313
|
+
source_task_id: Optional[str] = Field(None, description="Source task ID")
|
|
314
|
+
thought_type: Optional[str] = Field(None, description="Type of thought")
|
|
315
|
+
thought_depth: Optional[int] = Field(None, description="Processing depth")
|
|
316
|
+
|
|
317
|
+
model_config = ConfigDict(extra="allow")
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
class TelemetrySummary(BaseModel):
|
|
321
|
+
"""Summary of recent telemetry metrics for system context."""
|
|
322
|
+
|
|
323
|
+
# Time window
|
|
324
|
+
window_start: datetime = Field(..., description="Start of telemetry window")
|
|
325
|
+
window_end: datetime = Field(..., description="End of telemetry window")
|
|
326
|
+
uptime_seconds: float = Field(..., description="System uptime in seconds")
|
|
327
|
+
|
|
328
|
+
# Activity metrics (last 24h)
|
|
329
|
+
messages_processed_24h: int = Field(0, description="Messages processed in last 24h")
|
|
330
|
+
thoughts_processed_24h: int = Field(0, description="Thoughts processed in last 24h")
|
|
331
|
+
tasks_completed_24h: int = Field(0, description="Tasks completed in last 24h")
|
|
332
|
+
errors_24h: int = Field(0, description="Errors in last 24h")
|
|
333
|
+
|
|
334
|
+
# Current hour metrics
|
|
335
|
+
messages_current_hour: int = Field(0, description="Messages this hour")
|
|
336
|
+
thoughts_current_hour: int = Field(0, description="Thoughts this hour")
|
|
337
|
+
errors_current_hour: int = Field(0, description="Errors this hour")
|
|
338
|
+
|
|
339
|
+
# Service breakdowns
|
|
340
|
+
service_calls: Dict[str, int] = Field(default_factory=dict, description="Calls per service type")
|
|
341
|
+
service_errors: Dict[str, int] = Field(default_factory=dict, description="Errors per service type")
|
|
342
|
+
service_latency_ms: Dict[str, float] = Field(default_factory=dict, description="Avg latency per service")
|
|
343
|
+
|
|
344
|
+
# Resource consumption totals (actuals for the last hour)
|
|
345
|
+
tokens_last_hour: float = Field(0.0, description="Total tokens used in the last hour")
|
|
346
|
+
cost_last_hour_cents: float = Field(0.0, description="Total cost in the last hour (cents)")
|
|
347
|
+
carbon_last_hour_grams: float = Field(0.0, description="Total carbon emissions in the last hour (grams)")
|
|
348
|
+
energy_last_hour_kwh: float = Field(0.0, description="Total energy usage in the last hour (kWh)")
|
|
349
|
+
|
|
350
|
+
# Resource consumption totals (actuals for the last 24 hours)
|
|
351
|
+
tokens_24h: float = Field(0.0, description="Total tokens used in the last 24 hours")
|
|
352
|
+
cost_24h_cents: float = Field(0.0, description="Total cost in the last 24 hours (cents)")
|
|
353
|
+
carbon_24h_grams: float = Field(0.0, description="Total carbon emissions in the last 24 hours (grams)")
|
|
354
|
+
energy_24h_kwh: float = Field(0.0, description="Total energy usage in the last 24 hours (kWh)")
|
|
355
|
+
|
|
356
|
+
# Health indicators
|
|
357
|
+
error_rate_percent: float = Field(0.0, description="Error rate as percentage")
|
|
358
|
+
avg_thought_depth: float = Field(0.0, description="Average thought processing depth")
|
|
359
|
+
queue_saturation: float = Field(0.0, description="Queue saturation 0-1")
|
|
360
|
+
|
|
361
|
+
# Circuit breaker state
|
|
362
|
+
circuit_breaker: Optional[Dict[str, CircuitBreakerState]] = Field(
|
|
363
|
+
None, description="Circuit breaker state across all services (service_name -> CircuitBreakerState)"
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
@field_serializer("window_start", "window_end")
|
|
367
|
+
def serialize_datetimes(self, dt: datetime, _info: Any) -> Optional[str]:
|
|
368
|
+
return dt.isoformat() if dt else None
|
|
369
|
+
|
|
370
|
+
model_config = ConfigDict(extra="forbid")
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
class ContinuitySummary(BaseModel):
|
|
374
|
+
"""Summary of agent continuity across shutdowns and restarts."""
|
|
375
|
+
|
|
376
|
+
# First startup time
|
|
377
|
+
first_startup: Optional[datetime] = Field(None, description="Timestamp of very first agent startup")
|
|
378
|
+
|
|
379
|
+
# Lifetime metrics
|
|
380
|
+
total_time_online_seconds: float = Field(0.0, description="Total cumulative time agent has been online")
|
|
381
|
+
total_time_offline_seconds: float = Field(0.0, description="Total cumulative time agent has been offline")
|
|
382
|
+
total_shutdowns: int = Field(0, description="Total number of shutdowns in agent's lifetime")
|
|
383
|
+
|
|
384
|
+
# Averages
|
|
385
|
+
average_time_online_seconds: float = Field(0.0, description="Average time online per session")
|
|
386
|
+
average_time_offline_seconds: float = Field(0.0, description="Average time offline between sessions")
|
|
387
|
+
|
|
388
|
+
# Current session
|
|
389
|
+
current_session_start: Optional[datetime] = Field(None, description="When current session started")
|
|
390
|
+
current_session_duration_seconds: float = Field(0.0, description="Duration of current session")
|
|
391
|
+
|
|
392
|
+
# Last shutdown
|
|
393
|
+
last_shutdown: Optional[datetime] = Field(None, description="When last shutdown occurred")
|
|
394
|
+
last_shutdown_reason: Optional[str] = Field(None, description="Reason for last shutdown")
|
|
395
|
+
last_shutdown_consent: Optional[str] = Field(
|
|
396
|
+
None, description="Consent status: 'accepted', 'rejected', or 'manual' (crashes/forced)"
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
@field_serializer("first_startup", "current_session_start", "last_shutdown")
|
|
400
|
+
def serialize_datetimes(self, dt: Optional[datetime], _info: Any) -> Optional[str]:
|
|
401
|
+
return dt.isoformat() if dt else None
|
|
402
|
+
|
|
403
|
+
model_config = ConfigDict(extra="forbid")
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
__all__ = [
|
|
407
|
+
"SystemSnapshot",
|
|
408
|
+
"TaskSummary",
|
|
409
|
+
"ThoughtState",
|
|
410
|
+
"UserProfile",
|
|
411
|
+
"ChannelContext",
|
|
412
|
+
"ResourceUsage", # Re-exported from resources module
|
|
413
|
+
"AuditVerification",
|
|
414
|
+
"TelemetrySummary",
|
|
415
|
+
"ThoughtSummary",
|
|
416
|
+
"ContinuitySummary",
|
|
417
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Package initialization."""
|