@soederpop/luca 0.0.6 → 0.0.8
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/CLAUDE.md +10 -1
- package/RUNME.md +56 -0
- package/bun.lock +1 -1
- package/commands/build-bootstrap.ts +78 -0
- package/commands/build-scaffolds.ts +24 -2
- package/commands/try-all-challenges.ts +543 -0
- package/commands/try-challenge.ts +100 -0
- package/docs/README.md +52 -80
- package/docs/TABLE-OF-CONTENTS.md +82 -51
- package/docs/apis/clients/elevenlabs.md +232 -8
- package/docs/apis/clients/graph.md +59 -8
- package/docs/apis/clients/openai.md +362 -2
- package/docs/apis/clients/rest.md +122 -2
- package/docs/apis/clients/websocket.md +71 -17
- package/docs/apis/features/agi/assistant.md +9 -3
- package/docs/apis/features/agi/assistants-manager.md +2 -2
- package/docs/apis/features/agi/claude-code.md +153 -14
- package/docs/apis/features/agi/conversation-history.md +15 -3
- package/docs/apis/features/agi/conversation.md +133 -20
- package/docs/apis/features/agi/openai-codex.md +90 -12
- package/docs/apis/features/agi/skills-library.md +23 -5
- package/docs/apis/features/node/container-link.md +59 -0
- package/docs/apis/features/node/content-db.md +1 -1
- package/docs/apis/features/node/disk-cache.md +1 -1
- package/docs/apis/features/node/dns.md +1 -0
- package/docs/apis/features/node/docker.md +2 -1
- package/docs/apis/features/node/esbuild.md +4 -3
- package/docs/apis/features/node/file-manager.md +13 -4
- package/docs/apis/features/node/fs.md +726 -171
- package/docs/apis/features/node/git.md +1 -0
- package/docs/apis/features/node/google-auth.md +23 -4
- package/docs/apis/features/node/google-calendar.md +14 -2
- package/docs/apis/features/node/google-docs.md +15 -2
- package/docs/apis/features/node/google-drive.md +21 -3
- package/docs/apis/features/node/google-sheets.md +14 -2
- package/docs/apis/features/node/grep.md +2 -0
- package/docs/apis/features/node/helpers.md +29 -0
- package/docs/apis/features/node/ink.md +2 -2
- package/docs/apis/features/node/networking.md +39 -4
- package/docs/apis/features/node/os.md +28 -0
- package/docs/apis/features/node/postgres.md +26 -4
- package/docs/apis/features/node/proc.md +37 -28
- package/docs/apis/features/node/process-manager.md +33 -5
- package/docs/apis/features/node/repl.md +1 -1
- package/docs/apis/features/node/runpod.md +1 -0
- package/docs/apis/features/node/secure-shell.md +7 -0
- package/docs/apis/features/node/semantic-search.md +12 -5
- package/docs/apis/features/node/sqlite.md +26 -4
- package/docs/apis/features/node/telegram.md +30 -5
- package/docs/apis/features/node/tts.md +17 -2
- package/docs/apis/features/node/ui.md +1 -1
- package/docs/apis/features/node/vault.md +4 -9
- package/docs/apis/features/node/vm.md +3 -12
- package/docs/apis/features/node/window-manager.md +128 -20
- package/docs/apis/features/web/asset-loader.md +13 -1
- package/docs/apis/features/web/container-link.md +59 -0
- package/docs/apis/features/web/esbuild.md +4 -3
- package/docs/apis/features/web/helpers.md +29 -0
- package/docs/apis/features/web/network.md +16 -2
- package/docs/apis/features/web/speech.md +16 -2
- package/docs/apis/features/web/vault.md +4 -9
- package/docs/apis/features/web/vm.md +3 -12
- package/docs/apis/features/web/voice.md +18 -1
- package/docs/apis/servers/express.md +18 -2
- package/docs/apis/servers/mcp.md +29 -4
- package/docs/apis/servers/websocket.md +34 -6
- package/docs/bootstrap/CLAUDE.md +100 -0
- package/docs/bootstrap/SKILL.md +222 -0
- package/docs/bootstrap/templates/about-command.ts +41 -0
- package/docs/bootstrap/templates/docs-models.ts +22 -0
- package/docs/bootstrap/templates/docs-readme.md +43 -0
- package/docs/bootstrap/templates/example-feature.ts +53 -0
- package/docs/bootstrap/templates/health-endpoint.ts +15 -0
- package/docs/bootstrap/templates/luca-cli.ts +25 -0
- package/docs/bootstrap/templates/runme.md +54 -0
- package/docs/challenges/caching-proxy.md +16 -0
- package/docs/challenges/content-db-round-trip.md +14 -0
- package/docs/challenges/custom-command.md +9 -0
- package/docs/challenges/file-watcher-pipeline.md +11 -0
- package/docs/challenges/grep-audit-report.md +15 -0
- package/docs/challenges/multi-feature-dashboard.md +14 -0
- package/docs/challenges/process-orchestrator.md +17 -0
- package/docs/challenges/rest-api-server-with-client.md +12 -0
- package/docs/challenges/script-runner-with-vm.md +11 -0
- package/docs/challenges/simple-rest-api.md +15 -0
- package/docs/challenges/websocket-serve-and-client.md +11 -0
- package/docs/challenges/yaml-config-system.md +14 -0
- package/docs/command-system-overhaul.md +94 -0
- package/docs/examples/assistant/CORE.md +18 -0
- package/docs/examples/assistant/hooks.ts +3 -0
- package/docs/examples/assistant/tools.ts +10 -0
- package/docs/examples/window-manager-layouts.md +180 -0
- package/docs/in-memory-fs.md +4 -0
- package/docs/models.ts +13 -10
- package/docs/philosophy.md +4 -3
- package/docs/reports/console-hmr-design.md +170 -0
- package/docs/reports/helper-semantic-search.md +72 -0
- package/docs/scaffolds/client.md +29 -20
- package/docs/scaffolds/command.md +64 -50
- package/docs/scaffolds/endpoint.md +31 -36
- package/docs/scaffolds/feature.md +28 -18
- package/docs/scaffolds/selector.md +91 -0
- package/docs/scaffolds/server.md +18 -9
- package/docs/selectors.md +115 -0
- package/docs/sessions/custom-command/attempt-log-2.md +195 -0
- package/docs/sessions/file-watcher-pipeline/attempt-log-1.md +728 -0
- package/docs/sessions/file-watcher-pipeline/attempt-log-2.md +555 -0
- package/docs/sessions/grep-audit-report/attempt-log-1.md +289 -0
- package/docs/sessions/multi-feature-dashboard/attempt-log-2.md +679 -0
- package/docs/sessions/rest-api-server-with-client/attempt-log-1.md +1 -0
- package/docs/sessions/rest-api-server-with-client/attempt-log-3.md +920 -0
- package/docs/sessions/simple-rest-api/attempt-log-1.md +593 -0
- package/docs/sessions/websocket-serve-and-client/attempt-log-2.md +995 -0
- package/docs/tutorials/00-bootstrap.md +148 -0
- package/docs/tutorials/07-endpoints.md +7 -7
- package/docs/tutorials/08-commands.md +153 -72
- package/luca.cli.ts +3 -0
- package/package.json +6 -5
- package/public/index.html +1430 -0
- package/scripts/examples/using-ollama.ts +2 -1
- package/scripts/update-introspection-data.ts +2 -2
- package/src/agi/endpoints/experts.ts +1 -1
- package/src/agi/features/assistant.ts +7 -0
- package/src/agi/features/assistants-manager.ts +5 -5
- package/src/agi/features/claude-code.ts +263 -3
- package/src/agi/features/conversation-history.ts +7 -1
- package/src/agi/features/conversation.ts +26 -3
- package/src/agi/features/openai-codex.ts +26 -2
- package/src/agi/features/openapi.ts +6 -1
- package/src/agi/features/skills-library.ts +9 -1
- package/src/bootstrap/generated.ts +595 -0
- package/src/cli/cli.ts +64 -21
- package/src/client.ts +23 -357
- package/src/clients/civitai/index.ts +1 -1
- package/src/clients/client-template.ts +1 -1
- package/src/clients/comfyui/index.ts +13 -2
- package/src/clients/elevenlabs/index.ts +2 -1
- package/src/clients/graph.ts +87 -0
- package/src/clients/openai/index.ts +10 -1
- package/src/clients/rest.ts +207 -0
- package/src/clients/websocket.ts +176 -0
- package/src/command.ts +281 -34
- package/src/commands/bootstrap.ts +185 -0
- package/src/commands/chat.ts +5 -4
- package/src/commands/describe.ts +341 -4
- package/src/commands/help.ts +35 -9
- package/src/commands/index.ts +3 -0
- package/src/commands/introspect.ts +92 -2
- package/src/commands/prompt.ts +5 -6
- package/src/commands/run.ts +75 -10
- package/src/commands/save-api-docs.ts +49 -0
- package/src/commands/scaffold.ts +169 -23
- package/src/commands/select.ts +94 -0
- package/src/commands/serve.ts +10 -1
- package/src/container.ts +15 -0
- package/src/endpoint.ts +19 -0
- package/src/graft.ts +181 -0
- package/src/introspection/generated.agi.ts +12458 -8968
- package/src/introspection/generated.node.ts +10573 -7145
- package/src/introspection/generated.web.ts +1 -1
- package/src/introspection/index.ts +26 -0
- package/src/node/container.ts +6 -7
- package/src/node/features/content-db.ts +49 -2
- package/src/node/features/disk-cache.ts +16 -9
- package/src/node/features/dns.ts +16 -3
- package/src/node/features/docker.ts +16 -4
- package/src/node/features/esbuild.ts +22 -2
- package/src/node/features/file-manager.ts +184 -29
- package/src/node/features/fs.ts +704 -248
- package/src/node/features/git.ts +21 -8
- package/src/node/features/grep.ts +23 -3
- package/src/node/features/helpers.ts +372 -43
- package/src/node/features/networking.ts +39 -4
- package/src/node/features/opener.ts +28 -15
- package/src/node/features/os.ts +76 -0
- package/src/node/features/port-exposer.ts +11 -1
- package/src/node/features/postgres.ts +17 -1
- package/src/node/features/proc.ts +4 -1
- package/src/node/features/python.ts +63 -14
- package/src/node/features/repl.ts +11 -7
- package/src/node/features/runpod.ts +16 -3
- package/src/node/features/secure-shell.ts +27 -2
- package/src/node/features/semantic-search.ts +12 -1
- package/src/node/features/ui.ts +5 -69
- package/src/node/features/vm.ts +17 -0
- package/src/node/features/window-manager.ts +68 -20
- package/src/node.ts +5 -0
- package/src/scaffolds/generated.ts +492 -290
- package/src/scaffolds/template.ts +9 -0
- package/src/schemas/base.ts +46 -5
- package/src/selector.ts +282 -0
- package/src/server.ts +11 -0
- package/src/servers/express.ts +27 -12
- package/src/servers/socket.ts +45 -11
- package/src/web/clients/socket.ts +4 -1
- package/src/web/container.ts +2 -1
- package/src/web/features/network.ts +7 -1
- package/src/web/features/voice-recognition.ts +16 -1
- package/test/clients-servers.test.ts +2 -1
- package/test/command.test.ts +267 -0
- package/test/vm-context.test.ts +146 -0
- package/test-integration/assistants-manager.test.ts +10 -20
- package/docs/apis/features/node/launcher-app-command-listener.md +0 -145
- package/docs/examples/launcher-app-command-listener.md +0 -120
- package/docs/tasks/web-container-helper-discovery.md +0 -71
- package/docs/todos.md +0 -1
- package/scripts/test-command-listener.ts +0 -123
- package/src/node/features/launcher-app-command-listener.ts +0 -389
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Conversation (features.conversation)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A self-contained conversation with OpenAI that supports streaming, tool calling, and message state management.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -174,115 +174,228 @@ Append a message to the conversation state.
|
|
|
174
174
|
|
|
175
175
|
### summarizeStart
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
Fired before generating a conversation summary
|
|
178
178
|
|
|
179
179
|
|
|
180
180
|
|
|
181
181
|
### summarizeEnd
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
Fired after the summary is generated
|
|
184
|
+
|
|
185
|
+
**Event Arguments:**
|
|
186
|
+
|
|
187
|
+
| Name | Type | Description |
|
|
188
|
+
|------|------|-------------|
|
|
189
|
+
| `arg0` | `string` | The generated summary text |
|
|
184
190
|
|
|
185
191
|
|
|
186
192
|
|
|
187
193
|
### compactStart
|
|
188
194
|
|
|
189
|
-
|
|
195
|
+
Fired before compacting the conversation history
|
|
196
|
+
|
|
197
|
+
**Event Arguments:**
|
|
198
|
+
|
|
199
|
+
| Name | Type | Description |
|
|
200
|
+
|------|------|-------------|
|
|
201
|
+
| `messageCount` | `number` | |
|
|
202
|
+
| `keepRecent` | `number` | |
|
|
190
203
|
|
|
191
204
|
|
|
192
205
|
|
|
193
206
|
### compactEnd
|
|
194
207
|
|
|
195
|
-
|
|
208
|
+
Fired after compaction completes
|
|
209
|
+
|
|
210
|
+
**Event Arguments:**
|
|
211
|
+
|
|
212
|
+
| Name | Type | Description |
|
|
213
|
+
|------|------|-------------|
|
|
214
|
+
| `summary` | `string` | |
|
|
215
|
+
| `removedCount` | `number` | |
|
|
216
|
+
| `estimatedTokens` | `number` | |
|
|
217
|
+
| `compactionCount` | `number` | |
|
|
196
218
|
|
|
197
219
|
|
|
198
220
|
|
|
199
221
|
### autoCompactTriggered
|
|
200
222
|
|
|
201
|
-
|
|
223
|
+
Fired when auto-compact kicks in because tokens exceeded the threshold
|
|
224
|
+
|
|
225
|
+
**Event Arguments:**
|
|
226
|
+
|
|
227
|
+
| Name | Type | Description |
|
|
228
|
+
|------|------|-------------|
|
|
229
|
+
| `estimated` | `number` | |
|
|
230
|
+
| `limit` | `number` | |
|
|
231
|
+
| `contextWindow` | `number` | |
|
|
202
232
|
|
|
203
233
|
|
|
204
234
|
|
|
205
235
|
### userMessage
|
|
206
236
|
|
|
207
|
-
|
|
237
|
+
Fired when a user message is added to the conversation
|
|
238
|
+
|
|
239
|
+
**Event Arguments:**
|
|
240
|
+
|
|
241
|
+
| Name | Type | Description |
|
|
242
|
+
|------|------|-------------|
|
|
243
|
+
| `arg0` | `any` | The user message content (string or ContentPart[]) |
|
|
208
244
|
|
|
209
245
|
|
|
210
246
|
|
|
211
247
|
### turnStart
|
|
212
248
|
|
|
213
|
-
|
|
249
|
+
Fired at the start of each completion turn
|
|
250
|
+
|
|
251
|
+
**Event Arguments:**
|
|
252
|
+
|
|
253
|
+
| Name | Type | Description |
|
|
254
|
+
|------|------|-------------|
|
|
255
|
+
| `turn` | `number` | |
|
|
256
|
+
| `isFollowUp` | `boolean` | |
|
|
214
257
|
|
|
215
258
|
|
|
216
259
|
|
|
217
260
|
### rawEvent
|
|
218
261
|
|
|
219
|
-
|
|
262
|
+
Fired for every raw event from the Responses API stream
|
|
263
|
+
|
|
264
|
+
**Event Arguments:**
|
|
265
|
+
|
|
266
|
+
| Name | Type | Description |
|
|
267
|
+
|------|------|-------------|
|
|
268
|
+
| `arg0` | `any` | Raw stream event from the API |
|
|
220
269
|
|
|
221
270
|
|
|
222
271
|
|
|
223
272
|
### mcpEvent
|
|
224
273
|
|
|
225
|
-
|
|
274
|
+
Fired for MCP-related events from the Responses API
|
|
275
|
+
|
|
276
|
+
**Event Arguments:**
|
|
277
|
+
|
|
278
|
+
| Name | Type | Description |
|
|
279
|
+
|------|------|-------------|
|
|
280
|
+
| `arg0` | `any` | MCP-related stream event |
|
|
226
281
|
|
|
227
282
|
|
|
228
283
|
|
|
229
284
|
### chunk
|
|
230
285
|
|
|
231
|
-
|
|
286
|
+
Fired for each streaming text delta
|
|
287
|
+
|
|
288
|
+
**Event Arguments:**
|
|
289
|
+
|
|
290
|
+
| Name | Type | Description |
|
|
291
|
+
|------|------|-------------|
|
|
292
|
+
| `arg0` | `string` | Text delta from the stream |
|
|
232
293
|
|
|
233
294
|
|
|
234
295
|
|
|
235
296
|
### preview
|
|
236
297
|
|
|
237
|
-
|
|
298
|
+
Fired after each chunk with the full accumulated text
|
|
299
|
+
|
|
300
|
+
**Event Arguments:**
|
|
301
|
+
|
|
302
|
+
| Name | Type | Description |
|
|
303
|
+
|------|------|-------------|
|
|
304
|
+
| `arg0` | `string` | Accumulated text so far |
|
|
238
305
|
|
|
239
306
|
|
|
240
307
|
|
|
241
308
|
### responseCompleted
|
|
242
309
|
|
|
243
|
-
|
|
310
|
+
Fired when the Responses API stream completes
|
|
311
|
+
|
|
312
|
+
**Event Arguments:**
|
|
313
|
+
|
|
314
|
+
| Name | Type | Description |
|
|
315
|
+
|------|------|-------------|
|
|
316
|
+
| `arg0` | `any` | The completed OpenAI Response object |
|
|
244
317
|
|
|
245
318
|
|
|
246
319
|
|
|
247
320
|
### toolCallsStart
|
|
248
321
|
|
|
249
|
-
|
|
322
|
+
Fired when the model begins a batch of tool calls
|
|
323
|
+
|
|
324
|
+
**Event Arguments:**
|
|
325
|
+
|
|
326
|
+
| Name | Type | Description |
|
|
327
|
+
|------|------|-------------|
|
|
328
|
+
| `arg0` | `any` | Array of tool call objects from the model |
|
|
250
329
|
|
|
251
330
|
|
|
252
331
|
|
|
253
332
|
### toolError
|
|
254
333
|
|
|
255
|
-
|
|
334
|
+
Fired when a tool handler throws or the tool is unknown
|
|
335
|
+
|
|
336
|
+
**Event Arguments:**
|
|
337
|
+
|
|
338
|
+
| Name | Type | Description |
|
|
339
|
+
|------|------|-------------|
|
|
340
|
+
| `arg0` | `string` | Tool name |
|
|
341
|
+
| `arg1` | `any` | Error object or message |
|
|
256
342
|
|
|
257
343
|
|
|
258
344
|
|
|
259
345
|
### toolCall
|
|
260
346
|
|
|
261
|
-
|
|
347
|
+
Fired before invoking a single tool handler
|
|
348
|
+
|
|
349
|
+
**Event Arguments:**
|
|
350
|
+
|
|
351
|
+
| Name | Type | Description |
|
|
352
|
+
|------|------|-------------|
|
|
353
|
+
| `arg0` | `string` | Tool name |
|
|
354
|
+
| `arg1` | `any` | Parsed arguments object |
|
|
262
355
|
|
|
263
356
|
|
|
264
357
|
|
|
265
358
|
### toolResult
|
|
266
359
|
|
|
267
|
-
|
|
360
|
+
Fired after a tool handler returns successfully
|
|
361
|
+
|
|
362
|
+
**Event Arguments:**
|
|
363
|
+
|
|
364
|
+
| Name | Type | Description |
|
|
365
|
+
|------|------|-------------|
|
|
366
|
+
| `arg0` | `string` | Tool name |
|
|
367
|
+
| `arg1` | `string` | Serialized result |
|
|
268
368
|
|
|
269
369
|
|
|
270
370
|
|
|
271
371
|
### toolCallsEnd
|
|
272
372
|
|
|
273
|
-
|
|
373
|
+
Fired after all tool calls in a turn have been executed
|
|
274
374
|
|
|
275
375
|
|
|
276
376
|
|
|
277
377
|
### turnEnd
|
|
278
378
|
|
|
279
|
-
|
|
379
|
+
Fired at the end of each completion turn
|
|
380
|
+
|
|
381
|
+
**Event Arguments:**
|
|
382
|
+
|
|
383
|
+
| Name | Type | Description |
|
|
384
|
+
|------|------|-------------|
|
|
385
|
+
| `turn` | `number` | |
|
|
386
|
+
| `hasToolCalls` | `boolean` | |
|
|
280
387
|
|
|
281
388
|
|
|
282
389
|
|
|
283
390
|
### response
|
|
284
391
|
|
|
285
|
-
|
|
392
|
+
Fired when the final text response is produced
|
|
393
|
+
|
|
394
|
+
**Event Arguments:**
|
|
395
|
+
|
|
396
|
+
| Name | Type | Description |
|
|
397
|
+
|------|------|-------------|
|
|
398
|
+
| `arg0` | `string` | Final accumulated response text |
|
|
286
399
|
|
|
287
400
|
|
|
288
401
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenAICodex (features.openaiCodex)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
OpenAI Codex CLI wrapper feature. Spawns and manages Codex sessions as subprocesses, streaming structured JSON events back through the container's event system. Mirrors the ClaudeCode feature pattern: each call to `run()` spawns a `codex exec --json` process, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -199,67 +199,145 @@ Enable the feature. Delegates to the base Feature enable() lifecycle.
|
|
|
199
199
|
|
|
200
200
|
### session:event
|
|
201
201
|
|
|
202
|
-
|
|
202
|
+
Fired for every parsed JSON event from the Codex CLI stream
|
|
203
|
+
|
|
204
|
+
**Event Arguments:**
|
|
205
|
+
|
|
206
|
+
| Name | Type | Description |
|
|
207
|
+
|------|------|-------------|
|
|
208
|
+
| `sessionId` | `string` | |
|
|
209
|
+
| `event` | `any` | |
|
|
203
210
|
|
|
204
211
|
|
|
205
212
|
|
|
206
213
|
### session:delta
|
|
207
214
|
|
|
208
|
-
|
|
215
|
+
Fired for each text delta from an agent message
|
|
216
|
+
|
|
217
|
+
**Event Arguments:**
|
|
218
|
+
|
|
219
|
+
| Name | Type | Description |
|
|
220
|
+
|------|------|-------------|
|
|
221
|
+
| `sessionId` | `string` | |
|
|
222
|
+
| `text` | `string` | |
|
|
223
|
+
| `role` | `string` | |
|
|
209
224
|
|
|
210
225
|
|
|
211
226
|
|
|
212
227
|
### session:message
|
|
213
228
|
|
|
214
|
-
|
|
229
|
+
Fired when a complete agent message is received
|
|
230
|
+
|
|
231
|
+
**Event Arguments:**
|
|
232
|
+
|
|
233
|
+
| Name | Type | Description |
|
|
234
|
+
|------|------|-------------|
|
|
235
|
+
| `sessionId` | `string` | |
|
|
236
|
+
| `message` | `any` | |
|
|
215
237
|
|
|
216
238
|
|
|
217
239
|
|
|
218
240
|
### session:exec
|
|
219
241
|
|
|
220
|
-
|
|
242
|
+
Fired when a command execution item completes
|
|
243
|
+
|
|
244
|
+
**Event Arguments:**
|
|
245
|
+
|
|
246
|
+
| Name | Type | Description |
|
|
247
|
+
|------|------|-------------|
|
|
248
|
+
| `sessionId` | `string` | |
|
|
249
|
+
| `exec` | `any` | |
|
|
221
250
|
|
|
222
251
|
|
|
223
252
|
|
|
224
253
|
### session:reasoning
|
|
225
254
|
|
|
226
|
-
|
|
255
|
+
Fired when a reasoning item is received
|
|
256
|
+
|
|
257
|
+
**Event Arguments:**
|
|
258
|
+
|
|
259
|
+
| Name | Type | Description |
|
|
260
|
+
|------|------|-------------|
|
|
261
|
+
| `sessionId` | `string` | |
|
|
262
|
+
| `text` | `string` | |
|
|
227
263
|
|
|
228
264
|
|
|
229
265
|
|
|
230
266
|
### session:exec-start
|
|
231
267
|
|
|
232
|
-
|
|
268
|
+
Fired when a command execution item starts
|
|
269
|
+
|
|
270
|
+
**Event Arguments:**
|
|
271
|
+
|
|
272
|
+
| Name | Type | Description |
|
|
273
|
+
|------|------|-------------|
|
|
274
|
+
| `sessionId` | `string` | |
|
|
275
|
+
| `command` | `string` | |
|
|
233
276
|
|
|
234
277
|
|
|
235
278
|
|
|
236
279
|
### session:start
|
|
237
280
|
|
|
238
|
-
|
|
281
|
+
Fired when a new Codex session is spawned
|
|
282
|
+
|
|
283
|
+
**Event Arguments:**
|
|
284
|
+
|
|
285
|
+
| Name | Type | Description |
|
|
286
|
+
|------|------|-------------|
|
|
287
|
+
| `sessionId` | `string` | |
|
|
288
|
+
| `prompt` | `string` | |
|
|
239
289
|
|
|
240
290
|
|
|
241
291
|
|
|
242
292
|
### session:error
|
|
243
293
|
|
|
244
|
-
|
|
294
|
+
Fired when a session encounters an error
|
|
295
|
+
|
|
296
|
+
**Event Arguments:**
|
|
297
|
+
|
|
298
|
+
| Name | Type | Description |
|
|
299
|
+
|------|------|-------------|
|
|
300
|
+
| `sessionId` | `string` | |
|
|
301
|
+
| `error` | `any` | |
|
|
302
|
+
| `exitCode` | `number` | |
|
|
245
303
|
|
|
246
304
|
|
|
247
305
|
|
|
248
306
|
### session:parse-error
|
|
249
307
|
|
|
250
|
-
|
|
308
|
+
Fired when a JSON line from the CLI cannot be parsed
|
|
309
|
+
|
|
310
|
+
**Event Arguments:**
|
|
311
|
+
|
|
312
|
+
| Name | Type | Description |
|
|
313
|
+
|------|------|-------------|
|
|
314
|
+
| `sessionId` | `string` | |
|
|
315
|
+
| `line` | `string` | |
|
|
251
316
|
|
|
252
317
|
|
|
253
318
|
|
|
254
319
|
### session:result
|
|
255
320
|
|
|
256
|
-
|
|
321
|
+
Fired when a session completes with a final result
|
|
322
|
+
|
|
323
|
+
**Event Arguments:**
|
|
324
|
+
|
|
325
|
+
| Name | Type | Description |
|
|
326
|
+
|------|------|-------------|
|
|
327
|
+
| `sessionId` | `string` | |
|
|
328
|
+
| `result` | `string` | |
|
|
257
329
|
|
|
258
330
|
|
|
259
331
|
|
|
260
332
|
### session:abort
|
|
261
333
|
|
|
262
|
-
|
|
334
|
+
Fired when a session is aborted by the user
|
|
335
|
+
|
|
336
|
+
**Event Arguments:**
|
|
337
|
+
|
|
338
|
+
| Name | Type | Description |
|
|
339
|
+
|------|------|-------------|
|
|
340
|
+
| `sessionId` | `string` | |
|
|
263
341
|
|
|
264
342
|
|
|
265
343
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SkillsLibrary (features.skillsLibrary)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Manages two contentbase collections of skills following the Claude Code SKILL.md format. Project-level skills live in .claude/skills/ and user-level skills live in ~/.luca/skills/. Skills can be discovered, searched, created, updated, and removed at runtime.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -162,25 +162,43 @@ Generates a markdown block listing all available skills with names and descripti
|
|
|
162
162
|
|
|
163
163
|
### loaded
|
|
164
164
|
|
|
165
|
-
|
|
165
|
+
Fired after both project and user skill collections are loaded
|
|
166
166
|
|
|
167
167
|
|
|
168
168
|
|
|
169
169
|
### skillCreated
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
Fired after a new skill is written to disk
|
|
172
|
+
|
|
173
|
+
**Event Arguments:**
|
|
174
|
+
|
|
175
|
+
| Name | Type | Description |
|
|
176
|
+
|------|------|-------------|
|
|
177
|
+
| `arg0` | `any` | The created SkillEntry object |
|
|
172
178
|
|
|
173
179
|
|
|
174
180
|
|
|
175
181
|
### skillUpdated
|
|
176
182
|
|
|
177
|
-
|
|
183
|
+
Fired after an existing skill is updated
|
|
184
|
+
|
|
185
|
+
**Event Arguments:**
|
|
186
|
+
|
|
187
|
+
| Name | Type | Description |
|
|
188
|
+
|------|------|-------------|
|
|
189
|
+
| `arg0` | `any` | The updated SkillEntry object |
|
|
178
190
|
|
|
179
191
|
|
|
180
192
|
|
|
181
193
|
### skillRemoved
|
|
182
194
|
|
|
183
|
-
|
|
195
|
+
Fired after a skill is deleted
|
|
196
|
+
|
|
197
|
+
**Event Arguments:**
|
|
198
|
+
|
|
199
|
+
| Name | Type | Description |
|
|
200
|
+
|------|------|-------------|
|
|
201
|
+
| `arg0` | `string` | The name of the removed skill |
|
|
184
202
|
|
|
185
203
|
|
|
186
204
|
|
|
@@ -102,6 +102,65 @@ Event emitted by ContainerLink
|
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
|
|
105
|
+
### disconnection
|
|
106
|
+
|
|
107
|
+
Emitted when a web container disconnects
|
|
108
|
+
|
|
109
|
+
**Event Arguments:**
|
|
110
|
+
|
|
111
|
+
| Name | Type | Description |
|
|
112
|
+
|------|------|-------------|
|
|
113
|
+
| `arg0` | `string` | Container UUID |
|
|
114
|
+
| `arg1` | `string` | Reason |
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### error
|
|
119
|
+
|
|
120
|
+
Event emitted by ContainerLink
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### connection
|
|
125
|
+
|
|
126
|
+
Emitted when a web container connects and registers
|
|
127
|
+
|
|
128
|
+
**Event Arguments:**
|
|
129
|
+
|
|
130
|
+
| Name | Type | Description |
|
|
131
|
+
|------|------|-------------|
|
|
132
|
+
| `arg0` | `string` | Container UUID |
|
|
133
|
+
| `arg1` | `any` | Connection metadata |
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### evalResult
|
|
138
|
+
|
|
139
|
+
Emitted when an eval result is received
|
|
140
|
+
|
|
141
|
+
**Event Arguments:**
|
|
142
|
+
|
|
143
|
+
| Name | Type | Description |
|
|
144
|
+
|------|------|-------------|
|
|
145
|
+
| `arg0` | `string` | Request ID |
|
|
146
|
+
| `arg1` | `any` | Result or error |
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
### event
|
|
151
|
+
|
|
152
|
+
Emitted when a web container sends a structured event
|
|
153
|
+
|
|
154
|
+
**Event Arguments:**
|
|
155
|
+
|
|
156
|
+
| Name | Type | Description |
|
|
157
|
+
|------|------|-------------|
|
|
158
|
+
| `arg0` | `string` | Container UUID |
|
|
159
|
+
| `arg1` | `string` | Event name |
|
|
160
|
+
| `arg2` | `any` | Event data |
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
105
164
|
## State (Zod v4 schema)
|
|
106
165
|
|
|
107
166
|
| Property | Type | Description |
|
|
@@ -223,7 +223,7 @@ Create a cacache instance with the specified path
|
|
|
223
223
|
|
|
224
224
|
| Name | Type | Required | Description |
|
|
225
225
|
|------|------|----------|-------------|
|
|
226
|
-
| `path` | `string` | | Optional cache directory path (defaults to options.path or
|
|
226
|
+
| `path` | `string` | | Optional cache directory path (defaults to options.path or ~/.cache/luca/disk-cache-{cwdHash}) |
|
|
227
227
|
|
|
228
228
|
**Returns:** `void`
|
|
229
229
|
|
|
@@ -457,6 +457,7 @@ const verified = await dns.hasTxtRecord('example.com', 'google-site-verification
|
|
|
457
457
|
| Property | Type | Description |
|
|
458
458
|
|----------|------|-------------|
|
|
459
459
|
| `proc` | `any` | |
|
|
460
|
+
| `digPath` | `string` | Resolved path to the dig binary |
|
|
460
461
|
|
|
461
462
|
## State (Zod v4 schema)
|
|
462
463
|
|
|
@@ -551,7 +551,8 @@ Initialize the Docker feature by checking availability and optionally refreshing
|
|
|
551
551
|
|
|
552
552
|
| Property | Type | Description |
|
|
553
553
|
|----------|------|-------------|
|
|
554
|
-
| `proc` | `any` |
|
|
554
|
+
| `proc` | `any` | |
|
|
555
|
+
| `dockerPath` | `string` | Resolve the docker binary path via `which`, caching the result. Options take precedence. |
|
|
555
556
|
|
|
556
557
|
## State (Zod v4 schema)
|
|
557
558
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Esbuild (features.esbuild)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Browser-side TypeScript/ESM compilation feature using esbuild-wasm. Loads esbuild's WebAssembly build via the AssetLoader, then provides `compile()` and `transform()` methods that work entirely in the browser. Useful for live playgrounds, in-browser REPLs, and client-side bundling.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -53,7 +53,8 @@ container.feature('esbuild')
|
|
|
53
53
|
|
|
54
54
|
```ts
|
|
55
55
|
const esbuild = container.feature('esbuild')
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
await esbuild.start()
|
|
57
|
+
const result = await esbuild.compile('const x: number = 1')
|
|
58
|
+
console.log(result.code)
|
|
58
59
|
```
|
|
59
60
|
|
|
@@ -89,18 +89,19 @@ Scans the files in the project and updates the file manager state.
|
|
|
89
89
|
|
|
90
90
|
### watch
|
|
91
91
|
|
|
92
|
-
Watches
|
|
92
|
+
Watches directories for file changes. Can be called multiple times to add more directories to an existing watcher. Tracks all watched paths in state. When called without `paths`, watches the project's `directoryIds` (default behavior). When called with `paths`, watches only those specific directories/globs. Subsequent calls add to the existing watcher — they never replace what's already watched.
|
|
93
93
|
|
|
94
94
|
**Parameters:**
|
|
95
95
|
|
|
96
96
|
| Name | Type | Required | Description |
|
|
97
97
|
|------|------|----------|-------------|
|
|
98
|
-
| `options` | `{ exclude?: string | string[] }` | | Options for the file manager |
|
|
98
|
+
| `options` | `{ paths?: string | string[]; exclude?: string | string[] }` | | Options for the file manager |
|
|
99
99
|
|
|
100
|
-
`{ exclude?: string | string[] }` properties:
|
|
100
|
+
`{ paths?: string | string[]; exclude?: string | string[] }` properties:
|
|
101
101
|
|
|
102
102
|
| Property | Type | Description |
|
|
103
103
|
|----------|------|-------------|
|
|
104
|
+
| `paths` | `any` | Specific directories or globs to watch. Defaults to project directoryIds. |
|
|
104
105
|
| `exclude` | `any` | The patterns to exclude from the watch |
|
|
105
106
|
|
|
106
107
|
**Returns:** `void`
|
|
@@ -148,13 +149,21 @@ Watches the files in the project and updates the file manager state.
|
|
|
148
149
|
| `isStarted` | `any` | Whether the file manager has completed its initial scan. |
|
|
149
150
|
| `isStarting` | `any` | Whether the file manager is currently performing its initial scan. |
|
|
150
151
|
| `isWatching` | `any` | Whether the file watcher is actively monitoring for changes. |
|
|
152
|
+
| `watchedPaths` | `string[]` | Returns the list of directories currently being watched. |
|
|
151
153
|
| `watchedFiles` | `Record<string, string[]>` | Returns the directories and files currently being watched by chokidar. |
|
|
152
154
|
|
|
153
155
|
## Events (Zod v4 schema)
|
|
154
156
|
|
|
155
157
|
### file:change
|
|
156
158
|
|
|
157
|
-
|
|
159
|
+
Emitted when a watched file is added, changed, or deleted
|
|
160
|
+
|
|
161
|
+
**Event Arguments:**
|
|
162
|
+
|
|
163
|
+
| Name | Type | Description |
|
|
164
|
+
|------|------|-------------|
|
|
165
|
+
| `type` | `'add' | 'change' | 'delete'` | The type of file change |
|
|
166
|
+
| `path` | `string` | Absolute path to the changed file |
|
|
158
167
|
|
|
159
168
|
|
|
160
169
|
|