@elnora-ai/cli 1.1.1 → 1.1.3
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/LICENSE +201 -201
- package/README.md +155 -137
- package/dist/cli.js +809 -298
- package/package.json +66 -67
- package/dist/cli.cjs +0 -442
package/README.md
CHANGED
|
@@ -1,137 +1,155 @@
|
|
|
1
|
-
# Elnora CLI
|
|
2
|
-
|
|
3
|
-
Command-line interface for the [Elnora AI Platform](https://platform.elnora.ai).
|
|
4
|
-
|
|
5
|
-
[](LICENSE)
|
|
6
|
-
[](https://www.npmjs.com/package/@elnora-ai/cli)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
elnora
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
##
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
#
|
|
86
|
-
elnora
|
|
87
|
-
|
|
88
|
-
#
|
|
89
|
-
elnora
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
#
|
|
107
|
-
elnora
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
elnora
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
elnora
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
1
|
+
# Elnora CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for the [Elnora AI Platform](https://platform.elnora.ai).
|
|
4
|
+
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://www.npmjs.com/package/@elnora-ai/cli)
|
|
7
|
+
|
|
8
|
+
[Elnora](https://elnora.ai) is an AI agent for biotech and pharma teams that generates, optimizes, and troubleshoots preclinical lab protocols. She learns from both successful and failed experiments, building knowledge that compounds with every project.
|
|
9
|
+
|
|
10
|
+
The CLI gives you full access to the platform from your terminal — collaborate with the agent, manage protocols and files, and integrate Elnora into your automation pipelines.
|
|
11
|
+
|
|
12
|
+
## What You Can Do
|
|
13
|
+
|
|
14
|
+
- **Generate and optimize protocols** — from iPSC differentiation to assay development, with citations from 36M+ PubMed articles and preprint servers
|
|
15
|
+
- **Access 2,100+ scientific tools** — protein structure prediction (AlphaFold3), molecular cloning design, glycan analysis, drug-target databases (ChEMBL, UniProt, Open Targets), and more
|
|
16
|
+
- **Stream agent responses in real-time** — pipe structured output directly into your scripts and workflows
|
|
17
|
+
- **Manage projects and files with version control** — track protocol iterations, fork and promote versions, search across your entire knowledge base
|
|
18
|
+
- **Run as an MCP server** — plug Elnora into Claude Code, Cursor, or any MCP-compatible AI tool as a first-class integration
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
- macOS, Linux, or Windows
|
|
23
|
+
- Node.js 20+ (npm install only — not required for curl/Homebrew)
|
|
24
|
+
- An Elnora API key — [get one here](https://platform.elnora.ai)
|
|
25
|
+
|
|
26
|
+
## Install
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# macOS / Linux
|
|
30
|
+
curl -fsSL https://cli.elnora.ai/install.sh | bash
|
|
31
|
+
|
|
32
|
+
# Windows (PowerShell)
|
|
33
|
+
irm https://cli.elnora.ai/install.ps1 | iex
|
|
34
|
+
|
|
35
|
+
# npm (requires Node.js 20+)
|
|
36
|
+
npm install -g @elnora-ai/cli
|
|
37
|
+
|
|
38
|
+
# Homebrew
|
|
39
|
+
brew install elnora-ai/cli/elnora
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Quick Start
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
elnora auth login
|
|
46
|
+
elnora projects list
|
|
47
|
+
elnora tasks create --project <id> --message "Analyze kinase inhibitors"
|
|
48
|
+
elnora tasks send <task-id> --message "Focus on selectivity" --stream
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Commands
|
|
52
|
+
|
|
53
|
+
| Group | Commands |
|
|
54
|
+
|-------|----------|
|
|
55
|
+
| `auth` | login, logout, status, profiles, validate |
|
|
56
|
+
| `projects` | list, get, create, update, archive, members, add-member, update-role, remove-member, leave |
|
|
57
|
+
| `tasks` | list, get, create, send (--stream, --wait), messages, update, archive |
|
|
58
|
+
| `files` | list, get, content, create, upload, download, update, archive, versions, fork, promote, working-copy, commit |
|
|
59
|
+
| `orgs` | list, get, create, update, members, billing, invite, invitations, delete |
|
|
60
|
+
| `folders` | list, create, rename, move, delete |
|
|
61
|
+
| `search` | tasks, files, all, file-content |
|
|
62
|
+
| `library` | files, folders, create-folder, rename-folder, delete-folder |
|
|
63
|
+
| `account` | get, update, agreements, accept-terms, delete, users |
|
|
64
|
+
| `api-keys` | create, list, revoke, get-policy, set-policy |
|
|
65
|
+
| `audit` | list |
|
|
66
|
+
| `feedback` | submit |
|
|
67
|
+
| `flags` | list, get, set |
|
|
68
|
+
| `health` | check |
|
|
69
|
+
|
|
70
|
+
### Utility Commands
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
elnora doctor # Check API, auth, version, config
|
|
74
|
+
elnora whoami # Show current profile and org
|
|
75
|
+
elnora open [page] # Open platform in browser (docs, keys, billing)
|
|
76
|
+
elnora completion <shell> # Generate shell completions (bash, zsh, fish)
|
|
77
|
+
elnora mcp serve # Start built-in MCP server
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Streaming
|
|
81
|
+
|
|
82
|
+
Real-time agent responses directly in your terminal:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Stream agent output as it generates
|
|
86
|
+
elnora tasks send <task-id> --message "Optimize this protocol" --stream
|
|
87
|
+
|
|
88
|
+
# Wait for the complete response (polling)
|
|
89
|
+
elnora tasks send <task-id> --message "Optimize this protocol" --wait
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Status output (thinking, tool calls) goes to stderr. Content goes to stdout, so streaming is pipeable:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
elnora tasks send <task-id> --message "Analyze this" --stream > response.txt
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## MCP Server
|
|
99
|
+
|
|
100
|
+
The CLI includes a built-in MCP server that exposes all commands as tools:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Start HTTP MCP server (for deployment)
|
|
104
|
+
elnora mcp serve --http
|
|
105
|
+
|
|
106
|
+
# Start stdio MCP server (for local MCP clients)
|
|
107
|
+
elnora mcp serve --stdio
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Configure in Claude Code or Cursor:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"elnora": {
|
|
115
|
+
"type": "http",
|
|
116
|
+
"url": "https://mcp.elnora.ai/mcp"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Authentication
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Login with API key
|
|
125
|
+
elnora auth login
|
|
126
|
+
|
|
127
|
+
# Multi-org profiles
|
|
128
|
+
elnora auth login --profile university
|
|
129
|
+
elnora --profile university projects list
|
|
130
|
+
|
|
131
|
+
# Check status
|
|
132
|
+
elnora doctor
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
API keys are stored in `~/.elnora/profiles.toml` with secure file permissions (0600).
|
|
136
|
+
|
|
137
|
+
## Output Formats
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
elnora projects list # JSON (default)
|
|
141
|
+
elnora projects list --compact # Compact JSON
|
|
142
|
+
elnora projects list --output csv # CSV
|
|
143
|
+
elnora projects list --fields id,name # Field filtering
|
|
144
|
+
elnora projects list --json # Force JSON (even in TTY)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Documentation
|
|
148
|
+
|
|
149
|
+
- [Migration Guide](MIGRATION.md) — migrating from the Python CLI
|
|
150
|
+
- [API Reference](https://docs.elnora.ai)
|
|
151
|
+
- [Platform](https://platform.elnora.ai)
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
Apache-2.0
|