mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-09 15:59:30 +00:00
* refactor: extract reusable AI runtime package * refactor: complete AI provider relocation * refactor: keep llm core internal * refactor(ai): make @openclaw/ai self-contained with host policy ports Move pure transport helpers (tool projections, strict-schema normalization, prompt-cache boundary, stream guards, anthropic/openai compat, request activity) from src into packages/ai; move utf16-slice into normalization-core. Inject host policy (guarded fetch, redaction, strict-tool defaults, diagnostics logging) through AiTransportHost with inert library defaults installed by src/llm/stream.ts. Narrow the public barrel to instance-scoped createApiRegistry/createLlmRuntime; the process-default runtime moves behind internal/ and registerBuiltInApiProviders takes an explicit registry. Delete the src/llm/api-registry re-export facade. * fix(ai): teach node, jiti, and vite resolvers the @openclaw/ai and utf16-slice subpaths The workspace alias tables in root-alias.cjs, plugin-sdk-native-resolver, sdk-alias, the shared vitest config, and the Control UI vite config only knew @openclaw/llm-core; Node-side plugin loading resolved @openclaw/ai through the pnpm symlink to the unbuilt dist (checks-node-compact CI failures), and the Control UI build broke on the new normalization-core/utf16-slice subpath. * chore(ui): drop leftover service-worker debug logging * build(release): ship @openclaw/ai with its own shrinkwrap and honest dependency set packages/ai declares only its six real runtime deps (kysely, chalk, json5, tslog, zod, fs-safe, and proxyline were never imported); orphaned root deps removed. generate-npm-shrinkwrap now treats publishable packages/* like publishable plugins so the AI tarball pins its transitive tree even though workspace deps are omitted from the root shrinkwrap. knip learns the package entry points; the tsdown dts neverBundle option moves to its documented deps.dts home; the README documents the no-semver internal/* contract and host ports. * docs(ai): add minimal external-consumer example app examples/ai-chat consumes only the public @openclaw/ai surface (built dist via the workspace link): isolated runtime, built-in provider registration, one streamed completion. Supports Anthropic/OpenAI via env keys and a keyless local Ollama target; live-verified against Ollama. * docs(ai): document the @openclaw/ai package and workspace shrinkwrap boundary * chore(check): include examples/ in duplicate-scan targets * fix: emit normalization package subpaths * fix: complete AI package boundary artifacts * fix: align AI package boundary contracts * fix(ci): stabilize package release contracts * test: align documentation contract checks * test: keep cron docs guard aligned * test: align restored docs contract guards * test: follow upstream docs contracts * docs: drop superseded talk wording
155 lines
3.8 KiB
YAML
155 lines
3.8 KiB
YAML
packages:
|
|
- .
|
|
- ui
|
|
- packages/*
|
|
- extensions/*
|
|
- examples/*
|
|
|
|
minimumReleaseAge: 2880
|
|
|
|
minimumReleaseAgeExclude:
|
|
- "@openclaw/crabline@0.1.9"
|
|
- "@openclaw/fs-safe@0.4.1"
|
|
- "@openclaw/proxyline@0.3.3"
|
|
- "@openclaw/uirouter@0.1.0"
|
|
- "acpx"
|
|
- "tokenjuice"
|
|
- "@agentclientprotocol/sdk"
|
|
- "axios"
|
|
- "basic-ftp"
|
|
- "baileys@7.0.0-rc13"
|
|
- "hono"
|
|
- "libopus-wasm@0.2.0"
|
|
- "libsignal@6.0.0"
|
|
- "openclaw"
|
|
- "protobufjs"
|
|
- "vite"
|
|
- "@cloudflare/workers-types"
|
|
- "@hono/node-server"
|
|
- "@mariozechner/*"
|
|
- "@aws-sdk/client-bedrock-runtime@3.1053.0"
|
|
- "@aws-sdk/client-bedrock@3.1053.0"
|
|
- "@aws-sdk/client-cognito-identity@3.1053.0"
|
|
- "@aws-sdk/client-s3@3.1053.0"
|
|
- "@aws-sdk/core"
|
|
- "@aws-sdk/credential-providers@3.1053.0"
|
|
- "@aws-sdk/s3-request-presigner@3.1053.0"
|
|
- "@aws-sdk/token-providers@3.1052.0"
|
|
- "@aws-sdk/token-providers@3.1053.0"
|
|
- "@copilotkit/aimock@1.27.1"
|
|
- "@earendil-works/pi-tui"
|
|
- "@google/genai@2.6.0"
|
|
- "@larksuiteoapi/node-sdk@1.66.0"
|
|
- "@microsoft/teams.api@2.0.12"
|
|
- "@microsoft/teams.apps@2.0.12"
|
|
- "@microsoft/teams.cards@2.0.12"
|
|
- "@microsoft/teams.common@2.0.12"
|
|
- "@microsoft/teams.graph@2.0.12"
|
|
- "@openai/codex"
|
|
- "@openai/codex-*"
|
|
- "@pierre/diffs@1.2.3"
|
|
- "@smithy/shared-ini-file-loader@4.5.4"
|
|
- "@typescript/native-preview*"
|
|
- "@types/node"
|
|
- "@rolldown/*"
|
|
- "@oxlint/*"
|
|
- "@oxfmt/*"
|
|
- "@oxc-project/types"
|
|
- "oxfmt"
|
|
- "axios@1.15.0"
|
|
- "discord-api-types"
|
|
- "esbuild@0.28.1"
|
|
- "@esbuild/aix-ppc64@0.28.1"
|
|
- "@esbuild/android-arm@0.28.1"
|
|
- "@esbuild/android-arm64@0.28.1"
|
|
- "@esbuild/android-x64@0.28.1"
|
|
- "@esbuild/darwin-arm64@0.28.1"
|
|
- "@esbuild/darwin-x64@0.28.1"
|
|
- "@esbuild/freebsd-arm64@0.28.1"
|
|
- "@esbuild/freebsd-x64@0.28.1"
|
|
- "@esbuild/linux-arm@0.28.1"
|
|
- "@esbuild/linux-arm64@0.28.1"
|
|
- "@esbuild/linux-ia32@0.28.1"
|
|
- "@esbuild/linux-loong64@0.28.1"
|
|
- "@esbuild/linux-mips64el@0.28.1"
|
|
- "@esbuild/linux-ppc64@0.28.1"
|
|
- "@esbuild/linux-riscv64@0.28.1"
|
|
- "@esbuild/linux-s390x@0.28.1"
|
|
- "@esbuild/linux-x64@0.28.1"
|
|
- "@esbuild/netbsd-arm64@0.28.1"
|
|
- "@esbuild/netbsd-x64@0.28.1"
|
|
- "@esbuild/openbsd-arm64@0.28.1"
|
|
- "@esbuild/openbsd-x64@0.28.1"
|
|
- "@esbuild/openharmony-arm64@0.28.1"
|
|
- "@esbuild/sunos-x64@0.28.1"
|
|
- "@esbuild/win32-arm64@0.28.1"
|
|
- "@esbuild/win32-ia32@0.28.1"
|
|
- "@esbuild/win32-x64@0.28.1"
|
|
- "rolldown"
|
|
- "sqlite-vec"
|
|
- "sqlite-vec-*"
|
|
- "rastermill"
|
|
- "clawpdf"
|
|
|
|
nodeLinker: hoisted
|
|
blockExoticSubdeps: true
|
|
|
|
overrides:
|
|
"@anthropic-ai/sdk": 0.109.1
|
|
"@opentelemetry/core": 2.8.0
|
|
"@aws-sdk/core": 3.974.27
|
|
"@aws-sdk/credential-provider-node": 3.972.61
|
|
"@aws-sdk/xml-builder": 3.972.33
|
|
hono: 4.12.25
|
|
"@hono/node-server": 1.19.14
|
|
axios: 1.16.0
|
|
fast-uri: 3.1.2
|
|
follow-redirects: 1.16.0
|
|
defu: 6.1.5
|
|
fast-xml-parser: 5.7.0
|
|
request: "npm:@cypress/request@3.0.10"
|
|
request-promise: "npm:@cypress/request-promise@5.0.0"
|
|
basic-ftp: 6.0.1
|
|
file-type: 22.0.1
|
|
form-data: 2.5.6
|
|
ip-address: 10.2.0
|
|
minimatch: 10.2.5
|
|
path-to-regexp: 8.4.0
|
|
qs: 6.15.2
|
|
node-domexception: "npm:@nolyfill/domexception@1.0.28"
|
|
typebox: 1.3.3
|
|
tar: 7.5.19
|
|
tough-cookie: 4.1.3
|
|
yauzl: 3.2.1
|
|
protobufjs: 7.6.3
|
|
uuid: 14.0.0
|
|
|
|
allowBuilds:
|
|
"@openclaw/fs-safe": true
|
|
"@google/genai": true
|
|
"@lydell/node-pty": true
|
|
"@matrix-org/matrix-sdk-crypto-nodejs": true
|
|
"@tloncorp/api": true
|
|
"@tloncorp/tlon-skill": true
|
|
baileys: true
|
|
authenticate-pam: true
|
|
"@discordjs/opus": false
|
|
esbuild: true
|
|
koffi: false
|
|
node-llama-cpp: false
|
|
protobufjs: true
|
|
tree-sitter-bash: false
|
|
openclaw: true
|
|
"@openclaw/proxyline": true
|
|
clawpdf: true
|
|
"@openclaw/crabline": true
|
|
rastermill: true
|
|
|
|
packageExtensions:
|
|
baileys:
|
|
peerDependenciesMeta:
|
|
sharp:
|
|
optional: true
|
|
|
|
patchedDependencies:
|
|
"@openclaw/fs-safe@0.4.1": patches/@openclaw__fs-safe@0.4.1.patch
|