luca 2.0.0 → 3.0.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 +169 -0
- package/AGENTS.md +99 -0
- package/CLAUDE.md +115 -0
- package/CNAME +1 -0
- package/README.md +257 -9
- package/RUNME.md +56 -0
- package/assistants/codingAssistant/ABOUT.md +5 -0
- package/assistants/codingAssistant/CORE.md +28 -0
- package/assistants/codingAssistant/hooks.ts +21 -0
- package/assistants/codingAssistant/tools.ts +12 -0
- package/assistants/inkbot/ABOUT.md +16 -0
- package/assistants/inkbot/CORE.md +330 -0
- package/assistants/inkbot/hooks.ts +6 -0
- package/assistants/inkbot/tools.ts +53 -0
- package/assistants/researcher/ABOUT.md +5 -0
- package/assistants/researcher/CORE.md +46 -0
- package/assistants/researcher/hooks.ts +16 -0
- package/assistants/researcher/tools.ts +237 -0
- package/bun.lock +2769 -0
- package/bunfig.toml +3 -0
- package/commands/audit-docs.ts +740 -0
- package/commands/build-bootstrap.ts +118 -0
- package/commands/build-python-bridge.ts +43 -0
- package/commands/build-scaffolds.ts +176 -0
- package/commands/generate-api-docs.ts +114 -0
- package/commands/inkbot.ts +874 -0
- package/commands/release.ts +80 -0
- package/commands/try-all-challenges.ts +543 -0
- package/commands/try-challenge.ts +100 -0
- package/dist/agi/container.server.d.ts +63 -0
- package/dist/agi/container.server.d.ts.map +1 -0
- package/dist/agi/endpoints/ask.d.ts +20 -0
- package/dist/agi/endpoints/ask.d.ts.map +1 -0
- package/dist/agi/endpoints/conversations/[id].d.ts +27 -0
- package/dist/agi/endpoints/conversations/[id].d.ts.map +1 -0
- package/dist/agi/endpoints/conversations.d.ts +18 -0
- package/dist/agi/endpoints/conversations.d.ts.map +1 -0
- package/dist/agi/endpoints/experts.d.ts +8 -0
- package/dist/agi/endpoints/experts.d.ts.map +1 -0
- package/dist/agi/feature.d.ts +9 -0
- package/dist/agi/feature.d.ts.map +1 -0
- package/dist/agi/features/assistant.d.ts +509 -0
- package/dist/agi/features/assistant.d.ts.map +1 -0
- package/dist/agi/features/assistants-manager.d.ts +236 -0
- package/dist/agi/features/assistants-manager.d.ts.map +1 -0
- package/dist/agi/features/autonomous-assistant.d.ts +281 -0
- package/dist/agi/features/autonomous-assistant.d.ts.map +1 -0
- package/dist/agi/features/browser-use.d.ts +479 -0
- package/dist/agi/features/browser-use.d.ts.map +1 -0
- package/dist/agi/features/claude-code.d.ts +824 -0
- package/dist/agi/features/claude-code.d.ts.map +1 -0
- package/dist/agi/features/conversation-history.d.ts +245 -0
- package/dist/agi/features/conversation-history.d.ts.map +1 -0
- package/dist/agi/features/conversation.d.ts +464 -0
- package/dist/agi/features/conversation.d.ts.map +1 -0
- package/dist/agi/features/docs-reader.d.ts +72 -0
- package/dist/agi/features/docs-reader.d.ts.map +1 -0
- package/dist/agi/features/file-tools.d.ts +110 -0
- package/dist/agi/features/file-tools.d.ts.map +1 -0
- package/dist/agi/features/luca-coder.d.ts +323 -0
- package/dist/agi/features/luca-coder.d.ts.map +1 -0
- package/dist/agi/features/openai-codex.d.ts +381 -0
- package/dist/agi/features/openai-codex.d.ts.map +1 -0
- package/dist/agi/features/openapi.d.ts +200 -0
- package/dist/agi/features/openapi.d.ts.map +1 -0
- package/dist/agi/features/skills-library.d.ts +167 -0
- package/dist/agi/features/skills-library.d.ts.map +1 -0
- package/dist/agi/index.d.ts +5 -0
- package/dist/agi/index.d.ts.map +1 -0
- package/dist/agi/lib/interceptor-chain.d.ts +44 -0
- package/dist/agi/lib/interceptor-chain.d.ts.map +1 -0
- package/dist/agi/lib/token-counter.d.ts +13 -0
- package/dist/agi/lib/token-counter.d.ts.map +1 -0
- package/dist/bootstrap/generated.d.ts +5 -0
- package/dist/bootstrap/generated.d.ts.map +1 -0
- package/dist/browser.d.ts +12 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/bus.d.ts +29 -0
- package/dist/bus.d.ts.map +1 -0
- package/dist/cli/build-info.d.ts +4 -0
- package/dist/cli/build-info.d.ts.map +1 -0
- package/dist/cli/cli.d.ts +3 -12
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/client.d.ts +60 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clients/civitai/index.d.ts +472 -0
- package/dist/clients/civitai/index.d.ts.map +1 -0
- package/dist/clients/client-template.d.ts +30 -0
- package/dist/clients/client-template.d.ts.map +1 -0
- package/dist/clients/comfyui/index.d.ts +281 -0
- package/dist/clients/comfyui/index.d.ts.map +1 -0
- package/dist/clients/elevenlabs/index.d.ts +197 -0
- package/dist/clients/elevenlabs/index.d.ts.map +1 -0
- package/dist/clients/graph.d.ts +64 -0
- package/dist/clients/graph.d.ts.map +1 -0
- package/dist/clients/openai/index.d.ts +247 -0
- package/dist/clients/openai/index.d.ts.map +1 -0
- package/dist/clients/rest.d.ts +92 -0
- package/dist/clients/rest.d.ts.map +1 -0
- package/dist/clients/supabase/index.d.ts +176 -0
- package/dist/clients/supabase/index.d.ts.map +1 -0
- package/dist/clients/websocket.d.ts +127 -0
- package/dist/clients/websocket.d.ts.map +1 -0
- package/dist/command.d.ts +163 -0
- package/dist/command.d.ts.map +1 -0
- package/dist/commands/bootstrap.d.ts +20 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/chat.d.ts +37 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/code.d.ts +28 -0
- package/dist/commands/code.d.ts.map +1 -0
- package/dist/commands/console.d.ts +22 -0
- package/dist/commands/console.d.ts.map +1 -0
- package/dist/commands/describe.d.ts +50 -0
- package/dist/commands/describe.d.ts.map +1 -0
- package/dist/commands/eval.d.ts +23 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/help.d.ts +25 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/index.d.ts +18 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/introspect.d.ts +24 -0
- package/dist/commands/introspect.d.ts.map +1 -0
- package/dist/commands/mcp.d.ts +35 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/prompt.d.ts +38 -0
- package/dist/commands/prompt.d.ts.map +1 -0
- package/dist/commands/run.d.ts +24 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/sandbox-mcp.d.ts +34 -0
- package/dist/commands/sandbox-mcp.d.ts.map +1 -0
- package/dist/commands/save-api-docs.d.ts +21 -0
- package/dist/commands/save-api-docs.d.ts.map +1 -0
- package/dist/commands/scaffold.d.ts +24 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/select.d.ts +22 -0
- package/dist/commands/select.d.ts.map +1 -0
- package/dist/commands/serve.d.ts +29 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/container-describer.d.ts +144 -0
- package/dist/container-describer.d.ts.map +1 -0
- package/dist/container.d.ts +451 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/endpoint.d.ts +113 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/feature.d.ts +47 -0
- package/dist/feature.d.ts.map +1 -0
- package/dist/graft.d.ts +29 -0
- package/dist/graft.d.ts.map +1 -0
- package/dist/hash-object.d.ts +8 -0
- package/dist/hash-object.d.ts.map +1 -0
- package/dist/helper.d.ts +209 -0
- package/dist/helper.d.ts.map +1 -0
- package/dist/introspection/generated.node.d.ts +44623 -0
- package/dist/introspection/generated.node.d.ts.map +1 -0
- package/dist/introspection/generated.web.d.ts +1412 -0
- package/dist/introspection/generated.web.d.ts.map +1 -0
- package/dist/introspection/index.d.ts +156 -0
- package/dist/introspection/index.d.ts.map +1 -0
- package/dist/introspection/scan.d.ts +147 -0
- package/dist/introspection/scan.d.ts.map +1 -0
- package/dist/node/container.d.ts +256 -0
- package/dist/node/container.d.ts.map +1 -0
- package/dist/node/feature.d.ts +9 -0
- package/dist/node/feature.d.ts.map +1 -0
- package/dist/node/features/container-link.d.ts +213 -0
- package/dist/node/features/container-link.d.ts.map +1 -0
- package/dist/node/features/content-db.d.ts +354 -0
- package/dist/node/features/content-db.d.ts.map +1 -0
- package/dist/node/features/disk-cache.d.ts +236 -0
- package/dist/node/features/disk-cache.d.ts.map +1 -0
- package/dist/node/features/dns.d.ts +511 -0
- package/dist/node/features/dns.d.ts.map +1 -0
- package/dist/node/features/docker.d.ts +485 -0
- package/dist/node/features/docker.d.ts.map +1 -0
- package/dist/node/features/downloader.d.ts +73 -0
- package/dist/node/features/downloader.d.ts.map +1 -0
- package/dist/node/features/figlet-fonts.d.ts +4 -0
- package/dist/node/features/figlet-fonts.d.ts.map +1 -0
- package/dist/node/features/file-manager.d.ts +177 -0
- package/dist/node/features/file-manager.d.ts.map +1 -0
- package/dist/node/features/fs.d.ts +635 -0
- package/dist/node/features/fs.d.ts.map +1 -0
- package/dist/node/features/git.d.ts +329 -0
- package/dist/node/features/git.d.ts.map +1 -0
- package/dist/node/features/google-auth.d.ts +200 -0
- package/dist/node/features/google-auth.d.ts.map +1 -0
- package/dist/node/features/google-calendar.d.ts +194 -0
- package/dist/node/features/google-calendar.d.ts.map +1 -0
- package/dist/node/features/google-docs.d.ts +138 -0
- package/dist/node/features/google-docs.d.ts.map +1 -0
- package/dist/node/features/google-drive.d.ts +202 -0
- package/dist/node/features/google-drive.d.ts.map +1 -0
- package/dist/node/features/google-mail.d.ts +221 -0
- package/dist/node/features/google-mail.d.ts.map +1 -0
- package/dist/node/features/google-sheets.d.ts +157 -0
- package/dist/node/features/google-sheets.d.ts.map +1 -0
- package/dist/node/features/grep.d.ts +207 -0
- package/dist/node/features/grep.d.ts.map +1 -0
- package/dist/node/features/helpers.d.ts +236 -0
- package/dist/node/features/helpers.d.ts.map +1 -0
- package/dist/node/features/ink.d.ts +332 -0
- package/dist/node/features/ink.d.ts.map +1 -0
- package/dist/node/features/ipc-socket.d.ts +298 -0
- package/dist/node/features/ipc-socket.d.ts.map +1 -0
- package/dist/node/features/json-tree.d.ts +140 -0
- package/dist/node/features/json-tree.d.ts.map +1 -0
- package/dist/node/features/networking.d.ts +373 -0
- package/dist/node/features/networking.d.ts.map +1 -0
- package/dist/node/features/nlp.d.ts +125 -0
- package/dist/node/features/nlp.d.ts.map +1 -0
- package/dist/node/features/opener.d.ts +93 -0
- package/dist/node/features/opener.d.ts.map +1 -0
- package/dist/node/features/os.d.ts +168 -0
- package/dist/node/features/os.d.ts.map +1 -0
- package/dist/node/features/package-finder.d.ts +419 -0
- package/dist/node/features/package-finder.d.ts.map +1 -0
- package/dist/node/features/postgres.d.ts +173 -0
- package/dist/node/features/postgres.d.ts.map +1 -0
- package/dist/node/features/proc.d.ts +285 -0
- package/dist/node/features/proc.d.ts.map +1 -0
- package/dist/node/features/process-manager.d.ts +427 -0
- package/dist/node/features/process-manager.d.ts.map +1 -0
- package/dist/node/features/python.d.ts +477 -0
- package/dist/node/features/python.d.ts.map +1 -0
- package/dist/node/features/redis.d.ts +247 -0
- package/dist/node/features/redis.d.ts.map +1 -0
- package/dist/node/features/repl.d.ts +84 -0
- package/dist/node/features/repl.d.ts.map +1 -0
- package/dist/node/features/runpod.d.ts +527 -0
- package/dist/node/features/runpod.d.ts.map +1 -0
- package/dist/node/features/secure-shell.d.ts +145 -0
- package/dist/node/features/secure-shell.d.ts.map +1 -0
- package/dist/node/features/semantic-search.d.ts +207 -0
- package/dist/node/features/semantic-search.d.ts.map +1 -0
- package/dist/node/features/sqlite.d.ts +180 -0
- package/dist/node/features/sqlite.d.ts.map +1 -0
- package/dist/node/features/telegram.d.ts +173 -0
- package/dist/node/features/telegram.d.ts.map +1 -0
- package/dist/node/features/transpiler.d.ts +51 -0
- package/dist/node/features/transpiler.d.ts.map +1 -0
- package/dist/node/features/tts.d.ts +108 -0
- package/dist/node/features/tts.d.ts.map +1 -0
- package/dist/node/features/ui.d.ts +562 -0
- package/dist/node/features/ui.d.ts.map +1 -0
- package/dist/node/features/vault.d.ts +90 -0
- package/dist/node/features/vault.d.ts.map +1 -0
- package/dist/node/features/vm.d.ts +285 -0
- package/dist/node/features/vm.d.ts.map +1 -0
- package/dist/node/features/yaml-tree.d.ts +118 -0
- package/dist/node/features/yaml-tree.d.ts.map +1 -0
- package/dist/node/features/yaml.d.ts +127 -0
- package/dist/node/features/yaml.d.ts.map +1 -0
- package/dist/node.d.ts +67 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/python/generated.d.ts +2 -0
- package/dist/python/generated.d.ts.map +1 -0
- package/dist/react/index.d.ts +36 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/registry.d.ts +97 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/scaffolds/generated.d.ts +13 -0
- package/dist/scaffolds/generated.d.ts.map +1 -0
- package/dist/scaffolds/template.d.ts +11 -0
- package/dist/scaffolds/template.d.ts.map +1 -0
- package/dist/schemas/base.d.ts +254 -0
- package/dist/schemas/base.d.ts.map +1 -0
- package/dist/selector.d.ts +130 -0
- package/dist/selector.d.ts.map +1 -0
- package/dist/server.d.ts +89 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/servers/express.d.ts +104 -0
- package/dist/servers/express.d.ts.map +1 -0
- package/dist/servers/mcp.d.ts +201 -0
- package/dist/servers/mcp.d.ts.map +1 -0
- package/dist/servers/socket.d.ts +121 -0
- package/dist/servers/socket.d.ts.map +1 -0
- package/dist/state.d.ts +24 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/web/clients/socket.d.ts +37 -0
- package/dist/web/clients/socket.d.ts.map +1 -0
- package/dist/web/container.d.ts +55 -0
- package/dist/web/container.d.ts.map +1 -0
- package/dist/web/extension.d.ts +4 -0
- package/dist/web/extension.d.ts.map +1 -0
- package/dist/web/feature.d.ts +8 -0
- package/dist/web/feature.d.ts.map +1 -0
- package/dist/web/features/asset-loader.d.ts +35 -0
- package/dist/web/features/asset-loader.d.ts.map +1 -0
- package/dist/web/features/container-link.d.ts +167 -0
- package/dist/web/features/container-link.d.ts.map +1 -0
- package/dist/web/features/esbuild.d.ts +51 -0
- package/dist/web/features/esbuild.d.ts.map +1 -0
- package/dist/web/features/helpers.d.ts +140 -0
- package/dist/web/features/helpers.d.ts.map +1 -0
- package/dist/web/features/network.d.ts +69 -0
- package/dist/web/features/network.d.ts.map +1 -0
- package/dist/web/features/speech.d.ts +71 -0
- package/dist/web/features/speech.d.ts.map +1 -0
- package/dist/web/features/vault.d.ts +62 -0
- package/dist/web/features/vault.d.ts.map +1 -0
- package/dist/web/features/vm.d.ts +48 -0
- package/dist/web/features/vm.d.ts.map +1 -0
- package/dist/web/features/voice-recognition.d.ts +96 -0
- package/dist/web/features/voice-recognition.d.ts.map +1 -0
- package/dist/web/shims/isomorphic-vm.d.ts +22 -0
- package/dist/web/shims/isomorphic-vm.d.ts.map +1 -0
- package/docs/CLI.md +335 -0
- package/docs/CNAME +1 -0
- package/docs/README.md +60 -0
- package/docs/TABLE-OF-CONTENTS.md +183 -0
- package/docs/apis/clients/elevenlabs.md +308 -0
- package/docs/apis/clients/graph.md +107 -0
- package/docs/apis/clients/openai.md +429 -0
- package/docs/apis/clients/rest.md +161 -0
- package/docs/apis/clients/websocket.md +174 -0
- package/docs/apis/features/agi/assistant.md +625 -0
- package/docs/apis/features/agi/assistants-manager.md +282 -0
- package/docs/apis/features/agi/auto-assistant.md +279 -0
- package/docs/apis/features/agi/browser-use.md +802 -0
- package/docs/apis/features/agi/claude-code.md +884 -0
- package/docs/apis/features/agi/conversation-history.md +364 -0
- package/docs/apis/features/agi/conversation.md +548 -0
- package/docs/apis/features/agi/docs-reader.md +99 -0
- package/docs/apis/features/agi/file-tools.md +163 -0
- package/docs/apis/features/agi/luca-coder.md +407 -0
- package/docs/apis/features/agi/openai-codex.md +396 -0
- package/docs/apis/features/agi/openapi.md +138 -0
- package/docs/apis/features/agi/semantic-search.md +387 -0
- package/docs/apis/features/agi/skills-library.md +239 -0
- package/docs/apis/features/node/container-link.md +192 -0
- package/docs/apis/features/node/content-db.md +450 -0
- package/docs/apis/features/node/disk-cache.md +379 -0
- package/docs/apis/features/node/dns.md +652 -0
- package/docs/apis/features/node/docker.md +706 -0
- package/docs/apis/features/node/downloader.md +81 -0
- package/docs/apis/features/node/esbuild.md +60 -0
- package/docs/apis/features/node/file-manager.md +191 -0
- package/docs/apis/features/node/fs.md +1217 -0
- package/docs/apis/features/node/git.md +371 -0
- package/docs/apis/features/node/google-auth.md +193 -0
- package/docs/apis/features/node/google-calendar.md +202 -0
- package/docs/apis/features/node/google-docs.md +173 -0
- package/docs/apis/features/node/google-drive.md +246 -0
- package/docs/apis/features/node/google-mail.md +214 -0
- package/docs/apis/features/node/google-sheets.md +194 -0
- package/docs/apis/features/node/grep.md +292 -0
- package/docs/apis/features/node/helpers.md +164 -0
- package/docs/apis/features/node/ink.md +334 -0
- package/docs/apis/features/node/ipc-socket.md +249 -0
- package/docs/apis/features/node/json-tree.md +86 -0
- package/docs/apis/features/node/networking.md +316 -0
- package/docs/apis/features/node/nlp.md +133 -0
- package/docs/apis/features/node/opener.md +97 -0
- package/docs/apis/features/node/os.md +146 -0
- package/docs/apis/features/node/package-finder.md +392 -0
- package/docs/apis/features/node/postgres.md +234 -0
- package/docs/apis/features/node/proc.md +399 -0
- package/docs/apis/features/node/process-manager.md +305 -0
- package/docs/apis/features/node/python.md +604 -0
- package/docs/apis/features/node/redis.md +380 -0
- package/docs/apis/features/node/repl.md +88 -0
- package/docs/apis/features/node/runpod.md +674 -0
- package/docs/apis/features/node/secure-shell.md +176 -0
- package/docs/apis/features/node/semantic-search.md +408 -0
- package/docs/apis/features/node/sqlite.md +233 -0
- package/docs/apis/features/node/telegram.md +279 -0
- package/docs/apis/features/node/transpiler.md +74 -0
- package/docs/apis/features/node/tts.md +133 -0
- package/docs/apis/features/node/ui.md +701 -0
- package/docs/apis/features/node/vault.md +59 -0
- package/docs/apis/features/node/vm.md +75 -0
- package/docs/apis/features/node/yaml-tree.md +85 -0
- package/docs/apis/features/node/yaml.md +176 -0
- package/docs/apis/features/web/asset-loader.md +59 -0
- package/docs/apis/features/web/container-link.md +192 -0
- package/docs/apis/features/web/esbuild.md +54 -0
- package/docs/apis/features/web/helpers.md +164 -0
- package/docs/apis/features/web/network.md +44 -0
- package/docs/apis/features/web/speech.md +69 -0
- package/docs/apis/features/web/vault.md +59 -0
- package/docs/apis/features/web/vm.md +75 -0
- package/docs/apis/features/web/voice.md +84 -0
- package/docs/apis/servers/express.md +171 -0
- package/docs/apis/servers/mcp.md +238 -0
- package/docs/apis/servers/websocket.md +170 -0
- package/docs/bootstrap/CLAUDE.md +101 -0
- package/docs/bootstrap/SKILL.md +341 -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 +30 -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/documentation-audit.md +134 -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/assistant-hooks-reference.ts +171 -0
- package/docs/examples/assistant-with-process-manager.md +84 -0
- package/docs/examples/content-db.md +77 -0
- package/docs/examples/disk-cache.md +83 -0
- package/docs/examples/docker.md +101 -0
- package/docs/examples/downloader.md +70 -0
- package/docs/examples/entity.md +124 -0
- package/docs/examples/esbuild.md +80 -0
- package/docs/examples/feature-as-tool-provider.md +143 -0
- package/docs/examples/file-manager.md +82 -0
- package/docs/examples/fs.md +83 -0
- package/docs/examples/git.md +85 -0
- package/docs/examples/google-auth.md +88 -0
- package/docs/examples/google-calendar.md +94 -0
- package/docs/examples/google-docs.md +82 -0
- package/docs/examples/google-drive.md +96 -0
- package/docs/examples/google-sheets.md +95 -0
- package/docs/examples/grep.md +85 -0
- package/docs/examples/ink-blocks.md +75 -0
- package/docs/examples/ink-renderer.md +41 -0
- package/docs/examples/ink.md +103 -0
- package/docs/examples/ipc-socket.md +103 -0
- package/docs/examples/json-tree.md +91 -0
- package/docs/examples/networking.md +58 -0
- package/docs/examples/nlp.md +91 -0
- package/docs/examples/opener.md +78 -0
- package/docs/examples/os.md +72 -0
- package/docs/examples/package-finder.md +89 -0
- package/docs/examples/postgres.md +91 -0
- package/docs/examples/proc.md +81 -0
- package/docs/examples/process-manager.md +79 -0
- package/docs/examples/python.md +132 -0
- package/docs/examples/repl.md +93 -0
- package/docs/examples/runpod.md +119 -0
- package/docs/examples/secure-shell.md +92 -0
- package/docs/examples/sqlite.md +86 -0
- package/docs/examples/structured-output-with-assistants.md +144 -0
- package/docs/examples/telegram.md +77 -0
- package/docs/examples/tts.md +86 -0
- package/docs/examples/ui.md +80 -0
- package/docs/examples/vault.md +70 -0
- package/docs/examples/vm.md +86 -0
- package/docs/examples/websocket-ask-and-reply-example.md +128 -0
- package/docs/examples/yaml-tree.md +93 -0
- package/docs/examples/yaml.md +104 -0
- package/docs/ideas/assistant-factory-pattern.md +142 -0
- package/docs/in-memory-fs.md +4 -0
- package/docs/introspection-audit.md +49 -0
- package/docs/introspection.md +164 -0
- package/docs/mcp/readme.md +162 -0
- package/docs/models.ts +41 -0
- package/docs/philosophy.md +86 -0
- package/docs/principles.md +7 -0
- package/docs/prompts/audit-codebase-for-failures-to-use-the-container.md +34 -0
- package/docs/prompts/check-for-undocumented-features.md +27 -0
- package/docs/prompts/mcp-test-easy-command.md +27 -0
- package/docs/scaffolds/client.md +149 -0
- package/docs/scaffolds/command.md +120 -0
- package/docs/scaffolds/endpoint.md +171 -0
- package/docs/scaffolds/feature.md +158 -0
- package/docs/scaffolds/selector.md +91 -0
- package/docs/scaffolds/server.md +196 -0
- 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 +166 -0
- package/docs/tutorials/01-getting-started.md +106 -0
- package/docs/tutorials/02-container.md +210 -0
- package/docs/tutorials/03-scripts.md +194 -0
- package/docs/tutorials/04-features-overview.md +196 -0
- package/docs/tutorials/05-state-and-events.md +171 -0
- package/docs/tutorials/06-servers.md +157 -0
- package/docs/tutorials/07-endpoints.md +198 -0
- package/docs/tutorials/08-commands.md +252 -0
- package/docs/tutorials/09-clients.md +162 -0
- package/docs/tutorials/10-creating-features.md +203 -0
- package/docs/tutorials/11-contentbase.md +191 -0
- package/docs/tutorials/12-assistants.md +215 -0
- package/docs/tutorials/13-introspection.md +157 -0
- package/docs/tutorials/14-type-system.md +174 -0
- package/docs/tutorials/15-project-patterns.md +222 -0
- package/docs/tutorials/16-google-features.md +534 -0
- package/docs/tutorials/17-tui-blocks.md +530 -0
- package/docs/tutorials/18-semantic-search.md +334 -0
- package/docs/tutorials/19-python-sessions.md +401 -0
- package/docs/tutorials/20-browser-esm.md +234 -0
- package/index.html +1430 -0
- package/index.ts +1 -0
- package/install.sh +84 -0
- package/luca.cli.ts +16 -0
- package/luca.console.ts +9 -0
- package/main.py +6 -0
- package/package.json +219 -58
- package/public/index.html +1430 -0
- package/public/slides-ai-native.html +902 -0
- package/public/slides-intro.html +974 -0
- package/pyproject.toml +7 -0
- package/scripts/build-web.ts +28 -0
- package/scripts/examples/ask-luca-expert.ts +42 -0
- package/scripts/examples/assistant-questions.ts +12 -0
- package/scripts/examples/excalidraw-expert.ts +75 -0
- package/scripts/examples/expert-chat.ts +0 -0
- package/scripts/examples/file-manager.ts +14 -0
- package/scripts/examples/ideas.ts +12 -0
- package/scripts/examples/interactive-chat.ts +20 -0
- package/scripts/examples/openai-tool-calls.ts +113 -0
- package/scripts/examples/opening-a-web-browser.ts +5 -0
- package/scripts/examples/telegram-bot.ts +79 -0
- package/scripts/examples/using-assistant-with-mcp.ts +555 -0
- package/scripts/examples/using-claude-code.ts +10 -0
- package/scripts/examples/using-contentdb.ts +35 -0
- package/scripts/examples/using-conversations.ts +35 -0
- package/scripts/examples/using-disk-cache.ts +10 -0
- package/scripts/examples/using-docker-shell.ts +75 -0
- package/scripts/examples/using-elevenlabs.ts +25 -0
- package/scripts/examples/using-google-calendar.ts +57 -0
- package/scripts/examples/using-google-docs.ts +74 -0
- package/scripts/examples/using-google-drive.ts +74 -0
- package/scripts/examples/using-google-sheets.ts +89 -0
- package/scripts/examples/using-nlp.ts +55 -0
- package/scripts/examples/using-ollama.ts +11 -0
- package/scripts/examples/using-postgres.ts +55 -0
- package/scripts/examples/using-runpod.ts +32 -0
- package/scripts/examples/using-tts.ts +40 -0
- package/scripts/scaffold.ts +391 -0
- package/scripts/scratch.ts +15 -0
- package/scripts/stamp-build.sh +12 -0
- package/scripts/test-assistant-hooks.ts +13 -0
- package/scripts/test-docs-reader.ts +10 -0
- package/scripts/test-linux-binary.sh +80 -0
- package/scripts/update-introspection-data.ts +58 -0
- package/src/agi/README.md +14 -0
- package/src/agi/container.server.ts +152 -0
- package/src/agi/endpoints/ask.ts +60 -0
- package/src/agi/endpoints/conversations/[id].ts +45 -0
- package/src/agi/endpoints/conversations.ts +31 -0
- package/src/agi/endpoints/experts.ts +37 -0
- package/src/agi/feature.ts +13 -0
- package/src/agi/features/agent-memory.ts +694 -0
- package/src/agi/features/assistant.ts +1624 -0
- package/src/agi/features/assistants-manager.ts +418 -0
- package/src/agi/features/autonomous-assistant.ts +431 -0
- package/src/agi/features/browser-use.ts +653 -0
- package/src/agi/features/claude-code.ts +1538 -0
- package/src/agi/features/coding-tools.ts +175 -0
- package/src/agi/features/conversation-history.ts +495 -0
- package/src/agi/features/conversation.ts +1323 -0
- package/src/agi/features/docs-reader.ts +167 -0
- package/src/agi/features/file-tools.ts +293 -0
- package/src/agi/features/luca-coder.ts +639 -0
- package/src/agi/features/openai-codex.ts +651 -0
- package/src/agi/features/openapi.ts +445 -0
- package/src/agi/features/skills-library.ts +478 -0
- package/src/agi/index.ts +6 -0
- package/src/agi/lib/interceptor-chain.ts +89 -0
- package/src/agi/lib/token-counter.ts +122 -0
- package/src/bootstrap/generated.ts +9792 -0
- package/src/browser.ts +25 -0
- package/src/bus.ts +122 -0
- package/src/cli/build-info.ts +4 -0
- package/src/cli/cli.ts +355 -0
- package/src/client.ts +170 -0
- package/src/clients/civitai/index.ts +537 -0
- package/src/clients/client-template.ts +41 -0
- package/src/clients/comfyui/index.ts +604 -0
- package/src/clients/elevenlabs/index.ts +317 -0
- package/src/clients/graph.ts +87 -0
- package/src/clients/openai/index.ts +456 -0
- package/src/clients/rest.ts +207 -0
- package/src/clients/supabase/index.ts +357 -0
- package/src/clients/voicebox/index.ts +300 -0
- package/src/clients/websocket.ts +251 -0
- package/src/command.ts +505 -0
- package/src/commands/bootstrap.ts +244 -0
- package/src/commands/chat.ts +308 -0
- package/src/commands/code.ts +371 -0
- package/src/commands/console.ts +189 -0
- package/src/commands/describe.ts +243 -0
- package/src/commands/eval.ts +121 -0
- package/src/commands/help.ts +240 -0
- package/src/commands/index.ts +19 -0
- package/src/commands/introspect.ts +218 -0
- package/src/commands/mcp.ts +64 -0
- package/src/commands/prompt.ts +982 -0
- package/src/commands/run.ts +278 -0
- package/src/commands/sandbox-mcp.ts +343 -0
- package/src/commands/save-api-docs.ts +51 -0
- package/src/commands/scaffold.ts +225 -0
- package/src/commands/select.ts +99 -0
- package/src/commands/serve.ts +208 -0
- package/src/container-describer.ts +1084 -0
- package/src/container.ts +1186 -0
- package/src/endpoint.ts +365 -0
- package/src/entity.ts +173 -0
- package/src/feature.ts +118 -0
- package/src/graft.ts +181 -0
- package/src/hash-object.ts +97 -0
- package/src/helper.ts +849 -0
- package/src/introspection/generated.agi.ts +40208 -0
- package/src/introspection/generated.node.ts +28686 -0
- package/src/introspection/generated.web.ts +2251 -0
- package/src/introspection/index.ts +296 -0
- package/src/introspection/scan.ts +1131 -0
- package/src/node/container.ts +409 -0
- package/src/node/feature.ts +13 -0
- package/src/node/features/container-link.ts +559 -0
- package/src/node/features/content-db.ts +812 -0
- package/src/node/features/disk-cache.ts +388 -0
- package/src/node/features/dns.ts +669 -0
- package/src/node/features/docker.ts +921 -0
- package/src/node/features/downloader.ts +79 -0
- package/src/node/features/figlet-fonts.ts +600 -0
- package/src/node/features/file-manager.ts +535 -0
- package/src/node/features/fs.ts +1050 -0
- package/src/node/features/git.ts +592 -0
- package/src/node/features/google-auth.ts +504 -0
- package/src/node/features/google-calendar.ts +306 -0
- package/src/node/features/google-docs.ts +412 -0
- package/src/node/features/google-drive.ts +346 -0
- package/src/node/features/google-mail.ts +540 -0
- package/src/node/features/google-sheets.ts +286 -0
- package/src/node/features/grep.ts +427 -0
- package/src/node/features/helpers.ts +735 -0
- package/src/node/features/ink.ts +490 -0
- package/src/node/features/ipc-socket.ts +649 -0
- package/src/node/features/json-tree.ts +170 -0
- package/src/node/features/networking.ts +961 -0
- package/src/node/features/nlp.ts +212 -0
- package/src/node/features/opener.ts +180 -0
- package/src/node/features/os.ts +403 -0
- package/src/node/features/package-finder.ts +540 -0
- package/src/node/features/postgres.ts +289 -0
- package/src/node/features/proc.ts +503 -0
- package/src/node/features/process-manager.ts +844 -0
- package/src/node/features/python.ts +906 -0
- package/src/node/features/redis.ts +446 -0
- package/src/node/features/repl.ts +212 -0
- package/src/node/features/runpod.ts +811 -0
- package/src/node/features/secure-shell.ts +267 -0
- package/src/node/features/semantic-search.ts +935 -0
- package/src/node/features/sqlite.ts +289 -0
- package/src/node/features/telegram.ts +343 -0
- package/src/node/features/transpiler.ts +161 -0
- package/src/node/features/tts.ts +185 -0
- package/src/node/features/ui.ts +786 -0
- package/src/node/features/vault.ts +153 -0
- package/src/node/features/vm.ts +462 -0
- package/src/node/features/yaml-tree.ts +148 -0
- package/src/node/features/yaml.ts +133 -0
- package/src/node.ts +76 -0
- package/src/python/bridge.py +220 -0
- package/src/python/generated.ts +227 -0
- package/src/react/index.ts +175 -0
- package/src/registry.ts +210 -0
- package/src/scaffolds/generated.ts +1815 -0
- package/src/scaffolds/template.ts +46 -0
- package/src/schemas/base.ts +296 -0
- package/src/selector.ts +352 -0
- package/src/server.ts +229 -0
- package/src/servers/express.ts +283 -0
- package/src/servers/mcp.ts +802 -0
- package/src/servers/socket.ts +258 -0
- package/src/state.ts +101 -0
- package/src/web/clients/socket.ts +99 -0
- package/src/web/container.ts +75 -0
- package/src/web/extension.ts +30 -0
- package/src/web/feature.ts +12 -0
- package/src/web/features/asset-loader.ts +72 -0
- package/src/web/features/container-link.ts +382 -0
- package/src/web/features/esbuild.ts +93 -0
- package/src/web/features/helpers.ts +269 -0
- package/src/web/features/network.ts +85 -0
- package/src/web/features/speech.ts +104 -0
- package/src/web/features/vault.ts +207 -0
- package/src/web/features/vm.ts +85 -0
- package/src/web/features/voice-recognition.ts +161 -0
- package/src/web/shims/isomorphic-vm.ts +149 -0
- package/test/assistant-hooks.test.ts +306 -0
- package/test/assistant.test.ts +81 -0
- package/test/bus.test.ts +134 -0
- package/test/clients-servers.test.ts +217 -0
- package/test/command.test.ts +267 -0
- package/test/container-link.test.ts +274 -0
- package/test/conversation.test.ts +220 -0
- package/test/features.test.ts +160 -0
- package/test/fork-and-research.test.ts +450 -0
- package/test/integration.test.ts +787 -0
- package/test/interceptor-chain.test.ts +61 -0
- package/test/node-container.test.ts +121 -0
- package/test/python-session.test.ts +105 -0
- package/test/rate-limit.test.ts +272 -0
- package/test/semantic-search.test.ts +550 -0
- package/test/state.test.ts +121 -0
- package/test/vm-context.test.ts +146 -0
- package/test/vm-loadmodule.test.ts +213 -0
- package/test/websocket-ask.test.ts +101 -0
- package/test-integration/assistant.test.ts +138 -0
- package/test-integration/assistants-manager.test.ts +113 -0
- package/test-integration/claude-code.test.ts +98 -0
- package/test-integration/conversation-history.test.ts +205 -0
- package/test-integration/conversation.test.ts +137 -0
- package/test-integration/elevenlabs.test.ts +55 -0
- package/test-integration/google-services.test.ts +80 -0
- package/test-integration/helpers.ts +89 -0
- package/test-integration/memory.test.ts +204 -0
- package/test-integration/openai-codex.test.ts +93 -0
- package/test-integration/runpod.test.ts +58 -0
- package/test-integration/server-endpoints.test.ts +97 -0
- package/test-integration/telegram.test.ts +46 -0
- package/tsconfig.build.json +12 -0
- package/tsconfig.json +58 -0
- package/uv.lock +8 -0
- package/LICENSE +0 -21
- package/dist/cli/cli.js +0 -48
- package/dist/cli/common.d.ts +0 -2
- package/dist/cli/common.js +0 -6
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js +0 -5
- package/dist/cli/run.d.ts +0 -1
- package/dist/cli/run.js +0 -38
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.js +0 -32
- package/dist/core/read.d.ts +0 -2
- package/dist/core/read.js +0 -29
- package/dist/core/request.d.ts +0 -1
- package/dist/core/request.js +0 -2
- package/dist/core/write.d.ts +0 -2
- package/dist/core/write.js +0 -21
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -5
- package/dist/utils/common.d.ts +0 -9
- package/dist/utils/common.js +0 -57
- package/dist/utils/consts.d.ts +0 -3
- package/dist/utils/consts.js +0 -11
- package/dist/utils/dict.d.ts +0 -1
- package/dist/utils/dict.js +0 -7
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.js +0 -21
- package/dist/utils/log.d.ts +0 -1
- package/dist/utils/log.js +0 -5
- package/dist/utils/types.d.ts +0 -1
- package/dist/utils/types.js +0 -2
- package/dist/utils/utils.test.d.ts +0 -1
- package/dist/utils/utils.test.js +0 -7
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# GoogleMail (features.googleMail)
|
|
2
|
+
|
|
3
|
+
Google Mail feature for searching, reading, and watching Gmail messages. Depends on the googleAuth feature for authentication. Creates a Gmail v1 API client lazily. Supports Gmail search query syntax, individual message reading, and polling-based new mail detection with event emission.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
container.feature('googleMail', {
|
|
9
|
+
// An authorized instance of the googleAuth feature
|
|
10
|
+
auth,
|
|
11
|
+
// Gmail user ID (default: "me")
|
|
12
|
+
userId,
|
|
13
|
+
// Polling interval in ms for watching new mail (default: 30000)
|
|
14
|
+
pollInterval,
|
|
15
|
+
// Default message format when fetching (default: "full")
|
|
16
|
+
format,
|
|
17
|
+
})
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Options (Zod v4 schema)
|
|
21
|
+
|
|
22
|
+
| Property | Type | Description |
|
|
23
|
+
|----------|------|-------------|
|
|
24
|
+
| `auth` | `any` | An authorized instance of the googleAuth feature |
|
|
25
|
+
| `userId` | `string` | Gmail user ID (default: "me") |
|
|
26
|
+
| `pollInterval` | `number` | Polling interval in ms for watching new mail (default: 30000) |
|
|
27
|
+
| `format` | `string` | Default message format when fetching (default: "full") |
|
|
28
|
+
|
|
29
|
+
## Methods
|
|
30
|
+
|
|
31
|
+
### search
|
|
32
|
+
|
|
33
|
+
Search for messages using Gmail query syntax and/or structured filters.
|
|
34
|
+
|
|
35
|
+
**Parameters:**
|
|
36
|
+
|
|
37
|
+
| Name | Type | Required | Description |
|
|
38
|
+
|------|------|----------|-------------|
|
|
39
|
+
| `options` | `SearchMailOptions` | | Search filters including query, from, to, subject, date ranges |
|
|
40
|
+
|
|
41
|
+
`SearchMailOptions` properties:
|
|
42
|
+
|
|
43
|
+
| Property | Type | Description |
|
|
44
|
+
|----------|------|-------------|
|
|
45
|
+
| `query` | `string` | |
|
|
46
|
+
| `from` | `string` | |
|
|
47
|
+
| `to` | `string` | |
|
|
48
|
+
| `subject` | `string` | |
|
|
49
|
+
| `after` | `string` | |
|
|
50
|
+
| `before` | `string` | |
|
|
51
|
+
| `hasAttachment` | `boolean` | |
|
|
52
|
+
| `label` | `string` | |
|
|
53
|
+
| `isUnread` | `boolean` | |
|
|
54
|
+
| `maxResults` | `number` | |
|
|
55
|
+
| `pageToken` | `string` | |
|
|
56
|
+
|
|
57
|
+
**Returns:** `Promise<MailMessageList>`
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### getMessage
|
|
62
|
+
|
|
63
|
+
Get a single message by ID.
|
|
64
|
+
|
|
65
|
+
**Parameters:**
|
|
66
|
+
|
|
67
|
+
| Name | Type | Required | Description |
|
|
68
|
+
|------|------|----------|-------------|
|
|
69
|
+
| `messageId` | `string` | ✓ | The message ID |
|
|
70
|
+
| `format` | `'full' | 'metadata' | 'minimal' | 'raw'` | | Message format (defaults to options.format or 'full') |
|
|
71
|
+
|
|
72
|
+
**Returns:** `Promise<MailMessage>`
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
### getThread
|
|
77
|
+
|
|
78
|
+
Get a full thread with all its messages.
|
|
79
|
+
|
|
80
|
+
**Parameters:**
|
|
81
|
+
|
|
82
|
+
| Name | Type | Required | Description |
|
|
83
|
+
|------|------|----------|-------------|
|
|
84
|
+
| `threadId` | `string` | ✓ | The thread ID |
|
|
85
|
+
|
|
86
|
+
**Returns:** `Promise<MailThread>`
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### listLabels
|
|
91
|
+
|
|
92
|
+
List all labels for the authenticated user.
|
|
93
|
+
|
|
94
|
+
**Returns:** `Promise<MailLabel[]>`
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### startWatching
|
|
99
|
+
|
|
100
|
+
Start watching for new mail by polling at a regular interval. Emits 'newMail' events with an array of new messages when they arrive. Uses Gmail history API to efficiently detect only new messages since the last check.
|
|
101
|
+
|
|
102
|
+
**Returns:** `Promise<void>`
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### stopWatching
|
|
107
|
+
|
|
108
|
+
Stop watching for new mail.
|
|
109
|
+
|
|
110
|
+
**Returns:** `void`
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## Getters
|
|
115
|
+
|
|
116
|
+
| Property | Type | Description |
|
|
117
|
+
|----------|------|-------------|
|
|
118
|
+
| `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
|
|
119
|
+
| `userId` | `string` | Default user ID from options or 'me'. |
|
|
120
|
+
| `defaultFormat` | `'full' | 'metadata' | 'minimal' | 'raw'` | Default message format from options or 'full'. |
|
|
121
|
+
| `pollInterval` | `number` | Polling interval from options or 30 seconds. |
|
|
122
|
+
|
|
123
|
+
## Events (Zod v4 schema)
|
|
124
|
+
|
|
125
|
+
### messagesFetched
|
|
126
|
+
|
|
127
|
+
Messages were fetched from Gmail
|
|
128
|
+
|
|
129
|
+
**Event Arguments:**
|
|
130
|
+
|
|
131
|
+
| Name | Type | Description |
|
|
132
|
+
|------|------|-------------|
|
|
133
|
+
| `arg0` | `number` | Number of messages returned |
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### error
|
|
138
|
+
|
|
139
|
+
Gmail API error occurred
|
|
140
|
+
|
|
141
|
+
**Event Arguments:**
|
|
142
|
+
|
|
143
|
+
| Name | Type | Description |
|
|
144
|
+
|------|------|-------------|
|
|
145
|
+
| `arg0` | `any` | The error |
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
### watchStarted
|
|
150
|
+
|
|
151
|
+
Mail watching has started
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
### watchStopped
|
|
156
|
+
|
|
157
|
+
Mail watching has stopped
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
### newMail
|
|
162
|
+
|
|
163
|
+
New mail arrived (emitted by watch)
|
|
164
|
+
|
|
165
|
+
**Event Arguments:**
|
|
166
|
+
|
|
167
|
+
| Name | Type | Description |
|
|
168
|
+
|------|------|-------------|
|
|
169
|
+
| `arg0` | `array` | Array of new MailMessage objects |
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
## State (Zod v4 schema)
|
|
174
|
+
|
|
175
|
+
| Property | Type | Description |
|
|
176
|
+
|----------|------|-------------|
|
|
177
|
+
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
178
|
+
| `lastQuery` | `string` | Last search query used |
|
|
179
|
+
| `lastResultCount` | `number` | Number of messages returned in last search |
|
|
180
|
+
| `lastError` | `string` | Last Gmail API error message |
|
|
181
|
+
| `watchExpiration` | `string` | ISO timestamp when the current watch expires |
|
|
182
|
+
|
|
183
|
+
## Examples
|
|
184
|
+
|
|
185
|
+
**features.googleMail**
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
const mail = container.feature('googleMail')
|
|
189
|
+
|
|
190
|
+
// Search by sender
|
|
191
|
+
const fromBoss = await mail.search({ from: 'boss@company.com' })
|
|
192
|
+
|
|
193
|
+
// Use Gmail query string
|
|
194
|
+
const unread = await mail.search({ query: 'is:unread category:primary' })
|
|
195
|
+
|
|
196
|
+
// Read a specific message
|
|
197
|
+
const msg = await mail.getMessage('message-id-here')
|
|
198
|
+
|
|
199
|
+
// Get a full thread
|
|
200
|
+
const thread = await mail.getThread('thread-id-here')
|
|
201
|
+
|
|
202
|
+
// List labels
|
|
203
|
+
const labels = await mail.listLabels()
|
|
204
|
+
|
|
205
|
+
// Watch for new mail (polls and emits 'newMail' events)
|
|
206
|
+
mail.on('newMail', (messages) => {
|
|
207
|
+
console.log(`Got ${messages.length} new messages!`)
|
|
208
|
+
})
|
|
209
|
+
await mail.startWatching()
|
|
210
|
+
|
|
211
|
+
// Stop watching
|
|
212
|
+
mail.stopWatching()
|
|
213
|
+
```
|
|
214
|
+
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# GoogleSheets (features.googleSheets)
|
|
2
|
+
|
|
3
|
+
Google Sheets feature for reading spreadsheet data as JSON, CSV, or raw arrays. Depends on the googleAuth feature for authentication. Creates a Sheets v4 API client lazily and provides convenient methods for reading tabular data.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
container.feature('googleSheets', {
|
|
9
|
+
// An authorized instance of the googleAuth feature
|
|
10
|
+
auth,
|
|
11
|
+
// Default spreadsheet ID for operations
|
|
12
|
+
defaultSpreadsheetId,
|
|
13
|
+
})
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Options (Zod v4 schema)
|
|
17
|
+
|
|
18
|
+
| Property | Type | Description |
|
|
19
|
+
|----------|------|-------------|
|
|
20
|
+
| `auth` | `any` | An authorized instance of the googleAuth feature |
|
|
21
|
+
| `defaultSpreadsheetId` | `string` | Default spreadsheet ID for operations |
|
|
22
|
+
|
|
23
|
+
## Methods
|
|
24
|
+
|
|
25
|
+
### getSpreadsheet
|
|
26
|
+
|
|
27
|
+
Get spreadsheet metadata including title, locale, and sheet list.
|
|
28
|
+
|
|
29
|
+
**Parameters:**
|
|
30
|
+
|
|
31
|
+
| Name | Type | Required | Description |
|
|
32
|
+
|------|------|----------|-------------|
|
|
33
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID (defaults to options.defaultSpreadsheetId) |
|
|
34
|
+
|
|
35
|
+
**Returns:** `Promise<SpreadsheetMeta>`
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### listSheets
|
|
40
|
+
|
|
41
|
+
List all sheets (tabs) in a spreadsheet.
|
|
42
|
+
|
|
43
|
+
**Parameters:**
|
|
44
|
+
|
|
45
|
+
| Name | Type | Required | Description |
|
|
46
|
+
|------|------|----------|-------------|
|
|
47
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
48
|
+
|
|
49
|
+
**Returns:** `Promise<SheetInfo[]>`
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### getRange
|
|
54
|
+
|
|
55
|
+
Read a range of values from a sheet.
|
|
56
|
+
|
|
57
|
+
**Parameters:**
|
|
58
|
+
|
|
59
|
+
| Name | Type | Required | Description |
|
|
60
|
+
|------|------|----------|-------------|
|
|
61
|
+
| `range` | `string` | ✓ | A1 notation range (e.g. "Sheet1!A1:D10" or "Sheet1" for entire sheet) |
|
|
62
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
63
|
+
|
|
64
|
+
**Returns:** `Promise<string[][]>`
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### getAsJson
|
|
69
|
+
|
|
70
|
+
Read a sheet as an array of JSON objects. The first row is treated as headers; subsequent rows become objects keyed by those headers.
|
|
71
|
+
|
|
72
|
+
**Parameters:**
|
|
73
|
+
|
|
74
|
+
| Name | Type | Required | Description |
|
|
75
|
+
|------|------|----------|-------------|
|
|
76
|
+
| `sheetName` | `string` | | Name of the sheet tab (if omitted, reads the first sheet) |
|
|
77
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
78
|
+
|
|
79
|
+
**Returns:** `Promise<T[]>`
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### getAsCsv
|
|
84
|
+
|
|
85
|
+
Read a sheet and return it as a CSV string.
|
|
86
|
+
|
|
87
|
+
**Parameters:**
|
|
88
|
+
|
|
89
|
+
| Name | Type | Required | Description |
|
|
90
|
+
|------|------|----------|-------------|
|
|
91
|
+
| `sheetName` | `string` | | Name of the sheet tab (if omitted, reads the first sheet) |
|
|
92
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
93
|
+
|
|
94
|
+
**Returns:** `Promise<string>`
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### saveAsJson
|
|
99
|
+
|
|
100
|
+
Download sheet data as JSON and save to a local file.
|
|
101
|
+
|
|
102
|
+
**Parameters:**
|
|
103
|
+
|
|
104
|
+
| Name | Type | Required | Description |
|
|
105
|
+
|------|------|----------|-------------|
|
|
106
|
+
| `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
|
|
107
|
+
| `sheetName` | `string` | | Sheet tab name (defaults to first sheet) |
|
|
108
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
109
|
+
|
|
110
|
+
**Returns:** `Promise<string>`
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
### saveAsCsv
|
|
115
|
+
|
|
116
|
+
Download sheet data as CSV and save to a local file.
|
|
117
|
+
|
|
118
|
+
**Parameters:**
|
|
119
|
+
|
|
120
|
+
| Name | Type | Required | Description |
|
|
121
|
+
|------|------|----------|-------------|
|
|
122
|
+
| `localPath` | `string` | ✓ | Local file path (resolved relative to container cwd) |
|
|
123
|
+
| `sheetName` | `string` | | Sheet tab name (defaults to first sheet) |
|
|
124
|
+
| `spreadsheetId` | `string` | | The spreadsheet ID |
|
|
125
|
+
|
|
126
|
+
**Returns:** `Promise<string>`
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## Getters
|
|
131
|
+
|
|
132
|
+
| Property | Type | Description |
|
|
133
|
+
|----------|------|-------------|
|
|
134
|
+
| `auth` | `GoogleAuth` | Access the google-auth feature lazily. |
|
|
135
|
+
|
|
136
|
+
## Events (Zod v4 schema)
|
|
137
|
+
|
|
138
|
+
### error
|
|
139
|
+
|
|
140
|
+
Sheets API error occurred
|
|
141
|
+
|
|
142
|
+
**Event Arguments:**
|
|
143
|
+
|
|
144
|
+
| Name | Type | Description |
|
|
145
|
+
|------|------|-------------|
|
|
146
|
+
| `arg0` | `any` | The error |
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
### dataFetched
|
|
151
|
+
|
|
152
|
+
Sheet data was fetched
|
|
153
|
+
|
|
154
|
+
**Event Arguments:**
|
|
155
|
+
|
|
156
|
+
| Name | Type | Description |
|
|
157
|
+
|------|------|-------------|
|
|
158
|
+
| `arg0` | `number` | Number of rows |
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
## State (Zod v4 schema)
|
|
163
|
+
|
|
164
|
+
| Property | Type | Description |
|
|
165
|
+
|----------|------|-------------|
|
|
166
|
+
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
167
|
+
| `lastSpreadsheetId` | `string` | Last spreadsheet ID accessed |
|
|
168
|
+
| `lastSheetName` | `string` | Last sheet/tab name accessed |
|
|
169
|
+
| `lastRowCount` | `number` | Number of rows returned in last read |
|
|
170
|
+
| `lastError` | `string` | Last Sheets API error message |
|
|
171
|
+
|
|
172
|
+
## Examples
|
|
173
|
+
|
|
174
|
+
**features.googleSheets**
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
const sheets = container.feature('googleSheets', {
|
|
178
|
+
defaultSpreadsheetId: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms'
|
|
179
|
+
})
|
|
180
|
+
|
|
181
|
+
// Read as JSON objects (first row = headers)
|
|
182
|
+
const data = await sheets.getAsJson('Sheet1')
|
|
183
|
+
// => [{ name: 'Alice', age: '30' }, { name: 'Bob', age: '25' }]
|
|
184
|
+
|
|
185
|
+
// Read as CSV string
|
|
186
|
+
const csv = await sheets.getAsCsv('Revenue')
|
|
187
|
+
|
|
188
|
+
// Read a specific range
|
|
189
|
+
const values = await sheets.getRange('Sheet1!A1:D10')
|
|
190
|
+
|
|
191
|
+
// Save to file
|
|
192
|
+
await sheets.saveAsJson('./data/export.json')
|
|
193
|
+
```
|
|
194
|
+
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# Grep (features.grep)
|
|
2
|
+
|
|
3
|
+
The Grep feature provides utilities for searching file contents using ripgrep (rg) or grep. Returns structured results as arrays of `{ file, line, column, content }` objects with paths relative to the container cwd. Also provides convenience methods for common search patterns.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
container.feature('grep')
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Methods
|
|
12
|
+
|
|
13
|
+
### search
|
|
14
|
+
|
|
15
|
+
Search for a pattern in files and return structured results.
|
|
16
|
+
|
|
17
|
+
**Parameters:**
|
|
18
|
+
|
|
19
|
+
| Name | Type | Required | Description |
|
|
20
|
+
|------|------|----------|-------------|
|
|
21
|
+
| `options` | `GrepOptions` | ✓ | Search options |
|
|
22
|
+
|
|
23
|
+
`GrepOptions` properties:
|
|
24
|
+
|
|
25
|
+
| Property | Type | Description |
|
|
26
|
+
|----------|------|-------------|
|
|
27
|
+
| `pattern` | `string` | Pattern to search for (string or regex) |
|
|
28
|
+
| `path` | `string` | Directory or file to search in (defaults to container cwd) |
|
|
29
|
+
| `include` | `string | string[]` | Glob patterns to include (e.g. '*.ts') |
|
|
30
|
+
| `exclude` | `string | string[]` | Glob patterns to exclude (e.g. 'node_modules') |
|
|
31
|
+
| `ignoreCase` | `boolean` | Case insensitive search |
|
|
32
|
+
| `fixedStrings` | `boolean` | Treat pattern as a fixed string, not regex |
|
|
33
|
+
| `recursive` | `boolean` | Search recursively (default: true) |
|
|
34
|
+
| `hidden` | `boolean` | Include hidden files |
|
|
35
|
+
| `maxResults` | `number` | Max number of results to return |
|
|
36
|
+
| `before` | `number` | Number of context lines before match |
|
|
37
|
+
| `after` | `number` | Number of context lines after match |
|
|
38
|
+
| `filesOnly` | `boolean` | Only return filenames, not match details |
|
|
39
|
+
| `invert` | `boolean` | Invert match (return lines that don't match) |
|
|
40
|
+
| `wordMatch` | `boolean` | Match whole words only |
|
|
41
|
+
| `rawFlags` | `string[]` | Additional raw flags to pass to grep/ripgrep |
|
|
42
|
+
|
|
43
|
+
**Returns:** `Promise<GrepMatch[]>`
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
// Search for a pattern in TypeScript files
|
|
47
|
+
const results = await grep.search({
|
|
48
|
+
pattern: 'useState',
|
|
49
|
+
include: '*.tsx',
|
|
50
|
+
exclude: 'node_modules'
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
// Case insensitive search with context
|
|
54
|
+
const results = await grep.search({
|
|
55
|
+
pattern: 'error',
|
|
56
|
+
ignoreCase: true,
|
|
57
|
+
before: 2,
|
|
58
|
+
after: 2
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### filesContaining
|
|
65
|
+
|
|
66
|
+
Find files containing a pattern. Returns just the relative file paths.
|
|
67
|
+
|
|
68
|
+
**Parameters:**
|
|
69
|
+
|
|
70
|
+
| Name | Type | Required | Description |
|
|
71
|
+
|------|------|----------|-------------|
|
|
72
|
+
| `pattern` | `string` | ✓ | The pattern to search for |
|
|
73
|
+
| `options` | `Omit<GrepOptions, 'pattern' | 'filesOnly'>` | | Additional search options |
|
|
74
|
+
|
|
75
|
+
**Returns:** `Promise<string[]>`
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
const files = await grep.filesContaining('TODO')
|
|
79
|
+
// ['src/index.ts', 'src/utils.ts']
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### imports
|
|
85
|
+
|
|
86
|
+
Find import/require statements for a module or path.
|
|
87
|
+
|
|
88
|
+
**Parameters:**
|
|
89
|
+
|
|
90
|
+
| Name | Type | Required | Description |
|
|
91
|
+
|------|------|----------|-------------|
|
|
92
|
+
| `moduleOrPath` | `string` | ✓ | The module name or path to search for in imports |
|
|
93
|
+
| `options` | `Omit<GrepOptions, 'pattern'>` | | Additional search options |
|
|
94
|
+
|
|
95
|
+
**Returns:** `Promise<GrepMatch[]>`
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
const lodashImports = await grep.imports('lodash')
|
|
99
|
+
const localImports = await grep.imports('./utils')
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
### definitions
|
|
105
|
+
|
|
106
|
+
Find function, class, type, or variable definitions matching a name.
|
|
107
|
+
|
|
108
|
+
**Parameters:**
|
|
109
|
+
|
|
110
|
+
| Name | Type | Required | Description |
|
|
111
|
+
|------|------|----------|-------------|
|
|
112
|
+
| `name` | `string` | ✓ | The identifier name to search for definitions of |
|
|
113
|
+
| `options` | `Omit<GrepOptions, 'pattern'>` | | Additional search options |
|
|
114
|
+
|
|
115
|
+
**Returns:** `Promise<GrepMatch[]>`
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
const defs = await grep.definitions('MyComponent')
|
|
119
|
+
const classDefs = await grep.definitions('UserService')
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### todos
|
|
125
|
+
|
|
126
|
+
Find TODO, FIXME, HACK, and XXX comments.
|
|
127
|
+
|
|
128
|
+
**Parameters:**
|
|
129
|
+
|
|
130
|
+
| Name | Type | Required | Description |
|
|
131
|
+
|------|------|----------|-------------|
|
|
132
|
+
| `options` | `Omit<GrepOptions, 'pattern'>` | | Additional search options |
|
|
133
|
+
|
|
134
|
+
**Returns:** `Promise<GrepMatch[]>`
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
const todos = await grep.todos()
|
|
138
|
+
const fixmes = await grep.todos({ include: '*.ts' })
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
### count
|
|
144
|
+
|
|
145
|
+
Count the number of matches for a pattern.
|
|
146
|
+
|
|
147
|
+
**Parameters:**
|
|
148
|
+
|
|
149
|
+
| Name | Type | Required | Description |
|
|
150
|
+
|------|------|----------|-------------|
|
|
151
|
+
| `pattern` | `string` | ✓ | The pattern to count |
|
|
152
|
+
| `options` | `Omit<GrepOptions, 'pattern'>` | | Additional search options |
|
|
153
|
+
|
|
154
|
+
**Returns:** `Promise<number>`
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
const count = await grep.count('console.log')
|
|
158
|
+
console.log(`Found ${count} console.log statements`)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
### findForReplace
|
|
164
|
+
|
|
165
|
+
Search and replace across files. Returns the list of files that would be affected. Does NOT modify files — use the returned file list to do the replacement yourself.
|
|
166
|
+
|
|
167
|
+
**Parameters:**
|
|
168
|
+
|
|
169
|
+
| Name | Type | Required | Description |
|
|
170
|
+
|------|------|----------|-------------|
|
|
171
|
+
| `pattern` | `string` | ✓ | The pattern to search for |
|
|
172
|
+
| `options` | `Omit<GrepOptions, 'pattern'>` | | Additional search options |
|
|
173
|
+
|
|
174
|
+
**Returns:** `Promise<{ file: string, matches: GrepMatch[] }[]>`
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
const affected = await grep.findForReplace('oldFunctionName')
|
|
178
|
+
// [{ file: 'src/a.ts', matches: [...] }, { file: 'src/b.ts', matches: [...] }]
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
## Getters
|
|
184
|
+
|
|
185
|
+
| Property | Type | Description |
|
|
186
|
+
|----------|------|-------------|
|
|
187
|
+
| `hasRipgrep` | `boolean` | Whether ripgrep (rg) is available on this system |
|
|
188
|
+
| `rgPath` | `string` | Resolved path to the rg binary |
|
|
189
|
+
| `grepPath` | `string` | Resolved path to the grep binary |
|
|
190
|
+
|
|
191
|
+
## State (Zod v4 schema)
|
|
192
|
+
|
|
193
|
+
| Property | Type | Description |
|
|
194
|
+
|----------|------|-------------|
|
|
195
|
+
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
196
|
+
|
|
197
|
+
## Examples
|
|
198
|
+
|
|
199
|
+
**features.grep**
|
|
200
|
+
|
|
201
|
+
```ts
|
|
202
|
+
const grep = container.feature('grep')
|
|
203
|
+
|
|
204
|
+
// Basic search
|
|
205
|
+
const results = await grep.search({ pattern: 'TODO' })
|
|
206
|
+
// [{ file: 'src/index.ts', line: 42, column: 5, content: '// TODO: fix this' }, ...]
|
|
207
|
+
|
|
208
|
+
// Find all imports of a module
|
|
209
|
+
const imports = await grep.imports('lodash')
|
|
210
|
+
|
|
211
|
+
// Find function/class/variable definitions
|
|
212
|
+
const defs = await grep.definitions('MyClass')
|
|
213
|
+
|
|
214
|
+
// Just get filenames containing a pattern
|
|
215
|
+
const files = await grep.filesContaining('API_KEY')
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
**search**
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
// Search for a pattern in TypeScript files
|
|
224
|
+
const results = await grep.search({
|
|
225
|
+
pattern: 'useState',
|
|
226
|
+
include: '*.tsx',
|
|
227
|
+
exclude: 'node_modules'
|
|
228
|
+
})
|
|
229
|
+
|
|
230
|
+
// Case insensitive search with context
|
|
231
|
+
const results = await grep.search({
|
|
232
|
+
pattern: 'error',
|
|
233
|
+
ignoreCase: true,
|
|
234
|
+
before: 2,
|
|
235
|
+
after: 2
|
|
236
|
+
})
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
**filesContaining**
|
|
242
|
+
|
|
243
|
+
```ts
|
|
244
|
+
const files = await grep.filesContaining('TODO')
|
|
245
|
+
// ['src/index.ts', 'src/utils.ts']
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
**imports**
|
|
251
|
+
|
|
252
|
+
```ts
|
|
253
|
+
const lodashImports = await grep.imports('lodash')
|
|
254
|
+
const localImports = await grep.imports('./utils')
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
**definitions**
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
const defs = await grep.definitions('MyComponent')
|
|
263
|
+
const classDefs = await grep.definitions('UserService')
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
**todos**
|
|
269
|
+
|
|
270
|
+
```ts
|
|
271
|
+
const todos = await grep.todos()
|
|
272
|
+
const fixmes = await grep.todos({ include: '*.ts' })
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
**count**
|
|
278
|
+
|
|
279
|
+
```ts
|
|
280
|
+
const count = await grep.count('console.log')
|
|
281
|
+
console.log(`Found ${count} console.log statements`)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
**findForReplace**
|
|
287
|
+
|
|
288
|
+
```ts
|
|
289
|
+
const affected = await grep.findForReplace('oldFunctionName')
|
|
290
|
+
// [{ file: 'src/a.ts', matches: [...] }, { file: 'src/b.ts', matches: [...] }]
|
|
291
|
+
```
|
|
292
|
+
|