use super::Shape;
pub(crate) const SHAPES: [Shape; 7] = [
Shape {
name: "request/advertise",
signature: &[
("/op:string", 2),
("/tools/[]/description:string", 2),
(
"/tools/[]/input_schema/properties/command/minLength:number",
2,
),
("/tools/[]/input_schema/properties/command/type:string", 2),
("/tools/[]/input_schema/properties/command:object", 2),
("/tools/[]/input_schema/properties:object", 2),
("/tools/[]/input_schema/required/[]:string", 2),
("/tools/[]/input_schema/required:array", 2),
("/tools/[]/input_schema/type:string", 2),
("/tools/[]/input_schema:object", 2),
("/tools/[]/name:string", 2),
("/tools/[]/subject_cwd:bool", 2),
("/tools/[]:object", 2),
("/tools:array", 2),
(":object", 2),
],
},
Shape {
name: "request/complete",
signature: &[
("/capture/exit_code:number", 1),
("/capture/stderr:string", 1),
("/capture/stdout:string", 1),
("/capture:object", 1),
("/invocation:string", 1),
("/op:string", 1),
(":object", 1),
],
},
Shape {
name: "request/invocations",
signature: &[("/op:string", 1), (":object", 1)],
},
Shape {
name: "reply/advertised",
signature: &[
("/kind:string", 8),
("/ok:bool", 8),
("/wrote:bool", 8),
(":object", 8),
],
},
Shape {
name: "reply/invocations",
signature: &[
("/kind:string", 2),
("/ok:bool", 2),
("/rows/[]/cwd:string", 2),
("/rows/[]/input/command:string", 2),
("/rows/[]/input/timeout:number", 2),
("/rows/[]/input:object", 2),
("/rows/[]/invocation:string", 2),
("/rows/[]/tool:string", 2),
("/rows/[]:object", 2),
("/rows:array", 2),
(":object", 2),
],
},
Shape {
name: "reply/refusal",
signature: &[("/error:string", 1), ("/ok:bool", 1), (":object", 1)],
},
Shape {
name: "reply/routed",
signature: &[
("/capture/exit_code:number", 1),
("/capture/stderr:string", 1),
("/capture/stdout:string", 1),
("/capture:object", 1),
("/invocation:string", 1),
("/kind:string", 1),
("/ok:bool", 1),
(":object", 1),
],
},
];