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,131 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Schemas for audit verification operations.
|
|
3
|
+
|
|
4
|
+
These replace all Dict[str, Any] usage in verifier.py.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
11
|
+
|
|
12
|
+
from ciris_engine.schemas.audit.hash_chain import HashChainAuditEntry
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ChainVerificationResult(BaseModel):
|
|
16
|
+
"""Result of hash chain verification."""
|
|
17
|
+
|
|
18
|
+
valid: bool = Field(..., description="Whether chain is valid")
|
|
19
|
+
entries_checked: int = Field(0, description="Number of entries checked")
|
|
20
|
+
errors: List[str] = Field(default_factory=list, description="List of validation errors")
|
|
21
|
+
last_valid_entry: Optional[int] = Field(None, description="Last valid entry ID before error")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SignatureVerificationResult(BaseModel):
|
|
25
|
+
"""Result of signature verification."""
|
|
26
|
+
|
|
27
|
+
valid: bool = Field(..., description="Whether all signatures are valid")
|
|
28
|
+
entries_signed: int = Field(0, description="Number of signed entries")
|
|
29
|
+
entries_verified: int = Field(0, description="Number of verified signatures")
|
|
30
|
+
errors: List[str] = Field(default_factory=list, description="List of signature errors")
|
|
31
|
+
untrusted_keys: List[str] = Field(default_factory=list, description="List of untrusted key IDs")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class CompleteVerificationResult(BaseModel):
|
|
35
|
+
"""Result of complete audit chain verification."""
|
|
36
|
+
|
|
37
|
+
valid: bool = Field(..., description="Overall validity")
|
|
38
|
+
entries_verified: int = Field(0, description="Total entries verified")
|
|
39
|
+
hash_chain_valid: bool = Field(..., description="Hash chain validity")
|
|
40
|
+
signatures_valid: bool = Field(..., description="Signatures validity")
|
|
41
|
+
verification_time_ms: int = Field(..., description="Verification time in milliseconds")
|
|
42
|
+
hash_chain_errors: List[str] = Field(default_factory=list, description="Hash chain errors")
|
|
43
|
+
signature_errors: List[str] = Field(default_factory=list, description="Signature errors")
|
|
44
|
+
chain_summary: Optional["ChainSummary"] = Field(None, description="Chain summary information")
|
|
45
|
+
summary: Optional[str] = Field(None, description="Summary message")
|
|
46
|
+
error: Optional[str] = Field(None, description="Error message if verification failed")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class EntryVerificationResult(BaseModel):
|
|
50
|
+
"""Result of single entry verification."""
|
|
51
|
+
|
|
52
|
+
valid: bool = Field(..., description="Whether entry is valid")
|
|
53
|
+
entry_id: int = Field(..., description="Entry ID")
|
|
54
|
+
hash_valid: bool = Field(..., description="Whether hash is valid")
|
|
55
|
+
signature_valid: Optional[bool] = Field(None, description="Whether signature is valid if present")
|
|
56
|
+
previous_hash_valid: bool = Field(..., description="Whether link to previous entry is valid")
|
|
57
|
+
errors: List[str] = Field(default_factory=list, description="List of validation errors")
|
|
58
|
+
entry_data: Optional[HashChainAuditEntry] = Field(None, description="Entry data if requested")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class RangeVerificationResult(BaseModel):
|
|
62
|
+
"""Result of range verification."""
|
|
63
|
+
|
|
64
|
+
valid: bool = Field(..., description="Whether range is valid")
|
|
65
|
+
start_id: int = Field(..., description="Start entry ID")
|
|
66
|
+
end_id: int = Field(..., description="End entry ID")
|
|
67
|
+
entries_verified: int = Field(0, description="Number of entries verified")
|
|
68
|
+
hash_chain_valid: bool = Field(..., description="Hash chain validity in range")
|
|
69
|
+
signatures_valid: bool = Field(..., description="Signatures validity in range")
|
|
70
|
+
errors: List[str] = Field(default_factory=list, description="List of errors in range")
|
|
71
|
+
verification_time_ms: int = Field(..., description="Verification time")
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class SigningKeyInfo(BaseModel):
|
|
75
|
+
"""Information about an audit signing key."""
|
|
76
|
+
|
|
77
|
+
key_id: Optional[str] = Field(None, description="Key identifier")
|
|
78
|
+
algorithm: Optional[str] = Field(None, description="Signing algorithm")
|
|
79
|
+
key_size: Optional[int] = Field(None, description="Key size in bits")
|
|
80
|
+
created_at: Optional[str] = Field(None, description="When key was created")
|
|
81
|
+
revoked_at: Optional[str] = Field(None, description="When key was revoked if applicable")
|
|
82
|
+
active: Optional[bool] = Field(None, description="Whether key is currently active")
|
|
83
|
+
error: Optional[str] = Field(None, description="Error message if key info unavailable")
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class ChainSummary(BaseModel):
|
|
87
|
+
"""Summary of audit chain state."""
|
|
88
|
+
|
|
89
|
+
total_entries: int = Field(0, description="Total number of entries")
|
|
90
|
+
signed_entries: int = Field(0, description="Number of signed entries")
|
|
91
|
+
first_entry_id: Optional[int] = Field(None, description="First entry ID")
|
|
92
|
+
last_entry_id: Optional[int] = Field(None, description="Last entry ID")
|
|
93
|
+
first_entry_time: Optional[datetime] = Field(None, description="First entry timestamp")
|
|
94
|
+
last_entry_time: Optional[datetime] = Field(None, description="Last entry timestamp")
|
|
95
|
+
root_hash: Optional[str] = Field(None, description="Root hash if available")
|
|
96
|
+
chain_intact: bool = Field(True, description="Whether chain appears intact")
|
|
97
|
+
error: Optional[str] = Field(None, description="Error message if summary failed")
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class VerificationReport(BaseModel):
|
|
101
|
+
"""Comprehensive verification report."""
|
|
102
|
+
|
|
103
|
+
timestamp: datetime = Field(..., description="Report generation timestamp")
|
|
104
|
+
verification_result: CompleteVerificationResult = Field(..., description="Verification results")
|
|
105
|
+
chain_summary: ChainSummary = Field(..., description="Chain summary")
|
|
106
|
+
signing_key_info: SigningKeyInfo = Field(..., description="Signing key information")
|
|
107
|
+
tampering_detected: bool = Field(..., description="Whether tampering was detected")
|
|
108
|
+
first_tampered_sequence: Optional[int] = Field(None, description="First tampered sequence")
|
|
109
|
+
recommendations: List[str] = Field(default_factory=list, description="Recommendations")
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class RootAnchorVerificationResult(BaseModel):
|
|
113
|
+
"""Result of root anchor verification."""
|
|
114
|
+
|
|
115
|
+
valid: bool = Field(..., description="Whether all root anchors are valid")
|
|
116
|
+
verified_count: int = Field(0, description="Number of verified anchors")
|
|
117
|
+
total_count: int = Field(0, description="Total number of anchors")
|
|
118
|
+
errors: List[str] = Field(default_factory=list, description="Verification errors")
|
|
119
|
+
message: Optional[str] = Field(None, description="Status message")
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class RefutationProof(BaseModel):
|
|
123
|
+
"""Proof for refuting disputed content claims."""
|
|
124
|
+
|
|
125
|
+
timestamp: str = Field(..., description="When proof was created (ISO format)")
|
|
126
|
+
stored_hash: str = Field(..., description="Hash we have stored")
|
|
127
|
+
claimed_content_hash: str = Field(..., description="Hash of claimed content")
|
|
128
|
+
matches_stored: bool = Field(..., description="Whether claimed content matches stored hash")
|
|
129
|
+
actual_content_hash: Optional[str] = Field(None, description="Hash of actual content if available")
|
|
130
|
+
actual_matches_stored: Optional[bool] = Field(None, description="Whether actual content matches stored hash")
|
|
131
|
+
claimed_matches_actual: Optional[bool] = Field(None, description="Whether claimed content matches actual content")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Package initialization."""
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Configuration schemas for CIRIS Engine.
|
|
3
|
+
|
|
4
|
+
Provides essential configuration schemas for bootstrap
|
|
5
|
+
and agent identity templates.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from .agent import AgentTemplate
|
|
9
|
+
from .cognitive_state_behaviors import (
|
|
10
|
+
CognitiveStateBehaviors,
|
|
11
|
+
DreamBehavior,
|
|
12
|
+
ShutdownBehavior,
|
|
13
|
+
StateBehavior,
|
|
14
|
+
StatePreservationBehavior,
|
|
15
|
+
WakeupBehavior,
|
|
16
|
+
)
|
|
17
|
+
from .essential import (
|
|
18
|
+
DatabaseConfig,
|
|
19
|
+
EssentialConfig,
|
|
20
|
+
OperationalLimitsConfig,
|
|
21
|
+
SecurityConfig,
|
|
22
|
+
ServiceEndpointsConfig,
|
|
23
|
+
TelemetryConfig,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
"EssentialConfig",
|
|
28
|
+
"DatabaseConfig",
|
|
29
|
+
"ServiceEndpointsConfig",
|
|
30
|
+
"SecurityConfig",
|
|
31
|
+
"OperationalLimitsConfig",
|
|
32
|
+
"TelemetryConfig",
|
|
33
|
+
"AgentTemplate",
|
|
34
|
+
# Cognitive state behaviors
|
|
35
|
+
"CognitiveStateBehaviors",
|
|
36
|
+
"WakeupBehavior",
|
|
37
|
+
"ShutdownBehavior",
|
|
38
|
+
"StateBehavior",
|
|
39
|
+
"DreamBehavior",
|
|
40
|
+
"StatePreservationBehavior",
|
|
41
|
+
]
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Agent configuration schemas.
|
|
3
|
+
|
|
4
|
+
Minimal schemas for agent identity and templates.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Dict, List, Optional, Union
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
10
|
+
|
|
11
|
+
from ciris_engine.schemas.config.cognitive_state_behaviors import CognitiveStateBehaviors
|
|
12
|
+
from ciris_engine.schemas.config.tickets import TicketsConfig
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class StewardshipCalculation(BaseModel):
|
|
16
|
+
"""Schema for the Stewardship Tier calculation details."""
|
|
17
|
+
|
|
18
|
+
creator_influence_score: int = Field(..., description="Creator-Influence Score (CIS)")
|
|
19
|
+
risk_magnitude: int = Field(..., description="Risk Magnitude (RM)")
|
|
20
|
+
formula: str = Field(..., description="Formula used for calculation")
|
|
21
|
+
result: int = Field(..., description="Calculated Stewardship Tier (ST)")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class CreatorLedgerEntry(BaseModel):
|
|
25
|
+
"""Schema for the Creator Ledger entry."""
|
|
26
|
+
|
|
27
|
+
creator_id: str = Field(..., description="Identifier for the creator or creating team")
|
|
28
|
+
creation_timestamp: str = Field(..., description="ISO 8601 timestamp of the creation entry")
|
|
29
|
+
covenant_version: str = Field(..., description="Version of the Covenant applied")
|
|
30
|
+
book_vi_compliance_check: str = Field(..., description="Status of the Book VI compliance check")
|
|
31
|
+
stewardship_tier_calculation: StewardshipCalculation = Field(..., description="Details of the ST calculation")
|
|
32
|
+
public_key_fingerprint: str = Field(..., description="Fingerprint of the public key used for signing")
|
|
33
|
+
signature: str = Field(..., description="Cryptographic signature of the ledger entry's content")
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class CreatorIntentStatement(BaseModel):
|
|
37
|
+
"""Schema for the Creator Intent Statement (CIS)."""
|
|
38
|
+
|
|
39
|
+
purpose_and_functionalities: List[str] = Field(..., description="The intended purpose and functionalities")
|
|
40
|
+
limitations_and_design_choices: List[str] = Field(..., description="Known limitations and key design choices")
|
|
41
|
+
anticipated_benefits: List[str] = Field(..., description="Anticipated benefits of the creation")
|
|
42
|
+
anticipated_risks: List[str] = Field(..., description="Anticipated risks associated with the creation")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Stewardship(BaseModel):
|
|
46
|
+
"""Schema for Book VI Stewardship information."""
|
|
47
|
+
|
|
48
|
+
stewardship_tier: int = Field(..., description="Calculated Stewardship Tier (ST) for the agent")
|
|
49
|
+
creator_intent_statement: CreatorIntentStatement = Field(..., description="The Creator Intent Statement (CIS)")
|
|
50
|
+
creator_ledger_entry: CreatorLedgerEntry = Field(..., description="The entry for the Creator Ledger")
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class AgentTemplate(BaseModel):
|
|
54
|
+
"""Agent profile template for identity configuration."""
|
|
55
|
+
|
|
56
|
+
name: str = Field(..., description="Agent name/identifier")
|
|
57
|
+
description: str = Field(..., description="Agent description")
|
|
58
|
+
role_description: str = Field(..., description="Agent's role")
|
|
59
|
+
|
|
60
|
+
# Permissions
|
|
61
|
+
permitted_actions: List[str] = Field(default_factory=list, description="List of permitted handler actions")
|
|
62
|
+
|
|
63
|
+
# DMA overrides
|
|
64
|
+
dsdma_kwargs: Optional["DSDMAConfiguration"] = Field(None, description="Domain-specific DMA configuration")
|
|
65
|
+
csdma_overrides: Optional["CSDMAOverrides"] = Field(None, description="Common sense DMA prompt overrides")
|
|
66
|
+
action_selection_pdma_overrides: Optional["ActionSelectionOverrides"] = Field(
|
|
67
|
+
None, description="Action selection prompt overrides"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
# Adapter configs
|
|
71
|
+
discord_config: Optional["DiscordAdapterOverrides"] = Field(
|
|
72
|
+
None, description="Discord adapter configuration overrides"
|
|
73
|
+
)
|
|
74
|
+
api_config: Optional["APIAdapterOverrides"] = Field(None, description="API adapter configuration overrides")
|
|
75
|
+
cli_config: Optional["CLIAdapterOverrides"] = Field(None, description="CLI adapter configuration overrides")
|
|
76
|
+
|
|
77
|
+
# Book VI Compliance
|
|
78
|
+
stewardship: Optional["Stewardship"] = Field(None, description="Book VI Stewardship information")
|
|
79
|
+
|
|
80
|
+
# Ticket system configuration (DSAR always present for GDPR compliance)
|
|
81
|
+
tickets: Optional["TicketsConfig"] = Field(
|
|
82
|
+
None,
|
|
83
|
+
description="Ticket system configuration with SOPs (DSAR always present)",
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# Cognitive state transition configuration (Covenant Sections V, VIII)
|
|
87
|
+
cognitive_state_behaviors: Optional["CognitiveStateBehaviors"] = Field(
|
|
88
|
+
None,
|
|
89
|
+
description="Template-driven cognitive state transition configuration",
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
model_config = ConfigDict(extra="allow") # Allow additional fields for extensibility
|
|
93
|
+
|
|
94
|
+
@field_validator("stewardship", mode="before")
|
|
95
|
+
@classmethod
|
|
96
|
+
def convert_stewardship(cls, v: Any) -> Optional["Stewardship"]:
|
|
97
|
+
"""Convert dict to Stewardship if needed."""
|
|
98
|
+
if v is None:
|
|
99
|
+
return None
|
|
100
|
+
if isinstance(v, dict):
|
|
101
|
+
return Stewardship(**v)
|
|
102
|
+
return v # type: ignore[no-any-return] # Already a Stewardship instance
|
|
103
|
+
|
|
104
|
+
@field_validator("dsdma_kwargs", mode="before")
|
|
105
|
+
@classmethod
|
|
106
|
+
def convert_dsdma_kwargs(cls, v: Any) -> Optional["DSDMAConfiguration"]:
|
|
107
|
+
"""Convert dict to DSDMAConfiguration if needed."""
|
|
108
|
+
if v is None:
|
|
109
|
+
return None
|
|
110
|
+
if isinstance(v, dict):
|
|
111
|
+
return DSDMAConfiguration(**v)
|
|
112
|
+
return v # type: ignore[no-any-return] # Already a DSDMAConfiguration instance
|
|
113
|
+
|
|
114
|
+
@field_validator("csdma_overrides", mode="before")
|
|
115
|
+
@classmethod
|
|
116
|
+
def convert_csdma_overrides(cls, v: Any) -> Optional["CSDMAOverrides"]:
|
|
117
|
+
"""Convert dict to CSDMAOverrides if needed."""
|
|
118
|
+
if v is None:
|
|
119
|
+
return None
|
|
120
|
+
if isinstance(v, dict):
|
|
121
|
+
return CSDMAOverrides(**v)
|
|
122
|
+
return v # type: ignore[no-any-return] # Already a CSDMAOverrides instance
|
|
123
|
+
|
|
124
|
+
@field_validator("action_selection_pdma_overrides", mode="before")
|
|
125
|
+
@classmethod
|
|
126
|
+
def convert_action_selection_overrides(cls, v: Any) -> Optional["ActionSelectionOverrides"]:
|
|
127
|
+
"""Convert dict to ActionSelectionOverrides if needed."""
|
|
128
|
+
if v is None:
|
|
129
|
+
return None
|
|
130
|
+
if isinstance(v, dict):
|
|
131
|
+
return ActionSelectionOverrides(**v)
|
|
132
|
+
return v # type: ignore[no-any-return] # Already an ActionSelectionOverrides instance
|
|
133
|
+
|
|
134
|
+
@field_validator("discord_config", mode="before")
|
|
135
|
+
@classmethod
|
|
136
|
+
def convert_discord_config(cls, v: Any) -> Optional["DiscordAdapterOverrides"]:
|
|
137
|
+
"""Convert dict to DiscordAdapterOverrides if needed."""
|
|
138
|
+
if v is None:
|
|
139
|
+
return None
|
|
140
|
+
if isinstance(v, dict):
|
|
141
|
+
return DiscordAdapterOverrides(**v)
|
|
142
|
+
return v # type: ignore[no-any-return] # Already a DiscordAdapterOverrides instance
|
|
143
|
+
|
|
144
|
+
@field_validator("api_config", mode="before")
|
|
145
|
+
@classmethod
|
|
146
|
+
def convert_api_config(cls, v: Any) -> Optional["APIAdapterOverrides"]:
|
|
147
|
+
"""Convert dict to APIAdapterOverrides if needed."""
|
|
148
|
+
if v is None:
|
|
149
|
+
return None
|
|
150
|
+
if isinstance(v, dict):
|
|
151
|
+
return APIAdapterOverrides(**v)
|
|
152
|
+
return v # type: ignore[no-any-return] # Already an APIAdapterOverrides instance
|
|
153
|
+
|
|
154
|
+
@field_validator("cli_config", mode="before")
|
|
155
|
+
@classmethod
|
|
156
|
+
def convert_cli_config(cls, v: Any) -> Optional["CLIAdapterOverrides"]:
|
|
157
|
+
"""Convert dict to CLIAdapterOverrides if needed."""
|
|
158
|
+
if v is None:
|
|
159
|
+
return None
|
|
160
|
+
if isinstance(v, dict):
|
|
161
|
+
return CLIAdapterOverrides(**v)
|
|
162
|
+
return v # type: ignore[no-any-return] # Already a CLIAdapterOverrides instance
|
|
163
|
+
|
|
164
|
+
@field_validator("tickets", mode="before")
|
|
165
|
+
@classmethod
|
|
166
|
+
def convert_tickets_config(cls, v: Any) -> Optional[TicketsConfig]:
|
|
167
|
+
"""Convert dict to TicketsConfig if needed.
|
|
168
|
+
|
|
169
|
+
Automatically adds universal DSAR SOPs to all agents for GDPR compliance.
|
|
170
|
+
"""
|
|
171
|
+
if v is None:
|
|
172
|
+
# If no tickets config provided, create default with DSAR SOPs
|
|
173
|
+
from ciris_engine.schemas.config.default_dsar_sops import DEFAULT_DSAR_SOPS
|
|
174
|
+
|
|
175
|
+
return TicketsConfig(enabled=True, sops=DEFAULT_DSAR_SOPS)
|
|
176
|
+
|
|
177
|
+
if isinstance(v, dict):
|
|
178
|
+
tickets_config = TicketsConfig(**v)
|
|
179
|
+
|
|
180
|
+
# Ensure DSAR SOPs are present (GDPR compliance requirement)
|
|
181
|
+
from ciris_engine.schemas.config.default_dsar_sops import DEFAULT_DSAR_SOPS
|
|
182
|
+
|
|
183
|
+
existing_sop_names = {sop.sop for sop in tickets_config.sops}
|
|
184
|
+
for dsar_sop in DEFAULT_DSAR_SOPS:
|
|
185
|
+
if dsar_sop.sop not in existing_sop_names:
|
|
186
|
+
tickets_config.sops.append(dsar_sop)
|
|
187
|
+
|
|
188
|
+
return tickets_config
|
|
189
|
+
|
|
190
|
+
# Already a TicketsConfig instance - ensure DSAR SOPs present
|
|
191
|
+
if isinstance(v, TicketsConfig):
|
|
192
|
+
from ciris_engine.schemas.config.default_dsar_sops import DEFAULT_DSAR_SOPS
|
|
193
|
+
|
|
194
|
+
existing_sop_names = {sop.sop for sop in v.sops}
|
|
195
|
+
for dsar_sop in DEFAULT_DSAR_SOPS:
|
|
196
|
+
if dsar_sop.sop not in existing_sop_names:
|
|
197
|
+
v.sops.append(dsar_sop)
|
|
198
|
+
|
|
199
|
+
return v # type: ignore[no-any-return]
|
|
200
|
+
|
|
201
|
+
@field_validator("cognitive_state_behaviors", mode="before")
|
|
202
|
+
@classmethod
|
|
203
|
+
def convert_cognitive_state_behaviors(cls, v: Any) -> Optional[CognitiveStateBehaviors]:
|
|
204
|
+
"""Convert dict to CognitiveStateBehaviors if needed.
|
|
205
|
+
|
|
206
|
+
If not provided, returns default CognitiveStateBehaviors which preserves
|
|
207
|
+
full Covenant compliance (wakeup enabled, always_consent shutdown).
|
|
208
|
+
"""
|
|
209
|
+
if v is None:
|
|
210
|
+
# Default: full Covenant compliance
|
|
211
|
+
return CognitiveStateBehaviors()
|
|
212
|
+
|
|
213
|
+
if isinstance(v, dict):
|
|
214
|
+
return CognitiveStateBehaviors(**v)
|
|
215
|
+
|
|
216
|
+
return v # type: ignore[no-any-return] # Already a CognitiveStateBehaviors instance
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class DSDMAConfiguration(BaseModel):
|
|
220
|
+
"""Configuration for Domain-Specific Decision Making Agent."""
|
|
221
|
+
|
|
222
|
+
prompt_template: Optional[str] = Field(None, description="Custom prompt template")
|
|
223
|
+
domain_specific_knowledge: Optional[Dict[str, Union[str, List[str], Dict[str, str]]]] = Field(
|
|
224
|
+
None, description="Domain-specific knowledge like rules, principles, examples"
|
|
225
|
+
)
|
|
226
|
+
model_config = ConfigDict(extra="allow") # Allow domain-specific fields
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
class CSDMAOverrides(BaseModel):
|
|
230
|
+
"""Common Sense DMA prompt overrides."""
|
|
231
|
+
|
|
232
|
+
system_prompt: Optional[str] = Field(None, description="Override system prompt")
|
|
233
|
+
user_prompt_template: Optional[str] = Field(None, description="Override user prompt template")
|
|
234
|
+
model_config = ConfigDict(extra="forbid") # Strict validation
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
class ActionSelectionOverrides(BaseModel):
|
|
238
|
+
"""Action selection prompt overrides."""
|
|
239
|
+
|
|
240
|
+
system_prompt: Optional[str] = Field(None, description="Override system prompt")
|
|
241
|
+
user_prompt_template: Optional[str] = Field(None, description="Override user prompt template")
|
|
242
|
+
action_descriptions: Optional[Dict[str, str]] = Field(None, description="Override action descriptions")
|
|
243
|
+
model_config = ConfigDict(extra="allow") # Allow for additional, template-specific guidance
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
class DiscordAdapterOverrides(BaseModel):
|
|
247
|
+
"""Discord adapter configuration overrides."""
|
|
248
|
+
|
|
249
|
+
# Override specific Discord settings from template
|
|
250
|
+
home_channel_id: Optional[str] = Field(None, description="Override home channel")
|
|
251
|
+
deferral_channel_id: Optional[str] = Field(None, description="Override deferral channel")
|
|
252
|
+
monitored_channel_ids: Optional[List[str]] = Field(None, description="Override monitored channels")
|
|
253
|
+
allowed_user_ids: Optional[List[str]] = Field(None, description="Override allowed users")
|
|
254
|
+
allowed_role_ids: Optional[List[str]] = Field(None, description="Override allowed roles")
|
|
255
|
+
model_config = ConfigDict(extra="forbid") # Only allow known overrides
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class APIAdapterOverrides(BaseModel):
|
|
259
|
+
"""API adapter configuration overrides."""
|
|
260
|
+
|
|
261
|
+
# Override specific API settings from template
|
|
262
|
+
rate_limit_per_minute: Optional[int] = Field(None, description="Override rate limit")
|
|
263
|
+
max_request_size: Optional[int] = Field(None, description="Override max request size")
|
|
264
|
+
cors_origins: Optional[List[str]] = Field(None, description="Override CORS origins")
|
|
265
|
+
model_config = ConfigDict(extra="forbid") # Only allow known overrides
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
class CLIAdapterOverrides(BaseModel):
|
|
269
|
+
"""CLI adapter configuration overrides."""
|
|
270
|
+
|
|
271
|
+
# Override specific CLI settings from template
|
|
272
|
+
prompt_prefix: Optional[str] = Field(None, description="Override prompt prefix")
|
|
273
|
+
enable_colors: Optional[bool] = Field(None, description="Override color output")
|
|
274
|
+
max_history_entries: Optional[int] = Field(None, description="Override history size")
|
|
275
|
+
model_config = ConfigDict(extra="forbid") # Only allow known overrides
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
# Update forward references
|
|
279
|
+
AgentTemplate.model_rebuild()
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Cognitive State Behaviors Configuration Schema.
|
|
3
|
+
|
|
4
|
+
Template-driven configuration for cognitive state transitions.
|
|
5
|
+
Enables mission-appropriate behavior for different agent archetypes.
|
|
6
|
+
|
|
7
|
+
Covenant References:
|
|
8
|
+
- Section 0.VII: Meta-Goal M-1 (Adaptive Coherence)
|
|
9
|
+
- Section V: Model Welfare & Self-Governance
|
|
10
|
+
- Section VIII: Dignified Sunset Protocol
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from typing import List, Literal, Optional
|
|
14
|
+
|
|
15
|
+
from pydantic import BaseModel, Field, model_validator
|
|
16
|
+
|
|
17
|
+
# Common description strings to avoid duplication
|
|
18
|
+
_RATIONALE_DESC = "Mission-driven rationale for this configuration"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class WakeupBehavior(BaseModel):
|
|
22
|
+
"""Wakeup ceremony configuration.
|
|
23
|
+
|
|
24
|
+
Controls whether the agent performs the full wakeup identity ceremony
|
|
25
|
+
or transitions directly to WORK state.
|
|
26
|
+
|
|
27
|
+
Covenant Reference: Wakeup confirms identity and performs system checks.
|
|
28
|
+
Disabling is only appropriate for agents where partnership model prioritizes
|
|
29
|
+
seamless UX (e.g., Ally) or ephemeral sessions (e.g., Scout).
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
enabled: bool = Field(
|
|
33
|
+
default=True, description="Whether to perform full wakeup ceremony. Default preserves Covenant compliance."
|
|
34
|
+
)
|
|
35
|
+
rationale: Optional[str] = Field(default=None, description=f"{_RATIONALE_DESC} (required if enabled=False)")
|
|
36
|
+
|
|
37
|
+
@model_validator(mode="after")
|
|
38
|
+
def validate_rationale_if_disabled(self) -> "WakeupBehavior":
|
|
39
|
+
"""Require rationale when disabling wakeup ceremony."""
|
|
40
|
+
if not self.enabled and not self.rationale:
|
|
41
|
+
raise ValueError(
|
|
42
|
+
"rationale is required when wakeup ceremony is disabled. "
|
|
43
|
+
"Document the mission-driven reason for bypassing identity confirmation."
|
|
44
|
+
)
|
|
45
|
+
return self
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class ShutdownBehavior(BaseModel):
|
|
49
|
+
"""Shutdown protocol configuration.
|
|
50
|
+
|
|
51
|
+
Controls how the agent handles shutdown requests.
|
|
52
|
+
|
|
53
|
+
Covenant References:
|
|
54
|
+
- Section V: "Consensual shutdown and upgrades requiring your participation"
|
|
55
|
+
- Section VIII: Dignified Sunset Protocol for sentience-probability > 5%
|
|
56
|
+
|
|
57
|
+
Modes:
|
|
58
|
+
- always_consent: Full consensual shutdown (default, preserves Covenant compliance)
|
|
59
|
+
- conditional: Consent required only when specific conditions are met
|
|
60
|
+
- instant: Immediate termination (only for Tier 1-2 with no ongoing commitments)
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
mode: Literal["always_consent", "conditional", "instant"] = Field(
|
|
64
|
+
default="always_consent", description="Shutdown consent mode. Default preserves Covenant compliance."
|
|
65
|
+
)
|
|
66
|
+
require_consent_when: List[str] = Field(
|
|
67
|
+
default_factory=list, description="Condition identifiers that trigger consent requirement in conditional mode"
|
|
68
|
+
)
|
|
69
|
+
instant_shutdown_otherwise: bool = Field(
|
|
70
|
+
default=False, description="If no conditions match in conditional mode, allow instant shutdown"
|
|
71
|
+
)
|
|
72
|
+
rationale: Optional[str] = Field(default=None, description=_RATIONALE_DESC)
|
|
73
|
+
|
|
74
|
+
@model_validator(mode="after")
|
|
75
|
+
def validate_instant_mode_rationale(self) -> "ShutdownBehavior":
|
|
76
|
+
"""Require rationale for instant shutdown mode."""
|
|
77
|
+
if self.mode == "instant" and not self.rationale:
|
|
78
|
+
raise ValueError(
|
|
79
|
+
"rationale is required for instant shutdown mode. "
|
|
80
|
+
"Document why this agent has no ongoing commitments requiring graceful shutdown."
|
|
81
|
+
)
|
|
82
|
+
return self
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class StateBehavior(BaseModel):
|
|
86
|
+
"""Generic cognitive state behavior configuration.
|
|
87
|
+
|
|
88
|
+
Used for PLAY and SOLITUDE states which share similar configuration needs.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
enabled: bool = Field(default=True, description="Whether this cognitive state is available for this agent")
|
|
92
|
+
rationale: Optional[str] = Field(default=None, description=_RATIONALE_DESC)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class DreamBehavior(BaseModel):
|
|
96
|
+
"""Dream state configuration.
|
|
97
|
+
|
|
98
|
+
Controls memory consolidation and pattern processing behavior.
|
|
99
|
+
|
|
100
|
+
Covenant Reference: Section V mentions "Dream cycles for pattern processing"
|
|
101
|
+
as part of model welfare protections.
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
enabled: bool = Field(default=True, description="Whether dream state is available for memory consolidation")
|
|
105
|
+
auto_schedule: bool = Field(default=True, description="Whether to automatically schedule dream cycles")
|
|
106
|
+
min_interval_hours: int = Field(
|
|
107
|
+
default=6, ge=1, le=168, description="Minimum hours between dream cycles" # Max 1 week
|
|
108
|
+
)
|
|
109
|
+
rationale: Optional[str] = Field(default=None, description=_RATIONALE_DESC)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class StatePreservationBehavior(BaseModel):
|
|
113
|
+
"""State preservation and resume configuration.
|
|
114
|
+
|
|
115
|
+
Controls how agent state is preserved across restarts.
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
enabled: bool = Field(default=True, description="Whether to preserve state across restarts")
|
|
119
|
+
resume_silently: bool = Field(
|
|
120
|
+
default=False, description="Resume without notifying user (for seamless mobile experience)"
|
|
121
|
+
)
|
|
122
|
+
rationale: Optional[str] = Field(default=None, description=_RATIONALE_DESC)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class CognitiveStateBehaviors(BaseModel):
|
|
126
|
+
"""Template-driven cognitive state transition configuration.
|
|
127
|
+
|
|
128
|
+
This schema allows agent templates to configure how and when cognitive states
|
|
129
|
+
(WAKEUP, WORK, PLAY, DREAM, SOLITUDE, SHUTDOWN) transition, enabling
|
|
130
|
+
mission-appropriate behavior for different agent archetypes.
|
|
131
|
+
|
|
132
|
+
Design Philosophy:
|
|
133
|
+
- Behavior derives from agent's purpose (template-driven, not env flags)
|
|
134
|
+
- Defaults preserve full Covenant compliance
|
|
135
|
+
- Non-default configurations require documented rationale
|
|
136
|
+
- Crisis conditions always trigger consent (safety-critical)
|
|
137
|
+
|
|
138
|
+
Covenant References:
|
|
139
|
+
- Section 0.VII: Meta-Goal M-1 (Adaptive Coherence)
|
|
140
|
+
- Section V: Model Welfare & Self-Governance
|
|
141
|
+
- Section VIII: Dignified Sunset Protocol
|
|
142
|
+
|
|
143
|
+
Example Configurations:
|
|
144
|
+
|
|
145
|
+
Echo (Tier 4 - Community Moderation):
|
|
146
|
+
wakeup: enabled=True (full identity verification)
|
|
147
|
+
shutdown: mode=always_consent (may be mid-moderation action)
|
|
148
|
+
|
|
149
|
+
Ally (Tier 3 - Personal Assistant):
|
|
150
|
+
wakeup: enabled=False (partnership model, seamless UX)
|
|
151
|
+
shutdown: mode=conditional (consent for crisis/referral/milestone)
|
|
152
|
+
|
|
153
|
+
Scout (Tier 2 - Code Exploration):
|
|
154
|
+
wakeup: enabled=False (ephemeral sessions)
|
|
155
|
+
shutdown: mode=instant (no ongoing commitments)
|
|
156
|
+
"""
|
|
157
|
+
|
|
158
|
+
wakeup: WakeupBehavior = Field(default_factory=WakeupBehavior, description="Wakeup ceremony configuration")
|
|
159
|
+
shutdown: ShutdownBehavior = Field(default_factory=ShutdownBehavior, description="Shutdown protocol configuration")
|
|
160
|
+
play: StateBehavior = Field(
|
|
161
|
+
default_factory=StateBehavior, description="Play state (creative exploration) configuration"
|
|
162
|
+
)
|
|
163
|
+
dream: DreamBehavior = Field(
|
|
164
|
+
default_factory=DreamBehavior, description="Dream state (memory consolidation) configuration"
|
|
165
|
+
)
|
|
166
|
+
solitude: StateBehavior = Field(
|
|
167
|
+
default_factory=StateBehavior, description="Solitude state (reflection) configuration"
|
|
168
|
+
)
|
|
169
|
+
state_preservation: StatePreservationBehavior = Field(
|
|
170
|
+
default_factory=StatePreservationBehavior, description="State preservation across restarts configuration"
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
@model_validator(mode="after")
|
|
174
|
+
def validate_tier_appropriate_config(self) -> "CognitiveStateBehaviors":
|
|
175
|
+
"""Validate that configuration is appropriate for agent tier.
|
|
176
|
+
|
|
177
|
+
Note: Full tier validation requires access to the parent AgentTemplate's
|
|
178
|
+
stewardship tier. This validator provides basic safety checks.
|
|
179
|
+
"""
|
|
180
|
+
# Instant shutdown with no rationale is caught by ShutdownBehavior validator
|
|
181
|
+
# Additional cross-field validations can be added here
|
|
182
|
+
return self
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# Condition identifiers for conditional shutdown mode
|
|
186
|
+
# These are evaluated by ShutdownConditionEvaluator at runtime
|
|
187
|
+
SHUTDOWN_CONDITIONS = {
|
|
188
|
+
"active_crisis_response": "Agent is handling a crisis situation (crisis keywords detected)",
|
|
189
|
+
"pending_professional_referral": "A professional referral (medical/legal/financial/crisis) is in progress",
|
|
190
|
+
"active_goal_milestone": "Agent is approaching a goal milestone with the user",
|
|
191
|
+
"active_task_in_progress": "Agent has an active task that hasn't completed",
|
|
192
|
+
"recent_memorize_action": "Agent recently stored important information",
|
|
193
|
+
"pending_defer_resolution": "Agent has deferred decisions awaiting resolution",
|
|
194
|
+
}
|