supervaizer 0.10.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.
- supervaizer/__init__.py +97 -0
- supervaizer/__version__.py +10 -0
- supervaizer/account.py +308 -0
- supervaizer/account_service.py +93 -0
- supervaizer/admin/routes.py +1293 -0
- supervaizer/admin/static/js/job-start-form.js +373 -0
- supervaizer/admin/templates/agent_detail.html +145 -0
- supervaizer/admin/templates/agents.html +249 -0
- supervaizer/admin/templates/agents_grid.html +82 -0
- supervaizer/admin/templates/base.html +233 -0
- supervaizer/admin/templates/case_detail.html +230 -0
- supervaizer/admin/templates/cases_list.html +182 -0
- supervaizer/admin/templates/cases_table.html +134 -0
- supervaizer/admin/templates/console.html +389 -0
- supervaizer/admin/templates/dashboard.html +153 -0
- supervaizer/admin/templates/job_detail.html +192 -0
- supervaizer/admin/templates/job_start_test.html +109 -0
- supervaizer/admin/templates/jobs_list.html +180 -0
- supervaizer/admin/templates/jobs_table.html +122 -0
- supervaizer/admin/templates/navigation.html +163 -0
- supervaizer/admin/templates/recent_activity.html +81 -0
- supervaizer/admin/templates/server.html +105 -0
- supervaizer/admin/templates/server_status_cards.html +121 -0
- supervaizer/admin/templates/supervaize_instructions.html +212 -0
- supervaizer/agent.py +956 -0
- supervaizer/case.py +432 -0
- supervaizer/cli.py +395 -0
- supervaizer/common.py +324 -0
- supervaizer/deploy/__init__.py +16 -0
- supervaizer/deploy/cli.py +305 -0
- supervaizer/deploy/commands/__init__.py +9 -0
- supervaizer/deploy/commands/clean.py +294 -0
- supervaizer/deploy/commands/down.py +119 -0
- supervaizer/deploy/commands/local.py +460 -0
- supervaizer/deploy/commands/plan.py +167 -0
- supervaizer/deploy/commands/status.py +169 -0
- supervaizer/deploy/commands/up.py +281 -0
- supervaizer/deploy/docker.py +377 -0
- supervaizer/deploy/driver_factory.py +42 -0
- supervaizer/deploy/drivers/__init__.py +39 -0
- supervaizer/deploy/drivers/aws_app_runner.py +607 -0
- supervaizer/deploy/drivers/base.py +196 -0
- supervaizer/deploy/drivers/cloud_run.py +570 -0
- supervaizer/deploy/drivers/do_app_platform.py +504 -0
- supervaizer/deploy/health.py +404 -0
- supervaizer/deploy/state.py +210 -0
- supervaizer/deploy/templates/Dockerfile.template +44 -0
- supervaizer/deploy/templates/debug_env.py +69 -0
- supervaizer/deploy/templates/docker-compose.yml.template +37 -0
- supervaizer/deploy/templates/dockerignore.template +66 -0
- supervaizer/deploy/templates/entrypoint.sh +20 -0
- supervaizer/deploy/utils.py +52 -0
- supervaizer/event.py +181 -0
- supervaizer/examples/controller_template.py +196 -0
- supervaizer/instructions.py +145 -0
- supervaizer/job.py +392 -0
- supervaizer/job_service.py +156 -0
- supervaizer/lifecycle.py +417 -0
- supervaizer/parameter.py +233 -0
- supervaizer/protocol/__init__.py +11 -0
- supervaizer/protocol/a2a/__init__.py +21 -0
- supervaizer/protocol/a2a/model.py +227 -0
- supervaizer/protocol/a2a/routes.py +99 -0
- supervaizer/py.typed +1 -0
- supervaizer/routes.py +917 -0
- supervaizer/server.py +553 -0
- supervaizer/server_utils.py +54 -0
- supervaizer/storage.py +462 -0
- supervaizer/telemetry.py +81 -0
- supervaizer/utils/__init__.py +16 -0
- supervaizer/utils/version_check.py +56 -0
- supervaizer-0.10.5.dist-info/METADATA +317 -0
- supervaizer-0.10.5.dist-info/RECORD +76 -0
- supervaizer-0.10.5.dist-info/WHEEL +4 -0
- supervaizer-0.10.5.dist-info/entry_points.txt +2 -0
- supervaizer-0.10.5.dist-info/licenses/LICENSE.md +346 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Supervaize Instructions - {{ registration_info.name }}</title>
|
|
7
|
+
|
|
8
|
+
<!-- Tailwind CSS -->
|
|
9
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
10
|
+
|
|
11
|
+
<style>
|
|
12
|
+
pre {
|
|
13
|
+
white-space: pre-wrap;
|
|
14
|
+
word-wrap: break-word;
|
|
15
|
+
}
|
|
16
|
+
.json-key {
|
|
17
|
+
color: #0369a1;
|
|
18
|
+
font-weight: 600;
|
|
19
|
+
}
|
|
20
|
+
.json-string {
|
|
21
|
+
color: #059669;
|
|
22
|
+
}
|
|
23
|
+
.json-number {
|
|
24
|
+
color: #dc2626;
|
|
25
|
+
}
|
|
26
|
+
.json-boolean {
|
|
27
|
+
color: #7c3aed;
|
|
28
|
+
}
|
|
29
|
+
.json-null {
|
|
30
|
+
color: #6b7280;
|
|
31
|
+
}
|
|
32
|
+
</style>
|
|
33
|
+
</head>
|
|
34
|
+
<body class="bg-gray-50 min-h-screen">
|
|
35
|
+
<div class="max-w-4xl mx-auto py-8 px-4 sm:px-6 lg:px-8">
|
|
36
|
+
<!-- Header -->
|
|
37
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
38
|
+
<h1 class="text-3xl font-bold text-gray-900 mb-2">{{ registration_info.name }}</h1>
|
|
39
|
+
{% if registration_info.description %}
|
|
40
|
+
<p class="text-lg text-gray-600">{{ registration_info.description }}</p>
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% if registration_info.version %}
|
|
43
|
+
<p class="text-sm text-gray-500 mt-2">Version: {{ registration_info.version }}</p>
|
|
44
|
+
{% endif %}
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<!-- Basic Information -->
|
|
48
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
49
|
+
<h2 class="text-xl font-semibold text-gray-900 mb-4">Agent Information</h2>
|
|
50
|
+
<dl class="grid grid-cols-1 gap-4 sm:grid-cols-2">
|
|
51
|
+
{% if registration_info.id %}
|
|
52
|
+
<div>
|
|
53
|
+
<dt class="text-sm font-medium text-gray-500">ID</dt>
|
|
54
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.id }}</dd>
|
|
55
|
+
</div>
|
|
56
|
+
{% endif %}
|
|
57
|
+
{% if registration_info.api_path %}
|
|
58
|
+
<div>
|
|
59
|
+
<dt class="text-sm font-medium text-gray-500">API Path</dt>
|
|
60
|
+
<dd class="mt-1 text-sm text-gray-900 font-mono">{{ registration_info.api_path }}</dd>
|
|
61
|
+
</div>
|
|
62
|
+
{% endif %}
|
|
63
|
+
{% if registration_info.author %}
|
|
64
|
+
<div>
|
|
65
|
+
<dt class="text-sm font-medium text-gray-500">Author</dt>
|
|
66
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.author }}</dd>
|
|
67
|
+
</div>
|
|
68
|
+
{% endif %}
|
|
69
|
+
{% if registration_info.developer %}
|
|
70
|
+
<div>
|
|
71
|
+
<dt class="text-sm font-medium text-gray-500">Developer</dt>
|
|
72
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.developer }}</dd>
|
|
73
|
+
</div>
|
|
74
|
+
{% endif %}
|
|
75
|
+
{% if registration_info.maintainer %}
|
|
76
|
+
<div>
|
|
77
|
+
<dt class="text-sm font-medium text-gray-500">Maintainer</dt>
|
|
78
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.maintainer }}</dd>
|
|
79
|
+
</div>
|
|
80
|
+
{% endif %}
|
|
81
|
+
{% if registration_info.editor %}
|
|
82
|
+
<div>
|
|
83
|
+
<dt class="text-sm font-medium text-gray-500">Editor</dt>
|
|
84
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.editor }}</dd>
|
|
85
|
+
</div>
|
|
86
|
+
{% endif %}
|
|
87
|
+
{% if registration_info.max_execution_time %}
|
|
88
|
+
<div>
|
|
89
|
+
<dt class="text-sm font-medium text-gray-500">Max Execution Time</dt>
|
|
90
|
+
<dd class="mt-1 text-sm text-gray-900">{{ registration_info.max_execution_time }} seconds</dd>
|
|
91
|
+
</div>
|
|
92
|
+
{% endif %}
|
|
93
|
+
</dl>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<!-- Tags -->
|
|
97
|
+
{% if registration_info.tags %}
|
|
98
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
99
|
+
<h2 class="text-xl font-semibold text-gray-900 mb-4">Tags</h2>
|
|
100
|
+
<div class="flex flex-wrap gap-2">
|
|
101
|
+
{% for tag in registration_info.tags %}
|
|
102
|
+
<span class="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800">
|
|
103
|
+
{{ tag }}
|
|
104
|
+
</span>
|
|
105
|
+
{% endfor %}
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
{% endif %}
|
|
109
|
+
|
|
110
|
+
<!-- Methods -->
|
|
111
|
+
{% if registration_info.methods %}
|
|
112
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
113
|
+
<h2 class="text-xl font-semibold text-gray-900 mb-4">Available Methods</h2>
|
|
114
|
+
<div class="space-y-4">
|
|
115
|
+
{% if registration_info.methods.job_start %}
|
|
116
|
+
<div class="border-l-4 border-green-500 pl-4">
|
|
117
|
+
<h3 class="font-medium text-gray-900">Job Start</h3>
|
|
118
|
+
{% if registration_info.methods.job_start.description %}
|
|
119
|
+
<p class="text-sm text-gray-600 mt-1">{{ registration_info.methods.job_start.description }}</p>
|
|
120
|
+
{% endif %}
|
|
121
|
+
</div>
|
|
122
|
+
{% endif %}
|
|
123
|
+
{% if registration_info.methods.job_stop %}
|
|
124
|
+
<div class="border-l-4 border-red-500 pl-4">
|
|
125
|
+
<h3 class="font-medium text-gray-900">Job Stop</h3>
|
|
126
|
+
{% if registration_info.methods.job_stop.description %}
|
|
127
|
+
<p class="text-sm text-gray-600 mt-1">{{ registration_info.methods.job_stop.description }}</p>
|
|
128
|
+
{% endif %}
|
|
129
|
+
</div>
|
|
130
|
+
{% endif %}
|
|
131
|
+
{% if registration_info.methods.job_status %}
|
|
132
|
+
<div class="border-l-4 border-blue-500 pl-4">
|
|
133
|
+
<h3 class="font-medium text-gray-900">Job Status</h3>
|
|
134
|
+
{% if registration_info.methods.job_status.description %}
|
|
135
|
+
<p class="text-sm text-gray-600 mt-1">{{ registration_info.methods.job_status.description }}</p>
|
|
136
|
+
{% endif %}
|
|
137
|
+
</div>
|
|
138
|
+
{% endif %}
|
|
139
|
+
{% if registration_info.methods.chat %}
|
|
140
|
+
<div class="border-l-4 border-purple-500 pl-4">
|
|
141
|
+
<h3 class="font-medium text-gray-900">Chat</h3>
|
|
142
|
+
{% if registration_info.methods.chat.description %}
|
|
143
|
+
<p class="text-sm text-gray-600 mt-1">{{ registration_info.methods.chat.description }}</p>
|
|
144
|
+
{% endif %}
|
|
145
|
+
</div>
|
|
146
|
+
{% endif %}
|
|
147
|
+
{% if registration_info.methods.custom %}
|
|
148
|
+
{% for method_name, method_info in registration_info.methods.custom.items() %}
|
|
149
|
+
<div class="border-l-4 border-yellow-500 pl-4">
|
|
150
|
+
<h3 class="font-medium text-gray-900">{{ method_name }}</h3>
|
|
151
|
+
{% if method_info.description %}
|
|
152
|
+
<p class="text-sm text-gray-600 mt-1">{{ method_info.description }}</p>
|
|
153
|
+
{% endif %}
|
|
154
|
+
</div>
|
|
155
|
+
{% endfor %}
|
|
156
|
+
{% endif %}
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
{% endif %}
|
|
160
|
+
<!-- Parameters Setup -->
|
|
161
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
162
|
+
<h2 class="text-xl font-semibold text-gray-900 mb-4">Parameters</h2>
|
|
163
|
+
{% if registration_info.parameters_setup %}
|
|
164
|
+
<div class="overflow-x-auto">
|
|
165
|
+
<table class="min-w-full divide-y divide-gray-200">
|
|
166
|
+
<thead class="bg-gray-50">
|
|
167
|
+
<tr>
|
|
168
|
+
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Name</th>
|
|
169
|
+
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Description</th>
|
|
170
|
+
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th>
|
|
171
|
+
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Required</th>
|
|
172
|
+
</tr>
|
|
173
|
+
</thead>
|
|
174
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
175
|
+
{% for param in registration_info.parameters_setup %}
|
|
176
|
+
<tr>
|
|
177
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">{{ param.name }}</td>
|
|
178
|
+
<td class="px-6 py-4 text-sm text-gray-500">{{ param.description or "-" }}</td>
|
|
179
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
180
|
+
{% if param.is_secret %}
|
|
181
|
+
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">Secret</span>
|
|
182
|
+
{% else %}
|
|
183
|
+
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">Standard</span>
|
|
184
|
+
{% endif %}
|
|
185
|
+
</td>
|
|
186
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
187
|
+
{% if param.is_required %}
|
|
188
|
+
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Required</span>
|
|
189
|
+
{% else %}
|
|
190
|
+
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Optional</span>
|
|
191
|
+
{% endif %}
|
|
192
|
+
</td>
|
|
193
|
+
</tr>
|
|
194
|
+
{% endfor %}
|
|
195
|
+
</tbody>
|
|
196
|
+
</table>
|
|
197
|
+
</div>
|
|
198
|
+
{% else %}
|
|
199
|
+
<p class="text-sm text-gray-500">No parameters configured.</p>
|
|
200
|
+
{% endif %}
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<!-- Custom instructions -->
|
|
204
|
+
<div class="bg-white shadow rounded-lg mb-6 p-6">
|
|
205
|
+
<h2 class="text-xl font-semibold text-gray-900 mb-4">Setup instructions</h2>
|
|
206
|
+
<div class="overflow-x-auto">
|
|
207
|
+
TBD
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
</body>
|
|
212
|
+
</html>
|