luca 3.0.0 → 3.0.2
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 +220 -322
- 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/try-all-challenges.ts +3 -3
- package/commands/try-challenge.ts +3 -3
- 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/index.html +217 -190
- package/luca.console.ts +1 -1
- package/package.json +2 -2
- package/public/index.html +217 -190
- package/public/slides-ai-native.html +1 -1
- package/public/slides-intro.html +2 -2
- 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 +28563 -27571
- package/src/introspection/generated.node.ts +20281 -20194
- package/src/introspection/generated.web.ts +605 -584
- package/src/introspection/scan.ts +11 -6
- package/src/node/container.ts +1 -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 +42 -15
- 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/transpiler.ts +2 -3
- package/src/node/features/ui.ts +5 -0
- package/src/node/features/vm.ts +3 -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/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,548 +0,0 @@
|
|
|
1
|
-
# Conversation (features.conversation)
|
|
2
|
-
|
|
3
|
-
A self-contained conversation with OpenAI that supports streaming, tool calling, and message state management.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('conversation', {
|
|
9
|
-
// A unique identifier for the conversation
|
|
10
|
-
id,
|
|
11
|
-
// A human-readable title for the conversation
|
|
12
|
-
title,
|
|
13
|
-
// A unique identifier for threads, an arbitrary grouping mechanism
|
|
14
|
-
thread,
|
|
15
|
-
// Any available OpenAI model
|
|
16
|
-
model,
|
|
17
|
-
// Initial message history to seed the conversation
|
|
18
|
-
history,
|
|
19
|
-
// Tools the model can call during conversation
|
|
20
|
-
tools,
|
|
21
|
-
// Remote MCP servers keyed by server label
|
|
22
|
-
mcpServers,
|
|
23
|
-
// Completion API mode. auto uses Responses unless local=true
|
|
24
|
-
api,
|
|
25
|
-
// Tags for categorizing and searching this conversation
|
|
26
|
-
tags,
|
|
27
|
-
// Arbitrary metadata to attach to this conversation
|
|
28
|
-
metadata,
|
|
29
|
-
// Options for the OpenAI client
|
|
30
|
-
clientOptions,
|
|
31
|
-
// Whether to use the local ollama models instead of the remote OpenAI models
|
|
32
|
-
local,
|
|
33
|
-
// Maximum number of output tokens per completion (default 512)
|
|
34
|
-
maxTokens,
|
|
35
|
-
// Sampling temperature (0-2). Higher = more random, lower = more deterministic
|
|
36
|
-
temperature,
|
|
37
|
-
// Nucleus sampling cutoff (0-1). Lower = more focused
|
|
38
|
-
topP,
|
|
39
|
-
// Top-K sampling. Only supported by local/Anthropic models
|
|
40
|
-
topK,
|
|
41
|
-
// Frequency penalty (-2 to 2). Positive = discourage repetition
|
|
42
|
-
frequencyPenalty,
|
|
43
|
-
// Presence penalty (-2 to 2). Positive = encourage new topics
|
|
44
|
-
presencePenalty,
|
|
45
|
-
// Stop sequences — generation halts when any of these strings is produced
|
|
46
|
-
stop,
|
|
47
|
-
// Enable automatic compaction when input tokens approach the context limit
|
|
48
|
-
autoCompact,
|
|
49
|
-
// Fraction of context window at which auto-compact triggers (default 0.8)
|
|
50
|
-
compactThreshold,
|
|
51
|
-
// Override the inferred context window size for this model
|
|
52
|
-
contextWindow,
|
|
53
|
-
// Number of recent messages to preserve after compaction (default 4)
|
|
54
|
-
compactKeepRecent,
|
|
55
|
-
})
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Options (Zod v4 schema)
|
|
59
|
-
|
|
60
|
-
| Property | Type | Description |
|
|
61
|
-
|----------|------|-------------|
|
|
62
|
-
| `id` | `string` | A unique identifier for the conversation |
|
|
63
|
-
| `title` | `string` | A human-readable title for the conversation |
|
|
64
|
-
| `thread` | `string` | A unique identifier for threads, an arbitrary grouping mechanism |
|
|
65
|
-
| `model` | `string` | Any available OpenAI model |
|
|
66
|
-
| `history` | `array` | Initial message history to seed the conversation |
|
|
67
|
-
| `tools` | `object` | Tools the model can call during conversation |
|
|
68
|
-
| `mcpServers` | `object` | Remote MCP servers keyed by server label |
|
|
69
|
-
| `api` | `string` | Completion API mode. auto uses Responses unless local=true |
|
|
70
|
-
| `tags` | `array` | Tags for categorizing and searching this conversation |
|
|
71
|
-
| `metadata` | `object` | Arbitrary metadata to attach to this conversation |
|
|
72
|
-
| `clientOptions` | `object` | Options for the OpenAI client |
|
|
73
|
-
| `local` | `boolean` | Whether to use the local ollama models instead of the remote OpenAI models |
|
|
74
|
-
| `maxTokens` | `number` | Maximum number of output tokens per completion (default 512) |
|
|
75
|
-
| `temperature` | `number` | Sampling temperature (0-2). Higher = more random, lower = more deterministic |
|
|
76
|
-
| `topP` | `number` | Nucleus sampling cutoff (0-1). Lower = more focused |
|
|
77
|
-
| `topK` | `number` | Top-K sampling. Only supported by local/Anthropic models |
|
|
78
|
-
| `frequencyPenalty` | `number` | Frequency penalty (-2 to 2). Positive = discourage repetition |
|
|
79
|
-
| `presencePenalty` | `number` | Presence penalty (-2 to 2). Positive = encourage new topics |
|
|
80
|
-
| `stop` | `array` | Stop sequences — generation halts when any of these strings is produced |
|
|
81
|
-
| `autoCompact` | `boolean` | Enable automatic compaction when input tokens approach the context limit |
|
|
82
|
-
| `compactThreshold` | `number` | Fraction of context window at which auto-compact triggers (default 0.8) |
|
|
83
|
-
| `contextWindow` | `number` | Override the inferred context window size for this model |
|
|
84
|
-
| `compactKeepRecent` | `number` | Number of recent messages to preserve after compaction (default 4) |
|
|
85
|
-
|
|
86
|
-
## Methods
|
|
87
|
-
|
|
88
|
-
### addTool
|
|
89
|
-
|
|
90
|
-
Add or replace a single tool by name. Uses the same format as tools passed at construction time.
|
|
91
|
-
|
|
92
|
-
**Parameters:**
|
|
93
|
-
|
|
94
|
-
| Name | Type | Required | Description |
|
|
95
|
-
|------|------|----------|-------------|
|
|
96
|
-
| `name` | `string` | ✓ | Parameter name |
|
|
97
|
-
| `tool` | `ConversationTool` | ✓ | Parameter tool |
|
|
98
|
-
|
|
99
|
-
`ConversationTool` properties:
|
|
100
|
-
|
|
101
|
-
| Property | Type | Description |
|
|
102
|
-
|----------|------|-------------|
|
|
103
|
-
| `handler` | `(...args: any[]) => Promise<any>` | |
|
|
104
|
-
| `description` | `string` | |
|
|
105
|
-
| `parameters` | `Record<string, any>` | |
|
|
106
|
-
|
|
107
|
-
**Returns:** `this`
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
### removeTool
|
|
112
|
-
|
|
113
|
-
Remove a tool by name.
|
|
114
|
-
|
|
115
|
-
**Parameters:**
|
|
116
|
-
|
|
117
|
-
| Name | Type | Required | Description |
|
|
118
|
-
|------|------|----------|-------------|
|
|
119
|
-
| `name` | `string` | ✓ | Parameter name |
|
|
120
|
-
|
|
121
|
-
**Returns:** `this`
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
### updateTools
|
|
126
|
-
|
|
127
|
-
Merge new tools into the conversation, replacing any with the same name. Accepts the same Record<string, ConversationTool> format used at construction time.
|
|
128
|
-
|
|
129
|
-
**Parameters:**
|
|
130
|
-
|
|
131
|
-
| Name | Type | Required | Description |
|
|
132
|
-
|------|------|----------|-------------|
|
|
133
|
-
| `tools` | `Record<string, ConversationTool>` | ✓ | Parameter tools |
|
|
134
|
-
|
|
135
|
-
**Returns:** `this`
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
### stub
|
|
140
|
-
|
|
141
|
-
Register a hardcoded stub response that bypasses the API when the user's message matches. Streaming is still simulated — chunk/preview events fire word-by-word.
|
|
142
|
-
|
|
143
|
-
**Parameters:**
|
|
144
|
-
|
|
145
|
-
| Name | Type | Required | Description |
|
|
146
|
-
|------|------|----------|-------------|
|
|
147
|
-
| `matcher` | `string | RegExp` | ✓ | Exact string match, substring, or RegExp tested against user input |
|
|
148
|
-
| `response` | `string | (() => string)` | ✓ | The text to stream back, or a zero-arg function that returns it |
|
|
149
|
-
|
|
150
|
-
**Returns:** `this`
|
|
151
|
-
|
|
152
|
-
```ts
|
|
153
|
-
conversation.stub('hello', 'Hi there!')
|
|
154
|
-
conversation.stub(/weather/i, () => 'Sunny and 72°F.')
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
### estimateTokens
|
|
160
|
-
|
|
161
|
-
Estimate the input token count for the current messages array using the js-tiktoken tokenizer. Updates state.
|
|
162
|
-
|
|
163
|
-
**Returns:** `number`
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
### summarize
|
|
168
|
-
|
|
169
|
-
Generate a summary of the conversation so far using the LLM. Read-only — does not modify messages.
|
|
170
|
-
|
|
171
|
-
**Returns:** `Promise<string>`
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
### compact
|
|
176
|
-
|
|
177
|
-
Compact the conversation by summarizing old messages and replacing them with a summary message. Keeps the system message (if any) and the most recent N messages.
|
|
178
|
-
|
|
179
|
-
**Parameters:**
|
|
180
|
-
|
|
181
|
-
| Name | Type | Required | Description |
|
|
182
|
-
|------|------|----------|-------------|
|
|
183
|
-
| `options` | `{ keepRecent?: number }` | | Parameter options |
|
|
184
|
-
|
|
185
|
-
**Returns:** `Promise<{ summary: string; removedCount: number; estimatedTokens: number }>`
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
### ask
|
|
190
|
-
|
|
191
|
-
Send a message and get a streamed response. Automatically handles tool calls by invoking the registered handlers and feeding results back to the model until a final text response is produced.
|
|
192
|
-
|
|
193
|
-
**Parameters:**
|
|
194
|
-
|
|
195
|
-
| Name | Type | Required | Description |
|
|
196
|
-
|------|------|----------|-------------|
|
|
197
|
-
| `content` | `string | ContentPart[]` | ✓ | The user message, either a string or array of content parts (text + images) |
|
|
198
|
-
| `options` | `AskOptions` | | Parameter options |
|
|
199
|
-
|
|
200
|
-
`AskOptions` properties:
|
|
201
|
-
|
|
202
|
-
| Property | Type | Description |
|
|
203
|
-
|----------|------|-------------|
|
|
204
|
-
| `maxTokens` | `number` | |
|
|
205
|
-
| `schema` | `z.ZodType` | When provided, enables OpenAI Structured Outputs. The model is constrained to return JSON matching this Zod schema. The return value of ask() will be the parsed object instead of a raw string. |
|
|
206
|
-
|
|
207
|
-
**Returns:** `Promise<string>`
|
|
208
|
-
|
|
209
|
-
```ts
|
|
210
|
-
const reply = await conversation.ask("What's the weather in SF?")
|
|
211
|
-
// With image:
|
|
212
|
-
const reply = await conversation.ask([
|
|
213
|
-
{ type: 'text', text: 'What is in this diagram?' },
|
|
214
|
-
{ type: 'image_url', image_url: { url: 'data:image/png;base64,...' } }
|
|
215
|
-
])
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
### save
|
|
221
|
-
|
|
222
|
-
Persist this conversation to disk via conversationHistory. Creates a new record if this conversation hasn't been saved before, or updates the existing one.
|
|
223
|
-
|
|
224
|
-
**Parameters:**
|
|
225
|
-
|
|
226
|
-
| Name | Type | Required | Description |
|
|
227
|
-
|------|------|----------|-------------|
|
|
228
|
-
| `opts` | `{ title?: string; tags?: string[]; thread?: string; metadata?: Record<string, any> }` | | Optional overrides for title, tags, thread, or metadata |
|
|
229
|
-
|
|
230
|
-
**Returns:** `void`
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
### pushMessage
|
|
235
|
-
|
|
236
|
-
Append a message to the conversation state.
|
|
237
|
-
|
|
238
|
-
**Parameters:**
|
|
239
|
-
|
|
240
|
-
| Name | Type | Required | Description |
|
|
241
|
-
|------|------|----------|-------------|
|
|
242
|
-
| `message` | `Message` | ✓ | The message to append |
|
|
243
|
-
|
|
244
|
-
**Returns:** `void`
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
## Getters
|
|
249
|
-
|
|
250
|
-
| Property | Type | Description |
|
|
251
|
-
|----------|------|-------------|
|
|
252
|
-
| `tools` | `Record<string, ConversationTool>` | Returns the registered tools available for the model to call. |
|
|
253
|
-
| `availableTools` | `any` | |
|
|
254
|
-
| `mcpServers` | `Record<string, ConversationMCPServer>` | Returns configured remote MCP servers keyed by server label. |
|
|
255
|
-
| `messages` | `Message[]` | Returns the full message history of the conversation. |
|
|
256
|
-
| `model` | `string` | Returns the OpenAI model name being used for completions. |
|
|
257
|
-
| `apiMode` | `'responses' | 'chat'` | Returns the active completion API mode after resolving auto/local behavior. |
|
|
258
|
-
| `isStreaming` | `boolean` | Whether a streaming response is currently in progress. |
|
|
259
|
-
| `contextWindow` | `number` | The context window size for the current model (from options override or auto-detected). |
|
|
260
|
-
| `isNearContextLimit` | `boolean` | Whether the conversation is approaching the context limit. |
|
|
261
|
-
| `openai` | `any` | Returns the OpenAI client instance from the container. |
|
|
262
|
-
| `history` | `ConversationHistory` | Returns the conversationHistory feature for persistence. |
|
|
263
|
-
|
|
264
|
-
## Events (Zod v4 schema)
|
|
265
|
-
|
|
266
|
-
### summarizeStart
|
|
267
|
-
|
|
268
|
-
Fired before generating a conversation summary
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
### summarizeEnd
|
|
273
|
-
|
|
274
|
-
Fired after the summary is generated
|
|
275
|
-
|
|
276
|
-
**Event Arguments:**
|
|
277
|
-
|
|
278
|
-
| Name | Type | Description |
|
|
279
|
-
|------|------|-------------|
|
|
280
|
-
| `arg0` | `string` | The generated summary text |
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
### compactStart
|
|
285
|
-
|
|
286
|
-
Fired before compacting the conversation history
|
|
287
|
-
|
|
288
|
-
**Event Arguments:**
|
|
289
|
-
|
|
290
|
-
| Name | Type | Description |
|
|
291
|
-
|------|------|-------------|
|
|
292
|
-
| `messageCount` | `number` | |
|
|
293
|
-
| `keepRecent` | `number` | |
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
### compactEnd
|
|
298
|
-
|
|
299
|
-
Fired after compaction completes
|
|
300
|
-
|
|
301
|
-
**Event Arguments:**
|
|
302
|
-
|
|
303
|
-
| Name | Type | Description |
|
|
304
|
-
|------|------|-------------|
|
|
305
|
-
| `summary` | `string` | |
|
|
306
|
-
| `removedCount` | `number` | |
|
|
307
|
-
| `estimatedTokens` | `number` | |
|
|
308
|
-
| `compactionCount` | `number` | |
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
### autoCompactTriggered
|
|
313
|
-
|
|
314
|
-
Fired when auto-compact kicks in because tokens exceeded the threshold
|
|
315
|
-
|
|
316
|
-
**Event Arguments:**
|
|
317
|
-
|
|
318
|
-
| Name | Type | Description |
|
|
319
|
-
|------|------|-------------|
|
|
320
|
-
| `estimated` | `number` | |
|
|
321
|
-
| `limit` | `number` | |
|
|
322
|
-
| `contextWindow` | `number` | |
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
### userMessage
|
|
327
|
-
|
|
328
|
-
Fired when a user message is added to the conversation
|
|
329
|
-
|
|
330
|
-
**Event Arguments:**
|
|
331
|
-
|
|
332
|
-
| Name | Type | Description |
|
|
333
|
-
|------|------|-------------|
|
|
334
|
-
| `arg0` | `any` | The user message content (string or ContentPart[]) |
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
### toolError
|
|
339
|
-
|
|
340
|
-
Fired when a tool handler throws or the tool is unknown
|
|
341
|
-
|
|
342
|
-
**Event Arguments:**
|
|
343
|
-
|
|
344
|
-
| Name | Type | Description |
|
|
345
|
-
|------|------|-------------|
|
|
346
|
-
| `arg0` | `string` | Tool name |
|
|
347
|
-
| `arg1` | `any` | Error object or message |
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
### toolCall
|
|
352
|
-
|
|
353
|
-
Fired before invoking a single tool handler
|
|
354
|
-
|
|
355
|
-
**Event Arguments:**
|
|
356
|
-
|
|
357
|
-
| Name | Type | Description |
|
|
358
|
-
|------|------|-------------|
|
|
359
|
-
| `arg0` | `string` | Tool name |
|
|
360
|
-
| `arg1` | `any` | Parsed arguments object |
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
### toolResult
|
|
365
|
-
|
|
366
|
-
Fired after a tool handler returns successfully
|
|
367
|
-
|
|
368
|
-
**Event Arguments:**
|
|
369
|
-
|
|
370
|
-
| Name | Type | Description |
|
|
371
|
-
|------|------|-------------|
|
|
372
|
-
| `arg0` | `string` | Tool name |
|
|
373
|
-
| `arg1` | `string` | Serialized result |
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
### turnStart
|
|
378
|
-
|
|
379
|
-
Fired at the start of each completion turn
|
|
380
|
-
|
|
381
|
-
**Event Arguments:**
|
|
382
|
-
|
|
383
|
-
| Name | Type | Description |
|
|
384
|
-
|------|------|-------------|
|
|
385
|
-
| `turn` | `number` | |
|
|
386
|
-
| `isFollowUp` | `boolean` | |
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
### chunk
|
|
391
|
-
|
|
392
|
-
Fired for each streaming text delta
|
|
393
|
-
|
|
394
|
-
**Event Arguments:**
|
|
395
|
-
|
|
396
|
-
| Name | Type | Description |
|
|
397
|
-
|------|------|-------------|
|
|
398
|
-
| `arg0` | `string` | Text delta from the stream |
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
### preview
|
|
403
|
-
|
|
404
|
-
Fired after each chunk with the full accumulated text
|
|
405
|
-
|
|
406
|
-
**Event Arguments:**
|
|
407
|
-
|
|
408
|
-
| Name | Type | Description |
|
|
409
|
-
|------|------|-------------|
|
|
410
|
-
| `arg0` | `string` | Accumulated text so far |
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
### turnEnd
|
|
415
|
-
|
|
416
|
-
Fired at the end of each completion turn
|
|
417
|
-
|
|
418
|
-
**Event Arguments:**
|
|
419
|
-
|
|
420
|
-
| Name | Type | Description |
|
|
421
|
-
|------|------|-------------|
|
|
422
|
-
| `turn` | `number` | |
|
|
423
|
-
| `hasToolCalls` | `boolean` | |
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
### response
|
|
428
|
-
|
|
429
|
-
Fired when the final text response is produced
|
|
430
|
-
|
|
431
|
-
**Event Arguments:**
|
|
432
|
-
|
|
433
|
-
| Name | Type | Description |
|
|
434
|
-
|------|------|-------------|
|
|
435
|
-
| `arg0` | `string` | Final accumulated response text |
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
### rawEvent
|
|
440
|
-
|
|
441
|
-
Fired for every raw event from the Responses API stream
|
|
442
|
-
|
|
443
|
-
**Event Arguments:**
|
|
444
|
-
|
|
445
|
-
| Name | Type | Description |
|
|
446
|
-
|------|------|-------------|
|
|
447
|
-
| `arg0` | `any` | Raw stream event from the API |
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
### mcpEvent
|
|
452
|
-
|
|
453
|
-
Fired for MCP-related events from the Responses API
|
|
454
|
-
|
|
455
|
-
**Event Arguments:**
|
|
456
|
-
|
|
457
|
-
| Name | Type | Description |
|
|
458
|
-
|------|------|-------------|
|
|
459
|
-
| `arg0` | `any` | MCP-related stream event |
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
### responseCompleted
|
|
464
|
-
|
|
465
|
-
Fired when the Responses API stream completes
|
|
466
|
-
|
|
467
|
-
**Event Arguments:**
|
|
468
|
-
|
|
469
|
-
| Name | Type | Description |
|
|
470
|
-
|------|------|-------------|
|
|
471
|
-
| `arg0` | `any` | The completed OpenAI Response object |
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
### toolCallsStart
|
|
476
|
-
|
|
477
|
-
Fired when the model begins a batch of tool calls
|
|
478
|
-
|
|
479
|
-
**Event Arguments:**
|
|
480
|
-
|
|
481
|
-
| Name | Type | Description |
|
|
482
|
-
|------|------|-------------|
|
|
483
|
-
| `arg0` | `any` | Array of tool call objects from the model |
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
### toolCallsEnd
|
|
488
|
-
|
|
489
|
-
Fired after all tool calls in a turn have been executed
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
## State (Zod v4 schema)
|
|
494
|
-
|
|
495
|
-
| Property | Type | Description |
|
|
496
|
-
|----------|------|-------------|
|
|
497
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
498
|
-
| `id` | `string` | Unique identifier for this conversation instance |
|
|
499
|
-
| `thread` | `string` | Thread identifier for grouping conversations |
|
|
500
|
-
| `model` | `string` | The OpenAI model being used |
|
|
501
|
-
| `messages` | `array` | Full message history of the conversation |
|
|
502
|
-
| `streaming` | `boolean` | Whether a streaming response is currently in progress |
|
|
503
|
-
| `lastResponse` | `string` | The last assistant response text |
|
|
504
|
-
| `toolCalls` | `number` | Total number of tool calls made in this conversation |
|
|
505
|
-
| `api` | `string` | Which completion API is active for this conversation |
|
|
506
|
-
| `lastResponseId` | `any` | Most recent OpenAI Responses API response ID for continuing conversation state |
|
|
507
|
-
| `tokenUsage` | `object` | Cumulative token usage statistics |
|
|
508
|
-
| `estimatedInputTokens` | `number` | Estimated input token count for the current messages array |
|
|
509
|
-
| `compactionCount` | `number` | Number of times compact() has been called |
|
|
510
|
-
| `contextWindow` | `number` | The context window size for the current model |
|
|
511
|
-
| `tools` | `object` | Active tools map including any runtime overrides |
|
|
512
|
-
| `callMaxTokens` | `any` | Per-call max tokens override, cleared after each ask() |
|
|
513
|
-
|
|
514
|
-
## Examples
|
|
515
|
-
|
|
516
|
-
**features.conversation**
|
|
517
|
-
|
|
518
|
-
```ts
|
|
519
|
-
const conversation = container.feature('conversation', {
|
|
520
|
-
model: 'gpt-4.1',
|
|
521
|
-
tools: myToolMap,
|
|
522
|
-
history: [{ role: 'system', content: 'You are a helpful assistant.' }]
|
|
523
|
-
})
|
|
524
|
-
const reply = await conversation.ask('What is the meaning of life?')
|
|
525
|
-
```
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
**stub**
|
|
530
|
-
|
|
531
|
-
```ts
|
|
532
|
-
conversation.stub('hello', 'Hi there!')
|
|
533
|
-
conversation.stub(/weather/i, () => 'Sunny and 72°F.')
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
**ask**
|
|
539
|
-
|
|
540
|
-
```ts
|
|
541
|
-
const reply = await conversation.ask("What's the weather in SF?")
|
|
542
|
-
// With image:
|
|
543
|
-
const reply = await conversation.ask([
|
|
544
|
-
{ type: 'text', text: 'What is in this diagram?' },
|
|
545
|
-
{ type: 'image_url', image_url: { url: 'data:image/png;base64,...' } }
|
|
546
|
-
])
|
|
547
|
-
```
|
|
548
|
-
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# DocsReader (features.docsReader)
|
|
2
|
-
|
|
3
|
-
The DocsReader feature is an AI Assisted wrapper around a ContentDB feature. You can ask it questions about the content, and it will use the ContentDB to find the answers from the documents.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('docsReader', {
|
|
9
|
-
// Either the contentDb instance or the path to the contentDb you want to load
|
|
10
|
-
contentDb,
|
|
11
|
-
// The model to use for the conversation
|
|
12
|
-
model,
|
|
13
|
-
// Whether to use a local model for the conversation
|
|
14
|
-
local,
|
|
15
|
-
})
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Options (Zod v4 schema)
|
|
19
|
-
|
|
20
|
-
| Property | Type | Description |
|
|
21
|
-
|----------|------|-------------|
|
|
22
|
-
| `contentDb` | `any` | Either the contentDb instance or the path to the contentDb you want to load |
|
|
23
|
-
| `model` | `string` | The model to use for the conversation |
|
|
24
|
-
| `local` | `boolean` | Whether to use a local model for the conversation |
|
|
25
|
-
|
|
26
|
-
## Methods
|
|
27
|
-
|
|
28
|
-
### calculateCacheKeyForQuestion
|
|
29
|
-
|
|
30
|
-
**Parameters:**
|
|
31
|
-
|
|
32
|
-
| Name | Type | Required | Description |
|
|
33
|
-
|------|------|----------|-------------|
|
|
34
|
-
| `question` | `string` | ✓ | Parameter question |
|
|
35
|
-
|
|
36
|
-
**Returns:** `void`
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
### ask
|
|
41
|
-
|
|
42
|
-
**Parameters:**
|
|
43
|
-
|
|
44
|
-
| Name | Type | Required | Description |
|
|
45
|
-
|------|------|----------|-------------|
|
|
46
|
-
| `question` | `string` | ✓ | Parameter question |
|
|
47
|
-
|
|
48
|
-
**Returns:** `void`
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
### askCached
|
|
53
|
-
|
|
54
|
-
**Parameters:**
|
|
55
|
-
|
|
56
|
-
| Name | Type | Required | Description |
|
|
57
|
-
|------|------|----------|-------------|
|
|
58
|
-
| `question` | `string` | ✓ | Parameter question |
|
|
59
|
-
|
|
60
|
-
**Returns:** `void`
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### start
|
|
65
|
-
|
|
66
|
-
Start the docs reader by loading the contentDb and wiring its tools into an assistant.
|
|
67
|
-
|
|
68
|
-
**Returns:** `Promise<DocsReader>`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
## Getters
|
|
73
|
-
|
|
74
|
-
| Property | Type | Description |
|
|
75
|
-
|----------|------|-------------|
|
|
76
|
-
| `isStarted` | `boolean` | Whether the docs reader has been started. |
|
|
77
|
-
| `answerCache` | `any` | |
|
|
78
|
-
| `contentDb` | `ContentDb` | |
|
|
79
|
-
|
|
80
|
-
## Events (Zod v4 schema)
|
|
81
|
-
|
|
82
|
-
### started
|
|
83
|
-
|
|
84
|
-
Event emitted by DocsReader
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
### loaded
|
|
89
|
-
|
|
90
|
-
Fired after the docs reader has been started
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
## State (Zod v4 schema)
|
|
95
|
-
|
|
96
|
-
| Property | Type | Description |
|
|
97
|
-
|----------|------|-------------|
|
|
98
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
99
|
-
| `started` | `boolean` | Whether the docs reader has been started |
|