@delta-infra/cli 1.1.19 → 1.1.23

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 +511 -520
  2. package/checksums.txt +5 -5
  3. package/package.json +1 -1
  4. package/scripts/install-wizard.js +689 -688
  5. package/scripts/install.js +442 -442
  6. package/scripts/run.js +65 -65
  7. package/skills/delta-protein/AGENTS.md +72 -72
  8. package/skills/delta-protein/SKILL.md +388 -388
  9. package/skills/delta-protein/agents/openai.yaml +3 -3
  10. package/skills/delta-protein/references/bfitter.md +63 -63
  11. package/skills/delta-protein/references/catapro_predict.md +62 -62
  12. package/skills/delta-protein/references/catpred_predict.md +64 -64
  13. package/skills/delta-protein/references/caver_tunnel_analyze.md +62 -62
  14. package/skills/delta-protein/references/consensus_mutation.md +60 -60
  15. package/skills/delta-protein/references/consurf_predict.md +66 -66
  16. package/skills/delta-protein/references/crop_sequence.md +68 -68
  17. package/skills/delta-protein/references/dock.md +81 -81
  18. package/skills/delta-protein/references/dock_score.md +69 -69
  19. package/skills/delta-protein/references/easifa_predict_active_site.md +69 -69
  20. package/skills/delta-protein/references/ephod_predict_mutation.md +65 -65
  21. package/skills/delta-protein/references/ephod_predict_protein.md +60 -60
  22. package/skills/delta-protein/references/esmfold2_predict.md +66 -66
  23. package/skills/delta-protein/references/evcouplings_mutation.md +63 -63
  24. package/skills/delta-protein/references/fasta_to_sequence.md +58 -58
  25. package/skills/delta-protein/references/foldseek.md +60 -60
  26. package/skills/delta-protein/references/generate_msa.md +60 -60
  27. package/skills/delta-protein/references/interpro_analyze.md +62 -62
  28. package/skills/delta-protein/references/mpnn_design_sequence.md +70 -70
  29. package/skills/delta-protein/references/multievolve.md +72 -72
  30. package/skills/delta-protein/references/pisa_query.md +69 -69
  31. package/skills/delta-protein/references/plip_analyze.md +64 -64
  32. package/skills/delta-protein/references/pocket_prediction.md +62 -62
  33. package/skills/delta-protein/references/protein_design.md +64 -64
  34. package/skills/delta-protein/references/protein_evolution.md +76 -76
  35. package/skills/delta-protein/references/protein_sol_predict_mutation.md +65 -65
  36. package/skills/delta-protein/references/protein_sol_predict_protein.md +60 -60
  37. package/skills/delta-protein/references/protenix.md +65 -65
  38. package/skills/delta-protein/references/protrek_search.md +89 -89
  39. package/skills/delta-protein/references/pubchem_search.md +67 -67
  40. package/skills/delta-protein/references/pubmed_search.md +78 -78
  41. package/skills/delta-protein/references/reap_design_primer.md +68 -68
  42. package/skills/delta-protein/references/rfd3_design.md +64 -64
  43. package/skills/delta-protein/references/structure_to_sequence.md +60 -60
  44. package/skills/delta-protein/references/summarize_result.md +67 -67
  45. package/skills/delta-protein/references/surface_charge.md +83 -83
  46. package/skills/delta-protein/references/uniprot_batch_query.md +62 -62
  47. package/skills/delta-protein/references/uniprot_query.md +63 -63
  48. package/skills/delta-protein/references/zero_shot_mutant_candidates.md +75 -75
  49. package/skills/delta-protein/scripts/gen_references.py +166 -166
  50. package/skills/delta-protein/scripts/output_metadata.json +274 -274
  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 +71 -58
  54. package/skills/delta-sandbox/references/lifecycle.md +101 -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 +154 -170
  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 +115 -113
  76. package/skills/delta-shared/agents/openai.yaml +4 -4
  77. package/skills/manifest.json +20 -20
@@ -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
+ }