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,202 +0,0 @@
|
|
|
1
|
-
# GoogleCalendar (features.googleCalendar)
|
|
2
|
-
|
|
3
|
-
Google Calendar feature for listing calendars and reading events. Depends on the googleAuth feature for authentication. Creates a Calendar v3 API client lazily. Provides convenience methods for today's events and upcoming days.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('googleCalendar', {
|
|
9
|
-
// An authorized instance of the googleAuth feature
|
|
10
|
-
auth,
|
|
11
|
-
// Default calendar ID (default: "primary")
|
|
12
|
-
defaultCalendarId,
|
|
13
|
-
// Default timezone for event queries (e.g. "America/Chicago")
|
|
14
|
-
timeZone,
|
|
15
|
-
})
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Options (Zod v4 schema)
|
|
19
|
-
|
|
20
|
-
| Property | Type | Description |
|
|
21
|
-
|----------|------|-------------|
|
|
22
|
-
| `auth` | `any` | An authorized instance of the googleAuth feature |
|
|
23
|
-
| `defaultCalendarId` | `string` | Default calendar ID (default: "primary") |
|
|
24
|
-
| `timeZone` | `string` | Default timezone for event queries (e.g. "America/Chicago") |
|
|
25
|
-
|
|
26
|
-
## Methods
|
|
27
|
-
|
|
28
|
-
### listCalendars
|
|
29
|
-
|
|
30
|
-
List all calendars accessible to the authenticated user.
|
|
31
|
-
|
|
32
|
-
**Returns:** `Promise<CalendarInfo[]>`
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### listEvents
|
|
37
|
-
|
|
38
|
-
List events from a calendar within a time range.
|
|
39
|
-
|
|
40
|
-
**Parameters:**
|
|
41
|
-
|
|
42
|
-
| Name | Type | Required | Description |
|
|
43
|
-
|------|------|----------|-------------|
|
|
44
|
-
| `options` | `ListEventsOptions` | | Filtering options including timeMin, timeMax, query, maxResults |
|
|
45
|
-
|
|
46
|
-
`ListEventsOptions` properties:
|
|
47
|
-
|
|
48
|
-
| Property | Type | Description |
|
|
49
|
-
|----------|------|-------------|
|
|
50
|
-
| `calendarId` | `string` | |
|
|
51
|
-
| `timeMin` | `string` | |
|
|
52
|
-
| `timeMax` | `string` | |
|
|
53
|
-
| `maxResults` | `number` | |
|
|
54
|
-
| `query` | `string` | |
|
|
55
|
-
| `orderBy` | `'startTime' | 'updated'` | |
|
|
56
|
-
| `pageToken` | `string` | |
|
|
57
|
-
| `singleEvents` | `boolean` | |
|
|
58
|
-
|
|
59
|
-
**Returns:** `Promise<CalendarEventList>`
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### getToday
|
|
64
|
-
|
|
65
|
-
Get today's events from a calendar.
|
|
66
|
-
|
|
67
|
-
**Parameters:**
|
|
68
|
-
|
|
69
|
-
| Name | Type | Required | Description |
|
|
70
|
-
|------|------|----------|-------------|
|
|
71
|
-
| `calendarId` | `string` | | Calendar ID (defaults to options.defaultCalendarId or 'primary') |
|
|
72
|
-
|
|
73
|
-
**Returns:** `Promise<CalendarEvent[]>`
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
### getUpcoming
|
|
78
|
-
|
|
79
|
-
Get upcoming events for the next N days.
|
|
80
|
-
|
|
81
|
-
**Parameters:**
|
|
82
|
-
|
|
83
|
-
| Name | Type | Required | Description |
|
|
84
|
-
|------|------|----------|-------------|
|
|
85
|
-
| `days` | `number` | | Number of days to look ahead (default: 7) |
|
|
86
|
-
| `calendarId` | `string` | | Calendar ID |
|
|
87
|
-
|
|
88
|
-
**Returns:** `Promise<CalendarEvent[]>`
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
### getEvent
|
|
93
|
-
|
|
94
|
-
Get a single event by ID.
|
|
95
|
-
|
|
96
|
-
**Parameters:**
|
|
97
|
-
|
|
98
|
-
| Name | Type | Required | Description |
|
|
99
|
-
|------|------|----------|-------------|
|
|
100
|
-
| `eventId` | `string` | ✓ | The event ID |
|
|
101
|
-
| `calendarId` | `string` | | Calendar ID |
|
|
102
|
-
|
|
103
|
-
**Returns:** `Promise<CalendarEvent>`
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
### searchEvents
|
|
108
|
-
|
|
109
|
-
Search events by text query across event summaries, descriptions, and locations.
|
|
110
|
-
|
|
111
|
-
**Parameters:**
|
|
112
|
-
|
|
113
|
-
| Name | Type | Required | Description |
|
|
114
|
-
|------|------|----------|-------------|
|
|
115
|
-
| `query` | `string` | ✓ | Freetext search term |
|
|
116
|
-
| `options` | `ListEventsOptions` | | Additional listing options (timeMin, timeMax, calendarId, etc.) |
|
|
117
|
-
|
|
118
|
-
`ListEventsOptions` properties:
|
|
119
|
-
|
|
120
|
-
| Property | Type | Description |
|
|
121
|
-
|----------|------|-------------|
|
|
122
|
-
| `calendarId` | `string` | |
|
|
123
|
-
| `timeMin` | `string` | |
|
|
124
|
-
| `timeMax` | `string` | |
|
|
125
|
-
| `maxResults` | `number` | |
|
|
126
|
-
| `query` | `string` | |
|
|
127
|
-
| `orderBy` | `'startTime' | 'updated'` | |
|
|
128
|
-
| `pageToken` | `string` | |
|
|
129
|
-
| `singleEvents` | `boolean` | |
|
|
130
|
-
|
|
131
|
-
**Returns:** `Promise<CalendarEvent[]>`
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
## Getters
|
|
136
|
-
|
|
137
|
-
| Property | Type | Description |
|
|
138
|
-
|----------|------|-------------|
|
|
139
|
-
| `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
|
|
140
|
-
| `defaultCalendarId` | `string` | Default calendar ID from options or 'primary'. |
|
|
141
|
-
|
|
142
|
-
## Events (Zod v4 schema)
|
|
143
|
-
|
|
144
|
-
### error
|
|
145
|
-
|
|
146
|
-
Calendar API error occurred
|
|
147
|
-
|
|
148
|
-
**Event Arguments:**
|
|
149
|
-
|
|
150
|
-
| Name | Type | Description |
|
|
151
|
-
|------|------|-------------|
|
|
152
|
-
| `arg0` | `any` | The error |
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
### eventsFetched
|
|
157
|
-
|
|
158
|
-
Events were fetched from Calendar
|
|
159
|
-
|
|
160
|
-
**Event Arguments:**
|
|
161
|
-
|
|
162
|
-
| Name | Type | Description |
|
|
163
|
-
|------|------|-------------|
|
|
164
|
-
| `arg0` | `number` | Number of events returned |
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
## State (Zod v4 schema)
|
|
169
|
-
|
|
170
|
-
| Property | Type | Description |
|
|
171
|
-
|----------|------|-------------|
|
|
172
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
173
|
-
| `lastCalendarId` | `string` | Last calendar ID queried |
|
|
174
|
-
| `lastEventCount` | `number` | Number of events returned in last query |
|
|
175
|
-
| `lastError` | `string` | Last Calendar API error message |
|
|
176
|
-
|
|
177
|
-
## Examples
|
|
178
|
-
|
|
179
|
-
**features.googleCalendar**
|
|
180
|
-
|
|
181
|
-
```ts
|
|
182
|
-
const calendar = container.feature('googleCalendar')
|
|
183
|
-
|
|
184
|
-
// List all calendars
|
|
185
|
-
const calendars = await calendar.listCalendars()
|
|
186
|
-
|
|
187
|
-
// Get today's events
|
|
188
|
-
const today = await calendar.getToday()
|
|
189
|
-
|
|
190
|
-
// Get next 7 days of events
|
|
191
|
-
const upcoming = await calendar.getUpcoming(7)
|
|
192
|
-
|
|
193
|
-
// Search events
|
|
194
|
-
const meetings = await calendar.searchEvents('standup')
|
|
195
|
-
|
|
196
|
-
// List events in a time range
|
|
197
|
-
const events = await calendar.listEvents({
|
|
198
|
-
timeMin: '2026-03-01T00:00:00Z',
|
|
199
|
-
timeMax: '2026-03-31T23:59:59Z',
|
|
200
|
-
})
|
|
201
|
-
```
|
|
202
|
-
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# GoogleDocs (features.googleDocs)
|
|
2
|
-
|
|
3
|
-
Google Docs feature for reading documents and converting them to Markdown. Depends on googleAuth for authentication and optionally googleDrive for listing docs. The markdown converter handles headings, text formatting, links, lists, tables, and images.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('googleDocs', {
|
|
9
|
-
// An authorized instance of the googleAuth feature
|
|
10
|
-
auth,
|
|
11
|
-
})
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Options (Zod v4 schema)
|
|
15
|
-
|
|
16
|
-
| Property | Type | Description |
|
|
17
|
-
|----------|------|-------------|
|
|
18
|
-
| `auth` | `any` | An authorized instance of the googleAuth feature |
|
|
19
|
-
|
|
20
|
-
## Methods
|
|
21
|
-
|
|
22
|
-
### getDocument
|
|
23
|
-
|
|
24
|
-
Get the raw document structure from the Docs API.
|
|
25
|
-
|
|
26
|
-
**Parameters:**
|
|
27
|
-
|
|
28
|
-
| Name | Type | Required | Description |
|
|
29
|
-
|------|------|----------|-------------|
|
|
30
|
-
| `documentId` | `string` | ✓ | The Google Docs document ID |
|
|
31
|
-
|
|
32
|
-
**Returns:** `Promise<docs_v1.Schema$Document>`
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### getAsMarkdown
|
|
37
|
-
|
|
38
|
-
Read a Google Doc and convert it to Markdown. Handles headings, bold/italic/strikethrough, links, code fonts, ordered/unordered lists with nesting, tables, images, and section breaks.
|
|
39
|
-
|
|
40
|
-
**Parameters:**
|
|
41
|
-
|
|
42
|
-
| Name | Type | Required | Description |
|
|
43
|
-
|------|------|----------|-------------|
|
|
44
|
-
| `documentId` | `string` | ✓ | The Google Docs document ID |
|
|
45
|
-
|
|
46
|
-
**Returns:** `Promise<string>`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
### getAsText
|
|
51
|
-
|
|
52
|
-
Read a Google Doc as plain text (strips all formatting).
|
|
53
|
-
|
|
54
|
-
**Parameters:**
|
|
55
|
-
|
|
56
|
-
| Name | Type | Required | Description |
|
|
57
|
-
|------|------|----------|-------------|
|
|
58
|
-
| `documentId` | `string` | ✓ | The Google Docs document ID |
|
|
59
|
-
|
|
60
|
-
**Returns:** `Promise<string>`
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### saveAsMarkdown
|
|
65
|
-
|
|
66
|
-
Download a Google Doc as Markdown and save to a local file.
|
|
67
|
-
|
|
68
|
-
**Parameters:**
|
|
69
|
-
|
|
70
|
-
| Name | Type | Required | Description |
|
|
71
|
-
|------|------|----------|-------------|
|
|
72
|
-
| `documentId` | `string` | ✓ | The Google Docs document ID |
|
|
73
|
-
| `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
|
|
74
|
-
|
|
75
|
-
**Returns:** `Promise<string>`
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### listDocs
|
|
80
|
-
|
|
81
|
-
List Google Docs in Drive (filters by Docs MIME type).
|
|
82
|
-
|
|
83
|
-
**Parameters:**
|
|
84
|
-
|
|
85
|
-
| Name | Type | Required | Description |
|
|
86
|
-
|------|------|----------|-------------|
|
|
87
|
-
| `query` | `string` | | Optional additional Drive search query |
|
|
88
|
-
| `options` | `{ pageSize?: number; pageToken?: string }` | | Pagination options |
|
|
89
|
-
|
|
90
|
-
**Returns:** `Promise<DriveFile[]>`
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
### searchDocs
|
|
95
|
-
|
|
96
|
-
Search for Google Docs by name or content.
|
|
97
|
-
|
|
98
|
-
**Parameters:**
|
|
99
|
-
|
|
100
|
-
| Name | Type | Required | Description |
|
|
101
|
-
|------|------|----------|-------------|
|
|
102
|
-
| `term` | `string` | ✓ | Search term |
|
|
103
|
-
|
|
104
|
-
**Returns:** `Promise<DriveFile[]>`
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
## Getters
|
|
109
|
-
|
|
110
|
-
| Property | Type | Description |
|
|
111
|
-
|----------|------|-------------|
|
|
112
|
-
| `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
|
|
113
|
-
| `drive` | `GoogleDrive` | Access the google-drive feature lazily. |
|
|
114
|
-
|
|
115
|
-
## Events (Zod v4 schema)
|
|
116
|
-
|
|
117
|
-
### documentFetched
|
|
118
|
-
|
|
119
|
-
A document was fetched
|
|
120
|
-
|
|
121
|
-
**Event Arguments:**
|
|
122
|
-
|
|
123
|
-
| Name | Type | Description |
|
|
124
|
-
|------|------|-------------|
|
|
125
|
-
| `arg0` | `string` | Document ID |
|
|
126
|
-
| `arg1` | `string` | Title |
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
### error
|
|
131
|
-
|
|
132
|
-
Docs API error occurred
|
|
133
|
-
|
|
134
|
-
**Event Arguments:**
|
|
135
|
-
|
|
136
|
-
| Name | Type | Description |
|
|
137
|
-
|------|------|-------------|
|
|
138
|
-
| `arg0` | `any` | The error |
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
## State (Zod v4 schema)
|
|
143
|
-
|
|
144
|
-
| Property | Type | Description |
|
|
145
|
-
|----------|------|-------------|
|
|
146
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
147
|
-
| `lastDocId` | `string` | Last document ID accessed |
|
|
148
|
-
| `lastDocTitle` | `string` | Title of the last document accessed |
|
|
149
|
-
| `lastError` | `string` | Last Docs API error message |
|
|
150
|
-
|
|
151
|
-
## Examples
|
|
152
|
-
|
|
153
|
-
**features.googleDocs**
|
|
154
|
-
|
|
155
|
-
```ts
|
|
156
|
-
const docs = container.feature('googleDocs')
|
|
157
|
-
|
|
158
|
-
// Get a doc as markdown
|
|
159
|
-
const markdown = await docs.getAsMarkdown('1abc_document_id')
|
|
160
|
-
|
|
161
|
-
// Save to file
|
|
162
|
-
await docs.saveAsMarkdown('1abc_document_id', './output/doc.md')
|
|
163
|
-
|
|
164
|
-
// List all Google Docs in Drive
|
|
165
|
-
const allDocs = await docs.listDocs()
|
|
166
|
-
|
|
167
|
-
// Get raw document structure
|
|
168
|
-
const rawDoc = await docs.getDocument('1abc_document_id')
|
|
169
|
-
|
|
170
|
-
// Plain text extraction
|
|
171
|
-
const text = await docs.getAsText('1abc_document_id')
|
|
172
|
-
```
|
|
173
|
-
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
# GoogleDrive (features.googleDrive)
|
|
2
|
-
|
|
3
|
-
Google Drive feature for listing, searching, browsing, and downloading files. Depends on the googleAuth feature for authentication. Creates a Drive v3 API client lazily and passes the auth client from googleAuth.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('googleDrive', {
|
|
9
|
-
// An authorized instance of the googleAuth feature
|
|
10
|
-
auth,
|
|
11
|
-
// Default corpus for file queries (default: user)
|
|
12
|
-
defaultCorpora,
|
|
13
|
-
// Default number of results per page (default: 100)
|
|
14
|
-
pageSize,
|
|
15
|
-
})
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Options (Zod v4 schema)
|
|
19
|
-
|
|
20
|
-
| Property | Type | Description |
|
|
21
|
-
|----------|------|-------------|
|
|
22
|
-
| `auth` | `any` | An authorized instance of the googleAuth feature |
|
|
23
|
-
| `defaultCorpora` | `string` | Default corpus for file queries (default: user) |
|
|
24
|
-
| `pageSize` | `number` | Default number of results per page (default: 100) |
|
|
25
|
-
|
|
26
|
-
## Methods
|
|
27
|
-
|
|
28
|
-
### listFiles
|
|
29
|
-
|
|
30
|
-
List files in the user's Drive with an optional query filter.
|
|
31
|
-
|
|
32
|
-
**Parameters:**
|
|
33
|
-
|
|
34
|
-
| Name | Type | Required | Description |
|
|
35
|
-
|------|------|----------|-------------|
|
|
36
|
-
| `query` | `string` | | Drive search query (e.g. "name contains 'report'", "mimeType='application/pdf'") |
|
|
37
|
-
| `options` | `ListFilesOptions` | | Pagination and filtering options |
|
|
38
|
-
|
|
39
|
-
`ListFilesOptions` properties:
|
|
40
|
-
|
|
41
|
-
| Property | Type | Description |
|
|
42
|
-
|----------|------|-------------|
|
|
43
|
-
| `pageSize` | `number` | |
|
|
44
|
-
| `pageToken` | `string` | |
|
|
45
|
-
| `orderBy` | `string` | |
|
|
46
|
-
| `fields` | `string` | |
|
|
47
|
-
| `corpora` | `'user' | 'drive' | 'allDrives'` | |
|
|
48
|
-
|
|
49
|
-
**Returns:** `Promise<DriveFileList>`
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### listFolder
|
|
54
|
-
|
|
55
|
-
List files within a specific folder.
|
|
56
|
-
|
|
57
|
-
**Parameters:**
|
|
58
|
-
|
|
59
|
-
| Name | Type | Required | Description |
|
|
60
|
-
|------|------|----------|-------------|
|
|
61
|
-
| `folderId` | `string` | ✓ | The Drive folder ID |
|
|
62
|
-
| `options` | `ListFilesOptions` | | Pagination and filtering options |
|
|
63
|
-
|
|
64
|
-
`ListFilesOptions` properties:
|
|
65
|
-
|
|
66
|
-
| Property | Type | Description |
|
|
67
|
-
|----------|------|-------------|
|
|
68
|
-
| `pageSize` | `number` | |
|
|
69
|
-
| `pageToken` | `string` | |
|
|
70
|
-
| `orderBy` | `string` | |
|
|
71
|
-
| `fields` | `string` | |
|
|
72
|
-
| `corpora` | `'user' | 'drive' | 'allDrives'` | |
|
|
73
|
-
|
|
74
|
-
**Returns:** `Promise<DriveFileList>`
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
### browse
|
|
79
|
-
|
|
80
|
-
Browse a folder's contents, separating files from subfolders.
|
|
81
|
-
|
|
82
|
-
**Parameters:**
|
|
83
|
-
|
|
84
|
-
| Name | Type | Required | Description |
|
|
85
|
-
|------|------|----------|-------------|
|
|
86
|
-
| `folderId` | `string` | | Folder ID to browse (defaults to 'root') |
|
|
87
|
-
|
|
88
|
-
**Returns:** `Promise<DriveBrowseResult>`
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
### search
|
|
93
|
-
|
|
94
|
-
Search files by name, content, or MIME type.
|
|
95
|
-
|
|
96
|
-
**Parameters:**
|
|
97
|
-
|
|
98
|
-
| Name | Type | Required | Description |
|
|
99
|
-
|------|------|----------|-------------|
|
|
100
|
-
| `term` | `string` | ✓ | Search term to look for in file names and content |
|
|
101
|
-
| `options` | `SearchOptions` | | Additional search options like mimeType filter or folder restriction |
|
|
102
|
-
|
|
103
|
-
**Returns:** `Promise<DriveFileList>`
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
### getFile
|
|
108
|
-
|
|
109
|
-
Get file metadata by file ID.
|
|
110
|
-
|
|
111
|
-
**Parameters:**
|
|
112
|
-
|
|
113
|
-
| Name | Type | Required | Description |
|
|
114
|
-
|------|------|----------|-------------|
|
|
115
|
-
| `fileId` | `string` | ✓ | The Drive file ID |
|
|
116
|
-
| `fields` | `string` | | Specific fields to request (defaults to common fields) |
|
|
117
|
-
|
|
118
|
-
**Returns:** `Promise<DriveFile>`
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
### download
|
|
123
|
-
|
|
124
|
-
Download a file's content as a Buffer. Uses alt=media for binary download of non-Google files.
|
|
125
|
-
|
|
126
|
-
**Parameters:**
|
|
127
|
-
|
|
128
|
-
| Name | Type | Required | Description |
|
|
129
|
-
|------|------|----------|-------------|
|
|
130
|
-
| `fileId` | `string` | ✓ | The Drive file ID |
|
|
131
|
-
|
|
132
|
-
**Returns:** `Promise<Buffer>`
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
### downloadTo
|
|
137
|
-
|
|
138
|
-
Download a file and save it to a local path.
|
|
139
|
-
|
|
140
|
-
**Parameters:**
|
|
141
|
-
|
|
142
|
-
| Name | Type | Required | Description |
|
|
143
|
-
|------|------|----------|-------------|
|
|
144
|
-
| `fileId` | `string` | ✓ | The Drive file ID |
|
|
145
|
-
| `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
|
|
146
|
-
|
|
147
|
-
**Returns:** `Promise<string>`
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
### exportFile
|
|
152
|
-
|
|
153
|
-
Export a Google Workspace file (Docs, Sheets, Slides) to a given MIME type. Uses the Files.export endpoint.
|
|
154
|
-
|
|
155
|
-
**Parameters:**
|
|
156
|
-
|
|
157
|
-
| Name | Type | Required | Description |
|
|
158
|
-
|------|------|----------|-------------|
|
|
159
|
-
| `fileId` | `string` | ✓ | The Drive file ID of a Google Workspace document |
|
|
160
|
-
| `mimeType` | `string` | ✓ | Target MIME type (e.g. 'text/plain', 'application/pdf', 'text/csv') |
|
|
161
|
-
|
|
162
|
-
**Returns:** `Promise<Buffer>`
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
### listDrives
|
|
167
|
-
|
|
168
|
-
List all shared drives the user has access to.
|
|
169
|
-
|
|
170
|
-
**Returns:** `Promise<SharedDrive[]>`
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
## Getters
|
|
175
|
-
|
|
176
|
-
| Property | Type | Description |
|
|
177
|
-
|----------|------|-------------|
|
|
178
|
-
| `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
|
|
179
|
-
|
|
180
|
-
## Events (Zod v4 schema)
|
|
181
|
-
|
|
182
|
-
### filesFetched
|
|
183
|
-
|
|
184
|
-
Files were fetched from Drive
|
|
185
|
-
|
|
186
|
-
**Event Arguments:**
|
|
187
|
-
|
|
188
|
-
| Name | Type | Description |
|
|
189
|
-
|------|------|-------------|
|
|
190
|
-
| `arg0` | `number` | Number of files returned |
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
### error
|
|
195
|
-
|
|
196
|
-
Drive API error occurred
|
|
197
|
-
|
|
198
|
-
**Event Arguments:**
|
|
199
|
-
|
|
200
|
-
| Name | Type | Description |
|
|
201
|
-
|------|------|-------------|
|
|
202
|
-
| `arg0` | `any` | The error |
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### fileDownloaded
|
|
207
|
-
|
|
208
|
-
A file was downloaded
|
|
209
|
-
|
|
210
|
-
**Event Arguments:**
|
|
211
|
-
|
|
212
|
-
| Name | Type | Description |
|
|
213
|
-
|------|------|-------------|
|
|
214
|
-
| `arg0` | `string` | File ID |
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
## State (Zod v4 schema)
|
|
219
|
-
|
|
220
|
-
| Property | Type | Description |
|
|
221
|
-
|----------|------|-------------|
|
|
222
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
223
|
-
| `lastQuery` | `string` | Last search query or folder ID browsed |
|
|
224
|
-
| `lastResultCount` | `number` | Number of results from last list/search operation |
|
|
225
|
-
| `lastError` | `string` | Last Drive API error message |
|
|
226
|
-
|
|
227
|
-
## Examples
|
|
228
|
-
|
|
229
|
-
**features.googleDrive**
|
|
230
|
-
|
|
231
|
-
```ts
|
|
232
|
-
const drive = container.feature('googleDrive')
|
|
233
|
-
|
|
234
|
-
// List recent files
|
|
235
|
-
const { files } = await drive.listFiles()
|
|
236
|
-
|
|
237
|
-
// Search for documents
|
|
238
|
-
const { files: docs } = await drive.search('quarterly report', { mimeType: 'application/pdf' })
|
|
239
|
-
|
|
240
|
-
// Browse a folder
|
|
241
|
-
const contents = await drive.browse('folder-id-here')
|
|
242
|
-
|
|
243
|
-
// Download a file to disk
|
|
244
|
-
await drive.downloadTo('file-id', './downloads/report.pdf')
|
|
245
|
-
```
|
|
246
|
-
|