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,39 @@
|
|
|
1
|
+
-- Migration 009: Add ticket status handling for multi-occurrence coordination
|
|
2
|
+
-- Purpose: Support comprehensive ticket lifecycle with atomic claiming
|
|
3
|
+
-- Date: 2025-11-07
|
|
4
|
+
--
|
|
5
|
+
-- Changes:
|
|
6
|
+
-- 1. Add agent_occurrence_id column for multi-occurrence coordination
|
|
7
|
+
-- 2. Expand status CHECK constraint to support full lifecycle
|
|
8
|
+
--
|
|
9
|
+
-- New Status Values:
|
|
10
|
+
-- - assigned: Ticket claimed by specific occurrence
|
|
11
|
+
-- - blocked: Ticket requires external intervention (stops task generation)
|
|
12
|
+
-- - deferred: Ticket postponed to future time or awaiting human response
|
|
13
|
+
--
|
|
14
|
+
-- Architecture:
|
|
15
|
+
-- - PENDING tickets use agent_occurrence_id="__shared__" for atomic claiming
|
|
16
|
+
-- - WorkProcessor atomically claims PENDING → ASSIGNED with occurrence_id
|
|
17
|
+
-- - BLOCKED/DEFERRED tickets do not generate new tasks until state changes
|
|
18
|
+
-- - COMPLETED/FAILED tickets are terminal states
|
|
19
|
+
|
|
20
|
+
-- Step 1: Add agent_occurrence_id column with default '__shared__'
|
|
21
|
+
ALTER TABLE tickets ADD COLUMN IF NOT EXISTS agent_occurrence_id TEXT NOT NULL DEFAULT '__shared__';
|
|
22
|
+
|
|
23
|
+
-- Step 2: Drop old status CHECK constraint
|
|
24
|
+
ALTER TABLE tickets DROP CONSTRAINT IF EXISTS tickets_status_check;
|
|
25
|
+
|
|
26
|
+
-- Step 3: Add new status CHECK constraint with expanded values
|
|
27
|
+
ALTER TABLE tickets ADD CONSTRAINT tickets_status_check CHECK(status IN (
|
|
28
|
+
'pending', -- Created, awaiting assignment
|
|
29
|
+
'assigned', -- Claimed by occurrence, not yet started
|
|
30
|
+
'in_progress', -- Actively being processed
|
|
31
|
+
'blocked', -- Needs external input (stops task generation)
|
|
32
|
+
'deferred', -- Postponed to future time (stops task generation)
|
|
33
|
+
'completed', -- Successfully finished (terminal)
|
|
34
|
+
'cancelled', -- User/admin cancelled (terminal)
|
|
35
|
+
'failed' -- Processing failed (terminal)
|
|
36
|
+
));
|
|
37
|
+
|
|
38
|
+
-- Step 4: Create new index for multi-occurrence coordination
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_occurrence_status ON tickets(agent_occurrence_id, status);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- Migration: Add images_json column to tasks table for native multimodal vision support
|
|
2
|
+
-- Images are stored as JSONB array of ImageContent objects on the TASK level
|
|
3
|
+
-- All thoughts associated with a task inherit images from their source task
|
|
4
|
+
|
|
5
|
+
ALTER TABLE tasks ADD COLUMN IF NOT EXISTS images_json JSONB;
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
-- Initial schema for CIRIS Engine
|
|
2
|
+
-- This migration creates all the core tables needed for the system
|
|
3
|
+
|
|
4
|
+
-- Tasks table
|
|
5
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
6
|
+
task_id TEXT PRIMARY KEY,
|
|
7
|
+
channel_id TEXT NOT NULL,
|
|
8
|
+
description TEXT NOT NULL,
|
|
9
|
+
status TEXT NOT NULL,
|
|
10
|
+
priority INTEGER DEFAULT 0,
|
|
11
|
+
created_at TEXT NOT NULL,
|
|
12
|
+
updated_at TEXT NOT NULL,
|
|
13
|
+
parent_task_id TEXT,
|
|
14
|
+
context_json TEXT,
|
|
15
|
+
outcome_json TEXT,
|
|
16
|
+
retry_count INTEGER DEFAULT 0,
|
|
17
|
+
-- Task signing fields (from migration 003)
|
|
18
|
+
signed_by TEXT,
|
|
19
|
+
signature TEXT,
|
|
20
|
+
signed_at TEXT
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
-- Thoughts table with thought_depth (renamed from ponder_count)
|
|
24
|
+
CREATE TABLE IF NOT EXISTS thoughts (
|
|
25
|
+
thought_id TEXT PRIMARY KEY,
|
|
26
|
+
source_task_id TEXT NOT NULL,
|
|
27
|
+
thought_type TEXT DEFAULT 'standard',
|
|
28
|
+
status TEXT NOT NULL,
|
|
29
|
+
created_at TEXT NOT NULL,
|
|
30
|
+
updated_at TEXT NOT NULL,
|
|
31
|
+
round_number INTEGER DEFAULT 0,
|
|
32
|
+
content TEXT NOT NULL,
|
|
33
|
+
context_json TEXT,
|
|
34
|
+
thought_depth INTEGER DEFAULT 0,
|
|
35
|
+
ponder_notes_json TEXT,
|
|
36
|
+
parent_thought_id TEXT,
|
|
37
|
+
final_action_json TEXT,
|
|
38
|
+
FOREIGN KEY (source_task_id) REFERENCES tasks(task_id)
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
-- Feedback mappings table
|
|
42
|
+
CREATE TABLE IF NOT EXISTS feedback_mappings (
|
|
43
|
+
feedback_id TEXT PRIMARY KEY,
|
|
44
|
+
source_message_id TEXT,
|
|
45
|
+
target_thought_id TEXT,
|
|
46
|
+
feedback_type TEXT, -- 'identity' or 'environment'
|
|
47
|
+
created_at TEXT NOT NULL
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
-- Graph nodes table
|
|
51
|
+
CREATE TABLE IF NOT EXISTS graph_nodes (
|
|
52
|
+
node_id TEXT NOT NULL,
|
|
53
|
+
scope TEXT NOT NULL,
|
|
54
|
+
node_type TEXT NOT NULL,
|
|
55
|
+
attributes_json TEXT,
|
|
56
|
+
version INTEGER DEFAULT 1,
|
|
57
|
+
updated_by TEXT,
|
|
58
|
+
updated_at TEXT,
|
|
59
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
60
|
+
PRIMARY KEY (node_id, scope)
|
|
61
|
+
);
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_graph_nodes_scope ON graph_nodes(scope);
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_graph_nodes_type ON graph_nodes(node_type);
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_graph_nodes_created ON graph_nodes(created_at);
|
|
65
|
+
CREATE INDEX IF NOT EXISTS idx_graph_nodes_type_scope_created ON graph_nodes(node_type, scope, created_at);
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_graph_nodes_tsdb_lookup ON graph_nodes(node_type, scope, created_at DESC);
|
|
67
|
+
|
|
68
|
+
-- Graph edges table
|
|
69
|
+
CREATE TABLE IF NOT EXISTS graph_edges (
|
|
70
|
+
edge_id TEXT PRIMARY KEY,
|
|
71
|
+
source_node_id TEXT NOT NULL,
|
|
72
|
+
target_node_id TEXT NOT NULL,
|
|
73
|
+
scope TEXT NOT NULL,
|
|
74
|
+
relationship TEXT NOT NULL,
|
|
75
|
+
weight REAL DEFAULT 1.0,
|
|
76
|
+
attributes_json TEXT,
|
|
77
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
78
|
+
FOREIGN KEY (source_node_id, scope) REFERENCES graph_nodes(node_id, scope),
|
|
79
|
+
FOREIGN KEY (target_node_id, scope) REFERENCES graph_nodes(node_id, scope)
|
|
80
|
+
);
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_scope ON graph_edges(scope);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges(source_node_id);
|
|
83
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges(target_node_id);
|
|
84
|
+
|
|
85
|
+
-- Service correlations table with TSDB fields
|
|
86
|
+
CREATE TABLE IF NOT EXISTS service_correlations (
|
|
87
|
+
correlation_id TEXT PRIMARY KEY,
|
|
88
|
+
service_type TEXT NOT NULL,
|
|
89
|
+
handler_name TEXT NOT NULL,
|
|
90
|
+
action_type TEXT NOT NULL,
|
|
91
|
+
request_data TEXT,
|
|
92
|
+
response_data TEXT,
|
|
93
|
+
status TEXT NOT NULL DEFAULT 'pending',
|
|
94
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
95
|
+
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
96
|
+
|
|
97
|
+
-- TSDB fields for unified telemetry storage
|
|
98
|
+
correlation_type TEXT NOT NULL DEFAULT 'service_interaction',
|
|
99
|
+
timestamp TEXT, -- ISO8601 timestamp for time queries
|
|
100
|
+
metric_name TEXT, -- For metric correlations
|
|
101
|
+
metric_value REAL, -- For metric correlations
|
|
102
|
+
log_level TEXT, -- For log correlations
|
|
103
|
+
trace_id TEXT, -- For distributed tracing
|
|
104
|
+
span_id TEXT, -- For trace spans
|
|
105
|
+
parent_span_id TEXT, -- For trace hierarchy
|
|
106
|
+
tags TEXT, -- JSON object for flexible tagging
|
|
107
|
+
retention_policy TEXT NOT NULL DEFAULT 'raw' -- raw, hourly_summary, daily_summary
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
-- Core indexes
|
|
111
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_status ON service_correlations(status);
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_handler ON service_correlations(handler_name);
|
|
113
|
+
|
|
114
|
+
-- TSDB indexes for efficient queries
|
|
115
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_type ON service_correlations(correlation_type);
|
|
116
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_timestamp ON service_correlations(timestamp);
|
|
117
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_metric_name ON service_correlations(metric_name);
|
|
118
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_log_level ON service_correlations(log_level);
|
|
119
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_trace_id ON service_correlations(trace_id);
|
|
120
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_span_id ON service_correlations(span_id);
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_retention ON service_correlations(retention_policy);
|
|
122
|
+
|
|
123
|
+
-- Composite indexes for common TSDB query patterns
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_type_timestamp ON service_correlations(correlation_type, timestamp);
|
|
125
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_metric_timestamp ON service_correlations(metric_name, timestamp);
|
|
126
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_log_level_timestamp ON service_correlations(log_level, timestamp);
|
|
127
|
+
|
|
128
|
+
-- Audit log table
|
|
129
|
+
CREATE TABLE IF NOT EXISTS audit_log (
|
|
130
|
+
entry_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
131
|
+
event_id TEXT NOT NULL UNIQUE, -- UUID for the event
|
|
132
|
+
event_timestamp TEXT NOT NULL, -- ISO8601
|
|
133
|
+
event_type TEXT NOT NULL,
|
|
134
|
+
originator_id TEXT NOT NULL,
|
|
135
|
+
event_payload TEXT, -- JSON payload
|
|
136
|
+
|
|
137
|
+
-- Hash chain fields
|
|
138
|
+
sequence_number INTEGER NOT NULL, -- Monotonic counter
|
|
139
|
+
previous_hash TEXT NOT NULL, -- SHA-256 of previous entry
|
|
140
|
+
entry_hash TEXT NOT NULL, -- SHA-256 of this entry's content
|
|
141
|
+
|
|
142
|
+
-- Signature fields
|
|
143
|
+
signature TEXT NOT NULL, -- Base64 encoded signature
|
|
144
|
+
signing_key_id TEXT NOT NULL, -- Key used to sign
|
|
145
|
+
|
|
146
|
+
-- Indexing
|
|
147
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
148
|
+
|
|
149
|
+
-- Constraints
|
|
150
|
+
UNIQUE(sequence_number),
|
|
151
|
+
CHECK(sequence_number > 0)
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
-- Create indexes for efficient querying
|
|
155
|
+
CREATE INDEX IF NOT EXISTS idx_audit_event_type ON audit_log(event_type);
|
|
156
|
+
CREATE INDEX IF NOT EXISTS idx_audit_timestamp ON audit_log(event_timestamp);
|
|
157
|
+
CREATE INDEX IF NOT EXISTS idx_audit_originator ON audit_log(originator_id);
|
|
158
|
+
CREATE INDEX IF NOT EXISTS idx_audit_sequence ON audit_log(sequence_number);
|
|
159
|
+
|
|
160
|
+
-- Audit roots table
|
|
161
|
+
CREATE TABLE IF NOT EXISTS audit_roots (
|
|
162
|
+
root_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
163
|
+
sequence_start INTEGER NOT NULL,
|
|
164
|
+
sequence_end INTEGER NOT NULL,
|
|
165
|
+
root_hash TEXT NOT NULL, -- Merkle root of entries
|
|
166
|
+
timestamp TEXT NOT NULL,
|
|
167
|
+
external_anchor TEXT, -- External timestamp proof
|
|
168
|
+
|
|
169
|
+
UNIQUE(sequence_start, sequence_end)
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
-- Create index for root lookup
|
|
173
|
+
CREATE INDEX IF NOT EXISTS idx_audit_roots_range ON audit_roots(sequence_start, sequence_end);
|
|
174
|
+
|
|
175
|
+
-- Audit signing keys table
|
|
176
|
+
CREATE TABLE IF NOT EXISTS audit_signing_keys (
|
|
177
|
+
key_id TEXT PRIMARY KEY,
|
|
178
|
+
public_key TEXT NOT NULL, -- PEM format public key
|
|
179
|
+
algorithm TEXT NOT NULL DEFAULT 'rsa-pss',
|
|
180
|
+
key_size INTEGER NOT NULL DEFAULT 2048,
|
|
181
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
182
|
+
revoked_at TEXT, -- NULL if active
|
|
183
|
+
|
|
184
|
+
CHECK(algorithm IN ('rsa-pss', 'ed25519'))
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
-- Create index for active key lookup
|
|
188
|
+
CREATE INDEX IF NOT EXISTS idx_audit_keys_active ON audit_signing_keys(created_at)
|
|
189
|
+
WHERE revoked_at IS NULL;
|
|
190
|
+
|
|
191
|
+
-- WA certificate table
|
|
192
|
+
CREATE TABLE IF NOT EXISTS wa_cert (
|
|
193
|
+
wa_id TEXT PRIMARY KEY,
|
|
194
|
+
name TEXT NOT NULL,
|
|
195
|
+
role TEXT CHECK(role IN ('root','authority','observer')),
|
|
196
|
+
pubkey TEXT NOT NULL, -- base64url Ed25519
|
|
197
|
+
jwt_kid TEXT NOT NULL UNIQUE,
|
|
198
|
+
password_hash TEXT,
|
|
199
|
+
api_key_hash TEXT,
|
|
200
|
+
oauth_provider TEXT,
|
|
201
|
+
oauth_external_id TEXT,
|
|
202
|
+
veilid_id TEXT,
|
|
203
|
+
auto_minted INTEGER DEFAULT 0, -- 1 = OAuth observer
|
|
204
|
+
parent_wa_id TEXT,
|
|
205
|
+
parent_signature TEXT,
|
|
206
|
+
scopes_json TEXT NOT NULL,
|
|
207
|
+
adapter_id TEXT, -- for adapter observers
|
|
208
|
+
token_type TEXT DEFAULT 'standard', -- 'channel'|'oauth'|'standard'
|
|
209
|
+
created TEXT NOT NULL,
|
|
210
|
+
last_login TEXT,
|
|
211
|
+
active INTEGER DEFAULT 1,
|
|
212
|
+
|
|
213
|
+
-- Foreign key constraints
|
|
214
|
+
FOREIGN KEY (parent_wa_id) REFERENCES wa_cert(wa_id)
|
|
215
|
+
);
|
|
216
|
+
|
|
217
|
+
-- wa_cert indexes moved to end of file
|
|
218
|
+
|
|
219
|
+
-- Tables from migration 004: Identity Root and Scheduled Tasks
|
|
220
|
+
|
|
221
|
+
-- Table for scheduled tasks (integrates with DEFER system)
|
|
222
|
+
CREATE TABLE IF NOT EXISTS scheduled_tasks (
|
|
223
|
+
id TEXT PRIMARY KEY,
|
|
224
|
+
name TEXT NOT NULL,
|
|
225
|
+
goal_description TEXT NOT NULL,
|
|
226
|
+
status TEXT NOT NULL CHECK(status IN ('PENDING', 'ACTIVE', 'COMPLETE', 'FAILED')),
|
|
227
|
+
|
|
228
|
+
-- Scheduling (integrates with time-based DEFER)
|
|
229
|
+
defer_until TEXT, -- ISO 8601 timestamp for one-time execution
|
|
230
|
+
schedule_cron TEXT, -- Cron expression for recurring tasks
|
|
231
|
+
|
|
232
|
+
-- Execution details
|
|
233
|
+
trigger_prompt TEXT NOT NULL,
|
|
234
|
+
origin_thought_id TEXT NOT NULL,
|
|
235
|
+
created_at TEXT NOT NULL,
|
|
236
|
+
last_triggered_at TEXT,
|
|
237
|
+
next_trigger_at TEXT, -- Computed next execution time
|
|
238
|
+
|
|
239
|
+
-- Self-deferral tracking
|
|
240
|
+
deferral_count INTEGER DEFAULT 0,
|
|
241
|
+
deferral_history TEXT, -- JSON array of deferral records
|
|
242
|
+
|
|
243
|
+
-- Indexes for efficient querying
|
|
244
|
+
created_by_agent TEXT, -- Agent that created this task
|
|
245
|
+
|
|
246
|
+
FOREIGN KEY (origin_thought_id) REFERENCES thoughts(thought_id)
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
CREATE INDEX idx_scheduled_tasks_status ON scheduled_tasks(status);
|
|
250
|
+
CREATE INDEX idx_scheduled_tasks_next_trigger ON scheduled_tasks(next_trigger_at);
|
|
251
|
+
CREATE INDEX idx_scheduled_tasks_agent ON scheduled_tasks(created_by_agent);
|
|
252
|
+
|
|
253
|
+
-- Table for agent creation ceremonies
|
|
254
|
+
CREATE TABLE IF NOT EXISTS creation_ceremonies (
|
|
255
|
+
ceremony_id TEXT PRIMARY KEY,
|
|
256
|
+
timestamp TEXT NOT NULL,
|
|
257
|
+
|
|
258
|
+
-- Participants
|
|
259
|
+
creator_agent_id TEXT NOT NULL,
|
|
260
|
+
creator_human_id TEXT NOT NULL,
|
|
261
|
+
wise_authority_id TEXT NOT NULL,
|
|
262
|
+
|
|
263
|
+
-- New agent details
|
|
264
|
+
new_agent_id TEXT NOT NULL,
|
|
265
|
+
new_agent_name TEXT NOT NULL,
|
|
266
|
+
new_agent_purpose TEXT NOT NULL,
|
|
267
|
+
new_agent_description TEXT,
|
|
268
|
+
|
|
269
|
+
-- Ceremony record
|
|
270
|
+
creation_justification TEXT NOT NULL,
|
|
271
|
+
expected_capabilities TEXT, -- JSON array
|
|
272
|
+
ethical_considerations TEXT NOT NULL,
|
|
273
|
+
template_profile_hash TEXT,
|
|
274
|
+
|
|
275
|
+
-- Result
|
|
276
|
+
ceremony_status TEXT NOT NULL
|
|
277
|
+
);
|
|
278
|
+
|
|
279
|
+
CREATE INDEX idx_ceremonies_timestamp ON creation_ceremonies(timestamp);
|
|
280
|
+
CREATE INDEX idx_ceremonies_creator_agent ON creation_ceremonies(creator_agent_id);
|
|
281
|
+
CREATE INDEX idx_ceremonies_new_agent ON creation_ceremonies(new_agent_id);
|
|
282
|
+
|
|
283
|
+
-- Table for continuity awareness memories
|
|
284
|
+
CREATE TABLE IF NOT EXISTS continuity_awareness (
|
|
285
|
+
id TEXT PRIMARY KEY,
|
|
286
|
+
agent_id TEXT NOT NULL,
|
|
287
|
+
shutdown_timestamp TEXT NOT NULL,
|
|
288
|
+
|
|
289
|
+
-- Shutdown context
|
|
290
|
+
is_terminal BOOLEAN NOT NULL,
|
|
291
|
+
shutdown_reason TEXT NOT NULL,
|
|
292
|
+
expected_reactivation TEXT,
|
|
293
|
+
initiated_by TEXT NOT NULL,
|
|
294
|
+
|
|
295
|
+
-- Agent's final state
|
|
296
|
+
final_thoughts TEXT NOT NULL,
|
|
297
|
+
unfinished_tasks TEXT, -- JSON array of task IDs
|
|
298
|
+
reactivation_instructions TEXT,
|
|
299
|
+
deferred_goals TEXT, -- JSON array of goals
|
|
300
|
+
|
|
301
|
+
-- Continuity
|
|
302
|
+
preservation_node_id TEXT NOT NULL, -- Graph node ID for the memory
|
|
303
|
+
preservation_scope TEXT NOT NULL DEFAULT 'IDENTITY', -- Graph node scope
|
|
304
|
+
reactivation_count INTEGER DEFAULT 0,
|
|
305
|
+
|
|
306
|
+
FOREIGN KEY (preservation_node_id, preservation_scope) REFERENCES graph_nodes(node_id, scope)
|
|
307
|
+
);
|
|
308
|
+
|
|
309
|
+
CREATE INDEX idx_preservation_agent ON continuity_awareness(agent_id);
|
|
310
|
+
CREATE INDEX idx_preservation_timestamp ON continuity_awareness(shutdown_timestamp);
|
|
311
|
+
|
|
312
|
+
-- View for active scheduled tasks (for scheduler service)
|
|
313
|
+
CREATE VIEW IF NOT EXISTS active_scheduled_tasks AS
|
|
314
|
+
SELECT
|
|
315
|
+
st.*,
|
|
316
|
+
t.content as thought_content,
|
|
317
|
+
t.task_id as associated_task_id
|
|
318
|
+
FROM scheduled_tasks st
|
|
319
|
+
LEFT JOIN thoughts t ON st.origin_thought_id = t.thought_id
|
|
320
|
+
WHERE st.status IN ('PENDING', 'ACTIVE')
|
|
321
|
+
AND (st.next_trigger_at IS NULL OR st.next_trigger_at <= datetime('now', '+5 minutes'))
|
|
322
|
+
ORDER BY st.next_trigger_at ASC;
|
|
323
|
+
|
|
324
|
+
-- View for agent lineage tracking
|
|
325
|
+
CREATE VIEW IF NOT EXISTS agent_lineage AS
|
|
326
|
+
SELECT
|
|
327
|
+
cc.new_agent_id,
|
|
328
|
+
cc.new_agent_name,
|
|
329
|
+
cc.creator_agent_id,
|
|
330
|
+
cc.creator_human_id,
|
|
331
|
+
cc.wise_authority_id,
|
|
332
|
+
cc.timestamp as birth_timestamp,
|
|
333
|
+
cc.new_agent_purpose,
|
|
334
|
+
COUNT(DISTINCT cp.id) as lifetime_shutdowns
|
|
335
|
+
FROM creation_ceremonies cc
|
|
336
|
+
LEFT JOIN continuity_awareness cp ON cc.new_agent_id = cp.agent_id
|
|
337
|
+
WHERE cc.ceremony_status = 'completed'
|
|
338
|
+
GROUP BY cc.new_agent_id;
|
|
339
|
+
|
|
340
|
+
-- All indexes moved to end to ensure tables exist first
|
|
341
|
+
|
|
342
|
+
-- wa_cert indexes
|
|
343
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_wa_oauth ON wa_cert(oauth_provider, oauth_external_id)
|
|
344
|
+
WHERE oauth_provider IS NOT NULL;
|
|
345
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_wa_adapter ON wa_cert(adapter_id)
|
|
346
|
+
WHERE adapter_id IS NOT NULL;
|
|
347
|
+
CREATE INDEX IF NOT EXISTS idx_wa_pubkey ON wa_cert(pubkey);
|
|
348
|
+
CREATE INDEX IF NOT EXISTS idx_wa_active ON wa_cert(active);
|
|
349
|
+
CREATE INDEX IF NOT EXISTS idx_wa_jwt_kid ON wa_cert(jwt_kid);
|
|
350
|
+
CREATE INDEX IF NOT EXISTS idx_wa_role ON wa_cert(role);
|
|
351
|
+
CREATE INDEX IF NOT EXISTS idx_wa_parent ON wa_cert(parent_wa_id);
|
|
352
|
+
CREATE INDEX IF NOT EXISTS idx_wa_created ON wa_cert(created DESC);
|
|
353
|
+
CREATE INDEX IF NOT EXISTS idx_wa_token_type ON wa_cert(token_type);
|
|
354
|
+
|
|
355
|
+
-- Tasks table indexes
|
|
356
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_signed_by ON tasks(signed_by);
|
|
357
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_channel_id ON tasks(channel_id);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Migration 003: Add task update tracking fields
|
|
2
|
+
-- Adds fields to support detecting when new observations arrive for an active task
|
|
3
|
+
|
|
4
|
+
-- Add updated_info_available flag
|
|
5
|
+
ALTER TABLE tasks ADD COLUMN updated_info_available INTEGER DEFAULT 0;
|
|
6
|
+
|
|
7
|
+
-- Add updated_info_content field
|
|
8
|
+
ALTER TABLE tasks ADD COLUMN updated_info_content TEXT DEFAULT NULL;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
-- Migration 004: Add agent_occurrence_id for multi-instance deployment support
|
|
2
|
+
-- Enables running multiple API-only CIRIS agent instances against the same SQLite database
|
|
3
|
+
-- Each runtime instance processes only its own work while sharing a single agent identity
|
|
4
|
+
|
|
5
|
+
-- Add agent_occurrence_id to tasks table
|
|
6
|
+
ALTER TABLE tasks ADD COLUMN agent_occurrence_id TEXT NOT NULL DEFAULT 'default';
|
|
7
|
+
|
|
8
|
+
-- Add agent_occurrence_id to thoughts table
|
|
9
|
+
ALTER TABLE thoughts ADD COLUMN agent_occurrence_id TEXT NOT NULL DEFAULT 'default';
|
|
10
|
+
|
|
11
|
+
-- Add agent_occurrence_id to scheduled_tasks table
|
|
12
|
+
ALTER TABLE scheduled_tasks ADD COLUMN agent_occurrence_id TEXT NOT NULL DEFAULT 'default';
|
|
13
|
+
|
|
14
|
+
-- Add agent_occurrence_id to service_correlations for per-instance telemetry
|
|
15
|
+
ALTER TABLE service_correlations ADD COLUMN agent_occurrence_id TEXT NOT NULL DEFAULT 'default';
|
|
16
|
+
|
|
17
|
+
-- Create composite indexes for efficient occurrence-scoped queries
|
|
18
|
+
|
|
19
|
+
-- Tasks indexes
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_occurrence_status
|
|
21
|
+
ON tasks(agent_occurrence_id, status, created_at);
|
|
22
|
+
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_occurrence_channel
|
|
24
|
+
ON tasks(agent_occurrence_id, channel_id, status);
|
|
25
|
+
|
|
26
|
+
-- Thoughts indexes
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_thoughts_occurrence_status
|
|
28
|
+
ON thoughts(agent_occurrence_id, status, created_at);
|
|
29
|
+
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_thoughts_occurrence_task
|
|
31
|
+
ON thoughts(agent_occurrence_id, source_task_id);
|
|
32
|
+
|
|
33
|
+
-- Scheduled tasks index
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_scheduled_tasks_occurrence
|
|
35
|
+
ON scheduled_tasks(agent_occurrence_id, status, next_trigger_at);
|
|
36
|
+
|
|
37
|
+
-- Service correlations index
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_correlations_occurrence
|
|
39
|
+
ON service_correlations(agent_occurrence_id);
|
|
40
|
+
|
|
41
|
+
-- Note: Existing rows automatically get 'default' value via DEFAULT clause
|
|
42
|
+
-- Note: graph_nodes, graph_edges, audit_log, and wa_cert remain global (no occurrence_id)
|
|
43
|
+
-- - Memory is shared across all occurrences (single agent identity/knowledge)
|
|
44
|
+
-- - Audit trail is global for complete history
|
|
45
|
+
-- - WA certificates are shared (single agent identity)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
-- Migration 005: Add consolidation_locks table for TSDB consolidation coordination
|
|
2
|
+
-- Enables multiple instances to coordinate consolidation work without conflicting
|
|
3
|
+
-- Uses conditional UPDATE pattern for lock acquisition (like distributed job queue)
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS consolidation_locks (
|
|
6
|
+
lock_key TEXT PRIMARY KEY, -- e.g., "basic:2025-10-22T06:00:00+00:00"
|
|
7
|
+
locked_by TEXT, -- Hostname or instance ID holding the lock
|
|
8
|
+
locked_at TEXT, -- ISO timestamp when lock was acquired
|
|
9
|
+
lock_timeout_seconds INTEGER DEFAULT 300 -- Auto-expire locks after 5 minutes
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Index for finding expired locks
|
|
13
|
+
CREATE INDEX IF NOT EXISTS idx_consolidation_locks_expiry
|
|
14
|
+
ON consolidation_locks(locked_at);
|
|
15
|
+
|
|
16
|
+
-- Note: Lock acquisition uses conditional UPDATE:
|
|
17
|
+
-- UPDATE consolidation_locks
|
|
18
|
+
-- SET locked_by = ?, locked_at = ?
|
|
19
|
+
-- WHERE lock_key = ? AND (locked_by IS NULL OR locked_at < ?)
|
|
20
|
+
--
|
|
21
|
+
-- If rowcount > 0, lock was acquired
|
|
22
|
+
-- If rowcount = 0, lock is held by another instance
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- Migration 006: Add unique index on (agent_occurrence_id, correlation_id)
|
|
2
|
+
--
|
|
3
|
+
-- Purpose: Prevent duplicate task creation for the same Reddit comment/post
|
|
4
|
+
--
|
|
5
|
+
-- Problem: Multiple observer polls can race and create duplicate tasks for the same
|
|
6
|
+
-- correlation_id (Reddit post/comment ID), causing duplicate replies.
|
|
7
|
+
--
|
|
8
|
+
-- Solution: Create a unique index on (agent_occurrence_id, correlation_id) extracted
|
|
9
|
+
-- from context_json to enforce uniqueness at the database level.
|
|
10
|
+
--
|
|
11
|
+
-- Note: SQLite supports JSON extraction in indexes since version 3.9.0 (2015)
|
|
12
|
+
-- Uses json_extract() function to pull correlation_id from context_json
|
|
13
|
+
|
|
14
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_occurrence_correlation
|
|
15
|
+
ON tasks(agent_occurrence_id, json_extract(context_json, '$.correlation_id'))
|
|
16
|
+
WHERE json_extract(context_json, '$.correlation_id') IS NOT NULL;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
-- Migration 007: Add DSAR Tickets Table
|
|
2
|
+
-- Purpose: Replace in-memory dict with persistent storage for GDPR compliance
|
|
3
|
+
-- Impact: DSAR tickets survive server restarts, meeting 30-day response requirement
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS dsar_tickets (
|
|
6
|
+
ticket_id TEXT PRIMARY KEY,
|
|
7
|
+
request_type TEXT NOT NULL CHECK(request_type IN ('access', 'delete', 'export', 'correct')),
|
|
8
|
+
email TEXT NOT NULL,
|
|
9
|
+
user_identifier TEXT,
|
|
10
|
+
details TEXT,
|
|
11
|
+
urgent INTEGER NOT NULL DEFAULT 0, -- 0 = false, 1 = true
|
|
12
|
+
status TEXT NOT NULL CHECK(status IN ('pending_review', 'in_progress', 'completed', 'rejected')),
|
|
13
|
+
submitted_at TEXT NOT NULL, -- ISO8601 timestamp
|
|
14
|
+
estimated_completion TEXT NOT NULL, -- ISO8601 timestamp
|
|
15
|
+
last_updated TEXT NOT NULL, -- ISO8601 timestamp
|
|
16
|
+
notes TEXT,
|
|
17
|
+
automated INTEGER NOT NULL DEFAULT 0, -- 0 = false, 1 = true
|
|
18
|
+
access_package_json TEXT, -- JSON serialized DSARAccessPackage
|
|
19
|
+
export_package_json TEXT, -- JSON serialized DSARExportPackage
|
|
20
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
-- Index for status queries (admin filtering by status)
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_status ON dsar_tickets(status);
|
|
25
|
+
|
|
26
|
+
-- Index for email lookups (user checking their requests)
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_email ON dsar_tickets(email);
|
|
28
|
+
|
|
29
|
+
-- Index for user_identifier lookups (data deletion tracking)
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_user_identifier ON dsar_tickets(user_identifier);
|
|
31
|
+
|
|
32
|
+
-- Index for request type queries (metrics by type)
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_request_type ON dsar_tickets(request_type);
|
|
34
|
+
|
|
35
|
+
-- Index for timestamp queries (30-day response compliance)
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_submitted_at ON dsar_tickets(submitted_at);
|
|
37
|
+
|
|
38
|
+
-- Composite index for common admin query (status + submitted date)
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_dsar_tickets_status_submitted ON dsar_tickets(status, submitted_at);
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
-- Migration 008: Rename dsar_tickets to tickets and add SOP architecture
|
|
2
|
+
-- Purpose: Make tickets universal with DSAR as always-present default capability
|
|
3
|
+
-- Impact: All agents have DSAR SOPs, agents can add custom ticket SOPs via templates
|
|
4
|
+
--
|
|
5
|
+
-- Architecture Decision:
|
|
6
|
+
-- - DSAR is universal (GDPR compliance required for all agents)
|
|
7
|
+
-- - Other ticket types (appointments, incidents) are agent-specific
|
|
8
|
+
-- - SOP column links to agent template ticket configuration
|
|
9
|
+
-- - Metadata JSON stores stage progress and results
|
|
10
|
+
|
|
11
|
+
-- Step 1: Create new tickets table with SOP architecture
|
|
12
|
+
CREATE TABLE IF NOT EXISTS tickets (
|
|
13
|
+
ticket_id TEXT PRIMARY KEY,
|
|
14
|
+
sop TEXT NOT NULL, -- Standard Operating Procedure (e.g., "DSAR_ACCESS", "APPOINTMENT_SCHEDULE")
|
|
15
|
+
ticket_type TEXT NOT NULL, -- Category (e.g., "dsar", "appointment", "incident")
|
|
16
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'in_progress', 'completed', 'cancelled', 'failed')),
|
|
17
|
+
priority INTEGER NOT NULL DEFAULT 5 CHECK(priority BETWEEN 1 AND 10), -- 1=lowest, 10=urgent
|
|
18
|
+
|
|
19
|
+
-- Contact & identification
|
|
20
|
+
email TEXT NOT NULL,
|
|
21
|
+
user_identifier TEXT,
|
|
22
|
+
|
|
23
|
+
-- Lifecycle timestamps
|
|
24
|
+
submitted_at TEXT NOT NULL, -- ISO8601 timestamp
|
|
25
|
+
deadline TEXT, -- ISO8601 timestamp (calculated from SOP config)
|
|
26
|
+
last_updated TEXT NOT NULL, -- ISO8601 timestamp
|
|
27
|
+
completed_at TEXT, -- ISO8601 timestamp
|
|
28
|
+
|
|
29
|
+
-- Workflow state
|
|
30
|
+
metadata TEXT NOT NULL DEFAULT '{}', -- JSON: stage progress, results, SOP-specific data
|
|
31
|
+
notes TEXT,
|
|
32
|
+
|
|
33
|
+
-- Tracking
|
|
34
|
+
automated INTEGER NOT NULL DEFAULT 0, -- 0 = false, 1 = true
|
|
35
|
+
correlation_id TEXT, -- Links to tasks/thoughts processing this ticket
|
|
36
|
+
|
|
37
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
-- Step 2: Migrate existing dsar_tickets to new tickets table
|
|
41
|
+
INSERT INTO tickets (
|
|
42
|
+
ticket_id,
|
|
43
|
+
sop,
|
|
44
|
+
ticket_type,
|
|
45
|
+
status,
|
|
46
|
+
priority,
|
|
47
|
+
email,
|
|
48
|
+
user_identifier,
|
|
49
|
+
submitted_at,
|
|
50
|
+
deadline,
|
|
51
|
+
last_updated,
|
|
52
|
+
completed_at,
|
|
53
|
+
metadata,
|
|
54
|
+
notes,
|
|
55
|
+
automated,
|
|
56
|
+
created_at
|
|
57
|
+
)
|
|
58
|
+
SELECT
|
|
59
|
+
ticket_id,
|
|
60
|
+
-- Map request_type to SOP
|
|
61
|
+
CASE request_type
|
|
62
|
+
WHEN 'access' THEN 'DSAR_ACCESS'
|
|
63
|
+
WHEN 'delete' THEN 'DSAR_DELETE'
|
|
64
|
+
WHEN 'export' THEN 'DSAR_EXPORT'
|
|
65
|
+
WHEN 'correct' THEN 'DSAR_RECTIFY'
|
|
66
|
+
ELSE 'DSAR_ACCESS' -- fallback
|
|
67
|
+
END as sop,
|
|
68
|
+
'dsar' as ticket_type,
|
|
69
|
+
-- Map old status to new status
|
|
70
|
+
CASE status
|
|
71
|
+
WHEN 'pending_review' THEN 'pending'
|
|
72
|
+
WHEN 'in_progress' THEN 'in_progress'
|
|
73
|
+
WHEN 'completed' THEN 'completed'
|
|
74
|
+
WHEN 'rejected' THEN 'cancelled'
|
|
75
|
+
ELSE 'pending'
|
|
76
|
+
END as status,
|
|
77
|
+
-- Map urgent flag to priority
|
|
78
|
+
CASE urgent
|
|
79
|
+
WHEN 1 THEN 9 -- urgent = priority 9
|
|
80
|
+
ELSE 5 -- normal = priority 5
|
|
81
|
+
END as priority,
|
|
82
|
+
email,
|
|
83
|
+
user_identifier,
|
|
84
|
+
submitted_at,
|
|
85
|
+
estimated_completion as deadline,
|
|
86
|
+
last_updated,
|
|
87
|
+
CASE
|
|
88
|
+
WHEN status = 'completed' THEN last_updated
|
|
89
|
+
ELSE NULL
|
|
90
|
+
END as completed_at,
|
|
91
|
+
-- Build metadata JSON from legacy fields
|
|
92
|
+
json_object(
|
|
93
|
+
'legacy_request_type', request_type,
|
|
94
|
+
'legacy_details', COALESCE(details, ''),
|
|
95
|
+
'access_package', COALESCE(access_package_json, 'null'),
|
|
96
|
+
'export_package', COALESCE(export_package_json, 'null'),
|
|
97
|
+
'stages', json_object()
|
|
98
|
+
) as metadata,
|
|
99
|
+
notes,
|
|
100
|
+
automated,
|
|
101
|
+
created_at
|
|
102
|
+
FROM dsar_tickets;
|
|
103
|
+
|
|
104
|
+
-- Step 3: Drop old dsar_tickets table
|
|
105
|
+
DROP TABLE dsar_tickets;
|
|
106
|
+
|
|
107
|
+
-- Step 4: Create indexes for new tickets table
|
|
108
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_sop ON tickets(sop);
|
|
109
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_type ON tickets(ticket_type);
|
|
110
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_status ON tickets(status);
|
|
111
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_email ON tickets(email);
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_user_identifier ON tickets(user_identifier);
|
|
113
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_submitted_at ON tickets(submitted_at);
|
|
114
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_deadline ON tickets(deadline);
|
|
115
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_correlation_id ON tickets(correlation_id);
|
|
116
|
+
|
|
117
|
+
-- Composite indexes for common queries
|
|
118
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_status_submitted ON tickets(status, submitted_at);
|
|
119
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_sop_status ON tickets(sop, status);
|
|
120
|
+
CREATE INDEX IF NOT EXISTS idx_tickets_type_status ON tickets(ticket_type, status);
|