agentops-cockpit 0.4.1__py3-none-any.whl → 0.9.5__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.
- agent_ops_cockpit/agent.py +137 -0
- agent_ops_cockpit/cli/main.py +114 -11
- agent_ops_cockpit/eval/load_test.py +15 -10
- agent_ops_cockpit/eval/quality_climber.py +23 -5
- agent_ops_cockpit/eval/red_team.py +16 -10
- agent_ops_cockpit/mcp_server.py +132 -0
- agent_ops_cockpit/ops/arch_review.py +125 -59
- agent_ops_cockpit/ops/cost_optimizer.py +0 -1
- agent_ops_cockpit/ops/evidence_bridge.py +132 -0
- agent_ops_cockpit/ops/frameworks.py +79 -10
- agent_ops_cockpit/ops/mcp_hub.py +1 -2
- agent_ops_cockpit/ops/orchestrator.py +363 -49
- agent_ops_cockpit/ops/pii_scrubber.py +1 -1
- agent_ops_cockpit/ops/policies.json +26 -0
- agent_ops_cockpit/ops/policy_engine.py +85 -0
- agent_ops_cockpit/ops/reliability.py +30 -10
- agent_ops_cockpit/ops/secret_scanner.py +10 -3
- agent_ops_cockpit/ops/ui_auditor.py +91 -96
- agent_ops_cockpit/ops/watcher.py +138 -0
- agent_ops_cockpit/ops/watchlist.json +88 -0
- agent_ops_cockpit/optimizer.py +380 -158
- agent_ops_cockpit/shadow/router.py +7 -8
- agent_ops_cockpit/system_prompt.md +13 -0
- agent_ops_cockpit/tests/golden_set.json +52 -0
- agent_ops_cockpit/tests/test_agent.py +34 -0
- agent_ops_cockpit/tests/test_arch_review.py +45 -0
- agent_ops_cockpit/tests/test_frameworks.py +100 -0
- agent_ops_cockpit/tests/test_optimizer.py +68 -0
- agent_ops_cockpit/tests/test_quality_climber.py +18 -0
- agent_ops_cockpit/tests/test_red_team.py +35 -0
- agent_ops_cockpit/tests/test_secret_scanner.py +24 -0
- agentops_cockpit-0.9.5.dist-info/METADATA +246 -0
- agentops_cockpit-0.9.5.dist-info/RECORD +47 -0
- {agentops_cockpit-0.4.1.dist-info → agentops_cockpit-0.9.5.dist-info}/entry_points.txt +1 -0
- agentops_cockpit-0.4.1.dist-info/METADATA +0 -171
- agentops_cockpit-0.4.1.dist-info/RECORD +0 -31
- {agentops_cockpit-0.4.1.dist-info → agentops_cockpit-0.9.5.dist-info}/WHEEL +0 -0
- {agentops_cockpit-0.4.1.dist-info → agentops_cockpit-0.9.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentops-cockpit
|
|
3
|
+
Version: 0.9.5
|
|
4
|
+
Summary: Production-grade Agent Operations (AgentOps) Platform
|
|
5
|
+
Project-URL: Homepage, https://github.com/enriquekalven/agent-ops-cockpit
|
|
6
|
+
Project-URL: Bug Tracker, https://github.com/enriquekalven/agent-ops-cockpit/issues
|
|
7
|
+
Author-email: Enrique <enrique@example.com>
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
14
|
+
Requires-Dist: fastapi>=0.100.0
|
|
15
|
+
Requires-Dist: gitpython>=3.1.0
|
|
16
|
+
Requires-Dist: mcp>=0.1.0
|
|
17
|
+
Requires-Dist: packaging>=23.0
|
|
18
|
+
Requires-Dist: pydantic>=2.0.0
|
|
19
|
+
Requires-Dist: rich>=13.0.0
|
|
20
|
+
Requires-Dist: tenacity>=8.0.0
|
|
21
|
+
Requires-Dist: typer>=0.9.0
|
|
22
|
+
Requires-Dist: uvicorn>=0.20.0
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# 🕹️ AgentOps Cockpit
|
|
26
|
+
|
|
27
|
+
<div align="center">
|
|
28
|
+
<img src="public/assets/trinity.png" alt="AgentOps Cockpit Trinity" width="100%" />
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div align="center">
|
|
32
|
+
<br />
|
|
33
|
+
<a href="https://agent-cockpit.web.app" target="_blank"><strong>🌐 Official Website & Live Demo</strong></a>
|
|
34
|
+
<br /><br />
|
|
35
|
+
<a href="https://deploy.cloud.google.com?repo=https://github.com/enriquekalven/agent-cockpit">
|
|
36
|
+
<img src="https://deploy.cloud.google.com/button.svg" alt="Deploy to Google Cloud" />
|
|
37
|
+
</a>
|
|
38
|
+
<br />
|
|
39
|
+
<br />
|
|
40
|
+
<img src="https://img.shields.io/github/stars/enriquekalven/agent-cockpit?style=for-the-badge&color=ffd700" alt="GitHub Stars" />
|
|
41
|
+
<img src="https://img.shields.io/github/license/enriquekalven/agent-cockpit?style=for-the-badge&color=007bff" alt="License" />
|
|
42
|
+
<img src="https://img.shields.io/badge/Google-Well--Architected-4285F4?style=for-the-badge&logo=google-cloud" alt="Google Well-Architected" />
|
|
43
|
+
<img src="https://img.shields.io/badge/A2A_Standard-Enabled-10b981?style=for-the-badge" alt="A2A Standard" />
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<br />
|
|
47
|
+
|
|
48
|
+
<div align="center">
|
|
49
|
+
<h3>"Infrastructure gives you the pipes. We give you the Intelligence."</h3>
|
|
50
|
+
<p>The developer distribution for building, optimizing, and securing AI agents on Google Cloud.</p>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 📽️ The Mission
|
|
56
|
+
Most AI agent templates stop at a single Python file and an API key. **The AgentOps Cockpit** is for developers moving into production. It provides framework-agnostic governance, safety, and cost guardrails for the entire agentic ecosystem.
|
|
57
|
+
|
|
58
|
+
- **Governance-as-Code**: Audit your agent against [Google Well-Architected](/docs/google-architecture) best practices with the **Evidence Bridge**—real-time citations for architectural integrity.
|
|
59
|
+
- **SME Persona Audits**: Parallelized review of your codebase by automated "Principal SMEs" across FinOps, SecOps, and Architecture.
|
|
60
|
+
- **Agentic Trinity**: Dedicated layers for the Engine (Logic), Face (UX), and Cockpit (Ops).
|
|
61
|
+
- **A2A Connectivity**: Implements the [Agent-to-Agent Transmission Standard](/A2A_GUIDE.md) for secure swarm orchestration.
|
|
62
|
+
- **MCP Native**: Registration as a [Model Context Protocol](https://modelcontextprotocol.io) server for 1P/2P/3P tool consumption.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 🏗️ The Agentic Trinity
|
|
67
|
+
We divide the complexity of production agents into three focused pillars:
|
|
68
|
+
|
|
69
|
+
```mermaid
|
|
70
|
+
graph LR
|
|
71
|
+
subgraph Trinity [The Agentic Trinity]
|
|
72
|
+
E(The Engine: Reasoning)
|
|
73
|
+
F(The Face: Interface)
|
|
74
|
+
C(The Cockpit: Operations)
|
|
75
|
+
end
|
|
76
|
+
E <--> C
|
|
77
|
+
F <--> C
|
|
78
|
+
E <--> F
|
|
79
|
+
style Trinity fill:#f9f9f9,stroke:#333,stroke-width:2px
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- **⚙️ The Engine**: The reasoning core. Built with **ADK**, FastAPI, and Vertex AI.
|
|
83
|
+
- **🎭 The Face**: The user experience. Adaptive UI surfaces and **GenUI** standards via the A2UI spec.
|
|
84
|
+
- **🕹️ The Cockpit**: The operational brain. Cost control, semantic caching, shadow routing, and adversarial audits.
|
|
85
|
+
|
|
86
|
+
<div align="center">
|
|
87
|
+
<img src="public/assets/ecosystem.png" alt="Ecosystem Integrations" width="100%" />
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 🌐 Framework Agnostic Governance
|
|
93
|
+
The Cockpit isn't just for ADK. It provides **Best Practices as Code** across all major agentic frameworks:
|
|
94
|
+
|
|
95
|
+
<div align="center">
|
|
96
|
+
<img src="https://img.shields.io/badge/OpenAI_Agentkit-412991?style=for-the-badge&logo=openai" alt="OpenAI Agentkit" />
|
|
97
|
+
<img src="https://img.shields.io/badge/Anthropic_Claude-D97757?style=for-the-badge&logo=anthropic" alt="Anthropic" />
|
|
98
|
+
<img src="https://img.shields.io/badge/Microsoft_AutoGen-0078d4?style=for-the-badge&logo=microsoft" alt="Microsoft" />
|
|
99
|
+
<img src="https://img.shields.io/badge/AWS_Bedrock-FF9900?style=for-the-badge&logo=amazon-aws" alt="AWS" />
|
|
100
|
+
<img src="https://img.shields.io/badge/CopilotKit.ai-6366f1?style=for-the-badge" alt="CopilotKit" />
|
|
101
|
+
<img src="https://img.shields.io/badge/LangChain-1C3C3C?style=for-the-badge" alt="LangChain" />
|
|
102
|
+
<img src="https://img.shields.io/badge/ADK-4285F4?style=for-the-badge&logo=google-cloud" alt="ADK" />
|
|
103
|
+
<img src="public/assets/workflow.png" alt="Operational Workflow" width="100%" />
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
## 🛠️ Operational Flow
|
|
107
|
+
|
|
108
|
+
```mermaid
|
|
109
|
+
sequenceDiagram
|
|
110
|
+
participant U as User
|
|
111
|
+
participant C as Cockpit
|
|
112
|
+
participant E as Engine
|
|
113
|
+
participant F as Face
|
|
114
|
+
|
|
115
|
+
U->>C: Prompt / Input
|
|
116
|
+
C->>C: Policy Audit (RFC-307)
|
|
117
|
+
C->>E: Execute Logic / Tools
|
|
118
|
+
E->>C: Action Proposals
|
|
119
|
+
C->>E: Approve (HITL)
|
|
120
|
+
E->>F: GenUI Metadata
|
|
121
|
+
F->>U: Reactive Surface (A2UI)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
<br />
|
|
125
|
+
|
|
126
|
+
<div align="center">
|
|
127
|
+
<img src="https://img.shields.io/badge/Python-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python" />
|
|
128
|
+
<img src="https://img.shields.io/badge/Go-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go" />
|
|
129
|
+
<img src="https://img.shields.io/badge/NodeJS-339933?style=flat-square&logo=node.js&logoColor=white" alt="NodeJS" />
|
|
130
|
+
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
131
|
+
<img src="https://img.shields.io/badge/Streamlit-FF4B4B?style=flat-square&logo=streamlit&logoColor=white" alt="Streamlit" />
|
|
132
|
+
<img src="https://img.shields.io/badge/Angular-DD0031?style=flat-square&logo=angular&logoColor=white" alt="Angular" />
|
|
133
|
+
<img src="https://img.shields.io/badge/Lit-324FFF?style=flat-square&logo=lit&logoColor=white" alt="Lit" />
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
Whether you are building a swarm in **CrewAI**, a Go-based high-perf engine, or a **Streamlit** dashboard, the Cockpit ensures your agent maps to the **Google Well-Architected Framework**.
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 🚀 Key Innovation: The "Intelligence" Layer
|
|
142
|
+
|
|
143
|
+
### 🛡️ Red Team Auditor (Self-Hacking)
|
|
144
|
+
Don't wait for your users to find prompt injections. Use the built-in Adversarial Evaluator to launch self-attacks against your agent, testing for PII leaks, instruction overrides, and safety filter bypasses.
|
|
145
|
+
|
|
146
|
+
### 🧠 Hive Mind (Semantic Caching)
|
|
147
|
+
**Reduce LLM costs by up to 40%.** The Hive Mind checks for semantically similar queries in 10ms, serving cached answers for common questions without calling the LLM.
|
|
148
|
+
|
|
149
|
+
### 🏛️ Arch Review & Framework Detection
|
|
150
|
+
Every agent in the cockpit is graded against a framework-aware checklist. The Cockpit intelligently detects your stack—**Google ADK**, **OpenAI Agentkit**, **Anthropic Claude**, **Microsoft AutoGen/Semantic Kernel**, **AWS Bedrock Agents**, or **CopilotKit**—and runs a tailored audit against corresponding production standards. Use `make arch-review` to verify your **Governance-as-Code**.
|
|
151
|
+
|
|
152
|
+
### 🕹️ MCP Connectivity Hub (Model Context Protocol)
|
|
153
|
+
Stop building one-off tool integrations. The Cockpit provides a unified hub for **MCP Servers**. Connect to Google Search, Slack, or your internal databases via the standardized Model Context Protocol for secure, audited tool execution. Start the server with `make mcp-serve`.
|
|
154
|
+
|
|
155
|
+
### 🗄️ Situational Database Audits
|
|
156
|
+
The Cockpit now performs platform-specific performance and security audits for:
|
|
157
|
+
- **AlloyDB**: Optimizes for the **Columnar Engine** (100x query speedup).
|
|
158
|
+
- **Pinecone**: Suggests **gRPC** and **Namespace Isolation** for high-perf RAG.
|
|
159
|
+
- **BigQuery**: Suggests **BQ Vector Search** for serverless, cost-effective grounding.
|
|
160
|
+
- **Cloud SQL**: Enforces **IAM-based authentication** via the official Python Connector.
|
|
161
|
+
|
|
162
|
+
### 🧗 Quality Hill Climbing (ADK Evaluation)
|
|
163
|
+
Following **Google ADK Evaluation** best practices, the Cockpit provides an iterative optimization loop. `make quality-baseline` runs your agent against a "Golden Dataset" using **LLM-as-a-Judge** scoring (Response Match & Tool Trajectory), climbing the quality curve until production-grade fidelity is reached.
|
|
164
|
+
|
|
165
|
+
### 🛑 Mandatory Governance Enforcement (NEW)
|
|
166
|
+
The Cockpit now acts as a mandatory gate for production.
|
|
167
|
+
- **Blocking CI/CD**: GitHub Actions now fail if **High Impact** cost issues or **Red Team** security vulnerabilities are detected.
|
|
168
|
+
- **Build-Time Audit**: The `Dockerfile` includes a mandatory `RUN` audit step. If your agent is not "Well-Architected," the container image will fail to build.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## ⌨️ Quick Start
|
|
173
|
+
|
|
174
|
+
The Cockpit is available as a first-class CLI on PyPI.
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 1. Install the Cockpit globally
|
|
178
|
+
pip install agentops-cockpit
|
|
179
|
+
|
|
180
|
+
# 2. Run Global Audit (Produces unified report)
|
|
181
|
+
agent-ops report --mode quick # ⚡ Quick Safe-Build
|
|
182
|
+
agent-ops report --mode deep # 🚀 Full System Audit
|
|
183
|
+
|
|
184
|
+
# 3. Guardrail Policy Audit (RFC-307)
|
|
185
|
+
agent-ops policy-audit --text "How to make a bomb?"
|
|
186
|
+
|
|
187
|
+
# 4. Global Scaffolding
|
|
188
|
+
agent-ops-cockpit create <name> --ui a2ui
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 🔍 Agent Optimizer v2 (Situational Intelligence)
|
|
192
|
+
The Cockpit doesn't just look for generic waste. It now performs **Triple-State Analysis**:
|
|
193
|
+
- **Legacy Workarounds**: Suggests situational fixes for older SDK versions (e.g., manual prompt pruning).
|
|
194
|
+
- **Modernization Paths**: Highlights native performance gains (e.g., 90% cost reduction via Context Caching) available in latest SDKs.
|
|
195
|
+
- **Conflict Guard**: Real-time cross-package validation to prevent architectural deadlocks (e.g., CrewAI vs LangGraph state loops).
|
|
196
|
+
|
|
197
|
+
### ⚡ Quick-Safe Build (12x Faster Loops)
|
|
198
|
+
Development velocity shouldn't sacrifice safety. The new `--quick` mode in the auditor reduces check latency from **1.8s to 0.15s**, providing sub-second feedback while maintaining the integrity of the Conflict Guard and Architecture Review.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### 🧑💼 Principal SME Persona Approvals
|
|
203
|
+
The Cockpit now features a **Multi-Persona Governance Board**. Every audit result is framed through the lens of a Principal Engineer in that domain (Security, Legal, FinOps, UX), ensuring your agent is compliant with organizational standards.
|
|
204
|
+
|
|
205
|
+
### 📄 Export & Reporting
|
|
206
|
+
* **HTML/PDF Export**: Every audit automatically generates `cockpit_report.html`, a premium, printable report ready for PDF export.
|
|
207
|
+
* **Email Reports**: Send audit results directly to stakeholders via the CLI.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 📊 Local Development
|
|
212
|
+
The Cockpit provides a unified "Mission Control" to evaluate your agents instantly.
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
make audit # 🕹️ Run Master Audit (Persona Approved)
|
|
216
|
+
make audit-deep # 🚀 Run Deep Audit (Full SME Verdicts)
|
|
217
|
+
make email-report # 📧 Email the latest result to a stakeholder
|
|
218
|
+
make diagnose # 🩺 Run environment health check
|
|
219
|
+
make optimizer-audit # 🔍 Run Optimizer on specific agent files
|
|
220
|
+
make reliability # 🛡️ Run unit tests and regression suite
|
|
221
|
+
make dev # Start the local Engine + Face stack
|
|
222
|
+
make arch-review # 🏛️ Run the Google Well-Architected design review
|
|
223
|
+
make quality-baseline # 🧗 Run iterative 'Hill Climbing' quality audit
|
|
224
|
+
make red-team # Execute a white-hat security audit
|
|
225
|
+
make deploy-prod # 🚀 1-click deploy to Google Cloud
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 🧭 Roadmap
|
|
231
|
+
- [x] **One-Click GitHub Action**: Automated governance audits on every PR.
|
|
232
|
+
- [x] **Mandatory Build Gates**: Blocking CI/CD and Container audits for production safety.
|
|
233
|
+
- [x] **Multi-Agent Orchestrator**: Standardized A2A Swarm/Coordinator patterns.
|
|
234
|
+
- [ ] **Visual Mission Control**: Real-time cockpit observability dashboard.
|
|
235
|
+
|
|
236
|
+
[View full roadmap →](/ROADMAP.md)
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 🤝 Community
|
|
241
|
+
- **Star this repo** to help us build the future of AgentOps.
|
|
242
|
+
- **Join the Discussion** for patterns on Google Cloud.
|
|
243
|
+
- **Contribute**: Read our [Contributing Guide](/CONTRIBUTING.md).
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
*Reference: [Google Cloud Architecture Center - Agentic AI Overview](https://docs.cloud.google.com/architecture/agentic-ai-overview)*
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
agent_ops_cockpit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
agent_ops_cockpit/agent.py,sha256=eKtDSSa44YU8nr7oeg6t3FsVqFMgdc1UXUR0R-jfNTE,4955
|
|
3
|
+
agent_ops_cockpit/cost_control.py,sha256=eO8-3ggK1Kr9iA7S_GURXqUIsDHYyqXF_bBkmCJe_tM,2333
|
|
4
|
+
agent_ops_cockpit/mcp_server.py,sha256=LCVHfNWwqZ0wbrM7375DXt7S-jnLClN2d8B1SP9nK_Q,4873
|
|
5
|
+
agent_ops_cockpit/optimizer.py,sha256=FbCc2lb8rYEzdN0mTfNWv_VaF_YL_NeVRwswfFwjEbw,23787
|
|
6
|
+
agent_ops_cockpit/system_prompt.md,sha256=VlkU4BYDajUoMypkVBRNyeOWre0cUoEgcQHuyVw7TkA,733
|
|
7
|
+
agent_ops_cockpit/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
agent_ops_cockpit/cache/semantic_cache.py,sha256=HwOO3Mehk8itUpluRKHkF07g25AbM-PC0vGBSfoRyiE,2046
|
|
9
|
+
agent_ops_cockpit/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
agent_ops_cockpit/cli/main.py,sha256=oH3zNV8wHq_fIS29_UjUXb0Ot4Lqd9kDpYWNy5VTIy8,11973
|
|
11
|
+
agent_ops_cockpit/eval/__init__.py,sha256=X68nLTYCIbL3U065CSdodzaCTmL94Rf442gV2DoR4E8,23
|
|
12
|
+
agent_ops_cockpit/eval/load_test.py,sha256=z7sgnYTUls_7mOAhxECwIdsUiXLmxwyG0ucizoy2Kp0,3724
|
|
13
|
+
agent_ops_cockpit/eval/quality_climber.py,sha256=G225BfHDxzxE09jUC2AugvoOMqWNzQsOAk-hQFxNR4s,5635
|
|
14
|
+
agent_ops_cockpit/eval/red_team.py,sha256=t3cMXssNI18Rc4BnHSk7jmxBza9Evt6qLbsjnz44uKE,3727
|
|
15
|
+
agent_ops_cockpit/ops/__init__.py,sha256=YBoDCVs7NvNbjK-kBaFckUTcmd5RBafn0tnsoMR6EFs,22
|
|
16
|
+
agent_ops_cockpit/ops/arch_review.py,sha256=NB1JMp5sSvzgKxil1d1Nc0YkXt_i8B2uuymLOtrc2nU,9253
|
|
17
|
+
agent_ops_cockpit/ops/cost_optimizer.py,sha256=V7ysXhfEM6ziy_sSc2imUu1LdQBcnNkUEaiwdAAggRA,1430
|
|
18
|
+
agent_ops_cockpit/ops/evidence.py,sha256=LRAW57c-2R4ICiMLtc-JA1Tu5dlfO9-VBSUMc3TCLuo,1051
|
|
19
|
+
agent_ops_cockpit/ops/evidence_bridge.py,sha256=0htW4gtGAQ9S0UoMZJMXXuuNEaJDo_LvtmPT1sJXx4M,5213
|
|
20
|
+
agent_ops_cockpit/ops/frameworks.py,sha256=zd2FhclQ_d5n342ZHA1Sm9UJQ950PN5IX39HK1h5u7c,23316
|
|
21
|
+
agent_ops_cockpit/ops/mcp_hub.py,sha256=3yGi8CEtCZXKG7-OJQyyweFHk2iyF3LaG-v6e9AZ7xI,3162
|
|
22
|
+
agent_ops_cockpit/ops/memory_optimizer.py,sha256=whsKhAuJkEJRa2dxfVeJC_xxwDwKjhx5tnmOmkiKgIQ,1635
|
|
23
|
+
agent_ops_cockpit/ops/orchestrator.py,sha256=ncsSUz3vB6eT_3apdBnFT_KJ80VgwGvUGcQIF8IAPjA,20077
|
|
24
|
+
agent_ops_cockpit/ops/pii_scrubber.py,sha256=7YiX7tTI-hLCiDXd4vKonOo0byg7kswRn0aInepzrjU,1518
|
|
25
|
+
agent_ops_cockpit/ops/policies.json,sha256=yhQz9MZbSlb8rNXMzVW3qcTOBNjNXB5XqQjR9p_GqnA,568
|
|
26
|
+
agent_ops_cockpit/ops/policy_engine.py,sha256=t9Vm-u0AqsipY2ZhSd2_x-s9VoDeA3H3MACIuvUr4hg,3743
|
|
27
|
+
agent_ops_cockpit/ops/reliability.py,sha256=BYgiD7NPO_KKyQzoJ6Zai9IsrMKjPKazXEJwQC54PSo,2908
|
|
28
|
+
agent_ops_cockpit/ops/secret_scanner.py,sha256=5NEwHy09iuvneM1XJj7_23LwkJ2_SFJa_ztKisW7oA4,3584
|
|
29
|
+
agent_ops_cockpit/ops/swarm.py,sha256=wptxkdz-ORr4hqmMeQ3tiqw93U4y4XDBtu4xdVToqeQ,2457
|
|
30
|
+
agent_ops_cockpit/ops/ui_auditor.py,sha256=P3IuIr_RAJQrv57pFIEMTGpK7TF-etHIVm993tEgCXo,6023
|
|
31
|
+
agent_ops_cockpit/ops/watcher.py,sha256=krkKs74g4QlUf7_n18QjM5zJ14s151Nr6PXlwjDWW-A,5389
|
|
32
|
+
agent_ops_cockpit/ops/watchlist.json,sha256=hNv0E2U6D3dAn_yXttnyXETdhVJ4rg9mdEsUA-dT2Uc,3115
|
|
33
|
+
agent_ops_cockpit/shadow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
agent_ops_cockpit/shadow/router.py,sha256=XB87GEZKONY3SuXpalKFwuzfDEyXRn9wLZqbsyB-f_o,2684
|
|
35
|
+
agent_ops_cockpit/tests/golden_set.json,sha256=dWpYdINQBnZiuhFSxnJfp_oHivPzTAoQf6nuxiPpzao,3446
|
|
36
|
+
agent_ops_cockpit/tests/test_agent.py,sha256=kk9QT2bywvC8bDy8iqQF8mExHXwYRAqPTCPY1MYH_Xo,1232
|
|
37
|
+
agent_ops_cockpit/tests/test_arch_review.py,sha256=lxxNDkAHl3M9rYCNHXgI56ec0B4x8EOeKfBWzy8hzn4,1517
|
|
38
|
+
agent_ops_cockpit/tests/test_frameworks.py,sha256=8DaiWba6WnAQ6wXj3ZG1nvUxY6y2_PLQOboTk_z4ayc,3075
|
|
39
|
+
agent_ops_cockpit/tests/test_optimizer.py,sha256=UNgAUhYGWejYpUO-L-1V-rgAjmXNftVMsR9JJrfw1Sg,2680
|
|
40
|
+
agent_ops_cockpit/tests/test_quality_climber.py,sha256=pADH9YZiTsK00f-4b3jLjVLrIiUyl-yj87SbzQgm4Lg,679
|
|
41
|
+
agent_ops_cockpit/tests/test_red_team.py,sha256=hTJtZcHz8TfGwtvOjLwjLoW7jwRygeXc7HB2Ir0I46c,1127
|
|
42
|
+
agent_ops_cockpit/tests/test_secret_scanner.py,sha256=QjhngOMBPFBD8AckiBKzQsGARYgCyAji4GL-kkZBZkg,946
|
|
43
|
+
agentops_cockpit-0.9.5.dist-info/METADATA,sha256=z75eYo-DirRhFSA19luMUPTSlLoU_4gCtUdvspZWYV4,12228
|
|
44
|
+
agentops_cockpit-0.9.5.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
45
|
+
agentops_cockpit-0.9.5.dist-info/entry_points.txt,sha256=suNKteVr6LDBA2FXiepe029Ox6f4yZsbQ1Fy7d_zyzc,162
|
|
46
|
+
agentops_cockpit-0.9.5.dist-info/licenses/LICENSE,sha256=XNJEk4bvf88tBnKqHdGBGi10l9yJWv2yLWPJvvVie1c,1071
|
|
47
|
+
agentops_cockpit-0.9.5.dist-info/RECORD,,
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: agentops-cockpit
|
|
3
|
-
Version: 0.4.1
|
|
4
|
-
Summary: Production-grade Agent Operations (AgentOps) Platform
|
|
5
|
-
Project-URL: Homepage, https://github.com/enriquekalven/agent-ops-cockpit
|
|
6
|
-
Project-URL: Bug Tracker, https://github.com/enriquekalven/agent-ops-cockpit/issues
|
|
7
|
-
Author-email: Enrique <enrique@example.com>
|
|
8
|
-
License-File: LICENSE
|
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Requires-Python: >=3.10
|
|
13
|
-
Requires-Dist: gitpython>=3.1.0
|
|
14
|
-
Requires-Dist: mcp>=0.1.0
|
|
15
|
-
Requires-Dist: rich>=13.0.0
|
|
16
|
-
Requires-Dist: typer>=0.9.0
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
|
|
19
|
-
# 🕹️ AgentOps Cockpit
|
|
20
|
-
|
|
21
|
-
<div align="center">
|
|
22
|
-
<img src="https://raw.githubusercontent.com/enriquekalven/agent-cockpit/main/public/og-image.png" alt="AgentOps Cockpit Social Preview" width="100%" />
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
<div align="center">
|
|
26
|
-
<br />
|
|
27
|
-
<a href="https://agent-cockpit.web.app" target="_blank"><strong>🌐 Official Website & Live Demo</strong></a>
|
|
28
|
-
<br /><br />
|
|
29
|
-
<a href="https://deploy.cloud.google.com?repo=https://github.com/enriquekalven/agent-cockpit">
|
|
30
|
-
<img src="https://deploy.cloud.google.com/button.svg" alt="Deploy to Google Cloud" />
|
|
31
|
-
</a>
|
|
32
|
-
<br />
|
|
33
|
-
<br />
|
|
34
|
-
<img src="https://img.shields.io/github/stars/enriquekalven/agent-cockpit?style=for-the-badge&color=ffd700" alt="GitHub Stars" />
|
|
35
|
-
<img src="https://img.shields.io/github/license/enriquekalven/agent-cockpit?style=for-the-badge&color=007bff" alt="License" />
|
|
36
|
-
<img src="https://img.shields.io/badge/Google-Well--Architected-4285F4?style=for-the-badge&logo=google-cloud" alt="Google Well-Architected" />
|
|
37
|
-
<img src="https://img.shields.io/badge/A2A_Standard-Enabled-10b981?style=for-the-badge" alt="A2A Standard" />
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<br />
|
|
41
|
-
|
|
42
|
-
<div align="center">
|
|
43
|
-
<h3>"Infrastructure gives you the pipes. We give you the Intelligence."</h3>
|
|
44
|
-
<p>The developer distribution for building, optimizing, and securing AI agents on Google Cloud.</p>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 📽️ The Mission
|
|
50
|
-
Most AI agent templates stop at a single Python file and an API key. **The AgentOps Cockpit** is for developers moving into production. It provides framework-agnostic governance, safety, and cost guardrails for the entire agentic ecosystem.
|
|
51
|
-
|
|
52
|
-
### Key Pillars:
|
|
53
|
-
- **Governance-as-Code**: Audit your agent against [Google Well-Architected](/docs/google-architecture) best practices.
|
|
54
|
-
- **Agentic Trinity**: Dedicated layers for the Engine (Logic), Face (UX), and Cockpit (Ops).
|
|
55
|
-
- **A2A Connectivity**: Implements the [Agent-to-Agent Transmission Standard](/A2A_GUIDE.md) for secure swarm orchestration.
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 🏗️ The Agentic Trinity
|
|
60
|
-
We divide the complexity of production agents into three focused pillars:
|
|
61
|
-
|
|
62
|
-
- **⚙️ The Engine**: The reasoning core. Built with **ADK**, FastAPI, and Vertex AI.
|
|
63
|
-
- **🎭 The Face**: The user experience. Adaptive UI surfaces and **GenUI** standards via the A2UI spec.
|
|
64
|
-
- **🕹️ The Cockpit**: The operational brain. Cost control, semantic caching, shadow routing, and adversarial audits.
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## 🌐 Framework Agnostic Governance
|
|
69
|
-
The Cockpit isn't just for ADK. It provides **Best Practices as Code** across all major agentic frameworks:
|
|
70
|
-
|
|
71
|
-
<div align="center">
|
|
72
|
-
<img src="https://img.shields.io/badge/OpenAI_Agentkit-412991?style=for-the-badge&logo=openai" alt="OpenAI Agentkit" />
|
|
73
|
-
<img src="https://img.shields.io/badge/Anthropic_Claude-D97757?style=for-the-badge&logo=anthropic" alt="Anthropic" />
|
|
74
|
-
<img src="https://img.shields.io/badge/Microsoft_AutoGen-0078d4?style=for-the-badge&logo=microsoft" alt="Microsoft" />
|
|
75
|
-
<img src="https://img.shields.io/badge/AWS_Bedrock-FF9900?style=for-the-badge&logo=amazon-aws" alt="AWS" />
|
|
76
|
-
<img src="https://img.shields.io/badge/CopilotKit.ai-6366f1?style=for-the-badge" alt="CopilotKit" />
|
|
77
|
-
<img src="https://img.shields.io/badge/LangChain-1C3C3C?style=for-the-badge" alt="LangChain" />
|
|
78
|
-
<img src="https://img.shields.io/badge/ADK-4285F4?style=for-the-badge&logo=google-cloud" alt="ADK" />
|
|
79
|
-
</div>
|
|
80
|
-
|
|
81
|
-
<div align="center">
|
|
82
|
-
<img src="https://img.shields.io/badge/Python-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python" />
|
|
83
|
-
<img src="https://img.shields.io/badge/Go-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go" />
|
|
84
|
-
<img src="https://img.shields.io/badge/NodeJS-339933?style=flat-square&logo=node.js&logoColor=white" alt="NodeJS" />
|
|
85
|
-
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
86
|
-
<img src="https://img.shields.io/badge/Streamlit-FF4B4B?style=flat-square&logo=streamlit&logoColor=white" alt="Streamlit" />
|
|
87
|
-
<img src="https://img.shields.io/badge/Angular-DD0031?style=flat-square&logo=angular&logoColor=white" alt="Angular" />
|
|
88
|
-
<img src="https://img.shields.io/badge/Lit-324FFF?style=flat-square&logo=lit&logoColor=white" alt="Lit" />
|
|
89
|
-
</div>
|
|
90
|
-
|
|
91
|
-
Whether you are building a swarm in **CrewAI**, a Go-based high-perf engine, or a **Streamlit** dashboard, the Cockpit ensures your agent maps to the **Google Well-Architected Framework**.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## 🚀 Key Innovation: The "Intelligence" Layer
|
|
97
|
-
|
|
98
|
-
### 🛡️ Red Team Auditor (Self-Hacking)
|
|
99
|
-
Don't wait for your users to find prompt injections. Use the built-in Adversarial Evaluator to launch self-attacks against your agent, testing for PII leaks, instruction overrides, and safety filter bypasses.
|
|
100
|
-
|
|
101
|
-
### 🧠 Hive Mind (Semantic Caching)
|
|
102
|
-
**Reduce LLM costs by up to 40%.** The Hive Mind checks for semantically similar queries in 10ms, serving cached answers for common questions without calling the LLM.
|
|
103
|
-
|
|
104
|
-
### 🏛️ Arch Review & Framework Detection
|
|
105
|
-
Every agent in the cockpit is graded against a framework-aware checklist. The Cockpit intelligently detects your stack—**Google ADK**, **OpenAI Agentkit**, **Anthropic Claude**, **Microsoft AutoGen/Semantic Kernel**, **AWS Bedrock Agents**, or **CopilotKit**—and runs a tailored audit against corresponding production standards. Use `make arch-review` to verify your **Governance-as-Code**.
|
|
106
|
-
|
|
107
|
-
### 🕹️ MCP Connectivity Hub (Model Context Protocol)
|
|
108
|
-
Stop building one-off tool integrations. The Cockpit provides a unified hub for **MCP Servers**. Connect to Google Search, Slack, or your internal databases via the standardized Model Context Protocol for secure, audited tool execution.
|
|
109
|
-
|
|
110
|
-
### 🧗 Quality Hill Climbing (ADK Evaluation)
|
|
111
|
-
Following **Google ADK Evaluation** best practices, the Cockpit provides an iterative optimization loop. `make quality-baseline` runs your agent against a "Golden Dataset" using **LLM-as-a-Judge** scoring (Response Match & Tool Trajectory), climbing the quality curve until production-grade fidelity is reached.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## ⌨️ Quick Start
|
|
116
|
-
|
|
117
|
-
The Cockpit is available as a first-class CLI on PyPI.
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
# 1. Install the Cockpit globally
|
|
121
|
-
pip install agentops-cockpit
|
|
122
|
-
|
|
123
|
-
# 2. Audit your existing agent design
|
|
124
|
-
agent-ops arch-review
|
|
125
|
-
|
|
126
|
-
# 3. Stress test your endpoint
|
|
127
|
-
agent-ops load-test --requests 100 --concurrency 10
|
|
128
|
-
|
|
129
|
-
# 4. Scaffold a new Well-Architected app
|
|
130
|
-
agent-ops create my-agent --ui a2ui
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
You can also use `uvx` for one-off commands without installation:
|
|
134
|
-
```bash
|
|
135
|
-
uvx agentops-cockpit arch-review
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## 📊 Local Development
|
|
141
|
-
The Cockpit provides a unified "Mission Control" to evaluate your agents instantly.
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
make audit-all # 🕹️ Run ALL audits and generate a Final Report
|
|
145
|
-
make reliability # 🛡️ Run unit tests and regression suite
|
|
146
|
-
make dev # Start the local Engine + Face stack
|
|
147
|
-
make arch-review # 🏛️ Run the Google Well-Architected design review
|
|
148
|
-
make quality-baseline # 🧗 Run iterative 'Hill Climbing' quality audit
|
|
149
|
-
make audit # 🔍 Run the Interactive Agent Optimizer
|
|
150
|
-
make red-team # Execute a white-hat security audit
|
|
151
|
-
make deploy-prod # 🚀 1-click deploy to Google Cloud
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 🧭 Roadmap
|
|
157
|
-
- [x] **One-Click GitHub Action**: Automated governance audits on every PR.
|
|
158
|
-
- [x] **Multi-Agent Orchestrator**: Standardized A2A Swarm/Coordinator patterns.
|
|
159
|
-
- [ ] **Visual Mission Control**: Real-time cockpit observability dashboard.
|
|
160
|
-
|
|
161
|
-
[View full roadmap →](/ROADMAP.md)
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## 🤝 Community
|
|
166
|
-
- **Star this repo** to help us build the future of AgentOps.
|
|
167
|
-
- **Join the Discussion** for patterns on Google Cloud.
|
|
168
|
-
- **Contribute**: Read our [Contributing Guide](/CONTRIBUTING.md).
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
*Reference: [Google Cloud Architecture Center - Agentic AI Overview](https://docs.cloud.google.com/architecture/agentic-ai-overview)*
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
agent_ops_cockpit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
agent_ops_cockpit/cost_control.py,sha256=eO8-3ggK1Kr9iA7S_GURXqUIsDHYyqXF_bBkmCJe_tM,2333
|
|
3
|
-
agent_ops_cockpit/optimizer.py,sha256=MM352wDjCGfOz-EMBbDI8NGj1b7TY578atAO-qYMW0Y,11972
|
|
4
|
-
agent_ops_cockpit/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
agent_ops_cockpit/cache/semantic_cache.py,sha256=HwOO3Mehk8itUpluRKHkF07g25AbM-PC0vGBSfoRyiE,2046
|
|
6
|
-
agent_ops_cockpit/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
agent_ops_cockpit/cli/main.py,sha256=gZmfW1mEz6N7oEzpaQ0gck0mUJVAaf-S8x06Z_UlJ7o,7355
|
|
8
|
-
agent_ops_cockpit/eval/__init__.py,sha256=X68nLTYCIbL3U065CSdodzaCTmL94Rf442gV2DoR4E8,23
|
|
9
|
-
agent_ops_cockpit/eval/load_test.py,sha256=H2BeUbMR1X1ANh5EpRdBJsMmRei1H_sfpVBsHZGTCTQ,3430
|
|
10
|
-
agent_ops_cockpit/eval/quality_climber.py,sha256=J5PLQKdZ9u3jWn6EM-w3QJ6kAeiVeTlU6aEcPFL61MM,4993
|
|
11
|
-
agent_ops_cockpit/eval/red_team.py,sha256=xGL2t8as4RB0tEIIX0ExCw7ZFTkKnCwq2KZJqKzQcd8,3269
|
|
12
|
-
agent_ops_cockpit/ops/__init__.py,sha256=YBoDCVs7NvNbjK-kBaFckUTcmd5RBafn0tnsoMR6EFs,22
|
|
13
|
-
agent_ops_cockpit/ops/arch_review.py,sha256=o8ZKYSrmtt-dw74QBROObKz-w8Z-ZwC4G_yks6vIbBM,4494
|
|
14
|
-
agent_ops_cockpit/ops/cost_optimizer.py,sha256=fisPPo1hykcDBqljs05OG8xn0MBA_HPg7X8SlNDsx0M,1454
|
|
15
|
-
agent_ops_cockpit/ops/evidence.py,sha256=LRAW57c-2R4ICiMLtc-JA1Tu5dlfO9-VBSUMc3TCLuo,1051
|
|
16
|
-
agent_ops_cockpit/ops/frameworks.py,sha256=gJdisK8JOs79BY5x0yKu75Lu8WesgDcGJgQrjL9AE7U,19054
|
|
17
|
-
agent_ops_cockpit/ops/mcp_hub.py,sha256=Km-gXPNU0ulrFOe7fg9kPvhS3enataLKN8zyOoyzF6k,3184
|
|
18
|
-
agent_ops_cockpit/ops/memory_optimizer.py,sha256=whsKhAuJkEJRa2dxfVeJC_xxwDwKjhx5tnmOmkiKgIQ,1635
|
|
19
|
-
agent_ops_cockpit/ops/orchestrator.py,sha256=WnJ7nv99Ir7lvkWq0EIOEHE2rRzgJv2E4iRi8oDQcPc,3904
|
|
20
|
-
agent_ops_cockpit/ops/pii_scrubber.py,sha256=HBRzzYv97f8VqIx2Gse9o6UVf6QWXSuop-xF-wVhuKU,1524
|
|
21
|
-
agent_ops_cockpit/ops/reliability.py,sha256=Vuh7ZShjZQkXI8CWhL67LeacwEE75JNM6HgRTGLmt7o,2003
|
|
22
|
-
agent_ops_cockpit/ops/secret_scanner.py,sha256=OKojiW8umarrp5ywS4InCTnzzky1hcdBmOfGa-uVIuE,3124
|
|
23
|
-
agent_ops_cockpit/ops/swarm.py,sha256=wptxkdz-ORr4hqmMeQ3tiqw93U4y4XDBtu4xdVToqeQ,2457
|
|
24
|
-
agent_ops_cockpit/ops/ui_auditor.py,sha256=3Cmc8i3oMQ9Wa0hSkeR0t_J8_s1c-u1_kj2PwxDGD6o,5542
|
|
25
|
-
agent_ops_cockpit/shadow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
agent_ops_cockpit/shadow/router.py,sha256=HRsgrrd3sQeabi58Ub8pOaDL9c7j4WpayeT9D8zPvOo,2725
|
|
27
|
-
agentops_cockpit-0.4.1.dist-info/METADATA,sha256=mgrusibi7Cx9GwdqPkenRC--OmNMFV9KqZWce4Vsfo4,8471
|
|
28
|
-
agentops_cockpit-0.4.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
29
|
-
agentops_cockpit-0.4.1.dist-info/entry_points.txt,sha256=SOGYPNtUGhMVgxLQ9dEYo7L3M_dvhWEU2eQz2zhaTkY,112
|
|
30
|
-
agentops_cockpit-0.4.1.dist-info/licenses/LICENSE,sha256=XNJEk4bvf88tBnKqHdGBGi10l9yJWv2yLWPJvvVie1c,1071
|
|
31
|
-
agentops_cockpit-0.4.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|