Setting the file. One moment. Model Recommendation · Agent Advisor · aws/agent-toolkit-for-aws · Skills DocsAdd Capabilities
81
Creating Amazon Aurora Db Cluster With Instances
104
Routing Traffic With Route53 And CloudFront
Resilience Program Design
Creating API Gateway Stage
(opens in a new tab)
scripts/schemas/model-recommendation.json
JSON·554 lines·13 KB
"string"
10 },
11 "verified_at": {
12 "type": "string"
13 },
14 "verified_region": {
15 "type": "string"
16 },
17 "source": {
18 "type": ["string", "null"]
19 }
20 },
21 "additionalProperties": false
22 },
23 "apiPath": {
24 "enum": [
25 "mantle_messages",
26 "mantle_openai_chat",
27 "mantle_openai_responses",
28 "runtime_converse",
29 "runtime_invoke"
30 ]
31 },
32 "source": {
33 "type": "object",
34 "required": ["provider", "model_ids", "sdk", "api_surface", "source_paths"],
35 "properties": {
36 "provider": {
37 "enum": [
38 "anthropic",
39 "openai",
40 "azure_openai",
41 "google_genai",
42 "bedrock",
43 "none",
44 "unknown"
45 ]
46 },
47 "model_ids": {
48 "type": "array",
49 "items": {
50 "type": "string"
51 }
52 },
53 "sdk": {
54 "type": "string"
55 },
56 "api_surface": {
57 "type": "string"
58 },
59 "source_paths": {
60 "type": "array",
61 "items": {
62 "type": "string"
63 }
64 }
65 },
66 "additionalProperties": false
67 },
68 "finding": {
69 "type": "object",
70 "required": ["code", "tag", "message", "remediation"],
71 "properties": {
72 "code": {
73 "type": "string"
74 },
75 "tag": {
76 "enum": ["[BLOCKS]", "[TUNE]"]
77 },
78 "message": {
79 "type": "string"
80 },
81 "remediation": {
82 "type": "string"
83 }
84 },
85 "additionalProperties": false
86 },
87 "delta": {
88 "type": "object",
89 "required": ["code", "category", "description"],
90 "properties": {
91 "code": {
92 "type": "string"
93 },
94 "category": {
95 "enum": ["path", "version", "platform", "feature"]
96 },
97 "description": {
98 "type": "string"
99 }
100 },
101 "additionalProperties": false
102 },
103 "candidate": {
104 "type": "object",
105 "required": [
106 "model_key",
107 "model",
108 "api_path",
109 "invocation_model_id",
110 "requires_cris",
111 "reason"
112 ],
113 "properties": {
114 "model_key": {
115 "type": "string"
116 },
117 "model": {
118 "type": "string"
119 },
120 "api_path": {
121 "$ref": "#/$defs/apiPath"
122 },
123 "invocation_model_id": {
124 "type": ["string", "null"]
125 },
126 "requires_cris": {
127 "type": "boolean"
128 },
129 "reason": {
130 "type": "string"
131 }
132 },
133 "additionalProperties": false
134 },
135 "modelIdentity": {
136 "type": "object",
137 "required": [
138 "model_key",
139 "display_name",
140 "family",
141 "version",
142 "context_window",
143 "output_token_ceiling",
144 "path_model_id",
145 "requires_cris"
146 ],
147 "properties": {
148 "model_key": {
149 "type": "string"
150 },
151 "display_name": {
152 "type": "string"
153 },
154 "family": {
155 "type": "string"
156 },
157 "version": {
158 "type": "string"
159 },
160 "context_window": {
161 "oneOf": [
162 { "type": "integer", "minimum": 1 },
163 { "const": "unknown" }
164 ]
165 },
166 "output_token_ceiling": {
167 "oneOf": [
168 { "type": "integer", "minimum": 1 },
169 { "const": "unknown" }
170 ]
171 },
172 "path_model_id": {
173 "type": "string"
174 },
175 "requires_cris": {
176 "type": "boolean"
177 }
178 },
179 "additionalProperties": false
180 },
181 "stringList": {
182 "type": "array",
183 "items": {
184 "type": "string"
185 }
186 },
187 "additionalTarget": {
188 "type": "object",
189 "required": ["capability", "status", "candidate", "evidence"],
190 "properties": {
191 "capability": {
192 "type": "string"
193 },
194 "status": {
195 "enum": ["recommended", "unresolved"]
196 },
197 "candidate": {
198 "type": ["string", "null"]
199 },
200 "service": {
201 "type": ["string", "null"]
202 },
203 "evidence": {
204 "type": "string"
205 }
206 },
207 "additionalProperties": false
208 },
209 "verification": {
210 "type": "object",
211 "required": [
212 "region",
213 "catalog_verified_at",
214 "verified_at",
215 "probe_status",
216 "availability_claim",
217 "invocation_model_id",
218 "required_checks"
219 ],
220 "properties": {
221 "region": {
222 "type": "string"
223 },
224 "catalog_verified_at": {
225 "type": "string"
226 },
227 "verified_at": {
228 "type": ["string", "null"]
229 },
230 "probe_status": {
231 "enum": [
232 "not_run",
233 "passed",
234 "failed",
235 "needs_resolution",
236 "not_applicable"
237 ]
238 },
239 "availability_claim": {
240 "enum": [
241 "provisional",
242 "verified",
243 "unavailable",
244 "unresolved",
245 "not_selected"
246 ]
247 },
248 "invocation_model_id": {
249 "type": ["string", "null"]
250 },
251 "required_checks": {
252 "type": "array",
253 "minItems": 1,
254 "items": {
255 "type": "string"
256 }
257 }
258 },
259 "additionalProperties": false
260 },
261 "recommendation": {
262 "type": "object",
263 "required": [
264 "workload_id",
265 "provider_module",
266 "decision_status",
267 "source",
268 "source_analysis",
269 "feature_assessment",
270 "primary_model",
271 "model_identity",
272 "api_path",
273 "invocation_model_id",
274 "decision_options",
275 "alternatives",
276 "rationale",
277 "blocks",
278 "tuning",
279 "compatibility",
280 "architecture_impacts",
281 "migration_deltas",
282 "evaluation",
283 "rollout",
284 "verification"
285 ],
286 "properties": {
287 "workload_id": {
288 "type": "string"
289 },
290 "provider_module": {
291 "enum": ["anthropic", "openai", "generic"]
292 },
293 "decision_status": {
294 "enum": ["recommended", "decision_required"]
295 },
296 "source": {
297 "$ref": "#/$defs/source"
298 },
299 "source_analysis": {
300 "type": "object",
301 "required": ["detected_version", "target_version", "version_changed"],
302 "properties": {
303 "detected_version": {
304 "type": ["string", "null"]
305 },
306 "target_version": {
307 "type": ["string", "null"]
308 },
309 "version_changed": {
310 "type": ["boolean", "null"]
311 },
312 "source_family": {
313 "type": "string"
314 },
315 "source_api_surface": {
316 "type": ["string", "null"]
317 },
318 "model_generation_changes": {
319 "type": ["boolean", "null"]
320 }
321 },
322 "additionalProperties": false
323 },
324 "feature_assessment": {
325 "type": "object",
326 "additionalProperties": {
327 "enum": ["detected", "absent", "unknown"]
328 }
329 },
330 "primary_model": {
331 "type": ["string", "null"]
332 },
333 "model_identity": {
334 "oneOf": [
335 {
336 "$ref": "#/$defs/modelIdentity"
337 },
338 {
339 "type": "null"
340 }
341 ]
342 },
343 "api_path": {
344 "oneOf": [
345 {
346 "$ref": "#/$defs/apiPath"
347 },
348 {
349 "type": "null"
350 }
351 ]
352 },
353 "invocation_model_id": {
354 "type": ["string", "null"]
355 },
356 "decision_options": {
357 "type": "array",
358 "items": {
359 "$ref": "#/$defs/candidate"
360 }
361 },
362 "alternatives": {
363 "type": "array",
364 "items": {
365 "$ref": "#/$defs/candidate"
366 }
367 },
368 "rationale": {
369 "type": "array",
370 "minItems": 1,
371 "items": {
372 "type": "string"
373 }
374 },
375 "blocks": {
376 "type": "array",
377 "items": {
378 "$ref": "#/$defs/finding"
379 }
380 },
381 "tuning": {
382 "type": "array",
383 "items": {
384 "$ref": "#/$defs/finding"
385 }
386 },
387 "compatibility": {
388 "type": "object",
389 "required": ["native", "portable", "rearchitecture", "unsupported"],
390 "properties": {
391 "native": {
392 "$ref": "#/$defs/stringList"
393 },
394 "portable": {
395 "$ref": "#/$defs/stringList"
396 },
397 "rearchitecture": {
398 "$ref": "#/$defs/stringList"
399 },
400 "unsupported": {
401 "$ref": "#/$defs/stringList"
402 }
403 },
404 "additionalProperties": false
405 },
406 "architecture_impacts": {
407 "type": "array",
408 "items": {
409 "type": "object",
410 "required": ["feature", "impact", "recommendation"],
411 "properties": {
412 "feature": {
413 "type": "string"
414 },
415 "impact": {
416 "type": "string"
417 },
418 "recommendation": {
419 "type": "string"
420 }
421 },
422 "additionalProperties": false
423 }
424 },
425 "additional_targets": {
426 "type": "array",
427 "items": {
428 "$ref": "#/$defs/additionalTarget"
429 }
430 },
431 "migration_deltas": {
432 "type": "array",
433 "items": {
434 "$ref": "#/$defs/delta"
435 }
436 },
437 "evaluation": {
438 "type": "object",
439 "required": ["mode", "gates"],
440 "properties": {
441 "mode": {
442 "enum": ["prompt", "trajectory"]
443 },
444 "gates": {
445 "type": "array",
446 "minItems": 1,
447 "items": {
448 "type": "string"
449 }
450 }
451 },
452 "additionalProperties": false
453 },
454 "rollout": {
455 "type": "object",
456 "required": ["strategy", "gate"],
457 "properties": {
458 "strategy": {
459 "enum": ["canary", "decision_required"]
460 },
461 "gate": {
462 "type": "string"
463 }
464 },
465 "additionalProperties": false
466 },
467 "verification": {
468 "$ref": "#/$defs/verification"
469 }
470 },
471 "allOf": [
472 {
473 "if": {
474 "properties": {
475 "decision_status": {
476 "const": "recommended"
477 }
478 }
479 },
480 "then": {
481 "properties": {
482 "primary_model": {
483 "type": "string"
484 },
485 "model_identity": {
486 "$ref": "#/$defs/modelIdentity"
487 },
488 "api_path": {
489 "$ref": "#/$defs/apiPath"
490 },
491 "decision_options": {
492 "maxItems": 0
493 }
494 }
495 },
496 "else": {
497 "properties": {
498 "primary_model": {
499 "type": "null"
500 },
501 "model_identity": {
502 "type": "null"
503 },
504 "api_path": {
505 "type": "null"
506 },
507 "invocation_model_id": {
508 "type": "null"
509 },
510 "decision_options": {
511 "minItems": 2
512 }
513 }
514 }
515 }
516 ],
517 "additionalProperties": false
518 }
519 },
520 "type": "object",
521 "required": [
522 "schema_version",
523 "catalog",
524 "catalog_provenance",
525 "primary_unit",
526 "workloads"
527 ],
528 "properties": {
529 "schema_version": {
530 "const": 2
531 },
532 "catalog": {
533 "$ref": "#/$defs/catalogProvenance"
534 },
535 "catalog_provenance": {
536 "type": "object",
537 "minProperties": 1,
538 "additionalProperties": {
539 "$ref": "#/$defs/catalogProvenance"
540 }
541 },
542 "primary_unit": {
543 "type": "string"
544 },
545 "workloads": {
546 "type": "object",
547 "minProperties": 1,
548 "additionalProperties": {
549 "$ref": "#/$defs/recommendation"
550 }
551 }
552 },
553 "additionalProperties": false
554}