langstage-cli 0.5.6__tar.gz → 0.5.7__tar.gz
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.
- {langstage_cli-0.5.6/langstage_cli.egg-info → langstage_cli-0.5.7}/PKG-INFO +40 -18
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/README.md +39 -17
- {langstage_cli-0.5.6 → langstage_cli-0.5.7/langstage_cli.egg-info}/PKG-INFO +40 -18
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/pyproject.toml +1 -1
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/LICENSE +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/deepagent_code/__init__.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli/__init__.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli/cli.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli/config.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli.egg-info/SOURCES.txt +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli.egg-info/dependency_links.txt +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli.egg-info/entry_points.txt +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli.egg-info/requires.txt +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/langstage_cli.egg-info/top_level.txt +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/setup.cfg +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_cli.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_cli_help.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_codeconfig.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_config.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_rename_shim.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_show_config.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_stream_mode.py +0 -0
- {langstage_cli-0.5.6 → langstage_cli-0.5.7}/tests/test_unicode_console.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langstage-cli
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.7
|
|
4
4
|
Summary: The terminal stage for your LangGraph agent — Claude Code-style CLI for any CompiledGraph
|
|
5
5
|
Author-email: Kedar Dabhadkar <kdabhadk@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -83,14 +83,9 @@ No agent or API key yet? See the CLI working in one command:
|
|
|
83
83
|
langstage-cli --demo "hello"
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
export ANTHROPIC_API_KEY="your_api_key"
|
|
89
|
-
langstage-cli
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Or specify your own agent:
|
|
86
|
+
Point it at your own agent (any LangGraph `CompiledGraph`):
|
|
93
87
|
```bash
|
|
88
|
+
export ANTHROPIC_API_KEY="your_api_key" # if your agent calls Anthropic
|
|
94
89
|
langstage-cli -a path/to/your_agent.py:graph
|
|
95
90
|
```
|
|
96
91
|
|
|
@@ -99,11 +94,11 @@ This launches an interactive conversation loop with your agent.
|
|
|
99
94
|
## Usage
|
|
100
95
|
|
|
101
96
|
```bash
|
|
102
|
-
#
|
|
103
|
-
langstage-cli
|
|
97
|
+
# Keyless demo agent — no API key, no agent of your own
|
|
98
|
+
langstage-cli --demo "Hello"
|
|
104
99
|
|
|
105
|
-
# Send a message directly
|
|
106
|
-
langstage-cli "Hello, agent!"
|
|
100
|
+
# Send a message directly to your agent
|
|
101
|
+
langstage-cli -a my_agent.py:graph "Hello, agent!"
|
|
107
102
|
|
|
108
103
|
# Specify a custom agent file
|
|
109
104
|
langstage-cli -a my_agent.py:graph
|
|
@@ -131,9 +126,13 @@ langstage-cli --show-config
|
|
|
131
126
|
## Commands
|
|
132
127
|
|
|
133
128
|
In the interactive loop:
|
|
134
|
-
- `/
|
|
135
|
-
- `/c` - Clear conversation history
|
|
136
|
-
- `/
|
|
129
|
+
- `/quit` (`/q`, `/exit`) - Exit
|
|
130
|
+
- `/clear` (`/c`) - Clear conversation history
|
|
131
|
+
- `/reset` - Reset the session
|
|
132
|
+
- `/config` (`/cfg`) - Show the resolved configuration
|
|
133
|
+
- `/history` (`/hist`) - Show conversation history
|
|
134
|
+
- `/help` (`/h`, `/?`) - Show help
|
|
135
|
+
- **Tab** autocompletes commands; **Ctrl+C** exits
|
|
137
136
|
|
|
138
137
|
## Environment Variables
|
|
139
138
|
|
|
@@ -200,11 +199,34 @@ Options:
|
|
|
200
199
|
--stream-mode [updates|messages]
|
|
201
200
|
Stream mode (default: updates)
|
|
202
201
|
-v, --verbose Verbose output
|
|
202
|
+
--demo Run with the built-in keyless demo agent
|
|
203
|
+
--show-config Print the resolved configuration and exit
|
|
204
|
+
--version Show the version and exit
|
|
203
205
|
```
|
|
204
206
|
|
|
205
207
|
## Creating Your Own Agent
|
|
206
208
|
|
|
207
|
-
Your agent file
|
|
209
|
+
Your agent file just needs to export a compiled LangGraph graph — `langstage-cli`
|
|
210
|
+
runs **any** `CompiledGraph`. A minimal stdlib example (no extra deps):
|
|
211
|
+
|
|
212
|
+
```python
|
|
213
|
+
# my_agent.py — needs only langgraph (a base dependency)
|
|
214
|
+
from langgraph.graph import StateGraph, START, END
|
|
215
|
+
from langgraph.graph.message import MessagesState
|
|
216
|
+
from langchain_core.messages import AIMessage
|
|
217
|
+
|
|
218
|
+
def respond(state):
|
|
219
|
+
last = state["messages"][-1].content
|
|
220
|
+
return {"messages": [AIMessage(content=f"You said: {last}")]}
|
|
221
|
+
|
|
222
|
+
g = StateGraph(MessagesState)
|
|
223
|
+
g.add_node("respond", respond)
|
|
224
|
+
g.add_edge(START, "respond")
|
|
225
|
+
g.add_edge("respond", END)
|
|
226
|
+
graph = g.compile()
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Or a full deep agent (requires `pip install deepagents`):
|
|
208
230
|
|
|
209
231
|
```python
|
|
210
232
|
# my_agent.py
|
|
@@ -213,14 +235,14 @@ from langgraph.checkpoint.memory import MemorySaver
|
|
|
213
235
|
|
|
214
236
|
agent = create_deep_agent(
|
|
215
237
|
name="My Agent",
|
|
216
|
-
model="anthropic:claude-sonnet-4-
|
|
238
|
+
model="anthropic:claude-sonnet-4-6",
|
|
217
239
|
checkpointer=MemorySaver(),
|
|
218
240
|
)
|
|
219
241
|
```
|
|
220
242
|
|
|
221
243
|
Then run it:
|
|
222
244
|
```bash
|
|
223
|
-
langstage-cli -a my_agent.py:agent
|
|
245
|
+
langstage-cli -a my_agent.py:graph # or :agent for the deepagents example
|
|
224
246
|
```
|
|
225
247
|
|
|
226
248
|
## Programmatic Use
|
|
@@ -48,14 +48,9 @@ No agent or API key yet? See the CLI working in one command:
|
|
|
48
48
|
langstage-cli --demo "hello"
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
export ANTHROPIC_API_KEY="your_api_key"
|
|
54
|
-
langstage-cli
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Or specify your own agent:
|
|
51
|
+
Point it at your own agent (any LangGraph `CompiledGraph`):
|
|
58
52
|
```bash
|
|
53
|
+
export ANTHROPIC_API_KEY="your_api_key" # if your agent calls Anthropic
|
|
59
54
|
langstage-cli -a path/to/your_agent.py:graph
|
|
60
55
|
```
|
|
61
56
|
|
|
@@ -64,11 +59,11 @@ This launches an interactive conversation loop with your agent.
|
|
|
64
59
|
## Usage
|
|
65
60
|
|
|
66
61
|
```bash
|
|
67
|
-
#
|
|
68
|
-
langstage-cli
|
|
62
|
+
# Keyless demo agent — no API key, no agent of your own
|
|
63
|
+
langstage-cli --demo "Hello"
|
|
69
64
|
|
|
70
|
-
# Send a message directly
|
|
71
|
-
langstage-cli "Hello, agent!"
|
|
65
|
+
# Send a message directly to your agent
|
|
66
|
+
langstage-cli -a my_agent.py:graph "Hello, agent!"
|
|
72
67
|
|
|
73
68
|
# Specify a custom agent file
|
|
74
69
|
langstage-cli -a my_agent.py:graph
|
|
@@ -96,9 +91,13 @@ langstage-cli --show-config
|
|
|
96
91
|
## Commands
|
|
97
92
|
|
|
98
93
|
In the interactive loop:
|
|
99
|
-
- `/
|
|
100
|
-
- `/c` - Clear conversation history
|
|
101
|
-
- `/
|
|
94
|
+
- `/quit` (`/q`, `/exit`) - Exit
|
|
95
|
+
- `/clear` (`/c`) - Clear conversation history
|
|
96
|
+
- `/reset` - Reset the session
|
|
97
|
+
- `/config` (`/cfg`) - Show the resolved configuration
|
|
98
|
+
- `/history` (`/hist`) - Show conversation history
|
|
99
|
+
- `/help` (`/h`, `/?`) - Show help
|
|
100
|
+
- **Tab** autocompletes commands; **Ctrl+C** exits
|
|
102
101
|
|
|
103
102
|
## Environment Variables
|
|
104
103
|
|
|
@@ -165,11 +164,34 @@ Options:
|
|
|
165
164
|
--stream-mode [updates|messages]
|
|
166
165
|
Stream mode (default: updates)
|
|
167
166
|
-v, --verbose Verbose output
|
|
167
|
+
--demo Run with the built-in keyless demo agent
|
|
168
|
+
--show-config Print the resolved configuration and exit
|
|
169
|
+
--version Show the version and exit
|
|
168
170
|
```
|
|
169
171
|
|
|
170
172
|
## Creating Your Own Agent
|
|
171
173
|
|
|
172
|
-
Your agent file
|
|
174
|
+
Your agent file just needs to export a compiled LangGraph graph — `langstage-cli`
|
|
175
|
+
runs **any** `CompiledGraph`. A minimal stdlib example (no extra deps):
|
|
176
|
+
|
|
177
|
+
```python
|
|
178
|
+
# my_agent.py — needs only langgraph (a base dependency)
|
|
179
|
+
from langgraph.graph import StateGraph, START, END
|
|
180
|
+
from langgraph.graph.message import MessagesState
|
|
181
|
+
from langchain_core.messages import AIMessage
|
|
182
|
+
|
|
183
|
+
def respond(state):
|
|
184
|
+
last = state["messages"][-1].content
|
|
185
|
+
return {"messages": [AIMessage(content=f"You said: {last}")]}
|
|
186
|
+
|
|
187
|
+
g = StateGraph(MessagesState)
|
|
188
|
+
g.add_node("respond", respond)
|
|
189
|
+
g.add_edge(START, "respond")
|
|
190
|
+
g.add_edge("respond", END)
|
|
191
|
+
graph = g.compile()
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Or a full deep agent (requires `pip install deepagents`):
|
|
173
195
|
|
|
174
196
|
```python
|
|
175
197
|
# my_agent.py
|
|
@@ -178,14 +200,14 @@ from langgraph.checkpoint.memory import MemorySaver
|
|
|
178
200
|
|
|
179
201
|
agent = create_deep_agent(
|
|
180
202
|
name="My Agent",
|
|
181
|
-
model="anthropic:claude-sonnet-4-
|
|
203
|
+
model="anthropic:claude-sonnet-4-6",
|
|
182
204
|
checkpointer=MemorySaver(),
|
|
183
205
|
)
|
|
184
206
|
```
|
|
185
207
|
|
|
186
208
|
Then run it:
|
|
187
209
|
```bash
|
|
188
|
-
langstage-cli -a my_agent.py:agent
|
|
210
|
+
langstage-cli -a my_agent.py:graph # or :agent for the deepagents example
|
|
189
211
|
```
|
|
190
212
|
|
|
191
213
|
## Programmatic Use
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langstage-cli
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.7
|
|
4
4
|
Summary: The terminal stage for your LangGraph agent — Claude Code-style CLI for any CompiledGraph
|
|
5
5
|
Author-email: Kedar Dabhadkar <kdabhadk@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -83,14 +83,9 @@ No agent or API key yet? See the CLI working in one command:
|
|
|
83
83
|
langstage-cli --demo "hello"
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
export ANTHROPIC_API_KEY="your_api_key"
|
|
89
|
-
langstage-cli
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Or specify your own agent:
|
|
86
|
+
Point it at your own agent (any LangGraph `CompiledGraph`):
|
|
93
87
|
```bash
|
|
88
|
+
export ANTHROPIC_API_KEY="your_api_key" # if your agent calls Anthropic
|
|
94
89
|
langstage-cli -a path/to/your_agent.py:graph
|
|
95
90
|
```
|
|
96
91
|
|
|
@@ -99,11 +94,11 @@ This launches an interactive conversation loop with your agent.
|
|
|
99
94
|
## Usage
|
|
100
95
|
|
|
101
96
|
```bash
|
|
102
|
-
#
|
|
103
|
-
langstage-cli
|
|
97
|
+
# Keyless demo agent — no API key, no agent of your own
|
|
98
|
+
langstage-cli --demo "Hello"
|
|
104
99
|
|
|
105
|
-
# Send a message directly
|
|
106
|
-
langstage-cli "Hello, agent!"
|
|
100
|
+
# Send a message directly to your agent
|
|
101
|
+
langstage-cli -a my_agent.py:graph "Hello, agent!"
|
|
107
102
|
|
|
108
103
|
# Specify a custom agent file
|
|
109
104
|
langstage-cli -a my_agent.py:graph
|
|
@@ -131,9 +126,13 @@ langstage-cli --show-config
|
|
|
131
126
|
## Commands
|
|
132
127
|
|
|
133
128
|
In the interactive loop:
|
|
134
|
-
- `/
|
|
135
|
-
- `/c` - Clear conversation history
|
|
136
|
-
- `/
|
|
129
|
+
- `/quit` (`/q`, `/exit`) - Exit
|
|
130
|
+
- `/clear` (`/c`) - Clear conversation history
|
|
131
|
+
- `/reset` - Reset the session
|
|
132
|
+
- `/config` (`/cfg`) - Show the resolved configuration
|
|
133
|
+
- `/history` (`/hist`) - Show conversation history
|
|
134
|
+
- `/help` (`/h`, `/?`) - Show help
|
|
135
|
+
- **Tab** autocompletes commands; **Ctrl+C** exits
|
|
137
136
|
|
|
138
137
|
## Environment Variables
|
|
139
138
|
|
|
@@ -200,11 +199,34 @@ Options:
|
|
|
200
199
|
--stream-mode [updates|messages]
|
|
201
200
|
Stream mode (default: updates)
|
|
202
201
|
-v, --verbose Verbose output
|
|
202
|
+
--demo Run with the built-in keyless demo agent
|
|
203
|
+
--show-config Print the resolved configuration and exit
|
|
204
|
+
--version Show the version and exit
|
|
203
205
|
```
|
|
204
206
|
|
|
205
207
|
## Creating Your Own Agent
|
|
206
208
|
|
|
207
|
-
Your agent file
|
|
209
|
+
Your agent file just needs to export a compiled LangGraph graph — `langstage-cli`
|
|
210
|
+
runs **any** `CompiledGraph`. A minimal stdlib example (no extra deps):
|
|
211
|
+
|
|
212
|
+
```python
|
|
213
|
+
# my_agent.py — needs only langgraph (a base dependency)
|
|
214
|
+
from langgraph.graph import StateGraph, START, END
|
|
215
|
+
from langgraph.graph.message import MessagesState
|
|
216
|
+
from langchain_core.messages import AIMessage
|
|
217
|
+
|
|
218
|
+
def respond(state):
|
|
219
|
+
last = state["messages"][-1].content
|
|
220
|
+
return {"messages": [AIMessage(content=f"You said: {last}")]}
|
|
221
|
+
|
|
222
|
+
g = StateGraph(MessagesState)
|
|
223
|
+
g.add_node("respond", respond)
|
|
224
|
+
g.add_edge(START, "respond")
|
|
225
|
+
g.add_edge("respond", END)
|
|
226
|
+
graph = g.compile()
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Or a full deep agent (requires `pip install deepagents`):
|
|
208
230
|
|
|
209
231
|
```python
|
|
210
232
|
# my_agent.py
|
|
@@ -213,14 +235,14 @@ from langgraph.checkpoint.memory import MemorySaver
|
|
|
213
235
|
|
|
214
236
|
agent = create_deep_agent(
|
|
215
237
|
name="My Agent",
|
|
216
|
-
model="anthropic:claude-sonnet-4-
|
|
238
|
+
model="anthropic:claude-sonnet-4-6",
|
|
217
239
|
checkpointer=MemorySaver(),
|
|
218
240
|
)
|
|
219
241
|
```
|
|
220
242
|
|
|
221
243
|
Then run it:
|
|
222
244
|
```bash
|
|
223
|
-
langstage-cli -a my_agent.py:agent
|
|
245
|
+
langstage-cli -a my_agent.py:graph # or :agent for the deepagents example
|
|
224
246
|
```
|
|
225
247
|
|
|
226
248
|
## Programmatic Use
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "langstage-cli"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.7"
|
|
8
8
|
description = "The terminal stage for your LangGraph agent — Claude Code-style CLI for any CompiledGraph"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|