@soederpop/luca 0.0.19 → 0.0.21
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/bootstrap/SKILL.md +16 -0
- package/package.json +1 -1
- package/src/bootstrap/generated.ts +17 -1
- package/src/commands/chat.ts +14 -0
- package/src/commands/describe.ts +557 -94
- package/src/commands/prompt.ts +204 -64
- package/src/introspection/generated.agi.ts +454 -454
- package/src/introspection/generated.node.ts +446 -446
- package/src/introspection/generated.web.ts +1 -1
- package/src/introspection/index.ts +7 -0
- package/src/node/container.ts +4 -0
- package/src/registry.ts +12 -1
- package/src/scaffolds/generated.ts +1 -1
package/docs/bootstrap/SKILL.md
CHANGED
|
@@ -26,6 +26,13 @@ luca describe clients # index of all available clients
|
|
|
26
26
|
luca describe servers # index of all available servers
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
You can even learn about features in the browser container, or a specific platform (server, node are the same, browser,web are the same)
|
|
30
|
+
|
|
31
|
+
```shell
|
|
32
|
+
luca describe features --platform=web
|
|
33
|
+
luca describe features --platform=server
|
|
34
|
+
```
|
|
35
|
+
|
|
29
36
|
### Learn about specific helpers
|
|
30
37
|
|
|
31
38
|
```shell
|
|
@@ -230,6 +237,15 @@ This is useful inside commands and scripts where you need introspection data pro
|
|
|
230
237
|
|
|
231
238
|
---
|
|
232
239
|
|
|
240
|
+
## Server development troubleshooting
|
|
241
|
+
|
|
242
|
+
- You can use `container.proc.findPidsByPort(3000)` which will return an array of numbers.
|
|
243
|
+
- You can use `container.proc.kill(pid)` to kill that process
|
|
244
|
+
- You can combine these two functions in `luca eval` if a server you're developing won't start because a previous instance is running (common inside e.g. claude code sessions )
|
|
245
|
+
- `luca serve --force` will also replace the running process with the current one
|
|
246
|
+
- `luca serve --any-port` will open on any port
|
|
247
|
+
|
|
248
|
+
|
|
233
249
|
## Reference
|
|
234
250
|
|
|
235
251
|
See `references/api-docs/` for the full pre-generated API reference for every built-in feature, client, and server.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soederpop/luca",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"website": "https://luca.soederpop.com",
|
|
5
5
|
"description": "lightweight universal conversational architecture AKA Le Ultimate Component Architecture AKA Last Universal Common Ancestor, part AI part Human",
|
|
6
6
|
"author": "jon soeder aka the people's champ <jon@soederpop.com>",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated bootstrap content
|
|
2
|
-
// Generated at: 2026-03-
|
|
2
|
+
// Generated at: 2026-03-21T05:24:16.832Z
|
|
3
3
|
// Source: docs/bootstrap/*.md, docs/bootstrap/templates/*
|
|
4
4
|
//
|
|
5
5
|
// Do not edit manually. Run: luca build-bootstrap
|
|
@@ -33,6 +33,13 @@ luca describe clients # index of all available clients
|
|
|
33
33
|
luca describe servers # index of all available servers
|
|
34
34
|
\`\`\`
|
|
35
35
|
|
|
36
|
+
You can even learn about features in the browser container, or a specific platform (server, node are the same, browser,web are the same)
|
|
37
|
+
|
|
38
|
+
\`\`\`shell
|
|
39
|
+
luca describe features --platform=web
|
|
40
|
+
luca describe features --platform=server
|
|
41
|
+
\`\`\`
|
|
42
|
+
|
|
36
43
|
### Learn about specific helpers
|
|
37
44
|
|
|
38
45
|
\`\`\`shell
|
|
@@ -237,6 +244,15 @@ This is useful inside commands and scripts where you need introspection data pro
|
|
|
237
244
|
|
|
238
245
|
---
|
|
239
246
|
|
|
247
|
+
## Server development troubleshooting
|
|
248
|
+
|
|
249
|
+
- You can use \`container.proc.findPidsByPort(3000)\` which will return an array of numbers.
|
|
250
|
+
- You can use \`container.proc.kill(pid)\` to kill that process
|
|
251
|
+
- You can combine these two functions in \`luca eval\` if a server you're developing won't start because a previous instance is running (common inside e.g. claude code sessions )
|
|
252
|
+
- \`luca serve --force\` will also replace the running process with the current one
|
|
253
|
+
- \`luca serve --any-port\` will open on any port
|
|
254
|
+
|
|
255
|
+
|
|
240
256
|
## Reference
|
|
241
257
|
|
|
242
258
|
See \`references/api-docs/\` for the full pre-generated API reference for every built-in feature, client, and server.
|
package/src/commands/chat.ts
CHANGED
|
@@ -187,8 +187,20 @@ export default async function chat(options: z.infer<typeof argsSchema>, context:
|
|
|
187
187
|
output: process.stdout,
|
|
188
188
|
})
|
|
189
189
|
|
|
190
|
+
let rlClosed = false
|
|
191
|
+
rl.on('close', () => { rlClosed = true })
|
|
192
|
+
|
|
193
|
+
function ensureRl() {
|
|
194
|
+
if (rlClosed) {
|
|
195
|
+
rl = readline.createInterface({ input: process.stdin, output: process.stdout })
|
|
196
|
+
rlClosed = false
|
|
197
|
+
rl.on('close', () => { rlClosed = true })
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
190
201
|
function prompt(): Promise<string> {
|
|
191
202
|
return new Promise((resolve) => {
|
|
203
|
+
ensureRl()
|
|
192
204
|
rl.question(ui.colors.dim(`\n${name} > `), (answer: string) => resolve(answer.trim()))
|
|
193
205
|
})
|
|
194
206
|
}
|
|
@@ -247,6 +259,8 @@ export default async function chat(options: z.infer<typeof argsSchema>, context:
|
|
|
247
259
|
console.log()
|
|
248
260
|
console.log(ui.colors.dim(` Back in chat with ${ui.colors.cyan(name)}.`))
|
|
249
261
|
rl = readline.createInterface({ input: process.stdin, output: process.stdout })
|
|
262
|
+
rlClosed = false
|
|
263
|
+
rl.on('close', () => { rlClosed = true })
|
|
250
264
|
continue
|
|
251
265
|
}
|
|
252
266
|
|