thunderbird-patch-review

Simple email patch review tool for Thunderbird

git clone git://mccd.space/thunderbird-patch-review

schema.json (3552B)

      1 [
      2   {
      3     "namespace": "patchHost",
      4     "description": "Privileged helper behind Apply series, Browse... and Open editor: runs git am, shows a native directory chooser, and launches the editor.",
      5     "functions": [
      6       {
      7         "name": "ping",
      8         "type": "function",
      9         "async": true,
     10         "description": "Report whether git is reachable; resolves to {ok, git, version}.",
     11         "parameters": []
     12       },
     13       {
     14         "name": "describe",
     15         "type": "function",
     16         "async": true,
     17         "description": "Resolve a path to its repository name and current branch; resolves to {ok, repo, name, branch} or {ok:false, error}.",
     18         "parameters": [
     19           { "name": "repo", "type": "string" }
     20         ]
     21       },
     22       {
     23         "name": "apply",
     24         "type": "function",
     25         "async": true,
     26         "description": "Run git am on the raw patch messages in the given repository; resolves to {ok, output}.",
     27         "parameters": [
     28           { "name": "repo", "type": "string" },
     29           {
     30             "name": "strategy",
     31             "type": "string",
     32             "description": "\"am3\" for git am --3way (the default), \"am\" for plain git am."
     33           },
     34           {
     35             "name": "patches",
     36             "type": "array",
     37             "items": { "type": "string" },
     38             "description": "Raw RFC822 patch messages, in series order."
     39           },
     40           {
     41             "name": "noHooks",
     42             "type": "boolean",
     43             "optional": true,
     44             "default": false,
     45             "description": "True to suppress the user's git hooks for this apply (applypatch-msg, pre-applypatch, post-applypatch) by pointing git at an empty hooks dir; false (the default) runs hooks as a normal git am would. Use true for untrusted content."
     46           }
     47         ]
     48       },
     49       {
     50         "name": "check",
     51         "type": "function",
     52         "async": true,
     53         "description": "Classify the patches against the repository without applying: resolves to {ok, status, output} where status is \"applicable\", \"applied\", \"dirty\", or \"conflict\".",
     54         "parameters": [
     55           { "name": "repo", "type": "string" },
     56           {
     57             "name": "strategy",
     58             "type": "string",
     59             "description": "Mirrors apply()'s strategy argument; currently only documented for API symmetry."
     60           },
     61           {
     62             "name": "patches",
     63             "type": "array",
     64             "items": { "type": "string" },
     65             "description": "Raw RFC822 patch messages, in series order."
     66           }
     67         ]
     68       },
     69       {
     70         "name": "pickDir",
     71         "type": "function",
     72         "async": true,
     73         "description": "Open a native directory chooser; resolves to {ok, output} or {ok, cancelled}.",
     74         "parameters": [
     75           {
     76             "name": "start",
     77             "type": "string",
     78             "description": "Directory the chooser starts in; may be empty."
     79           }
     80         ]
     81       },
     82       {
     83         "name": "openEditor",
     84         "type": "function",
     85         "async": true,
     86         "description": "Launch the editor command from the repository with the given files as arguments.",
     87         "parameters": [
     88           { "name": "repo", "type": "string" },
     89           {
     90             "name": "editor",
     91             "type": "string",
     92             "description": "Shell command line; empty means $EDITOR, then a platform opener on the repository."
     93           },
     94           { "name": "files", "type": "array", "items": { "type": "string" } }
     95         ]
     96       }
     97     ]
     98   }
     99 ]