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.
Files changed (986) hide show
  1. ciris_adapters/README.md +113 -0
  2. ciris_adapters/__init__.py +30 -0
  3. ciris_adapters/ciris_covenant_metrics/README.md +144 -0
  4. ciris_adapters/ciris_covenant_metrics/__init__.py +36 -0
  5. ciris_adapters/ciris_covenant_metrics/adapter.py +249 -0
  6. ciris_adapters/ciris_covenant_metrics/manifest.json +152 -0
  7. ciris_adapters/ciris_covenant_metrics/services.py +403 -0
  8. ciris_adapters/ciris_hosted_tools/__init__.py +24 -0
  9. ciris_adapters/ciris_hosted_tools/adapter.py +169 -0
  10. ciris_adapters/ciris_hosted_tools/manifest.json +94 -0
  11. ciris_adapters/ciris_hosted_tools/services.py +744 -0
  12. ciris_adapters/external_data_sql/README.md +559 -0
  13. ciris_adapters/external_data_sql/__init__.py +43 -0
  14. ciris_adapters/external_data_sql/adapter.py +144 -0
  15. ciris_adapters/external_data_sql/configurable.py +315 -0
  16. ciris_adapters/external_data_sql/dialects/__init__.py +37 -0
  17. ciris_adapters/external_data_sql/dialects/base.py +133 -0
  18. ciris_adapters/external_data_sql/dialects/mysql.py +63 -0
  19. ciris_adapters/external_data_sql/dialects/postgresql.py +59 -0
  20. ciris_adapters/external_data_sql/dialects/sqlite.py +62 -0
  21. ciris_adapters/external_data_sql/example_config.json +88 -0
  22. ciris_adapters/external_data_sql/example_privacy_schema.yaml +127 -0
  23. ciris_adapters/external_data_sql/manifest.json +195 -0
  24. ciris_adapters/external_data_sql/privacy_schema_loader.py +189 -0
  25. ciris_adapters/external_data_sql/protocol.py +101 -0
  26. ciris_adapters/external_data_sql/schemas.py +146 -0
  27. ciris_adapters/external_data_sql/service.py +1547 -0
  28. ciris_adapters/external_data_sql/service_old.py +492 -0
  29. ciris_adapters/home_assistant/__init__.py +63 -0
  30. ciris_adapters/home_assistant/adapter.py +201 -0
  31. ciris_adapters/home_assistant/communication_service.py +347 -0
  32. ciris_adapters/home_assistant/configurable.py +667 -0
  33. ciris_adapters/home_assistant/manifest.json +203 -0
  34. ciris_adapters/home_assistant/schemas.py +129 -0
  35. ciris_adapters/home_assistant/service.py +751 -0
  36. ciris_adapters/home_assistant/tool_service.py +441 -0
  37. ciris_adapters/mcp_client/__init__.py +82 -0
  38. ciris_adapters/mcp_client/adapter.py +847 -0
  39. ciris_adapters/mcp_client/config.py +280 -0
  40. ciris_adapters/mcp_client/configurable.py +422 -0
  41. ciris_adapters/mcp_client/manifest.json +185 -0
  42. ciris_adapters/mcp_client/mcp_communication_service.py +393 -0
  43. ciris_adapters/mcp_client/mcp_tool_service.py +463 -0
  44. ciris_adapters/mcp_client/mcp_wise_service.py +394 -0
  45. ciris_adapters/mcp_client/schemas.py +149 -0
  46. ciris_adapters/mcp_client/security.py +592 -0
  47. ciris_adapters/mcp_common/__init__.py +44 -0
  48. ciris_adapters/mcp_common/manifest.json +25 -0
  49. ciris_adapters/mcp_common/protocol.py +315 -0
  50. ciris_adapters/mcp_common/schemas.py +225 -0
  51. ciris_adapters/mcp_server/__init__.py +47 -0
  52. ciris_adapters/mcp_server/adapter.py +581 -0
  53. ciris_adapters/mcp_server/config.py +260 -0
  54. ciris_adapters/mcp_server/configurable.py +393 -0
  55. ciris_adapters/mcp_server/handlers.py +663 -0
  56. ciris_adapters/mcp_server/manifest.json +211 -0
  57. ciris_adapters/mcp_server/security.py +500 -0
  58. ciris_adapters/mock_llm/README.md +117 -0
  59. ciris_adapters/mock_llm/__init__.py +21 -0
  60. ciris_adapters/mock_llm/adapter.py +131 -0
  61. ciris_adapters/mock_llm/configurable.py +237 -0
  62. ciris_adapters/mock_llm/manifest.json +106 -0
  63. ciris_adapters/mock_llm/protocol.py +37 -0
  64. ciris_adapters/mock_llm/responses.py +520 -0
  65. ciris_adapters/mock_llm/responses_action_selection.py +1041 -0
  66. ciris_adapters/mock_llm/responses_epistemic.py +17 -0
  67. ciris_adapters/mock_llm/responses_feedback.py +27 -0
  68. ciris_adapters/mock_llm/schemas.py +35 -0
  69. ciris_adapters/mock_llm/service.py +294 -0
  70. ciris_adapters/navigation/__init__.py +21 -0
  71. ciris_adapters/navigation/adapter.py +129 -0
  72. ciris_adapters/navigation/configurable.py +239 -0
  73. ciris_adapters/navigation/manifest.json +104 -0
  74. ciris_adapters/navigation/service.py +487 -0
  75. ciris_adapters/reddit/README.md +132 -0
  76. ciris_adapters/reddit/REDDIT_ADAPTER_ANALYSIS.md +715 -0
  77. ciris_adapters/reddit/REDDIT_ADAPTER_SUMMARY.txt +278 -0
  78. ciris_adapters/reddit/REDDIT_ANALYSIS_INDEX.md +307 -0
  79. ciris_adapters/reddit/REDDIT_PRODUCTION_READINESS_PLAN.md +518 -0
  80. ciris_adapters/reddit/__init__.py +15 -0
  81. ciris_adapters/reddit/adapter.py +189 -0
  82. ciris_adapters/reddit/configurable.py +274 -0
  83. ciris_adapters/reddit/error_handler.py +307 -0
  84. ciris_adapters/reddit/manifest.json +218 -0
  85. ciris_adapters/reddit/observer.py +532 -0
  86. ciris_adapters/reddit/protocol.py +34 -0
  87. ciris_adapters/reddit/schemas.py +433 -0
  88. ciris_adapters/reddit/service.py +1471 -0
  89. ciris_adapters/sample_adapter/README.md +474 -0
  90. ciris_adapters/sample_adapter/__init__.py +45 -0
  91. ciris_adapters/sample_adapter/adapter.py +208 -0
  92. ciris_adapters/sample_adapter/configurable.py +469 -0
  93. ciris_adapters/sample_adapter/manifest.json +247 -0
  94. ciris_adapters/sample_adapter/services.py +486 -0
  95. ciris_adapters/weather/__init__.py +16 -0
  96. ciris_adapters/weather/adapter.py +130 -0
  97. ciris_adapters/weather/configurable.py +240 -0
  98. ciris_adapters/weather/manifest.json +156 -0
  99. ciris_adapters/weather/service.py +600 -0
  100. ciris_agent-1.7.7.dist-info/METADATA +284 -0
  101. ciris_agent-1.7.7.dist-info/RECORD +986 -0
  102. ciris_agent-1.7.7.dist-info/WHEEL +5 -0
  103. ciris_agent-1.7.7.dist-info/entry_points.txt +15 -0
  104. ciris_agent-1.7.7.dist-info/licenses/LICENSE +205 -0
  105. ciris_agent-1.7.7.dist-info/licenses/NOTICE +82 -0
  106. ciris_agent-1.7.7.dist-info/top_level.txt +4 -0
  107. ciris_engine/__init__.py +15 -0
  108. ciris_engine/ciris_templates/ally.yaml +632 -0
  109. ciris_engine/ciris_templates/default.yaml +411 -0
  110. ciris_engine/ciris_templates/echo-core.yaml +629 -0
  111. ciris_engine/ciris_templates/echo-speculative.yaml +764 -0
  112. ciris_engine/ciris_templates/echo.yaml +647 -0
  113. ciris_engine/ciris_templates/sage.yaml +332 -0
  114. ciris_engine/ciris_templates/scout.yaml +338 -0
  115. ciris_engine/ciris_templates/test.yaml +168 -0
  116. ciris_engine/cli.py +42 -0
  117. ciris_engine/config/CIRIS_SERVICES.json +19 -0
  118. ciris_engine/config/MODEL_CAPABILITIES.json +419 -0
  119. ciris_engine/config/PRICING_DATA.json +179 -0
  120. ciris_engine/config/__init__.py +50 -0
  121. ciris_engine/config/ciris_services.py +113 -0
  122. ciris_engine/config/model_capabilities.py +388 -0
  123. ciris_engine/config/pricing_models.py +276 -0
  124. ciris_engine/constants.py +35 -0
  125. ciris_engine/data/__init__.py +1 -0
  126. ciris_engine/data/covenant_1.0b.txt +978 -0
  127. ciris_engine/gui_static/11steps.svg +107 -0
  128. ciris_engine/gui_static/2x-schematics.png +0 -0
  129. ciris_engine/gui_static/404/index.html +1 -0
  130. ciris_engine/gui_static/404.html +1 -0
  131. ciris_engine/gui_static/_next/static/0edhkwDxd5UccTsCmtaBi/_buildManifest.js +1 -0
  132. ciris_engine/gui_static/_next/static/0edhkwDxd5UccTsCmtaBi/_ssgManifest.js +1 -0
  133. ciris_engine/gui_static/_next/static/U-3xTQao7hc2wnAi-Uekm/_buildManifest.js +1 -0
  134. ciris_engine/gui_static/_next/static/U-3xTQao7hc2wnAi-Uekm/_ssgManifest.js +1 -0
  135. ciris_engine/gui_static/_next/static/chunks/3297-60e86ba0f8a7b040.js +1 -0
  136. ciris_engine/gui_static/_next/static/chunks/3835-2aad4b7f5f8e4643.js +1 -0
  137. ciris_engine/gui_static/_next/static/chunks/4499-99a0bc47de0b8975.js +1 -0
  138. ciris_engine/gui_static/_next/static/chunks/4534-af88cd4ba6e99bff.js +1 -0
  139. ciris_engine/gui_static/_next/static/chunks/4541-84b455f9e0dc4cfe.js +1 -0
  140. ciris_engine/gui_static/_next/static/chunks/4789-61412711484754bb.js +1 -0
  141. ciris_engine/gui_static/_next/static/chunks/6539-c6398bc9d7018430.js +1 -0
  142. ciris_engine/gui_static/_next/static/chunks/704-8e827b26cc8c2d32.js +1 -0
  143. ciris_engine/gui_static/_next/static/chunks/704-fb45d630f3192c6f.js +1 -0
  144. ciris_engine/gui_static/_next/static/chunks/8072-de4952a2e6d2b33f.js +1 -0
  145. ciris_engine/gui_static/_next/static/chunks/8315-b91d03a3949db0af.js +1 -0
  146. ciris_engine/gui_static/_next/static/chunks/8386-f93a83ccbd789bd9.js +1 -0
  147. ciris_engine/gui_static/_next/static/chunks/87c73c54-781a7f35148d5433.js +1 -0
  148. ciris_engine/gui_static/_next/static/chunks/8903-fefea3339a02d41b.js +1 -0
  149. ciris_engine/gui_static/_next/static/chunks/9090-e66485adf8d9d990.js +1 -0
  150. ciris_engine/gui_static/_next/static/chunks/app/_not-found/page-a67d9808462c23b1.js +1 -0
  151. ciris_engine/gui_static/_next/static/chunks/app/account/api-keys/page-2d7ee1583bbbd02e.js +1 -0
  152. ciris_engine/gui_static/_next/static/chunks/app/account/api-keys/page-6a3c2bae6fe92b7b.js +1 -0
  153. ciris_engine/gui_static/_next/static/chunks/app/account/consent/page-2ed3a035136bc4e8.js +1 -0
  154. ciris_engine/gui_static/_next/static/chunks/app/account/consent/page-b2f5c91844a32422.js +1 -0
  155. ciris_engine/gui_static/_next/static/chunks/app/account/page-25b90f89af3ea58c.js +1 -0
  156. ciris_engine/gui_static/_next/static/chunks/app/account/page-b65d16c94ecaf69c.js +1 -0
  157. ciris_engine/gui_static/_next/static/chunks/app/account/privacy/page-675b6d05c8f9184f.js +1 -0
  158. ciris_engine/gui_static/_next/static/chunks/app/account/privacy/page-cbee2e1c8ab52145.js +1 -0
  159. ciris_engine/gui_static/_next/static/chunks/app/account/settings/page-0f44da06697cf9f0.js +1 -0
  160. ciris_engine/gui_static/_next/static/chunks/app/account/settings/page-563420253577edbf.js +1 -0
  161. ciris_engine/gui_static/_next/static/chunks/app/adapters/page-1854631018bc32be.js +1 -0
  162. ciris_engine/gui_static/_next/static/chunks/app/agents/page-8353752c176a7c70.js +1 -0
  163. ciris_engine/gui_static/_next/static/chunks/app/agents/page-f61a529f110a6040.js +1 -0
  164. ciris_engine/gui_static/_next/static/chunks/app/api-demo/page-7f19b9d20d39be28.js +1 -0
  165. ciris_engine/gui_static/_next/static/chunks/app/api-demo/page-d1063938f249b8bd.js +1 -0
  166. ciris_engine/gui_static/_next/static/chunks/app/audit/page-321b6728b8fff0bb.js +1 -0
  167. ciris_engine/gui_static/_next/static/chunks/app/audit/page-ebac35ca961a1277.js +1 -0
  168. ciris_engine/gui_static/_next/static/chunks/app/billing/page-6f3dc3bd02924f8e.js +1 -0
  169. ciris_engine/gui_static/_next/static/chunks/app/billing/page-fa4a469f814c821a.js +1 -0
  170. ciris_engine/gui_static/_next/static/chunks/app/comms/page-0d4f734269addd8f.js +1 -0
  171. ciris_engine/gui_static/_next/static/chunks/app/comms/page-79227d426050089c.js +1 -0
  172. ciris_engine/gui_static/_next/static/chunks/app/config/page-018d21d683b6e5bc.js +1 -0
  173. ciris_engine/gui_static/_next/static/chunks/app/config/page-2aa5a5363ca2a371.js +1 -0
  174. ciris_engine/gui_static/_next/static/chunks/app/consent/page-198373205fd316e2.js +1 -0
  175. ciris_engine/gui_static/_next/static/chunks/app/consent/page-f2ca39e7713b13f8.js +1 -0
  176. ciris_engine/gui_static/_next/static/chunks/app/dashboard/page-1dd5a196f643c60d.js +1 -0
  177. ciris_engine/gui_static/_next/static/chunks/app/dashboard/page-530a04d3abbb8cda.js +1 -0
  178. ciris_engine/gui_static/_next/static/chunks/app/docs/page-3193b06d094ab654.js +1 -0
  179. ciris_engine/gui_static/_next/static/chunks/app/docs/page-330e996dedb87aba.js +1 -0
  180. ciris_engine/gui_static/_next/static/chunks/app/layout-0a70f5fc460298b1.js +1 -0
  181. ciris_engine/gui_static/_next/static/chunks/app/layout-21f2f99dd5b336e9.js +1 -0
  182. ciris_engine/gui_static/_next/static/chunks/app/login/page-33240e6c6034a49d.js +1 -0
  183. ciris_engine/gui_static/_next/static/chunks/app/login/page-68ffab6d54a7fdcd.js +1 -0
  184. ciris_engine/gui_static/_next/static/chunks/app/logs/page-8a6167aecc4a475c.js +1 -0
  185. ciris_engine/gui_static/_next/static/chunks/app/memory/page-9ca8c5d0056de3ff.js +1 -0
  186. ciris_engine/gui_static/_next/static/chunks/app/memory/page-e961226941c18f81.js +1 -0
  187. ciris_engine/gui_static/_next/static/chunks/app/page-6fdb065a787a4974.js +1 -0
  188. ciris_engine/gui_static/_next/static/chunks/app/page-89f87d431be6064a.js +1 -0
  189. ciris_engine/gui_static/_next/static/chunks/app/runtime/page-2e728b9c43aa164d.js +1 -0
  190. ciris_engine/gui_static/_next/static/chunks/app/runtime/page-c7dd033dc40a72f0.js +1 -0
  191. ciris_engine/gui_static/_next/static/chunks/app/services/page-ae9f0bdf11d01a95.js +1 -0
  192. ciris_engine/gui_static/_next/static/chunks/app/services/page-b10feb79ca5d75e5.js +1 -0
  193. ciris_engine/gui_static/_next/static/chunks/app/sessions/page-13ebe7ef1c16ae11.js +1 -0
  194. ciris_engine/gui_static/_next/static/chunks/app/sessions/page-e6c82b16d617f785.js +1 -0
  195. ciris_engine/gui_static/_next/static/chunks/app/setup/page-0beb5f5b5a5c20fc.js +1 -0
  196. ciris_engine/gui_static/_next/static/chunks/app/setup/page-2595e729eae30c0e.js +1 -0
  197. ciris_engine/gui_static/_next/static/chunks/app/status-dashboard/page-1037c987aecc3653.js +1 -0
  198. ciris_engine/gui_static/_next/static/chunks/app/status-dashboard/page-2ffd147f6d3162ff.js +1 -0
  199. ciris_engine/gui_static/_next/static/chunks/app/system/page-2c5798d58cafcd91.js +1 -0
  200. ciris_engine/gui_static/_next/static/chunks/app/system/page-505b1ba4eceb01c3.js +1 -0
  201. ciris_engine/gui_static/_next/static/chunks/app/test-auth/page-b0cad31d5cb1b2fa.js +1 -0
  202. ciris_engine/gui_static/_next/static/chunks/app/test-auth/page-f3ecd7a8012df230.js +1 -0
  203. ciris_engine/gui_static/_next/static/chunks/app/test-login/page-f35117fdc4105801.js +1 -0
  204. ciris_engine/gui_static/_next/static/chunks/app/test-login/page-fb583a7924114906.js +1 -0
  205. ciris_engine/gui_static/_next/static/chunks/app/test-sdk/page-50f116fd76935563.js +1 -0
  206. ciris_engine/gui_static/_next/static/chunks/app/test-sdk/page-c37d8aa5ba623a44.js +1 -0
  207. ciris_engine/gui_static/_next/static/chunks/app/tools/page-429aec7a707777ef.js +1 -0
  208. ciris_engine/gui_static/_next/static/chunks/app/tools/page-5f705aad60e0c04e.js +1 -0
  209. ciris_engine/gui_static/_next/static/chunks/app/users/page-13476b8b0f3808cc.js +1 -0
  210. ciris_engine/gui_static/_next/static/chunks/app/users/page-7e500d154ed5bba4.js +1 -0
  211. ciris_engine/gui_static/_next/static/chunks/app/wa/page-cc4a9d8a5cb44d08.js +1 -0
  212. ciris_engine/gui_static/_next/static/chunks/app/wa/page-ec3e429efbc79230.js +1 -0
  213. ciris_engine/gui_static/_next/static/chunks/framework-9d29490f5ba089ba.js +1 -0
  214. ciris_engine/gui_static/_next/static/chunks/main-1f554952e47a82c4.js +1 -0
  215. ciris_engine/gui_static/_next/static/chunks/main-app-26fa8aed029082e5.js +1 -0
  216. ciris_engine/gui_static/_next/static/chunks/main-app-97b0486ef6bcef25.js +1 -0
  217. ciris_engine/gui_static/_next/static/chunks/pages/_app-6ce685456e616eb2.js +1 -0
  218. ciris_engine/gui_static/_next/static/chunks/pages/_error-d4bce98d93fe21e7.js +1 -0
  219. ciris_engine/gui_static/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  220. ciris_engine/gui_static/_next/static/chunks/webpack-fcebd240b7f8477d.js +1 -0
  221. ciris_engine/gui_static/_next/static/css/16b94b1fe0cc6e37.css +3 -0
  222. ciris_engine/gui_static/_next/static/css/77a24ceaae86deff.css +3 -0
  223. ciris_engine/gui_static/_next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  224. ciris_engine/gui_static/_next/static/media/747892c23ea88013-s.woff2 +0 -0
  225. ciris_engine/gui_static/_next/static/media/8d697b304b401681-s.woff2 +0 -0
  226. ciris_engine/gui_static/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  227. ciris_engine/gui_static/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
  228. ciris_engine/gui_static/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  229. ciris_engine/gui_static/_next/static/media/d8298875641ec7d4-s.p.woff2 +0 -0
  230. ciris_engine/gui_static/account/api-keys/index.html +1 -0
  231. ciris_engine/gui_static/account/api-keys/index.txt +27 -0
  232. ciris_engine/gui_static/account/consent/index.html +1 -0
  233. ciris_engine/gui_static/account/consent/index.txt +27 -0
  234. ciris_engine/gui_static/account/index.html +1 -0
  235. ciris_engine/gui_static/account/index.txt +27 -0
  236. ciris_engine/gui_static/account/privacy/index.html +1 -0
  237. ciris_engine/gui_static/account/privacy/index.txt +27 -0
  238. ciris_engine/gui_static/account/settings/index.html +1 -0
  239. ciris_engine/gui_static/account/settings/index.txt +27 -0
  240. ciris_engine/gui_static/adapters/index.html +1 -0
  241. ciris_engine/gui_static/adapters/index.txt +27 -0
  242. ciris_engine/gui_static/agents/index.html +1 -0
  243. ciris_engine/gui_static/agents/index.txt +27 -0
  244. ciris_engine/gui_static/andrew-roberts-euBRXcx57T4-unsplash.jpg +0 -0
  245. ciris_engine/gui_static/api-demo/index.html +1 -0
  246. ciris_engine/gui_static/api-demo/index.txt +27 -0
  247. ciris_engine/gui_static/audit/index.html +1 -0
  248. ciris_engine/gui_static/audit/index.txt +27 -0
  249. ciris_engine/gui_static/billing/index.html +1 -0
  250. ciris_engine/gui_static/billing/index.txt +27 -0
  251. ciris_engine/gui_static/blurryinfo.png +0 -0
  252. ciris_engine/gui_static/chip-vincent-PkQDwfl9Flc-unsplash.jpg +0 -0
  253. ciris_engine/gui_static/ciris-architecture.svg +338 -0
  254. ciris_engine/gui_static/comms/index.html +1 -0
  255. ciris_engine/gui_static/comms/index.txt +27 -0
  256. ciris_engine/gui_static/config/index.html +1 -0
  257. ciris_engine/gui_static/config/index.txt +27 -0
  258. ciris_engine/gui_static/consent/index.html +1 -0
  259. ciris_engine/gui_static/consent/index.txt +27 -0
  260. ciris_engine/gui_static/dashboard/index.html +1 -0
  261. ciris_engine/gui_static/dashboard/index.txt +27 -0
  262. ciris_engine/gui_static/docs/index.html +1 -0
  263. ciris_engine/gui_static/docs/index.txt +27 -0
  264. ciris_engine/gui_static/eric.png +0 -0
  265. ciris_engine/gui_static/file.svg +1 -0
  266. ciris_engine/gui_static/globe.svg +1 -0
  267. ciris_engine/gui_static/index.html +1 -0
  268. ciris_engine/gui_static/index.txt +27 -0
  269. ciris_engine/gui_static/infogfx-1@2x.png +0 -0
  270. ciris_engine/gui_static/infogfx-2.png +0 -0
  271. ciris_engine/gui_static/infogfx-dark-1.png +0 -0
  272. ciris_engine/gui_static/kelly-vohs-soSTXmIxTDU-unsplash.jpg +0 -0
  273. ciris_engine/gui_static/login/index.html +1 -0
  274. ciris_engine/gui_static/login/index.txt +27 -0
  275. ciris_engine/gui_static/logs/index.html +1 -0
  276. ciris_engine/gui_static/logs/index.txt +27 -0
  277. ciris_engine/gui_static/memory/index.html +1 -0
  278. ciris_engine/gui_static/memory/index.txt +27 -0
  279. ciris_engine/gui_static/nathan-farrish-ArcTfEoBgzs-unsplash.jpg +0 -0
  280. ciris_engine/gui_static/next.svg +1 -0
  281. ciris_engine/gui_static/overview.svg +512 -0
  282. ciris_engine/gui_static/overview1.svg +407 -0
  283. ciris_engine/gui_static/overview2.svg +370 -0
  284. ciris_engine/gui_static/pipeline-visualization.svg +278 -0
  285. ciris_engine/gui_static/privacy-policy.html +160 -0
  286. ciris_engine/gui_static/runtime/index.html +8 -0
  287. ciris_engine/gui_static/runtime/index.txt +27 -0
  288. ciris_engine/gui_static/services/index.html +1 -0
  289. ciris_engine/gui_static/services/index.txt +27 -0
  290. ciris_engine/gui_static/sessions/index.html +1 -0
  291. ciris_engine/gui_static/sessions/index.txt +27 -0
  292. ciris_engine/gui_static/setup/index.html +1 -0
  293. ciris_engine/gui_static/setup/index.txt +27 -0
  294. ciris_engine/gui_static/status-dashboard/index.html +1 -0
  295. ciris_engine/gui_static/status-dashboard/index.txt +27 -0
  296. ciris_engine/gui_static/system/index.html +1 -0
  297. ciris_engine/gui_static/system/index.txt +27 -0
  298. ciris_engine/gui_static/terms-of-service.html +174 -0
  299. ciris_engine/gui_static/test-auth/index.html +1 -0
  300. ciris_engine/gui_static/test-auth/index.txt +27 -0
  301. ciris_engine/gui_static/test-login/index.html +1 -0
  302. ciris_engine/gui_static/test-login/index.txt +27 -0
  303. ciris_engine/gui_static/test-sdk/index.html +1 -0
  304. ciris_engine/gui_static/test-sdk/index.txt +27 -0
  305. ciris_engine/gui_static/tools/index.html +1 -0
  306. ciris_engine/gui_static/tools/index.txt +27 -0
  307. ciris_engine/gui_static/users/index.html +1 -0
  308. ciris_engine/gui_static/users/index.txt +27 -0
  309. ciris_engine/gui_static/vercel.svg +1 -0
  310. ciris_engine/gui_static/videos/video1.mp4 +0 -0
  311. ciris_engine/gui_static/videos/video3.mp4 +0 -0
  312. ciris_engine/gui_static/wa/index.html +1 -0
  313. ciris_engine/gui_static/wa/index.txt +27 -0
  314. ciris_engine/gui_static/window.svg +1 -0
  315. ciris_engine/logic/__init__.py +8 -0
  316. ciris_engine/logic/adapters/__init__.py +74 -0
  317. ciris_engine/logic/adapters/api/__init__.py +5 -0
  318. ciris_engine/logic/adapters/api/adapter.py +1037 -0
  319. ciris_engine/logic/adapters/api/api_communication.py +370 -0
  320. ciris_engine/logic/adapters/api/api_document.py +330 -0
  321. ciris_engine/logic/adapters/api/api_observer.py +24 -0
  322. ciris_engine/logic/adapters/api/api_runtime_control.py +388 -0
  323. ciris_engine/logic/adapters/api/api_tools.py +299 -0
  324. ciris_engine/logic/adapters/api/api_vision.py +215 -0
  325. ciris_engine/logic/adapters/api/app.py +272 -0
  326. ciris_engine/logic/adapters/api/auth.py +159 -0
  327. ciris_engine/logic/adapters/api/config.py +101 -0
  328. ciris_engine/logic/adapters/api/constants.py +55 -0
  329. ciris_engine/logic/adapters/api/dependencies/__init__.py +1 -0
  330. ciris_engine/logic/adapters/api/dependencies/auth.py +260 -0
  331. ciris_engine/logic/adapters/api/endpoints/__init__.py +1 -0
  332. ciris_engine/logic/adapters/api/endpoints/emergency.py +86 -0
  333. ciris_engine/logic/adapters/api/middleware/__init__.py +1 -0
  334. ciris_engine/logic/adapters/api/middleware/rate_limiter.py +302 -0
  335. ciris_engine/logic/adapters/api/models.py +29 -0
  336. ciris_engine/logic/adapters/api/routes/__init__.py +52 -0
  337. ciris_engine/logic/adapters/api/routes/agent.py +1762 -0
  338. ciris_engine/logic/adapters/api/routes/audit.py +707 -0
  339. ciris_engine/logic/adapters/api/routes/auth.py +1745 -0
  340. ciris_engine/logic/adapters/api/routes/billing.py +895 -0
  341. ciris_engine/logic/adapters/api/routes/config.py +329 -0
  342. ciris_engine/logic/adapters/api/routes/connectors.py +534 -0
  343. ciris_engine/logic/adapters/api/routes/consent.py +637 -0
  344. ciris_engine/logic/adapters/api/routes/dsar.py +637 -0
  345. ciris_engine/logic/adapters/api/routes/dsar_multi_source.py +484 -0
  346. ciris_engine/logic/adapters/api/routes/emergency.py +302 -0
  347. ciris_engine/logic/adapters/api/routes/memory.py +733 -0
  348. ciris_engine/logic/adapters/api/routes/memory_filters.py +230 -0
  349. ciris_engine/logic/adapters/api/routes/memory_models.py +112 -0
  350. ciris_engine/logic/adapters/api/routes/memory_queries.py +236 -0
  351. ciris_engine/logic/adapters/api/routes/memory_query_helpers.py +394 -0
  352. ciris_engine/logic/adapters/api/routes/memory_visualization.py +359 -0
  353. ciris_engine/logic/adapters/api/routes/memory_visualization_helpers.py +110 -0
  354. ciris_engine/logic/adapters/api/routes/partnership.py +541 -0
  355. ciris_engine/logic/adapters/api/routes/setup.py +1374 -0
  356. ciris_engine/logic/adapters/api/routes/system.py +3049 -0
  357. ciris_engine/logic/adapters/api/routes/system_extensions.py +952 -0
  358. ciris_engine/logic/adapters/api/routes/telemetry.py +1987 -0
  359. ciris_engine/logic/adapters/api/routes/telemetry_converters.py +141 -0
  360. ciris_engine/logic/adapters/api/routes/telemetry_helpers.py +111 -0
  361. ciris_engine/logic/adapters/api/routes/telemetry_logs_reader.py +280 -0
  362. ciris_engine/logic/adapters/api/routes/telemetry_metrics.py +131 -0
  363. ciris_engine/logic/adapters/api/routes/telemetry_models.py +190 -0
  364. ciris_engine/logic/adapters/api/routes/telemetry_otlp.py +878 -0
  365. ciris_engine/logic/adapters/api/routes/telemetry_resource_helpers.py +191 -0
  366. ciris_engine/logic/adapters/api/routes/tickets.py +541 -0
  367. ciris_engine/logic/adapters/api/routes/tools.py +556 -0
  368. ciris_engine/logic/adapters/api/routes/transparency.py +281 -0
  369. ciris_engine/logic/adapters/api/routes/users.py +981 -0
  370. ciris_engine/logic/adapters/api/routes/verification.py +373 -0
  371. ciris_engine/logic/adapters/api/routes/wa.py +369 -0
  372. ciris_engine/logic/adapters/api/service_configuration.py +177 -0
  373. ciris_engine/logic/adapters/api/services/__init__.py +1 -0
  374. ciris_engine/logic/adapters/api/services/auth_service.py +1417 -0
  375. ciris_engine/logic/adapters/api/services/oauth_security.py +68 -0
  376. ciris_engine/logic/adapters/base.py +141 -0
  377. ciris_engine/logic/adapters/base_adapter.py +73 -0
  378. ciris_engine/logic/adapters/base_observer.py +1141 -0
  379. ciris_engine/logic/adapters/base_vision.py +312 -0
  380. ciris_engine/logic/adapters/cirisnode_client.py +307 -0
  381. ciris_engine/logic/adapters/cli/__init__.py +3 -0
  382. ciris_engine/logic/adapters/cli/adapter.py +207 -0
  383. ciris_engine/logic/adapters/cli/cli_adapter.py +902 -0
  384. ciris_engine/logic/adapters/cli/cli_observer.py +268 -0
  385. ciris_engine/logic/adapters/cli/cli_tools.py +427 -0
  386. ciris_engine/logic/adapters/cli/cli_wa_service.py +134 -0
  387. ciris_engine/logic/adapters/cli/config.py +73 -0
  388. ciris_engine/logic/adapters/discord/__init__.py +3 -0
  389. ciris_engine/logic/adapters/discord/adapter.py +783 -0
  390. ciris_engine/logic/adapters/discord/ciris_discord_client.py +159 -0
  391. ciris_engine/logic/adapters/discord/config.py +177 -0
  392. ciris_engine/logic/adapters/discord/constants.py +185 -0
  393. ciris_engine/logic/adapters/discord/discord-stubs.pyi +50 -0
  394. ciris_engine/logic/adapters/discord/discord_adapter.py +1584 -0
  395. ciris_engine/logic/adapters/discord/discord_audit.py +150 -0
  396. ciris_engine/logic/adapters/discord/discord_channel_manager.py +351 -0
  397. ciris_engine/logic/adapters/discord/discord_connection_manager.py +313 -0
  398. ciris_engine/logic/adapters/discord/discord_embed_formatter.py +369 -0
  399. ciris_engine/logic/adapters/discord/discord_error_classifier.py +302 -0
  400. ciris_engine/logic/adapters/discord/discord_error_handler.py +316 -0
  401. ciris_engine/logic/adapters/discord/discord_guidance_handler.py +460 -0
  402. ciris_engine/logic/adapters/discord/discord_message_handler.py +207 -0
  403. ciris_engine/logic/adapters/discord/discord_observer.py +670 -0
  404. ciris_engine/logic/adapters/discord/discord_rate_limiter.py +249 -0
  405. ciris_engine/logic/adapters/discord/discord_reaction_handler.py +278 -0
  406. ciris_engine/logic/adapters/discord/discord_tool_handler.py +465 -0
  407. ciris_engine/logic/adapters/discord/discord_tool_service.py +790 -0
  408. ciris_engine/logic/adapters/discord/discord_tools.py +90 -0
  409. ciris_engine/logic/adapters/discord/discord_vision_helper.py +148 -0
  410. ciris_engine/logic/adapters/discord/py.typed +0 -0
  411. ciris_engine/logic/adapters/document_parser.py +320 -0
  412. ciris_engine/logic/audit/__init__.py +10 -0
  413. ciris_engine/logic/audit/hash_chain.py +313 -0
  414. ciris_engine/logic/audit/signature_manager.py +352 -0
  415. ciris_engine/logic/audit/verifier.py +408 -0
  416. ciris_engine/logic/buses/__init__.py +21 -0
  417. ciris_engine/logic/buses/base_bus.py +178 -0
  418. ciris_engine/logic/buses/bus_manager.py +121 -0
  419. ciris_engine/logic/buses/communication_bus.py +387 -0
  420. ciris_engine/logic/buses/llm_bus.py +722 -0
  421. ciris_engine/logic/buses/memory_bus.py +577 -0
  422. ciris_engine/logic/buses/prohibitions.py +502 -0
  423. ciris_engine/logic/buses/runtime_control_bus.py +539 -0
  424. ciris_engine/logic/buses/tool_bus.py +482 -0
  425. ciris_engine/logic/buses/wise_bus.py +684 -0
  426. ciris_engine/logic/config/__init__.py +25 -0
  427. ciris_engine/logic/config/bootstrap.py +255 -0
  428. ciris_engine/logic/config/config_accessor.py +202 -0
  429. ciris_engine/logic/config/db_paths.py +194 -0
  430. ciris_engine/logic/config/env_utils.py +39 -0
  431. ciris_engine/logic/conscience/__init__.py +16 -0
  432. ciris_engine/logic/conscience/build_deferral_package.py +0 -0
  433. ciris_engine/logic/conscience/core.py +688 -0
  434. ciris_engine/logic/conscience/interface.py +33 -0
  435. ciris_engine/logic/conscience/registry.py +76 -0
  436. ciris_engine/logic/conscience/thought_depth_guardrail.py +231 -0
  437. ciris_engine/logic/conscience/updated_status_conscience.py +156 -0
  438. ciris_engine/logic/context/__init__.py +10 -0
  439. ciris_engine/logic/context/batch_context.py +550 -0
  440. ciris_engine/logic/context/builder.py +149 -0
  441. ciris_engine/logic/context/channel_resolution.py +136 -0
  442. ciris_engine/logic/context/secrets_snapshot.py +52 -0
  443. ciris_engine/logic/context/system_snapshot.py +116 -0
  444. ciris_engine/logic/context/system_snapshot_helpers.py +1651 -0
  445. ciris_engine/logic/covenant/__init__.py +33 -0
  446. ciris_engine/logic/covenant/executor.py +303 -0
  447. ciris_engine/logic/covenant/extractor.py +382 -0
  448. ciris_engine/logic/covenant/handler.py +241 -0
  449. ciris_engine/logic/covenant/verifier.py +383 -0
  450. ciris_engine/logic/dma/__init__.py +15 -0
  451. ciris_engine/logic/dma/action_selection/__init__.py +11 -0
  452. ciris_engine/logic/dma/action_selection/action_instruction_generator.py +444 -0
  453. ciris_engine/logic/dma/action_selection/context_builder.py +508 -0
  454. ciris_engine/logic/dma/action_selection/faculty_integration.py +193 -0
  455. ciris_engine/logic/dma/action_selection/special_cases.py +132 -0
  456. ciris_engine/logic/dma/action_selection_pdma.py +365 -0
  457. ciris_engine/logic/dma/base_dma.py +335 -0
  458. ciris_engine/logic/dma/csdma.py +239 -0
  459. ciris_engine/logic/dma/dma_executor.py +575 -0
  460. ciris_engine/logic/dma/dsdma_base.py +410 -0
  461. ciris_engine/logic/dma/exceptions.py +4 -0
  462. ciris_engine/logic/dma/factory.py +150 -0
  463. ciris_engine/logic/dma/pdma.py +120 -0
  464. ciris_engine/logic/dma/prompt_loader.py +189 -0
  465. ciris_engine/logic/dma/prompts/action_selection_pdma.yml +58 -0
  466. ciris_engine/logic/dma/prompts/csdma_common_sense.yml +28 -0
  467. ciris_engine/logic/dma/prompts/dsdma_base.yml +17 -0
  468. ciris_engine/logic/dma/prompts/pdma_ethical.yml +42 -0
  469. ciris_engine/logic/formatters/__init__.py +26 -0
  470. ciris_engine/logic/formatters/crisis_resources.py +80 -0
  471. ciris_engine/logic/formatters/escalation.py +21 -0
  472. ciris_engine/logic/formatters/identity.py +224 -0
  473. ciris_engine/logic/formatters/prompt_blocks.py +64 -0
  474. ciris_engine/logic/formatters/system_snapshot.py +193 -0
  475. ciris_engine/logic/formatters/user_profiles.py +108 -0
  476. ciris_engine/logic/handlers/__init__.py +1 -0
  477. ciris_engine/logic/handlers/control/__init__.py +1 -0
  478. ciris_engine/logic/handlers/control/defer_handler.py +195 -0
  479. ciris_engine/logic/handlers/control/ponder_handler.py +154 -0
  480. ciris_engine/logic/handlers/control/reject_handler.py +81 -0
  481. ciris_engine/logic/handlers/external/__init__.py +1 -0
  482. ciris_engine/logic/handlers/external/observe_handler.py +154 -0
  483. ciris_engine/logic/handlers/external/speak_handler.py +250 -0
  484. ciris_engine/logic/handlers/external/tool_handler.py +148 -0
  485. ciris_engine/logic/handlers/memory/__init__.py +1 -0
  486. ciris_engine/logic/handlers/memory/forget_handler.py +107 -0
  487. ciris_engine/logic/handlers/memory/memorize_handler.py +391 -0
  488. ciris_engine/logic/handlers/memory/recall_handler.py +213 -0
  489. ciris_engine/logic/handlers/terminal/__init__.py +1 -0
  490. ciris_engine/logic/handlers/terminal/task_complete_handler.py +299 -0
  491. ciris_engine/logic/infrastructure/__init__.py +1 -0
  492. ciris_engine/logic/infrastructure/handlers/__init__.py +8 -0
  493. ciris_engine/logic/infrastructure/handlers/action_dispatcher.py +382 -0
  494. ciris_engine/logic/infrastructure/handlers/base_handler.py +450 -0
  495. ciris_engine/logic/infrastructure/handlers/exceptions.py +2 -0
  496. ciris_engine/logic/infrastructure/handlers/handler_registry.py +59 -0
  497. ciris_engine/logic/infrastructure/handlers/helpers.py +55 -0
  498. ciris_engine/logic/infrastructure/step_streaming.py +149 -0
  499. ciris_engine/logic/infrastructure/sub_services/__init__.py +1 -0
  500. ciris_engine/logic/infrastructure/sub_services/identity_variance_monitor.py +1035 -0
  501. ciris_engine/logic/infrastructure/sub_services/pattern_analysis_loop.py +758 -0
  502. ciris_engine/logic/infrastructure/sub_services/wa_cli_bootstrap.py +229 -0
  503. ciris_engine/logic/infrastructure/sub_services/wa_cli_display.py +176 -0
  504. ciris_engine/logic/infrastructure/sub_services/wa_cli_oauth.py +404 -0
  505. ciris_engine/logic/infrastructure/sub_services/wa_cli_wizard.py +181 -0
  506. ciris_engine/logic/persistence/__init__.py +130 -0
  507. ciris_engine/logic/persistence/analytics.py +97 -0
  508. ciris_engine/logic/persistence/db/__init__.py +28 -0
  509. ciris_engine/logic/persistence/db/core.py +520 -0
  510. ciris_engine/logic/persistence/db/dialect.py +380 -0
  511. ciris_engine/logic/persistence/db/execution_helpers.py +216 -0
  512. ciris_engine/logic/persistence/db/migration_runner.py +191 -0
  513. ciris_engine/logic/persistence/db/operations.py +313 -0
  514. ciris_engine/logic/persistence/db/query_builder.py +232 -0
  515. ciris_engine/logic/persistence/db/retry.py +154 -0
  516. ciris_engine/logic/persistence/db/setup.py +18 -0
  517. ciris_engine/logic/persistence/migrations/postgres/001_initial_schema.sql +4 -0
  518. ciris_engine/logic/persistence/migrations/postgres/002_add_retry_status.sql +3 -0
  519. ciris_engine/logic/persistence/migrations/postgres/003_add_task_update_tracking.sql +8 -0
  520. ciris_engine/logic/persistence/migrations/postgres/004_add_occurrence_id.sql +54 -0
  521. ciris_engine/logic/persistence/migrations/postgres/005_add_consolidation_locks.sql +22 -0
  522. ciris_engine/logic/persistence/migrations/postgres/006_add_correlation_id_unique_index.sql +16 -0
  523. ciris_engine/logic/persistence/migrations/postgres/007_add_dsar_tickets.sql +39 -0
  524. ciris_engine/logic/persistence/migrations/postgres/008_rename_to_tickets_add_sop.sql +123 -0
  525. ciris_engine/logic/persistence/migrations/postgres/009_add_ticket_status_columns.sql +39 -0
  526. ciris_engine/logic/persistence/migrations/postgres/010_add_images_to_tasks.sql +5 -0
  527. ciris_engine/logic/persistence/migrations/sqlite/001_initial_schema.sql +357 -0
  528. ciris_engine/logic/persistence/migrations/sqlite/002_add_retry_status.sql +3 -0
  529. ciris_engine/logic/persistence/migrations/sqlite/003_add_task_update_tracking.sql +8 -0
  530. ciris_engine/logic/persistence/migrations/sqlite/004_add_occurrence_id.sql +45 -0
  531. ciris_engine/logic/persistence/migrations/sqlite/005_add_consolidation_locks.sql +22 -0
  532. ciris_engine/logic/persistence/migrations/sqlite/006_add_correlation_id_unique_index.sql +16 -0
  533. ciris_engine/logic/persistence/migrations/sqlite/007_add_dsar_tickets.sql +39 -0
  534. ciris_engine/logic/persistence/migrations/sqlite/008_rename_to_tickets_add_sop.sql +120 -0
  535. ciris_engine/logic/persistence/migrations/sqlite/009_add_ticket_status_columns.sql +129 -0
  536. ciris_engine/logic/persistence/migrations/sqlite/010_add_images_to_tasks.sql +17 -0
  537. ciris_engine/logic/persistence/models/__init__.py +141 -0
  538. ciris_engine/logic/persistence/models/correlations.py +881 -0
  539. ciris_engine/logic/persistence/models/deferral.py +68 -0
  540. ciris_engine/logic/persistence/models/dsar.py +286 -0
  541. ciris_engine/logic/persistence/models/graph.py +362 -0
  542. ciris_engine/logic/persistence/models/identity.py +264 -0
  543. ciris_engine/logic/persistence/models/queue_status.py +139 -0
  544. ciris_engine/logic/persistence/models/tasks.py +1043 -0
  545. ciris_engine/logic/persistence/models/thoughts.py +400 -0
  546. ciris_engine/logic/persistence/models/tickets.py +518 -0
  547. ciris_engine/logic/persistence/stores/__init__.py +13 -0
  548. ciris_engine/logic/persistence/stores/auth_helpers.py +117 -0
  549. ciris_engine/logic/persistence/stores/authentication_store.py +414 -0
  550. ciris_engine/logic/persistence/utils.py +212 -0
  551. ciris_engine/logic/processors/__init__.py +30 -0
  552. ciris_engine/logic/processors/core/__init__.py +1 -0
  553. ciris_engine/logic/processors/core/base_processor.py +280 -0
  554. ciris_engine/logic/processors/core/main_processor.py +1777 -0
  555. ciris_engine/logic/processors/core/step_decorators.py +1583 -0
  556. ciris_engine/logic/processors/core/thought_processor/__init__.py +20 -0
  557. ciris_engine/logic/processors/core/thought_processor/action_execution.py +49 -0
  558. ciris_engine/logic/processors/core/thought_processor/conscience_execution.py +382 -0
  559. ciris_engine/logic/processors/core/thought_processor/finalize_action.py +66 -0
  560. ciris_engine/logic/processors/core/thought_processor/gather_context.py +120 -0
  561. ciris_engine/logic/processors/core/thought_processor/main.py +920 -0
  562. ciris_engine/logic/processors/core/thought_processor/perform_aspdma.py +86 -0
  563. ciris_engine/logic/processors/core/thought_processor/perform_dmas.py +106 -0
  564. ciris_engine/logic/processors/core/thought_processor/recursive_processing.py +237 -0
  565. ciris_engine/logic/processors/core/thought_processor/round_complete.py +52 -0
  566. ciris_engine/logic/processors/core/thought_processor/start_round.py +64 -0
  567. ciris_engine/logic/processors/exceptions.py +59 -0
  568. ciris_engine/logic/processors/states/__init__.py +1 -0
  569. ciris_engine/logic/processors/states/dream_processor.py +1381 -0
  570. ciris_engine/logic/processors/states/play_processor.py +141 -0
  571. ciris_engine/logic/processors/states/shutdown_processor.py +623 -0
  572. ciris_engine/logic/processors/states/solitude_processor.py +305 -0
  573. ciris_engine/logic/processors/states/wakeup_processor.py +802 -0
  574. ciris_engine/logic/processors/states/work_processor.py +742 -0
  575. ciris_engine/logic/processors/support/__init__.py +1 -0
  576. ciris_engine/logic/processors/support/dma_orchestrator.py +336 -0
  577. ciris_engine/logic/processors/support/processing_queue.py +133 -0
  578. ciris_engine/logic/processors/support/shutdown_condition_evaluator.py +294 -0
  579. ciris_engine/logic/processors/support/state_manager.py +358 -0
  580. ciris_engine/logic/processors/support/task_manager.py +303 -0
  581. ciris_engine/logic/processors/support/thought_escalation.py +116 -0
  582. ciris_engine/logic/processors/support/thought_manager.py +328 -0
  583. ciris_engine/logic/processors/support/thought_manager_enhanced.py +105 -0
  584. ciris_engine/logic/registries/__init__.py +34 -0
  585. ciris_engine/logic/registries/base.py +653 -0
  586. ciris_engine/logic/registries/circuit_breaker.py +275 -0
  587. ciris_engine/logic/registries/typed_registries.py +184 -0
  588. ciris_engine/logic/runtime/__init__.py +7 -0
  589. ciris_engine/logic/runtime/adapter_loader.py +261 -0
  590. ciris_engine/logic/runtime/adapter_manager.py +1053 -0
  591. ciris_engine/logic/runtime/ciris_runtime.py +2342 -0
  592. ciris_engine/logic/runtime/ciris_runtime_helpers.py +923 -0
  593. ciris_engine/logic/runtime/component_builder.py +361 -0
  594. ciris_engine/logic/runtime/identity_manager.py +219 -0
  595. ciris_engine/logic/runtime/module_loader.py +207 -0
  596. ciris_engine/logic/runtime/prevent_sideeffects.py +30 -0
  597. ciris_engine/logic/runtime/runtime_interface.py +23 -0
  598. ciris_engine/logic/runtime/service_initializer.py +1623 -0
  599. ciris_engine/logic/secrets/__init__.py +30 -0
  600. ciris_engine/logic/secrets/encryption.py +175 -0
  601. ciris_engine/logic/secrets/filter.py +295 -0
  602. ciris_engine/logic/secrets/service.py +652 -0
  603. ciris_engine/logic/secrets/store.py +669 -0
  604. ciris_engine/logic/services/__init__.py +1 -0
  605. ciris_engine/logic/services/adaptation/__init__.py +3 -0
  606. ciris_engine/logic/services/base_graph_service.py +142 -0
  607. ciris_engine/logic/services/base_infrastructure_service.py +69 -0
  608. ciris_engine/logic/services/base_scheduled_service.py +136 -0
  609. ciris_engine/logic/services/base_service.py +247 -0
  610. ciris_engine/logic/services/governance/__init__.py +3 -0
  611. ciris_engine/logic/services/governance/adaptive_filter/__init__.py +14 -0
  612. ciris_engine/logic/services/governance/adaptive_filter/service.py +818 -0
  613. ciris_engine/logic/services/governance/consent/__init__.py +53 -0
  614. ciris_engine/logic/services/governance/consent/air.py +403 -0
  615. ciris_engine/logic/services/governance/consent/decay.py +324 -0
  616. ciris_engine/logic/services/governance/consent/dsar_automation.py +589 -0
  617. ciris_engine/logic/services/governance/consent/exceptions.py +106 -0
  618. ciris_engine/logic/services/governance/consent/metrics.py +270 -0
  619. ciris_engine/logic/services/governance/consent/partnership.py +533 -0
  620. ciris_engine/logic/services/governance/consent/service.py +1256 -0
  621. ciris_engine/logic/services/governance/dsar/__init__.py +29 -0
  622. ciris_engine/logic/services/governance/dsar/orchestrator.py +977 -0
  623. ciris_engine/logic/services/governance/dsar/schemas.py +141 -0
  624. ciris_engine/logic/services/governance/dsar/signature_service.py +283 -0
  625. ciris_engine/logic/services/governance/self_observation/__init__.py +20 -0
  626. ciris_engine/logic/services/governance/self_observation/service.py +1153 -0
  627. ciris_engine/logic/services/governance/visibility/__init__.py +17 -0
  628. ciris_engine/logic/services/governance/visibility/service.py +512 -0
  629. ciris_engine/logic/services/governance/wise_authority/__init__.py +15 -0
  630. ciris_engine/logic/services/governance/wise_authority/service.py +827 -0
  631. ciris_engine/logic/services/graph/__init__.py +5 -0
  632. ciris_engine/logic/services/graph/audit_service/__init__.py +5 -0
  633. ciris_engine/logic/services/graph/audit_service/service.py +1675 -0
  634. ciris_engine/logic/services/graph/base.py +208 -0
  635. ciris_engine/logic/services/graph/config_service/__init__.py +5 -0
  636. ciris_engine/logic/services/graph/config_service/service.py +372 -0
  637. ciris_engine/logic/services/graph/incident_service/__init__.py +5 -0
  638. ciris_engine/logic/services/graph/incident_service/service.py +803 -0
  639. ciris_engine/logic/services/graph/memory_service.py +1120 -0
  640. ciris_engine/logic/services/graph/telemetry_service/__init__.py +5 -0
  641. ciris_engine/logic/services/graph/telemetry_service/exceptions.py +104 -0
  642. ciris_engine/logic/services/graph/telemetry_service/helpers.py +1337 -0
  643. ciris_engine/logic/services/graph/telemetry_service/service.py +2429 -0
  644. ciris_engine/logic/services/graph/tsdb_consolidation/__init__.py +17 -0
  645. ciris_engine/logic/services/graph/tsdb_consolidation/aggregation_helpers.py +355 -0
  646. ciris_engine/logic/services/graph/tsdb_consolidation/cleanup_helpers.py +438 -0
  647. ciris_engine/logic/services/graph/tsdb_consolidation/compressor.py +260 -0
  648. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/__init__.py +27 -0
  649. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/audit.py +326 -0
  650. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/conversation.py +291 -0
  651. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/memory.py +197 -0
  652. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/metrics.py +251 -0
  653. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/task.py +257 -0
  654. ciris_engine/logic/services/graph/tsdb_consolidation/consolidators/trace.py +363 -0
  655. ciris_engine/logic/services/graph/tsdb_consolidation/data_converter.py +545 -0
  656. ciris_engine/logic/services/graph/tsdb_consolidation/date_calculation_helpers.py +193 -0
  657. ciris_engine/logic/services/graph/tsdb_consolidation/db_query_helpers.py +296 -0
  658. ciris_engine/logic/services/graph/tsdb_consolidation/edge_helpers.py +92 -0
  659. ciris_engine/logic/services/graph/tsdb_consolidation/edge_manager.py +896 -0
  660. ciris_engine/logic/services/graph/tsdb_consolidation/extensive_helpers.py +322 -0
  661. ciris_engine/logic/services/graph/tsdb_consolidation/period_manager.py +152 -0
  662. ciris_engine/logic/services/graph/tsdb_consolidation/profound_helpers.py +277 -0
  663. ciris_engine/logic/services/graph/tsdb_consolidation/query_manager.py +812 -0
  664. ciris_engine/logic/services/graph/tsdb_consolidation/service.py +1692 -0
  665. ciris_engine/logic/services/graph/tsdb_consolidation/sql_builders.py +363 -0
  666. ciris_engine/logic/services/infrastructure/__init__.py +1 -0
  667. ciris_engine/logic/services/infrastructure/authentication/__init__.py +5 -0
  668. ciris_engine/logic/services/infrastructure/authentication/service.py +1634 -0
  669. ciris_engine/logic/services/infrastructure/database_maintenance/__init__.py +15 -0
  670. ciris_engine/logic/services/infrastructure/database_maintenance/service.py +764 -0
  671. ciris_engine/logic/services/infrastructure/resource_monitor/__init__.py +7 -0
  672. ciris_engine/logic/services/infrastructure/resource_monitor/ciris_billing_provider.py +755 -0
  673. ciris_engine/logic/services/infrastructure/resource_monitor/service.py +409 -0
  674. ciris_engine/logic/services/infrastructure/resource_monitor/simple_credit_provider.py +129 -0
  675. ciris_engine/logic/services/lifecycle/__init__.py +3 -0
  676. ciris_engine/logic/services/lifecycle/initialization/__init__.py +10 -0
  677. ciris_engine/logic/services/lifecycle/initialization/service.py +312 -0
  678. ciris_engine/logic/services/lifecycle/scheduler/__init__.py +5 -0
  679. ciris_engine/logic/services/lifecycle/scheduler/service.py +607 -0
  680. ciris_engine/logic/services/lifecycle/shutdown/__init__.py +9 -0
  681. ciris_engine/logic/services/lifecycle/shutdown/service.py +378 -0
  682. ciris_engine/logic/services/lifecycle/time/__init__.py +15 -0
  683. ciris_engine/logic/services/lifecycle/time/service.py +259 -0
  684. ciris_engine/logic/services/memory_service/__init__.py +8 -0
  685. ciris_engine/logic/services/mixins/__init__.py +13 -0
  686. ciris_engine/logic/services/mixins/example_usage.py +200 -0
  687. ciris_engine/logic/services/mixins/request_metrics.py +179 -0
  688. ciris_engine/logic/services/runtime/__init__.py +3 -0
  689. ciris_engine/logic/services/runtime/adapter_configuration/__init__.py +16 -0
  690. ciris_engine/logic/services/runtime/adapter_configuration/service.py +674 -0
  691. ciris_engine/logic/services/runtime/adapter_configuration/session.py +67 -0
  692. ciris_engine/logic/services/runtime/control_service/__init__.py +5 -0
  693. ciris_engine/logic/services/runtime/control_service/service.py +2269 -0
  694. ciris_engine/logic/services/runtime/llm_service/__init__.py +14 -0
  695. ciris_engine/logic/services/runtime/llm_service/pricing_calculator.py +279 -0
  696. ciris_engine/logic/services/runtime/llm_service/service.py +930 -0
  697. ciris_engine/logic/services/tools/__init__.py +5 -0
  698. ciris_engine/logic/services/tools/core_tool_service/__init__.py +8 -0
  699. ciris_engine/logic/services/tools/core_tool_service/service.py +852 -0
  700. ciris_engine/logic/setup/__init__.py +1 -0
  701. ciris_engine/logic/setup/first_run.py +250 -0
  702. ciris_engine/logic/setup/wizard.py +327 -0
  703. ciris_engine/logic/telemetry/__init__.py +46 -0
  704. ciris_engine/logic/telemetry/core.py +239 -0
  705. ciris_engine/logic/telemetry/hot_cold_config.py +133 -0
  706. ciris_engine/logic/telemetry/log_collector.py +190 -0
  707. ciris_engine/logic/telemetry/resource_monitor.py +7 -0
  708. ciris_engine/logic/telemetry/security.py +79 -0
  709. ciris_engine/logic/utils/__init__.py +18 -0
  710. ciris_engine/logic/utils/channel_utils.py +75 -0
  711. ciris_engine/logic/utils/consent/__init__.py +1 -0
  712. ciris_engine/logic/utils/consent/partnership_utils.py +172 -0
  713. ciris_engine/logic/utils/constants.py +92 -0
  714. ciris_engine/logic/utils/context_utils.py +145 -0
  715. ciris_engine/logic/utils/directory_setup.py +533 -0
  716. ciris_engine/logic/utils/graphql_context_provider.py +152 -0
  717. ciris_engine/logic/utils/identity_resolution.py +843 -0
  718. ciris_engine/logic/utils/incident_capture_handler.py +303 -0
  719. ciris_engine/logic/utils/initialization_manager.py +74 -0
  720. ciris_engine/logic/utils/jsondict_helpers.py +290 -0
  721. ciris_engine/logic/utils/log_sanitizer.py +97 -0
  722. ciris_engine/logic/utils/logging_config.py +151 -0
  723. ciris_engine/logic/utils/observability_decorators.py +544 -0
  724. ciris_engine/logic/utils/occurrence_utils.py +155 -0
  725. ciris_engine/logic/utils/path_resolution.py +281 -0
  726. ciris_engine/logic/utils/platform_detection.py +286 -0
  727. ciris_engine/logic/utils/privacy.py +266 -0
  728. ciris_engine/logic/utils/profile_loader.py +124 -0
  729. ciris_engine/logic/utils/profile_manager.py +16 -0
  730. ciris_engine/logic/utils/runtime_utils.py +69 -0
  731. ciris_engine/logic/utils/shutdown_manager.py +107 -0
  732. ciris_engine/logic/utils/task_formatters.py +60 -0
  733. ciris_engine/logic/utils/task_thought_factory.py +404 -0
  734. ciris_engine/logic/utils/thought_utils.py +54 -0
  735. ciris_engine/logic/utils/user_utils.py +70 -0
  736. ciris_engine/protocols/__init__.py +0 -0
  737. ciris_engine/protocols/adapters/__init__.py +35 -0
  738. ciris_engine/protocols/adapters/base.py +149 -0
  739. ciris_engine/protocols/adapters/configurable.py +265 -0
  740. ciris_engine/protocols/adapters/message.py +90 -0
  741. ciris_engine/protocols/audit/__init__.py +1 -0
  742. ciris_engine/protocols/buses/__init__.py +1 -0
  743. ciris_engine/protocols/config/__init__.py +1 -0
  744. ciris_engine/protocols/conscience/__init__.py +1 -0
  745. ciris_engine/protocols/consent.py +88 -0
  746. ciris_engine/protocols/context/__init__.py +1 -0
  747. ciris_engine/protocols/data/__init__.py +1 -0
  748. ciris_engine/protocols/dma/__init__.py +1 -0
  749. ciris_engine/protocols/dma/base.py +107 -0
  750. ciris_engine/protocols/faculties.py +34 -0
  751. ciris_engine/protocols/formatters/__init__.py +1 -0
  752. ciris_engine/protocols/handlers/__init__.py +1 -0
  753. ciris_engine/protocols/infrastructure/__init__.py +25 -0
  754. ciris_engine/protocols/infrastructure/base.py +377 -0
  755. ciris_engine/protocols/persistence/__init__.py +1 -0
  756. ciris_engine/protocols/pipeline_control.py +609 -0
  757. ciris_engine/protocols/processors/__init__.py +19 -0
  758. ciris_engine/protocols/processors/agent.py +299 -0
  759. ciris_engine/protocols/processors/base.py +130 -0
  760. ciris_engine/protocols/processors/orchestration.py +62 -0
  761. ciris_engine/protocols/registries/__init__.py +1 -0
  762. ciris_engine/protocols/runtime/__init__.py +1 -0
  763. ciris_engine/protocols/runtime/base.py +163 -0
  764. ciris_engine/protocols/secrets/__init__.py +1 -0
  765. ciris_engine/protocols/services/__init__.py +80 -0
  766. ciris_engine/protocols/services/adaptation/__init__.py +7 -0
  767. ciris_engine/protocols/services/adaptation/self_observation.py +265 -0
  768. ciris_engine/protocols/services/governance/__init__.py +20 -0
  769. ciris_engine/protocols/services/governance/communication.py +58 -0
  770. ciris_engine/protocols/services/governance/filter.py +56 -0
  771. ciris_engine/protocols/services/governance/visibility.py +32 -0
  772. ciris_engine/protocols/services/governance/wa_auth.py +192 -0
  773. ciris_engine/protocols/services/governance/wise_authority.py +75 -0
  774. ciris_engine/protocols/services/graph/__init__.py +19 -0
  775. ciris_engine/protocols/services/graph/audit.py +92 -0
  776. ciris_engine/protocols/services/graph/config.py +54 -0
  777. ciris_engine/protocols/services/graph/incident_management.py +103 -0
  778. ciris_engine/protocols/services/graph/memory.py +110 -0
  779. ciris_engine/protocols/services/graph/telemetry.py +51 -0
  780. ciris_engine/protocols/services/graph/tsdb_consolidation.py +87 -0
  781. ciris_engine/protocols/services/infrastructure/__init__.py +11 -0
  782. ciris_engine/protocols/services/infrastructure/authentication.py +159 -0
  783. ciris_engine/protocols/services/infrastructure/credit_gate.py +46 -0
  784. ciris_engine/protocols/services/infrastructure/database_maintenance.py +25 -0
  785. ciris_engine/protocols/services/infrastructure/resource_monitor.py +83 -0
  786. ciris_engine/protocols/services/lifecycle/__init__.py +13 -0
  787. ciris_engine/protocols/services/lifecycle/initialization.py +41 -0
  788. ciris_engine/protocols/services/lifecycle/scheduler.py +42 -0
  789. ciris_engine/protocols/services/lifecycle/shutdown.py +50 -0
  790. ciris_engine/protocols/services/lifecycle/time.py +31 -0
  791. ciris_engine/protocols/services/runtime/__init__.py +13 -0
  792. ciris_engine/protocols/services/runtime/llm.py +50 -0
  793. ciris_engine/protocols/services/runtime/runtime_control.py +193 -0
  794. ciris_engine/protocols/services/runtime/secrets.py +100 -0
  795. ciris_engine/protocols/services/runtime/tool.py +123 -0
  796. ciris_engine/protocols/telemetry/__init__.py +1 -0
  797. ciris_engine/protocols/utils/__init__.py +1 -0
  798. ciris_engine/schemas/__init__.py +112 -0
  799. ciris_engine/schemas/actions/__init__.py +37 -0
  800. ciris_engine/schemas/actions/parameters.py +137 -0
  801. ciris_engine/schemas/adapters/__init__.py +13 -0
  802. ciris_engine/schemas/adapters/cirisnode.py +135 -0
  803. ciris_engine/schemas/adapters/cli.py +97 -0
  804. ciris_engine/schemas/adapters/cli_tools.py +98 -0
  805. ciris_engine/schemas/adapters/discord.py +125 -0
  806. ciris_engine/schemas/adapters/graphql_core.py +144 -0
  807. ciris_engine/schemas/adapters/registration.py +47 -0
  808. ciris_engine/schemas/adapters/runtime_context.py +48 -0
  809. ciris_engine/schemas/adapters/tool_execution.py +45 -0
  810. ciris_engine/schemas/adapters/tools.py +96 -0
  811. ciris_engine/schemas/api/__init__.py +1 -0
  812. ciris_engine/schemas/api/agent.py +50 -0
  813. ciris_engine/schemas/api/audit.py +38 -0
  814. ciris_engine/schemas/api/auth.py +351 -0
  815. ciris_engine/schemas/api/config_security.py +242 -0
  816. ciris_engine/schemas/api/emergency.py +111 -0
  817. ciris_engine/schemas/api/responses.py +72 -0
  818. ciris_engine/schemas/api/runtime.py +26 -0
  819. ciris_engine/schemas/api/telemetry.py +109 -0
  820. ciris_engine/schemas/api/wa.py +90 -0
  821. ciris_engine/schemas/audit/__init__.py +13 -0
  822. ciris_engine/schemas/audit/core.py +139 -0
  823. ciris_engine/schemas/audit/hash_chain.py +58 -0
  824. ciris_engine/schemas/audit/verification.py +131 -0
  825. ciris_engine/schemas/buses/__init__.py +1 -0
  826. ciris_engine/schemas/config/__init__.py +41 -0
  827. ciris_engine/schemas/config/agent.py +279 -0
  828. ciris_engine/schemas/config/cognitive_state_behaviors.py +194 -0
  829. ciris_engine/schemas/config/default_dsar_sops.py +178 -0
  830. ciris_engine/schemas/config/essential.py +195 -0
  831. ciris_engine/schemas/config/tickets.py +86 -0
  832. ciris_engine/schemas/conscience/__init__.py +25 -0
  833. ciris_engine/schemas/conscience/context.py +34 -0
  834. ciris_engine/schemas/conscience/core.py +145 -0
  835. ciris_engine/schemas/conscience/results.py +24 -0
  836. ciris_engine/schemas/consent/__init__.py +5 -0
  837. ciris_engine/schemas/consent/core.py +404 -0
  838. ciris_engine/schemas/context/__init__.py +1 -0
  839. ciris_engine/schemas/covenant.py +382 -0
  840. ciris_engine/schemas/data/__init__.py +1 -0
  841. ciris_engine/schemas/dma/__init__.py +16 -0
  842. ciris_engine/schemas/dma/core.py +199 -0
  843. ciris_engine/schemas/dma/faculty.py +192 -0
  844. ciris_engine/schemas/dma/prompts.py +172 -0
  845. ciris_engine/schemas/dma/results.py +103 -0
  846. ciris_engine/schemas/formatters/__init__.py +1 -0
  847. ciris_engine/schemas/handlers/__init__.py +10 -0
  848. ciris_engine/schemas/handlers/context.py +119 -0
  849. ciris_engine/schemas/handlers/contexts.py +100 -0
  850. ciris_engine/schemas/handlers/core.py +167 -0
  851. ciris_engine/schemas/handlers/memory_schemas.py +67 -0
  852. ciris_engine/schemas/handlers/schemas.py +95 -0
  853. ciris_engine/schemas/identity.py +149 -0
  854. ciris_engine/schemas/infrastructure/__init__.py +1 -0
  855. ciris_engine/schemas/infrastructure/base.py +256 -0
  856. ciris_engine/schemas/infrastructure/behavioral_patterns.py +129 -0
  857. ciris_engine/schemas/infrastructure/feedback_loop.py +57 -0
  858. ciris_engine/schemas/infrastructure/identity_variance.py +141 -0
  859. ciris_engine/schemas/infrastructure/oauth.py +175 -0
  860. ciris_engine/schemas/infrastructure/wa_cli_wizard.py +54 -0
  861. ciris_engine/schemas/persistence/__init__.py +34 -0
  862. ciris_engine/schemas/persistence/core.py +140 -0
  863. ciris_engine/schemas/persistence/correlations.py +73 -0
  864. ciris_engine/schemas/persistence/postgres/__init__.py +1 -0
  865. ciris_engine/schemas/persistence/postgres/tables.py +280 -0
  866. ciris_engine/schemas/persistence/sqlite/__init__.py +1 -0
  867. ciris_engine/schemas/persistence/sqlite/tables.py +281 -0
  868. ciris_engine/schemas/platform.py +149 -0
  869. ciris_engine/schemas/processors/__init__.py +26 -0
  870. ciris_engine/schemas/processors/base.py +130 -0
  871. ciris_engine/schemas/processors/cognitive.py +77 -0
  872. ciris_engine/schemas/processors/context.py +35 -0
  873. ciris_engine/schemas/processors/core.py +152 -0
  874. ciris_engine/schemas/processors/dma.py +105 -0
  875. ciris_engine/schemas/processors/error.py +122 -0
  876. ciris_engine/schemas/processors/main.py +109 -0
  877. ciris_engine/schemas/processors/phase_results.py +21 -0
  878. ciris_engine/schemas/processors/results.py +99 -0
  879. ciris_engine/schemas/processors/solitude.py +79 -0
  880. ciris_engine/schemas/processors/state.py +202 -0
  881. ciris_engine/schemas/processors/state_example.py +177 -0
  882. ciris_engine/schemas/processors/states.py +21 -0
  883. ciris_engine/schemas/processors/status.py +34 -0
  884. ciris_engine/schemas/registries/__init__.py +1 -0
  885. ciris_engine/schemas/registries/base.py +66 -0
  886. ciris_engine/schemas/resources/__init__.py +15 -0
  887. ciris_engine/schemas/resources/crisis.py +315 -0
  888. ciris_engine/schemas/runtime/__init__.py +42 -0
  889. ciris_engine/schemas/runtime/adapter_management.py +186 -0
  890. ciris_engine/schemas/runtime/api.py +58 -0
  891. ciris_engine/schemas/runtime/audit.py +50 -0
  892. ciris_engine/schemas/runtime/bootstrap.py +33 -0
  893. ciris_engine/schemas/runtime/contexts.py +61 -0
  894. ciris_engine/schemas/runtime/core.py +161 -0
  895. ciris_engine/schemas/runtime/enums.py +167 -0
  896. ciris_engine/schemas/runtime/extended.py +232 -0
  897. ciris_engine/schemas/runtime/manifest.py +311 -0
  898. ciris_engine/schemas/runtime/memory.py +60 -0
  899. ciris_engine/schemas/runtime/messages.py +108 -0
  900. ciris_engine/schemas/runtime/models.py +156 -0
  901. ciris_engine/schemas/runtime/processing_context.py +43 -0
  902. ciris_engine/schemas/runtime/protocols_core.py +96 -0
  903. ciris_engine/schemas/runtime/resources.py +33 -0
  904. ciris_engine/schemas/runtime/system_context.py +417 -0
  905. ciris_engine/schemas/secrets/__init__.py +1 -0
  906. ciris_engine/schemas/secrets/core.py +267 -0
  907. ciris_engine/schemas/secrets/service.py +95 -0
  908. ciris_engine/schemas/services/__init__.py +33 -0
  909. ciris_engine/schemas/services/audit_summary_node.py +172 -0
  910. ciris_engine/schemas/services/authority/__init__.py +39 -0
  911. ciris_engine/schemas/services/authority/jwt.py +158 -0
  912. ciris_engine/schemas/services/authority/wa_updates.py +138 -0
  913. ciris_engine/schemas/services/authority/wise_authority.py +163 -0
  914. ciris_engine/schemas/services/authority_core.py +370 -0
  915. ciris_engine/schemas/services/capabilities.py +72 -0
  916. ciris_engine/schemas/services/community_core.py +95 -0
  917. ciris_engine/schemas/services/context.py +111 -0
  918. ciris_engine/schemas/services/conversation_summary_node.py +189 -0
  919. ciris_engine/schemas/services/core/__init__.py +153 -0
  920. ciris_engine/schemas/services/core/runtime.py +262 -0
  921. ciris_engine/schemas/services/core/runtime_config.py +117 -0
  922. ciris_engine/schemas/services/core/secrets.py +65 -0
  923. ciris_engine/schemas/services/correlation_node.py +179 -0
  924. ciris_engine/schemas/services/credit_gate.py +92 -0
  925. ciris_engine/schemas/services/discord_nodes.py +299 -0
  926. ciris_engine/schemas/services/feedback_core.py +131 -0
  927. ciris_engine/schemas/services/filters_core.py +270 -0
  928. ciris_engine/schemas/services/governance.py +26 -0
  929. ciris_engine/schemas/services/graph/__init__.py +26 -0
  930. ciris_engine/schemas/services/graph/attributes.py +254 -0
  931. ciris_engine/schemas/services/graph/audit.py +98 -0
  932. ciris_engine/schemas/services/graph/consolidation.py +338 -0
  933. ciris_engine/schemas/services/graph/edge_types.py +43 -0
  934. ciris_engine/schemas/services/graph/edges.py +88 -0
  935. ciris_engine/schemas/services/graph/incident.py +312 -0
  936. ciris_engine/schemas/services/graph/memory.py +84 -0
  937. ciris_engine/schemas/services/graph/node_data.py +174 -0
  938. ciris_engine/schemas/services/graph/query_results.py +82 -0
  939. ciris_engine/schemas/services/graph/telemetry.py +250 -0
  940. ciris_engine/schemas/services/graph/tsdb_consolidation.py +27 -0
  941. ciris_engine/schemas/services/graph/tsdb_models.py +107 -0
  942. ciris_engine/schemas/services/graph_core.py +196 -0
  943. ciris_engine/schemas/services/graph_typed_nodes.py +194 -0
  944. ciris_engine/schemas/services/infrastructure/__init__.py +1 -0
  945. ciris_engine/schemas/services/infrastructure/resource_monitor.py +20 -0
  946. ciris_engine/schemas/services/lifecycle/__init__.py +9 -0
  947. ciris_engine/schemas/services/lifecycle/initialization.py +33 -0
  948. ciris_engine/schemas/services/lifecycle/time.py +50 -0
  949. ciris_engine/schemas/services/llm.py +187 -0
  950. ciris_engine/schemas/services/metadata.py +43 -0
  951. ciris_engine/schemas/services/nodes.py +704 -0
  952. ciris_engine/schemas/services/operations.py +126 -0
  953. ciris_engine/schemas/services/requests.py +128 -0
  954. ciris_engine/schemas/services/resources_core.py +182 -0
  955. ciris_engine/schemas/services/runtime_control.py +1010 -0
  956. ciris_engine/schemas/services/shutdown.py +88 -0
  957. ciris_engine/schemas/services/special/__init__.py +0 -0
  958. ciris_engine/schemas/services/special/self_observation.py +396 -0
  959. ciris_engine/schemas/services/trace_summary_node.py +199 -0
  960. ciris_engine/schemas/services/visibility.py +98 -0
  961. ciris_engine/schemas/streaming/__init__.py +10 -0
  962. ciris_engine/schemas/streaming/reasoning_stream.py +95 -0
  963. ciris_engine/schemas/telemetry/__init__.py +0 -0
  964. ciris_engine/schemas/telemetry/collector.py +67 -0
  965. ciris_engine/schemas/telemetry/core.py +252 -0
  966. ciris_engine/schemas/telemetry/unified.py +59 -0
  967. ciris_engine/schemas/tools.py +72 -0
  968. ciris_engine/schemas/types.py +47 -0
  969. ciris_engine/schemas/utils/__init__.py +1 -0
  970. ciris_engine/schemas/utils/config_validator.py +54 -0
  971. ciris_engine/utils/__init__.py +1 -0
  972. ciris_engine/utils/serialization.py +35 -0
  973. ciris_sdk/__init__.py +124 -0
  974. ciris_sdk/auth_store.py +261 -0
  975. ciris_sdk/client.py +261 -0
  976. ciris_sdk/exceptions.py +73 -0
  977. ciris_sdk/model_types.py +258 -0
  978. ciris_sdk/models.py +354 -0
  979. ciris_sdk/pagination.py +214 -0
  980. ciris_sdk/rate_limiter.py +188 -0
  981. ciris_sdk/setup.py +17 -0
  982. ciris_sdk/telemetry_models.py +257 -0
  983. ciris_sdk/telemetry_responses.py +199 -0
  984. ciris_sdk/transport.py +177 -0
  985. ciris_sdk/websocket.py +400 -0
  986. main.py +766 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1186],{589:(e,t,s)=>{"use strict";s.d(t,{$:()=>l,s:()=>n});var r=s(494),a=s(6759),i=s(1279),n=class extends a.k{#e;#t;#s;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||l(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#t.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#r({type:"continue"})};this.#s=(0,i.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#r({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#r({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let s="pending"===this.state.status,r=!this.#s.canStart();try{if(s)t();else{this.#r({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let t=await this.options.onMutate?.(e);t!==this.state.context&&this.#r({type:"pending",context:t,variables:e,isPaused:r})}let a=await this.#s.start();return await this.#t.config.onSuccess?.(a,e,this.state.context,this),await this.options.onSuccess?.(a,e,this.state.context),await this.#t.config.onSettled?.(a,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(a,null,e,this.state.context),this.#r({type:"success",data:a}),a}catch(t){try{throw await this.#t.config.onError?.(t,e,this.state.context,this),await this.options.onError?.(t,e,this.state.context),await this.#t.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,t,e,this.state.context),t}finally{this.#r({type:"error",error:t})}}finally{this.#t.runNext(this)}}#r(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),r.jG.batch(()=>{this.#e.forEach(t=>{t.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function l(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},2942:(e,t,s)=>{"use strict";var r=s(2418);s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},2995:(e,t,s)=>{Promise.resolve().then(s.bind(s,6107))},3120:(e,t,s)=>{"use strict";s.d(t,{_:()=>l});var r=s(704);function a(){let e=window.location.hostname,t=window.location.pathname,s=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!s)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=s?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let r="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:r}}}var i=s(5950);class n{configure(e,t){let s,{mode:r}=a();if("managed"===r)s="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));s=t||window.location.origin}t||(t=i.a.getAccessToken()||void 0);let n={baseURL:s,authToken:t,agentId:e,mode:r};return this.hasConfigChanged(n)&&this.applyConfiguration(n),n}configureForOAuthCallback(e,t){let s,{mode:r}=a(),i={baseURL:"managed"===r?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:r};return this.applyConfiguration(i),this.storeConfiguration(i),i}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),r.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),s=i.a.getAccessToken()||void 0;return{...t,authToken:s}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let l=new n},4893:(e,t,s)=>{"use strict";s.d(t,{DP:()=>y,HG:()=>u,Nl:()=>o,O4:()=>c,Pi:()=>n,RR:()=>x,RY:()=>m,Rv:()=>v,XR:()=>l,Zu:()=>j,bN:()=>p,c1:()=>N,fC:()=>w,fK:()=>f,lm:()=>g,md:()=>A,mo:()=>i,uc:()=>b,ui:()=>d,vK:()=>h,xZ:()=>C,xm:()=>_});var r=s(4568);s(7620);let a={xs:{width:12,height:12},sm:{width:16,height:16},md:{width:20,height:20},lg:{width:24,height:24}},i=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})})},n=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})},l=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{d:"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z"})})},o=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsxs)("svg",{className:"animate-spin ".concat(t),width:i,height:n,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})},d=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})})},c=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})},u=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"})})},h=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})},m=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z",clipRule:"evenodd"})})},x=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})})},p=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsxs)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:[(0,r.jsx)("path",{d:"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z"}),(0,r.jsx)("path",{d:"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z"}),(0,r.jsx)("path",{d:"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z"})]})},g=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},y=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z",clipRule:"evenodd"})})},v=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{d:"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z"})})},f=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})},j=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},b=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})})},N=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})},w=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},C=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})},_=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},A=e=>{let{status:t,className:s=""}=e;return(0,r.jsx)("span",{className:"w-3 h-3 rounded-full ".concat({green:"bg-green-500",yellow:"bg-yellow-500",red:"bg-red-500",gray:"bg-gray-500"}[t]," ").concat(s)})}},6107:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var r=s(4568),a=s(7620),i=s(7606),n=s(3297),l=s(6258),o=s(704),d=s(9484),c=s(3237),u=s(4893);function h(e){var t;let{adapterType:s,adapterId:i,isEdit:n=!1,config:l,setConfig:o,onSubmit:d,onClose:u,isPending:h=!1}=e,[m,x]=a.useState(!1),[p,g]=a.useState(null),y={width:"100%",padding:"8px 12px",border:"1px solid #ccc",borderRadius:"4px",fontSize:"14px",marginTop:"5px"},v={display:"block",marginBottom:"5px",fontSize:"14px",fontWeight:"500"},f={marginBottom:"15px"};return(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"30px",borderRadius:"8px",maxWidth:"500px",width:"90%",maxHeight:"80vh",overflowY:"auto"},children:[(0,r.jsxs)("h3",{style:{fontSize:"18px",fontWeight:"bold",marginBottom:"15px"},children:[n?"Edit":"Configure"," ",s.charAt(0).toUpperCase()+s.slice(1)," Adapter ",i?"(".concat(i,")"):""]}),"discord"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Bot Token ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"password",value:l.bot_token||"",onChange:e=>o({...l,bot_token:e.target.value}),style:y,placeholder:n?"••••••••":"Your Discord bot token"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Server ID ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"text",value:l.server_id||"",onChange:e=>o({...l,server_id:e.target.value}),style:y,placeholder:"Discord server/guild ID"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Home Channel ID"}),(0,r.jsx)("input",{type:"text",value:l.home_channel_id||"",onChange:e=>o({...l,home_channel_id:e.target.value}),style:y,placeholder:"Primary channel for agent"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Deferral Channel ID"}),(0,r.jsx)("input",{type:"text",value:l.deferral_channel_id||"",onChange:e=>o({...l,deferral_channel_id:e.target.value}),style:y,placeholder:"Channel for deferred messages"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Monitored Channel IDs (comma-separated)"}),(0,r.jsx)("input",{type:"text",value:Array.isArray(l.monitored_channel_ids)?l.monitored_channel_ids.join(", "):"",onChange:e=>o({...l,monitored_channel_ids:e.target.value?e.target.value.split(",").map(e=>e.trim()):[]}),style:y,placeholder:"Channel IDs to monitor"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.respond_to_mentions,onChange:e=>o({...l,respond_to_mentions:e.target.checked}),style:{marginRight:"8px"}}),"Respond to Mentions"]})}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.respond_to_dms,onChange:e=>o({...l,respond_to_dms:e.target.checked}),style:{marginRight:"8px"}}),"Respond to DMs"]})})]}),"api"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Host ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"text",value:l.host||"",onChange:e=>o({...l,host:e.target.value}),style:y,placeholder:"0.0.0.0"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Port ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"number",value:l.port||"",onChange:e=>o({...l,port:parseInt(e.target.value)||8080}),style:y,placeholder:"8080"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"CORS Origins"}),(0,r.jsx)("input",{type:"text",value:(null==(t=l.cors_origins)?void 0:t.join(", "))||"*",onChange:e=>o({...l,cors_origins:e.target.value.split(",").map(e=>e.trim())}),style:y,placeholder:"*, http://localhost:3000"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.enable_auth,onChange:e=>o({...l,enable_auth:e.target.checked}),style:{marginRight:"8px"}}),"Enable Authentication"]})}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.cors_enabled,onChange:e=>o({...l,cors_enabled:e.target.checked}),style:{marginRight:"8px"}}),"Enable CORS"]})})]}),"cli"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Prompt"}),(0,r.jsx)("input",{type:"text",value:l.prompt||"",onChange:e=>o({...l,prompt:e.target.value}),style:y,placeholder:"> "})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"History File"}),(0,r.jsx)("input",{type:"text",value:l.history_file||"",onChange:e=>o({...l,history_file:e.target.value}),style:y,placeholder:".ciris_history"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:l.enable_colors||!1,onChange:e=>o({...l,enable_colors:e.target.checked}),style:{marginRight:"8px"}}),"Enable Colors"]})})]}),(0,r.jsxs)("div",{style:{marginTop:"20px",borderTop:"1px solid #e5e7eb",paddingTop:"20px"},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>x(!m),style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px",border:"1px solid #e5e7eb",borderRadius:"4px",backgroundColor:"white",cursor:"pointer",fontSize:"14px",fontWeight:"500",width:"100%",justifyContent:"space-between"},children:[(0,r.jsx)("span",{children:"Advanced Configuration (JSON)"}),(0,r.jsx)("span",{style:{fontSize:"12px"},children:m?"▼":"▶"})]}),m&&(0,r.jsxs)("div",{style:{marginTop:"15px"},children:[(0,r.jsxs)("label",{style:{...v,marginBottom:"10px"},children:["Raw Configuration JSON",p&&(0,r.jsx)("span",{style:{color:"red",fontSize:"12px",marginLeft:"10px"},children:p})]}),(0,r.jsx)("textarea",{value:JSON.stringify(l,null,2),onChange:e=>{try{let t=JSON.parse(e.target.value);o(t),g(null)}catch(e){g("Invalid JSON")}},style:{...y,fontFamily:"monospace",fontSize:"12px",minHeight:"200px",resize:"vertical",borderColor:p?"red":"#ccc"},placeholder:"{}"}),(0,r.jsx)("p",{style:{fontSize:"12px",color:"#666",marginTop:"5px"},children:"Edit the raw JSON configuration. Changes here will override the form fields above."})]})]}),(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px",marginTop:"20px"},children:[(0,r.jsx)("button",{onClick:u,style:{padding:"8px 16px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"white",cursor:"pointer"},children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{if("discord"===s){if(!l.bot_token)return void c.Ay.error("Bot token is required");if(!l.server_id)return void c.Ay.error("Server ID is required")}else if("api"===s){if(!l.host)return void c.Ay.error("Host is required");if(!l.port)return void c.Ay.error("Port is required")}d(s,l)},disabled:h,style:{padding:"8px 16px",backgroundColor:h?"#ccc":"#4f46e5",color:"white",border:"none",borderRadius:"4px",cursor:h?"not-allowed":"pointer"},children:h?n?"Saving...":"Registering...":n?"Save Changes":"Register Adapter"})]})]})})}function m(){var e,t,s,m,x,p,g,y,v,f,j,b,N,w,C,_,A,k,R,M,S,I;let{hasRole:O}=(0,d.A)(),L=(0,i.jE)(),[z,E]=(0,a.useState)(null),[T,P]=(0,a.useState)(null),[D,F]=(0,a.useState)({}),U=e=>{if(e.startsWith("registry.ServiceType.")){let t=e.split(".");if(t.length>=4){let e=t[2],s=t[3].split("_")[0];if("DiscordAdapter"===s){if("WISE_AUTHORITY"===e)return"DISCORD-WISE";if("COMMUNICATION"===e)return"DISCORD-COMM"}else if("APICommunicationService"===s)return"API-COMM";else if("APIToolService"===s)return"API-TOOL";else if("APIRuntimeControlService"===s)return"API-RUNTIME";else if("DiscordToolService"===s)return"DISCORD-TOOL";else if("MockLLMService"===s)return"MOCK-LLM";else if("WiseAuthorityService"===s)return"CORE-WISE";else if("SecretsToolService"===s)return"CORE-TOOL";else if("LocalGraphMemoryService"===s)return"MEMORY";else if("TimeService"===s)return"TIME";else return e.replace(/_/g,"-")}}if(e.startsWith("direct.")){let t=e.split(".");return t[t.length-1].replace(/Service$/,"").replace(/([A-Z])/g,"-$1").toUpperCase().replace(/^-/,"").replace(/-+/g,"-")}return e};(z||T)&&console.log("Modal states:",{confirmDialog:z,adapterConfigModal:T});let{data:B}=(0,n.I)({queryKey:["system-health"],queryFn:()=>o.AQ.system.getHealth(),refetchInterval:5e3}),{data:Q}=(0,n.I)({queryKey:["system-services"],queryFn:()=>o.AQ.system.getServices(),refetchInterval:5e3}),{data:K}=(0,n.I)({queryKey:["system-resources"],queryFn:()=>o.AQ.system.getResources(),refetchInterval:5e3}),{data:q}=(0,n.I)({queryKey:["system-processors"],queryFn:()=>o.AQ.system.getProcessorStates(),refetchInterval:5e3,enabled:O("ADMIN")}),{data:H}=(0,n.I)({queryKey:["system-runtime-state"],queryFn:()=>o.AQ.system.getRuntimeState(),refetchInterval:5e3}),W=H?{is_paused:"paused"===H.processor_state,cognitive_state:("UNKNOWN"!==H.cognitive_state?H.cognitive_state:null==B||null==(e=B.cognitive_state)?void 0:e.toUpperCase())||"WORK",queue_depth:H.queue_depth,processor_status:H.processor_state}:null,{data:V}=(0,n.I)({queryKey:["system-adapters"],queryFn:()=>o.AQ.system.getAdapters(),refetchInterval:5e3,enabled:O("ADMIN")}),{data:G}=(0,n.I)({queryKey:["agent-channels"],queryFn:()=>o.AQ.agent.getChannels(),refetchInterval:5e3}),{data:Y}=(0,n.I)({queryKey:["telemetry-overview"],queryFn:()=>o.AQ.telemetry.getOverview(),refetchInterval:3e4}),J=(0,l.n)({mutationFn:()=>o.AQ.system.pauseRuntime(),onSuccess:()=>{c.Ay.success("Runtime paused"),L.invalidateQueries({queryKey:["system-health"]})},onError:()=>{c.Ay.error("Failed to pause runtime")}}),$=(0,l.n)({mutationFn:()=>o.AQ.system.resumeRuntime(),onSuccess:()=>{c.Ay.success("Runtime resumed"),L.invalidateQueries({queryKey:["system-health"]})},onError:()=>{c.Ay.error("Failed to resume runtime")}}),Z=(0,l.n)({mutationFn:e=>{let{name:t,duration:s}=e;return o.AQ.system.pauseProcessor(t,s)},onSuccess:(e,t)=>{let{name:s}=t;c.Ay.success("Processor ".concat(s," paused")),L.invalidateQueries({queryKey:["system-processors"]})},onError:(e,t)=>{let{name:s}=t;c.Ay.error("Failed to pause processor ".concat(s))}}),X=(0,l.n)({mutationFn:e=>o.AQ.system.resumeProcessor(e),onSuccess:(e,t)=>{c.Ay.success("Processor ".concat(t," resumed")),L.invalidateQueries({queryKey:["system-processors"]})},onError:(e,t)=>{c.Ay.error("Failed to resume processor ".concat(t))}}),ee=(0,l.n)({mutationFn:e=>o.AQ.system.reloadAdapter(e),onSuccess:(e,t)=>{c.Ay.success("Adapter ".concat(t," reloaded")),L.invalidateQueries({queryKey:["system-adapters"]})},onError:(e,t)=>{c.Ay.error("Failed to reload adapter ".concat(t))}}),et=(0,l.n)({mutationFn:e=>o.AQ.system.unregisterAdapter(e),onSuccess:(e,t)=>{c.Ay.success("Adapter ".concat(t," removed")),L.invalidateQueries({queryKey:["system-adapters"]})},onError:(e,t)=>{c.Ay.error("Failed to remove adapter ".concat(t))}}),es=(0,l.n)({mutationFn:e=>{let{adapterType:t,config:s}=e;return o.AQ.system.registerAdapter(t,s)},onSuccess:(e,t)=>{let{adapterType:s}=t;c.Ay.success("".concat(s," adapter registered")),L.invalidateQueries({queryKey:["system-adapters"]}),L.invalidateQueries({queryKey:["agent-channels"]}),P(null),F({})},onError:(e,t)=>{let{adapterType:s}=t;c.Ay.error("Failed to register ".concat(s," adapter"))}}),er=e=>{switch(e){case"healthy":return"green";case"degraded":return"yellow";case"unhealthy":return"red";default:return"gray"}};return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("div",{className:"bg-white shadow",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:px-6",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"System Status"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Comprehensive system health monitoring and runtime control"})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"System Overview"}),B&&(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Overall Health"}),(0,r.jsx)("dd",{className:"mt-2 flex items-center",children:(0,r.jsxs)("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-lg font-semibold bg-".concat(er(B.status),"-100 text-").concat(er(B.status),"-800"),children:[(0,r.jsx)("span",{className:"mr-2",children:(e=>{switch(e){case"healthy":return"✓";case"degraded":return"!";case"unhealthy":return"✗";default:return"?"}})(B.status)}),null==(t=B.status)?void 0:t.toUpperCase()]})})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Uptime"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:B.uptime_seconds?(e=>{let t=Math.floor(e/86400),s=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return"".concat(t,"d ").concat(s,"h ").concat(r,"m")})(B.uptime_seconds):"N/A"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Memory Usage"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==K||null==(s=K.current_usage)?void 0:s.memory_mb)?"".concat(K.current_usage.memory_mb.toFixed(1)," MB"):"N/A"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"CPU Usage"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==K||null==(m=K.current_usage)?void 0:m.cpu_percent)?"".concat(K.current_usage.cpu_percent.toFixed(1),"%"):"N/A"})]})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Resource Usage"}),K?(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"CPU Usage"}),(0,r.jsxs)("span",{className:"text-lg font-bold ".concat((null==K||null==(x=K.current_usage)?void 0:x.cpu_percent)>80?"text-red-600":(null==K||null==(p=K.current_usage)?void 0:p.cpu_percent)>60?"text-yellow-600":"text-green-600"),children:[(null==K||null==(y=K.current_usage)||null==(g=y.cpu_percent)?void 0:g.toFixed(1))||0,"%"]})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsx)("div",{className:"overflow-hidden h-4 text-xs flex rounded-full bg-gray-200",children:(0,r.jsx)("div",{style:{width:"".concat((null==K||null==(v=K.current_usage)?void 0:v.cpu_percent)||0,"%")},className:"shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center transition-all duration-300 ".concat((null==K||null==(f=K.current_usage)?void 0:f.cpu_percent)>80?"bg-red-500":(null==K||null==(j=K.current_usage)?void 0:j.cpu_percent)>60?"bg-yellow-500":"bg-blue-500")})})})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Memory Usage"}),(0,r.jsxs)("span",{className:"text-lg font-bold ".concat((null==K||null==(b=K.current_usage)?void 0:b.memory_percent)>80?"text-red-600":(null==K||null==(N=K.current_usage)?void 0:N.memory_percent)>60?"text-yellow-600":"text-green-600"),children:[(null==K||null==(w=K.current_usage)?void 0:w.memory_mb)?K.current_usage.memory_mb.toFixed(1):0," MB"]})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsx)("div",{className:"overflow-hidden h-4 text-xs flex rounded-full bg-gray-200",children:(0,r.jsx)("div",{style:{width:"".concat((null==K||null==(C=K.current_usage)?void 0:C.memory_percent)||0,"%")},className:"shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center transition-all duration-300 ".concat((null==K||null==(_=K.current_usage)?void 0:_.memory_percent)>80?"bg-red-500":(null==K||null==(A=K.current_usage)?void 0:A.memory_percent)>60?"bg-yellow-500":"bg-green-500")})})}),(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:[(null==K||null==(R=K.current_usage)||null==(k=R.memory_percent)?void 0:k.toFixed(1))||0,"% utilized"]})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Disk Usage"}),(0,r.jsx)("span",{className:"text-lg font-bold text-green-600",children:(null==K||null==(M=K.current_usage)?void 0:M.disk_used_mb)?"".concat((K.current_usage.disk_used_mb/1024).toFixed(1)," GB"):"N/A"})]})})]}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"Loading resource information..."})})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Environmental Impact"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-green-50 rounded-lg p-4 border border-green-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"CO₂ Emissions"}),(0,r.jsx)(u.fC,{className:"text-green-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-green-700",children:[(null==Y?void 0:Y.carbon_last_hour_grams)?(Y.carbon_last_hour_grams/1e3).toFixed(3):"0.000"," kg"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]}),(0,r.jsxs)("div",{className:"bg-blue-50 rounded-lg p-4 border border-blue-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Energy Usage"}),(0,r.jsx)(u.xZ,{className:"text-blue-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-blue-700",children:[(null==Y?void 0:Y.energy_last_hour_kwh)?Y.energy_last_hour_kwh.toFixed(4):"0.0000"," kWh"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]}),(0,r.jsxs)("div",{className:"bg-purple-50 rounded-lg p-4 border border-purple-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Estimated Cost"}),(0,r.jsx)(u.xm,{className:"text-purple-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-purple-700",children:["$",(null==Y?void 0:Y.cost_last_hour_cents)?(Y.cost_last_hour_cents/100).toFixed(2):"0.00"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]})]}),(0,r.jsxs)("div",{className:"mt-6 border-t pt-4",children:[(0,r.jsx)("h4",{className:"text-sm font-medium text-gray-900 mb-3",children:"Token Usage Details"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Total Tokens (24h)"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==Y?void 0:Y.tokens_24h)?Y.tokens_24h.toLocaleString():"0"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Avg Tokens/Hour"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==Y||null==(S=Y.tokens_last_hour)?void 0:S.toLocaleString())||"0"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Model"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==B||null==(I=B.version)?void 0:I.includes("mock"))?"Mock LLM":"llama4scout"})]})]})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-medium text-gray-900",children:["Services Health",(null==Q?void 0:Q.services)?" (".concat(Q.services.length," Services)"):""]}),(0,r.jsxs)("div",{className:"flex items-center space-x-4 text-sm",children:[(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"green",className:"mr-1"}),"Healthy"]}),(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"yellow",className:"mr-1"}),"Degraded"]}),(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"red",className:"mr-1"}),"Unhealthy"]})]})]}),(null==Q?void 0:Q.services)?(0,r.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5",children:Q.services.map((e,t)=>(0,r.jsxs)("div",{className:"relative p-4 rounded-lg border-2 transition-all duration-200 hover:shadow-md ".concat(!0===e.healthy?"border-green-200 bg-green-50 hover:border-green-300":!0===e.available?"border-yellow-200 bg-yellow-50 hover:border-yellow-300":"border-red-200 bg-red-50 hover:border-red-300"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900 truncate",children:U(e.name)}),(0,r.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:e.service_type})]}),(0,r.jsx)(u.md,{status:!0===e.healthy?"green":!0===e.available?"yellow":"red",className:"flex-shrink-0 ml-2"})]}),e.capabilities&&e.capabilities.length>0&&(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsxs)("p",{className:"text-xs text-gray-600",title:e.capabilities.join(", "),children:[e.capabilities.length," capabilities"]})})]},"".concat(e.name,"-").concat(t)))}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"Loading services information..."})})]})}),O("ADMIN")&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Main Processor"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Processor Status"}),(0,r.jsx)("dd",{className:"mt-2",children:(0,r.jsx)("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-lg font-semibold ".concat((null==W?void 0:W.is_paused)?"bg-yellow-100 text-yellow-800":"bg-green-100 text-green-800"),children:(null==W?void 0:W.is_paused)?"PAUSED":"RUNNING"})})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Cognitive State"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==W?void 0:W.cognitive_state)||"WORK"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Queue Depth"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==W?void 0:W.queue_depth)||0})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Actions"}),(0,r.jsx)("dd",{className:"mt-2",children:(null==W?void 0:W.is_paused)?(0,r.jsx)("button",{onClick:()=>E({type:"resumeRuntime"}),className:"inline-flex items-center px-3 py-1 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700",children:"Resume"}):(0,r.jsx)("button",{onClick:()=>E({type:"pauseRuntime"}),className:"inline-flex items-center px-3 py-1 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-yellow-600 hover:bg-yellow-700",children:"Pause"})})]})]}),(0,r.jsx)("div",{className:"mt-4 p-4 bg-blue-50 rounded-lg",children:(0,r.jsxs)("p",{className:"text-sm text-blue-800",children:[(0,r.jsx)("strong",{children:"Note:"})," The CIRIS system has one main processor that cycles through cognitive states (WAKEUP, WORK, PLAY, DREAM, SOLITUDE, SHUTDOWN). Pausing affects the entire processor, not individual states."]})})]})}),O("ADMIN")&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Register New Adapter"}),(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("select",{value:"",onChange:e=>{let t=e.target.value;console.log("Adapter selected:",t),t&&(P({type:t}),"discord"===t?F({bot_token:"",server_id:"",monitored_channel_ids:[],home_channel_id:"",deferral_channel_id:"",respond_to_mentions:!0,respond_to_dms:!0}):"api"===t?F({host:"0.0.0.0",port:8080,cors_origins:["*"],enable_auth:!0}):"cli"===t&&F({prompt:"> ",enable_colors:!0,history_file:".ciris_history"}))},className:"block w-full max-w-xs px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm",children:[(0,r.jsx)("option",{value:"",children:"Select adapter type..."}),(0,r.jsx)("option",{value:"api",children:"API"}),(0,r.jsx)("option",{value:"cli",children:"CLI"}),(0,r.jsx)("option",{value:"discord",children:"Discord"})]}),(0,r.jsx)("p",{className:"text-sm text-gray-500",children:"Select an adapter type to register a new instance"})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Active Communication Channels"}),G&&G.length>0?(0,r.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:G.map(e=>(0,r.jsxs)("div",{className:"relative p-4 rounded-lg border-2 border-gray-200 bg-gray-50 hover:shadow-md transition-all duration-200",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between",children:[(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:e.display_name}),(0,r.jsxs)("p",{className:"text-xs text-gray-500 mt-1",children:["ID: ",e.channel_id]}),(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:["Type: ",e.channel_type]})]}),(0,r.jsx)(u.md,{status:e.is_active?"green":"gray",className:"flex-shrink-0 ml-2"})]}),(0,r.jsxs)("div",{className:"mt-3 space-y-1",children:[(0,r.jsxs)("div",{className:"flex justify-between text-xs",children:[(0,r.jsx)("span",{className:"text-gray-600",children:"Messages:"}),(0,r.jsx)("span",{className:"font-medium",children:e.message_count||0})]}),e.last_activity&&(0,r.jsxs)("div",{className:"flex justify-between text-xs",children:[(0,r.jsx)("span",{className:"text-gray-600",children:"Last Activity:"}),(0,r.jsx)("span",{className:"font-medium",children:new Date(e.last_activity).toLocaleTimeString()})]})]})]},e.channel_id))}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"No active channels found"})})]})}),O("ADMIN")&&(null==V?void 0:V.adapters)&&V.adapters.length>0&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Adapter Management"}),(0,r.jsx)("div",{className:"overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg",children:(0,r.jsxs)("table",{className:"min-w-full divide-y divide-gray-300",children:[(0,r.jsx)("thead",{className:"bg-gray-50",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Adapter Name"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Type"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Status"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Active Channels"}),(0,r.jsx)("th",{scope:"col",className:"relative py-3.5 pl-3 pr-4 sm:pr-6",children:(0,r.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,r.jsx)("tbody",{className:"divide-y divide-gray-200 bg-white",children:V.adapters.map(e=>{var t,s;return(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm font-medium text-gray-900",children:e.adapter_id}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm text-gray-500",children:e.adapter_type}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm",children:(0,r.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ".concat("api"===e.adapter_type&&(null==B?void 0:B.status)==="healthy"||e.is_running?"bg-green-100 text-green-800":"bg-gray-100 text-gray-800"),children:"api"===e.adapter_type&&(null==B?void 0:B.status)==="healthy"||e.is_running?"Active":"Loaded"})}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm text-gray-500",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsxs)("span",{className:"font-medium",children:[(null==G?void 0:G.filter(t=>t.channel_type===e.adapter_type).length)||0," active"]}),(0,r.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:(null==G||null==(s=G.filter(t=>t.channel_type===e.adapter_type))||null==(t=s.map(e=>e.display_name))?void 0:t.join(", "))||"No active channels"})]})}),(0,r.jsx)("td",{className:"relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-6",children:(0,r.jsxs)("div",{className:"flex items-center justify-end space-x-3",children:[(0,r.jsx)("button",{onClick:()=>{let t="adapter.".concat(e.adapter_id,".config");o.AQ.config.getConfigByKey(t).then(t=>{t&&t.value?F(t.value):F({}),P({type:e.adapter_type,adapterId:e.adapter_id,isEdit:!0})}).catch(e=>{console.error("Failed to fetch adapter config:",e),c.Ay.error("Failed to load adapter configuration")})},className:"text-indigo-600 hover:text-indigo-900",children:"Edit"}),(0,r.jsx)("button",{onClick:()=>E({type:"reloadAdapter",name:e.adapter_id}),className:"text-blue-600 hover:text-blue-900",children:"Reload"}),(0,r.jsx)("button",{onClick:()=>E({type:"unregisterAdapter",name:e.adapter_id}),className:"text-red-600 hover:text-red-900",children:"Remove"})]})})]},e.adapter_id)})})]})})]})}),z&&"registerAdapter"===z.type&&"test"===z.name&&(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"20px",borderRadius:"8px"},children:[(0,r.jsx)("h2",{children:"Test Modal Works!"}),(0,r.jsx)("button",{onClick:()=>E(null),style:{marginTop:"10px",padding:"5px 10px"},children:"Close"})]})}),z&&"test"!==z.name?(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"30px",borderRadius:"8px",maxWidth:"500px",width:"90%"},children:[(0,r.jsx)("h3",{style:{fontSize:"18px",fontWeight:"bold",marginBottom:"15px"},children:"Confirm Action"}),(0,r.jsxs)("p",{style:{marginBottom:"20px",color:"#666"},children:["pauseRuntime"===z.type&&"Are you sure you want to pause the runtime? This will temporarily stop all message processing.","resumeRuntime"===z.type&&"Are you sure you want to resume the runtime? Message processing will continue.","reloadAdapter"===z.type&&"Are you sure you want to reload the ".concat(z.name," adapter?"),"unregisterAdapter"===z.type&&"Are you sure you want to remove the ".concat(z.name," adapter? This cannot be undone."),"registerAdapter"===z.type&&"Are you sure you want to register a new ".concat(z.name," adapter?")]}),(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px"},children:[(0,r.jsx)("button",{onClick:()=>E(null),style:{padding:"8px 16px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"white",cursor:"pointer"},children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{if(z){switch(z.type){case"pauseRuntime":J.mutate();break;case"resumeRuntime":$.mutate();break;case"pauseProcessor":z.name&&Z.mutate({name:z.name});break;case"resumeProcessor":z.name&&X.mutate(z.name);break;case"reloadAdapter":z.name&&ee.mutate(z.name);break;case"unregisterAdapter":z.name&&et.mutate(z.name);break;case"registerAdapter":z.name&&es.mutate({adapterType:z.name})}E(null)}},style:{padding:"8px 16px",backgroundColor:"#f59e0b",color:"white",border:"none",borderRadius:"4px",cursor:"pointer"},children:"Confirm"})]})]})}):null,T&&(0,r.jsx)(h,{adapterType:T.type,adapterId:T.adapterId,isEdit:T.isEdit,config:D,setConfig:F,onSubmit:(e,t)=>{if(T.isEdit&&T.adapterId){let e="adapter.".concat(T.adapterId,".config");o.AQ.config.updateConfigByKey(e,t).then(()=>{c.Ay.success("Adapter configuration updated"),L.invalidateQueries({queryKey:["system-adapters"]}),P(null),F({})}).catch(e=>{c.Ay.error("Failed to update adapter configuration")})}else es.mutate({adapterType:e,config:t})},onClose:()=>{P(null),F({})},isPending:es.isPending})]})}},6258:(e,t,s)=>{"use strict";s.d(t,{n:()=>c});var r=s(7620),a=s(589),i=s(494),n=s(2327),l=s(7703),o=class extends n.Q{#a;#i=void 0;#n;#l;constructor(e,t){super(),this.#a=e,this.setOptions(t),this.bindMethods(),this.#o()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#a.defaultMutationOptions(e),(0,l.f8)(this.options,t)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,l.EN)(t.mutationKey)!==(0,l.EN)(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#o(),this.#d(e)}getCurrentResult(){return this.#i}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#o(),this.#d()}mutate(e,t){return this.#l=t,this.#n?.removeObserver(this),this.#n=this.#a.getMutationCache().build(this.#a,this.options),this.#n.addObserver(this),this.#n.execute(e)}#o(){let e=this.#n?.state??(0,a.$)();this.#i={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#d(e){i.jG.batch(()=>{if(this.#l&&this.hasListeners()){let t=this.#i.variables,s=this.#i.context;e?.type==="success"?(this.#l.onSuccess?.(e.data,t,s),this.#l.onSettled?.(e.data,null,t,s)):e?.type==="error"&&(this.#l.onError?.(e.error,t,s),this.#l.onSettled?.(void 0,e.error,t,s))}this.listeners.forEach(e=>{e(this.#i)})})}},d=s(7606);function c(e,t){let s=(0,d.jE)(t),[a]=r.useState(()=>new o(s,e));r.useEffect(()=>{a.setOptions(e)},[a,e]);let n=r.useSyncExternalStore(r.useCallback(e=>a.subscribe(i.jG.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),c=r.useCallback((e,t)=>{a.mutate(e,t).catch(l.lQ)},[a]);if(n.error&&(0,l.GU)(a.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:c,mutateAsync:n.mutate}}},9484:(e,t,s)=>{"use strict";s.d(t,{A:()=>u,O:()=>c});var r=s(4568),a=s(7620),i=s(2942),n=s(3237),l=s(704),o=s(3120);let d=(0,a.createContext)(void 0);function c(e){let{children:t}=e,[s,c]=(0,a.useState)(null),[u,h]=(0,a.useState)(!0),[m,x]=(0,a.useState)(null),p=(0,i.useRouter)();(0,a.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?h(!1):g();let t=localStorage.getItem("manager_token");t&&x(t)},[]);let g=async()=>{try{if(l.AQ.isAuthenticated()){let e=await l.AQ.auth.getMe();c(e)}}catch(e){console.error("Auth check failed:",e)}finally{h(!1)}},y=(0,a.useCallback)(async(e,t)=>{try{let s=localStorage.getItem("selectedAgentId");if(!s)throw Error("No agent selected");o._.configure(s);let r=await l.AQ.login(e,t),a=l.AQ.auth.getAccessToken();a&&o._.configure(s,a),c(r),n.Ay.success("Welcome, ".concat(r.username||r.user_id,"!")),p.push("/")}catch(e){throw n.Ay.error(e.message||"Login failed"),e}},[p]),v=(0,a.useCallback)(async()=>{try{await l.AQ.logout(),c(null),n.Ay.success("Logged out successfully"),p.push("/login")}catch(e){console.error("Logout failed:",e),n.Ay.error("Logout failed")}},[p]),f=(0,a.useCallback)(e=>!!s&&(s.permissions.includes(e)||"SYSTEM_ADMIN"===s.role),[s]),j=(0,a.useCallback)(e=>{if(!s)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(s.role)>=t.indexOf(e)},[s]),b=(0,a.useCallback)(e=>{l.AQ.setConfig({authToken:e})},[]),N=(0,a.useCallback)(()=>!!m,[m]);return(0,r.jsx)(d.Provider,{value:{user:s,loading:u,login:y,logout:v,hasPermission:f,hasRole:j,setUser:c,setToken:b,managerToken:m,setManagerToken:x,isManagerAuthenticated:N},children:t})}function u(){let e=(0,a.useContext)(d);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,8903,3297,704,587,8315,7358],()=>t(2995)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1186],{589:(e,t,s)=>{"use strict";s.d(t,{$:()=>l,s:()=>n});var r=s(494),a=s(6759),i=s(1279),n=class extends a.k{#e;#t;#s;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||l(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#t.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#r({type:"continue"})};this.#s=(0,i.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#r({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#r({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});let s="pending"===this.state.status,r=!this.#s.canStart();try{if(s)t();else{this.#r({type:"pending",variables:e,isPaused:r}),await this.#t.config.onMutate?.(e,this);let t=await this.options.onMutate?.(e);t!==this.state.context&&this.#r({type:"pending",context:t,variables:e,isPaused:r})}let a=await this.#s.start();return await this.#t.config.onSuccess?.(a,e,this.state.context,this),await this.options.onSuccess?.(a,e,this.state.context),await this.#t.config.onSettled?.(a,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(a,null,e,this.state.context),this.#r({type:"success",data:a}),a}catch(t){try{throw await this.#t.config.onError?.(t,e,this.state.context,this),await this.options.onError?.(t,e,this.state.context),await this.#t.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,t,e,this.state.context),t}finally{this.#r({type:"error",error:t})}}finally{this.#t.runNext(this)}}#r(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),r.jG.batch(()=>{this.#e.forEach(t=>{t.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function l(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},2942:(e,t,s)=>{"use strict";var r=s(2418);s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},3120:(e,t,s)=>{"use strict";s.d(t,{_:()=>l});var r=s(704);function a(){let e=window.location.hostname,t=window.location.pathname,s=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!s)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=s?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let r="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:r}}}var i=s(5950);class n{configure(e,t){let s,{mode:r}=a();if("managed"===r)s="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));s=t||window.location.origin}t||(t=i.a.getAccessToken()||void 0);let n={baseURL:s,authToken:t,agentId:e,mode:r};return this.hasConfigChanged(n)&&this.applyConfiguration(n),n}configureForOAuthCallback(e,t){let s,{mode:r}=a(),i={baseURL:"managed"===r?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:r};return this.applyConfiguration(i),this.storeConfiguration(i),i}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),r.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),s=i.a.getAccessToken()||void 0;return{...t,authToken:s}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let l=new n},3321:(e,t,s)=>{Promise.resolve().then(s.bind(s,6107))},4893:(e,t,s)=>{"use strict";s.d(t,{DP:()=>y,HG:()=>u,Nl:()=>o,O4:()=>c,Pi:()=>n,RR:()=>x,RY:()=>m,Rv:()=>v,XR:()=>l,Zu:()=>j,bN:()=>p,c1:()=>N,fC:()=>w,fK:()=>f,lm:()=>g,md:()=>A,mo:()=>i,uc:()=>b,ui:()=>d,vK:()=>h,xZ:()=>C,xm:()=>_});var r=s(4568);s(7620);let a={xs:{width:12,height:12},sm:{width:16,height:16},md:{width:20,height:20},lg:{width:24,height:24}},i=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})})},n=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})},l=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{d:"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z"})})},o=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsxs)("svg",{className:"animate-spin ".concat(t),width:i,height:n,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})},d=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})})},c=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})},u=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"})})},h=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})},m=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z",clipRule:"evenodd"})})},x=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})})},p=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsxs)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:[(0,r.jsx)("path",{d:"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z"}),(0,r.jsx)("path",{d:"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z"}),(0,r.jsx)("path",{d:"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z"})]})},g=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},y=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z",clipRule:"evenodd"})})},v=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{d:"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z"})})},f=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})},j=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},b=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})})},N=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})},w=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},C=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})},_=e=>{let{className:t="",size:s="md"}=e,{width:i,height:n}=a[s];return(0,r.jsx)("svg",{className:t,width:i,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},A=e=>{let{status:t,className:s=""}=e;return(0,r.jsx)("span",{className:"w-3 h-3 rounded-full ".concat({green:"bg-green-500",yellow:"bg-yellow-500",red:"bg-red-500",gray:"bg-gray-500"}[t]," ").concat(s)})}},6107:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var r=s(4568),a=s(7620),i=s(7606),n=s(3297),l=s(6258),o=s(704),d=s(9484),c=s(3237),u=s(4893);function h(e){var t;let{adapterType:s,adapterId:i,isEdit:n=!1,config:l,setConfig:o,onSubmit:d,onClose:u,isPending:h=!1}=e,[m,x]=a.useState(!1),[p,g]=a.useState(null),y={width:"100%",padding:"8px 12px",border:"1px solid #ccc",borderRadius:"4px",fontSize:"14px",marginTop:"5px"},v={display:"block",marginBottom:"5px",fontSize:"14px",fontWeight:"500"},f={marginBottom:"15px"};return(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"30px",borderRadius:"8px",maxWidth:"500px",width:"90%",maxHeight:"80vh",overflowY:"auto"},children:[(0,r.jsxs)("h3",{style:{fontSize:"18px",fontWeight:"bold",marginBottom:"15px"},children:[n?"Edit":"Configure"," ",s.charAt(0).toUpperCase()+s.slice(1)," Adapter ",i?"(".concat(i,")"):""]}),"discord"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Bot Token ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"password",value:l.bot_token||"",onChange:e=>o({...l,bot_token:e.target.value}),style:y,placeholder:n?"••••••••":"Your Discord bot token"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Server ID ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"text",value:l.server_id||"",onChange:e=>o({...l,server_id:e.target.value}),style:y,placeholder:"Discord server/guild ID"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Home Channel ID"}),(0,r.jsx)("input",{type:"text",value:l.home_channel_id||"",onChange:e=>o({...l,home_channel_id:e.target.value}),style:y,placeholder:"Primary channel for agent"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Deferral Channel ID"}),(0,r.jsx)("input",{type:"text",value:l.deferral_channel_id||"",onChange:e=>o({...l,deferral_channel_id:e.target.value}),style:y,placeholder:"Channel for deferred messages"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Monitored Channel IDs (comma-separated)"}),(0,r.jsx)("input",{type:"text",value:Array.isArray(l.monitored_channel_ids)?l.monitored_channel_ids.join(", "):"",onChange:e=>o({...l,monitored_channel_ids:e.target.value?e.target.value.split(",").map(e=>e.trim()):[]}),style:y,placeholder:"Channel IDs to monitor"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.respond_to_mentions,onChange:e=>o({...l,respond_to_mentions:e.target.checked}),style:{marginRight:"8px"}}),"Respond to Mentions"]})}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.respond_to_dms,onChange:e=>o({...l,respond_to_dms:e.target.checked}),style:{marginRight:"8px"}}),"Respond to DMs"]})})]}),"api"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Host ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"text",value:l.host||"",onChange:e=>o({...l,host:e.target.value}),style:y,placeholder:"0.0.0.0"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsxs)("label",{style:v,children:["Port ",(0,r.jsx)("span",{style:{color:"red"},children:"*"})]}),(0,r.jsx)("input",{type:"number",value:l.port||"",onChange:e=>o({...l,port:parseInt(e.target.value)||8080}),style:y,placeholder:"8080"})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"CORS Origins"}),(0,r.jsx)("input",{type:"text",value:(null==(t=l.cors_origins)?void 0:t.join(", "))||"*",onChange:e=>o({...l,cors_origins:e.target.value.split(",").map(e=>e.trim())}),style:y,placeholder:"*, http://localhost:3000"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.enable_auth,onChange:e=>o({...l,enable_auth:e.target.checked}),style:{marginRight:"8px"}}),"Enable Authentication"]})}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:!1!==l.cors_enabled,onChange:e=>o({...l,cors_enabled:e.target.checked}),style:{marginRight:"8px"}}),"Enable CORS"]})})]}),"cli"===s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"Prompt"}),(0,r.jsx)("input",{type:"text",value:l.prompt||"",onChange:e=>o({...l,prompt:e.target.value}),style:y,placeholder:"> "})]}),(0,r.jsxs)("div",{style:f,children:[(0,r.jsx)("label",{style:v,children:"History File"}),(0,r.jsx)("input",{type:"text",value:l.history_file||"",onChange:e=>o({...l,history_file:e.target.value}),style:y,placeholder:".ciris_history"})]}),(0,r.jsx)("div",{style:f,children:(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:l.enable_colors||!1,onChange:e=>o({...l,enable_colors:e.target.checked}),style:{marginRight:"8px"}}),"Enable Colors"]})})]}),(0,r.jsxs)("div",{style:{marginTop:"20px",borderTop:"1px solid #e5e7eb",paddingTop:"20px"},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>x(!m),style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px",border:"1px solid #e5e7eb",borderRadius:"4px",backgroundColor:"white",cursor:"pointer",fontSize:"14px",fontWeight:"500",width:"100%",justifyContent:"space-between"},children:[(0,r.jsx)("span",{children:"Advanced Configuration (JSON)"}),(0,r.jsx)("span",{style:{fontSize:"12px"},children:m?"▼":"▶"})]}),m&&(0,r.jsxs)("div",{style:{marginTop:"15px"},children:[(0,r.jsxs)("label",{style:{...v,marginBottom:"10px"},children:["Raw Configuration JSON",p&&(0,r.jsx)("span",{style:{color:"red",fontSize:"12px",marginLeft:"10px"},children:p})]}),(0,r.jsx)("textarea",{value:JSON.stringify(l,null,2),onChange:e=>{try{let t=JSON.parse(e.target.value);o(t),g(null)}catch(e){g("Invalid JSON")}},style:{...y,fontFamily:"monospace",fontSize:"12px",minHeight:"200px",resize:"vertical",borderColor:p?"red":"#ccc"},placeholder:"{}"}),(0,r.jsx)("p",{style:{fontSize:"12px",color:"#666",marginTop:"5px"},children:"Edit the raw JSON configuration. Changes here will override the form fields above."})]})]}),(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px",marginTop:"20px"},children:[(0,r.jsx)("button",{onClick:u,style:{padding:"8px 16px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"white",cursor:"pointer"},children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{if("discord"===s){if(!l.bot_token)return void c.Ay.error("Bot token is required");if(!l.server_id)return void c.Ay.error("Server ID is required")}else if("api"===s){if(!l.host)return void c.Ay.error("Host is required");if(!l.port)return void c.Ay.error("Port is required")}d(s,l)},disabled:h,style:{padding:"8px 16px",backgroundColor:h?"#ccc":"#4f46e5",color:"white",border:"none",borderRadius:"4px",cursor:h?"not-allowed":"pointer"},children:h?n?"Saving...":"Registering...":n?"Save Changes":"Register Adapter"})]})]})})}function m(){var e,t,s,m,x,p,g,y,v,f,j,b,N,w,C,_,A,k,R,M,S,I;let{hasRole:O}=(0,d.A)(),L=(0,i.jE)(),[z,E]=(0,a.useState)(null),[T,P]=(0,a.useState)(null),[D,F]=(0,a.useState)({}),U=e=>{if(e.startsWith("registry.ServiceType.")){let t=e.split(".");if(t.length>=4){let e=t[2],s=t[3].split("_")[0];if("DiscordAdapter"===s){if("WISE_AUTHORITY"===e)return"DISCORD-WISE";if("COMMUNICATION"===e)return"DISCORD-COMM"}else if("APICommunicationService"===s)return"API-COMM";else if("APIToolService"===s)return"API-TOOL";else if("APIRuntimeControlService"===s)return"API-RUNTIME";else if("DiscordToolService"===s)return"DISCORD-TOOL";else if("MockLLMService"===s)return"MOCK-LLM";else if("WiseAuthorityService"===s)return"CORE-WISE";else if("SecretsToolService"===s)return"CORE-TOOL";else if("LocalGraphMemoryService"===s)return"MEMORY";else if("TimeService"===s)return"TIME";else return e.replace(/_/g,"-")}}if(e.startsWith("direct.")){let t=e.split(".");return t[t.length-1].replace(/Service$/,"").replace(/([A-Z])/g,"-$1").toUpperCase().replace(/^-/,"").replace(/-+/g,"-")}return e};(z||T)&&console.log("Modal states:",{confirmDialog:z,adapterConfigModal:T});let{data:B}=(0,n.I)({queryKey:["system-health"],queryFn:()=>o.AQ.system.getHealth(),refetchInterval:5e3}),{data:Q}=(0,n.I)({queryKey:["system-services"],queryFn:()=>o.AQ.system.getServices(),refetchInterval:5e3}),{data:K}=(0,n.I)({queryKey:["system-resources"],queryFn:()=>o.AQ.system.getResources(),refetchInterval:5e3}),{data:q}=(0,n.I)({queryKey:["system-processors"],queryFn:()=>o.AQ.system.getProcessorStates(),refetchInterval:5e3,enabled:O("ADMIN")}),{data:H}=(0,n.I)({queryKey:["system-runtime-state"],queryFn:()=>o.AQ.system.getRuntimeState(),refetchInterval:5e3}),W=H?{is_paused:"paused"===H.processor_state,cognitive_state:("UNKNOWN"!==H.cognitive_state?H.cognitive_state:null==B||null==(e=B.cognitive_state)?void 0:e.toUpperCase())||"WORK",queue_depth:H.queue_depth,processor_status:H.processor_state}:null,{data:V}=(0,n.I)({queryKey:["system-adapters"],queryFn:()=>o.AQ.system.getAdapters(),refetchInterval:5e3,enabled:O("ADMIN")}),{data:G}=(0,n.I)({queryKey:["agent-channels"],queryFn:()=>o.AQ.agent.getChannels(),refetchInterval:5e3}),{data:Y}=(0,n.I)({queryKey:["telemetry-overview"],queryFn:()=>o.AQ.telemetry.getOverview(),refetchInterval:3e4}),J=(0,l.n)({mutationFn:()=>o.AQ.system.pauseRuntime(),onSuccess:()=>{c.Ay.success("Runtime paused"),L.invalidateQueries({queryKey:["system-health"]})},onError:()=>{c.Ay.error("Failed to pause runtime")}}),$=(0,l.n)({mutationFn:()=>o.AQ.system.resumeRuntime(),onSuccess:()=>{c.Ay.success("Runtime resumed"),L.invalidateQueries({queryKey:["system-health"]})},onError:()=>{c.Ay.error("Failed to resume runtime")}}),Z=(0,l.n)({mutationFn:e=>{let{name:t,duration:s}=e;return o.AQ.system.pauseProcessor(t,s)},onSuccess:(e,t)=>{let{name:s}=t;c.Ay.success("Processor ".concat(s," paused")),L.invalidateQueries({queryKey:["system-processors"]})},onError:(e,t)=>{let{name:s}=t;c.Ay.error("Failed to pause processor ".concat(s))}}),X=(0,l.n)({mutationFn:e=>o.AQ.system.resumeProcessor(e),onSuccess:(e,t)=>{c.Ay.success("Processor ".concat(t," resumed")),L.invalidateQueries({queryKey:["system-processors"]})},onError:(e,t)=>{c.Ay.error("Failed to resume processor ".concat(t))}}),ee=(0,l.n)({mutationFn:e=>o.AQ.system.reloadAdapter(e),onSuccess:(e,t)=>{c.Ay.success("Adapter ".concat(t," reloaded")),L.invalidateQueries({queryKey:["system-adapters"]})},onError:(e,t)=>{c.Ay.error("Failed to reload adapter ".concat(t))}}),et=(0,l.n)({mutationFn:e=>o.AQ.system.unregisterAdapter(e),onSuccess:(e,t)=>{c.Ay.success("Adapter ".concat(t," removed")),L.invalidateQueries({queryKey:["system-adapters"]})},onError:(e,t)=>{c.Ay.error("Failed to remove adapter ".concat(t))}}),es=(0,l.n)({mutationFn:e=>{let{adapterType:t,config:s}=e;return o.AQ.system.registerAdapter(t,s)},onSuccess:(e,t)=>{let{adapterType:s}=t;c.Ay.success("".concat(s," adapter registered")),L.invalidateQueries({queryKey:["system-adapters"]}),L.invalidateQueries({queryKey:["agent-channels"]}),P(null),F({})},onError:(e,t)=>{let{adapterType:s}=t;c.Ay.error("Failed to register ".concat(s," adapter"))}}),er=e=>{switch(e){case"healthy":return"green";case"degraded":return"yellow";case"unhealthy":return"red";default:return"gray"}};return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("div",{className:"bg-white shadow",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:px-6",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"System Status"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Comprehensive system health monitoring and runtime control"})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"System Overview"}),B&&(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Overall Health"}),(0,r.jsx)("dd",{className:"mt-2 flex items-center",children:(0,r.jsxs)("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-lg font-semibold bg-".concat(er(B.status),"-100 text-").concat(er(B.status),"-800"),children:[(0,r.jsx)("span",{className:"mr-2",children:(e=>{switch(e){case"healthy":return"✓";case"degraded":return"!";case"unhealthy":return"✗";default:return"?"}})(B.status)}),null==(t=B.status)?void 0:t.toUpperCase()]})})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Uptime"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:B.uptime_seconds?(e=>{let t=Math.floor(e/86400),s=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return"".concat(t,"d ").concat(s,"h ").concat(r,"m")})(B.uptime_seconds):"N/A"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Memory Usage"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==K||null==(s=K.current_usage)?void 0:s.memory_mb)?"".concat(K.current_usage.memory_mb.toFixed(1)," MB"):"N/A"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"CPU Usage"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==K||null==(m=K.current_usage)?void 0:m.cpu_percent)?"".concat(K.current_usage.cpu_percent.toFixed(1),"%"):"N/A"})]})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Resource Usage"}),K?(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"CPU Usage"}),(0,r.jsxs)("span",{className:"text-lg font-bold ".concat((null==K||null==(x=K.current_usage)?void 0:x.cpu_percent)>80?"text-red-600":(null==K||null==(p=K.current_usage)?void 0:p.cpu_percent)>60?"text-yellow-600":"text-green-600"),children:[(null==K||null==(y=K.current_usage)||null==(g=y.cpu_percent)?void 0:g.toFixed(1))||0,"%"]})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsx)("div",{className:"overflow-hidden h-4 text-xs flex rounded-full bg-gray-200",children:(0,r.jsx)("div",{style:{width:"".concat((null==K||null==(v=K.current_usage)?void 0:v.cpu_percent)||0,"%")},className:"shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center transition-all duration-300 ".concat((null==K||null==(f=K.current_usage)?void 0:f.cpu_percent)>80?"bg-red-500":(null==K||null==(j=K.current_usage)?void 0:j.cpu_percent)>60?"bg-yellow-500":"bg-blue-500")})})})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Memory Usage"}),(0,r.jsxs)("span",{className:"text-lg font-bold ".concat((null==K||null==(b=K.current_usage)?void 0:b.memory_percent)>80?"text-red-600":(null==K||null==(N=K.current_usage)?void 0:N.memory_percent)>60?"text-yellow-600":"text-green-600"),children:[(null==K||null==(w=K.current_usage)?void 0:w.memory_mb)?K.current_usage.memory_mb.toFixed(1):0," MB"]})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsx)("div",{className:"overflow-hidden h-4 text-xs flex rounded-full bg-gray-200",children:(0,r.jsx)("div",{style:{width:"".concat((null==K||null==(C=K.current_usage)?void 0:C.memory_percent)||0,"%")},className:"shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center transition-all duration-300 ".concat((null==K||null==(_=K.current_usage)?void 0:_.memory_percent)>80?"bg-red-500":(null==K||null==(A=K.current_usage)?void 0:A.memory_percent)>60?"bg-yellow-500":"bg-green-500")})})}),(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:[(null==K||null==(R=K.current_usage)||null==(k=R.memory_percent)?void 0:k.toFixed(1))||0,"% utilized"]})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Disk Usage"}),(0,r.jsx)("span",{className:"text-lg font-bold text-green-600",children:(null==K||null==(M=K.current_usage)?void 0:M.disk_used_mb)?"".concat((K.current_usage.disk_used_mb/1024).toFixed(1)," GB"):"N/A"})]})})]}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"Loading resource information..."})})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Environmental Impact"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-green-50 rounded-lg p-4 border border-green-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"CO₂ Emissions"}),(0,r.jsx)(u.fC,{className:"text-green-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-green-700",children:[(null==Y?void 0:Y.carbon_last_hour_grams)?(Y.carbon_last_hour_grams/1e3).toFixed(3):"0.000"," kg"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]}),(0,r.jsxs)("div",{className:"bg-blue-50 rounded-lg p-4 border border-blue-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Energy Usage"}),(0,r.jsx)(u.xZ,{className:"text-blue-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-blue-700",children:[(null==Y?void 0:Y.energy_last_hour_kwh)?Y.energy_last_hour_kwh.toFixed(4):"0.0000"," kWh"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]}),(0,r.jsxs)("div",{className:"bg-purple-50 rounded-lg p-4 border border-purple-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700",children:"Estimated Cost"}),(0,r.jsx)(u.xm,{className:"text-purple-600",size:"sm"})]}),(0,r.jsx)("div",{className:"space-y-2",children:(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xl font-bold text-purple-700",children:["$",(null==Y?void 0:Y.cost_last_hour_cents)?(Y.cost_last_hour_cents/100).toFixed(2):"0.00"]}),(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Last hour total"})]})})]})]}),(0,r.jsxs)("div",{className:"mt-6 border-t pt-4",children:[(0,r.jsx)("h4",{className:"text-sm font-medium text-gray-900 mb-3",children:"Token Usage Details"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-3",children:[(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Total Tokens (24h)"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==Y?void 0:Y.tokens_24h)?Y.tokens_24h.toLocaleString():"0"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Avg Tokens/Hour"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==Y||null==(S=Y.tokens_last_hour)?void 0:S.toLocaleString())||"0"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 rounded p-3",children:[(0,r.jsx)("p",{className:"text-xs text-gray-600",children:"Model"}),(0,r.jsx)("p",{className:"text-lg font-semibold text-gray-900",children:(null==B||null==(I=B.version)?void 0:I.includes("mock"))?"Mock LLM":"llama4scout"})]})]})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-medium text-gray-900",children:["Services Health",(null==Q?void 0:Q.services)?" (".concat(Q.services.length," Services)"):""]}),(0,r.jsxs)("div",{className:"flex items-center space-x-4 text-sm",children:[(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"green",className:"mr-1"}),"Healthy"]}),(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"yellow",className:"mr-1"}),"Degraded"]}),(0,r.jsxs)("span",{className:"flex items-center",children:[(0,r.jsx)(u.md,{status:"red",className:"mr-1"}),"Unhealthy"]})]})]}),(null==Q?void 0:Q.services)?(0,r.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5",children:Q.services.map((e,t)=>(0,r.jsxs)("div",{className:"relative p-4 rounded-lg border-2 transition-all duration-200 hover:shadow-md ".concat(!0===e.healthy?"border-green-200 bg-green-50 hover:border-green-300":!0===e.available?"border-yellow-200 bg-yellow-50 hover:border-yellow-300":"border-red-200 bg-red-50 hover:border-red-300"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900 truncate",children:U(e.name)}),(0,r.jsx)("p",{className:"text-xs text-gray-500 mt-1",children:e.service_type})]}),(0,r.jsx)(u.md,{status:!0===e.healthy?"green":!0===e.available?"yellow":"red",className:"flex-shrink-0 ml-2"})]}),e.capabilities&&e.capabilities.length>0&&(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsxs)("p",{className:"text-xs text-gray-600",title:e.capabilities.join(", "),children:[e.capabilities.length," capabilities"]})})]},"".concat(e.name,"-").concat(t)))}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"Loading services information..."})})]})}),O("ADMIN")&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Main Processor"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Processor Status"}),(0,r.jsx)("dd",{className:"mt-2",children:(0,r.jsx)("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-lg font-semibold ".concat((null==W?void 0:W.is_paused)?"bg-yellow-100 text-yellow-800":"bg-green-100 text-green-800"),children:(null==W?void 0:W.is_paused)?"PAUSED":"RUNNING"})})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Cognitive State"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==W?void 0:W.cognitive_state)||"WORK"})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Queue Depth"}),(0,r.jsx)("dd",{className:"mt-2 text-2xl font-semibold text-gray-900",children:(null==W?void 0:W.queue_depth)||0})]}),(0,r.jsxs)("div",{className:"bg-gray-50 px-4 py-5 sm:p-6 rounded-lg border-2 border-gray-200",children:[(0,r.jsx)("dt",{className:"text-sm font-medium text-gray-500",children:"Actions"}),(0,r.jsx)("dd",{className:"mt-2",children:(null==W?void 0:W.is_paused)?(0,r.jsx)("button",{onClick:()=>E({type:"resumeRuntime"}),className:"inline-flex items-center px-3 py-1 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700",children:"Resume"}):(0,r.jsx)("button",{onClick:()=>E({type:"pauseRuntime"}),className:"inline-flex items-center px-3 py-1 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-yellow-600 hover:bg-yellow-700",children:"Pause"})})]})]}),(0,r.jsx)("div",{className:"mt-4 p-4 bg-blue-50 rounded-lg",children:(0,r.jsxs)("p",{className:"text-sm text-blue-800",children:[(0,r.jsx)("strong",{children:"Note:"})," The CIRIS system has one main processor that cycles through cognitive states (WAKEUP, WORK, PLAY, DREAM, SOLITUDE, SHUTDOWN). Pausing affects the entire processor, not individual states."]})})]})}),O("ADMIN")&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Register New Adapter"}),(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("select",{value:"",onChange:e=>{let t=e.target.value;console.log("Adapter selected:",t),t&&(P({type:t}),"discord"===t?F({bot_token:"",server_id:"",monitored_channel_ids:[],home_channel_id:"",deferral_channel_id:"",respond_to_mentions:!0,respond_to_dms:!0}):"api"===t?F({host:"0.0.0.0",port:8080,cors_origins:["*"],enable_auth:!0}):"cli"===t&&F({prompt:"> ",enable_colors:!0,history_file:".ciris_history"}))},className:"block w-full max-w-xs px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm",children:[(0,r.jsx)("option",{value:"",children:"Select adapter type..."}),(0,r.jsx)("option",{value:"api",children:"API"}),(0,r.jsx)("option",{value:"cli",children:"CLI"}),(0,r.jsx)("option",{value:"discord",children:"Discord"})]}),(0,r.jsx)("p",{className:"text-sm text-gray-500",children:"Select an adapter type to register a new instance"})]})]})}),(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Active Communication Channels"}),G&&G.length>0?(0,r.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:G.map(e=>(0,r.jsxs)("div",{className:"relative p-4 rounded-lg border-2 border-gray-200 bg-gray-50 hover:shadow-md transition-all duration-200",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between",children:[(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:e.display_name}),(0,r.jsxs)("p",{className:"text-xs text-gray-500 mt-1",children:["ID: ",e.channel_id]}),(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:["Type: ",e.channel_type]})]}),(0,r.jsx)(u.md,{status:e.is_active?"green":"gray",className:"flex-shrink-0 ml-2"})]}),(0,r.jsxs)("div",{className:"mt-3 space-y-1",children:[(0,r.jsxs)("div",{className:"flex justify-between text-xs",children:[(0,r.jsx)("span",{className:"text-gray-600",children:"Messages:"}),(0,r.jsx)("span",{className:"font-medium",children:e.message_count||0})]}),e.last_activity&&(0,r.jsxs)("div",{className:"flex justify-between text-xs",children:[(0,r.jsx)("span",{className:"text-gray-600",children:"Last Activity:"}),(0,r.jsx)("span",{className:"font-medium",children:new Date(e.last_activity).toLocaleTimeString()})]})]})]},e.channel_id))}):(0,r.jsx)("div",{className:"text-center py-8",children:(0,r.jsx)("p",{className:"text-gray-500",children:"No active channels found"})})]})}),O("ADMIN")&&(null==V?void 0:V.adapters)&&V.adapters.length>0&&(0,r.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,r.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,r.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-4",children:"Adapter Management"}),(0,r.jsx)("div",{className:"overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg",children:(0,r.jsxs)("table",{className:"min-w-full divide-y divide-gray-300",children:[(0,r.jsx)("thead",{className:"bg-gray-50",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Adapter Name"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Type"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Status"}),(0,r.jsx)("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Active Channels"}),(0,r.jsx)("th",{scope:"col",className:"relative py-3.5 pl-3 pr-4 sm:pr-6",children:(0,r.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,r.jsx)("tbody",{className:"divide-y divide-gray-200 bg-white",children:V.adapters.map(e=>{var t,s;return(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm font-medium text-gray-900",children:e.adapter_id}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm text-gray-500",children:e.adapter_type}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm",children:(0,r.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ".concat("api"===e.adapter_type&&(null==B?void 0:B.status)==="healthy"||e.is_running?"bg-green-100 text-green-800":"bg-gray-100 text-gray-800"),children:"api"===e.adapter_type&&(null==B?void 0:B.status)==="healthy"||e.is_running?"Active":"Loaded"})}),(0,r.jsx)("td",{className:"whitespace-nowrap px-3 py-4 text-sm text-gray-500",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsxs)("span",{className:"font-medium",children:[(null==G?void 0:G.filter(t=>t.channel_type===e.adapter_type).length)||0," active"]}),(0,r.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:(null==G||null==(s=G.filter(t=>t.channel_type===e.adapter_type))||null==(t=s.map(e=>e.display_name))?void 0:t.join(", "))||"No active channels"})]})}),(0,r.jsx)("td",{className:"relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-6",children:(0,r.jsxs)("div",{className:"flex items-center justify-end space-x-3",children:[(0,r.jsx)("button",{onClick:()=>{let t="adapter.".concat(e.adapter_id,".config");o.AQ.config.getConfigByKey(t).then(t=>{t&&t.value?F(t.value):F({}),P({type:e.adapter_type,adapterId:e.adapter_id,isEdit:!0})}).catch(e=>{console.error("Failed to fetch adapter config:",e),c.Ay.error("Failed to load adapter configuration")})},className:"text-indigo-600 hover:text-indigo-900",children:"Edit"}),(0,r.jsx)("button",{onClick:()=>E({type:"reloadAdapter",name:e.adapter_id}),className:"text-blue-600 hover:text-blue-900",children:"Reload"}),(0,r.jsx)("button",{onClick:()=>E({type:"unregisterAdapter",name:e.adapter_id}),className:"text-red-600 hover:text-red-900",children:"Remove"})]})})]},e.adapter_id)})})]})})]})}),z&&"registerAdapter"===z.type&&"test"===z.name&&(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"20px",borderRadius:"8px"},children:[(0,r.jsx)("h2",{children:"Test Modal Works!"}),(0,r.jsx)("button",{onClick:()=>E(null),style:{marginTop:"10px",padding:"5px 10px"},children:"Close"})]})}),z&&"test"!==z.name?(0,r.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",zIndex:9999},children:(0,r.jsxs)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",backgroundColor:"white",padding:"30px",borderRadius:"8px",maxWidth:"500px",width:"90%"},children:[(0,r.jsx)("h3",{style:{fontSize:"18px",fontWeight:"bold",marginBottom:"15px"},children:"Confirm Action"}),(0,r.jsxs)("p",{style:{marginBottom:"20px",color:"#666"},children:["pauseRuntime"===z.type&&"Are you sure you want to pause the runtime? This will temporarily stop all message processing.","resumeRuntime"===z.type&&"Are you sure you want to resume the runtime? Message processing will continue.","reloadAdapter"===z.type&&"Are you sure you want to reload the ".concat(z.name," adapter?"),"unregisterAdapter"===z.type&&"Are you sure you want to remove the ".concat(z.name," adapter? This cannot be undone."),"registerAdapter"===z.type&&"Are you sure you want to register a new ".concat(z.name," adapter?")]}),(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px"},children:[(0,r.jsx)("button",{onClick:()=>E(null),style:{padding:"8px 16px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"white",cursor:"pointer"},children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{if(z){switch(z.type){case"pauseRuntime":J.mutate();break;case"resumeRuntime":$.mutate();break;case"pauseProcessor":z.name&&Z.mutate({name:z.name});break;case"resumeProcessor":z.name&&X.mutate(z.name);break;case"reloadAdapter":z.name&&ee.mutate(z.name);break;case"unregisterAdapter":z.name&&et.mutate(z.name);break;case"registerAdapter":z.name&&es.mutate({adapterType:z.name})}E(null)}},style:{padding:"8px 16px",backgroundColor:"#f59e0b",color:"white",border:"none",borderRadius:"4px",cursor:"pointer"},children:"Confirm"})]})]})}):null,T&&(0,r.jsx)(h,{adapterType:T.type,adapterId:T.adapterId,isEdit:T.isEdit,config:D,setConfig:F,onSubmit:(e,t)=>{if(T.isEdit&&T.adapterId){let e="adapter.".concat(T.adapterId,".config");o.AQ.config.updateConfigByKey(e,t).then(()=>{c.Ay.success("Adapter configuration updated"),L.invalidateQueries({queryKey:["system-adapters"]}),P(null),F({})}).catch(e=>{c.Ay.error("Failed to update adapter configuration")})}else es.mutate({adapterType:e,config:t})},onClose:()=>{P(null),F({})},isPending:es.isPending})]})}},6258:(e,t,s)=>{"use strict";s.d(t,{n:()=>c});var r=s(7620),a=s(589),i=s(494),n=s(2327),l=s(7703),o=class extends n.Q{#a;#i=void 0;#n;#l;constructor(e,t){super(),this.#a=e,this.setOptions(t),this.bindMethods(),this.#o()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#a.defaultMutationOptions(e),(0,l.f8)(this.options,t)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,l.EN)(t.mutationKey)!==(0,l.EN)(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#o(),this.#d(e)}getCurrentResult(){return this.#i}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#o(),this.#d()}mutate(e,t){return this.#l=t,this.#n?.removeObserver(this),this.#n=this.#a.getMutationCache().build(this.#a,this.options),this.#n.addObserver(this),this.#n.execute(e)}#o(){let e=this.#n?.state??(0,a.$)();this.#i={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#d(e){i.jG.batch(()=>{if(this.#l&&this.hasListeners()){let t=this.#i.variables,s=this.#i.context;e?.type==="success"?(this.#l.onSuccess?.(e.data,t,s),this.#l.onSettled?.(e.data,null,t,s)):e?.type==="error"&&(this.#l.onError?.(e.error,t,s),this.#l.onSettled?.(void 0,e.error,t,s))}this.listeners.forEach(e=>{e(this.#i)})})}},d=s(7606);function c(e,t){let s=(0,d.jE)(t),[a]=r.useState(()=>new o(s,e));r.useEffect(()=>{a.setOptions(e)},[a,e]);let n=r.useSyncExternalStore(r.useCallback(e=>a.subscribe(i.jG.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),c=r.useCallback((e,t)=>{a.mutate(e,t).catch(l.lQ)},[a]);if(n.error&&(0,l.GU)(a.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:c,mutateAsync:n.mutate}}},9484:(e,t,s)=>{"use strict";s.d(t,{A:()=>u,O:()=>c});var r=s(4568),a=s(7620),i=s(2942),n=s(3237),l=s(704),o=s(3120);let d=(0,a.createContext)(void 0);function c(e){let{children:t}=e,[s,c]=(0,a.useState)(null),[u,h]=(0,a.useState)(!0),[m,x]=(0,a.useState)(null),p=(0,i.useRouter)();(0,a.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?h(!1):g();let t=localStorage.getItem("manager_token");t&&x(t)},[]);let g=async()=>{try{if(l.AQ.isAuthenticated()){let e=await l.AQ.auth.getMe();c(e)}}catch(e){console.error("Auth check failed:",e)}finally{h(!1)}},y=(0,a.useCallback)(async(e,t)=>{try{let s=localStorage.getItem("selectedAgentId");if(!s)throw Error("No agent selected");o._.configure(s);let r=await l.AQ.login(e,t),a=l.AQ.auth.getAccessToken();a&&o._.configure(s,a),c(r),n.Ay.success("Welcome, ".concat(r.username||r.user_id,"!")),p.push("/")}catch(e){throw n.Ay.error(e.message||"Login failed"),e}},[p]),v=(0,a.useCallback)(async()=>{try{await l.AQ.logout(),c(null),n.Ay.success("Logged out successfully"),p.push("/login")}catch(e){console.error("Logout failed:",e),n.Ay.error("Logout failed")}},[p]),f=(0,a.useCallback)(e=>!!s&&(s.permissions.includes(e)||"SYSTEM_ADMIN"===s.role),[s]),j=(0,a.useCallback)(e=>{if(!s)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(s.role)>=t.indexOf(e)},[s]),b=(0,a.useCallback)(e=>{l.AQ.setConfig({authToken:e})},[]),N=(0,a.useCallback)(()=>!!m,[m]);return(0,r.jsx)(d.Provider,{value:{user:s,loading:u,login:y,logout:v,hasPermission:f,hasRole:j,setUser:c,setToken:b,managerToken:m,setManagerToken:x,isManagerAuthenticated:N},children:t})}function u(){let e=(0,a.useContext)(d);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,8903,3297,704,587,8315,7358],()=>t(3321)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2580],{2942:(e,t,a)=>{"use strict";var n=a(2418);a.o(n,"usePathname")&&a.d(t,{usePathname:function(){return n.usePathname}}),a.o(n,"useRouter")&&a.d(t,{useRouter:function(){return n.useRouter}}),a.o(n,"useSearchParams")&&a.d(t,{useSearchParams:function(){return n.useSearchParams}})},3120:(e,t,a)=>{"use strict";a.d(t,{_:()=>i});var n=a(704);function s(){let e=window.location.hostname,t=window.location.pathname,a=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!a)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=a?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let n="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:n}}}var o=a(5950);class r{configure(e,t){let a,{mode:n}=s();if("managed"===n)a="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));a=t||window.location.origin}t||(t=o.a.getAccessToken()||void 0);let r={baseURL:a,authToken:t,agentId:e,mode:n};return this.hasConfigChanged(r)&&this.applyConfiguration(r),r}configureForOAuthCallback(e,t){let a,{mode:n}=s(),o={baseURL:"managed"===n?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:n};return this.applyConfiguration(o),this.storeConfiguration(o),o}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),n.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),a=o.a.getAccessToken()||void 0;return{...t,authToken:a}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let i=new r},3981:(e,t,a)=>{Promise.resolve().then(a.bind(a,9585))},9484:(e,t,a)=>{"use strict";a.d(t,{A:()=>g,O:()=>u});var n=a(4568),s=a(7620),o=a(2942),r=a(3237),i=a(704),c=a(3120);let l=(0,s.createContext)(void 0);function u(e){let{children:t}=e,[a,u]=(0,s.useState)(null),[g,d]=(0,s.useState)(!0),[h,f]=(0,s.useState)(null),m=(0,o.useRouter)();(0,s.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?d(!1):y();let t=localStorage.getItem("manager_token");t&&f(t)},[]);let y=async()=>{try{if(i.AQ.isAuthenticated()){let e=await i.AQ.auth.getMe();u(e)}}catch(e){console.error("Auth check failed:",e)}finally{d(!1)}},C=(0,s.useCallback)(async(e,t)=>{try{let a=localStorage.getItem("selectedAgentId");if(!a)throw Error("No agent selected");c._.configure(a);let n=await i.AQ.login(e,t),s=i.AQ.auth.getAccessToken();s&&c._.configure(a,s),u(n),r.Ay.success("Welcome, ".concat(n.username||n.user_id,"!")),m.push("/")}catch(e){throw r.Ay.error(e.message||"Login failed"),e}},[m]),p=(0,s.useCallback)(async()=>{try{await i.AQ.logout(),u(null),r.Ay.success("Logged out successfully"),m.push("/login")}catch(e){console.error("Logout failed:",e),r.Ay.error("Logout failed")}},[m]),A=(0,s.useCallback)(e=>!!a&&(a.permissions.includes(e)||"SYSTEM_ADMIN"===a.role),[a]),w=(0,s.useCallback)(e=>{if(!a)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(a.role)>=t.indexOf(e)},[a]),b=(0,s.useCallback)(e=>{i.AQ.setConfig({authToken:e})},[]),S=(0,s.useCallback)(()=>!!h,[h]);return(0,n.jsx)(l.Provider,{value:{user:a,loading:g,login:C,logout:p,hasPermission:A,hasRole:w,setUser:u,setToken:b,managerToken:h,setManagerToken:f,isManagerAuthenticated:S},children:t})}function g(){let e=(0,s.useContext)(l);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}},9585:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>i});var n=a(4568),s=a(7620),o=a(704),r=a(9484);function i(){let{user:e}=(0,r.A)(),[t,a]=(0,s.useState)([]),i=(e,t)=>{a(a=>[...a,{test:e,result:t,timestamp:new Date().toISOString()}])},c=async()=>{a([]),i("Auth Status",{isAuthenticated:o.AQ.isAuthenticated(),user:e,tokenInLocalStorage:!!localStorage.getItem("ciris_auth_token"),tokenInCookie:document.cookie.includes("auth_token")});try{let e=await o.AQ.memory.query("test",{limit:1});i("Memory Query",{success:!0,data:e})}catch(e){i("Memory Query",{success:!1,error:e.message})}try{let e=await o.AQ.config.getAll();i("Config Fetch",{success:!0,data:e})}catch(e){i("Config Fetch",{success:!1,error:e.message})}try{let e=await o.AQ.system.getHealth();i("System Health",{success:!0,data:e})}catch(e){i("System Health",{success:!1,error:e.message})}};return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,n.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold text-gray-900",children:"Auth Debug Page"}),(0,n.jsx)("button",{onClick:c,className:"mt-4 inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700",children:"Run Tests"})]})}),t.length>0&&(0,n.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,n.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,n.jsx)("h2",{className:"text-lg font-medium text-gray-900 mb-4",children:"Test Results"}),(0,n.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>(0,n.jsxs)("div",{className:"border-t pt-4",children:[(0,n.jsx)("h3",{className:"font-medium text-gray-900",children:e.test}),(0,n.jsx)("pre",{className:"mt-2 text-xs bg-gray-50 p-2 rounded overflow-auto",children:JSON.stringify(e.result,null,2)})]},t))})]})})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,704,587,8315,7358],()=>t(3981)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2580],{2942:(e,t,a)=>{"use strict";var n=a(2418);a.o(n,"usePathname")&&a.d(t,{usePathname:function(){return n.usePathname}}),a.o(n,"useRouter")&&a.d(t,{useRouter:function(){return n.useRouter}}),a.o(n,"useSearchParams")&&a.d(t,{useSearchParams:function(){return n.useSearchParams}})},3120:(e,t,a)=>{"use strict";a.d(t,{_:()=>i});var n=a(704);function s(){let e=window.location.hostname,t=window.location.pathname,a=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!a)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=a?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let n="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:n}}}var o=a(5950);class r{configure(e,t){let a,{mode:n}=s();if("managed"===n)a="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));a=t||window.location.origin}t||(t=o.a.getAccessToken()||void 0);let r={baseURL:a,authToken:t,agentId:e,mode:n};return this.hasConfigChanged(r)&&this.applyConfiguration(r),r}configureForOAuthCallback(e,t){let a,{mode:n}=s(),o={baseURL:"managed"===n?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:n};return this.applyConfiguration(o),this.storeConfiguration(o),o}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),n.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),a=o.a.getAccessToken()||void 0;return{...t,authToken:a}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let i=new r},3727:(e,t,a)=>{Promise.resolve().then(a.bind(a,9585))},9484:(e,t,a)=>{"use strict";a.d(t,{A:()=>g,O:()=>u});var n=a(4568),s=a(7620),o=a(2942),r=a(3237),i=a(704),c=a(3120);let l=(0,s.createContext)(void 0);function u(e){let{children:t}=e,[a,u]=(0,s.useState)(null),[g,d]=(0,s.useState)(!0),[h,f]=(0,s.useState)(null),m=(0,o.useRouter)();(0,s.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?d(!1):y();let t=localStorage.getItem("manager_token");t&&f(t)},[]);let y=async()=>{try{if(i.AQ.isAuthenticated()){let e=await i.AQ.auth.getMe();u(e)}}catch(e){console.error("Auth check failed:",e)}finally{d(!1)}},C=(0,s.useCallback)(async(e,t)=>{try{let a=localStorage.getItem("selectedAgentId");if(!a)throw Error("No agent selected");c._.configure(a);let n=await i.AQ.login(e,t),s=i.AQ.auth.getAccessToken();s&&c._.configure(a,s),u(n),r.Ay.success("Welcome, ".concat(n.username||n.user_id,"!")),m.push("/")}catch(e){throw r.Ay.error(e.message||"Login failed"),e}},[m]),p=(0,s.useCallback)(async()=>{try{await i.AQ.logout(),u(null),r.Ay.success("Logged out successfully"),m.push("/login")}catch(e){console.error("Logout failed:",e),r.Ay.error("Logout failed")}},[m]),A=(0,s.useCallback)(e=>!!a&&(a.permissions.includes(e)||"SYSTEM_ADMIN"===a.role),[a]),w=(0,s.useCallback)(e=>{if(!a)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(a.role)>=t.indexOf(e)},[a]),b=(0,s.useCallback)(e=>{i.AQ.setConfig({authToken:e})},[]),S=(0,s.useCallback)(()=>!!h,[h]);return(0,n.jsx)(l.Provider,{value:{user:a,loading:g,login:C,logout:p,hasPermission:A,hasRole:w,setUser:u,setToken:b,managerToken:h,setManagerToken:f,isManagerAuthenticated:S},children:t})}function g(){let e=(0,s.useContext)(l);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}},9585:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>i});var n=a(4568),s=a(7620),o=a(704),r=a(9484);function i(){let{user:e}=(0,r.A)(),[t,a]=(0,s.useState)([]),i=(e,t)=>{a(a=>[...a,{test:e,result:t,timestamp:new Date().toISOString()}])},c=async()=>{a([]),i("Auth Status",{isAuthenticated:o.AQ.isAuthenticated(),user:e,tokenInLocalStorage:!!localStorage.getItem("ciris_auth_token"),tokenInCookie:document.cookie.includes("auth_token")});try{let e=await o.AQ.memory.query("test",{limit:1});i("Memory Query",{success:!0,data:e})}catch(e){i("Memory Query",{success:!1,error:e.message})}try{let e=await o.AQ.config.getAll();i("Config Fetch",{success:!0,data:e})}catch(e){i("Config Fetch",{success:!1,error:e.message})}try{let e=await o.AQ.system.getHealth();i("System Health",{success:!0,data:e})}catch(e){i("System Health",{success:!1,error:e.message})}};return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,n.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold text-gray-900",children:"Auth Debug Page"}),(0,n.jsx)("button",{onClick:c,className:"mt-4 inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700",children:"Run Tests"})]})}),t.length>0&&(0,n.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,n.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,n.jsx)("h2",{className:"text-lg font-medium text-gray-900 mb-4",children:"Test Results"}),(0,n.jsx)("div",{className:"space-y-4",children:t.map((e,t)=>(0,n.jsxs)("div",{className:"border-t pt-4",children:[(0,n.jsx)("h3",{className:"font-medium text-gray-900",children:e.test}),(0,n.jsx)("pre",{className:"mt-2 text-xs bg-gray-50 p-2 rounded overflow-auto",children:JSON.stringify(e.result,null,2)})]},t))})]})})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,704,587,8315,7358],()=>t(3727)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9483],{3396:(e,s,a)=>{Promise.resolve().then(a.bind(a,7592))},7592:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>r});var n=a(4568),t=a(7620);function r(){let[e,s]=(0,t.useState)(""),[a,r]=(0,t.useState)(""),i=async()=>{s("Testing login..."),r("");try{var e;let a=await fetch("http://localhost:8080/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:"admin",password:"ciris_admin_password"})}),n=await a.json();if(!a.ok)throw Error(n.detail||"Login failed");s("Login successful! Token: ".concat(null==(e=n.access_token)?void 0:e.substring(0,20),"..."));let t=await fetch("http://localhost:8080/v1/auth/me",{headers:{Authorization:"Bearer ".concat(n.access_token)}}),r=await t.json();s(e=>e+"\n\nUser data: "+JSON.stringify(r,null,2))}catch(e){r(e.message),console.error("Login error:",e)}};return(0,n.jsxs)("div",{className:"min-h-screen p-8",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold mb-4",children:"Login Test Page"}),(0,n.jsx)("button",{onClick:i,className:"bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600",children:"Test Login"}),e&&(0,n.jsx)("pre",{className:"mt-4 p-4 bg-gray-100 rounded",children:e}),a&&(0,n.jsxs)("div",{className:"mt-4 p-4 bg-red-100 text-red-700 rounded",children:["Error: ",a]}),(0,n.jsxs)("div",{className:"mt-8",children:[(0,n.jsx)("h2",{className:"text-lg font-bold mb-2",children:"Manual Login Test"}),(0,n.jsxs)("p",{children:["Go to: ",(0,n.jsx)("a",{href:"/login",className:"text-blue-500 underline",children:"Login Page"})]}),(0,n.jsx)("p",{children:"Username: admin"}),(0,n.jsx)("p",{children:"Password: ciris_admin_password"})]})]})}}},e=>{var s=s=>e(e.s=s);e.O(0,[587,8315,7358],()=>s(3396)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9483],{7450:(e,s,a)=>{Promise.resolve().then(a.bind(a,7592))},7592:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>r});var n=a(4568),t=a(7620);function r(){let[e,s]=(0,t.useState)(""),[a,r]=(0,t.useState)(""),i=async()=>{s("Testing login..."),r("");try{var e;let a=await fetch("http://localhost:8080/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:"admin",password:"ciris_admin_password"})}),n=await a.json();if(!a.ok)throw Error(n.detail||"Login failed");s("Login successful! Token: ".concat(null==(e=n.access_token)?void 0:e.substring(0,20),"..."));let t=await fetch("http://localhost:8080/v1/auth/me",{headers:{Authorization:"Bearer ".concat(n.access_token)}}),r=await t.json();s(e=>e+"\n\nUser data: "+JSON.stringify(r,null,2))}catch(e){r(e.message),console.error("Login error:",e)}};return(0,n.jsxs)("div",{className:"min-h-screen p-8",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold mb-4",children:"Login Test Page"}),(0,n.jsx)("button",{onClick:i,className:"bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600",children:"Test Login"}),e&&(0,n.jsx)("pre",{className:"mt-4 p-4 bg-gray-100 rounded",children:e}),a&&(0,n.jsxs)("div",{className:"mt-4 p-4 bg-red-100 text-red-700 rounded",children:["Error: ",a]}),(0,n.jsxs)("div",{className:"mt-8",children:[(0,n.jsx)("h2",{className:"text-lg font-bold mb-2",children:"Manual Login Test"}),(0,n.jsxs)("p",{children:["Go to: ",(0,n.jsx)("a",{href:"/login",className:"text-blue-500 underline",children:"Login Page"})]}),(0,n.jsx)("p",{children:"Username: admin"}),(0,n.jsx)("p",{children:"Password: ciris_admin_password"})]})]})}}},e=>{var s=s=>e(e.s=s);e.O(0,[587,8315,7358],()=>s(7450)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4226],{1385:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var s=n(4568),r=n(7620),a=n(704);function i(){let[e,t]=(0,r.useState)(""),[n,i]=(0,r.useState)(""),[o,c]=(0,r.useState)(!1),l=async()=>{c(!0),t("Testing SDK login..."),i("");try{let e=await a.AQ.login("admin","ciris_admin_password");t("✓ Login successful! User: ".concat(e.username," (").concat(e.role,")\n")),t(e=>e+"\n\uD83D\uDCCA Getting agent status...");let n=await a.AQ.getStatus();t(e=>e+"\n✓ Agent: ".concat(n.name," - State: ").concat(n.cognitive_state)),t(e=>e+"\n\n\uD83E\uDD16 Getting agent identity...");let s=await a.AQ.agent.getIdentity();t(e=>e+"\n✓ Purpose: ".concat(s.purpose)),t(e=>e+"\n✓ Handlers: ".concat(s.handlers.length)),t(e=>e+"\n\n\uD83C\uDFE5 Getting system health...");let r=await a.AQ.getHealth();t(e=>e+"\n✓ System: ".concat(r.status," - Uptime: ").concat(Math.floor(r.uptime_seconds),"s")),t(e=>e+"\n\n\uD83D\uDD0C Getting adapters...");let i=await a.AQ.system.getAdapters();t(e=>e+"\n✓ Adapters: ".concat(i.total_count," total, ").concat(i.running_count," running")),t(e=>e+"\n\n\uD83E\uDDE0 Getting memory stats...");let o=await a.AQ.memory.getStats();t(e=>e+"\n✓ Memory nodes: ".concat(o.total_nodes)),t(e=>e+"\n\n✅ All SDK tests passed!")}catch(e){i(e.message||"Unknown error"),console.error("SDK test error:",e)}finally{c(!1)}},d=async()=>{c(!0),i("");try{t("Sending message to agent...");let e=await a.AQ.interact("Hello from the TypeScript SDK!");t("Agent response: ".concat(e.response,"\n\nProcessing time: ").concat(e.processing_time_ms,"ms"))}catch(e){i(e.message||"Interaction failed")}finally{c(!1)}},u=async()=>{try{await a.AQ.logout(),t("Logged out successfully")}catch(e){i(e.message||"Logout failed")}};return(0,s.jsxs)("div",{className:"min-h-screen p-8",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold mb-4",children:"CIRIS TypeScript SDK Test"}),(0,s.jsx)("p",{className:"text-gray-600 mb-6",children:"Testing the new TypeScript SDK that mirrors the Python SDK with automatic response unwrapping."}),(0,s.jsxs)("div",{className:"space-x-4 mb-6",children:[(0,s.jsx)("button",{onClick:l,disabled:o,className:"bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600 disabled:opacity-50",children:"Test Full SDK"}),(0,s.jsx)("button",{onClick:d,disabled:o,className:"bg-green-500 text-white px-4 py-2 rounded hover:bg-green-600 disabled:opacity-50",children:"Test Interact"}),(0,s.jsx)("button",{onClick:u,disabled:o,className:"bg-red-500 text-white px-4 py-2 rounded hover:bg-red-600 disabled:opacity-50",children:"Test Logout"})]}),e&&(0,s.jsx)("pre",{className:"mt-4 p-4 bg-gray-100 rounded font-mono text-sm whitespace-pre-wrap",children:e}),n&&(0,s.jsxs)("div",{className:"mt-4 p-4 bg-red-100 text-red-700 rounded",children:[(0,s.jsx)("strong",{children:"Error:"})," ",n]}),(0,s.jsxs)("div",{className:"mt-8 p-4 bg-blue-50 rounded",children:[(0,s.jsx)("h2",{className:"font-bold mb-2",children:"SDK Features:"}),(0,s.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[(0,s.jsx)("li",{children:"Automatic response unwrapping (handles data/metadata structure)"}),(0,s.jsx)("li",{children:"Built-in rate limiting with adaptive backoff"}),(0,s.jsx)("li",{children:"Automatic token persistence with AuthStore"}),(0,s.jsx)("li",{children:"Type-safe API with full TypeScript support"}),(0,s.jsx)("li",{children:"Retry logic with exponential backoff"}),(0,s.jsx)("li",{children:"Comprehensive error handling"})]})]})]})}},6487:(e,t,n)=>{Promise.resolve().then(n.bind(n,1385))},7932:(e,t,n)=>{"use strict";function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)e[s]=n[s]}return e}n.d(t,{A:()=>r});var r=function e(t,n){function r(e,r,a){if("undefined"!=typeof document){"number"==typeof(a=s({},n,a)).expires&&(a.expires=new Date(Date.now()+864e5*a.expires)),a.expires&&(a.expires=a.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var o in a)a[o]&&(i+="; "+o,!0!==a[o]&&(i+="="+a[o].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],s={},r=0;r<n.length;r++){var a=n[r].split("="),i=a.slice(1).join("=");try{var o=decodeURIComponent(a[0]);if(s[o]=t.read(i,o),e===o)break}catch(e){}}return e?s[e]:s}},remove:function(e,t){r(e,"",s({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,s({},this.attributes,t))},withConverter:function(t){return e(s({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})}},e=>{var t=t=>e(e.s=t);e.O(0,[704,587,8315,7358],()=>t(6487)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4226],{750:(e,t,n)=>{Promise.resolve().then(n.bind(n,1385))},1385:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var s=n(4568),r=n(7620),a=n(704);function i(){let[e,t]=(0,r.useState)(""),[n,i]=(0,r.useState)(""),[o,c]=(0,r.useState)(!1),l=async()=>{c(!0),t("Testing SDK login..."),i("");try{let e=await a.AQ.login("admin","ciris_admin_password");t("✓ Login successful! User: ".concat(e.username," (").concat(e.role,")\n")),t(e=>e+"\n\uD83D\uDCCA Getting agent status...");let n=await a.AQ.getStatus();t(e=>e+"\n✓ Agent: ".concat(n.name," - State: ").concat(n.cognitive_state)),t(e=>e+"\n\n\uD83E\uDD16 Getting agent identity...");let s=await a.AQ.agent.getIdentity();t(e=>e+"\n✓ Purpose: ".concat(s.purpose)),t(e=>e+"\n✓ Handlers: ".concat(s.handlers.length)),t(e=>e+"\n\n\uD83C\uDFE5 Getting system health...");let r=await a.AQ.getHealth();t(e=>e+"\n✓ System: ".concat(r.status," - Uptime: ").concat(Math.floor(r.uptime_seconds),"s")),t(e=>e+"\n\n\uD83D\uDD0C Getting adapters...");let i=await a.AQ.system.getAdapters();t(e=>e+"\n✓ Adapters: ".concat(i.total_count," total, ").concat(i.running_count," running")),t(e=>e+"\n\n\uD83E\uDDE0 Getting memory stats...");let o=await a.AQ.memory.getStats();t(e=>e+"\n✓ Memory nodes: ".concat(o.total_nodes)),t(e=>e+"\n\n✅ All SDK tests passed!")}catch(e){i(e.message||"Unknown error"),console.error("SDK test error:",e)}finally{c(!1)}},d=async()=>{c(!0),i("");try{t("Sending message to agent...");let e=await a.AQ.interact("Hello from the TypeScript SDK!");t("Agent response: ".concat(e.response,"\n\nProcessing time: ").concat(e.processing_time_ms,"ms"))}catch(e){i(e.message||"Interaction failed")}finally{c(!1)}},u=async()=>{try{await a.AQ.logout(),t("Logged out successfully")}catch(e){i(e.message||"Logout failed")}};return(0,s.jsxs)("div",{className:"min-h-screen p-8",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold mb-4",children:"CIRIS TypeScript SDK Test"}),(0,s.jsx)("p",{className:"text-gray-600 mb-6",children:"Testing the new TypeScript SDK that mirrors the Python SDK with automatic response unwrapping."}),(0,s.jsxs)("div",{className:"space-x-4 mb-6",children:[(0,s.jsx)("button",{onClick:l,disabled:o,className:"bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600 disabled:opacity-50",children:"Test Full SDK"}),(0,s.jsx)("button",{onClick:d,disabled:o,className:"bg-green-500 text-white px-4 py-2 rounded hover:bg-green-600 disabled:opacity-50",children:"Test Interact"}),(0,s.jsx)("button",{onClick:u,disabled:o,className:"bg-red-500 text-white px-4 py-2 rounded hover:bg-red-600 disabled:opacity-50",children:"Test Logout"})]}),e&&(0,s.jsx)("pre",{className:"mt-4 p-4 bg-gray-100 rounded font-mono text-sm whitespace-pre-wrap",children:e}),n&&(0,s.jsxs)("div",{className:"mt-4 p-4 bg-red-100 text-red-700 rounded",children:[(0,s.jsx)("strong",{children:"Error:"})," ",n]}),(0,s.jsxs)("div",{className:"mt-8 p-4 bg-blue-50 rounded",children:[(0,s.jsx)("h2",{className:"font-bold mb-2",children:"SDK Features:"}),(0,s.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[(0,s.jsx)("li",{children:"Automatic response unwrapping (handles data/metadata structure)"}),(0,s.jsx)("li",{children:"Built-in rate limiting with adaptive backoff"}),(0,s.jsx)("li",{children:"Automatic token persistence with AuthStore"}),(0,s.jsx)("li",{children:"Type-safe API with full TypeScript support"}),(0,s.jsx)("li",{children:"Retry logic with exponential backoff"}),(0,s.jsx)("li",{children:"Comprehensive error handling"})]})]})]})}},7932:(e,t,n)=>{"use strict";function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)e[s]=n[s]}return e}n.d(t,{A:()=>r});var r=function e(t,n){function r(e,r,a){if("undefined"!=typeof document){"number"==typeof(a=s({},n,a)).expires&&(a.expires=new Date(Date.now()+864e5*a.expires)),a.expires&&(a.expires=a.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var o in a)a[o]&&(i+="; "+o,!0!==a[o]&&(i+="="+a[o].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+i}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],s={},r=0;r<n.length;r++){var a=n[r].split("="),i=a.slice(1).join("=");try{var o=decodeURIComponent(a[0]);if(s[o]=t.read(i,o),e===o)break}catch(e){}}return e?s[e]:s}},remove:function(e,t){r(e,"",s({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,s({},this.attributes,t))},withConverter:function(t){return e(s({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})}},e=>{var t=t=>e(e.s=t);e.O(0,[704,587,8315,7358],()=>t(750)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{2183:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var s=a(4568);a(7620);var l=a(3297),r=a(704),n=a(3804),i=a(4893),o=a(6264);function d(){let{data:e,isLoading:t,refetch:a,error:o}=(0,l.I)({queryKey:["system-tools"],queryFn:()=>r.AQ.system.getTools(),refetchInterval:5e3}),{data:d,isLoading:c}=(0,l.I)({queryKey:["adapter-tools"],queryFn:async()=>await r.AQ.system.getAdapters(),refetchInterval:5e3}),h={},u=0;e&&Array.isArray(e)&&e.forEach(e=>{let t=e.provider||"unknown";h[t]||(h[t]=[]),h[t].push({name:e.name,description:e.description,adapter:t,schema:e.schema}),u++});let m=Object.keys(h).length,g=t||c;return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)("div",{className:"bg-white shadow",children:(0,s.jsx)("div",{className:"px-4 py-5 sm:px-6",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Available Tools"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Tools provided by active adapters for use by the agent"})]}),(0,s.jsxs)("button",{onClick:()=>a(),disabled:g,className:"inline-flex items-center px-3 py-2 border border-gray-300 shadow-sm text-sm leading-4 font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 disabled:opacity-50",children:[(0,s.jsx)(n.A,{className:"h-4 w-4 mr-2 ".concat(g?"animate-spin":"")}),"Refresh"]})]})})}),(0,s.jsxs)("div",{className:"grid grid-cols-1 gap-5 sm:grid-cols-3",children:[(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Tool Providers"}),(0,s.jsx)("dd",{className:"mt-1 text-3xl font-semibold text-gray-900",children:m})]})}),(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Total Available Tools"}),(0,s.jsx)("dd",{className:"mt-1 text-3xl font-semibold text-gray-900",children:u})]})}),(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Tool Bus Status"}),(0,s.jsxs)("dd",{className:"mt-1 text-xl font-semibold text-green-600 flex items-center",children:[(0,s.jsx)(i.md,{status:"green",className:"mr-2"}),"Operational"]})]})})]}),g?(0,s.jsx)("div",{className:"bg-white shadow rounded-lg p-8",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(i.Nl,{size:"lg",className:"mx-auto text-gray-500"}),(0,s.jsx)("p",{className:"mt-4 text-gray-500",children:"Loading available tools..."})]})}):0===u?(0,s.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,s.jsx)("div",{className:"px-4 py-5 sm:p-6",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(i.XR,{size:"lg",className:"mx-auto text-gray-400"}),(0,s.jsx)("h3",{className:"mt-2 text-sm font-medium text-gray-900",children:"No tools available"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Tools become available when adapters and tool services are loaded."})]})})}):Object.entries(h).map(e=>{let[t,a]=e;return(0,s.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsx)("h3",{className:"text-lg font-medium text-gray-900",children:t}),(0,s.jsxs)("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800",children:[a.length," ",1===a.length?"tool":"tools"]})]}),(0,s.jsx)("div",{className:"space-y-3",children:a.map((e,a)=>(0,s.jsx)("div",{className:"border border-gray-200 rounded-lg p-4 hover:bg-gray-50",children:(0,s.jsxs)("div",{className:"flex items-start justify-between",children:[(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:e.name}),e.description&&(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-600",children:e.description}),e.handler&&(0,s.jsxs)("p",{className:"mt-2 text-xs text-gray-500",children:["Handler: ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded",children:e.handler})]})]}),e.schema&&(0,s.jsxs)("details",{className:"ml-4 text-xs",children:[(0,s.jsx)("summary",{className:"cursor-pointer text-gray-500 hover:text-gray-700",children:"Schema"}),(0,s.jsx)("pre",{className:"mt-2 p-2 bg-gray-100 rounded overflow-x-auto max-w-xs",children:JSON.stringify(e.schema,null,2)})]})]})},"".concat(t,"-").concat(e.name,"-").concat(a)))})]})},t)}),(0,s.jsx)("div",{className:"bg-blue-50 border-l-4 border-blue-400 p-4",children:(0,s.jsxs)("div",{className:"flex",children:[(0,s.jsx)("div",{className:"flex-shrink-0",children:(0,s.jsx)(i.mo,{className:"text-blue-400",size:"md"})}),(0,s.jsx)("div",{className:"ml-3",children:(0,s.jsx)("p",{className:"text-sm text-blue-700",children:"These tools are available for the agent to use when processing requests. The agent automatically selects appropriate tools based on the task and context. Tools are provided by adapters and become available when adapters are loaded on the System page."})})]})})]})}let c=()=>(0,s.jsx)(o.O,{children:(0,s.jsx)(d,{})})},2942:(e,t,a)=>{"use strict";var s=a(2418);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}}),a.o(s,"useSearchParams")&&a.d(t,{useSearchParams:function(){return s.useSearchParams}})},3120:(e,t,a)=>{"use strict";a.d(t,{_:()=>i});var s=a(704);function l(){let e=window.location.hostname,t=window.location.pathname,a=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!a)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=a?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let s="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:s}}}var r=a(5950);class n{configure(e,t){let a,{mode:s}=l();if("managed"===s)a="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));a=t||window.location.origin}t||(t=r.a.getAccessToken()||void 0);let n={baseURL:a,authToken:t,agentId:e,mode:s};return this.hasConfigChanged(n)&&this.applyConfiguration(n),n}configureForOAuthCallback(e,t){let a,{mode:s}=l(),r={baseURL:"managed"===s?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:s};return this.applyConfiguration(r),this.storeConfiguration(r),r}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),s.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),a=r.a.getAccessToken()||void 0;return{...t,authToken:a}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let i=new n},3804:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var s=a(7620);let l=s.forwardRef(function(e,t){let{title:a,titleId:l,...r}=e;return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":l},r),a?s.createElement("title",{id:l},a):null,s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"}))})},4893:(e,t,a)=>{"use strict";a.d(t,{DP:()=>f,HG:()=>h,Nl:()=>o,O4:()=>c,Pi:()=>n,RR:()=>g,RY:()=>m,Rv:()=>p,XR:()=>i,Zu:()=>w,bN:()=>x,c1:()=>y,fC:()=>b,fK:()=>j,lm:()=>v,md:()=>M,mo:()=>r,uc:()=>N,ui:()=>d,vK:()=>u,xZ:()=>C,xm:()=>k});var s=a(4568);a(7620);let l={xs:{width:12,height:12},sm:{width:16,height:16},md:{width:20,height:20},lg:{width:24,height:24}},r=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})})},n=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})},i=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{d:"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z"})})},o=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsxs)("svg",{className:"animate-spin ".concat(t),width:r,height:n,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})},d=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})})},c=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})},h=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"})})},u=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})},m=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z",clipRule:"evenodd"})})},g=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})})},x=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsxs)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:[(0,s.jsx)("path",{d:"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z"}),(0,s.jsx)("path",{d:"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z"}),(0,s.jsx)("path",{d:"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z"})]})},v=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},f=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z",clipRule:"evenodd"})})},p=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{d:"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z"})})},j=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})},w=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},N=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})})},y=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})},b=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},C=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})},k=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},M=e=>{let{status:t,className:a=""}=e;return(0,s.jsx)("span",{className:"w-3 h-3 rounded-full ".concat({green:"bg-green-500",yellow:"bg-yellow-500",red:"bg-red-500",gray:"bg-gray-500"}[t]," ").concat(a)})}},5009:(e,t,a)=>{Promise.resolve().then(a.bind(a,2183))},6264:(e,t,a)=>{"use strict";a.d(t,{O:()=>i});var s=a(4568),l=a(7620),r=a(2942),n=a(9484);function i(e){let{children:t,requiredRole:a,requiredPermission:i}=e,{user:o,loading:d,hasRole:c,hasPermission:h}=(0,n.A)(),u=(0,r.useRouter)();return((0,l.useEffect)(()=>{if(!d){if(!o)return void u.push("/login");if(a&&!c(a)||i&&!h(i))return void u.push("/unauthorized")}},[o,d,a,i,c,h,u]),d)?(0,s.jsx)("div",{className:"flex items-center justify-center min-h-screen",children:(0,s.jsx)("div",{className:"text-lg",children:"Loading..."})}):o&&(!a||c(a))&&(!i||h(i))?(0,s.jsx)(s.Fragment,{children:t}):null}},9484:(e,t,a)=>{"use strict";a.d(t,{A:()=>h,O:()=>c});var s=a(4568),l=a(7620),r=a(2942),n=a(3237),i=a(704),o=a(3120);let d=(0,l.createContext)(void 0);function c(e){let{children:t}=e,[a,c]=(0,l.useState)(null),[h,u]=(0,l.useState)(!0),[m,g]=(0,l.useState)(null),x=(0,r.useRouter)();(0,l.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?u(!1):v();let t=localStorage.getItem("manager_token");t&&g(t)},[]);let v=async()=>{try{if(i.AQ.isAuthenticated()){let e=await i.AQ.auth.getMe();c(e)}}catch(e){console.error("Auth check failed:",e)}finally{u(!1)}},f=(0,l.useCallback)(async(e,t)=>{try{let a=localStorage.getItem("selectedAgentId");if(!a)throw Error("No agent selected");o._.configure(a);let s=await i.AQ.login(e,t),l=i.AQ.auth.getAccessToken();l&&o._.configure(a,l),c(s),n.Ay.success("Welcome, ".concat(s.username||s.user_id,"!")),x.push("/")}catch(e){throw n.Ay.error(e.message||"Login failed"),e}},[x]),p=(0,l.useCallback)(async()=>{try{await i.AQ.logout(),c(null),n.Ay.success("Logged out successfully"),x.push("/login")}catch(e){console.error("Logout failed:",e),n.Ay.error("Logout failed")}},[x]),j=(0,l.useCallback)(e=>!!a&&(a.permissions.includes(e)||"SYSTEM_ADMIN"===a.role),[a]),w=(0,l.useCallback)(e=>{if(!a)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(a.role)>=t.indexOf(e)},[a]),N=(0,l.useCallback)(e=>{i.AQ.setConfig({authToken:e})},[]),y=(0,l.useCallback)(()=>!!m,[m]);return(0,s.jsx)(d.Provider,{value:{user:a,loading:h,login:f,logout:p,hasPermission:j,hasRole:w,setUser:c,setToken:N,managerToken:m,setManagerToken:g,isManagerAuthenticated:y},children:t})}function h(){let e=(0,l.useContext)(d);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,8903,3297,704,587,8315,7358],()=>t(5009)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{2183:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var s=a(4568);a(7620);var l=a(3297),r=a(704),n=a(3804),i=a(4893),o=a(6264);function d(){let{data:e,isLoading:t,refetch:a,error:o}=(0,l.I)({queryKey:["system-tools"],queryFn:()=>r.AQ.system.getTools(),refetchInterval:5e3}),{data:d,isLoading:c}=(0,l.I)({queryKey:["adapter-tools"],queryFn:async()=>await r.AQ.system.getAdapters(),refetchInterval:5e3}),h={},u=0;e&&Array.isArray(e)&&e.forEach(e=>{let t=e.provider||"unknown";h[t]||(h[t]=[]),h[t].push({name:e.name,description:e.description,adapter:t,schema:e.schema}),u++});let m=Object.keys(h).length,g=t||c;return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)("div",{className:"bg-white shadow",children:(0,s.jsx)("div",{className:"px-4 py-5 sm:px-6",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Available Tools"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Tools provided by active adapters for use by the agent"})]}),(0,s.jsxs)("button",{onClick:()=>a(),disabled:g,className:"inline-flex items-center px-3 py-2 border border-gray-300 shadow-sm text-sm leading-4 font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 disabled:opacity-50",children:[(0,s.jsx)(n.A,{className:"h-4 w-4 mr-2 ".concat(g?"animate-spin":"")}),"Refresh"]})]})})}),(0,s.jsxs)("div",{className:"grid grid-cols-1 gap-5 sm:grid-cols-3",children:[(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Tool Providers"}),(0,s.jsx)("dd",{className:"mt-1 text-3xl font-semibold text-gray-900",children:m})]})}),(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Total Available Tools"}),(0,s.jsx)("dd",{className:"mt-1 text-3xl font-semibold text-gray-900",children:u})]})}),(0,s.jsx)("div",{className:"bg-white overflow-hidden shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsx)("dt",{className:"text-sm font-medium text-gray-500 truncate",children:"Tool Bus Status"}),(0,s.jsxs)("dd",{className:"mt-1 text-xl font-semibold text-green-600 flex items-center",children:[(0,s.jsx)(i.md,{status:"green",className:"mr-2"}),"Operational"]})]})})]}),g?(0,s.jsx)("div",{className:"bg-white shadow rounded-lg p-8",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(i.Nl,{size:"lg",className:"mx-auto text-gray-500"}),(0,s.jsx)("p",{className:"mt-4 text-gray-500",children:"Loading available tools..."})]})}):0===u?(0,s.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,s.jsx)("div",{className:"px-4 py-5 sm:p-6",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)(i.XR,{size:"lg",className:"mx-auto text-gray-400"}),(0,s.jsx)("h3",{className:"mt-2 text-sm font-medium text-gray-900",children:"No tools available"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-500",children:"Tools become available when adapters and tool services are loaded."})]})})}):Object.entries(h).map(e=>{let[t,a]=e;return(0,s.jsx)("div",{className:"bg-white shadow rounded-lg",children:(0,s.jsxs)("div",{className:"px-4 py-5 sm:p-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsx)("h3",{className:"text-lg font-medium text-gray-900",children:t}),(0,s.jsxs)("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800",children:[a.length," ",1===a.length?"tool":"tools"]})]}),(0,s.jsx)("div",{className:"space-y-3",children:a.map((e,a)=>(0,s.jsx)("div",{className:"border border-gray-200 rounded-lg p-4 hover:bg-gray-50",children:(0,s.jsxs)("div",{className:"flex items-start justify-between",children:[(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("h4",{className:"text-sm font-semibold text-gray-900",children:e.name}),e.description&&(0,s.jsx)("p",{className:"mt-1 text-sm text-gray-600",children:e.description}),e.handler&&(0,s.jsxs)("p",{className:"mt-2 text-xs text-gray-500",children:["Handler: ",(0,s.jsx)("code",{className:"bg-gray-100 px-1 py-0.5 rounded",children:e.handler})]})]}),e.schema&&(0,s.jsxs)("details",{className:"ml-4 text-xs",children:[(0,s.jsx)("summary",{className:"cursor-pointer text-gray-500 hover:text-gray-700",children:"Schema"}),(0,s.jsx)("pre",{className:"mt-2 p-2 bg-gray-100 rounded overflow-x-auto max-w-xs",children:JSON.stringify(e.schema,null,2)})]})]})},"".concat(t,"-").concat(e.name,"-").concat(a)))})]})},t)}),(0,s.jsx)("div",{className:"bg-blue-50 border-l-4 border-blue-400 p-4",children:(0,s.jsxs)("div",{className:"flex",children:[(0,s.jsx)("div",{className:"flex-shrink-0",children:(0,s.jsx)(i.mo,{className:"text-blue-400",size:"md"})}),(0,s.jsx)("div",{className:"ml-3",children:(0,s.jsx)("p",{className:"text-sm text-blue-700",children:"These tools are available for the agent to use when processing requests. The agent automatically selects appropriate tools based on the task and context. Tools are provided by adapters and become available when adapters are loaded on the System page."})})]})})]})}let c=()=>(0,s.jsx)(o.O,{children:(0,s.jsx)(d,{})})},2942:(e,t,a)=>{"use strict";var s=a(2418);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}}),a.o(s,"useSearchParams")&&a.d(t,{useSearchParams:function(){return s.useSearchParams}})},3120:(e,t,a)=>{"use strict";a.d(t,{_:()=>i});var s=a(704);function l(){let e=window.location.hostname,t=window.location.pathname,a=t.startsWith("/agent/");if("agents.ciris.ai"!==e&&!a)return{mode:"standalone",agentId:"default",apiBase:"/v1"};{let e="default";e=a?t.split("/")[2]||"default":localStorage.getItem("selectedAgentId")||"default";let s="/api/".concat(e,"/v1");return{mode:"managed",agentId:e,apiBase:s}}}var r=a(5950);class n{configure(e,t){let a,{mode:s}=l();if("managed"===s)a="".concat(window.location.origin,"/api/").concat(e);else{let t=localStorage.getItem("agent_".concat(e,"_api_url"));a=t||window.location.origin}t||(t=r.a.getAccessToken()||void 0);let n={baseURL:a,authToken:t,agentId:e,mode:s};return this.hasConfigChanged(n)&&this.applyConfiguration(n),n}configureForOAuthCallback(e,t){let a,{mode:s}=l(),r={baseURL:"managed"===s?"".concat(window.location.origin,"/api/").concat(e):window.location.origin,authToken:t,agentId:e,mode:s};return this.applyConfiguration(r),this.storeConfiguration(r),r}getCurrentConfig(){return this.currentConfig}isConfiguredFor(e){return!!this.currentConfig&&this.currentConfig.agentId===e&&!!this.currentConfig.authToken}clear(){this.currentConfig=null,localStorage.removeItem("sdk_config"),this.log("SDK configuration cleared")}applyConfiguration(e){this.log("Applying SDK configuration:",e),s.AQ.setConfig({baseURL:e.baseURL,authToken:e.authToken}),this.currentConfig=e,this.log("SDK configured successfully")}hasConfigChanged(e){return!this.currentConfig||this.currentConfig.baseURL!==e.baseURL||this.currentConfig.authToken!==e.authToken||this.currentConfig.agentId!==e.agentId||this.currentConfig.mode!==e.mode}storeConfiguration(e){let t={baseURL:e.baseURL,agentId:e.agentId,mode:e.mode};localStorage.setItem("sdk_config",JSON.stringify(t)),"standalone"===e.mode&&e.baseURL!==window.location.origin&&localStorage.setItem("agent_".concat(e.agentId,"_api_url"),e.baseURL)}restoreConfiguration(){let e=localStorage.getItem("sdk_config");if(!e)return null;try{let t=JSON.parse(e),a=r.a.getAccessToken()||void 0;return{...t,authToken:a}}catch(e){return null}}log(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];this.debugMode&&console.log("[SDKConfigManager]",...t)}constructor(){this.currentConfig=null,this.debugMode=!1}}let i=new n},3804:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var s=a(7620);let l=s.forwardRef(function(e,t){let{title:a,titleId:l,...r}=e;return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:t,"aria-labelledby":l},r),a?s.createElement("title",{id:l},a):null,s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"}))})},4893:(e,t,a)=>{"use strict";a.d(t,{DP:()=>f,HG:()=>h,Nl:()=>o,O4:()=>c,Pi:()=>n,RR:()=>g,RY:()=>m,Rv:()=>p,XR:()=>i,Zu:()=>w,bN:()=>x,c1:()=>y,fC:()=>b,fK:()=>j,lm:()=>v,md:()=>M,mo:()=>r,uc:()=>N,ui:()=>d,vK:()=>u,xZ:()=>C,xm:()=>k});var s=a(4568);a(7620);let l={xs:{width:12,height:12},sm:{width:16,height:16},md:{width:20,height:20},lg:{width:24,height:24}},r=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})})},n=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})},i=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{d:"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z"})})},o=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsxs)("svg",{className:"animate-spin ".concat(t),width:r,height:n,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})},d=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})})},c=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})},h=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"})})},u=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})},m=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z",clipRule:"evenodd"})})},g=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z",clipRule:"evenodd"})})},x=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsxs)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:[(0,s.jsx)("path",{d:"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z"}),(0,s.jsx)("path",{d:"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z"}),(0,s.jsx)("path",{d:"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z"})]})},v=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},f=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z",clipRule:"evenodd"})})},p=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{d:"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z"})})},j=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})},w=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})},N=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z",clipRule:"evenodd"})})},y=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 20 20",fill:"currentColor",children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})},b=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},C=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})},k=e=>{let{className:t="",size:a="md"}=e,{width:r,height:n}=l[a];return(0,s.jsx)("svg",{className:t,width:r,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},M=e=>{let{status:t,className:a=""}=e;return(0,s.jsx)("span",{className:"w-3 h-3 rounded-full ".concat({green:"bg-green-500",yellow:"bg-yellow-500",red:"bg-red-500",gray:"bg-gray-500"}[t]," ").concat(a)})}},6264:(e,t,a)=>{"use strict";a.d(t,{O:()=>i});var s=a(4568),l=a(7620),r=a(2942),n=a(9484);function i(e){let{children:t,requiredRole:a,requiredPermission:i}=e,{user:o,loading:d,hasRole:c,hasPermission:h}=(0,n.A)(),u=(0,r.useRouter)();return((0,l.useEffect)(()=>{if(!d){if(!o)return void u.push("/login");if(a&&!c(a)||i&&!h(i))return void u.push("/unauthorized")}},[o,d,a,i,c,h,u]),d)?(0,s.jsx)("div",{className:"flex items-center justify-center min-h-screen",children:(0,s.jsx)("div",{className:"text-lg",children:"Loading..."})}):o&&(!a||c(a))&&(!i||h(i))?(0,s.jsx)(s.Fragment,{children:t}):null}},7679:(e,t,a)=>{Promise.resolve().then(a.bind(a,2183))},9484:(e,t,a)=>{"use strict";a.d(t,{A:()=>h,O:()=>c});var s=a(4568),l=a(7620),r=a(2942),n=a(3237),i=a(704),o=a(3120);let d=(0,l.createContext)(void 0);function c(e){let{children:t}=e,[a,c]=(0,l.useState)(null),[h,u]=(0,l.useState)(!0),[m,g]=(0,l.useState)(null),x=(0,r.useRouter)();(0,l.useEffect)(()=>{let e=window.location.pathname;"/login"===e||e.startsWith("/manager")?u(!1):v();let t=localStorage.getItem("manager_token");t&&g(t)},[]);let v=async()=>{try{if(i.AQ.isAuthenticated()){let e=await i.AQ.auth.getMe();c(e)}}catch(e){console.error("Auth check failed:",e)}finally{u(!1)}},f=(0,l.useCallback)(async(e,t)=>{try{let a=localStorage.getItem("selectedAgentId");if(!a)throw Error("No agent selected");o._.configure(a);let s=await i.AQ.login(e,t),l=i.AQ.auth.getAccessToken();l&&o._.configure(a,l),c(s),n.Ay.success("Welcome, ".concat(s.username||s.user_id,"!")),x.push("/")}catch(e){throw n.Ay.error(e.message||"Login failed"),e}},[x]),p=(0,l.useCallback)(async()=>{try{await i.AQ.logout(),c(null),n.Ay.success("Logged out successfully"),x.push("/login")}catch(e){console.error("Logout failed:",e),n.Ay.error("Logout failed")}},[x]),j=(0,l.useCallback)(e=>!!a&&(a.permissions.includes(e)||"SYSTEM_ADMIN"===a.role),[a]),w=(0,l.useCallback)(e=>{if(!a)return!1;let t=["OBSERVER","ADMIN","AUTHORITY","SYSTEM_ADMIN"];return t.indexOf(a.role)>=t.indexOf(e)},[a]),N=(0,l.useCallback)(e=>{i.AQ.setConfig({authToken:e})},[]),y=(0,l.useCallback)(()=>!!m,[m]);return(0,s.jsx)(d.Provider,{value:{user:a,loading:h,login:f,logout:p,hasPermission:j,hasRole:w,setUser:c,setToken:N,managerToken:m,setManagerToken:g,isManagerAuthenticated:y},children:t})}function h(){let e=(0,l.useContext)(d);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}}},e=>{var t=t=>e(e.s=t);e.O(0,[4534,8903,3297,704,587,8315,7358],()=>t(7679)),_N_E=e.O()}]);