@delta-infra/cli 1.1.18 → 1.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/checksums.txt +5 -5
- package/package.json +3 -2
- package/scripts/install-wizard.js +18 -31
- package/skills/delta-protein/AGENTS.md +73 -0
- package/skills/delta-protein/SKILL.md +389 -0
- package/skills/delta-protein/agents/openai.yaml +4 -0
- package/skills/delta-protein/references/bfitter.md +64 -0
- package/skills/delta-protein/references/catapro_predict.md +63 -0
- package/skills/delta-protein/references/catpred_predict.md +65 -0
- package/skills/delta-protein/references/caver_tunnel_analyze.md +63 -0
- package/skills/delta-protein/references/consensus_mutation.md +61 -0
- package/skills/delta-protein/references/consurf_predict.md +67 -0
- package/skills/delta-protein/references/crop_sequence.md +69 -0
- package/skills/delta-protein/references/dock.md +82 -0
- package/skills/delta-protein/references/dock_score.md +70 -0
- package/skills/delta-protein/references/easifa_predict_active_site.md +70 -0
- package/skills/delta-protein/references/ephod_predict_mutation.md +66 -0
- package/skills/delta-protein/references/ephod_predict_protein.md +61 -0
- package/skills/delta-protein/references/esmfold2_predict.md +67 -0
- package/skills/delta-protein/references/evcouplings_mutation.md +64 -0
- package/skills/delta-protein/references/fasta_to_sequence.md +59 -0
- package/skills/delta-protein/references/foldseek.md +61 -0
- package/skills/delta-protein/references/generate_msa.md +61 -0
- package/skills/delta-protein/references/interpro_analyze.md +63 -0
- package/skills/delta-protein/references/mpnn_design_sequence.md +71 -0
- package/skills/delta-protein/references/multievolve.md +73 -0
- package/skills/delta-protein/references/pisa_query.md +70 -0
- package/skills/delta-protein/references/plip_analyze.md +65 -0
- package/skills/delta-protein/references/pocket_prediction.md +63 -0
- package/skills/delta-protein/references/protein_design.md +65 -0
- package/skills/delta-protein/references/protein_evolution.md +77 -0
- package/skills/delta-protein/references/protein_sol_predict_mutation.md +66 -0
- package/skills/delta-protein/references/protein_sol_predict_protein.md +61 -0
- package/skills/delta-protein/references/protenix.md +66 -0
- package/skills/delta-protein/references/protrek_search.md +90 -0
- package/skills/delta-protein/references/pubchem_search.md +68 -0
- package/skills/delta-protein/references/pubmed_search.md +79 -0
- package/skills/delta-protein/references/reap_design_primer.md +69 -0
- package/skills/delta-protein/references/rfd3_design.md +65 -0
- package/skills/delta-protein/references/structure_to_sequence.md +61 -0
- package/skills/delta-protein/references/summarize_result.md +68 -0
- package/skills/delta-protein/references/surface_charge.md +84 -0
- package/skills/delta-protein/references/uniprot_batch_query.md +63 -0
- package/skills/delta-protein/references/uniprot_query.md +64 -0
- package/skills/delta-protein/references/zero_shot_mutant_candidates.md +76 -0
- package/skills/delta-protein/scripts/gen_references.py +167 -0
- package/skills/delta-protein/scripts/output_metadata.json +275 -0
- package/skills/delta-science/references/xrd.md +704 -197
- package/skills/manifest.json +2 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# ProTrek API Search (`huada_protein_tools` / `protrek_search`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Open-ended protein retrieval (text/sequence/structure) across multiple databases
|
|
14
|
+
with the ProTrek protein search API.
|
|
15
|
+
- Typical scenarios:
|
|
16
|
+
- Search related proteins by functional/reaction/family descriptions in protein
|
|
17
|
+
databases (`input_type=text`).
|
|
18
|
+
- Search similar proteins by sequence (`input_type=sequence`).
|
|
19
|
+
- Search similar structures by structure (`input_type=structure`).
|
|
20
|
+
- Not for: exact metadata queries of a known UniProt accession / UniParc ID / gene
|
|
21
|
+
name / protein name (use `uniprot_query` for those).
|
|
22
|
+
- Optional parameters: `input_type` (text/sequence/structure), `query_type`
|
|
23
|
+
(sequence/structure), `topk` (10), `db` (Swiss-Prot), `protein_sequence`,
|
|
24
|
+
`sequence_file`, `structure_file`, `chain` (A), `text`
|
|
25
|
+
- `query_type` defaults to `sequence`;
|
|
26
|
+
- when the user mentions "structure search / structure / 3D structure", choose `structure`;
|
|
27
|
+
- `input_type` is inferred from whether a sequence/structure file is provided; when
|
|
28
|
+
neither is provided, `input_type` is `text`;
|
|
29
|
+
- the `text` parameter is specifically for functional/reaction/family
|
|
30
|
+
description-style text searches;
|
|
31
|
+
- Supported databases: with `query_type=sequence`, Swiss-Prot/UniRef50/Uncharacterized/OMG_prot50/PDB/GOPC/NCBI/MGnify/OMG are supported; with `query_type=structure`, only PDB
|
|
32
|
+
|
|
33
|
+
## Invocation
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint protrek_search --data JSON
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
40
|
+
|
|
41
|
+
- `protein_sequence` / `sequence_file` / `structure_file` / `text`
|
|
42
|
+
|
|
43
|
+
Server-side default parameters:
|
|
44
|
+
|
|
45
|
+
- `input_type` = `sequence`
|
|
46
|
+
- `query_type` = `sequence`
|
|
47
|
+
- `topk` = `10`
|
|
48
|
+
- `db` = `Swiss-Prot`
|
|
49
|
+
|
|
50
|
+
Request fields:
|
|
51
|
+
|
|
52
|
+
| Field | Description | Default |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `input_type` | Input type: text/sequence/structure; inferred from whether a sequence/structure file is provided, text when neither | sequence |
|
|
55
|
+
| `query_type` | Query type: sequence/structure; default sequence; choose structure when "structure search" is mentioned | sequence |
|
|
56
|
+
| `topk` | Number of results to return, default 10 | 10 |
|
|
57
|
+
| `db` | Database name or list, default Swiss-Prot; with query_type=sequence supports ['Swiss-Prot', 'UniRef50', 'Uncharacterized', 'OMG_prot50', 'PDB', 'GOPC', 'NCBI', 'MGnify', 'OMG']; with query_type=structure only PDB | Swiss-Prot |
|
|
58
|
+
| `protein_sequence` | | - |
|
|
59
|
+
| `sequence_file` | FASTA/FA | - |
|
|
60
|
+
| `structure_file` | PDB/CIF | - |
|
|
61
|
+
| `chain` | Protein chain identifier, default A | A |
|
|
62
|
+
| `text` | Core search description when input_type=text, e.g. function/reaction/family; translate to English | - |
|
|
63
|
+
|
|
64
|
+
## Response
|
|
65
|
+
|
|
66
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
67
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
68
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
69
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
70
|
+
do not treat file contents as ordinary JSON results.
|
|
71
|
+
|
|
72
|
+
## Output Projection
|
|
73
|
+
|
|
74
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
75
|
+
|
|
76
|
+
- Projection content: Hit protein entries, similarity and functional information
|
|
77
|
+
- Presentation form: Hit list text/table
|
|
78
|
+
- Downstream reuse: for known targets with metadata use uniprot_query; this endpoint is for open-ended retrieval
|
|
79
|
+
## Output Template
|
|
80
|
+
|
|
81
|
+
- Title: **ProTrek database search result**
|
|
82
|
+
- Lead with the conclusion: number of hit protein entries; list similarity per hit (score vs query) and functional information
|
|
83
|
+
- For structure/sequence search, state the retrieval mode (query_type/input_type)
|
|
84
|
+
|
|
85
|
+
## Boundaries & Failure Modes
|
|
86
|
+
|
|
87
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
88
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
89
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
90
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# PubChem Compound Search (`huada_protein_tools` / `pubchem_search`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Call PubChem (NCBI) to search basic chemical molecule information.
|
|
14
|
+
- Supports querying compounds by name, SMILES, InChI, InChIKey, PubChem CID.
|
|
15
|
+
- `input_type` options: name (default) | smiles | inchi | inchikey | cid.
|
|
16
|
+
- `query` passes the corresponding identifier per input_type: name like "aspirin",
|
|
17
|
+
SMILES like "CC(=O)OC1=CC=CC=C1C(=O)O", CID like "2244".
|
|
18
|
+
- Optional: `max_results` (default 10, max 100)
|
|
19
|
+
- Output: compound results `resultjson`, containing
|
|
20
|
+
cid/name/molecular_formula/molecular_weight/canonical_smiles/inchi/inchikey/
|
|
21
|
+
iupac_name/synonyms/pubchem_url
|
|
22
|
+
|
|
23
|
+
## Invocation
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint pubchem_search --data JSON
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
30
|
+
|
|
31
|
+
- `query`
|
|
32
|
+
|
|
33
|
+
Request fields:
|
|
34
|
+
|
|
35
|
+
| Field | Description | Default |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `query` | Query string: name, SMILES, InChI, InChIKey, or CID | - |
|
|
38
|
+
| `input_type` | Query type: name \| smiles \| inchi \| inchikey \| cid, default name | name |
|
|
39
|
+
| `max_results` | Maximum number of compounds to return, default 10, max 100 | 10 |
|
|
40
|
+
|
|
41
|
+
## Response
|
|
42
|
+
|
|
43
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
44
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
45
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
46
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
47
|
+
do not treat file contents as ordinary JSON results.
|
|
48
|
+
|
|
49
|
+
## Output Projection
|
|
50
|
+
|
|
51
|
+
> Verification status: verified by a real `delta-cli` invocation
|
|
52
|
+
|
|
53
|
+
- Projection content: Compound entries: name, synonyms, molecular_formula, molecular_weight, canonical_smiles, inchi, inchikey, cid, pubchem_url
|
|
54
|
+
- Presentation form: Text (formula/weight/name/SMILES) + entry URL
|
|
55
|
+
- Downstream reuse: canonical_smiles -> smiles / primary_smiles for catpred_predict / catapro_predict
|
|
56
|
+
## Output Template
|
|
57
|
+
|
|
58
|
+
- Title: **PubChem compound search**
|
|
59
|
+
- Lead with the conclusion: compound name, molecular formula, molecular weight
|
|
60
|
+
- Also give: canonical_smiles / InChIKey, cid, `[PubChem entry](pubchem_url)` (URL in a safe form)
|
|
61
|
+
- Avoid listing every JSON key
|
|
62
|
+
|
|
63
|
+
## Boundaries & Failure Modes
|
|
64
|
+
|
|
65
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
66
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
67
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
68
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# PubMed Literature Search (`huada_protein_tools` / `pubmed_search`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Call PubMed (NCBI) to search academic literature, supporting cascaded retrieval of
|
|
14
|
+
PMC/Europe PMC/OA PDF full texts. Various tasks may attempt to obtain relevant
|
|
15
|
+
information through literature search.
|
|
16
|
+
- `query` must be an English PubMed boolean search expression. If the user inputs
|
|
17
|
+
Chinese, first translate the core concepts into English academic terms, then
|
|
18
|
+
assemble them into a boolean expression. Recommended format:
|
|
19
|
+
("concept A" OR "synonym A2") AND ("concept B" OR "synonym B2") AND ... Split
|
|
20
|
+
into 2-4 core concept groups, each with 2-4 English synonyms/related terms/MeSH
|
|
21
|
+
terms; phrases wrapped in double quotes.
|
|
22
|
+
- Correct example: ("human enterokinase" OR "human enteropeptidase" OR
|
|
23
|
+
"enterokinase catalytic subunit") AND (solubility OR "soluble expression") AND
|
|
24
|
+
(mutation OR mutagenesis); when the user asks about "溶菌酶 活性位点" (lysozyme
|
|
25
|
+
active site), the query should be ("lysozyme" OR "muramidase") AND ("active site"
|
|
26
|
+
OR "catalytic site") AND (mutation OR mutagenesis).
|
|
27
|
+
- Forbidden: UniProt IDs, full English questions, meaningless words (analysis of /
|
|
28
|
+
study of / improvement / optimization / design of / engineering of).
|
|
29
|
+
- Optional: `max_results` (default 10, max 10), `min_year` (default 2000),
|
|
30
|
+
`max_year` (default 2026)
|
|
31
|
+
- Output: literature results `resultjson`
|
|
32
|
+
|
|
33
|
+
## Invocation
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint pubmed_search --data JSON
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
40
|
+
|
|
41
|
+
- `query`
|
|
42
|
+
|
|
43
|
+
Request fields:
|
|
44
|
+
|
|
45
|
+
| Field | Description | Default |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `query` | PubMed English boolean search expression; when the user inputs Chinese, provide the translated & expanded English boolean expression here, never pass Chinese | - |
|
|
48
|
+
| `max_results` | Maximum number of papers to return, default 10, max 10 | 10 |
|
|
49
|
+
| `min_year` | Start year, default 2000 | 2000 |
|
|
50
|
+
| `max_year` | End year, default 2026 | 2026 |
|
|
51
|
+
|
|
52
|
+
## Response
|
|
53
|
+
|
|
54
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
55
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
56
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
57
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
58
|
+
do not treat file contents as ordinary JSON results.
|
|
59
|
+
|
|
60
|
+
## Output Projection
|
|
61
|
+
|
|
62
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
63
|
+
|
|
64
|
+
- Projection content: extracted_papers and summary; table grouped by PMID (protein name, mutation (original notation), key finding, source reference)
|
|
65
|
+
- Presentation form: Markdown table; keep original mutation notation (e.g. Y126A/Y206F); site-level comparison only when zero-shot mutant results exist and the literature contains those mutations
|
|
66
|
+
- Downstream reuse: literature evidence can be cross-checked with zero_shot_mutant_candidates positions (note the PMID, distinguish reported hotspots/new targets)
|
|
67
|
+
## Output Template
|
|
68
|
+
|
|
69
|
+
- Title: **PubMed literature search result**
|
|
70
|
+
- Lead with a review summary: 4-6 bullet points depending on focus (mutation/engineering vs application/mechanism)
|
|
71
|
+
- Table grouped by PMID with the source reference in the last column (`PMID: XXXXXXXX`, fall back to the title when missing); keep original mutation notation
|
|
72
|
+
- Papers with empty mutations do not show mutation-related columns; site-level comparison only when zero-shot mutant results exist and the literature contains those mutations
|
|
73
|
+
|
|
74
|
+
## Boundaries & Failure Modes
|
|
75
|
+
|
|
76
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
77
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
78
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
79
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Single-site Mutation Primer Design (`huada_protein_tools` / `reap_design_primer`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
REAP Step 7: design overlapping PCR site-directed mutagenesis primers for single-site
|
|
14
|
+
mutations.
|
|
15
|
+
- Required: `mutant_list_file` (Excel/CSV with a mutant column)
|
|
16
|
+
- Required: `plasmid_fasta` (user-uploaded DNA FASTA template)
|
|
17
|
+
- Required: `cds_start` (0-based CDS start in `plasmid_fasta`; needs to be extracted from the user's question)
|
|
18
|
+
- Optional: `mutation_format` (protein default A123C / dna → G367A), `codon_pref_file`, `sheet`
|
|
19
|
+
- Output: primer Excel `download_url`, ZIP `zip_download_url`, `resultjson` (primer preview and Tm)
|
|
20
|
+
|
|
21
|
+
## Invocation
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint reap_design_primer --data JSON
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
28
|
+
|
|
29
|
+
- `mutant_list_file` **and** `template_file` / `plasmid_fasta`
|
|
30
|
+
|
|
31
|
+
Request fields:
|
|
32
|
+
|
|
33
|
+
| Field | Description | Default |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `mutant_list_file` | Excel/CSV/TXT mutation list | - |
|
|
36
|
+
| `template_file` | Segmented template TXT (upstream/gene/downstream) | - |
|
|
37
|
+
| `plasmid_fasta` | Plasmid/template DNA FASTA | - |
|
|
38
|
+
| `cds_start` | 0-based CDS start position in plasmid_fasta mode | - |
|
|
39
|
+
| `mutation_format` | Mutation format: protein or dna, default protein | protein |
|
|
40
|
+
| `codon_pref_file` | AA:CODON codon preference file | - |
|
|
41
|
+
| `sheet` | Excel sheet index or name, default 0 | 0 |
|
|
42
|
+
|
|
43
|
+
## Response
|
|
44
|
+
|
|
45
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
46
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
47
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
48
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
49
|
+
do not treat file contents as ordinary JSON results.
|
|
50
|
+
|
|
51
|
+
## Output Projection
|
|
52
|
+
|
|
53
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
54
|
+
|
|
55
|
+
- Projection content: Primer design table (mutation id, forward/reverse primer sequences, Tm) + Excel download_url + ZIP zip_download_url
|
|
56
|
+
- Presentation form: Markdown table + Excel/ZIP download links
|
|
57
|
+
- Downstream reuse: -
|
|
58
|
+
## Output Template
|
|
59
|
+
|
|
60
|
+
- Title: **Single-site mutation primer design result (REAP Step 7)**
|
|
61
|
+
- Markdown table: `| Mutation ID | Forward primer | Reverse primer | Tm |`
|
|
62
|
+
- Add the Excel and ZIP to the "Result files & downloads" section
|
|
63
|
+
|
|
64
|
+
## Boundaries & Failure Modes
|
|
65
|
+
|
|
66
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
67
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
68
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
69
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Protein Scaffold Design (RFdiffusion3) (`huada_protein_tools` / `rfd3_design`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Protein scaffold design with RFdiffusion3 (without MPNN sequence design).
|
|
14
|
+
- Required: `structure_file` (cropped PDB/CIF structure URL or path, e.g. the `download_url` returned by pocket_prediction)
|
|
15
|
+
- Optional: `chain_id` (design only this chain, default "A"; specifying a single chain on a multi-chain structure such as a tetramer avoids cross-chain cost-matrix conflicts), `length` (design length range, e.g. "100-200", default "100-200"), `rfd3_n` (RFdiffusion3 sample count, default 1)
|
|
16
|
+
- The backend auto-infers `unindex` / `select_fixed_atoms` / `ori_token`
|
|
17
|
+
- Output: generated PDB structure files and sequence FASTA files packaged as a ZIP `download_url`; `resultjson` contains `{structures: [...], structure_links: [...]}`, where each `structures` entry carries chain/length/sequence/sample_score/quality_metrics, and `quality_metrics` includes insertion RMSD, clashes, chain breaks, secondary structure, etc.; `structure_links` are the best ≤5 scaffold PDB links sorted by `sample_score` (highest score first)
|
|
18
|
+
- Use case: scaffold design only, without MPNN sequence design
|
|
19
|
+
|
|
20
|
+
## Invocation
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint rfd3_design --data JSON
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
27
|
+
|
|
28
|
+
- `structure_file`
|
|
29
|
+
|
|
30
|
+
Request fields:
|
|
31
|
+
|
|
32
|
+
| Field | Description | Default |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `structure_file` | Cropped PDB/CIF | - |
|
|
35
|
+
| `chain_id` | Design only this protein chain, default "A" | A |
|
|
36
|
+
| `length` | Design length range, e.g. "100-200" | 100-200 |
|
|
37
|
+
| `rfd3_n` | RFdiffusion3 sample count, default 1 | 1 |
|
|
38
|
+
|
|
39
|
+
## Response
|
|
40
|
+
|
|
41
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
42
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
43
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
44
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
45
|
+
do not treat file contents as ordinary JSON results.
|
|
46
|
+
|
|
47
|
+
## Output Projection
|
|
48
|
+
|
|
49
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
50
|
+
|
|
51
|
+
- Projection content: structure_links (best ≤5 scaffold PDBs sorted by sample_score) with structures overview (chain/length/sequence/sample_score/quality metrics)
|
|
52
|
+
- Presentation form: Scaffold PDB link list; quality metrics include insertion RMSD, clashes, chain breaks, secondary structure
|
|
53
|
+
- Downstream reuse: scaffolds can feed mpnn_design_sequence / protein_design for sequence design
|
|
54
|
+
## Output Template
|
|
55
|
+
|
|
56
|
+
- Title: **RFdiffusion3 protein scaffold design result**
|
|
57
|
+
- Lead with the conclusion: number of scaffolds generated (best ≤5), sample_score range
|
|
58
|
+
- Add scaffold PDB links to the "Result files & downloads" section; summarize quality metrics in text (insertion RMSD/clashes/chain breaks/secondary structure)
|
|
59
|
+
|
|
60
|
+
## Boundaries & Failure Modes
|
|
61
|
+
|
|
62
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
63
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
64
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
65
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# PDB Sequence Extraction (`huada_protein_tools` / `structure_to_sequence`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Extract the protein sequence from a PDB/CIF structure file.
|
|
14
|
+
- Required: `structure_file`
|
|
15
|
+
- Optional: `chain` (A)
|
|
16
|
+
- Output: extracted protein sequence `resultjson`
|
|
17
|
+
|
|
18
|
+
## Invocation
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint structure_to_sequence --data JSON
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
25
|
+
|
|
26
|
+
- `structure_file`
|
|
27
|
+
|
|
28
|
+
Request fields:
|
|
29
|
+
|
|
30
|
+
| Field | Description | Default |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `structure_file` | PDB/CIF | - |
|
|
33
|
+
| `chain` | Protein chain identifier, default A | A |
|
|
34
|
+
|
|
35
|
+
## Response
|
|
36
|
+
|
|
37
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
38
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
39
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
40
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
41
|
+
do not treat file contents as ordinary JSON results.
|
|
42
|
+
|
|
43
|
+
## Output Projection
|
|
44
|
+
|
|
45
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
46
|
+
|
|
47
|
+
- Projection content: Protein sequence extracted from PDB/CIF
|
|
48
|
+
- Presentation form: Sequence shown as inline code
|
|
49
|
+
- Downstream reuse: sequence can be used as protein_sequence for downstream mutation/design/annotation endpoints (e.g. consensus_mutation, interpro_analyze)
|
|
50
|
+
## Output Template
|
|
51
|
+
|
|
52
|
+
- Title: **Structure-to-sequence extraction result**
|
|
53
|
+
- Lead with the conclusion: extracted protein sequence for chain=<chain> (length N aa)
|
|
54
|
+
- Show the sequence as inline code; no download needed
|
|
55
|
+
|
|
56
|
+
## Boundaries & Failure Modes
|
|
57
|
+
|
|
58
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
59
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
60
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
61
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Multi-model Result Summary (`huada_protein_tools` / `summarize_result`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Summarize multi-model zero-shot prediction results as the final step of the
|
|
14
|
+
mutation-prediction flow.
|
|
15
|
+
- Required: `result_files` (list of paths to multiple prediction result files)
|
|
16
|
+
- Optional: `protein_sequence`, `topk` (10)
|
|
17
|
+
- Output: summarized ranking `download_url`
|
|
18
|
+
|
|
19
|
+
## Invocation
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint summarize_result --data JSON
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
26
|
+
|
|
27
|
+
- `result_files`
|
|
28
|
+
|
|
29
|
+
Server-side default parameters:
|
|
30
|
+
|
|
31
|
+
- `topk` = `10`
|
|
32
|
+
|
|
33
|
+
Request fields:
|
|
34
|
+
|
|
35
|
+
| Field | Description | Default |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `result_files` | URL list of result files from previous steps | [] |
|
|
38
|
+
| `protein_sequence` | | - |
|
|
39
|
+
| `topk` | Return the top k results, default 10 | 10 |
|
|
40
|
+
|
|
41
|
+
## Response
|
|
42
|
+
|
|
43
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
44
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
45
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
46
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
47
|
+
do not treat file contents as ordinary JSON results.
|
|
48
|
+
|
|
49
|
+
## Output Projection
|
|
50
|
+
|
|
51
|
+
> Verification status: derived from ToolSpec/agent templates; pending live calibration
|
|
52
|
+
|
|
53
|
+
- Projection content: Multi-model summarized ranking (topk) with all rows retained; restated as a table with the tool's original fields, prompting download of the full file when too long
|
|
54
|
+
- Presentation form: Full Markdown table (≤100 rows); better for filtering/sorting
|
|
55
|
+
- Downstream reuse: final step of the mutation-prediction chain (terminal)
|
|
56
|
+
## Output Template
|
|
57
|
+
|
|
58
|
+
- Title: **Multi-model result summary**
|
|
59
|
+
- Show the full summary table (≤100 rows, no truncation), column names restated in natural language
|
|
60
|
+
- Lead with the conclusion: positions where models agree/disagree; base final recommendations on the summary rather than restating single-model raw tables
|
|
61
|
+
- When more than 100 rows, prompt downloading the full file
|
|
62
|
+
|
|
63
|
+
## Boundaries & Failure Modes
|
|
64
|
+
|
|
65
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
66
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
67
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
68
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Surface Residue Charge Analysis (`huada_protein_tools` / `surface_charge`)
|
|
2
|
+
|
|
3
|
+
This endpoint is a real endpoint of the `huada_protein_tools` tool. It can only be
|
|
4
|
+
called via `delta-cli science invoke`; the business response described below lives
|
|
5
|
+
under the CLI top-level `data` — read fields as documented in this file, do not
|
|
6
|
+
recursively search. This file only documents the endpoint schema; it does not
|
|
7
|
+
authorize direct HTTP. Endpoint names are authoritative as returned by
|
|
8
|
+
`delta-cli science endpoints list huada_protein_tools`; use them verbatim — never
|
|
9
|
+
guess, truncate, or alias.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Analyze protein surface residue charges with ProCaliper + APBS.
|
|
14
|
+
- Required: `structure_file` (.pdb/.cif/.ent)
|
|
15
|
+
- Optional: `pH` (default 7.4), `forcefield` (default PARSE), `chain_ids` (e.g. 'A,B'),
|
|
16
|
+
`sasa_threshold` (default 20.0 Ų), `potential_threshold` (default 1.0 kT/e), `precision` (standard/high)
|
|
17
|
+
- ProCaliper computes SASA + PROPKA pKa to determine surface/buried status and charge type; pH affects PDB2PQR protonation (APBS) and charge-type determination
|
|
18
|
+
- APBS solves the electrostatic potential .dx grid → maps it back to surface residues, identifying charge patches
|
|
19
|
+
- Use case: analyze protein surface electrostatic properties, identify charge patches, assist binding-interface analysis
|
|
20
|
+
|
|
21
|
+
This endpoint's `resultjson` is a flat structure (tested, not an analysis/visualization wrapper):
|
|
22
|
+
|
|
23
|
+
- `negative_surface` / `positive_surface` / `net_surface_charge`: negative/positive/net charge residue counts
|
|
24
|
+
- `patch_count` / `patches[]`: charge patches (non-empty only when APBS is available)
|
|
25
|
+
- `residues[]`: per residue `chain` / `res3` / `seq` / `sasa` / `pka` / `charge_type` /
|
|
26
|
+
`is_surface` / `protonation_state` / `potential` / `potential_type` / `in_patch` / `patch_id`
|
|
27
|
+
- `sasa_threshold` / `surface_residues`: surface-determination threshold and surface residue count
|
|
28
|
+
- `pdb2pqr{pka_df[]}`: PROPKA pKa details; `procaliper{sasa, titration}`: SASA and titration state
|
|
29
|
+
- `apbs{status, message}`: electrostatic-potential solving status. When APBS is unavailable the overall
|
|
30
|
+
`status` is `partial`, `message` notes the reason (e.g. `APBS executable 'apbs' not found. Set APBS_BIN.`),
|
|
31
|
+
`potential` is null and `patch_count=0`; in that case report only the ProCaliper charge results and do
|
|
32
|
+
not misreport it as a call failure
|
|
33
|
+
- `download_url`: the electrostatic potential `.dx` grid download link when APBS is available
|
|
34
|
+
|
|
35
|
+
## Invocation
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
delta-cli science invoke --tool huada_protein_tools --endpoint surface_charge --data JSON
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Required input groups (at least one per group; all groups must be satisfied):
|
|
42
|
+
|
|
43
|
+
- `structure_file`
|
|
44
|
+
|
|
45
|
+
Request fields:
|
|
46
|
+
|
|
47
|
+
| Field | Description | Default |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| `structure_file` | PDB/CIF | - |
|
|
50
|
+
| `pH` | pH value; affects APBS protonation and residue charge-type determination | 7.4 |
|
|
51
|
+
| `forcefield` | PDB2PQR forcefield | PARSE |
|
|
52
|
+
| `chain_ids` | Select chains in multi-chain structures, e.g. A,B; default all chains | - |
|
|
53
|
+
| `sasa_threshold` | Surface residue SASA threshold (Ų) | 20.0 |
|
|
54
|
+
| `potential_threshold` | Potential polarity threshold (kT/e) | 1.0 |
|
|
55
|
+
| `precision` | Grid precision: standard / high | standard |
|
|
56
|
+
|
|
57
|
+
## Response
|
|
58
|
+
|
|
59
|
+
- CLI top-level envelope: a call succeeds only when the exit code is 0 AND `ok` is `true`; the service response lives under `data`.
|
|
60
|
+
- Server-side contract: `status` (success/error/partial), `message`, `tool_type`, `resultjson`, `download_url`; some endpoints also return `total_count`. `resultjson` may be a single object or an array — read only the keys documented in this file, do not recursively search.
|
|
61
|
+
- Binary/file artifacts (such as the PDB/XLSX/FASTA/ZIP files that `download_url` points to) are downloaded and verified with
|
|
62
|
+
`delta-cli science file download --tool huada_protein_tools --endpoint ... --output <path>`;
|
|
63
|
+
do not treat file contents as ordinary JSON results.
|
|
64
|
+
|
|
65
|
+
## Output Projection
|
|
66
|
+
|
|
67
|
+
> Verification status: verified by a real `delta-cli` invocation
|
|
68
|
+
|
|
69
|
+
- Projection content: Charge summary: negative_surface / positive_surface / net_surface_charge / surface_residues / patch_count / patches; residues[] details (sasa/pka/charge_type/is_surface)
|
|
70
|
+
- Presentation form: Text/table; when APBS is unavailable status=partial — report only ProCaliper results and explain why; download_url is the .dx grid (when APBS available)
|
|
71
|
+
- Downstream reuse: -
|
|
72
|
+
## Output Template
|
|
73
|
+
|
|
74
|
+
- Title: **Surface residue charge analysis result (ProCaliper + APBS)**
|
|
75
|
+
- Lead with the conclusion: net charge (positive/negative/net_surface_charge), surface residue count, charge patch count
|
|
76
|
+
- List key surface positive/negative-charge residues (with pKa/sasa)
|
|
77
|
+
- When APBS is unavailable (status=partial) state plainly that electrostatics were not solved and report only ProCaliper results; add the .dx grid (if any) to the "Result files & downloads" section
|
|
78
|
+
|
|
79
|
+
## Boundaries & Failure Modes
|
|
80
|
+
|
|
81
|
+
- File-type parameters (`structure_file`/`sequence_file`/`msa_file` etc.) take server-accessible URL/path strings, not local upload paths; a `download_url` or `pdb_url` returned by an upstream endpoint can be backfilled directly as downstream input.
|
|
82
|
+
- Make only the minimal calls needed to complete the task; `--data` carries only the fields declared by this endpoint. Do not invent enum values or branches beyond the required combinations.
|
|
83
|
+
- Do not pass off local tool (RDKit/pymatgen/LAMMPS/self-attached MCP) results as this endpoint's results; do not connect directly to Huada or gateway URLs.
|
|
84
|
+
- On failure, report a short summary of the CLI's raw error; do not blindly retry after remote computation timeouts (the outcome may be unknown because the task may already have happened).
|