@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/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