{"$defs":{"SourcesManifestProcess":{"additionalProperties":false,"properties":{"$defs":{"additionalProperties":{},"description":"The definitions the sites' types reach, and no others. Absent when they reach none, and for a structural resolver.","type":"object"},"dir":{"description":"The definition's directory, absolute: what a relative argument joins to. One call can span several directories, so the resolver's working directory (the .genroc directory) is not it.","type":"string"},"file":{"description":"The definition's file name, within dir.","type":"string"},"name":{"description":"The definition's name.","type":"string"},"sites":{"description":"The directives in this definition that name this resolver.","items":{"$ref":"#/$defs/SourcesSite"},"type":"array"}},"required":["name","dir","file","sites"],"type":"object"},"SourcesSite":{"additionalProperties":false,"properties":{"action":{"description":"The action's type. Only at level action.","type":"string"},"args":{"description":"The argument's words (blanks separate them, '...' quotes one literally). Not paths: a resolver may take a URL, a package name or nothing, which is [].","items":{"type":"string"},"type":"array"},"child":{"description":"The process the action spawns. Only at level action, on an action that names one.","type":"string"},"level":{"description":"Which namespace the directive sits in, so a resolver need not parse pointer to know where it landed.","enum":["process","task","action"],"type":"string"},"pointer":{"description":"Where the directive is: keys and array indices from the definition's root, a task named by its id rather than its index. Where the slot has a type, this is its genctl schema type address.","items":{},"type":"array"},"task":{"description":"The id of the task the directive is in. Absent at level process.","type":"string"},"types":{"additionalProperties":{},"description":"What this resolver's types entry asked for, by the name it gave each: a JSON Schema whose $ref points into the process's $defs, or null where nothing is at that address. Absent for a structural resolver.","type":"object"}},"required":["level","pointer","args"],"type":"object"}},"$schema":"https://json-schema.org/draft/2019-09/schema","additionalProperties":false,"properties":{"mode":{"description":"Whether genctl uses the reply. \"generate\" (genctl generate, typed resolvers only) reads none, so a resolver may skip the work behind it and only write its files; answering anyway is still correct.","enum":["resolve","generate"],"type":"string"},"processes":{"description":"One entry per definition with a site for this resolver, in the order the files were read. The reply answers every site, in this order.","items":{"$ref":"#/$defs/SourcesManifestProcess"},"type":"array"}},"required":["mode","processes"],"type":"object"}