@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,92 +1,92 @@
1
- #!/usr/bin/env python3
2
- """Read the authoritative Delta Science catalog through delta-cli."""
3
-
4
- from __future__ import annotations
5
-
6
- import argparse
7
- import json
8
- import os
9
- import subprocess
10
- import sys
11
- import time
12
-
13
- from invoke import _parse_cli_error, _resolve_cli, _runtime_config
14
-
15
-
16
- def _parser() -> argparse.ArgumentParser:
17
- parser = argparse.ArgumentParser(description=__doc__)
18
- action = parser.add_mutually_exclusive_group(required=True)
19
- action.add_argument("--tools", action="store_true")
20
- action.add_argument("--endpoints", metavar="TOOL")
21
- parser.add_argument("--cli")
22
- parser.add_argument("--science-base-url")
23
- parser.add_argument("--timeout", type=float, default=30.0)
24
- return parser
25
-
26
-
27
- def main() -> int:
28
- args = _parser().parse_args()
29
- started = time.perf_counter()
30
- kind = "tools" if args.tools else "endpoints"
31
- try:
32
- runtime = _runtime_config()
33
- cli = _resolve_cli(args.cli, runtime)
34
- env = os.environ.copy()
35
- base_url = args.science_base_url or runtime.get("science_base_url")
36
- if base_url:
37
- env["DELTA_INFRA_SCIENCE_BASE_URL"] = str(base_url)
38
-
39
- command = [cli, "science", "list"]
40
- if args.endpoints:
41
- command = [cli, "science", "endpoints", "list", args.endpoints]
42
- completed = subprocess.run(
43
- command,
44
- capture_output=True,
45
- text=True,
46
- encoding="utf-8",
47
- errors="replace",
48
- env=env,
49
- timeout=args.timeout,
50
- check=False,
51
- )
52
- if completed.returncode != 0:
53
- error_type, detail = _parse_cli_error(completed)
54
- raise RuntimeError(f"{error_type}: {detail}")
55
- root = json.loads(completed.stdout)
56
- if not isinstance(root, dict) or root.get("ok") is not True:
57
- raise RuntimeError(json.dumps(root, ensure_ascii=False))
58
- if "data" not in root:
59
- raise RuntimeError("CLI success envelope is missing data")
60
- print(json.dumps({
61
- "ok": True,
62
- "transport": "delta-cli",
63
- "catalog": kind,
64
- "tool": args.endpoints,
65
- "elapsed_seconds": round(time.perf_counter() - started, 3),
66
- "native": root["data"],
67
- }, ensure_ascii=False))
68
- return 0
69
- except subprocess.TimeoutExpired:
70
- error_type = "timeout"
71
- error = f"timeout after {args.timeout}s"
72
- except (OSError, ValueError, json.JSONDecodeError) as exc:
73
- error_type = "catalog"
74
- error = str(exc)
75
- except RuntimeError as exc:
76
- error_type = "cli"
77
- error = str(exc)
78
-
79
- print(json.dumps({
80
- "ok": False,
81
- "transport": "delta-cli",
82
- "catalog": kind,
83
- "tool": args.endpoints,
84
- "error_type": error_type,
85
- "elapsed_seconds": round(time.perf_counter() - started, 3),
86
- "error": error[:2000],
87
- }, ensure_ascii=False))
88
- return 1
89
-
90
-
91
- if __name__ == "__main__":
92
- sys.exit(main())
1
+ #!/usr/bin/env python3
2
+ """Read the authoritative Delta Science catalog through delta-cli."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import argparse
7
+ import json
8
+ import os
9
+ import subprocess
10
+ import sys
11
+ import time
12
+
13
+ from invoke import _parse_cli_error, _resolve_cli, _runtime_config
14
+
15
+
16
+ def _parser() -> argparse.ArgumentParser:
17
+ parser = argparse.ArgumentParser(description=__doc__)
18
+ action = parser.add_mutually_exclusive_group(required=True)
19
+ action.add_argument("--tools", action="store_true")
20
+ action.add_argument("--endpoints", metavar="TOOL")
21
+ parser.add_argument("--cli")
22
+ parser.add_argument("--science-base-url")
23
+ parser.add_argument("--timeout", type=float, default=30.0)
24
+ return parser
25
+
26
+
27
+ def main() -> int:
28
+ args = _parser().parse_args()
29
+ started = time.perf_counter()
30
+ kind = "tools" if args.tools else "endpoints"
31
+ try:
32
+ runtime = _runtime_config()
33
+ cli = _resolve_cli(args.cli, runtime)
34
+ env = os.environ.copy()
35
+ base_url = args.science_base_url or runtime.get("science_base_url")
36
+ if base_url:
37
+ env["DELTA_INFRA_SCIENCE_BASE_URL"] = str(base_url)
38
+
39
+ command = [cli, "science", "list"]
40
+ if args.endpoints:
41
+ command = [cli, "science", "endpoints", "list", args.endpoints]
42
+ completed = subprocess.run(
43
+ command,
44
+ capture_output=True,
45
+ text=True,
46
+ encoding="utf-8",
47
+ errors="replace",
48
+ env=env,
49
+ timeout=args.timeout,
50
+ check=False,
51
+ )
52
+ if completed.returncode != 0:
53
+ error_type, detail = _parse_cli_error(completed)
54
+ raise RuntimeError(f"{error_type}: {detail}")
55
+ root = json.loads(completed.stdout)
56
+ if not isinstance(root, dict) or root.get("ok") is not True:
57
+ raise RuntimeError(json.dumps(root, ensure_ascii=False))
58
+ if "data" not in root:
59
+ raise RuntimeError("CLI success envelope is missing data")
60
+ print(json.dumps({
61
+ "ok": True,
62
+ "transport": "delta-cli",
63
+ "catalog": kind,
64
+ "tool": args.endpoints,
65
+ "elapsed_seconds": round(time.perf_counter() - started, 3),
66
+ "native": root["data"],
67
+ }, ensure_ascii=False))
68
+ return 0
69
+ except subprocess.TimeoutExpired:
70
+ error_type = "timeout"
71
+ error = f"timeout after {args.timeout}s"
72
+ except (OSError, ValueError, json.JSONDecodeError) as exc:
73
+ error_type = "catalog"
74
+ error = str(exc)
75
+ except RuntimeError as exc:
76
+ error_type = "cli"
77
+ error = str(exc)
78
+
79
+ print(json.dumps({
80
+ "ok": False,
81
+ "transport": "delta-cli",
82
+ "catalog": kind,
83
+ "tool": args.endpoints,
84
+ "error_type": error_type,
85
+ "elapsed_seconds": round(time.perf_counter() - started, 3),
86
+ "error": error[:2000],
87
+ }, ensure_ascii=False))
88
+ return 1
89
+
90
+
91
+ if __name__ == "__main__":
92
+ sys.exit(main())
@@ -1,69 +1,69 @@
1
- """Generated Science catalog aliases. Do not edit by hand."""
2
-
3
- LEGACY_TOOL_ALIASES = {
4
- "synbo": "synbo-service",
5
- "antbo": "antbo-service",
6
- }
7
-
8
- LEGACY_ENDPOINTS = {
9
- "pubchem": {
10
- "health": "chem_pubchem_health",
11
- "compound-resolve-cids": "chem_pubchem_compound_resolve-cids",
12
- "compound-properties": "chem_pubchem_compound_properties",
13
- "compound-synonyms": "chem_pubchem_compound_synonyms",
14
- "compound-summary": "chem_pubchem_compound_summary",
15
- "compound-batch-summary": "chem_pubchem_compound_batch-summary",
16
- },
17
- "rdkit": {
18
- "health": "chem_rdkit_health",
19
- "parse": "chem_rdkit_parse",
20
- "descriptors": "chem_rdkit_descriptors",
21
- "batch-descriptors": "chem_rdkit_batch-descriptors",
22
- "batch-parse-describe": "chem_rdkit_batch-parse-describe",
23
- "render": "chem_rdkit_render",
24
- "fingerprint": "chem_rdkit_fingerprint",
25
- "similarity": "chem_rdkit_similarity",
26
- "similarity-matrix": "chem_rdkit_similarity-matrix",
27
- "substructure": "chem_rdkit_substructure",
28
- },
29
- "pymatgen": {
30
- "health": "chem_pymatgen_health",
31
- "composition-parse": "chem_pymatgen_composition_parse",
32
- "structure-parse": "chem_pymatgen_structure_parse",
33
- "structure-summary": "chem_pymatgen_structure_summary",
34
- "structure-convert": "chem_pymatgen_structure_convert",
35
- "structure-symmetry": "chem_pymatgen_structure_symmetry",
36
- },
37
- "gsasii": {
38
- "health": "chem_gsasii_health",
39
- "powder-simulate": "chem_gsasii_powder_simulate",
40
- "powder-refine": "chem_gsasii_powder_refine",
41
- },
42
- "lammps": {
43
- "health": "chem_lammps_health",
44
- "lj-melt-example": "chem_lammps_examples_lj-melt",
45
- "run": "chem_lammps_run",
46
- },
47
- "delta-bo": {
48
- "commands": "chem_delta-bo_commands",
49
- "generate": "chem_delta-bo_generate",
50
- },
51
- "ldm-bo": {
52
- "health": "chem_ldm-bo_health",
53
- "recommend": "chem_ldm-bo_recommend",
54
- "trajectory": "chem_ldm-bo_trajectory",
55
- },
56
- "synbo": {
57
- "health": "chem_synbo_health",
58
- "initialize": "chem_synbo_initialize",
59
- "optimize": "chem_synbo_optimize",
60
- },
61
- "antbo": {
62
- "health": "biology_antbo_health",
63
- "run-default-job": "biology_antbo_run_default_job",
64
- "run": "biology_antbo_run",
65
- "log": "biology_antbo_log",
66
- "jobs": "biology_antbo_jobs",
67
- "stop": "biology_antbo_stop",
68
- },
69
- }
1
+ """Generated Science catalog aliases. Do not edit by hand."""
2
+
3
+ LEGACY_TOOL_ALIASES = {
4
+ "synbo": "synbo-service",
5
+ "antbo": "antbo-service",
6
+ }
7
+
8
+ LEGACY_ENDPOINTS = {
9
+ "pubchem": {
10
+ "health": "chem_pubchem_health",
11
+ "compound-resolve-cids": "chem_pubchem_compound_resolve-cids",
12
+ "compound-properties": "chem_pubchem_compound_properties",
13
+ "compound-synonyms": "chem_pubchem_compound_synonyms",
14
+ "compound-summary": "chem_pubchem_compound_summary",
15
+ "compound-batch-summary": "chem_pubchem_compound_batch-summary",
16
+ },
17
+ "rdkit": {
18
+ "health": "chem_rdkit_health",
19
+ "parse": "chem_rdkit_parse",
20
+ "descriptors": "chem_rdkit_descriptors",
21
+ "batch-descriptors": "chem_rdkit_batch-descriptors",
22
+ "batch-parse-describe": "chem_rdkit_batch-parse-describe",
23
+ "render": "chem_rdkit_render",
24
+ "fingerprint": "chem_rdkit_fingerprint",
25
+ "similarity": "chem_rdkit_similarity",
26
+ "similarity-matrix": "chem_rdkit_similarity-matrix",
27
+ "substructure": "chem_rdkit_substructure",
28
+ },
29
+ "pymatgen": {
30
+ "health": "chem_pymatgen_health",
31
+ "composition-parse": "chem_pymatgen_composition_parse",
32
+ "structure-parse": "chem_pymatgen_structure_parse",
33
+ "structure-summary": "chem_pymatgen_structure_summary",
34
+ "structure-convert": "chem_pymatgen_structure_convert",
35
+ "structure-symmetry": "chem_pymatgen_structure_symmetry",
36
+ },
37
+ "gsasii": {
38
+ "health": "chem_gsasii_health",
39
+ "powder-simulate": "chem_gsasii_powder_simulate",
40
+ "powder-refine": "chem_gsasii_powder_refine",
41
+ },
42
+ "lammps": {
43
+ "health": "chem_lammps_health",
44
+ "lj-melt-example": "chem_lammps_examples_lj-melt",
45
+ "run": "chem_lammps_run",
46
+ },
47
+ "delta-bo": {
48
+ "commands": "chem_delta-bo_commands",
49
+ "generate": "chem_delta-bo_generate",
50
+ },
51
+ "ldm-bo": {
52
+ "health": "chem_ldm-bo_health",
53
+ "recommend": "chem_ldm-bo_recommend",
54
+ "trajectory": "chem_ldm-bo_trajectory",
55
+ },
56
+ "synbo": {
57
+ "health": "chem_synbo_health",
58
+ "initialize": "chem_synbo_initialize",
59
+ "optimize": "chem_synbo_optimize",
60
+ },
61
+ "antbo": {
62
+ "health": "biology_antbo_health",
63
+ "run-default-job": "biology_antbo_run_default_job",
64
+ "run": "biology_antbo_run",
65
+ "log": "biology_antbo_log",
66
+ "jobs": "biology_antbo_jobs",
67
+ "stop": "biology_antbo_stop",
68
+ },
69
+ }