@delta-infra/cli 1.0.75 → 1.0.77

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 (54) hide show
  1. package/README.md +427 -411
  2. package/checksums.txt +5 -5
  3. package/package.json +2 -1
  4. package/scripts/install-wizard.js +596 -596
  5. package/scripts/install.js +400 -400
  6. package/scripts/run.js +65 -65
  7. package/skills/antbo-ldm-guard/SKILL.md +58 -54
  8. package/skills/antbo-ldm-guard/agents/openai.yaml +4 -4
  9. package/skills/antbo-service/SKILL.md +79 -74
  10. package/skills/antbo-service/agents/openai.yaml +4 -4
  11. package/skills/antbo-service/references/operations.md +45 -45
  12. package/skills/delta-bo/SKILL.md +36 -31
  13. package/skills/delta-bo/agents/openai.yaml +4 -4
  14. package/skills/delta-bo/references/endpoints.md +263 -263
  15. package/skills/delta-sandbox/SKILL.md +356 -356
  16. package/skills/delta-sandbox/agents/openai.yaml +4 -4
  17. package/skills/delta-sandbox/references/commands.md +56 -56
  18. package/skills/delta-sandbox/references/lifecycle.md +92 -92
  19. package/skills/delta-sandbox/references/recipes.md +133 -133
  20. package/skills/delta-science/SKILL.md +171 -166
  21. package/skills/delta-science/agents/openai.yaml +4 -4
  22. package/skills/delta-science/references/cli-contract.md +84 -84
  23. package/skills/delta-science/references/generated-catalog.md +48 -0
  24. package/skills/delta-science/references/services.md +112 -112
  25. package/skills/delta-science/references/workflows.md +44 -44
  26. package/skills/delta-science/scripts/generated_catalog.py +69 -0
  27. package/skills/delta-science/scripts/invoke.py +263 -329
  28. package/skills/delta-shared/SKILL.md +95 -95
  29. package/skills/delta-shared/agents/openai.yaml +4 -4
  30. package/skills/gsasii/SKILL.md +42 -37
  31. package/skills/gsasii/agents/openai.yaml +4 -4
  32. package/skills/gsasii/references/endpoints.md +130 -130
  33. package/skills/lammps/SKILL.md +39 -34
  34. package/skills/lammps/agents/openai.yaml +4 -4
  35. package/skills/lammps/references/endpoints.md +61 -61
  36. package/skills/ldm-bo/SKILL.md +35 -30
  37. package/skills/ldm-bo/agents/openai.yaml +4 -4
  38. package/skills/ldm-bo/references/endpoints.md +127 -127
  39. package/skills/manifest.json +17 -17
  40. package/skills/pubchem/SKILL.md +93 -88
  41. package/skills/pubchem/agents/openai.yaml +4 -4
  42. package/skills/pubchem/references/endpoints.md +122 -122
  43. package/skills/pubchem/references/operations.md +41 -41
  44. package/skills/pymatgen/SKILL.md +54 -49
  45. package/skills/pymatgen/agents/openai.yaml +4 -4
  46. package/skills/pymatgen/references/endpoints.md +66 -66
  47. package/skills/rdkit/SKILL.md +112 -107
  48. package/skills/rdkit/agents/openai.yaml +4 -4
  49. package/skills/rdkit/references/endpoints.md +133 -133
  50. package/skills/rdkit/references/operations.md +64 -64
  51. package/skills/science-tools.json +127 -0
  52. package/skills/synbo-service/SKILL.md +36 -31
  53. package/skills/synbo-service/agents/openai.yaml +4 -4
  54. package/skills/synbo-service/references/endpoints.md +157 -157
@@ -1,61 +1,61 @@
1
- # LAMMPS Endpoint Reference
2
-
3
- All paths are relative to `http://111.2.199.31:52317/api/v1`.
4
-
5
- ## Health
6
-
7
- `GET /chem/lammps/health`
8
-
9
- Key response fields in `data`: `status`, `service`, `lammps_available`,
10
- `metadata`, and `limits`.
11
-
12
- Use this before long simulations. A healthy service should report
13
- `data.status == "ok"` and `data.lammps_available == true`.
14
-
15
- ## Built-In Lennard-Jones Example
16
-
17
- `GET /chem/lammps/examples/lj-melt`
18
-
19
- Returns a complete `request` payload for `/chem/lammps/run`, plus workflow notes
20
- showing where pymatgen and GSAS-II fit around LAMMPS.
21
-
22
- ## Run
23
-
24
- `POST /chem/lammps/run`
25
-
26
- ```json
27
- {
28
- "input_script": "<LAMMPS input script>",
29
- "files": [
30
- {"path": "system.data", "content": "<LAMMPS data file text>", "encoding": "text"}
31
- ],
32
- "timeout_seconds": 30,
33
- "max_thermo_rows": 1000,
34
- "log_tail_lines": 200,
35
- "output_files": ["dump.lammpstrj", "final.data"],
36
- "include_log": true,
37
- "include_stdout": false,
38
- "include_stderr": false
39
- }
40
- ```
41
-
42
- `files` are written into a fresh job working directory before LAMMPS starts.
43
- `encoding` can be `text` or `base64`.
44
-
45
- The response includes parsed thermo rows, the final thermo row, atom count when
46
- detectable, log tail, warnings, and requested output files. Text output files
47
- return `content`; binary output files return `content_base64`.
48
-
49
- Notes:
50
-
51
- - Use relative file paths only.
52
- - The service rejects unsafe commands such as `shell`, `python`, `plugin`, and
53
- `jump` by default.
54
- - `include <relative-file>` is allowed when the included file is supplied in
55
- `files`; absolute paths, parent-directory traversal, URLs, and `jump` loops
56
- are rejected.
57
- - Dump/data products are returned as raw requested output files, not structured
58
- parsed atom-frame objects.
59
- - The gateway is synchronous; keep interactive runs short.
60
- - Force-field choice is caller responsibility. The service executes explicit
61
- LAMMPS input and does not infer potentials from formulas or structures.
1
+ # LAMMPS Endpoint Reference
2
+
3
+ All paths are relative to `http://111.2.199.31:52317/api/v1`.
4
+
5
+ ## Health
6
+
7
+ `GET /chem/lammps/health`
8
+
9
+ Key response fields in `data`: `status`, `service`, `lammps_available`,
10
+ `metadata`, and `limits`.
11
+
12
+ Use this before long simulations. A healthy service should report
13
+ `data.status == "ok"` and `data.lammps_available == true`.
14
+
15
+ ## Built-In Lennard-Jones Example
16
+
17
+ `GET /chem/lammps/examples/lj-melt`
18
+
19
+ Returns a complete `request` payload for `/chem/lammps/run`, plus workflow notes
20
+ showing where pymatgen and GSAS-II fit around LAMMPS.
21
+
22
+ ## Run
23
+
24
+ `POST /chem/lammps/run`
25
+
26
+ ```json
27
+ {
28
+ "input_script": "<LAMMPS input script>",
29
+ "files": [
30
+ {"path": "system.data", "content": "<LAMMPS data file text>", "encoding": "text"}
31
+ ],
32
+ "timeout_seconds": 30,
33
+ "max_thermo_rows": 1000,
34
+ "log_tail_lines": 200,
35
+ "output_files": ["dump.lammpstrj", "final.data"],
36
+ "include_log": true,
37
+ "include_stdout": false,
38
+ "include_stderr": false
39
+ }
40
+ ```
41
+
42
+ `files` are written into a fresh job working directory before LAMMPS starts.
43
+ `encoding` can be `text` or `base64`.
44
+
45
+ The response includes parsed thermo rows, the final thermo row, atom count when
46
+ detectable, log tail, warnings, and requested output files. Text output files
47
+ return `content`; binary output files return `content_base64`.
48
+
49
+ Notes:
50
+
51
+ - Use relative file paths only.
52
+ - The service rejects unsafe commands such as `shell`, `python`, `plugin`, and
53
+ `jump` by default.
54
+ - `include <relative-file>` is allowed when the included file is supplied in
55
+ `files`; absolute paths, parent-directory traversal, URLs, and `jump` loops
56
+ are rejected.
57
+ - Dump/data products are returned as raw requested output files, not structured
58
+ parsed atom-frame objects.
59
+ - The gateway is synchronous; keep interactive runs short.
60
+ - Force-field choice is caller responsibility. The service executes explicit
61
+ LAMMPS input and does not infer potentials from formulas or structures.
@@ -1,30 +1,35 @@
1
- ---
2
- name: ldm-bo
3
- description: 当用户要求对小分子 SMILES 使用 LDM-BO/PDF2Dock、Vina+NN、ReaSyn,生成下一条小分子候选或运行分子 BO trajectory 时使用。不得用于抗体、CDRH3、AntBO 或 /biology/antbo 场景;这些场景必须路由 antbo-service。
4
- ---
5
-
6
- # 小分子 LDM-BO 服务
7
-
8
- ## 强制规则
9
-
10
- - 只用 `python_repl` 执行 `$SKILLS_ROOT/delta-science/scripts/invoke.py`,
11
- tool=`ldm-bo`;禁止 Bash、路径探测、字面 CLI、直接 HTTP 和本地 PDF2Dock。
12
- - `python_repl` 工具参数只能包含 `code`,禁止 `deps/dependencies/packages`。
13
- - 业务结果直接位于 `r["native"]`,禁止 `native.data`。
14
- - provider、模型路径、Vina/ReaSyn/GPU/LLM 配置由服务端注入,不放入请求 JSON。
15
- - 抗体/CDRH3 即使出现 “LDM” 也禁止调用本 Skill。
16
-
17
- ## operation 选择
18
-
19
- - `health`:检查 PDF2Dock/Vina/ReaSyn/NN/LLM 等部署依赖,无 body。
20
- - `recommend`:`method`、小分子 `pool`、真实
21
- `history:[{smiles,scores}]`、`batch_size`。
22
- - `trajectory`:保留连字符键 `seed-smiles`、`num-evaluations`、`batch-size`,以及
23
- method、seed、objective;有界 smoke 使用 `bo-tanimoto` 和很小 evaluation 数。
24
-
25
- 详细最小 payload 和 native 响应见 `references/endpoints.md`。缺 Vina、ReaSyn、模型或
26
- LLM 配置时原样报告后端错误,不切换方法或本地生成候选。
27
-
28
- 通过 wrapper 调用一次并显式打印有界 native 投影;成功后立即
29
- `step_finish(status="done", summary=<同一 JSON>)`,失败则
30
- `step_finish(status="failed", summary=<原始错误短摘要>)`。禁止重试和后续工具。
1
+ ---
2
+ name: ldm-bo
3
+ description: 当用户要求对小分子 SMILES 使用 LDM-BO/PDF2Dock、Vina+NN、ReaSyn,生成下一条小分子候选或运行分子 BO trajectory 时使用。不得用于抗体、CDRH3、AntBO 或 /biology/antbo 场景;这些场景必须路由 antbo-service。
4
+ metadata:
5
+ allowed-tools:
6
+ - read_file
7
+ - python_repl
8
+ - step_finish
9
+ ---
10
+
11
+ # 小分子 LDM-BO 服务
12
+
13
+ ## 强制规则
14
+
15
+ - 只用 `python_repl` 执行 `$SKILLS_ROOT/delta-science/scripts/invoke.py`,
16
+ tool=`ldm-bo`;禁止 Bash、路径探测、字面 CLI、直接 HTTP 和本地 PDF2Dock。
17
+ - `python_repl` 工具参数只能包含 `code`,禁止 `deps/dependencies/packages`。
18
+ - 业务结果直接位于 `r["native"]`,禁止 `native.data`。
19
+ - provider、模型路径、Vina/ReaSyn/GPU/LLM 配置由服务端注入,不放入请求 JSON。
20
+ - 抗体/CDRH3 即使出现 “LDM” 也禁止调用本 Skill。
21
+
22
+ ## operation 选择
23
+
24
+ - `health`:检查 PDF2Dock/Vina/ReaSyn/NN/LLM 等部署依赖,无 body。
25
+ - `recommend`:`method`、小分子 `pool`、真实
26
+ `history:[{smiles,scores}]`、`batch_size`。
27
+ - `trajectory`:保留连字符键 `seed-smiles`、`num-evaluations`、`batch-size`,以及
28
+ method、seed、objective;有界 smoke 使用 `bo-tanimoto` 和很小 evaluation 数。
29
+
30
+ 详细最小 payload 和 native 响应见 `references/endpoints.md`。缺 Vina、ReaSyn、模型或
31
+ LLM 配置时原样报告后端错误,不切换方法或本地生成候选。
32
+
33
+ 通过 wrapper 调用一次并显式打印有界 native 投影;成功后立即
34
+ `step_finish(status="done", summary=<同一 JSON>)`,失败则
35
+ `step_finish(status="failed", summary=<原始错误短摘要>)`。禁止重试和后续工具。
@@ -1,4 +1,4 @@
1
- interface:
2
- display_name: "LDM-BO ????"
3
- short_description: "?? Delta CLI ????????????????"
4
- default_prompt: "?? $ldm-bo ?????????????????"
1
+ interface:
2
+ display_name: "LDM-BO 小分子优化"
3
+ short_description: "通过 Delta CLI 生成小分子候选或执行分子优化轨迹"
4
+ default_prompt: "使用 $ldm-bo 为这个小分子任务推荐下一条候选。"
@@ -1,127 +1,127 @@
1
- # LDM-BO API Endpoint Reference
2
-
3
- All paths are relative to `http://111.2.199.31:52317/api/v1`.
4
-
5
- This reference is for using the exposed HTTP API. It is not a local PDF2Dock
6
- runner.
7
-
8
- ## Health
9
-
10
- `GET /chem/ldm-bo/health`
11
-
12
- The response reports whether the adapter can see the mounted PDF2Dock
13
- interpreter, `bo_api.py`, Vina binary, ReaSyn repo/interpreter/checkpoints, NN
14
- model files, cache directory, GPU settings, and LLM configuration. Missing LLM
15
- settings degrade health because LDM methods need them.
16
-
17
- ## One-Step Recommend
18
-
19
- `POST /chem/ldm-bo/recommend`
20
-
21
- Wraps `bo_api.recommend_next_smiles`.
22
-
23
- Typical payload:
24
-
25
- ```json
26
- {
27
- "method": "bo-tanimoto",
28
- "pool": ["CCO", "CCN", "CCC"],
29
- "history": [
30
- {"smiles": "CCO", "scores": [-7.1]},
31
- {"smiles": "CCN", "scores": [-6.8]}
32
- ],
33
- "batch_size": 1
34
- }
35
- ```
36
-
37
- Typical native response inside gateway `data`:
38
-
39
- ```json
40
- {
41
- "recommendations": ["CCC"],
42
- "acquisition_values": [0.12],
43
- "n_objectives": 1
44
- }
45
- ```
46
-
47
- LDM methods may include an `llm` diagnostics object.
48
-
49
- ## Full Trajectory
50
-
51
- `POST /chem/ldm-bo/trajectory`
52
-
53
- Wraps `bo_api.run_search_trajectory`.
54
-
55
- Small smoke payload:
56
-
57
- ```json
58
- {
59
- "method": "bo-tanimoto",
60
- "seed": 42,
61
- "seed-smiles": "CCO,CCN,CCC",
62
- "num-evaluations": 4,
63
- "batch-size": 1,
64
- "objective": "vina+nn"
65
- }
66
- ```
67
-
68
- Typical native response inside gateway `data`:
69
-
70
- ```json
71
- {
72
- "config": {},
73
- "history": [],
74
- "summary": {}
75
- }
76
- ```
77
-
78
- LDM methods may include `llm_trajectory`.
79
-
80
- ## Error Handling
81
-
82
- The service maps native `bo_api` error JSON to an upstream failure. The gateway
83
- returns a standard error envelope:
84
-
85
- ```json
86
- {
87
- "code": 1,
88
- "message": "AutoDock Vina executable not found...",
89
- "data": {
90
- "endpoint": "/v1/trajectory",
91
- "service_url": "http://ldm-bo-service:8895",
92
- "ldm_bo_response": {
93
- "error": "...",
94
- "error_type": "ValueError",
95
- "traceback": "Traceback ..."
96
- }
97
- }
98
- }
99
- ```
100
-
101
- Common causes are missing Vina, missing ReaSyn, wrong Python interpreter, CUDA
102
- device mismatch, missing LLM credentials for LDM methods, or an unwritable Vina
103
- cache directory.
104
-
105
- ## Provider Settings
106
-
107
- Do not send provider settings in request JSON. The adapter reads these from
108
- deployment config and passes them as Python kwargs to `bo_api`:
109
-
110
- ```text
111
- vina_bin
112
- vina_cache_dir
113
- vina_max_workers
114
- gp_device
115
- reasyn_repo
116
- reasyn_python_bin
117
- reasyn_model_path
118
- reasyn_devices
119
- nn_model_path
120
- nn_metadata_path
121
- llm_model
122
- llm_base_url
123
- llm_api_key
124
- ```
125
-
126
- The wrapper intentionally preserves user payloads and lets `bo_api` own native
127
- defaults and schema behavior.
1
+ # LDM-BO API Endpoint Reference
2
+
3
+ All paths are relative to `http://111.2.199.31:52317/api/v1`.
4
+
5
+ This reference is for using the exposed HTTP API. It is not a local PDF2Dock
6
+ runner.
7
+
8
+ ## Health
9
+
10
+ `GET /chem/ldm-bo/health`
11
+
12
+ The response reports whether the adapter can see the mounted PDF2Dock
13
+ interpreter, `bo_api.py`, Vina binary, ReaSyn repo/interpreter/checkpoints, NN
14
+ model files, cache directory, GPU settings, and LLM configuration. Missing LLM
15
+ settings degrade health because LDM methods need them.
16
+
17
+ ## One-Step Recommend
18
+
19
+ `POST /chem/ldm-bo/recommend`
20
+
21
+ Wraps `bo_api.recommend_next_smiles`.
22
+
23
+ Typical payload:
24
+
25
+ ```json
26
+ {
27
+ "method": "bo-tanimoto",
28
+ "pool": ["CCO", "CCN", "CCC"],
29
+ "history": [
30
+ {"smiles": "CCO", "scores": [-7.1]},
31
+ {"smiles": "CCN", "scores": [-6.8]}
32
+ ],
33
+ "batch_size": 1
34
+ }
35
+ ```
36
+
37
+ Typical native response inside gateway `data`:
38
+
39
+ ```json
40
+ {
41
+ "recommendations": ["CCC"],
42
+ "acquisition_values": [0.12],
43
+ "n_objectives": 1
44
+ }
45
+ ```
46
+
47
+ LDM methods may include an `llm` diagnostics object.
48
+
49
+ ## Full Trajectory
50
+
51
+ `POST /chem/ldm-bo/trajectory`
52
+
53
+ Wraps `bo_api.run_search_trajectory`.
54
+
55
+ Small smoke payload:
56
+
57
+ ```json
58
+ {
59
+ "method": "bo-tanimoto",
60
+ "seed": 42,
61
+ "seed-smiles": "CCO,CCN,CCC",
62
+ "num-evaluations": 4,
63
+ "batch-size": 1,
64
+ "objective": "vina+nn"
65
+ }
66
+ ```
67
+
68
+ Typical native response inside gateway `data`:
69
+
70
+ ```json
71
+ {
72
+ "config": {},
73
+ "history": [],
74
+ "summary": {}
75
+ }
76
+ ```
77
+
78
+ LDM methods may include `llm_trajectory`.
79
+
80
+ ## Error Handling
81
+
82
+ The service maps native `bo_api` error JSON to an upstream failure. The gateway
83
+ returns a standard error envelope:
84
+
85
+ ```json
86
+ {
87
+ "code": 1,
88
+ "message": "AutoDock Vina executable not found...",
89
+ "data": {
90
+ "endpoint": "/v1/trajectory",
91
+ "service_url": "http://ldm-bo-service:8895",
92
+ "ldm_bo_response": {
93
+ "error": "...",
94
+ "error_type": "ValueError",
95
+ "traceback": "Traceback ..."
96
+ }
97
+ }
98
+ }
99
+ ```
100
+
101
+ Common causes are missing Vina, missing ReaSyn, wrong Python interpreter, CUDA
102
+ device mismatch, missing LLM credentials for LDM methods, or an unwritable Vina
103
+ cache directory.
104
+
105
+ ## Provider Settings
106
+
107
+ Do not send provider settings in request JSON. The adapter reads these from
108
+ deployment config and passes them as Python kwargs to `bo_api`:
109
+
110
+ ```text
111
+ vina_bin
112
+ vina_cache_dir
113
+ vina_max_workers
114
+ gp_device
115
+ reasyn_repo
116
+ reasyn_python_bin
117
+ reasyn_model_path
118
+ reasyn_devices
119
+ nn_model_path
120
+ nn_metadata_path
121
+ llm_model
122
+ llm_base_url
123
+ llm_api_key
124
+ ```
125
+
126
+ The wrapper intentionally preserves user payloads and lets `bo_api` own native
127
+ defaults and schema behavior.
@@ -1,17 +1,17 @@
1
- {
2
- "skills": [
3
- "delta-sandbox",
4
- "delta-shared",
5
- "delta-science",
6
- "pubchem",
7
- "rdkit",
8
- "pymatgen",
9
- "gsasii",
10
- "lammps",
11
- "delta-bo",
12
- "ldm-bo",
13
- "synbo-service",
14
- "antbo-service",
15
- "antbo-ldm-guard"
16
- ]
17
- }
1
+ {
2
+ "skills": [
3
+ "delta-sandbox",
4
+ "delta-shared",
5
+ "delta-science",
6
+ "pubchem",
7
+ "rdkit",
8
+ "pymatgen",
9
+ "gsasii",
10
+ "lammps",
11
+ "delta-bo",
12
+ "ldm-bo",
13
+ "synbo-service",
14
+ "antbo-service",
15
+ "antbo-ldm-guard"
16
+ ]
17
+ }