@lovenyberg/ove 0.5.2 → 0.6.1
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/README.md +13 -1
- package/deploy/ove.service +16 -0
- package/package.json +1 -1
- package/src/config.test.ts +6 -0
- package/src/config.ts +5 -1
- package/src/flows.test.ts +1 -1
- package/src/handlers.ts +75 -70
- package/.dockerignore +0 -7
- package/.github/workflows/ci.yml +0 -16
- package/.github/workflows/pages.yml +0 -33
- package/.github/workflows/publish.yml +0 -45
- package/Dockerfile +0 -37
- package/bun.lock +0 -503
- package/bunfig.toml +0 -2
- package/docker-compose.yml +0 -15
- package/docs/examples.md +0 -247
- package/docs/favicon.ico +0 -0
- package/docs/index.html +0 -980
- package/docs/logo.png +0 -0
- package/docs/plans/2026-02-21-codex-runner-design.md +0 -51
- package/docs/plans/2026-02-21-codex-runner-plan.md +0 -475
- package/docs/plans/2026-02-22-repo-autodiscovery-design.md +0 -98
- package/docs/plans/2026-02-22-repo-autodiscovery-plan.md +0 -826
- package/docs/plans/2026-02-23-conversation-repo-memory.md +0 -272
- package/docs/plans/2026-02-25-landing-page-harmonization-design.md +0 -89
- package/docs/plans/2026-02-25-landing-page-harmonization-plan.md +0 -604
- package/logo.png +0 -0
- package/public/logo.png +0 -0
package/docs/examples.md
DELETED
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
# Example Interactions
|
|
2
|
-
|
|
3
|
-
Examples showing Ove across different transports. You can use shorthand commands or just chat naturally — Ove understands both.
|
|
4
|
-
|
|
5
|
-
## Natural Conversation
|
|
6
|
-
|
|
7
|
-
You don't need commands. Just describe what you need, like you'd tell a colleague.
|
|
8
|
-
|
|
9
|
-
**Slack DM:**
|
|
10
|
-
```
|
|
11
|
-
alice: the login page is broken, users get a 500 after submitting the form
|
|
12
|
-
ove: Working on it...
|
|
13
|
-
ove: Found the issue — the session middleware wasn't awaiting the
|
|
14
|
-
database call on line 34 of src/middleware/session.ts. Created
|
|
15
|
-
PR #47 with the fix and added a test:
|
|
16
|
-
https://github.com/org/my-app/pull/47
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Telegram:**
|
|
20
|
-
```
|
|
21
|
-
alice: can you add input validation to the user registration endpoint in my-app?
|
|
22
|
-
ove: Working on it...
|
|
23
|
-
ove: Done. Added zod validation for email, password length, and
|
|
24
|
-
username format. All 48 tests pass. PR #48:
|
|
25
|
-
https://github.com/org/my-app/pull/48
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Discord:**
|
|
29
|
-
```
|
|
30
|
-
alice: how does the caching layer work in my-app? I need to understand
|
|
31
|
-
it before I make changes
|
|
32
|
-
ove: Looking into it...
|
|
33
|
-
ove: The caching layer has 3 parts:
|
|
34
|
-
1. src/cache/redis.ts — Redis client wrapper with connection pooling
|
|
35
|
-
2. src/cache/keys.ts — key generation with TTL per resource type
|
|
36
|
-
3. src/middleware/cache.ts — Express middleware that caches GET
|
|
37
|
-
responses by URL + user role
|
|
38
|
-
Cache invalidation happens on POST/PUT/DELETE via the afterWrite
|
|
39
|
-
hook in the base repository class.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## PR Review (shorthand)
|
|
43
|
-
|
|
44
|
-
**Slack DM:**
|
|
45
|
-
```
|
|
46
|
-
alice: review PR #42 on my-app
|
|
47
|
-
ove: Working on it...
|
|
48
|
-
ove: PR #42 review done. Left 3 inline comments:
|
|
49
|
-
- src/auth.ts:15 — potential SQL injection in query param
|
|
50
|
-
- src/middleware.ts:42 — missing error handler for async route
|
|
51
|
-
- src/utils.ts:8 — unused import
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**GitHub issue comment:**
|
|
55
|
-
```
|
|
56
|
-
@ove review PR #42
|
|
57
|
-
```
|
|
58
|
-
Ove replies with a comment containing the review summary.
|
|
59
|
-
|
|
60
|
-
## Fix Issue
|
|
61
|
-
|
|
62
|
-
**Telegram:**
|
|
63
|
-
```
|
|
64
|
-
alice: fix issue #15 on my-app
|
|
65
|
-
ove: Working on it...
|
|
66
|
-
ove: Fixed! Created PR #43:
|
|
67
|
-
https://github.com/org/my-app/pull/43
|
|
68
|
-
Changed src/auth.ts to properly check token expiry timestamps.
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Validate
|
|
72
|
-
|
|
73
|
-
**Discord:**
|
|
74
|
-
```
|
|
75
|
-
alice: validate my-app
|
|
76
|
-
ove: Working on it...
|
|
77
|
-
ove: All 42 tests pass. ESLint found 3 warnings:
|
|
78
|
-
• src/utils.ts:12 — unused variable 'tmp'
|
|
79
|
-
• src/api.ts:45 — prefer const
|
|
80
|
-
• src/api.ts:88 — prefer const
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Simplify
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
alice: simplify src/router.ts in my-app
|
|
87
|
-
ove: Working on it...
|
|
88
|
-
ove: Created PR #44. Reduced cyclomatic complexity from 18 to 9.
|
|
89
|
-
Extracted 3 helper functions, removed duplicated regex logic.
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Brainstorm / Discuss
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
alice: I have a new idea
|
|
96
|
-
ove: What's the idea? Tell me more about what you're thinking.
|
|
97
|
-
alice: a notification service for our platform
|
|
98
|
-
ove: Interesting! A few questions to shape this:
|
|
99
|
-
1. What types of notifications? (email, push, in-app, SMS?)
|
|
100
|
-
2. Real-time or batched?
|
|
101
|
-
3. Do users need preferences/opt-out?
|
|
102
|
-
Let's think through the architecture...
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
alice: discuss auth flow for the new API
|
|
107
|
-
ove: Let's think about this. Key questions:
|
|
108
|
-
- Who are the consumers? (internal services, external apps, users?)
|
|
109
|
-
- Do you need OAuth2/OIDC or is API key auth sufficient?
|
|
110
|
-
- What about rate limiting per client?
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Create Project
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
alice: create project my-api with template express
|
|
117
|
-
ove: Working on it...
|
|
118
|
-
ove: Project "my-api" created and pushed to GitHub:
|
|
119
|
-
https://github.com/org/my-api
|
|
120
|
-
Structure: Express + TypeScript, src/index.ts entry point
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Scheduling
|
|
124
|
-
|
|
125
|
-
**Create a recurring task:**
|
|
126
|
-
```
|
|
127
|
-
alice: validate my-app every weekday at 9:00
|
|
128
|
-
ove: Scheduled! Will run "validate my-app" Mon–Fri at 09:00.
|
|
129
|
-
Schedule #1 created.
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**List schedules:**
|
|
133
|
-
```
|
|
134
|
-
alice: list schedules
|
|
135
|
-
ove: Your scheduled tasks:
|
|
136
|
-
#1 validate my-app — Mon–Fri at 09:00
|
|
137
|
-
#2 review PR activity on my-app — every Monday at 08:00
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**Remove a schedule:**
|
|
141
|
-
```
|
|
142
|
-
alice: remove schedule #1
|
|
143
|
-
ove: Schedule #1 removed.
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## More Free-form Examples
|
|
147
|
-
|
|
148
|
-
Anything you type works. Ove parses intent from natural language.
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
alice: what does the auth middleware do in my-app
|
|
152
|
-
ove: The auth middleware in my-app:
|
|
153
|
-
1. Extracts JWT from Authorization header
|
|
154
|
-
2. Verifies signature against JWKS endpoint
|
|
155
|
-
3. Attaches decoded user to req.user
|
|
156
|
-
4. Returns 401 for invalid/missing tokens
|
|
157
|
-
Located in src/middleware/auth.ts (42 lines).
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
alice: the CI is red on main, can you check what's going on?
|
|
162
|
-
ove: Looking into it...
|
|
163
|
-
ove: The test "should return 404 for unknown routes" is failing
|
|
164
|
-
because the new /health endpoint was added without updating
|
|
165
|
-
the route count assertion. Line 89 in src/api.test.ts expects
|
|
166
|
-
12 routes but there are now 13. Want me to fix it?
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## HTTP API
|
|
170
|
-
|
|
171
|
-
**Send a task via curl:**
|
|
172
|
-
```bash
|
|
173
|
-
curl -X POST http://localhost:3000/api/message \
|
|
174
|
-
-H "X-API-Key: your-secret" \
|
|
175
|
-
-H "Content-Type: application/json" \
|
|
176
|
-
-d '{"text": "validate my-app"}'
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
**Stream results via SSE:**
|
|
180
|
-
```bash
|
|
181
|
-
curl -N "http://localhost:3000/api/message/<eventId>/stream?key=your-secret"
|
|
182
|
-
|
|
183
|
-
data: {"status":"pending","statusText":"Running tests..."}
|
|
184
|
-
data: {"status":"completed","result":"Validation complete. No issues."}
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Web UI:** Open `http://localhost:3000` in a browser for a chat-style interface.
|
|
188
|
-
|
|
189
|
-
## Task Management
|
|
190
|
-
|
|
191
|
-
Tasks on different repos run in parallel (up to 5 concurrent). Same-repo tasks stay serial.
|
|
192
|
-
|
|
193
|
-
**List running and pending tasks:**
|
|
194
|
-
```
|
|
195
|
-
alice: tasks
|
|
196
|
-
ove: Running:
|
|
197
|
-
abc1234 — "fix the login bug" on auth-service (2m 30s)
|
|
198
|
-
def4567 — "review PR #42" on infra (45s)
|
|
199
|
-
Pending:
|
|
200
|
-
ghi7890 — "add tests" on auth-service (waiting — auth-service busy)
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**Cancel a task by short ID:**
|
|
204
|
-
```
|
|
205
|
-
alice: cancel abc1234
|
|
206
|
-
ove: Killed task abc1234 on auth-service. Gone.
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**Cancel a pending task:**
|
|
210
|
-
```
|
|
211
|
-
alice: cancel ghi7890
|
|
212
|
-
ove: Cancelled pending task ghi7890 on auth-service.
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## Meta Commands
|
|
216
|
-
|
|
217
|
-
```
|
|
218
|
-
alice: status
|
|
219
|
-
ove: Agent status: 2 pending, 1 running, 15 completed, 0 failed
|
|
220
|
-
|
|
221
|
-
alice: history
|
|
222
|
-
ove: Recent tasks:
|
|
223
|
-
• [completed] Review PR #42 (my-app)
|
|
224
|
-
• [completed] Fix issue #15 (my-app)
|
|
225
|
-
• [running] Validate my-app
|
|
226
|
-
|
|
227
|
-
alice: help
|
|
228
|
-
ove: Commands:
|
|
229
|
-
• review PR #N on <repo>
|
|
230
|
-
• fix issue #N on <repo>
|
|
231
|
-
• simplify <path> in <repo>
|
|
232
|
-
• validate <repo>
|
|
233
|
-
• discuss <topic> — brainstorm ideas (no code changes)
|
|
234
|
-
• create project <name> [with template <type>]
|
|
235
|
-
• tasks — see running and pending tasks
|
|
236
|
-
• cancel <id> — kill a running or pending task
|
|
237
|
-
• <task> every day at <time> — schedule a recurring task
|
|
238
|
-
• list schedules — see your scheduled tasks
|
|
239
|
-
• remove schedule #N — remove a scheduled task
|
|
240
|
-
• status — show queue stats
|
|
241
|
-
• history — show recent tasks
|
|
242
|
-
• clear — reset conversation
|
|
243
|
-
• Or just type anything for free-form coding help
|
|
244
|
-
|
|
245
|
-
alice: clear
|
|
246
|
-
ove: Conversation cleared.
|
|
247
|
-
```
|
package/docs/favicon.ico
DELETED
|
Binary file
|