@elnora-ai/cli 1.1.0 → 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.
Files changed (5) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +155 -137
  3. package/dist/cli.js +809 -298
  4. package/package.json +66 -67
  5. 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](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
6
- [![npm](https://img.shields.io/npm/v/@elnora-ai/cli)](https://www.npmjs.com/package/@elnora-ai/cli)
7
-
8
- ## Install
9
-
10
- ```bash
11
- # macOS / Linux
12
- curl -fsSL https://cli.elnora.ai/install.sh | bash
13
-
14
- # Windows (PowerShell)
15
- irm https://cli.elnora.ai/install.ps1 | iex
16
-
17
- # npm (requires Node.js 20+)
18
- npm install -g @elnora-ai/cli
19
-
20
- # Homebrew
21
- brew install elnora-ai/cli/elnora
22
- ```
23
-
24
- ## Quick Start
25
-
26
- ```bash
27
- elnora auth login
28
- elnora projects list
29
- elnora tasks create --project <id> --message "Analyze kinase inhibitors"
30
- elnora tasks send <task-id> --message "Focus on selectivity" --stream
31
- ```
32
-
33
- ## Commands
34
-
35
- | Group | Commands |
36
- |-------|----------|
37
- | `auth` | login, logout, status, profiles, validate |
38
- | `projects` | list, get, create, update, archive, members, add-member, update-role, remove-member, leave |
39
- | `tasks` | list, get, create, send (--stream, --wait), messages, update, archive |
40
- | `files` | list, get, content, create, upload, download, update, archive, versions, fork, promote, working-copy, commit |
41
- | `orgs` | list, get, create, update, members, billing, invite, invitations, delete |
42
- | `folders` | list, create, rename, move, delete |
43
- | `search` | tasks, files, all, file-content |
44
- | `library` | files, folders, create-folder, rename-folder, delete-folder |
45
- | `account` | get, update, agreements, accept-terms, delete, users |
46
- | `api-keys` | create, list, revoke, get-policy, set-policy |
47
- | `audit` | list |
48
- | `feedback` | submit |
49
- | `flags` | list, get, set |
50
- | `health` | check |
51
-
52
- ### Utility Commands
53
-
54
- ```bash
55
- elnora doctor # Check API, auth, version, config
56
- elnora whoami # Show current profile and org
57
- elnora open [page] # Open platform in browser (docs, keys, billing)
58
- elnora completion <shell> # Generate shell completions (bash, zsh, fish)
59
- elnora mcp serve # Start built-in MCP server
60
- ```
61
-
62
- ## Streaming
63
-
64
- Real-time agent responses directly in your terminal:
65
-
66
- ```bash
67
- # Stream agent output as it generates
68
- elnora tasks send <task-id> --message "Optimize this protocol" --stream
69
-
70
- # Wait for the complete response (polling)
71
- elnora tasks send <task-id> --message "Optimize this protocol" --wait
72
- ```
73
-
74
- Status output (thinking, tool calls) goes to stderr. Content goes to stdout, so streaming is pipeable:
75
-
76
- ```bash
77
- elnora tasks send <task-id> --message "Analyze this" --stream > response.txt
78
- ```
79
-
80
- ## MCP Server
81
-
82
- The CLI includes a built-in MCP server that exposes all commands as tools:
83
-
84
- ```bash
85
- # Start HTTP MCP server (for deployment)
86
- elnora mcp serve --http
87
-
88
- # Start stdio MCP server (for local MCP clients)
89
- elnora mcp serve --stdio
90
- ```
91
-
92
- Configure in Claude Code or Cursor:
93
-
94
- ```json
95
- {
96
- "elnora": {
97
- "type": "http",
98
- "url": "https://mcp.elnora.ai/mcp"
99
- }
100
- }
101
- ```
102
-
103
- ## Authentication
104
-
105
- ```bash
106
- # Login with API key
107
- elnora auth login
108
-
109
- # Multi-org profiles
110
- elnora auth login --profile university
111
- elnora --profile university projects list
112
-
113
- # Check status
114
- elnora doctor
115
- ```
116
-
117
- API keys are stored in `~/.elnora/profiles.toml` with secure file permissions (0600).
118
-
119
- ## Output Formats
120
-
121
- ```bash
122
- elnora projects list # JSON (default)
123
- elnora projects list --compact # Compact JSON
124
- elnora projects list --output csv # CSV
125
- elnora projects list --fields id,name # Field filtering
126
- elnora projects list --json # Force JSON (even in TTY)
127
- ```
128
-
129
- ## Documentation
130
-
131
- - [Migration Guide](MIGRATION.md) — migrating from the Python CLI
132
- - [API Reference](https://docs.elnora.ai)
133
- - [Platform](https://platform.elnora.ai)
134
-
135
- ## License
136
-
137
- Apache-2.0
1
+ # Elnora CLI
2
+
3
+ Command-line interface for the [Elnora AI Platform](https://platform.elnora.ai).
4
+
5
+ [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
6
+ [![npm](https://img.shields.io/npm/v/@elnora-ai/cli)](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