@delta-infra/cli 1.1.18 → 1.1.21

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.
Files changed (77) hide show
  1. package/README.md +507 -513
  2. package/checksums.txt +5 -5
  3. package/package.json +3 -2
  4. package/scripts/install-wizard.js +689 -701
  5. package/scripts/install.js +442 -442
  6. package/scripts/run.js +65 -65
  7. package/skills/delta-protein/AGENTS.md +73 -0
  8. package/skills/delta-protein/SKILL.md +389 -0
  9. package/skills/delta-protein/agents/openai.yaml +4 -0
  10. package/skills/delta-protein/references/bfitter.md +64 -0
  11. package/skills/delta-protein/references/catapro_predict.md +63 -0
  12. package/skills/delta-protein/references/catpred_predict.md +65 -0
  13. package/skills/delta-protein/references/caver_tunnel_analyze.md +63 -0
  14. package/skills/delta-protein/references/consensus_mutation.md +61 -0
  15. package/skills/delta-protein/references/consurf_predict.md +67 -0
  16. package/skills/delta-protein/references/crop_sequence.md +69 -0
  17. package/skills/delta-protein/references/dock.md +82 -0
  18. package/skills/delta-protein/references/dock_score.md +70 -0
  19. package/skills/delta-protein/references/easifa_predict_active_site.md +70 -0
  20. package/skills/delta-protein/references/ephod_predict_mutation.md +66 -0
  21. package/skills/delta-protein/references/ephod_predict_protein.md +61 -0
  22. package/skills/delta-protein/references/esmfold2_predict.md +67 -0
  23. package/skills/delta-protein/references/evcouplings_mutation.md +64 -0
  24. package/skills/delta-protein/references/fasta_to_sequence.md +59 -0
  25. package/skills/delta-protein/references/foldseek.md +61 -0
  26. package/skills/delta-protein/references/generate_msa.md +61 -0
  27. package/skills/delta-protein/references/interpro_analyze.md +63 -0
  28. package/skills/delta-protein/references/mpnn_design_sequence.md +71 -0
  29. package/skills/delta-protein/references/multievolve.md +73 -0
  30. package/skills/delta-protein/references/pisa_query.md +70 -0
  31. package/skills/delta-protein/references/plip_analyze.md +65 -0
  32. package/skills/delta-protein/references/pocket_prediction.md +63 -0
  33. package/skills/delta-protein/references/protein_design.md +65 -0
  34. package/skills/delta-protein/references/protein_evolution.md +77 -0
  35. package/skills/delta-protein/references/protein_sol_predict_mutation.md +66 -0
  36. package/skills/delta-protein/references/protein_sol_predict_protein.md +61 -0
  37. package/skills/delta-protein/references/protenix.md +66 -0
  38. package/skills/delta-protein/references/protrek_search.md +90 -0
  39. package/skills/delta-protein/references/pubchem_search.md +68 -0
  40. package/skills/delta-protein/references/pubmed_search.md +79 -0
  41. package/skills/delta-protein/references/reap_design_primer.md +69 -0
  42. package/skills/delta-protein/references/rfd3_design.md +65 -0
  43. package/skills/delta-protein/references/structure_to_sequence.md +61 -0
  44. package/skills/delta-protein/references/summarize_result.md +68 -0
  45. package/skills/delta-protein/references/surface_charge.md +84 -0
  46. package/skills/delta-protein/references/uniprot_batch_query.md +63 -0
  47. package/skills/delta-protein/references/uniprot_query.md +64 -0
  48. package/skills/delta-protein/references/zero_shot_mutant_candidates.md +76 -0
  49. package/skills/delta-protein/scripts/gen_references.py +167 -0
  50. package/skills/delta-protein/scripts/output_metadata.json +275 -0
  51. package/skills/delta-sandbox/SKILL.md +388 -388
  52. package/skills/delta-sandbox/agents/openai.yaml +4 -4
  53. package/skills/delta-sandbox/references/commands.md +58 -58
  54. package/skills/delta-sandbox/references/lifecycle.md +100 -100
  55. package/skills/delta-sandbox/references/recipes.md +138 -138
  56. package/skills/delta-science/AGENTS.md +47 -47
  57. package/skills/delta-science/SKILL.md +227 -227
  58. package/skills/delta-science/agents/openai.yaml +4 -4
  59. package/skills/delta-science/references/antbo.md +105 -105
  60. package/skills/delta-science/references/delta-bo.md +92 -92
  61. package/skills/delta-science/references/gsasii.md +118 -118
  62. package/skills/delta-science/references/lammps.md +68 -68
  63. package/skills/delta-science/references/ldm-bo.md +132 -132
  64. package/skills/delta-science/references/materials-design.md +130 -130
  65. package/skills/delta-science/references/pubchem.md +128 -128
  66. package/skills/delta-science/references/pymatgen.md +69 -69
  67. package/skills/delta-science/references/qe.md +134 -134
  68. package/skills/delta-science/references/rdkit.md +141 -141
  69. package/skills/delta-science/references/strbo.md +95 -95
  70. package/skills/delta-science/references/synbo.md +201 -201
  71. package/skills/delta-science/references/xrd.md +688 -197
  72. package/skills/delta-science/scripts/catalog.py +92 -92
  73. package/skills/delta-science/scripts/generated_catalog.py +69 -69
  74. package/skills/delta-science/scripts/invoke.py +346 -346
  75. package/skills/delta-shared/SKILL.md +113 -113
  76. package/skills/delta-shared/agents/openai.yaml +4 -4
  77. package/skills/manifest.json +20 -19
@@ -1,141 +1,141 @@
1
- # RDKit reference
2
-
3
- Call this tool only through `delta-cli science invoke`. Business responses are in the top-level
4
- CLI `data`; read only the fields described here and do not search recursively. This document
5
- records operation schemas and does not authorise direct HTTP access.
6
-
7
- Make only the calls needed to meet the request. To validate, canonicalise and calculate basic
8
- descriptors in one request, use `batch-parse-describe` with the `molecules:[{id,smiles}]` payload;
9
- do not split it into parse and descriptors calls. For all-pairs similarity across multiple
10
- molecules, use one `similarity-matrix` call. Its fixed ranking fields are `a`, `b` and
11
- `similarity`, not `i`, `j` or `score`.
12
-
13
- Report only descriptors actually present in the business response. When rendering a PNG, decode
14
- only the field specified in the documentation and verify that the bytes begin with
15
- `89 50 4e 47 0d 0a 1a 0a`; do not save a JSON envelope as an image.
16
-
17
- ## Health
18
-
19
- Operation: `health`; no request body.
20
-
21
- ## Parse
22
-
23
- Operation: `parse`.
24
-
25
- ```json
26
- {"input": "CCO", "format": "smiles", "sanitize": true}
27
- ```
28
-
29
- Formats: `smiles`, `inchi`, `molblock`.
30
-
31
- Key response fields in `data`: `valid`, `canonical_smiles`, `formula`,
32
- `molecular_weight`, `exact_molecular_weight`, `inchi_key`, `atom_count`,
33
- `heavy_atom_count`, `bond_count`, `warnings`, `error`.
34
-
35
- ## Descriptors
36
-
37
- Operation: `descriptors`.
38
-
39
- ```json
40
- {"smiles": "CCO", "descriptor_set": "basic", "sanitize": true}
41
- ```
42
-
43
- `descriptor_set` currently supports `basic`. Descriptor keys include `Formula`,
44
- `MolWt`, `ExactMolWt`, `HeavyAtomMolWt`, `TPSA`, `MolLogP`, `NumHDonors`,
45
- `NumHAcceptors`, `NumRotatableBonds`, `RingCount`, `FractionCSP3`,
46
- `HeavyAtomCount`, `AtomCount`, and `BondCount`.
47
-
48
- ## Batch Descriptors
49
-
50
- Operation: `batch-descriptors`.
51
-
52
- ```json
53
- {"smiles": ["CCO", "c1ccccc1"], "descriptor_set": "basic", "sanitize": true}
54
- ```
55
-
56
- Limits: 1-500 SMILES.
57
-
58
- ## Batch Parse Describe
59
-
60
- Operation: `batch-parse-describe`.
61
-
62
- ```json
63
- {
64
- "molecules": [
65
- {"id": "aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
66
- {"id": "caffeine", "smiles": "Cn1cnc2c1c(=O)n(C)c(=O)n2C"}
67
- ],
68
- "descriptor_set": "basic",
69
- "fingerprint": {"type": "morgan", "radius": 2, "n_bits": 2048},
70
- "sanitize": true
71
- }
72
- ```
73
-
74
- Limits: 1-500 molecules. Returns per-item `valid`, `canonical_smiles`, parse
75
- fields, `descriptors`, optional `fingerprint_metadata`, `on_bits`, `bit_count`,
76
- `warnings`, and `error`.
77
-
78
- ## Render
79
-
80
- Operation: `render`.
81
-
82
- ```json
83
- {"smiles": "CCO", "image_format": "svg", "width": 450, "height": 320}
84
- ```
85
-
86
- Image formats: `svg`, `png`. SVG returns text; PNG returns base64.
87
- Width/height range: 150-2000.
88
-
89
- ## Fingerprint
90
-
91
- Operation: `fingerprint`.
92
-
93
- ```json
94
- {"smiles": "CCO", "radius": 2, "n_bits": 2048}
95
- ```
96
-
97
- Morgan fingerprint parameters: `radius` 1-6, `n_bits` 128-8192.
98
-
99
- ## Similarity
100
-
101
- Operation: `similarity`.
102
-
103
- ```json
104
- {"query_smiles": "CCO", "target_smiles": "CCCO", "radius": 2, "n_bits": 2048}
105
- ```
106
-
107
- Returns Tanimoto similarity.
108
-
109
- ## Similarity Matrix
110
-
111
- Operation: `similarity-matrix`.
112
-
113
- ```json
114
- {
115
- "molecules": [
116
- {"id": "aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
117
- {"id": "ibuprofen", "smiles": "CC(C)Cc1ccc(cc1)[C@@H](C)C(=O)O"}
118
- ],
119
- "fingerprint": {"type": "morgan", "radius": 2, "n_bits": 2048},
120
- "sanitize": true
121
- }
122
- ```
123
-
124
- Returns `matrix` in input order and `ranked_pairs` sorted by descending
125
- Tanimoto similarity. Each ranked record is named, not index-based:
126
-
127
- ```json
128
- {"a":"aspirin","b":"ibuprofen","similarity":0.195122}
129
- ```
130
-
131
- Do not expect `i`, `j`, or `score` fields.
132
-
133
- ## Substructure
134
-
135
- Operation: `substructure`.
136
-
137
- ```json
138
- {"query_smarts": "c1ccccc1", "target_smiles": ["c1ccccc1", "CCO"]}
139
- ```
140
-
141
- Limits: SMARTS max length 5000; target list size 1-500.
1
+ # RDKit reference
2
+
3
+ Call this tool only through `delta-cli science invoke`. Business responses are in the top-level
4
+ CLI `data`; read only the fields described here and do not search recursively. This document
5
+ records operation schemas and does not authorise direct HTTP access.
6
+
7
+ Make only the calls needed to meet the request. To validate, canonicalise and calculate basic
8
+ descriptors in one request, use `batch-parse-describe` with the `molecules:[{id,smiles}]` payload;
9
+ do not split it into parse and descriptors calls. For all-pairs similarity across multiple
10
+ molecules, use one `similarity-matrix` call. Its fixed ranking fields are `a`, `b` and
11
+ `similarity`, not `i`, `j` or `score`.
12
+
13
+ Report only descriptors actually present in the business response. When rendering a PNG, decode
14
+ only the field specified in the documentation and verify that the bytes begin with
15
+ `89 50 4e 47 0d 0a 1a 0a`; do not save a JSON envelope as an image.
16
+
17
+ ## Health
18
+
19
+ Operation: `health`; no request body.
20
+
21
+ ## Parse
22
+
23
+ Operation: `parse`.
24
+
25
+ ```json
26
+ {"input": "CCO", "format": "smiles", "sanitize": true}
27
+ ```
28
+
29
+ Formats: `smiles`, `inchi`, `molblock`.
30
+
31
+ Key response fields in `data`: `valid`, `canonical_smiles`, `formula`,
32
+ `molecular_weight`, `exact_molecular_weight`, `inchi_key`, `atom_count`,
33
+ `heavy_atom_count`, `bond_count`, `warnings`, `error`.
34
+
35
+ ## Descriptors
36
+
37
+ Operation: `descriptors`.
38
+
39
+ ```json
40
+ {"smiles": "CCO", "descriptor_set": "basic", "sanitize": true}
41
+ ```
42
+
43
+ `descriptor_set` currently supports `basic`. Descriptor keys include `Formula`,
44
+ `MolWt`, `ExactMolWt`, `HeavyAtomMolWt`, `TPSA`, `MolLogP`, `NumHDonors`,
45
+ `NumHAcceptors`, `NumRotatableBonds`, `RingCount`, `FractionCSP3`,
46
+ `HeavyAtomCount`, `AtomCount`, and `BondCount`.
47
+
48
+ ## Batch Descriptors
49
+
50
+ Operation: `batch-descriptors`.
51
+
52
+ ```json
53
+ {"smiles": ["CCO", "c1ccccc1"], "descriptor_set": "basic", "sanitize": true}
54
+ ```
55
+
56
+ Limits: 1-500 SMILES.
57
+
58
+ ## Batch Parse Describe
59
+
60
+ Operation: `batch-parse-describe`.
61
+
62
+ ```json
63
+ {
64
+ "molecules": [
65
+ {"id": "aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
66
+ {"id": "caffeine", "smiles": "Cn1cnc2c1c(=O)n(C)c(=O)n2C"}
67
+ ],
68
+ "descriptor_set": "basic",
69
+ "fingerprint": {"type": "morgan", "radius": 2, "n_bits": 2048},
70
+ "sanitize": true
71
+ }
72
+ ```
73
+
74
+ Limits: 1-500 molecules. Returns per-item `valid`, `canonical_smiles`, parse
75
+ fields, `descriptors`, optional `fingerprint_metadata`, `on_bits`, `bit_count`,
76
+ `warnings`, and `error`.
77
+
78
+ ## Render
79
+
80
+ Operation: `render`.
81
+
82
+ ```json
83
+ {"smiles": "CCO", "image_format": "svg", "width": 450, "height": 320}
84
+ ```
85
+
86
+ Image formats: `svg`, `png`. SVG returns text; PNG returns base64.
87
+ Width/height range: 150-2000.
88
+
89
+ ## Fingerprint
90
+
91
+ Operation: `fingerprint`.
92
+
93
+ ```json
94
+ {"smiles": "CCO", "radius": 2, "n_bits": 2048}
95
+ ```
96
+
97
+ Morgan fingerprint parameters: `radius` 1-6, `n_bits` 128-8192.
98
+
99
+ ## Similarity
100
+
101
+ Operation: `similarity`.
102
+
103
+ ```json
104
+ {"query_smiles": "CCO", "target_smiles": "CCCO", "radius": 2, "n_bits": 2048}
105
+ ```
106
+
107
+ Returns Tanimoto similarity.
108
+
109
+ ## Similarity Matrix
110
+
111
+ Operation: `similarity-matrix`.
112
+
113
+ ```json
114
+ {
115
+ "molecules": [
116
+ {"id": "aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
117
+ {"id": "ibuprofen", "smiles": "CC(C)Cc1ccc(cc1)[C@@H](C)C(=O)O"}
118
+ ],
119
+ "fingerprint": {"type": "morgan", "radius": 2, "n_bits": 2048},
120
+ "sanitize": true
121
+ }
122
+ ```
123
+
124
+ Returns `matrix` in input order and `ranked_pairs` sorted by descending
125
+ Tanimoto similarity. Each ranked record is named, not index-based:
126
+
127
+ ```json
128
+ {"a":"aspirin","b":"ibuprofen","similarity":0.195122}
129
+ ```
130
+
131
+ Do not expect `i`, `j`, or `score` fields.
132
+
133
+ ## Substructure
134
+
135
+ Operation: `substructure`.
136
+
137
+ ```json
138
+ {"query_smarts": "c1ccccc1", "target_smiles": ["c1ccccc1", "CCO"]}
139
+ ```
140
+
141
+ Limits: SMARTS max length 5000; target list size 1-500.
@@ -1,95 +1,95 @@
1
- # STRBO reference
2
-
3
- STRBO performs generative multi-objective optimisation for the server-fixed **KRAS G12D**
4
- target. The objective order is fixed as `[vina, activity]`: lower Vina is better and higher
5
- activity is better. `task` guides candidate generation but does not change the target; do not
6
- claim that user-defined receptors are supported.
7
-
8
- Use `tool="strbo"` for every call. Generation, suggestion, evaluation and job submission consume
9
- remote resources, so call them only when the user actually asks for the relevant research task.
10
- Do not retry if the outcome is unknown or the request times out.
11
-
12
- ## Initialisation
13
-
14
- - Synchronous operation: `molecules-init`
15
- - Asynchronous operation: `molecules-init-job`
16
- - Validation-only operation: `molecules-init-validate`
17
-
18
- ```json
19
- {
20
- "task": "Generate candidate small molecules for KRAS G12D that balance binding and activity",
21
- "num_initial": 3,
22
- "seed": 42
23
- }
24
- ```
25
-
26
- Use validate only when you need to check parameters. For a full run, do not validate before
27
- submitting; that would make an unnecessary call. A successful result should contain the same
28
- number of candidate SMILES as `num_initial`.
29
-
30
- ## Suggest the next batch of candidates
31
-
32
- - Synchronous operation: `molecules-suggest`
33
- - Asynchronous operation: `molecules-suggest-job` (prefer it for heavy tasks)
34
- - Validation-only operation: `molecules-suggest-validate`
35
-
36
- ```json
37
- {
38
- "task": "Continue improving binding and activity for KRAS G12D",
39
- "history_xs": ["CCO", "CCN", "CCC"],
40
- "history_ys": [
41
- [-6.8, 0.31],
42
- [-7.1, 0.42],
43
- [-6.5, 0.28]
44
- ],
45
- "num_suggestions": 2,
46
- "seed": 42
47
- }
48
- ```
49
-
50
- `history_xs` and `history_ys` must have the same length. Each `history_ys` item must contain two
51
- finite numbers in the exact order `[vina, activity]`. Do not present predictions as wet-lab results.
52
-
53
- ## Evaluate candidates
54
-
55
- - Synchronous operation: `molecules-evaluate`
56
- - Asynchronous operation: `molecules-evaluate-job`
57
- - Validation-only operation: `molecules-evaluate-validate`
58
-
59
- ```json
60
- {
61
- "designs": ["CCO", "CCN"]
62
- }
63
- ```
64
-
65
- The number of scores in a successful result must match the number of designs, with exactly two
66
- finite numbers per row. If any item explicitly fails, treat the entire run as failed; do not
67
- report only the successful subset.
68
-
69
- ## Asynchronous jobs
70
-
71
- After submitting an asynchronous operation, read a non-empty `job_id` from the current business
72
- response, then poll:
73
-
74
- ```text
75
- delta-cli science invoke --tool strbo --endpoint job-status --params JSON
76
- ```
77
-
78
- Read the result only once the status changes to `succeeded`:
79
-
80
- ```text
81
- delta-cli science invoke --tool strbo --endpoint job-result --params JSON
82
- ```
83
-
84
- `queued` and `running` do not mean the job is complete; stop immediately on `failed`. Status
85
- queries may be repeated at intervals of about five seconds, but never repeat the submission
86
- operation. The total wait for one user task is limited to 15 minutes. If that limit is reached,
87
- report that the job is still incomplete and retain its `job_id`; do not claim it was cancelled
88
- remotely.
89
-
90
- ## Complete research workflow
91
-
92
- When the user explicitly asks for a complete iteration, run `initialise → evaluate → suggest →
93
- evaluate` sequentially. Use only verified business responses from the current calls as inputs to
94
- the next step. If the user asks only for initial candidates or evaluation of supplied SMILES, do
95
- not expand the task into a full loop.
1
+ # STRBO reference
2
+
3
+ STRBO performs generative multi-objective optimisation for the server-fixed **KRAS G12D**
4
+ target. The objective order is fixed as `[vina, activity]`: lower Vina is better and higher
5
+ activity is better. `task` guides candidate generation but does not change the target; do not
6
+ claim that user-defined receptors are supported.
7
+
8
+ Use `tool="strbo"` for every call. Generation, suggestion, evaluation and job submission consume
9
+ remote resources, so call them only when the user actually asks for the relevant research task.
10
+ Do not retry if the outcome is unknown or the request times out.
11
+
12
+ ## Initialisation
13
+
14
+ - Synchronous operation: `molecules-init`
15
+ - Asynchronous operation: `molecules-init-job`
16
+ - Validation-only operation: `molecules-init-validate`
17
+
18
+ ```json
19
+ {
20
+ "task": "Generate candidate small molecules for KRAS G12D that balance binding and activity",
21
+ "num_initial": 3,
22
+ "seed": 42
23
+ }
24
+ ```
25
+
26
+ Use validate only when you need to check parameters. For a full run, do not validate before
27
+ submitting; that would make an unnecessary call. A successful result should contain the same
28
+ number of candidate SMILES as `num_initial`.
29
+
30
+ ## Suggest the next batch of candidates
31
+
32
+ - Synchronous operation: `molecules-suggest`
33
+ - Asynchronous operation: `molecules-suggest-job` (prefer it for heavy tasks)
34
+ - Validation-only operation: `molecules-suggest-validate`
35
+
36
+ ```json
37
+ {
38
+ "task": "Continue improving binding and activity for KRAS G12D",
39
+ "history_xs": ["CCO", "CCN", "CCC"],
40
+ "history_ys": [
41
+ [-6.8, 0.31],
42
+ [-7.1, 0.42],
43
+ [-6.5, 0.28]
44
+ ],
45
+ "num_suggestions": 2,
46
+ "seed": 42
47
+ }
48
+ ```
49
+
50
+ `history_xs` and `history_ys` must have the same length. Each `history_ys` item must contain two
51
+ finite numbers in the exact order `[vina, activity]`. Do not present predictions as wet-lab results.
52
+
53
+ ## Evaluate candidates
54
+
55
+ - Synchronous operation: `molecules-evaluate`
56
+ - Asynchronous operation: `molecules-evaluate-job`
57
+ - Validation-only operation: `molecules-evaluate-validate`
58
+
59
+ ```json
60
+ {
61
+ "designs": ["CCO", "CCN"]
62
+ }
63
+ ```
64
+
65
+ The number of scores in a successful result must match the number of designs, with exactly two
66
+ finite numbers per row. If any item explicitly fails, treat the entire run as failed; do not
67
+ report only the successful subset.
68
+
69
+ ## Asynchronous jobs
70
+
71
+ After submitting an asynchronous operation, read a non-empty `job_id` from the current business
72
+ response, then poll:
73
+
74
+ ```text
75
+ delta-cli science invoke --tool strbo --endpoint job-status --params JSON
76
+ ```
77
+
78
+ Read the result only once the status changes to `succeeded`:
79
+
80
+ ```text
81
+ delta-cli science invoke --tool strbo --endpoint job-result --params JSON
82
+ ```
83
+
84
+ `queued` and `running` do not mean the job is complete; stop immediately on `failed`. Status
85
+ queries may be repeated at intervals of about five seconds, but never repeat the submission
86
+ operation. The total wait for one user task is limited to 15 minutes. If that limit is reached,
87
+ report that the job is still incomplete and retain its `job_id`; do not claim it was cancelled
88
+ remotely.
89
+
90
+ ## Complete research workflow
91
+
92
+ When the user explicitly asks for a complete iteration, run `initialise → evaluate → suggest →
93
+ evaluate` sequentially. Use only verified business responses from the current calls as inputs to
94
+ the next step. If the user asks only for initial candidates or evaluation of supplied SMILES, do
95
+ not expand the task into a full loop.