agent_os_kernel 3.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. agent_control_plane/__init__.py +662 -0
  2. agent_control_plane/a2a_adapter.py +543 -0
  3. agent_control_plane/adapter.py +417 -0
  4. agent_control_plane/agent_hibernation.py +394 -0
  5. agent_control_plane/agent_kernel.py +470 -0
  6. agent_control_plane/compliance.py +720 -0
  7. agent_control_plane/constraint_graphs.py +478 -0
  8. agent_control_plane/control_plane.py +854 -0
  9. agent_control_plane/example_executors.py +195 -0
  10. agent_control_plane/execution_engine.py +231 -0
  11. agent_control_plane/flight_recorder.py +846 -0
  12. agent_control_plane/governance_layer.py +435 -0
  13. agent_control_plane/hf_utils.py +563 -0
  14. agent_control_plane/interfaces/__init__.py +55 -0
  15. agent_control_plane/interfaces/kernel_interface.py +361 -0
  16. agent_control_plane/interfaces/plugin_interface.py +497 -0
  17. agent_control_plane/interfaces/protocol_interfaces.py +387 -0
  18. agent_control_plane/kernel_space.py +1009 -0
  19. agent_control_plane/langchain_adapter.py +424 -0
  20. agent_control_plane/lifecycle.py +3113 -0
  21. agent_control_plane/mcp_adapter.py +653 -0
  22. agent_control_plane/ml_safety.py +563 -0
  23. agent_control_plane/multimodal.py +727 -0
  24. agent_control_plane/mute_agent.py +422 -0
  25. agent_control_plane/observability.py +787 -0
  26. agent_control_plane/orchestrator.py +482 -0
  27. agent_control_plane/plugin_registry.py +750 -0
  28. agent_control_plane/policy_engine.py +954 -0
  29. agent_control_plane/process_isolation.py +777 -0
  30. agent_control_plane/shadow_mode.py +310 -0
  31. agent_control_plane/signals.py +493 -0
  32. agent_control_plane/supervisor_agents.py +430 -0
  33. agent_control_plane/time_travel_debugger.py +557 -0
  34. agent_control_plane/tool_registry.py +452 -0
  35. agent_control_plane/vfs.py +697 -0
  36. agent_kernel/__init__.py +69 -0
  37. agent_kernel/analyzer.py +435 -0
  38. agent_kernel/auditor.py +36 -0
  39. agent_kernel/completeness_auditor.py +237 -0
  40. agent_kernel/detector.py +203 -0
  41. agent_kernel/kernel.py +744 -0
  42. agent_kernel/memory_manager.py +85 -0
  43. agent_kernel/models.py +374 -0
  44. agent_kernel/nudge_mechanism.py +263 -0
  45. agent_kernel/outcome_analyzer.py +338 -0
  46. agent_kernel/patcher.py +582 -0
  47. agent_kernel/semantic_analyzer.py +316 -0
  48. agent_kernel/semantic_purge.py +349 -0
  49. agent_kernel/simulator.py +449 -0
  50. agent_kernel/teacher.py +85 -0
  51. agent_kernel/triage.py +152 -0
  52. agent_os/__init__.py +409 -0
  53. agent_os/_adversarial_impl.py +200 -0
  54. agent_os/_circuit_breaker_impl.py +232 -0
  55. agent_os/_mcp_metrics.py +193 -0
  56. agent_os/adversarial.py +20 -0
  57. agent_os/agents_compat.py +490 -0
  58. agent_os/audit_logger.py +135 -0
  59. agent_os/base_agent.py +651 -0
  60. agent_os/circuit_breaker.py +34 -0
  61. agent_os/cli/__init__.py +659 -0
  62. agent_os/cli/cmd_audit.py +128 -0
  63. agent_os/cli/cmd_init.py +152 -0
  64. agent_os/cli/cmd_policy.py +41 -0
  65. agent_os/cli/cmd_policy_gen.py +180 -0
  66. agent_os/cli/cmd_validate.py +258 -0
  67. agent_os/cli/mcp_scan.py +265 -0
  68. agent_os/cli/output.py +192 -0
  69. agent_os/cli/policy_checker.py +330 -0
  70. agent_os/compat.py +74 -0
  71. agent_os/constraint_graph.py +234 -0
  72. agent_os/content_governance.py +140 -0
  73. agent_os/context_budget.py +305 -0
  74. agent_os/credential_redactor.py +224 -0
  75. agent_os/diff_policy.py +89 -0
  76. agent_os/egress_policy.py +159 -0
  77. agent_os/escalation.py +276 -0
  78. agent_os/event_bus.py +124 -0
  79. agent_os/exceptions.py +180 -0
  80. agent_os/execution_context_policy.py +141 -0
  81. agent_os/github_enterprise.py +96 -0
  82. agent_os/health.py +20 -0
  83. agent_os/integrations/__init__.py +279 -0
  84. agent_os/integrations/a2a_adapter.py +279 -0
  85. agent_os/integrations/agent_lightning/__init__.py +30 -0
  86. agent_os/integrations/anthropic_adapter.py +420 -0
  87. agent_os/integrations/autogen_adapter.py +620 -0
  88. agent_os/integrations/base.py +1137 -0
  89. agent_os/integrations/compat.py +229 -0
  90. agent_os/integrations/config.py +98 -0
  91. agent_os/integrations/conversation_guardian.py +957 -0
  92. agent_os/integrations/crewai_adapter.py +467 -0
  93. agent_os/integrations/drift_detector.py +425 -0
  94. agent_os/integrations/dry_run.py +124 -0
  95. agent_os/integrations/escalation.py +582 -0
  96. agent_os/integrations/gemini_adapter.py +364 -0
  97. agent_os/integrations/google_adk_adapter.py +633 -0
  98. agent_os/integrations/guardrails_adapter.py +394 -0
  99. agent_os/integrations/health.py +197 -0
  100. agent_os/integrations/langchain_adapter.py +654 -0
  101. agent_os/integrations/llamafirewall.py +343 -0
  102. agent_os/integrations/llamaindex_adapter.py +188 -0
  103. agent_os/integrations/logging.py +191 -0
  104. agent_os/integrations/maf_adapter.py +631 -0
  105. agent_os/integrations/mistral_adapter.py +365 -0
  106. agent_os/integrations/openai_adapter.py +816 -0
  107. agent_os/integrations/openai_agents_sdk.py +406 -0
  108. agent_os/integrations/policy_compose.py +171 -0
  109. agent_os/integrations/profiling.py +144 -0
  110. agent_os/integrations/pydantic_ai_adapter.py +420 -0
  111. agent_os/integrations/rate_limiter.py +130 -0
  112. agent_os/integrations/rbac.py +143 -0
  113. agent_os/integrations/registry.py +113 -0
  114. agent_os/integrations/scope_guard.py +303 -0
  115. agent_os/integrations/semantic_kernel_adapter.py +769 -0
  116. agent_os/integrations/smolagents_adapter.py +629 -0
  117. agent_os/integrations/templates.py +178 -0
  118. agent_os/integrations/token_budget.py +134 -0
  119. agent_os/integrations/tool_aliases.py +190 -0
  120. agent_os/integrations/webhooks.py +177 -0
  121. agent_os/lite.py +208 -0
  122. agent_os/mcp_gateway.py +385 -0
  123. agent_os/mcp_message_signer.py +273 -0
  124. agent_os/mcp_protocols.py +161 -0
  125. agent_os/mcp_response_scanner.py +232 -0
  126. agent_os/mcp_security.py +924 -0
  127. agent_os/mcp_session_auth.py +231 -0
  128. agent_os/mcp_sliding_rate_limiter.py +184 -0
  129. agent_os/memory_guard.py +409 -0
  130. agent_os/metrics.py +134 -0
  131. agent_os/mute.py +428 -0
  132. agent_os/mute_agent.py +209 -0
  133. agent_os/policies/__init__.py +77 -0
  134. agent_os/policies/async_evaluator.py +275 -0
  135. agent_os/policies/backends.py +670 -0
  136. agent_os/policies/bridge.py +169 -0
  137. agent_os/policies/budget.py +85 -0
  138. agent_os/policies/cli.py +294 -0
  139. agent_os/policies/conflict_resolution.py +270 -0
  140. agent_os/policies/data_classification.py +252 -0
  141. agent_os/policies/evaluator.py +239 -0
  142. agent_os/policies/policy_schema.json +228 -0
  143. agent_os/policies/rate_limiting.py +145 -0
  144. agent_os/policies/schema.py +115 -0
  145. agent_os/policies/shared.py +331 -0
  146. agent_os/prompt_injection.py +694 -0
  147. agent_os/providers.py +182 -0
  148. agent_os/py.typed +0 -0
  149. agent_os/retry.py +81 -0
  150. agent_os/reversibility.py +251 -0
  151. agent_os/sandbox.py +432 -0
  152. agent_os/sandbox_provider.py +140 -0
  153. agent_os/secure_codegen.py +525 -0
  154. agent_os/security_skills.py +538 -0
  155. agent_os/semantic_policy.py +422 -0
  156. agent_os/server/__init__.py +15 -0
  157. agent_os/server/__main__.py +25 -0
  158. agent_os/server/app.py +277 -0
  159. agent_os/server/models.py +104 -0
  160. agent_os/shift_left_metrics.py +130 -0
  161. agent_os/stateless.py +742 -0
  162. agent_os/supervisor.py +148 -0
  163. agent_os/task_outcome.py +148 -0
  164. agent_os/transparency.py +181 -0
  165. agent_os/trust_root.py +128 -0
  166. agent_os_kernel-3.1.0.dist-info/METADATA +1269 -0
  167. agent_os_kernel-3.1.0.dist-info/RECORD +337 -0
  168. agent_os_kernel-3.1.0.dist-info/WHEEL +4 -0
  169. agent_os_kernel-3.1.0.dist-info/entry_points.txt +2 -0
  170. agent_os_kernel-3.1.0.dist-info/licenses/LICENSE +21 -0
  171. agent_os_observability/__init__.py +27 -0
  172. agent_os_observability/dashboards.py +898 -0
  173. agent_os_observability/metrics.py +398 -0
  174. agent_os_observability/server.py +223 -0
  175. agent_os_observability/tracer.py +232 -0
  176. agent_primitives/__init__.py +24 -0
  177. agent_primitives/failures.py +84 -0
  178. agent_primitives/py.typed +0 -0
  179. amb_core/__init__.py +177 -0
  180. amb_core/adapters/__init__.py +57 -0
  181. amb_core/adapters/aws_sqs_broker.py +376 -0
  182. amb_core/adapters/azure_servicebus_broker.py +340 -0
  183. amb_core/adapters/kafka_broker.py +260 -0
  184. amb_core/adapters/nats_broker.py +285 -0
  185. amb_core/adapters/rabbitmq_broker.py +235 -0
  186. amb_core/adapters/redis_broker.py +262 -0
  187. amb_core/broker.py +145 -0
  188. amb_core/bus.py +481 -0
  189. amb_core/cloudevents.py +509 -0
  190. amb_core/dlq.py +345 -0
  191. amb_core/hf_utils.py +536 -0
  192. amb_core/memory_broker.py +410 -0
  193. amb_core/models.py +141 -0
  194. amb_core/persistence.py +529 -0
  195. amb_core/schema.py +294 -0
  196. amb_core/tracing.py +358 -0
  197. atr/__init__.py +640 -0
  198. atr/access.py +348 -0
  199. atr/composition.py +645 -0
  200. atr/decorator.py +357 -0
  201. atr/executor.py +384 -0
  202. atr/health.py +557 -0
  203. atr/hf_utils.py +449 -0
  204. atr/injection.py +422 -0
  205. atr/metrics.py +440 -0
  206. atr/policies.py +403 -0
  207. atr/py.typed +2 -0
  208. atr/registry.py +452 -0
  209. atr/schema.py +480 -0
  210. atr/tools/safe/__init__.py +75 -0
  211. atr/tools/safe/calculator.py +467 -0
  212. atr/tools/safe/datetime_tool.py +443 -0
  213. atr/tools/safe/file_reader.py +402 -0
  214. atr/tools/safe/http_client.py +316 -0
  215. atr/tools/safe/json_parser.py +374 -0
  216. atr/tools/safe/text_tool.py +537 -0
  217. atr/tools/safe/toolkit.py +175 -0
  218. caas/__init__.py +162 -0
  219. caas/api/__init__.py +7 -0
  220. caas/api/server.py +1328 -0
  221. caas/caching.py +834 -0
  222. caas/cli.py +210 -0
  223. caas/conversation.py +223 -0
  224. caas/decay.py +72 -0
  225. caas/detection/__init__.py +9 -0
  226. caas/detection/detector.py +238 -0
  227. caas/enrichment.py +130 -0
  228. caas/gateway/__init__.py +27 -0
  229. caas/gateway/trust_gateway.py +474 -0
  230. caas/hf_utils.py +479 -0
  231. caas/ingestion/__init__.py +23 -0
  232. caas/ingestion/processors.py +253 -0
  233. caas/ingestion/structure_parser.py +188 -0
  234. caas/models.py +356 -0
  235. caas/pragmatic_truth.py +444 -0
  236. caas/routing/__init__.py +10 -0
  237. caas/routing/heuristic_router.py +58 -0
  238. caas/storage/__init__.py +9 -0
  239. caas/storage/store.py +389 -0
  240. caas/triad.py +213 -0
  241. caas/tuning/__init__.py +9 -0
  242. caas/tuning/tuner.py +329 -0
  243. caas/vfs/__init__.py +14 -0
  244. caas/vfs/filesystem.py +452 -0
  245. cmvk/__init__.py +218 -0
  246. cmvk/audit.py +402 -0
  247. cmvk/benchmarks.py +478 -0
  248. cmvk/constitutional.py +904 -0
  249. cmvk/hf_utils.py +301 -0
  250. cmvk/metrics.py +473 -0
  251. cmvk/profiles.py +300 -0
  252. cmvk/py.typed +0 -0
  253. cmvk/types.py +12 -0
  254. cmvk/verification.py +956 -0
  255. emk/__init__.py +89 -0
  256. emk/causal.py +352 -0
  257. emk/hf_utils.py +421 -0
  258. emk/indexer.py +83 -0
  259. emk/py.typed +0 -0
  260. emk/schema.py +204 -0
  261. emk/sleep_cycle.py +347 -0
  262. emk/store.py +281 -0
  263. iatp/__init__.py +166 -0
  264. iatp/attestation.py +461 -0
  265. iatp/cli.py +317 -0
  266. iatp/hf_utils.py +472 -0
  267. iatp/ipc_pipes.py +580 -0
  268. iatp/main.py +412 -0
  269. iatp/models/__init__.py +447 -0
  270. iatp/policy_engine.py +337 -0
  271. iatp/py.typed +2 -0
  272. iatp/recovery.py +321 -0
  273. iatp/security/__init__.py +270 -0
  274. iatp/sidecar/__init__.py +519 -0
  275. iatp/telemetry/__init__.py +164 -0
  276. iatp/tests/__init__.py +1 -0
  277. iatp/tests/test_attestation.py +370 -0
  278. iatp/tests/test_cli.py +131 -0
  279. iatp/tests/test_ed25519_attestation.py +211 -0
  280. iatp/tests/test_models.py +130 -0
  281. iatp/tests/test_policy_engine.py +347 -0
  282. iatp/tests/test_recovery.py +281 -0
  283. iatp/tests/test_security.py +222 -0
  284. iatp/tests/test_sidecar.py +167 -0
  285. iatp/tests/test_telemetry.py +175 -0
  286. mcp_kernel_server/__init__.py +28 -0
  287. mcp_kernel_server/cli.py +274 -0
  288. mcp_kernel_server/resources.py +217 -0
  289. mcp_kernel_server/server.py +564 -0
  290. mcp_kernel_server/tools.py +1174 -0
  291. mute_agent/__init__.py +68 -0
  292. mute_agent/core/__init__.py +1 -0
  293. mute_agent/core/execution_agent.py +166 -0
  294. mute_agent/core/handshake_protocol.py +201 -0
  295. mute_agent/core/reasoning_agent.py +238 -0
  296. mute_agent/knowledge_graph/__init__.py +1 -0
  297. mute_agent/knowledge_graph/graph_elements.py +65 -0
  298. mute_agent/knowledge_graph/multidimensional_graph.py +170 -0
  299. mute_agent/knowledge_graph/subgraph.py +224 -0
  300. mute_agent/listener/__init__.py +43 -0
  301. mute_agent/listener/adapters/__init__.py +31 -0
  302. mute_agent/listener/adapters/base_adapter.py +189 -0
  303. mute_agent/listener/adapters/caas_adapter.py +344 -0
  304. mute_agent/listener/adapters/control_plane_adapter.py +436 -0
  305. mute_agent/listener/adapters/iatp_adapter.py +332 -0
  306. mute_agent/listener/adapters/scak_adapter.py +251 -0
  307. mute_agent/listener/listener.py +610 -0
  308. mute_agent/listener/state_observer.py +436 -0
  309. mute_agent/listener/threshold_config.py +313 -0
  310. mute_agent/super_system/__init__.py +1 -0
  311. mute_agent/super_system/router.py +204 -0
  312. mute_agent/visualization/__init__.py +10 -0
  313. mute_agent/visualization/graph_debugger.py +502 -0
  314. nexus/README.md +60 -0
  315. nexus/__init__.py +51 -0
  316. nexus/arbiter.py +359 -0
  317. nexus/client.py +466 -0
  318. nexus/dmz.py +444 -0
  319. nexus/escrow.py +430 -0
  320. nexus/exceptions.py +286 -0
  321. nexus/pyproject.toml +36 -0
  322. nexus/registry.py +393 -0
  323. nexus/reputation.py +425 -0
  324. nexus/schemas/__init__.py +51 -0
  325. nexus/schemas/compliance.py +276 -0
  326. nexus/schemas/escrow.py +251 -0
  327. nexus/schemas/manifest.py +225 -0
  328. nexus/schemas/receipt.py +208 -0
  329. nexus/tests/__init__.py +0 -0
  330. nexus/tests/conftest.py +146 -0
  331. nexus/tests/test_arbiter.py +192 -0
  332. nexus/tests/test_dmz.py +194 -0
  333. nexus/tests/test_escrow.py +276 -0
  334. nexus/tests/test_exceptions.py +225 -0
  335. nexus/tests/test_registry.py +232 -0
  336. nexus/tests/test_reputation.py +328 -0
  337. nexus/tests/test_schemas.py +295 -0
@@ -0,0 +1,387 @@
1
+ # Copyright (c) Microsoft Corporation.
2
+ # Licensed under the MIT License.
3
+ """
4
+ Protocol Interfaces - Integration Points for iatp, cmvk, and caas
5
+
6
+ This module defines the interfaces for integrating with the allowed
7
+ Layer 2 protocols:
8
+ - iatp: Inter-Agent Transport Protocol (message security)
9
+ - cmvk: Cryptographic Message Verification Kit (verification)
10
+ - caas: Context-as-a-Service (context routing)
11
+
12
+ Layer 3: The Framework
13
+ - These interfaces allow optional integration with Layer 2 protocols
14
+ - Implementations are injected at runtime, not hard-coded
15
+ """
16
+
17
+ from abc import ABC, abstractmethod
18
+ from typing import Any, Dict, List, Optional, Tuple
19
+ from dataclasses import dataclass, field
20
+ from enum import Enum
21
+ from datetime import datetime
22
+
23
+
24
+ # ============================================================================
25
+ # Message Security Interface (for iatp integration)
26
+ # ============================================================================
27
+
28
+ class SecurityLevel(Enum):
29
+ """Security levels for message passing"""
30
+ NONE = "none"
31
+ SIGNED = "signed"
32
+ ENCRYPTED = "encrypted"
33
+ SIGNED_ENCRYPTED = "signed_encrypted"
34
+
35
+
36
+ @dataclass
37
+ class SecureMessage:
38
+ """A secured message with optional encryption and signature"""
39
+ message_id: str
40
+ payload: Any
41
+ sender_id: str
42
+ recipient_id: str
43
+ timestamp: datetime
44
+ security_level: SecurityLevel = SecurityLevel.NONE
45
+ signature: Optional[bytes] = None
46
+ encrypted_payload: Optional[bytes] = None
47
+ metadata: Dict[str, Any] = field(default_factory=dict)
48
+
49
+
50
+ @dataclass
51
+ class SecurityValidationResult:
52
+ """Result of security validation"""
53
+ is_valid: bool
54
+ security_level: SecurityLevel
55
+ sender_verified: bool = False
56
+ integrity_verified: bool = False
57
+ decrypted_payload: Optional[Any] = None
58
+ errors: List[str] = field(default_factory=list)
59
+
60
+
61
+ class MessageSecurityInterface(ABC):
62
+ """
63
+ Abstract interface for message security (iatp integration).
64
+
65
+ This interface defines how to secure inter-agent messages.
66
+ Implementations can use iatp or any other security protocol.
67
+
68
+ Example Usage:
69
+ ```python
70
+ from agent_control_plane.interfaces import MessageSecurityInterface
71
+
72
+ class IATPMessageSecurity(MessageSecurityInterface):
73
+ def secure_message(self, message, security_level):
74
+ # Use iatp to secure the message
75
+ ...
76
+
77
+ control_plane.register_message_security(IATPMessageSecurity())
78
+ ```
79
+ """
80
+
81
+ @abstractmethod
82
+ def secure_message(
83
+ self,
84
+ message: Any,
85
+ sender_id: str,
86
+ recipient_id: str,
87
+ security_level: SecurityLevel = SecurityLevel.SIGNED_ENCRYPTED
88
+ ) -> SecureMessage:
89
+ """
90
+ Secure a message for transmission.
91
+
92
+ Args:
93
+ message: The message payload to secure
94
+ sender_id: ID of the sending agent
95
+ recipient_id: ID of the receiving agent
96
+ security_level: Desired security level
97
+
98
+ Returns:
99
+ SecureMessage with appropriate security applied
100
+ """
101
+ pass
102
+
103
+ @abstractmethod
104
+ def validate_message(self, secure_message: SecureMessage) -> SecurityValidationResult:
105
+ """
106
+ Validate a received secure message.
107
+
108
+ Args:
109
+ secure_message: The message to validate
110
+
111
+ Returns:
112
+ SecurityValidationResult with validation details
113
+ """
114
+ pass
115
+
116
+ @abstractmethod
117
+ def register_agent_keys(
118
+ self,
119
+ agent_id: str,
120
+ public_key: bytes,
121
+ key_type: str = "ed25519"
122
+ ) -> bool:
123
+ """
124
+ Register an agent's public key for verification.
125
+
126
+ Args:
127
+ agent_id: ID of the agent
128
+ public_key: Agent's public key
129
+ key_type: Type of key (default: ed25519)
130
+
131
+ Returns:
132
+ True if registration was successful
133
+ """
134
+ pass
135
+
136
+ def get_supported_security_levels(self) -> List[SecurityLevel]:
137
+ """Get supported security levels"""
138
+ return list(SecurityLevel)
139
+
140
+
141
+ # ============================================================================
142
+ # Verification Interface (for cmvk integration)
143
+ # ============================================================================
144
+
145
+ class VerificationType(Enum):
146
+ """Types of verification"""
147
+ SIGNATURE = "signature"
148
+ HASH = "hash"
149
+ HASH_CHAIN_PROOF = "hash_chain_proof"
150
+ ZERO_KNOWLEDGE = "zero_knowledge"
151
+
152
+
153
+ @dataclass
154
+ class VerificationRequest:
155
+ """Request for verification"""
156
+ request_id: str
157
+ data: Any
158
+ verification_type: VerificationType
159
+ expected_proof: Optional[bytes] = None
160
+ metadata: Dict[str, Any] = field(default_factory=dict)
161
+
162
+
163
+ @dataclass
164
+ class VerificationResult:
165
+ """Result of verification"""
166
+ is_verified: bool
167
+ verification_type: VerificationType
168
+ proof: Optional[bytes] = None
169
+ timestamp: datetime = field(default_factory=datetime.now)
170
+ details: Dict[str, Any] = field(default_factory=dict)
171
+ errors: List[str] = field(default_factory=list)
172
+
173
+
174
+ class VerificationInterface(ABC):
175
+ """
176
+ Abstract interface for cryptographic verification (cmvk integration).
177
+
178
+ This interface defines how to verify data integrity and authenticity.
179
+ Implementations can use cmvk or any other verification system.
180
+
181
+ Example Usage:
182
+ ```python
183
+ from agent_control_plane.interfaces import VerificationInterface
184
+
185
+ class CMVKVerifier(VerificationInterface):
186
+ def verify(self, request):
187
+ # Use cmvk for verification
188
+ ...
189
+
190
+ control_plane.register_verifier(CMVKVerifier())
191
+ ```
192
+ """
193
+
194
+ @abstractmethod
195
+ def create_proof(
196
+ self,
197
+ data: Any,
198
+ verification_type: VerificationType = VerificationType.SIGNATURE
199
+ ) -> bytes:
200
+ """
201
+ Create a verification proof for data.
202
+
203
+ Args:
204
+ data: The data to create proof for
205
+ verification_type: Type of verification to use
206
+
207
+ Returns:
208
+ Proof bytes
209
+ """
210
+ pass
211
+
212
+ @abstractmethod
213
+ def verify(self, request: VerificationRequest) -> VerificationResult:
214
+ """
215
+ Verify data against a proof.
216
+
217
+ Args:
218
+ request: The verification request
219
+
220
+ Returns:
221
+ VerificationResult with verification details
222
+ """
223
+ pass
224
+
225
+ @abstractmethod
226
+ def verify_chain(
227
+ self,
228
+ data_chain: List[Any],
229
+ proofs: List[bytes]
230
+ ) -> List[VerificationResult]:
231
+ """
232
+ Verify a chain of data items.
233
+
234
+ Args:
235
+ data_chain: List of data items
236
+ proofs: List of corresponding proofs
237
+
238
+ Returns:
239
+ List of verification results
240
+ """
241
+ pass
242
+
243
+ def get_supported_verification_types(self) -> List[VerificationType]:
244
+ """Get supported verification types"""
245
+ return [VerificationType.SIGNATURE, VerificationType.HASH]
246
+
247
+
248
+ # ============================================================================
249
+ # Context Routing Interface (for caas integration)
250
+ # ============================================================================
251
+
252
+ class RoutingStrategy(Enum):
253
+ """Routing strategies for context"""
254
+ ROUND_ROBIN = "round_robin"
255
+ LEAST_LOADED = "least_loaded"
256
+ CONTENT_BASED = "content_based"
257
+ CAPABILITY_BASED = "capability_based"
258
+ PRIORITY_BASED = "priority_based"
259
+
260
+
261
+ @dataclass
262
+ class ContextMetadata:
263
+ """Metadata about a context"""
264
+ context_id: str
265
+ content_type: str
266
+ size_bytes: int
267
+ created_at: datetime
268
+ tags: List[str] = field(default_factory=list)
269
+ attributes: Dict[str, Any] = field(default_factory=dict)
270
+
271
+
272
+ @dataclass
273
+ class RoutingContext:
274
+ """Context for routing decisions"""
275
+ request_id: str
276
+ content: Any
277
+ metadata: ContextMetadata
278
+ constraints: Dict[str, Any] = field(default_factory=dict)
279
+ preferences: Dict[str, Any] = field(default_factory=dict)
280
+
281
+
282
+ @dataclass
283
+ class RouteResult:
284
+ """Result of a routing operation"""
285
+ success: bool
286
+ target_id: str
287
+ strategy_used: RoutingStrategy
288
+ latency_ms: float = 0.0
289
+ fallback_targets: List[str] = field(default_factory=list)
290
+ metadata: Dict[str, Any] = field(default_factory=dict)
291
+
292
+
293
+ class ContextRoutingInterface(ABC):
294
+ """
295
+ Abstract interface for context routing (caas integration).
296
+
297
+ This interface defines how to route context to appropriate handlers.
298
+ Implementations can use caas or any other context routing system.
299
+
300
+ Example Usage:
301
+ ```python
302
+ from agent_control_plane.interfaces import ContextRoutingInterface
303
+
304
+ class CAASRouter(ContextRoutingInterface):
305
+ def route_context(self, context, available_handlers):
306
+ # Use caas for routing
307
+ ...
308
+
309
+ control_plane.register_context_router(CAASRouter())
310
+ ```
311
+ """
312
+
313
+ @abstractmethod
314
+ def route_context(
315
+ self,
316
+ context: RoutingContext,
317
+ available_handlers: List[str],
318
+ strategy: RoutingStrategy = RoutingStrategy.CAPABILITY_BASED
319
+ ) -> RouteResult:
320
+ """
321
+ Route context to an appropriate handler.
322
+
323
+ Args:
324
+ context: The context to route
325
+ available_handlers: List of available handler IDs
326
+ strategy: Routing strategy to use
327
+
328
+ Returns:
329
+ RouteResult with target and metadata
330
+ """
331
+ pass
332
+
333
+ @abstractmethod
334
+ def register_handler(
335
+ self,
336
+ handler_id: str,
337
+ capabilities: List[str],
338
+ capacity: int = 100,
339
+ metadata: Optional[Dict[str, Any]] = None
340
+ ) -> bool:
341
+ """
342
+ Register a context handler.
343
+
344
+ Args:
345
+ handler_id: ID of the handler
346
+ capabilities: List of content types/tags the handler can process
347
+ capacity: Maximum concurrent contexts
348
+ metadata: Optional handler metadata
349
+
350
+ Returns:
351
+ True if registration was successful
352
+ """
353
+ pass
354
+
355
+ @abstractmethod
356
+ def unregister_handler(self, handler_id: str) -> bool:
357
+ """
358
+ Unregister a context handler.
359
+
360
+ Args:
361
+ handler_id: ID of the handler to unregister
362
+
363
+ Returns:
364
+ True if unregistration was successful
365
+ """
366
+ pass
367
+
368
+ @abstractmethod
369
+ def get_handler_status(self, handler_id: str) -> Dict[str, Any]:
370
+ """
371
+ Get status of a registered handler.
372
+
373
+ Args:
374
+ handler_id: ID of the handler
375
+
376
+ Returns:
377
+ Handler status dictionary
378
+ """
379
+ pass
380
+
381
+ def get_routing_statistics(self) -> Dict[str, Any]:
382
+ """Get routing statistics"""
383
+ return {}
384
+
385
+ def get_supported_strategies(self) -> List[RoutingStrategy]:
386
+ """Get supported routing strategies"""
387
+ return list(RoutingStrategy)