Skip to main content

harn_hostlib/
schemas.rs

1//! Embedded JSON Schemas for every hostlib host method.
2//!
3//! Schemas live at `schemas/<module>/<method>.{request,response}.json` and
4//! are baked into the crate at compile time via `include_str!`. They're the
5//! source of truth for hostlib request/response compatibility: the schema
6//! files ship with the crate (see the `include` field in `Cargo.toml`),
7//! and consumers fetch them through this module.
8//!
9//! Schemas use JSON Schema draft 2020-12.
10
11/// Direction of a schema (request body vs. response body).
12#[derive(Clone, Copy, Debug, PartialEq, Eq)]
13pub enum SchemaKind {
14    /// Schema for the *input* of a host method.
15    Request,
16    /// Schema for the *output* of a host method.
17    Response,
18}
19
20/// One `(module, method, kind, schema_text)` tuple for every shipped schema.
21///
22/// Embedders use this catalog to:
23/// - assert that every registered builtin has a matching schema (drift test);
24/// - export the schemas to downstream consumers;
25/// - validate live request/response payloads in tests.
26pub const SCHEMAS: &[(&str, &str, SchemaKind, &str)] = &[
27    // ast/
28    (
29        "ast",
30        "parse_file",
31        SchemaKind::Request,
32        include_str!("../schemas/ast/parse_file.request.json"),
33    ),
34    (
35        "ast",
36        "parse_file",
37        SchemaKind::Response,
38        include_str!("../schemas/ast/parse_file.response.json"),
39    ),
40    (
41        "ast",
42        "symbols",
43        SchemaKind::Request,
44        include_str!("../schemas/ast/symbols.request.json"),
45    ),
46    (
47        "ast",
48        "symbols",
49        SchemaKind::Response,
50        include_str!("../schemas/ast/symbols.response.json"),
51    ),
52    (
53        "ast",
54        "outline",
55        SchemaKind::Request,
56        include_str!("../schemas/ast/outline.request.json"),
57    ),
58    (
59        "ast",
60        "outline",
61        SchemaKind::Response,
62        include_str!("../schemas/ast/outline.response.json"),
63    ),
64    (
65        "ast",
66        "parse_errors",
67        SchemaKind::Request,
68        include_str!("../schemas/ast/parse_errors.request.json"),
69    ),
70    (
71        "ast",
72        "parse_errors",
73        SchemaKind::Response,
74        include_str!("../schemas/ast/parse_errors.response.json"),
75    ),
76    (
77        "ast",
78        "undefined_names",
79        SchemaKind::Request,
80        include_str!("../schemas/ast/undefined_names.request.json"),
81    ),
82    (
83        "ast",
84        "undefined_names",
85        SchemaKind::Response,
86        include_str!("../schemas/ast/undefined_names.response.json"),
87    ),
88    (
89        "ast",
90        "function_body",
91        SchemaKind::Request,
92        include_str!("../schemas/ast/function_body.request.json"),
93    ),
94    (
95        "ast",
96        "function_body",
97        SchemaKind::Response,
98        include_str!("../schemas/ast/function_body.response.json"),
99    ),
100    (
101        "ast",
102        "function_bodies",
103        SchemaKind::Request,
104        include_str!("../schemas/ast/function_bodies.request.json"),
105    ),
106    (
107        "ast",
108        "function_bodies",
109        SchemaKind::Response,
110        include_str!("../schemas/ast/function_bodies.response.json"),
111    ),
112    (
113        "ast",
114        "extract_imports",
115        SchemaKind::Request,
116        include_str!("../schemas/ast/extract_imports.request.json"),
117    ),
118    (
119        "ast",
120        "extract_imports",
121        SchemaKind::Response,
122        include_str!("../schemas/ast/extract_imports.response.json"),
123    ),
124    (
125        "ast",
126        "symbol_extract",
127        SchemaKind::Request,
128        include_str!("../schemas/ast/symbol_extract.request.json"),
129    ),
130    (
131        "ast",
132        "symbol_extract",
133        SchemaKind::Response,
134        include_str!("../schemas/ast/symbol_extract.response.json"),
135    ),
136    (
137        "ast",
138        "symbol_delete",
139        SchemaKind::Request,
140        include_str!("../schemas/ast/symbol_delete.request.json"),
141    ),
142    (
143        "ast",
144        "symbol_delete",
145        SchemaKind::Response,
146        include_str!("../schemas/ast/symbol_delete.response.json"),
147    ),
148    (
149        "ast",
150        "symbol_replace",
151        SchemaKind::Request,
152        include_str!("../schemas/ast/symbol_replace.request.json"),
153    ),
154    (
155        "ast",
156        "symbol_replace",
157        SchemaKind::Response,
158        include_str!("../schemas/ast/symbol_replace.response.json"),
159    ),
160    (
161        "ast",
162        "bracket_balance",
163        SchemaKind::Request,
164        include_str!("../schemas/ast/bracket_balance.request.json"),
165    ),
166    (
167        "ast",
168        "bracket_balance",
169        SchemaKind::Response,
170        include_str!("../schemas/ast/bracket_balance.response.json"),
171    ),
172    (
173        "ast",
174        "apply_node",
175        SchemaKind::Request,
176        include_str!("../schemas/ast/apply_node.request.json"),
177    ),
178    (
179        "ast",
180        "apply_node",
181        SchemaKind::Response,
182        include_str!("../schemas/ast/apply_node.response.json"),
183    ),
184    // code_index/
185    (
186        "code_index",
187        "query",
188        SchemaKind::Request,
189        include_str!("../schemas/code_index/query.request.json"),
190    ),
191    (
192        "code_index",
193        "query",
194        SchemaKind::Response,
195        include_str!("../schemas/code_index/query.response.json"),
196    ),
197    (
198        "code_index",
199        "rebuild",
200        SchemaKind::Request,
201        include_str!("../schemas/code_index/rebuild.request.json"),
202    ),
203    (
204        "code_index",
205        "rebuild",
206        SchemaKind::Response,
207        include_str!("../schemas/code_index/rebuild.response.json"),
208    ),
209    (
210        "code_index",
211        "stats",
212        SchemaKind::Request,
213        include_str!("../schemas/code_index/stats.request.json"),
214    ),
215    (
216        "code_index",
217        "stats",
218        SchemaKind::Response,
219        include_str!("../schemas/code_index/stats.response.json"),
220    ),
221    (
222        "code_index",
223        "imports_for",
224        SchemaKind::Request,
225        include_str!("../schemas/code_index/imports_for.request.json"),
226    ),
227    (
228        "code_index",
229        "imports_for",
230        SchemaKind::Response,
231        include_str!("../schemas/code_index/imports_for.response.json"),
232    ),
233    (
234        "code_index",
235        "importers_of",
236        SchemaKind::Request,
237        include_str!("../schemas/code_index/importers_of.request.json"),
238    ),
239    (
240        "code_index",
241        "importers_of",
242        SchemaKind::Response,
243        include_str!("../schemas/code_index/importers_of.response.json"),
244    ),
245    // code_index — file table accessors
246    (
247        "code_index",
248        "path_to_id",
249        SchemaKind::Request,
250        include_str!("../schemas/code_index/path_to_id.request.json"),
251    ),
252    (
253        "code_index",
254        "path_to_id",
255        SchemaKind::Response,
256        include_str!("../schemas/code_index/path_to_id.response.json"),
257    ),
258    (
259        "code_index",
260        "id_to_path",
261        SchemaKind::Request,
262        include_str!("../schemas/code_index/id_to_path.request.json"),
263    ),
264    (
265        "code_index",
266        "id_to_path",
267        SchemaKind::Response,
268        include_str!("../schemas/code_index/id_to_path.response.json"),
269    ),
270    (
271        "code_index",
272        "file_ids",
273        SchemaKind::Request,
274        include_str!("../schemas/code_index/file_ids.request.json"),
275    ),
276    (
277        "code_index",
278        "file_ids",
279        SchemaKind::Response,
280        include_str!("../schemas/code_index/file_ids.response.json"),
281    ),
282    (
283        "code_index",
284        "file_meta",
285        SchemaKind::Request,
286        include_str!("../schemas/code_index/file_meta.request.json"),
287    ),
288    (
289        "code_index",
290        "file_meta",
291        SchemaKind::Response,
292        include_str!("../schemas/code_index/file_meta.response.json"),
293    ),
294    (
295        "code_index",
296        "file_hash",
297        SchemaKind::Request,
298        include_str!("../schemas/code_index/file_hash.request.json"),
299    ),
300    (
301        "code_index",
302        "file_hash",
303        SchemaKind::Response,
304        include_str!("../schemas/code_index/file_hash.response.json"),
305    ),
306    // code_index — cached reads
307    (
308        "code_index",
309        "read_range",
310        SchemaKind::Request,
311        include_str!("../schemas/code_index/read_range.request.json"),
312    ),
313    (
314        "code_index",
315        "read_range",
316        SchemaKind::Response,
317        include_str!("../schemas/code_index/read_range.response.json"),
318    ),
319    (
320        "code_index",
321        "reindex_file",
322        SchemaKind::Request,
323        include_str!("../schemas/code_index/reindex_file.request.json"),
324    ),
325    (
326        "code_index",
327        "reindex_file",
328        SchemaKind::Response,
329        include_str!("../schemas/code_index/reindex_file.response.json"),
330    ),
331    (
332        "code_index",
333        "trigram_query",
334        SchemaKind::Request,
335        include_str!("../schemas/code_index/trigram_query.request.json"),
336    ),
337    (
338        "code_index",
339        "trigram_query",
340        SchemaKind::Response,
341        include_str!("../schemas/code_index/trigram_query.response.json"),
342    ),
343    (
344        "code_index",
345        "extract_trigrams",
346        SchemaKind::Request,
347        include_str!("../schemas/code_index/extract_trigrams.request.json"),
348    ),
349    (
350        "code_index",
351        "extract_trigrams",
352        SchemaKind::Response,
353        include_str!("../schemas/code_index/extract_trigrams.response.json"),
354    ),
355    (
356        "code_index",
357        "word_get",
358        SchemaKind::Request,
359        include_str!("../schemas/code_index/word_get.request.json"),
360    ),
361    (
362        "code_index",
363        "word_get",
364        SchemaKind::Response,
365        include_str!("../schemas/code_index/word_get.response.json"),
366    ),
367    (
368        "code_index",
369        "deps_get",
370        SchemaKind::Request,
371        include_str!("../schemas/code_index/deps_get.request.json"),
372    ),
373    (
374        "code_index",
375        "deps_get",
376        SchemaKind::Response,
377        include_str!("../schemas/code_index/deps_get.response.json"),
378    ),
379    (
380        "code_index",
381        "outline_get",
382        SchemaKind::Request,
383        include_str!("../schemas/code_index/outline_get.request.json"),
384    ),
385    (
386        "code_index",
387        "outline_get",
388        SchemaKind::Response,
389        include_str!("../schemas/code_index/outline_get.response.json"),
390    ),
391    // code_index — change log
392    (
393        "code_index",
394        "current_seq",
395        SchemaKind::Request,
396        include_str!("../schemas/code_index/current_seq.request.json"),
397    ),
398    (
399        "code_index",
400        "current_seq",
401        SchemaKind::Response,
402        include_str!("../schemas/code_index/current_seq.response.json"),
403    ),
404    (
405        "code_index",
406        "changes_since",
407        SchemaKind::Request,
408        include_str!("../schemas/code_index/changes_since.request.json"),
409    ),
410    (
411        "code_index",
412        "changes_since",
413        SchemaKind::Response,
414        include_str!("../schemas/code_index/changes_since.response.json"),
415    ),
416    (
417        "code_index",
418        "version_record",
419        SchemaKind::Request,
420        include_str!("../schemas/code_index/version_record.request.json"),
421    ),
422    (
423        "code_index",
424        "version_record",
425        SchemaKind::Response,
426        include_str!("../schemas/code_index/version_record.response.json"),
427    ),
428    // code_index — agents + locks
429    (
430        "code_index",
431        "agent_register",
432        SchemaKind::Request,
433        include_str!("../schemas/code_index/agent_register.request.json"),
434    ),
435    (
436        "code_index",
437        "agent_register",
438        SchemaKind::Response,
439        include_str!("../schemas/code_index/agent_register.response.json"),
440    ),
441    (
442        "code_index",
443        "agent_heartbeat",
444        SchemaKind::Request,
445        include_str!("../schemas/code_index/agent_heartbeat.request.json"),
446    ),
447    (
448        "code_index",
449        "agent_heartbeat",
450        SchemaKind::Response,
451        include_str!("../schemas/code_index/agent_heartbeat.response.json"),
452    ),
453    (
454        "code_index",
455        "agent_unregister",
456        SchemaKind::Request,
457        include_str!("../schemas/code_index/agent_unregister.request.json"),
458    ),
459    (
460        "code_index",
461        "agent_unregister",
462        SchemaKind::Response,
463        include_str!("../schemas/code_index/agent_unregister.response.json"),
464    ),
465    (
466        "code_index",
467        "lock_try",
468        SchemaKind::Request,
469        include_str!("../schemas/code_index/lock_try.request.json"),
470    ),
471    (
472        "code_index",
473        "lock_try",
474        SchemaKind::Response,
475        include_str!("../schemas/code_index/lock_try.response.json"),
476    ),
477    (
478        "code_index",
479        "lock_release",
480        SchemaKind::Request,
481        include_str!("../schemas/code_index/lock_release.request.json"),
482    ),
483    (
484        "code_index",
485        "lock_release",
486        SchemaKind::Response,
487        include_str!("../schemas/code_index/lock_release.response.json"),
488    ),
489    (
490        "code_index",
491        "status",
492        SchemaKind::Request,
493        include_str!("../schemas/code_index/status.request.json"),
494    ),
495    (
496        "code_index",
497        "status",
498        SchemaKind::Response,
499        include_str!("../schemas/code_index/status.response.json"),
500    ),
501    (
502        "code_index",
503        "current_agent_id",
504        SchemaKind::Request,
505        include_str!("../schemas/code_index/current_agent_id.request.json"),
506    ),
507    (
508        "code_index",
509        "current_agent_id",
510        SchemaKind::Response,
511        include_str!("../schemas/code_index/current_agent_id.response.json"),
512    ),
513    (
514        "code_index",
515        "cypher",
516        SchemaKind::Request,
517        include_str!("../schemas/code_index/cypher.request.json"),
518    ),
519    (
520        "code_index",
521        "cypher",
522        SchemaKind::Response,
523        include_str!("../schemas/code_index/cypher.response.json"),
524    ),
525    (
526        "code_index",
527        "branch_overlay",
528        SchemaKind::Request,
529        include_str!("../schemas/code_index/branch_overlay.request.json"),
530    ),
531    (
532        "code_index",
533        "branch_overlay",
534        SchemaKind::Response,
535        include_str!("../schemas/code_index/branch_overlay.response.json"),
536    ),
537    (
538        "code_index",
539        "freshness",
540        SchemaKind::Request,
541        include_str!("../schemas/code_index/freshness.request.json"),
542    ),
543    (
544        "code_index",
545        "freshness",
546        SchemaKind::Response,
547        include_str!("../schemas/code_index/freshness.response.json"),
548    ),
549    // scanner/
550    (
551        "scanner",
552        "scan_project",
553        SchemaKind::Request,
554        include_str!("../schemas/scanner/scan_project.request.json"),
555    ),
556    (
557        "scanner",
558        "scan_project",
559        SchemaKind::Response,
560        include_str!("../schemas/scanner/scan_project.response.json"),
561    ),
562    (
563        "scanner",
564        "scan_incremental",
565        SchemaKind::Request,
566        include_str!("../schemas/scanner/scan_incremental.request.json"),
567    ),
568    (
569        "scanner",
570        "scan_incremental",
571        SchemaKind::Response,
572        include_str!("../schemas/scanner/scan_incremental.response.json"),
573    ),
574    // fs/
575    (
576        "fs",
577        "set_mode",
578        SchemaKind::Request,
579        include_str!("../schemas/fs/set_mode.request.json"),
580    ),
581    (
582        "fs",
583        "set_mode",
584        SchemaKind::Response,
585        include_str!("../schemas/fs/set_mode.response.json"),
586    ),
587    (
588        "fs",
589        "staged_status",
590        SchemaKind::Request,
591        include_str!("../schemas/fs/staged_status.request.json"),
592    ),
593    (
594        "fs",
595        "staged_status",
596        SchemaKind::Response,
597        include_str!("../schemas/fs/staged_status.response.json"),
598    ),
599    (
600        "fs",
601        "commit_staged",
602        SchemaKind::Request,
603        include_str!("../schemas/fs/commit_staged.request.json"),
604    ),
605    (
606        "fs",
607        "commit_staged",
608        SchemaKind::Response,
609        include_str!("../schemas/fs/commit_staged.response.json"),
610    ),
611    (
612        "fs",
613        "discard_staged",
614        SchemaKind::Request,
615        include_str!("../schemas/fs/discard_staged.request.json"),
616    ),
617    (
618        "fs",
619        "discard_staged",
620        SchemaKind::Response,
621        include_str!("../schemas/fs/discard_staged.response.json"),
622    ),
623    (
624        "fs",
625        "snapshot",
626        SchemaKind::Request,
627        include_str!("../schemas/fs/snapshot.request.json"),
628    ),
629    (
630        "fs",
631        "snapshot",
632        SchemaKind::Response,
633        include_str!("../schemas/fs/snapshot.response.json"),
634    ),
635    (
636        "fs",
637        "restore",
638        SchemaKind::Request,
639        include_str!("../schemas/fs/restore.request.json"),
640    ),
641    (
642        "fs",
643        "restore",
644        SchemaKind::Response,
645        include_str!("../schemas/fs/restore.response.json"),
646    ),
647    (
648        "fs",
649        "list_snapshots",
650        SchemaKind::Request,
651        include_str!("../schemas/fs/list_snapshots.request.json"),
652    ),
653    (
654        "fs",
655        "list_snapshots",
656        SchemaKind::Response,
657        include_str!("../schemas/fs/list_snapshots.response.json"),
658    ),
659    (
660        "fs",
661        "drop_snapshot",
662        SchemaKind::Request,
663        include_str!("../schemas/fs/drop_snapshot.request.json"),
664    ),
665    (
666        "fs",
667        "drop_snapshot",
668        SchemaKind::Response,
669        include_str!("../schemas/fs/drop_snapshot.response.json"),
670    ),
671    // fs_watch/
672    (
673        "fs_watch",
674        "subscribe",
675        SchemaKind::Request,
676        include_str!("../schemas/fs_watch/subscribe.request.json"),
677    ),
678    (
679        "fs_watch",
680        "subscribe",
681        SchemaKind::Response,
682        include_str!("../schemas/fs_watch/subscribe.response.json"),
683    ),
684    (
685        "fs_watch",
686        "unsubscribe",
687        SchemaKind::Request,
688        include_str!("../schemas/fs_watch/unsubscribe.request.json"),
689    ),
690    (
691        "fs_watch",
692        "unsubscribe",
693        SchemaKind::Response,
694        include_str!("../schemas/fs_watch/unsubscribe.response.json"),
695    ),
696    // tools/
697    (
698        "tools",
699        "search",
700        SchemaKind::Request,
701        include_str!("../schemas/tools/search.request.json"),
702    ),
703    (
704        "tools",
705        "search",
706        SchemaKind::Response,
707        include_str!("../schemas/tools/search.response.json"),
708    ),
709    (
710        "tools",
711        "read_file",
712        SchemaKind::Request,
713        include_str!("../schemas/tools/read_file.request.json"),
714    ),
715    (
716        "tools",
717        "read_file",
718        SchemaKind::Response,
719        include_str!("../schemas/tools/read_file.response.json"),
720    ),
721    (
722        "tools",
723        "write_file",
724        SchemaKind::Request,
725        include_str!("../schemas/tools/write_file.request.json"),
726    ),
727    (
728        "tools",
729        "write_file",
730        SchemaKind::Response,
731        include_str!("../schemas/tools/write_file.response.json"),
732    ),
733    (
734        "tools",
735        "delete_file",
736        SchemaKind::Request,
737        include_str!("../schemas/tools/delete_file.request.json"),
738    ),
739    (
740        "tools",
741        "delete_file",
742        SchemaKind::Response,
743        include_str!("../schemas/tools/delete_file.response.json"),
744    ),
745    (
746        "tools",
747        "list_directory",
748        SchemaKind::Request,
749        include_str!("../schemas/tools/list_directory.request.json"),
750    ),
751    (
752        "tools",
753        "list_directory",
754        SchemaKind::Response,
755        include_str!("../schemas/tools/list_directory.response.json"),
756    ),
757    (
758        "tools",
759        "get_file_outline",
760        SchemaKind::Request,
761        include_str!("../schemas/tools/get_file_outline.request.json"),
762    ),
763    (
764        "tools",
765        "get_file_outline",
766        SchemaKind::Response,
767        include_str!("../schemas/tools/get_file_outline.response.json"),
768    ),
769    (
770        "tools",
771        "git",
772        SchemaKind::Request,
773        include_str!("../schemas/tools/git.request.json"),
774    ),
775    (
776        "tools",
777        "git",
778        SchemaKind::Response,
779        include_str!("../schemas/tools/git.response.json"),
780    ),
781    (
782        "tools",
783        "run_command",
784        SchemaKind::Request,
785        include_str!("../schemas/tools/run_command.request.json"),
786    ),
787    (
788        "tools",
789        "run_command",
790        SchemaKind::Response,
791        include_str!("../schemas/tools/run_command.response.json"),
792    ),
793    (
794        "tools",
795        "read_command_output",
796        SchemaKind::Request,
797        include_str!("../schemas/tools/read_command_output.request.json"),
798    ),
799    (
800        "tools",
801        "read_command_output",
802        SchemaKind::Response,
803        include_str!("../schemas/tools/read_command_output.response.json"),
804    ),
805    (
806        "tools",
807        "run_test",
808        SchemaKind::Request,
809        include_str!("../schemas/tools/run_test.request.json"),
810    ),
811    (
812        "tools",
813        "run_test",
814        SchemaKind::Response,
815        include_str!("../schemas/tools/run_test.response.json"),
816    ),
817    (
818        "tools",
819        "run_build_command",
820        SchemaKind::Request,
821        include_str!("../schemas/tools/run_build_command.request.json"),
822    ),
823    (
824        "tools",
825        "run_build_command",
826        SchemaKind::Response,
827        include_str!("../schemas/tools/run_build_command.response.json"),
828    ),
829    (
830        "tools",
831        "inspect_test_results",
832        SchemaKind::Request,
833        include_str!("../schemas/tools/inspect_test_results.request.json"),
834    ),
835    (
836        "tools",
837        "inspect_test_results",
838        SchemaKind::Response,
839        include_str!("../schemas/tools/inspect_test_results.response.json"),
840    ),
841    (
842        "tools",
843        "manage_packages",
844        SchemaKind::Request,
845        include_str!("../schemas/tools/manage_packages.request.json"),
846    ),
847    (
848        "tools",
849        "manage_packages",
850        SchemaKind::Response,
851        include_str!("../schemas/tools/manage_packages.response.json"),
852    ),
853    (
854        "tools",
855        "cancel_handle",
856        SchemaKind::Request,
857        include_str!("../schemas/tools/cancel_handle.request.json"),
858    ),
859    (
860        "tools",
861        "cancel_handle",
862        SchemaKind::Response,
863        include_str!("../schemas/tools/cancel_handle.response.json"),
864    ),
865    (
866        "tools",
867        "enable",
868        SchemaKind::Request,
869        include_str!("../schemas/tools/enable.request.json"),
870    ),
871    (
872        "tools",
873        "enable",
874        SchemaKind::Response,
875        include_str!("../schemas/tools/enable.response.json"),
876    ),
877    // secret_store/
878    (
879        "secret_store",
880        "get",
881        SchemaKind::Request,
882        include_str!("../schemas/secret_store/get.request.json"),
883    ),
884    (
885        "secret_store",
886        "get",
887        SchemaKind::Response,
888        include_str!("../schemas/secret_store/get.response.json"),
889    ),
890    (
891        "secret_store",
892        "set",
893        SchemaKind::Request,
894        include_str!("../schemas/secret_store/set.request.json"),
895    ),
896    (
897        "secret_store",
898        "set",
899        SchemaKind::Response,
900        include_str!("../schemas/secret_store/set.response.json"),
901    ),
902    (
903        "secret_store",
904        "delete",
905        SchemaKind::Request,
906        include_str!("../schemas/secret_store/delete.request.json"),
907    ),
908    (
909        "secret_store",
910        "delete",
911        SchemaKind::Response,
912        include_str!("../schemas/secret_store/delete.response.json"),
913    ),
914    (
915        "secret_store",
916        "list",
917        SchemaKind::Request,
918        include_str!("../schemas/secret_store/list.request.json"),
919    ),
920    (
921        "secret_store",
922        "list",
923        SchemaKind::Response,
924        include_str!("../schemas/secret_store/list.response.json"),
925    ),
926];
927
928/// Look up a single schema as raw JSON text.
929pub fn lookup(module: &str, method: &str, kind: SchemaKind) -> Option<&'static str> {
930    SCHEMAS
931        .iter()
932        .find(|(m, mt, k, _)| *m == module && *mt == method && *k == kind)
933        .map(|(_, _, _, body)| *body)
934}