luca 3.0.0 → 3.1.0
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/.github/workflows/release.yaml +1 -0
- package/CLAUDE.md +10 -2
- package/README.md +130 -112
- package/assistants/codingAssistant/CORE.md +6 -1
- package/assistants/codingAssistant/hooks.ts +1 -1
- package/assistants/inkbot/hooks.ts +1 -1
- package/assistants/inkbot/tools.ts +1 -1
- package/bun.lock +264 -321
- package/commands/audit-docs.ts +2 -2
- package/commands/build-bootstrap.ts +2 -3
- package/commands/build-python-bridge.ts +2 -3
- package/commands/build-scaffolds.ts +2 -3
- package/commands/bundle-consumer-project.ts +521 -0
- package/commands/generate-api-docs.ts +2 -2
- package/commands/inkbot.ts +2 -2
- package/commands/release.ts +2 -2
- package/commands/social.ts +137 -0
- package/commands/try-all-challenges.ts +3 -3
- package/commands/try-challenge.ts +3 -3
- package/datasets/lora/agentic-loop-session-candidates.jsonl +91 -0
- package/datasets/lora/agentic-loop-session-curation-summary.json +123 -0
- package/datasets/lora/luca-session-candidates.jsonl +29 -0
- package/datasets/lora/luca-session-curation-summary.json +121 -0
- package/datasets/lora/review-batch-1.jsonl +30 -0
- package/datasets/lora/review-manifest.json +41 -0
- package/datasets/lora/review-queue.jsonl +120 -0
- package/datasets/lora/review-schema.json +134 -0
- package/datasets/lora/review-template.jsonl +2 -0
- package/datasets/lora/review-ui.html +725 -0
- package/dist/agi/container.server.d.ts +2 -2
- package/dist/agi/features/assistant.d.ts +2 -2
- package/dist/agi/features/assistants-manager.d.ts +1 -1
- package/dist/agi/features/autonomous-assistant.d.ts +1 -1
- package/dist/agi/features/browser-use.d.ts +1 -1
- package/dist/agi/features/claude-code.d.ts +1 -1
- package/dist/agi/features/conversation-history.d.ts +2 -2
- package/dist/agi/features/conversation.d.ts +1 -1
- package/dist/agi/features/docs-reader.d.ts +1 -1
- package/dist/agi/features/file-tools.d.ts +1 -1
- package/dist/agi/features/luca-coder.d.ts +1 -1
- package/dist/agi/features/openai-codex.d.ts +1 -1
- package/dist/agi/features/skills-library.d.ts +1 -1
- package/dist/clients/civitai/index.d.ts +4 -4
- package/dist/clients/client-template.d.ts +4 -4
- package/dist/clients/comfyui/index.d.ts +2 -2
- package/dist/clients/elevenlabs/index.d.ts +2 -2
- package/dist/clients/openai/index.d.ts +2 -2
- package/dist/clients/supabase/index.d.ts +3 -3
- package/dist/command.d.ts +1 -1
- package/dist/node/container.d.ts +1 -1
- package/dist/node/features/helpers.d.ts +3 -3
- package/dist/node/features/semantic-search.d.ts +1 -1
- package/dist/node/features/vm.d.ts +3 -3
- package/dist/node.d.ts +1 -1
- package/dist/scaffolds/generated.d.ts +1 -1
- package/dist/selector.d.ts +1 -1
- package/features/cipher-social.ts +493 -0
- package/index.html +217 -190
- package/luca.console.ts +1 -1
- package/package.json +7 -2
- package/public/index.html +217 -190
- package/public/slides-ai-native.html +1 -1
- package/public/slides-intro.html +2 -2
- package/scripts/curate-claude-sessions.ts +561 -0
- package/scripts/examples/ask-luca-expert.ts +1 -1
- package/scripts/examples/assistant-questions.ts +1 -1
- package/scripts/examples/excalidraw-expert.ts +1 -1
- package/scripts/examples/file-manager.ts +1 -1
- package/scripts/examples/ideas.ts +1 -1
- package/scripts/examples/interactive-chat.ts +1 -1
- package/scripts/examples/opening-a-web-browser.ts +1 -1
- package/scripts/examples/telegram-bot.ts +1 -1
- package/scripts/examples/using-assistant-with-mcp.ts +1 -1
- package/scripts/examples/using-claude-code.ts +1 -1
- package/scripts/examples/using-contentdb.ts +2 -2
- package/scripts/examples/using-conversations.ts +1 -1
- package/scripts/examples/using-disk-cache.ts +1 -1
- package/scripts/examples/using-docker-shell.ts +1 -1
- package/scripts/examples/using-elevenlabs.ts +1 -1
- package/scripts/examples/using-google-calendar.ts +1 -1
- package/scripts/examples/using-google-docs.ts +1 -1
- package/scripts/examples/using-google-drive.ts +1 -1
- package/scripts/examples/using-google-sheets.ts +1 -1
- package/scripts/examples/using-nlp.ts +1 -1
- package/scripts/examples/using-ollama.ts +1 -1
- package/scripts/examples/using-postgres.ts +1 -1
- package/scripts/examples/using-runpod.ts +1 -1
- package/scripts/examples/using-tts.ts +1 -1
- package/scripts/scaffold.ts +5 -5
- package/scripts/scratch.ts +1 -1
- package/scripts/test-assistant-hooks.ts +1 -1
- package/scripts/test-docs-reader.ts +1 -1
- package/src/agi/container.server.ts +6 -2
- package/src/agi/features/agent-memory.ts +25 -25
- package/src/agi/features/assistant.ts +34 -5
- package/src/agi/features/assistants-manager.ts +122 -6
- package/src/agi/features/autonomous-assistant.ts +1 -1
- package/src/agi/features/browser-use.ts +20 -1
- package/src/agi/features/claude-code.ts +51 -5
- package/src/agi/features/coding-tools.ts +1 -1
- package/src/agi/features/conversation-history.ts +181 -4
- package/src/agi/features/conversation.ts +186 -15
- package/src/agi/features/docs-reader.ts +2 -2
- package/src/agi/features/file-tools.ts +49 -2
- package/src/agi/features/luca-coder.ts +7 -5
- package/src/agi/features/mcp-bridge.ts +532 -0
- package/src/agi/features/openai-codex.ts +2 -2
- package/src/agi/features/skills-library.ts +131 -52
- package/src/agi/lib/token-counter.ts +80 -0
- package/src/bootstrap/generated.ts +56 -57
- package/src/browser.ts +1 -1
- package/src/cli/build-info.ts +2 -2
- package/src/cli/cli.ts +2 -2
- package/src/clients/civitai/index.ts +5 -5
- package/src/clients/client-template.ts +4 -4
- package/src/clients/comfyui/index.ts +4 -4
- package/src/clients/elevenlabs/index.ts +4 -4
- package/src/clients/openai/index.ts +7 -7
- package/src/clients/supabase/index.ts +4 -4
- package/src/clients/voicebox/index.ts +4 -4
- package/src/command.ts +2 -1
- package/src/commands/chat.ts +1 -0
- package/src/commands/eval.ts +2 -56
- package/src/commands/introspect.ts +1 -1
- package/src/commands/prompt.ts +41 -9
- package/src/container-describer.ts +8 -1
- package/src/container.ts +13 -0
- package/src/entity.ts +2 -2
- package/src/helper.ts +1 -1
- package/src/introspection/generated.agi.ts +29596 -27654
- package/src/introspection/generated.node.ts +20284 -19247
- package/src/introspection/generated.web.ts +605 -584
- package/src/introspection/scan.ts +11 -6
- package/src/node/container.ts +9 -1
- package/src/node/features/content-db.ts +39 -2
- package/src/node/features/display-result.ts +57 -0
- package/src/node/features/helpers.ts +46 -7
- package/src/node/features/python.ts +25 -19
- package/src/node/features/repl.ts +1 -1
- package/src/node/features/secure-shell.ts +11 -17
- package/src/node/features/semantic-search.ts +2 -2
- package/src/node/features/socket-repl.ts +336 -0
- package/src/node/features/telnyx-assistant-connector.ts +1206 -0
- package/src/node/features/transpiler.ts +2 -3
- package/src/node/features/ui.ts +5 -0
- package/src/node/features/vm.ts +20 -3
- package/src/node.ts +3 -3
- package/src/python/generated.ts +0 -1
- package/src/scaffolds/generated.ts +82 -83
- package/src/selector.ts +1 -1
- package/src/servers/express.ts +1 -1
- package/src/web/features/helpers.ts +22 -0
- package/tsconfig.json +12 -12
- package/docs/CLI.md +0 -335
- package/docs/CNAME +0 -1
- package/docs/README.md +0 -60
- package/docs/TABLE-OF-CONTENTS.md +0 -183
- package/docs/apis/clients/elevenlabs.md +0 -308
- package/docs/apis/clients/graph.md +0 -107
- package/docs/apis/clients/openai.md +0 -429
- package/docs/apis/clients/rest.md +0 -161
- package/docs/apis/clients/websocket.md +0 -174
- package/docs/apis/features/agi/assistant.md +0 -625
- package/docs/apis/features/agi/assistants-manager.md +0 -282
- package/docs/apis/features/agi/auto-assistant.md +0 -279
- package/docs/apis/features/agi/browser-use.md +0 -802
- package/docs/apis/features/agi/claude-code.md +0 -884
- package/docs/apis/features/agi/conversation-history.md +0 -364
- package/docs/apis/features/agi/conversation.md +0 -548
- package/docs/apis/features/agi/docs-reader.md +0 -99
- package/docs/apis/features/agi/file-tools.md +0 -163
- package/docs/apis/features/agi/luca-coder.md +0 -407
- package/docs/apis/features/agi/openai-codex.md +0 -396
- package/docs/apis/features/agi/openapi.md +0 -138
- package/docs/apis/features/agi/semantic-search.md +0 -387
- package/docs/apis/features/agi/skills-library.md +0 -239
- package/docs/apis/features/node/container-link.md +0 -192
- package/docs/apis/features/node/content-db.md +0 -450
- package/docs/apis/features/node/disk-cache.md +0 -379
- package/docs/apis/features/node/dns.md +0 -652
- package/docs/apis/features/node/docker.md +0 -706
- package/docs/apis/features/node/downloader.md +0 -81
- package/docs/apis/features/node/esbuild.md +0 -60
- package/docs/apis/features/node/file-manager.md +0 -191
- package/docs/apis/features/node/fs.md +0 -1217
- package/docs/apis/features/node/git.md +0 -371
- package/docs/apis/features/node/google-auth.md +0 -193
- package/docs/apis/features/node/google-calendar.md +0 -202
- package/docs/apis/features/node/google-docs.md +0 -173
- package/docs/apis/features/node/google-drive.md +0 -246
- package/docs/apis/features/node/google-mail.md +0 -214
- package/docs/apis/features/node/google-sheets.md +0 -194
- package/docs/apis/features/node/grep.md +0 -292
- package/docs/apis/features/node/helpers.md +0 -164
- package/docs/apis/features/node/ink.md +0 -334
- package/docs/apis/features/node/ipc-socket.md +0 -249
- package/docs/apis/features/node/json-tree.md +0 -86
- package/docs/apis/features/node/networking.md +0 -316
- package/docs/apis/features/node/nlp.md +0 -133
- package/docs/apis/features/node/opener.md +0 -97
- package/docs/apis/features/node/os.md +0 -146
- package/docs/apis/features/node/package-finder.md +0 -392
- package/docs/apis/features/node/postgres.md +0 -234
- package/docs/apis/features/node/proc.md +0 -399
- package/docs/apis/features/node/process-manager.md +0 -305
- package/docs/apis/features/node/python.md +0 -604
- package/docs/apis/features/node/redis.md +0 -380
- package/docs/apis/features/node/repl.md +0 -88
- package/docs/apis/features/node/runpod.md +0 -674
- package/docs/apis/features/node/secure-shell.md +0 -176
- package/docs/apis/features/node/semantic-search.md +0 -408
- package/docs/apis/features/node/sqlite.md +0 -233
- package/docs/apis/features/node/telegram.md +0 -279
- package/docs/apis/features/node/transpiler.md +0 -74
- package/docs/apis/features/node/tts.md +0 -133
- package/docs/apis/features/node/ui.md +0 -701
- package/docs/apis/features/node/vault.md +0 -59
- package/docs/apis/features/node/vm.md +0 -75
- package/docs/apis/features/node/yaml-tree.md +0 -85
- package/docs/apis/features/node/yaml.md +0 -176
- package/docs/apis/features/web/asset-loader.md +0 -59
- package/docs/apis/features/web/container-link.md +0 -192
- package/docs/apis/features/web/esbuild.md +0 -54
- package/docs/apis/features/web/helpers.md +0 -164
- package/docs/apis/features/web/network.md +0 -44
- package/docs/apis/features/web/speech.md +0 -69
- package/docs/apis/features/web/vault.md +0 -59
- package/docs/apis/features/web/vm.md +0 -75
- package/docs/apis/features/web/voice.md +0 -84
- package/docs/apis/servers/express.md +0 -171
- package/docs/apis/servers/mcp.md +0 -238
- package/docs/apis/servers/websocket.md +0 -170
- package/docs/bootstrap/CLAUDE.md +0 -101
- package/docs/bootstrap/SKILL.md +0 -341
- package/docs/bootstrap/templates/about-command.ts +0 -41
- package/docs/bootstrap/templates/docs-models.ts +0 -22
- package/docs/bootstrap/templates/docs-readme.md +0 -43
- package/docs/bootstrap/templates/example-feature.ts +0 -53
- package/docs/bootstrap/templates/health-endpoint.ts +0 -15
- package/docs/bootstrap/templates/luca-cli.ts +0 -30
- package/docs/bootstrap/templates/runme.md +0 -54
- package/docs/challenges/caching-proxy.md +0 -16
- package/docs/challenges/content-db-round-trip.md +0 -14
- package/docs/challenges/custom-command.md +0 -9
- package/docs/challenges/file-watcher-pipeline.md +0 -11
- package/docs/challenges/grep-audit-report.md +0 -15
- package/docs/challenges/multi-feature-dashboard.md +0 -14
- package/docs/challenges/process-orchestrator.md +0 -17
- package/docs/challenges/rest-api-server-with-client.md +0 -12
- package/docs/challenges/script-runner-with-vm.md +0 -11
- package/docs/challenges/simple-rest-api.md +0 -15
- package/docs/challenges/websocket-serve-and-client.md +0 -11
- package/docs/challenges/yaml-config-system.md +0 -14
- package/docs/command-system-overhaul.md +0 -94
- package/docs/documentation-audit.md +0 -134
- package/docs/examples/assistant/CORE.md +0 -18
- package/docs/examples/assistant/hooks.ts +0 -3
- package/docs/examples/assistant/tools.ts +0 -10
- package/docs/examples/assistant-hooks-reference.ts +0 -171
- package/docs/examples/assistant-with-process-manager.md +0 -84
- package/docs/examples/content-db.md +0 -77
- package/docs/examples/disk-cache.md +0 -83
- package/docs/examples/docker.md +0 -101
- package/docs/examples/downloader.md +0 -70
- package/docs/examples/entity.md +0 -124
- package/docs/examples/esbuild.md +0 -80
- package/docs/examples/feature-as-tool-provider.md +0 -143
- package/docs/examples/file-manager.md +0 -82
- package/docs/examples/fs.md +0 -83
- package/docs/examples/git.md +0 -85
- package/docs/examples/google-auth.md +0 -88
- package/docs/examples/google-calendar.md +0 -94
- package/docs/examples/google-docs.md +0 -82
- package/docs/examples/google-drive.md +0 -96
- package/docs/examples/google-sheets.md +0 -95
- package/docs/examples/grep.md +0 -85
- package/docs/examples/ink-blocks.md +0 -75
- package/docs/examples/ink-renderer.md +0 -41
- package/docs/examples/ink.md +0 -103
- package/docs/examples/ipc-socket.md +0 -103
- package/docs/examples/json-tree.md +0 -91
- package/docs/examples/networking.md +0 -58
- package/docs/examples/nlp.md +0 -91
- package/docs/examples/opener.md +0 -78
- package/docs/examples/os.md +0 -72
- package/docs/examples/package-finder.md +0 -89
- package/docs/examples/postgres.md +0 -91
- package/docs/examples/proc.md +0 -81
- package/docs/examples/process-manager.md +0 -79
- package/docs/examples/python.md +0 -132
- package/docs/examples/repl.md +0 -93
- package/docs/examples/runpod.md +0 -119
- package/docs/examples/secure-shell.md +0 -92
- package/docs/examples/sqlite.md +0 -86
- package/docs/examples/structured-output-with-assistants.md +0 -144
- package/docs/examples/telegram.md +0 -77
- package/docs/examples/tts.md +0 -86
- package/docs/examples/ui.md +0 -80
- package/docs/examples/vault.md +0 -70
- package/docs/examples/vm.md +0 -86
- package/docs/examples/websocket-ask-and-reply-example.md +0 -128
- package/docs/examples/yaml-tree.md +0 -93
- package/docs/examples/yaml.md +0 -104
- package/docs/ideas/assistant-factory-pattern.md +0 -142
- package/docs/in-memory-fs.md +0 -4
- package/docs/introspection-audit.md +0 -49
- package/docs/introspection.md +0 -164
- package/docs/mcp/readme.md +0 -162
- package/docs/models.ts +0 -41
- package/docs/philosophy.md +0 -86
- package/docs/principles.md +0 -7
- package/docs/prompts/audit-codebase-for-failures-to-use-the-container.md +0 -34
- package/docs/prompts/check-for-undocumented-features.md +0 -27
- package/docs/prompts/mcp-test-easy-command.md +0 -27
- package/docs/scaffolds/client.md +0 -149
- package/docs/scaffolds/command.md +0 -120
- package/docs/scaffolds/endpoint.md +0 -171
- package/docs/scaffolds/feature.md +0 -158
- package/docs/scaffolds/selector.md +0 -91
- package/docs/scaffolds/server.md +0 -196
- package/docs/selectors.md +0 -115
- package/docs/sessions/custom-command/attempt-log-2.md +0 -195
- package/docs/sessions/file-watcher-pipeline/attempt-log-1.md +0 -728
- package/docs/sessions/file-watcher-pipeline/attempt-log-2.md +0 -555
- package/docs/sessions/grep-audit-report/attempt-log-1.md +0 -289
- package/docs/sessions/multi-feature-dashboard/attempt-log-2.md +0 -679
- package/docs/sessions/rest-api-server-with-client/attempt-log-1.md +0 -1
- package/docs/sessions/rest-api-server-with-client/attempt-log-3.md +0 -920
- package/docs/sessions/simple-rest-api/attempt-log-1.md +0 -593
- package/docs/sessions/websocket-serve-and-client/attempt-log-2.md +0 -995
- package/docs/tutorials/00-bootstrap.md +0 -166
- package/docs/tutorials/01-getting-started.md +0 -106
- package/docs/tutorials/02-container.md +0 -210
- package/docs/tutorials/03-scripts.md +0 -194
- package/docs/tutorials/04-features-overview.md +0 -196
- package/docs/tutorials/05-state-and-events.md +0 -171
- package/docs/tutorials/06-servers.md +0 -157
- package/docs/tutorials/07-endpoints.md +0 -198
- package/docs/tutorials/08-commands.md +0 -252
- package/docs/tutorials/09-clients.md +0 -162
- package/docs/tutorials/10-creating-features.md +0 -203
- package/docs/tutorials/11-contentbase.md +0 -191
- package/docs/tutorials/12-assistants.md +0 -215
- package/docs/tutorials/13-introspection.md +0 -157
- package/docs/tutorials/14-type-system.md +0 -174
- package/docs/tutorials/15-project-patterns.md +0 -222
- package/docs/tutorials/16-google-features.md +0 -534
- package/docs/tutorials/17-tui-blocks.md +0 -530
- package/docs/tutorials/18-semantic-search.md +0 -334
- package/docs/tutorials/19-python-sessions.md +0 -401
- package/docs/tutorials/20-browser-esm.md +0 -234
- package/index.ts +0 -1
- package/src/agi/endpoints/ask.ts +0 -60
- package/src/agi/endpoints/conversations/[id].ts +0 -45
- package/src/agi/endpoints/conversations.ts +0 -31
- package/src/agi/endpoints/experts.ts +0 -37
- package/test/assistant-hooks.test.ts +0 -306
- package/test/assistant.test.ts +0 -81
- package/test/bus.test.ts +0 -134
- package/test/clients-servers.test.ts +0 -217
- package/test/command.test.ts +0 -267
- package/test/container-link.test.ts +0 -274
- package/test/conversation.test.ts +0 -220
- package/test/features.test.ts +0 -160
- package/test/fork-and-research.test.ts +0 -450
- package/test/integration.test.ts +0 -787
- package/test/interceptor-chain.test.ts +0 -61
- package/test/node-container.test.ts +0 -121
- package/test/python-session.test.ts +0 -105
- package/test/rate-limit.test.ts +0 -272
- package/test/semantic-search.test.ts +0 -550
- package/test/state.test.ts +0 -121
- package/test/vm-context.test.ts +0 -146
- package/test/vm-loadmodule.test.ts +0 -213
- package/test/websocket-ask.test.ts +0 -101
- package/test-integration/assistant.test.ts +0 -138
- package/test-integration/assistants-manager.test.ts +0 -113
- package/test-integration/claude-code.test.ts +0 -98
- package/test-integration/conversation-history.test.ts +0 -205
- package/test-integration/conversation.test.ts +0 -137
- package/test-integration/elevenlabs.test.ts +0 -55
- package/test-integration/google-services.test.ts +0 -80
- package/test-integration/helpers.ts +0 -89
- package/test-integration/memory.test.ts +0 -204
- package/test-integration/openai-codex.test.ts +0 -93
- package/test-integration/runpod.test.ts +0 -58
- package/test-integration/server-endpoints.test.ts +0 -97
- package/test-integration/telegram.test.ts +0 -46
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Downloader (features.downloader)
|
|
2
|
-
|
|
3
|
-
A feature that provides file downloading capabilities from URLs. The Downloader feature allows you to fetch files from remote URLs and save them to the local filesystem. It handles the network request, buffering, and file writing operations automatically.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('downloader')
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Methods
|
|
12
|
-
|
|
13
|
-
### download
|
|
14
|
-
|
|
15
|
-
Downloads a file from a URL and saves it to the specified local path. This method fetches the file from the provided URL, converts it to a buffer, and writes it to the filesystem at the target path. The target path is resolved relative to the container's configured paths.
|
|
16
|
-
|
|
17
|
-
**Parameters:**
|
|
18
|
-
|
|
19
|
-
| Name | Type | Required | Description |
|
|
20
|
-
|------|------|----------|-------------|
|
|
21
|
-
| `url` | `string` | ✓ | The URL to download the file from. Must be a valid HTTP/HTTPS URL. |
|
|
22
|
-
| `targetPath` | `string` | ✓ | The local file path where the downloaded file should be saved. |
|
|
23
|
-
|
|
24
|
-
**Returns:** `Promise<string>`
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
// Download an image file
|
|
28
|
-
const imagePath = await downloader.download(
|
|
29
|
-
'https://example.com/photo.jpg',
|
|
30
|
-
'images/downloaded-photo.jpg'
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
// Download a document
|
|
34
|
-
const docPath = await downloader.download(
|
|
35
|
-
'https://api.example.com/files/document.pdf',
|
|
36
|
-
'documents/report.pdf'
|
|
37
|
-
)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## State (Zod v4 schema)
|
|
43
|
-
|
|
44
|
-
| Property | Type | Description |
|
|
45
|
-
|----------|------|-------------|
|
|
46
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
47
|
-
|
|
48
|
-
## Examples
|
|
49
|
-
|
|
50
|
-
**features.downloader**
|
|
51
|
-
|
|
52
|
-
```ts
|
|
53
|
-
// Enable the downloader feature
|
|
54
|
-
const downloader = container.feature('downloader')
|
|
55
|
-
|
|
56
|
-
// Download a file
|
|
57
|
-
const localPath = await downloader.download(
|
|
58
|
-
'https://example.com/image.jpg',
|
|
59
|
-
'downloads/image.jpg'
|
|
60
|
-
)
|
|
61
|
-
console.log(`File saved to: ${localPath}`)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
**download**
|
|
67
|
-
|
|
68
|
-
```ts
|
|
69
|
-
// Download an image file
|
|
70
|
-
const imagePath = await downloader.download(
|
|
71
|
-
'https://example.com/photo.jpg',
|
|
72
|
-
'images/downloaded-photo.jpg'
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
// Download a document
|
|
76
|
-
const docPath = await downloader.download(
|
|
77
|
-
'https://api.example.com/files/document.pdf',
|
|
78
|
-
'documents/report.pdf'
|
|
79
|
-
)
|
|
80
|
-
```
|
|
81
|
-
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Esbuild (features.esbuild)
|
|
2
|
-
|
|
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
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('esbuild')
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Methods
|
|
12
|
-
|
|
13
|
-
### compile
|
|
14
|
-
|
|
15
|
-
**Parameters:**
|
|
16
|
-
|
|
17
|
-
| Name | Type | Required | Description |
|
|
18
|
-
|------|------|----------|-------------|
|
|
19
|
-
| `code` | `string` | ✓ | Parameter code |
|
|
20
|
-
| `options` | `esbuild.TransformOptions` | | Parameter options |
|
|
21
|
-
|
|
22
|
-
**Returns:** `void`
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
### clearCache
|
|
27
|
-
|
|
28
|
-
**Returns:** `void`
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
### start
|
|
33
|
-
|
|
34
|
-
**Returns:** `void`
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## Getters
|
|
39
|
-
|
|
40
|
-
| Property | Type | Description |
|
|
41
|
-
|----------|------|-------------|
|
|
42
|
-
| `assetLoader` | `any` | Returns the assetLoader feature for loading external libraries from unpkg. |
|
|
43
|
-
|
|
44
|
-
## State (Zod v4 schema)
|
|
45
|
-
|
|
46
|
-
| Property | Type | Description |
|
|
47
|
-
|----------|------|-------------|
|
|
48
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
49
|
-
|
|
50
|
-
## Examples
|
|
51
|
-
|
|
52
|
-
**features.esbuild**
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
const esbuild = container.feature('esbuild')
|
|
56
|
-
await esbuild.start()
|
|
57
|
-
const result = await esbuild.compile('const x: number = 1')
|
|
58
|
-
console.log(result.code)
|
|
59
|
-
```
|
|
60
|
-
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
# FileManager (features.fileManager)
|
|
2
|
-
|
|
3
|
-
The FileManager feature creates a database like index of all of the files in the project, and provides metadata about these files, and also provides a way to watch for changes to the files.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('fileManager', {
|
|
9
|
-
// Glob patterns to exclude from file scanning
|
|
10
|
-
exclude,
|
|
11
|
-
})
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Options (Zod v4 schema)
|
|
15
|
-
|
|
16
|
-
| Property | Type | Description |
|
|
17
|
-
|----------|------|-------------|
|
|
18
|
-
| `exclude` | `any` | Glob patterns to exclude from file scanning |
|
|
19
|
-
|
|
20
|
-
## Methods
|
|
21
|
-
|
|
22
|
-
### match
|
|
23
|
-
|
|
24
|
-
Matches the file IDs against the pattern(s) provided
|
|
25
|
-
|
|
26
|
-
**Parameters:**
|
|
27
|
-
|
|
28
|
-
| Name | Type | Required | Description |
|
|
29
|
-
|------|------|----------|-------------|
|
|
30
|
-
| `patterns` | `string | string[]` | ✓ | The patterns to match against the file IDs |
|
|
31
|
-
|
|
32
|
-
**Returns:** `string[]`
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### matchFiles
|
|
37
|
-
|
|
38
|
-
Matches the file IDs against the pattern(s) provided and returns the file objects for each.
|
|
39
|
-
|
|
40
|
-
**Parameters:**
|
|
41
|
-
|
|
42
|
-
| Name | Type | Required | Description |
|
|
43
|
-
|------|------|----------|-------------|
|
|
44
|
-
| `patterns` | `string | string[]` | ✓ | The patterns to match against the file IDs |
|
|
45
|
-
|
|
46
|
-
**Returns:** `(File | undefined)[]`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
### start
|
|
51
|
-
|
|
52
|
-
Starts the file manager and scans the files in the project.
|
|
53
|
-
|
|
54
|
-
**Parameters:**
|
|
55
|
-
|
|
56
|
-
| Name | Type | Required | Description |
|
|
57
|
-
|------|------|----------|-------------|
|
|
58
|
-
| `options` | `{ exclude?: string | string[] }` | | Options for the file manager |
|
|
59
|
-
|
|
60
|
-
`{ exclude?: string | string[] }` properties:
|
|
61
|
-
|
|
62
|
-
| Property | Type | Description |
|
|
63
|
-
|----------|------|-------------|
|
|
64
|
-
| `exclude` | `any` | The patterns to exclude from the scan |
|
|
65
|
-
|
|
66
|
-
**Returns:** `Promise<this>`
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
### scanFiles
|
|
71
|
-
|
|
72
|
-
Scans the files in the project and updates the file manager state.
|
|
73
|
-
|
|
74
|
-
**Parameters:**
|
|
75
|
-
|
|
76
|
-
| Name | Type | Required | Description |
|
|
77
|
-
|------|------|----------|-------------|
|
|
78
|
-
| `options` | `{ exclude?: string | string[] }` | | Options for the file manager |
|
|
79
|
-
|
|
80
|
-
`{ exclude?: string | string[] }` properties:
|
|
81
|
-
|
|
82
|
-
| Property | Type | Description |
|
|
83
|
-
|----------|------|-------------|
|
|
84
|
-
| `exclude` | `any` | The patterns to exclude from the scan |
|
|
85
|
-
|
|
86
|
-
**Returns:** `Promise<this>`
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
### watch
|
|
91
|
-
|
|
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
|
-
|
|
94
|
-
**Parameters:**
|
|
95
|
-
|
|
96
|
-
| Name | Type | Required | Description |
|
|
97
|
-
|------|------|----------|-------------|
|
|
98
|
-
| `options` | `{ paths?: string | string[]; exclude?: string | string[] }` | | Options for the file manager |
|
|
99
|
-
|
|
100
|
-
`{ paths?: string | string[]; exclude?: string | string[] }` properties:
|
|
101
|
-
|
|
102
|
-
| Property | Type | Description |
|
|
103
|
-
|----------|------|-------------|
|
|
104
|
-
| `paths` | `any` | Specific directories or globs to watch. Defaults to project directoryIds. |
|
|
105
|
-
| `exclude` | `any` | The patterns to exclude from the watch |
|
|
106
|
-
|
|
107
|
-
**Returns:** `Promise<void>`
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
### stopWatching
|
|
112
|
-
|
|
113
|
-
**Returns:** `Promise<void>`
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
### updateFile
|
|
118
|
-
|
|
119
|
-
**Parameters:**
|
|
120
|
-
|
|
121
|
-
| Name | Type | Required | Description |
|
|
122
|
-
|------|------|----------|-------------|
|
|
123
|
-
| `path` | `string` | ✓ | Parameter path |
|
|
124
|
-
|
|
125
|
-
**Returns:** `Promise<void>`
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
### removeFile
|
|
130
|
-
|
|
131
|
-
**Parameters:**
|
|
132
|
-
|
|
133
|
-
| Name | Type | Required | Description |
|
|
134
|
-
|------|------|----------|-------------|
|
|
135
|
-
| `path` | `string` | ✓ | Parameter path |
|
|
136
|
-
|
|
137
|
-
**Returns:** `Promise<void>`
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
## Getters
|
|
142
|
-
|
|
143
|
-
| Property | Type | Description |
|
|
144
|
-
|----------|------|-------------|
|
|
145
|
-
| `fileIds` | `string[]` | Returns an array of all relative file paths indexed by the file manager. |
|
|
146
|
-
| `fileObjects` | `File[]` | Returns an array of all file metadata objects indexed by the file manager. |
|
|
147
|
-
| `directoryIds` | `string[]` | Returns the directory IDs for all of the files in the project. |
|
|
148
|
-
| `uniqueExtensions` | `string[]` | Returns an array of unique file extensions found across all indexed files. |
|
|
149
|
-
| `isStarted` | `boolean` | Whether the file manager has completed its initial scan. |
|
|
150
|
-
| `isStarting` | `boolean` | Whether the file manager is currently performing its initial scan. |
|
|
151
|
-
| `isWatching` | `boolean` | Whether the file watcher is actively monitoring for changes. |
|
|
152
|
-
| `watchedPaths` | `string[]` | Returns the list of directories currently being watched. |
|
|
153
|
-
| `watchedFiles` | `Record<string, string[]>` | Returns the directories and files currently being watched by chokidar. |
|
|
154
|
-
|
|
155
|
-
## Events (Zod v4 schema)
|
|
156
|
-
|
|
157
|
-
### file:change
|
|
158
|
-
|
|
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 |
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
## State (Zod v4 schema)
|
|
171
|
-
|
|
172
|
-
| Property | Type | Description |
|
|
173
|
-
|----------|------|-------------|
|
|
174
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
175
|
-
| `started` | `boolean` | Whether the file manager has completed its initial scan |
|
|
176
|
-
| `starting` | `boolean` | Whether the file manager is currently scanning files |
|
|
177
|
-
| `watching` | `boolean` | Whether the file watcher is actively monitoring for changes |
|
|
178
|
-
| `failed` | `boolean` | Whether the initial file scan failed |
|
|
179
|
-
|
|
180
|
-
## Examples
|
|
181
|
-
|
|
182
|
-
**features.fileManager**
|
|
183
|
-
|
|
184
|
-
```ts
|
|
185
|
-
const fileManager = container.feature('fileManager')
|
|
186
|
-
await fileManager.start()
|
|
187
|
-
|
|
188
|
-
const fileIds = fileManager.fileIds
|
|
189
|
-
const typescriptFiles = fileManager.matchFiles("**ts")
|
|
190
|
-
```
|
|
191
|
-
|