@soederpop/luca 0.1.2 → 0.2.1
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 +167 -0
- package/CLAUDE.md +2 -0
- package/README.md +3 -0
- package/assistants/codingAssistant/ABOUT.md +3 -0
- package/assistants/codingAssistant/CORE.md +22 -17
- package/assistants/codingAssistant/hooks.ts +17 -4
- package/assistants/codingAssistant/tools.ts +1 -106
- package/assistants/inkbot/ABOUT.md +5 -0
- package/assistants/inkbot/CORE.md +71 -0
- package/assistants/inkbot/hooks.ts +14 -0
- package/assistants/inkbot/tools.ts +47 -0
- package/bun.lock +20 -4
- package/commands/inkbot.ts +353 -0
- package/commands/release.ts +75 -181
- 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 -0
- 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/apis/features/agi/assistant.md +1 -0
- package/docs/apis/features/agi/assistants-manager.md +62 -2
- package/docs/apis/features/agi/auto-assistant.md +11 -109
- package/docs/apis/features/agi/claude-code.md +138 -0
- package/docs/apis/features/agi/conversation.md +60 -31
- package/docs/apis/features/agi/luca-coder.md +407 -0
- package/docs/apis/features/agi/openapi.md +2 -2
- package/docs/apis/features/agi/skills-library.md +12 -0
- package/docs/apis/features/node/python.md +81 -11
- package/docs/apis/features/node/transpiler.md +74 -0
- package/docs/apis/features/web/esbuild.md +0 -6
- package/docs/apis/servers/mcp.md +2 -2
- package/docs/examples/entity.md +124 -0
- package/docs/ideas/assistant-factory-pattern.md +142 -0
- package/package.json +74 -21
- package/src/agi/container.server.ts +10 -0
- package/src/agi/feature.ts +13 -0
- package/src/agi/features/agent-memory.ts +694 -0
- package/src/agi/features/assistant.ts +37 -26
- package/src/agi/features/assistants-manager.ts +95 -5
- package/src/agi/features/autonomous-assistant.ts +1 -5
- package/src/agi/features/browser-use.ts +32 -2
- package/src/agi/features/claude-code.ts +165 -1
- package/src/agi/features/coding-tools.ts +175 -0
- package/src/agi/features/conversation-history.ts +2 -6
- package/src/agi/features/conversation.ts +95 -3
- package/src/agi/features/docs-reader.ts +2 -1
- package/src/agi/features/file-tools.ts +35 -28
- package/src/agi/features/luca-coder.ts +1 -5
- package/src/agi/features/openai-codex.ts +1 -1
- package/src/agi/features/openapi.ts +3 -3
- package/src/agi/features/skills-library.ts +111 -13
- package/src/agi/lib/interceptor-chain.ts +10 -0
- package/src/agi/lib/token-counter.ts +1 -1
- package/src/bootstrap/generated.ts +126 -1
- package/src/bus.ts +27 -5
- package/src/cli/build-info.ts +2 -2
- package/src/client.ts +2 -2
- package/src/clients/elevenlabs/index.ts +5 -0
- package/src/clients/voicebox/index.ts +300 -0
- package/src/commands/bootstrap.ts +2 -1
- package/src/commands/chat.ts +1 -0
- package/src/commands/code.ts +4 -2
- package/src/commands/prompt.ts +34 -34
- package/src/commands/sandbox-mcp.ts +69 -163
- package/src/commands/save-api-docs.ts +10 -8
- package/src/commands/select.ts +8 -3
- package/src/container-describer.ts +70 -84
- package/src/container.ts +93 -3
- package/src/endpoint.ts +1 -1
- package/src/entity.ts +173 -0
- package/src/feature.ts +3 -3
- package/src/helper.ts +8 -4
- package/src/introspection/generated.agi.ts +3012 -1356
- package/src/introspection/generated.node.ts +179 -33
- package/src/introspection/generated.web.ts +95 -3
- package/src/introspection/scan.ts +1 -1
- package/src/node/container.ts +1 -1
- package/src/node/features/content-db.ts +57 -30
- package/src/node/features/file-manager.ts +10 -9
- package/src/node/features/git.ts +5 -5
- package/src/node/features/helpers.ts +1 -1
- package/src/node/features/json-tree.ts +1 -1
- package/src/node/features/os.ts +3 -3
- package/src/node/features/package-finder.ts +1 -1
- package/src/node/features/process-manager.ts +51 -18
- package/src/node/features/python.ts +3 -3
- package/src/node/features/redis.ts +1 -1
- package/src/node/features/repl.ts +2 -2
- package/src/node/features/transpiler.ts +2 -2
- package/src/node/features/ui.ts +1 -1
- package/src/node/features/vm.ts +3 -3
- package/src/node/features/yaml-tree.ts +1 -1
- package/src/node.ts +1 -0
- package/src/python/generated.ts +1 -1
- package/src/scaffolds/generated.ts +1 -1
- package/src/selector.ts +74 -4
- package/src/server.ts +2 -2
- package/src/servers/mcp.ts +6 -6
- package/src/web/features/helpers.ts +1 -1
- package/src/web/features/network.ts +1 -0
- package/test/assistant.test.ts +14 -5
- package/test/conversation.test.ts +220 -0
- package/test-integration/memory.test.ts +204 -0
- package/tsconfig.build.json +12 -0
- package/tsconfig.json +1 -1
- package/scripts/examples/telegram-ink-ui.ts +0 -302
- package/scripts/examples/using-openai-codex.ts +0 -23
- package/scripts/examples/vm-loading-esm-modules.ts +0 -16
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Feature } from '../feature.js';
|
|
3
|
+
import type { DocsReader } from './docs-reader.js';
|
|
4
|
+
import Assistant from './assistant.js';
|
|
5
|
+
declare module '@soederpop/luca/feature' {
|
|
6
|
+
interface AvailableFeatures {
|
|
7
|
+
skillsLibrary: typeof SkillsLibrary;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export interface SkillInfo {
|
|
11
|
+
/** Skill name derived from folder name or frontmatter */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Description from frontmatter */
|
|
14
|
+
description: string;
|
|
15
|
+
/** Absolute path to the skill folder (dirname of SKILL.md) */
|
|
16
|
+
path: string;
|
|
17
|
+
/** Absolute path to SKILL.md */
|
|
18
|
+
skillFilePath: string;
|
|
19
|
+
/** Which location this skill was found in */
|
|
20
|
+
locationPath: string;
|
|
21
|
+
/** All frontmatter metadata */
|
|
22
|
+
meta: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export declare const SkillsLibraryStateSchema: z.ZodObject<{
|
|
25
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
26
|
+
loaded: z.ZodBoolean;
|
|
27
|
+
locations: z.ZodArray<z.ZodString>;
|
|
28
|
+
skillCount: z.ZodNumber;
|
|
29
|
+
skills: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
30
|
+
}, z.core.$loose>;
|
|
31
|
+
export declare const SkillsLibraryOptionsSchema: z.ZodObject<{
|
|
32
|
+
name: z.ZodOptional<z.ZodString>;
|
|
33
|
+
_cacheKey: z.ZodOptional<z.ZodString>;
|
|
34
|
+
cached: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
enable: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
configPath: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare const SkillsLibraryEventsSchema: z.ZodObject<{
|
|
39
|
+
stateChange: z.ZodTuple<[z.ZodAny], null>;
|
|
40
|
+
enabled: z.ZodTuple<[], null>;
|
|
41
|
+
started: z.ZodTuple<[], null>;
|
|
42
|
+
locationAdded: z.ZodTuple<[z.ZodString], null>;
|
|
43
|
+
skillDiscovered: z.ZodTuple<[z.ZodAny], null>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type SkillsLibraryState = z.infer<typeof SkillsLibraryStateSchema>;
|
|
46
|
+
export type SkillsLibraryOptions = z.infer<typeof SkillsLibraryOptionsSchema>;
|
|
47
|
+
/**
|
|
48
|
+
* Manages a registry of skill locations — folders containing SKILL.md files.
|
|
49
|
+
*
|
|
50
|
+
* Persists known locations to ~/.luca/skills.json and scans them on start.
|
|
51
|
+
* Each skill folder can be opened as a DocsReader for AI-assisted Q&A.
|
|
52
|
+
* Exposes tools for assistant integration via assistant.use(skillsLibrary).
|
|
53
|
+
*
|
|
54
|
+
* @extends Feature
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const lib = container.feature('skillsLibrary')
|
|
58
|
+
* await lib.start()
|
|
59
|
+
* await lib.addLocation('~/.claude/skills')
|
|
60
|
+
* lib.list() // => SkillInfo[]
|
|
61
|
+
* const reader = lib.createSkillReader('my-skill')
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class SkillsLibrary extends Feature<SkillsLibraryState, SkillsLibraryOptions> {
|
|
65
|
+
static stateSchema: z.ZodObject<{
|
|
66
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
67
|
+
loaded: z.ZodBoolean;
|
|
68
|
+
locations: z.ZodArray<z.ZodString>;
|
|
69
|
+
skillCount: z.ZodNumber;
|
|
70
|
+
skills: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
71
|
+
}, z.core.$loose>;
|
|
72
|
+
static optionsSchema: z.ZodObject<{
|
|
73
|
+
name: z.ZodOptional<z.ZodString>;
|
|
74
|
+
_cacheKey: z.ZodOptional<z.ZodString>;
|
|
75
|
+
cached: z.ZodOptional<z.ZodBoolean>;
|
|
76
|
+
enable: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
configPath: z.ZodOptional<z.ZodString>;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
static eventsSchema: z.ZodObject<{
|
|
80
|
+
stateChange: z.ZodTuple<[z.ZodAny], null>;
|
|
81
|
+
enabled: z.ZodTuple<[], null>;
|
|
82
|
+
started: z.ZodTuple<[], null>;
|
|
83
|
+
locationAdded: z.ZodTuple<[z.ZodString], null>;
|
|
84
|
+
skillDiscovered: z.ZodTuple<[z.ZodAny], null>;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
static shortcut: "features.skillsLibrary";
|
|
87
|
+
/** Tools for assistant integration via assistant.use(skillsLibrary). */
|
|
88
|
+
static tools: Record<string, {
|
|
89
|
+
schema: z.ZodType;
|
|
90
|
+
handler?: Function;
|
|
91
|
+
}>;
|
|
92
|
+
/** @returns Default state. */
|
|
93
|
+
get initialState(): SkillsLibraryState;
|
|
94
|
+
setupToolsConsumer(assistant: Assistant): Assistant;
|
|
95
|
+
/** Discovered skills keyed by name. */
|
|
96
|
+
get skills(): Record<string, SkillInfo>;
|
|
97
|
+
get availableSkills(): string[];
|
|
98
|
+
get skillsTable(): Record<string, string>;
|
|
99
|
+
/** Resolved path to the skills.json config file. */
|
|
100
|
+
get configPath(): string;
|
|
101
|
+
/** Whether the library has been loaded. */
|
|
102
|
+
get isStarted(): boolean;
|
|
103
|
+
/** Expand ~ to home directory in a path. */
|
|
104
|
+
private expandHome;
|
|
105
|
+
/** Read the persisted config, creating it if it doesn't exist. */
|
|
106
|
+
private readConfig;
|
|
107
|
+
/** Write the config back to disk. */
|
|
108
|
+
private writeConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Start the skills library: read config, scan all locations.
|
|
111
|
+
*
|
|
112
|
+
* @returns This instance for chaining
|
|
113
|
+
*/
|
|
114
|
+
start(): Promise<SkillsLibrary>;
|
|
115
|
+
/**
|
|
116
|
+
* Add a new skill location folder and scan it for skills.
|
|
117
|
+
*
|
|
118
|
+
* @param locationPath - Path to a directory containing skill subfolders with SKILL.md
|
|
119
|
+
*/
|
|
120
|
+
addLocation(locationPath: string): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Remove a skill location and its skills from the library.
|
|
123
|
+
*
|
|
124
|
+
* @param locationPath - The location path to remove
|
|
125
|
+
*/
|
|
126
|
+
removeLocation(locationPath: string): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Scan a location folder for skill subfolders containing SKILL.md.
|
|
129
|
+
*
|
|
130
|
+
* @param locationPath - Absolute path to scan
|
|
131
|
+
*/
|
|
132
|
+
scanLocation(locationPath: string): Promise<void>;
|
|
133
|
+
/** Return all discovered skills. */
|
|
134
|
+
list(): SkillInfo[];
|
|
135
|
+
/** Find a skill by name. */
|
|
136
|
+
find(skillName: string): SkillInfo | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Create a DocsReader for a skill's folder, enabling AI-assisted Q&A.
|
|
139
|
+
*
|
|
140
|
+
* @param skillName - Name of the skill to create a reader for
|
|
141
|
+
* @returns A DocsReader instance rooted at the skill's folder
|
|
142
|
+
*/
|
|
143
|
+
createSkillReader(skillName: string): DocsReader;
|
|
144
|
+
/**
|
|
145
|
+
* Create a tmp directory containing symlinked/copied skill folders by name,
|
|
146
|
+
* suitable for passing to claude --add-dir.
|
|
147
|
+
*
|
|
148
|
+
* @param skillNames - Array of skill names to include
|
|
149
|
+
* @returns Absolute path to the created directory
|
|
150
|
+
*/
|
|
151
|
+
ensureFolderCreatedWithSkillsByName(skillNames: string[]): string;
|
|
152
|
+
/** Search available skills, optionally filtered by a query string. */
|
|
153
|
+
searchAvailableSkills({ query }?: {
|
|
154
|
+
query?: string;
|
|
155
|
+
}): Promise<string>;
|
|
156
|
+
/** Load a skill's full SKILL.md content and metadata. */
|
|
157
|
+
loadSkill({ skillName }: {
|
|
158
|
+
skillName: string;
|
|
159
|
+
}): Promise<string>;
|
|
160
|
+
/** Ask a question about a specific skill using a DocsReader. */
|
|
161
|
+
askSkillBasedQuestion({ skillName, question }: {
|
|
162
|
+
skillName: string;
|
|
163
|
+
question: string;
|
|
164
|
+
}): Promise<string>;
|
|
165
|
+
}
|
|
166
|
+
export default SkillsLibrary;
|
|
167
|
+
//# sourceMappingURL=skills-library.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-library.d.ts","sourceRoot":"","sources":["../../../src/agi/features/skills-library.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agi/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,cAAc,oBAAoB,CAAA;wBAEN,YAAY;AAAxC,wBAAwC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A composable middleware chain. Each interceptor receives a mutable
|
|
3
|
+
* context and a `next` function. Calling `next()` continues the chain;
|
|
4
|
+
* skipping it short-circuits.
|
|
5
|
+
*/
|
|
6
|
+
export type InterceptorFn<T> = (ctx: T, next: () => Promise<void>) => Promise<void>;
|
|
7
|
+
export declare class InterceptorChain<T> {
|
|
8
|
+
private fns;
|
|
9
|
+
add(fn: InterceptorFn<T>): void;
|
|
10
|
+
remove(fn: InterceptorFn<T>): void;
|
|
11
|
+
get hasInterceptors(): boolean;
|
|
12
|
+
get size(): number;
|
|
13
|
+
run(ctx: T, final: () => Promise<void>): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface BeforeAskCtx {
|
|
16
|
+
question: string | any[];
|
|
17
|
+
options?: any;
|
|
18
|
+
result?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ToolCallCtx {
|
|
21
|
+
name: string;
|
|
22
|
+
args: Record<string, any>;
|
|
23
|
+
result?: string;
|
|
24
|
+
error?: any;
|
|
25
|
+
skip?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface BeforeResponseCtx {
|
|
28
|
+
text: string;
|
|
29
|
+
}
|
|
30
|
+
export interface BeforeTurnCtx {
|
|
31
|
+
turn: number;
|
|
32
|
+
isFollowUp: boolean;
|
|
33
|
+
messages: any[];
|
|
34
|
+
skip?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface InterceptorPoints {
|
|
37
|
+
beforeAsk: BeforeAskCtx;
|
|
38
|
+
beforeTurn: BeforeTurnCtx;
|
|
39
|
+
beforeToolCall: ToolCallCtx;
|
|
40
|
+
afterToolCall: ToolCallCtx;
|
|
41
|
+
beforeResponse: BeforeResponseCtx;
|
|
42
|
+
}
|
|
43
|
+
export type InterceptorPoint = keyof InterceptorPoints;
|
|
44
|
+
//# sourceMappingURL=interceptor-chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor-chain.d.ts","sourceRoot":"","sources":["../../../src/agi/lib/interceptor-chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnF,qBAAa,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAyB;IAEpC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/B,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAe5D;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IACxB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,EAAE,aAAa,CAAA;IACzB,cAAc,EAAE,WAAW,CAAA;IAC3B,aAAa,EAAE,WAAW,CAAA;IAC1B,cAAc,EAAE,iBAAiB,CAAA;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Tiktoken } from 'js-tiktoken';
|
|
2
|
+
/** Look up the context window size for a model name (exact then prefix match). */
|
|
3
|
+
export declare function getContextWindow(model: string): number;
|
|
4
|
+
/** Get a cached tiktoken encoder for a model (falls back to o200k_base). */
|
|
5
|
+
export declare function getEncoder(model: string): Tiktoken;
|
|
6
|
+
/** Count tokens in a plain string. */
|
|
7
|
+
export declare function countTokens(text: string, model: string): number;
|
|
8
|
+
/**
|
|
9
|
+
* Estimate the total input token count for a messages array.
|
|
10
|
+
* Follows the OpenAI token counting recipe with per-message overhead.
|
|
11
|
+
*/
|
|
12
|
+
export declare function countMessageTokens(messages: any[], model: string): number;
|
|
13
|
+
//# sourceMappingURL=token-counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../../src/agi/lib/token-counter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA4B3C,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAYlD;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAqDzE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const bootstrapFiles: Record<string, string>;
|
|
2
|
+
export declare const bootstrapTemplates: Record<string, string>;
|
|
3
|
+
export declare const bootstrapExamples: Record<string, string>;
|
|
4
|
+
export declare const bootstrapTutorials: Record<string, string>;
|
|
5
|
+
//# sourceMappingURL=generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../src/bootstrap/generated.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6bjD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0QrD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA00HpD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAq6JrD,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './web/container.js';
|
|
2
|
+
import { WebContainer } from './web/container.js';
|
|
3
|
+
import './introspection/generated.web.js';
|
|
4
|
+
declare const container: WebContainer<import("./browser.js").WebFeatures, import("./browser.js").WebContainerState>;
|
|
5
|
+
export default container;
|
|
6
|
+
/**
|
|
7
|
+
* Returns the singleton container instance.
|
|
8
|
+
* LLMs love to hallucinate this function — so we provide it, but warn.
|
|
9
|
+
* If you need a separate container, use `container.subcontainer()`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createContainer(): WebContainer<import("./browser.js").WebFeatures, import("./browser.js").WebContainerState>;
|
|
12
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,kCAAkC,CAAA;AAEzC,QAAA,MAAM,SAAS,4FAAuB,CAAA;AAMtC,eAAe,SAAS,CAAA;AAExB;;;;GAIG;AACH,wBAAgB,eAAe,+FAO9B"}
|
package/dist/bus.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type EventMap = Record<string, any[]>;
|
|
2
|
+
type WildcardListener = (event: string, ...args: any[]) => void;
|
|
3
|
+
export interface EventStats {
|
|
4
|
+
event: string;
|
|
5
|
+
fireCount: number;
|
|
6
|
+
lastFiredAt: number | null;
|
|
7
|
+
timestamps: number[];
|
|
8
|
+
firesPerMinute: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class Bus<T extends EventMap = EventMap> {
|
|
11
|
+
private events;
|
|
12
|
+
private wildcardListeners;
|
|
13
|
+
private stats;
|
|
14
|
+
constructor();
|
|
15
|
+
private recordEmit;
|
|
16
|
+
private computeFiresPerMinute;
|
|
17
|
+
getEventStats<E extends string & keyof T>(event: E): EventStats;
|
|
18
|
+
get history(): EventStats[];
|
|
19
|
+
get firedEvents(): string[];
|
|
20
|
+
waitFor<E extends string & keyof T>(event: E): Promise<T[E]>;
|
|
21
|
+
emit<E extends string & keyof T>(event: E, ...args: T[E]): void;
|
|
22
|
+
on(event: '*', listener: WildcardListener): void;
|
|
23
|
+
on<E extends string & keyof T>(event: E, listener: (...args: T[E]) => void): void;
|
|
24
|
+
once<E extends string & keyof T>(event: E, listener: (...args: T[E]) => void): void;
|
|
25
|
+
off(event: '*', listener?: WildcardListener): void;
|
|
26
|
+
off<E extends string & keyof T>(event: E, listener?: (...args: T[E]) => void): void;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../src/bus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAG7C,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEhE,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,GAAG,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAC1C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,KAAK,CAAuF;;IAQpG,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,qBAAqB;IAQ7B,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU;IAW/D,IAAI,OAAO,IAAI,UAAU,EAAE,CAE1B;IAED,IAAI,WAAW,IAAI,MAAM,EAAE,CAE1B;IAEK,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAMlE,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAS/D,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAChD,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAWjF,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAQnF,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAClD,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;CAyBtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info.d.ts","sourceRoot":"","sources":["../../src/cli/build-info.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,YAAY,CAAA;AAClC,eAAO,MAAM,YAAY,SAAS,CAAA;AAClC,eAAO,MAAM,UAAU,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";AAeA,OAAO,qBAAqB,CAAA"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Helper } from "./helper.js";
|
|
2
|
+
import type { Container, ContainerContext } from "./container.js";
|
|
3
|
+
import { Registry } from "./registry.js";
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { ClientStateSchema, ClientOptionsSchema } from './schemas/base.js';
|
|
6
|
+
export type ClientOptions = z.infer<typeof ClientOptionsSchema>;
|
|
7
|
+
export type ClientState = z.infer<typeof ClientStateSchema>;
|
|
8
|
+
export type { WebSocketClientState, WebSocketClientOptions } from './clients/websocket.js';
|
|
9
|
+
export type { GraphClientOptions } from './clients/graph.js';
|
|
10
|
+
export interface AvailableClients {
|
|
11
|
+
}
|
|
12
|
+
export interface ClientsInterface {
|
|
13
|
+
clients: ClientsRegistry;
|
|
14
|
+
client<T extends keyof AvailableClients>(key: T, options?: ConstructorParameters<AvailableClients[T]>[0]): InstanceType<AvailableClients[T]>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Base client class for all Luca network clients. Provides connection state
|
|
18
|
+
* tracking, configuration, and the registry/factory infrastructure for
|
|
19
|
+
* creating typed client instances via `container.client('rest')`.
|
|
20
|
+
*
|
|
21
|
+
* Subclasses should override `connect()` and add protocol-specific methods.
|
|
22
|
+
* Register subclasses using `Client.register(this, 'myClient')` in a static block.
|
|
23
|
+
*/
|
|
24
|
+
export declare class Client<T extends ClientState = ClientState, K extends ClientOptions = ClientOptions> extends Helper<T, K> {
|
|
25
|
+
static shortcut: string;
|
|
26
|
+
static stateSchema: z.ZodObject<{
|
|
27
|
+
connected: z.ZodDefault<z.ZodBoolean>;
|
|
28
|
+
}, z.core.$loose>;
|
|
29
|
+
static optionsSchema: z.ZodObject<{
|
|
30
|
+
name: z.ZodOptional<z.ZodString>;
|
|
31
|
+
_cacheKey: z.ZodOptional<z.ZodString>;
|
|
32
|
+
baseURL: z.ZodOptional<z.ZodString>;
|
|
33
|
+
json: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
static eventsSchema: z.ZodObject<{
|
|
36
|
+
stateChange: z.ZodTuple<[z.ZodAny], null>;
|
|
37
|
+
failure: z.ZodTuple<[z.ZodAny], null>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
/** Self-register a Client subclass from a static initialization block. */
|
|
40
|
+
static register: (SubClass: typeof Client, id?: string) => typeof Client;
|
|
41
|
+
static attach(container: Container & ClientsInterface): any;
|
|
42
|
+
constructor(options?: K, context?: ContainerContext);
|
|
43
|
+
/** The base URL for this client's connections/requests. */
|
|
44
|
+
get baseURL(): string;
|
|
45
|
+
get options(): K;
|
|
46
|
+
/** Configure this client instance with additional options. */
|
|
47
|
+
configure(options?: any): this;
|
|
48
|
+
/** Whether the client is currently connected. */
|
|
49
|
+
get isConnected(): boolean;
|
|
50
|
+
/** Establish a connection. Subclasses should override with protocol-specific logic. */
|
|
51
|
+
connect(): Promise<this>;
|
|
52
|
+
}
|
|
53
|
+
export declare class ClientsRegistry extends Registry<Client<any>> {
|
|
54
|
+
scope: string;
|
|
55
|
+
baseClass: typeof Client;
|
|
56
|
+
}
|
|
57
|
+
export declare const clients: ClientsRegistry;
|
|
58
|
+
export declare const helperCache: Map<any, any>;
|
|
59
|
+
export default Client;
|
|
60
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EACvC,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAO3D,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,MAAM,WAAW,gBAAgB;CAAG;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACrC,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtD,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,qBAAa,MAAM,CACjB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,OAAgB,QAAQ,SAAiB;IACzC,OAAgB,WAAW;;sBAAoB;IAC/C,OAAgB,aAAa;;;;;sBAAsB;IACnD,OAAgB,YAAY;;;sBAAqB;IAEjD,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,MAAM,CAAA;IAExE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,GAAG;gBA8B/C,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAUnD,2DAA2D;IAC3D,IAAI,OAAO,WAEV;IAED,IAAa,OAAO,IACM,CAAC,CAC1B;IAED,8DAA8D;IAC9D,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAI9B,iDAAiD;IACjD,IAAI,WAAW,YAEd;IAED,uFAAuF;IACjF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAKD,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/C,KAAK,SAAY;IACjB,SAAS,gBAAS;CAC5B;AAED,eAAO,MAAM,OAAO,iBAAwB,CAAC;AAE7C,eAAO,MAAM,WAAW,eAAY,CAAC;AA2CrC,eAAe,MAAM,CAAC"}
|