vibecore 0.4.2__py3-none-any.whl → 0.6.0__py3-none-any.whl
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.
Potentially problematic release.
This version of vibecore might be problematic. Click here for more details.
- vibecore/agents/default.py +3 -3
- vibecore/agents/task.py +3 -3
- vibecore/cli.py +68 -43
- vibecore/context.py +41 -15
- vibecore/flow.py +335 -73
- vibecore/handlers/stream_handler.py +0 -10
- vibecore/main.py +46 -272
- vibecore/session/jsonl_session.py +3 -1
- vibecore/session/loader.py +2 -2
- vibecore/tools/file/executor.py +13 -5
- vibecore/tools/file/tools.py +5 -5
- vibecore/tools/python/helpers.py +2 -2
- vibecore/tools/python/tools.py +2 -2
- vibecore/tools/shell/executor.py +5 -5
- vibecore/tools/shell/tools.py +5 -5
- vibecore/tools/task/executor.py +2 -2
- vibecore/tools/task/tools.py +2 -2
- vibecore/tools/todo/tools.py +3 -3
- vibecore/tools/webfetch/tools.py +1 -4
- vibecore/tools/websearch/tools.py +1 -4
- vibecore/widgets/core.py +2 -9
- {vibecore-0.4.2.dist-info → vibecore-0.6.0.dist-info}/METADATA +91 -31
- {vibecore-0.4.2.dist-info → vibecore-0.6.0.dist-info}/RECORD +26 -26
- {vibecore-0.4.2.dist-info → vibecore-0.6.0.dist-info}/WHEEL +0 -0
- {vibecore-0.4.2.dist-info → vibecore-0.6.0.dist-info}/entry_points.txt +0 -0
- {vibecore-0.4.2.dist-info → vibecore-0.6.0.dist-info}/licenses/LICENSE +0 -0
vibecore/tools/shell/tools.py
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
from agents import RunContextWrapper, function_tool
|
|
4
4
|
|
|
5
|
-
from vibecore.context import
|
|
5
|
+
from vibecore.context import PathValidatorContext
|
|
6
6
|
|
|
7
7
|
from .executor import bash_executor, glob_files, grep_files, list_directory
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@function_tool
|
|
11
11
|
async def bash(
|
|
12
|
-
ctx: RunContextWrapper[
|
|
12
|
+
ctx: RunContextWrapper[PathValidatorContext],
|
|
13
13
|
command: str,
|
|
14
14
|
timeout: int | None = None,
|
|
15
15
|
description: str | None = None,
|
|
@@ -66,7 +66,7 @@ async def bash(
|
|
|
66
66
|
|
|
67
67
|
@function_tool
|
|
68
68
|
async def glob(
|
|
69
|
-
ctx: RunContextWrapper[
|
|
69
|
+
ctx: RunContextWrapper[PathValidatorContext],
|
|
70
70
|
pattern: str,
|
|
71
71
|
path: str | None = None,
|
|
72
72
|
) -> str:
|
|
@@ -98,7 +98,7 @@ async def glob(
|
|
|
98
98
|
|
|
99
99
|
@function_tool
|
|
100
100
|
async def grep(
|
|
101
|
-
ctx: RunContextWrapper[
|
|
101
|
+
ctx: RunContextWrapper[PathValidatorContext],
|
|
102
102
|
pattern: str,
|
|
103
103
|
path: str | None = None,
|
|
104
104
|
include: str | None = None,
|
|
@@ -132,7 +132,7 @@ async def grep(
|
|
|
132
132
|
|
|
133
133
|
@function_tool
|
|
134
134
|
async def ls(
|
|
135
|
-
ctx: RunContextWrapper[
|
|
135
|
+
ctx: RunContextWrapper[PathValidatorContext],
|
|
136
136
|
path: str,
|
|
137
137
|
ignore: list[str] | None = None,
|
|
138
138
|
) -> str:
|
vibecore/tools/task/executor.py
CHANGED
|
@@ -8,12 +8,12 @@ from agents import (
|
|
|
8
8
|
from textual import log
|
|
9
9
|
|
|
10
10
|
from vibecore.agents.task import create_task_agent
|
|
11
|
-
from vibecore.context import
|
|
11
|
+
from vibecore.context import FullVibecoreContext
|
|
12
12
|
from vibecore.settings import settings
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
async def execute_task(
|
|
16
|
-
context:
|
|
16
|
+
context: FullVibecoreContext,
|
|
17
17
|
description: str,
|
|
18
18
|
prompt: str,
|
|
19
19
|
tool_name: str,
|
vibecore/tools/task/tools.py
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
from agents import function_tool
|
|
4
4
|
from agents.tool_context import ToolContext
|
|
5
5
|
|
|
6
|
-
from vibecore.context import
|
|
6
|
+
from vibecore.context import FullVibecoreContext
|
|
7
7
|
|
|
8
8
|
from .executor import execute_task
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@function_tool
|
|
12
12
|
async def task(
|
|
13
|
-
ctx: ToolContext[
|
|
13
|
+
ctx: ToolContext[FullVibecoreContext],
|
|
14
14
|
description: str,
|
|
15
15
|
prompt: str,
|
|
16
16
|
) -> str:
|
vibecore/tools/todo/tools.py
CHANGED
|
@@ -4,13 +4,13 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
from agents import RunContextWrapper, function_tool
|
|
6
6
|
|
|
7
|
-
from vibecore.context import
|
|
7
|
+
from vibecore.context import TodoToolContext
|
|
8
8
|
|
|
9
9
|
from .models import TodoItem
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
@function_tool
|
|
13
|
-
async def todo_read(ctx: RunContextWrapper[
|
|
13
|
+
async def todo_read(ctx: RunContextWrapper[TodoToolContext]) -> list[dict[str, Any]]:
|
|
14
14
|
"""Use this tool to read the current to-do list for the session. This tool should be used proactively and
|
|
15
15
|
frequently to ensure that you are aware of the status of the current task list. You should make use of this
|
|
16
16
|
tool as often as possible, especially in the following situations:
|
|
@@ -38,7 +38,7 @@ async def todo_read(ctx: RunContextWrapper[VibecoreContext]) -> list[dict[str, A
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
@function_tool
|
|
41
|
-
async def todo_write(ctx: RunContextWrapper[
|
|
41
|
+
async def todo_write(ctx: RunContextWrapper[TodoToolContext], todos: list[TodoItem]) -> str:
|
|
42
42
|
"""Use this tool to create and manage a structured task list for your current coding session. This helps you
|
|
43
43
|
track progress, organize complex tasks, and demonstrate thoroughness to the user. It also helps the user
|
|
44
44
|
understand the progress of the task and overall progress of their requests.
|
vibecore/tools/webfetch/tools.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"""Webfetch tool for Vibecore agents."""
|
|
2
2
|
|
|
3
|
-
from agents import
|
|
4
|
-
|
|
5
|
-
from vibecore.context import VibecoreContext
|
|
3
|
+
from agents import function_tool
|
|
6
4
|
|
|
7
5
|
from .executor import fetch_url
|
|
8
6
|
from .models import WebFetchParams
|
|
@@ -10,7 +8,6 @@ from .models import WebFetchParams
|
|
|
10
8
|
|
|
11
9
|
@function_tool
|
|
12
10
|
async def webfetch(
|
|
13
|
-
ctx: RunContextWrapper[VibecoreContext],
|
|
14
11
|
url: str,
|
|
15
12
|
timeout: int = 30,
|
|
16
13
|
follow_redirects: bool = True,
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"""Websearch tool for Vibecore agents."""
|
|
2
2
|
|
|
3
|
-
from agents import
|
|
4
|
-
|
|
5
|
-
from vibecore.context import VibecoreContext
|
|
3
|
+
from agents import function_tool
|
|
6
4
|
|
|
7
5
|
from .executor import perform_websearch
|
|
8
6
|
from .models import SearchParams
|
|
@@ -10,7 +8,6 @@ from .models import SearchParams
|
|
|
10
8
|
|
|
11
9
|
@function_tool
|
|
12
10
|
async def websearch(
|
|
13
|
-
ctx: RunContextWrapper[VibecoreContext],
|
|
14
11
|
query: str,
|
|
15
12
|
max_results: int = 5,
|
|
16
13
|
region: str | None = None,
|
vibecore/widgets/core.py
CHANGED
|
@@ -94,10 +94,10 @@ class MyTextArea(TextArea):
|
|
|
94
94
|
history = []
|
|
95
95
|
|
|
96
96
|
# First, load history from the session
|
|
97
|
-
if app.session:
|
|
97
|
+
if app.runner.session:
|
|
98
98
|
try:
|
|
99
99
|
# Get all items from the session
|
|
100
|
-
session_items = await app.session.get_items()
|
|
100
|
+
session_items = await app.runner.session.get_items()
|
|
101
101
|
for item in session_items:
|
|
102
102
|
# Filter for user messages
|
|
103
103
|
if isinstance(item, dict):
|
|
@@ -113,13 +113,6 @@ class MyTextArea(TextArea):
|
|
|
113
113
|
|
|
114
114
|
log(f"Error loading session history: {e}")
|
|
115
115
|
|
|
116
|
-
# Then add current session's messages (in memory, not yet persisted)
|
|
117
|
-
for item in app.input_items:
|
|
118
|
-
if isinstance(item, dict) and item.get("role") == "user":
|
|
119
|
-
content = item.get("content")
|
|
120
|
-
if isinstance(content, str) and content not in history:
|
|
121
|
-
history.append(content)
|
|
122
|
-
|
|
123
116
|
return history
|
|
124
117
|
return []
|
|
125
118
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vibecore
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Build your own AI-powered automation tools in the terminal with this extensible agent framework
|
|
5
5
|
Project-URL: Homepage, https://github.com/serialx/vibecore
|
|
6
6
|
Project-URL: Repository, https://github.com/serialx/vibecore
|
|
@@ -158,7 +158,6 @@ Once vibecore is running, you can:
|
|
|
158
158
|
### Commands
|
|
159
159
|
|
|
160
160
|
- `/help` - Show help and keyboard shortcuts
|
|
161
|
-
- `/clear` - Clear the current session and start a new one
|
|
162
161
|
|
|
163
162
|
## Flow Mode (Experimental)
|
|
164
163
|
|
|
@@ -177,37 +176,56 @@ Flow Mode allows you to:
|
|
|
177
176
|
|
|
178
177
|
```python
|
|
179
178
|
import asyncio
|
|
180
|
-
from agents import Agent
|
|
181
|
-
from vibecore.flow import
|
|
179
|
+
from agents import Agent
|
|
180
|
+
from vibecore.flow import Vibecore, VibecoreRunnerBase
|
|
182
181
|
from vibecore.context import VibecoreContext
|
|
182
|
+
from vibecore.settings import settings
|
|
183
183
|
|
|
184
184
|
# Define your agent with tools
|
|
185
185
|
agent = Agent[VibecoreContext](
|
|
186
186
|
name="Assistant",
|
|
187
187
|
instructions="You are a helpful assistant",
|
|
188
188
|
tools=[...], # Your tools here
|
|
189
|
+
model=settings.model,
|
|
189
190
|
)
|
|
190
191
|
|
|
191
|
-
#
|
|
192
|
-
|
|
192
|
+
# Create Vibecore instance
|
|
193
|
+
vibecore = Vibecore[VibecoreContext, str]()
|
|
194
|
+
|
|
195
|
+
# Define your conversation logic with decorator
|
|
196
|
+
@vibecore.workflow()
|
|
197
|
+
async def logic(
|
|
198
|
+
runner: VibecoreRunnerBase[VibecoreContext, str],
|
|
199
|
+
) -> str:
|
|
193
200
|
# Get user input programmatically
|
|
194
|
-
user_message = await user_input("What would you like to do?")
|
|
195
|
-
|
|
196
|
-
#
|
|
197
|
-
|
|
201
|
+
user_message = await runner.user_input("What would you like to do?")
|
|
202
|
+
|
|
203
|
+
# Print status updates
|
|
204
|
+
await runner.print(f"Processing: {user_message}")
|
|
205
|
+
|
|
206
|
+
# Process with agent (handles streaming automatically)
|
|
207
|
+
result = await runner.run_agent(
|
|
198
208
|
agent,
|
|
199
209
|
input=user_message,
|
|
200
|
-
context=
|
|
201
|
-
session=
|
|
210
|
+
context=runner.context,
|
|
211
|
+
session=runner.session,
|
|
202
212
|
)
|
|
203
|
-
|
|
204
|
-
# Handle the response
|
|
205
|
-
app.current_worker = app.handle_streamed_response(result)
|
|
206
|
-
await app.current_worker.wait()
|
|
207
213
|
|
|
208
|
-
|
|
214
|
+
await runner.print("Done!")
|
|
215
|
+
return result.final_output
|
|
216
|
+
|
|
217
|
+
# Run the flow in different modes
|
|
209
218
|
async def main():
|
|
210
|
-
|
|
219
|
+
# Option 1: TUI mode (full terminal interface)
|
|
220
|
+
result = await vibecore.run_textual(shutdown=False)
|
|
221
|
+
|
|
222
|
+
# Option 2: CLI mode (simple stdin/stdout)
|
|
223
|
+
# result = await vibecore.run_cli()
|
|
224
|
+
|
|
225
|
+
# Option 3: Static mode (programmatic, for testing)
|
|
226
|
+
# result = await vibecore.run("Calculate 2+2")
|
|
227
|
+
|
|
228
|
+
print(f"Final output: {result}")
|
|
211
229
|
|
|
212
230
|
if __name__ == "__main__":
|
|
213
231
|
asyncio.run(main())
|
|
@@ -225,11 +243,53 @@ Flow Mode shines when building complex multi-agent systems. See `examples/custom
|
|
|
225
243
|
|
|
226
244
|
### Key Components
|
|
227
245
|
|
|
228
|
-
- **`
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
- **`
|
|
232
|
-
-
|
|
246
|
+
- **`Vibecore` class**: Main entry point that orchestrates your workflow
|
|
247
|
+
- **`@vibecore.workflow()` decorator**: Defines your conversation logic function
|
|
248
|
+
- **Runner argument**: Every workflow receives a runner instance for user input, printing, and agent execution
|
|
249
|
+
- **`runner.user_input()`**: Programmatically collect user input
|
|
250
|
+
- **`runner.print()`**: Display status messages to the user
|
|
251
|
+
- **`runner.run_agent()`**: Execute agent with automatic streaming handling
|
|
252
|
+
- **`runner.context`**: Shared state (VibecoreContext) across tools and agents
|
|
253
|
+
- **`runner.session`**: Conversation history and persistence
|
|
254
|
+
- **Multiple execution modes**:
|
|
255
|
+
- `run_textual()`: Full TUI with streaming (original behavior)
|
|
256
|
+
- `run_cli()`: Simple CLI with stdin/stdout
|
|
257
|
+
- `run()`: Static mode with predefined inputs (perfect for testing)
|
|
258
|
+
- **Agent Handoffs**: Transfer control between specialized agents with context preservation
|
|
259
|
+
|
|
260
|
+
> 🛠️ Upgrading from an older release? Read the [Runner Migration Guide](docs/runner_migration.md) for step-by-step instructions.
|
|
261
|
+
|
|
262
|
+
### Multi-Mode Execution
|
|
263
|
+
|
|
264
|
+
One of vibecore's key strengths is the ability to run the **same workflow code** in different execution modes without modification:
|
|
265
|
+
|
|
266
|
+
#### TUI Mode (Textual User Interface)
|
|
267
|
+
Full-featured terminal interface with streaming responses, tool visualization, and interactive controls:
|
|
268
|
+
```python
|
|
269
|
+
result = await vibecore.run_textual(shutdown=False)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
#### CLI Mode (Command-Line Interface)
|
|
273
|
+
Simple stdin/stdout interaction for scripting and automation:
|
|
274
|
+
```python
|
|
275
|
+
result = await vibecore.run_cli()
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
#### Static Mode (Programmatic)
|
|
279
|
+
Execute with predefined inputs, perfect for testing and batch processing:
|
|
280
|
+
```python
|
|
281
|
+
# Single input
|
|
282
|
+
result = await vibecore.run("Calculate 2+2")
|
|
283
|
+
|
|
284
|
+
# Multiple inputs (for multi-turn workflows)
|
|
285
|
+
result = await vibecore.run(["First query", "Follow-up", "Final question"])
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
This unified interface means you can:
|
|
289
|
+
- **Develop once, deploy anywhere**: Write your workflow logic once and run it in any mode
|
|
290
|
+
- **Test easily**: Use static mode for automated testing with predefined inputs
|
|
291
|
+
- **Choose the right interface**: TUI for development, CLI for scripts, static for tests
|
|
292
|
+
- **Extend to new modes**: Add custom runners (HTTP API, Discord bot, etc.) by implementing the runner interface
|
|
233
293
|
|
|
234
294
|
### Use Cases
|
|
235
295
|
|
|
@@ -446,11 +506,6 @@ When enabled, the path confinement system:
|
|
|
446
506
|
- Resolves symlinks to prevent escapes
|
|
447
507
|
- Blocks access to files outside allowed directories
|
|
448
508
|
|
|
449
|
-
### Reasoning Effort
|
|
450
|
-
|
|
451
|
-
- Set default via env var: `VIBECORE_REASONING_EFFORT` (minimal | low | medium | high)
|
|
452
|
-
- Keyword triggers: `think` → low, `think hard` → medium, `ultrathink` → high
|
|
453
|
-
|
|
454
509
|
### Environment Variables
|
|
455
510
|
|
|
456
511
|
```bash
|
|
@@ -507,10 +562,15 @@ vibecore is built with a modular, extensible architecture:
|
|
|
507
562
|
|
|
508
563
|
## Recent Updates
|
|
509
564
|
|
|
510
|
-
- **
|
|
511
|
-
-
|
|
565
|
+
- **Flow Mode Refactor (v0.5.0)**: Complete redesign with multi-mode execution support
|
|
566
|
+
- New `Vibecore` class with decorator-based workflow definition
|
|
567
|
+
- Unified interface: `user_input()`, `print()`, `run_agent()`
|
|
568
|
+
- Three execution modes: TUI, CLI, and static (perfect for testing)
|
|
569
|
+
- Cleaner API with less boilerplate and better type safety
|
|
570
|
+
- **Path Confinement**: Security feature to restrict file and shell operations to specified directories
|
|
571
|
+
- **Reasoning View**: ReasoningMessage widget with live reasoning summaries during streaming
|
|
512
572
|
- **Context Usage Bar & CWD**: Footer shows token usage progress and current working directory
|
|
513
|
-
- **Keyboard & Commands**: Ctrl+Shift+D toggles theme, Esc cancels, Ctrl+D double-press to exit, `/help`
|
|
573
|
+
- **Keyboard & Commands**: Ctrl+Shift+D toggles theme, Esc cancels, Ctrl+D double-press to exit, `/help` command
|
|
514
574
|
- **MCP Tool Output**: Improved rendering with Markdown and JSON prettification
|
|
515
575
|
- **MCP Support**: Full integration with Model Context Protocol for external tool connections
|
|
516
576
|
- **Print Mode**: `-p` flag to print response and exit for pipes/automation
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
vibecore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
vibecore/cli.py,sha256=
|
|
3
|
-
vibecore/context.py,sha256=
|
|
4
|
-
vibecore/flow.py,sha256=
|
|
5
|
-
vibecore/main.py,sha256=
|
|
2
|
+
vibecore/cli.py,sha256=_DUP66ICv383PtHJGp8FIGoN2K7ntc-ofZHW7XOgI1Y,8416
|
|
3
|
+
vibecore/context.py,sha256=mfm3IBTnnoyfL3jDisr_B-z_44eanmXw6Lqz3tXw8Vg,3045
|
|
4
|
+
vibecore/flow.py,sha256=beN1kgd4krhMoPia0m_ygveXX0JCw1K2LB05rh4syfU,13071
|
|
5
|
+
vibecore/main.py,sha256=XuxDfTDESSQZTFC9r0VTQ64pFWj-FK9crtprJqsu3i8,11670
|
|
6
6
|
vibecore/main.tcss,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
vibecore/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
vibecore/settings.py,sha256=0hugs44VOKB47ysmkJ1BqZnfR8-Lvm_8OmEt3VTUjak,8471
|
|
9
|
-
vibecore/agents/default.py,sha256=
|
|
9
|
+
vibecore/agents/default.py,sha256=LTMZcDzzl4s8B4QeqF6EY2TqP3El-LuuaQuGrt3ytSk,2299
|
|
10
10
|
vibecore/agents/prompts.py,sha256=0oO9QzcytIbzgZcKJQjWD9fSRNQqBqqK5ku0fcYZZrA,324
|
|
11
|
-
vibecore/agents/task.py,sha256=
|
|
11
|
+
vibecore/agents/task.py,sha256=jtYurlSHcSmPz0oRGDmBDUqD0F4HZznBm8wNd8Xj6IA,1910
|
|
12
12
|
vibecore/auth/__init__.py,sha256=lFxAcdjXpmCjU2tWBnej3fyUqJKSc41qHLF8929nMRM,451
|
|
13
13
|
vibecore/auth/config.py,sha256=xEuChq61dygaDGhpOA9kK3VSximL42Usd-xBOY2XMpw,1650
|
|
14
14
|
vibecore/auth/interceptor.py,sha256=KsMbnTi8DDVDnwiC1YT4APjcpvpIVQK3kMSS28wizNs,5127
|
|
@@ -19,7 +19,7 @@ vibecore/auth/pkce.py,sha256=YMQxddItPqUyy1pkKfYPNWIahWhIUVWL7vPFsQQvb7M,956
|
|
|
19
19
|
vibecore/auth/storage.py,sha256=dWSDi4thRHHrSTJmAOInOdArTGQ_t0EdWHrk4Am8LWg,3495
|
|
20
20
|
vibecore/auth/token_manager.py,sha256=Dwd0EkbBVeoIef7K6RW4QzaS7-6HAM-or0Ra4M1xddg,4611
|
|
21
21
|
vibecore/handlers/__init__.py,sha256=pFogA2n3GeIi4lmlUEU5jFprNNOaA6AWRR8Wc9X-P4Y,148
|
|
22
|
-
vibecore/handlers/stream_handler.py,sha256=
|
|
22
|
+
vibecore/handlers/stream_handler.py,sha256=npSBCTZO_HDTyZOeZq0Ajarb4Emi9bkhocxLg_HS2_I,10697
|
|
23
23
|
vibecore/mcp/__init__.py,sha256=sl2_8pWjPx4TotO0ZojunVA6Jn6yOhbTQNbQG9-C-Jc,199
|
|
24
24
|
vibecore/mcp/manager.py,sha256=RRpoFUiQjSg0-h9M7sF3odaSM7LURwrxVlaae5Yml3M,5644
|
|
25
25
|
vibecore/mcp/server_wrapper.py,sha256=CkTyqZzmy7oeciSml0Q915orho_U2XcHoqhDVMOq7nY,3989
|
|
@@ -29,46 +29,46 @@ vibecore/models/anthropic_auth.py,sha256=_hRGbPHTs6IrkSc5mDI7mshdOZYCyqu82HX9WdQ
|
|
|
29
29
|
vibecore/prompts/common_system_prompt.txt,sha256=L-YlOfTJSQLtVg6d0r9lcD5FrgOLzoSWjGzVfQjcDBg,4916
|
|
30
30
|
vibecore/session/__init__.py,sha256=FXbtw8DZVBw8e3qCA2cQharMzozblhwA0yU4U0JRSkM,121
|
|
31
31
|
vibecore/session/file_lock.py,sha256=vCuDdfaOGDeVpTjJP6yBJx7onIT7JkkAeAuWAtuLJb8,3739
|
|
32
|
-
vibecore/session/jsonl_session.py,sha256=
|
|
33
|
-
vibecore/session/loader.py,sha256=
|
|
32
|
+
vibecore/session/jsonl_session.py,sha256=hS03fbgPzKEKdUesdg_8OHCoD1nnMFjHe54K2Psh3SY,8771
|
|
33
|
+
vibecore/session/loader.py,sha256=HTQDXW9kcw9eBWu7zN34jvRstXlKejyGE6ZoR6ux3Go,6846
|
|
34
34
|
vibecore/session/path_utils.py,sha256=_meng4PnOR59ekPWp_WICkt8yVkokt8c6oePZvk3m-4,2544
|
|
35
35
|
vibecore/tools/__init__.py,sha256=nppfKiflvkQRUotBrj9nFU0veWex1DE_YX1fg67SRlw,37
|
|
36
36
|
vibecore/tools/base.py,sha256=POI1bM89qDWlQ5VfcdUFoIg_Tv5Rlrd6sQTRLj-4YmQ,658
|
|
37
37
|
vibecore/tools/path_validator.py,sha256=3Dob33-A6aNy92UeFAEEQME10V_P4N6ZODf7o5H6fYU,8566
|
|
38
38
|
vibecore/tools/file/__init__.py,sha256=EhdebEC6JTaiROkpItoJWK2lGEq2B5ReNL_IRqxZX5w,147
|
|
39
|
-
vibecore/tools/file/executor.py,sha256=
|
|
40
|
-
vibecore/tools/file/tools.py,sha256=
|
|
39
|
+
vibecore/tools/file/executor.py,sha256=2r4r7Q-_2POkxfHHAA2dCo4bEU9c6TtfgBOIIJaV6HU,12136
|
|
40
|
+
vibecore/tools/file/tools.py,sha256=6mwrQNkW7njjqdv_MqHHRwvMFPxELi27QJaUK9n9FP8,8370
|
|
41
41
|
vibecore/tools/file/utils.py,sha256=0Gef8HZgq520pqYgsF8n4cL9FNtzA7nYEr8bBCZVnro,2356
|
|
42
42
|
vibecore/tools/python/__init__.py,sha256=bqSKgP2pY3bArCmQxOsWFflfmASq3SybOlrmZiz9y4s,35
|
|
43
|
-
vibecore/tools/python/helpers.py,sha256=
|
|
43
|
+
vibecore/tools/python/helpers.py,sha256=NlGzDHseubLsEGVnyU2fAtCeb_nKh9vzEicOlQeWzlY,2922
|
|
44
44
|
vibecore/tools/python/manager.py,sha256=5r7RAqJL7FAIf3xBNqsr-T_La2XHd3KIy5olubuBRZ4,7502
|
|
45
|
-
vibecore/tools/python/tools.py,sha256=
|
|
45
|
+
vibecore/tools/python/tools.py,sha256=xSPPLbNh7rDmF0Oo6_77I_Q_1zsxyqq5ztELynIxHmg,921
|
|
46
46
|
vibecore/tools/python/backends/__init__.py,sha256=RTfU7AzlVyDSaldfVNdKAgv4759RQAl07-UFGqc70Oo,50
|
|
47
47
|
vibecore/tools/python/backends/terminal_backend.py,sha256=3PA4haJN-dyIvnudx6qfx58ThjaeT7DULnCvhacADbw,1908
|
|
48
48
|
vibecore/tools/shell/__init__.py,sha256=Ias6qmBMDK29q528VtUGtCQeYD4RU_Yx73SIAJrB8No,133
|
|
49
|
-
vibecore/tools/shell/executor.py,sha256=
|
|
50
|
-
vibecore/tools/shell/tools.py,sha256=
|
|
49
|
+
vibecore/tools/shell/executor.py,sha256=vVWZ2jk_TAAkgbOQV0FuC2xzTdeOtdWOqj60bxAOAj4,9358
|
|
50
|
+
vibecore/tools/shell/tools.py,sha256=D_w9m8W1jJjeEnv3t8yie_SXd1Ce1wAtU8dW8xwVAOY,6874
|
|
51
51
|
vibecore/tools/task/__init__.py,sha256=Fyw33zGiBArMnPuRMm7qwSYE6ZRPCZVbHK6eIUJDiJY,112
|
|
52
|
-
vibecore/tools/task/executor.py,sha256=
|
|
53
|
-
vibecore/tools/task/tools.py,sha256=
|
|
52
|
+
vibecore/tools/task/executor.py,sha256=Q7rNmPb38CcOrMvPJnxERZc3S4ryti_T_f-yRpA1Ivc,1614
|
|
53
|
+
vibecore/tools/task/tools.py,sha256=uAIAVkcIWmIolpGo9LlS_2CacWmxuWvp5rKwijvwZC0,2265
|
|
54
54
|
vibecore/tools/todo/__init__.py,sha256=67o76OyzqYKBH461R9H2-rkNx7ZK6tRSydca3GjqKh8,29
|
|
55
55
|
vibecore/tools/todo/manager.py,sha256=-kww4y57BUFbnKI2eWo44CC1fDNX_UcSm76GwCwL3do,624
|
|
56
56
|
vibecore/tools/todo/models.py,sha256=qikR5S4VmwkvYTWxhlBxRxXgri5YitZ6hVdRrRySRAk,503
|
|
57
|
-
vibecore/tools/todo/tools.py,sha256=
|
|
57
|
+
vibecore/tools/todo/tools.py,sha256=KhGZ5LaDPfR4OGUWVNCokIN1VCHgrZ0nsA7sDoRzVI0,5176
|
|
58
58
|
vibecore/tools/webfetch/__init__.py,sha256=fKfht3oiz-wMNgtukQjYIUcUC4y7g3GLKK7QXHl0Mcg,224
|
|
59
59
|
vibecore/tools/webfetch/executor.py,sha256=DFjnHgAvDPuwP5h4fgXM2JH270TgF4Vux7ndmZLs9BI,4912
|
|
60
60
|
vibecore/tools/webfetch/models.py,sha256=YvGR4i8Mi7gygCJe7-VPyrvbgacBUJ1PLHyCmOQPmuU,694
|
|
61
|
-
vibecore/tools/webfetch/tools.py,sha256=
|
|
61
|
+
vibecore/tools/webfetch/tools.py,sha256=X1uvJLD-7mA1ewZcmYI-MhTNuKcAELEdcF3UDY6g73s,1384
|
|
62
62
|
vibecore/tools/websearch/__init__.py,sha256=xl3aPD-pOt0Ya4L8khMbOfqpcCpkWTy2-KVk2hUxnOU,97
|
|
63
63
|
vibecore/tools/websearch/base.py,sha256=El9Mx6MFWM3CKGG8MPbPIKgRjdbNZtylFALsPCUTPFs,596
|
|
64
64
|
vibecore/tools/websearch/executor.py,sha256=CLwFkPSDzllH7J1hNdjsp5L0SDLqoINlOSl-zoQKs2A,1114
|
|
65
65
|
vibecore/tools/websearch/models.py,sha256=5cwDw9dWLZ6krP_khx1euwsHjSYLIE4_hNefkjzrkWE,749
|
|
66
|
-
vibecore/tools/websearch/tools.py,sha256=
|
|
66
|
+
vibecore/tools/websearch/tools.py,sha256=1sk6q1ivUIk2rUfojYdHP5gHy7ONH3zxi1v2wHKZGWc,1624
|
|
67
67
|
vibecore/tools/websearch/ddgs/__init__.py,sha256=XwZ7As5mVqxXz69In96L3TDChPhpc8GnZR72LgdBvX4,113
|
|
68
68
|
vibecore/tools/websearch/ddgs/backend.py,sha256=HHcckGFoPaFGYSl4k5UH6PURgF1sk8zYWSWVEYeAEtI,1959
|
|
69
69
|
vibecore/utils/__init__.py,sha256=KIS8TkfaDZ1AclSstkYcG8DvJPNsJNOE4EL4zHJE2k4,112
|
|
70
70
|
vibecore/utils/text.py,sha256=RLVFrVsD5L7xi68JTgSa0PeN9S32faqIiaF79dNCyTM,978
|
|
71
|
-
vibecore/widgets/core.py,sha256=
|
|
71
|
+
vibecore/widgets/core.py,sha256=MIDWvdAiPLbhOmSQR0Aql3TJ1E1qu3z3YVHWRFM_5sg,11711
|
|
72
72
|
vibecore/widgets/core.tcss,sha256=fgjEv_3G_dAMwmWsaz4Uz-lXQzpN5oLSxeRYU4ygnDY,1016
|
|
73
73
|
vibecore/widgets/expandable.py,sha256=GIcXXzVGr4BdyATphUrHZqB30DF_WgeyrccjEIf7FWc,5603
|
|
74
74
|
vibecore/widgets/expandable.tcss,sha256=zmm5zDDabvXiePwwsuSGLPkxHUYunEjmwkp5XrTjxSw,1343
|
|
@@ -81,8 +81,8 @@ vibecore/widgets/messages.tcss,sha256=Dhz6X1Fkj2XN9bVGVH_hBelDF7WXNE6hHMkGQRQy1Q
|
|
|
81
81
|
vibecore/widgets/tool_message_factory.py,sha256=yrZorT4HKo5b6rWUc0dgQle7q7cvLyq8JllE772RZS0,5730
|
|
82
82
|
vibecore/widgets/tool_messages.py,sha256=hJOolN3iLTAjqfotfH1elXqsdDo1r_UHjsyRVH0GAeo,29415
|
|
83
83
|
vibecore/widgets/tool_messages.tcss,sha256=gdChmHClURqn_sD9GkcOGQcQVYvUUl75mLUYp85sKz8,8442
|
|
84
|
-
vibecore-0.
|
|
85
|
-
vibecore-0.
|
|
86
|
-
vibecore-0.
|
|
87
|
-
vibecore-0.
|
|
88
|
-
vibecore-0.
|
|
84
|
+
vibecore-0.6.0.dist-info/METADATA,sha256=T9Dx_4ZZUJF7WcK_vfqtdAztc-9W_KxxY3m-5Nqm9D8,22141
|
|
85
|
+
vibecore-0.6.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
86
|
+
vibecore-0.6.0.dist-info/entry_points.txt,sha256=i9mOKvpz07ciV_YYisxNCYZ53_Crjkn9mciiQ3aA6QM,51
|
|
87
|
+
vibecore-0.6.0.dist-info/licenses/LICENSE,sha256=KXxxifvrcreHrZ4aOYgP-vA8DRHHueW389KKOeEbtjc,1069
|
|
88
|
+
vibecore-0.6.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|