mirror of
https://github.com/openclaw/openclaw.git
synced 2026-09-08 09:11:48 +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 |
||
|---|---|---|
| .. | ||
| ts-topology | ||
| android-fastlane.sh | ||
| android-version.ts | ||
| arg-utils.mjs | ||
| bounded-response.mjs | ||
| bounded-response.ts | ||
| budget-number-args.mjs | ||
| bundled-extension-manifest.ts | ||
| bundled-plugin-build-entries-types.d.ts | ||
| bundled-plugin-build-entries.d.mts | ||
| bundled-plugin-build-entries.mjs | ||
| bundled-plugin-paths.mjs | ||
| bundled-plugin-source-utils.mjs | ||
| bundled-runtime-sidecar-paths.json | ||
| callsite-guard.mjs | ||
| changed-extensions.mjs | ||
| channel-contract-test-plan.mjs | ||
| check-timing-summary.mjs | ||
| ci-node-test-plan.mjs | ||
| codex-app-server-protocol-source.ts | ||
| config-boundary-guard.d.mts | ||
| config-boundary-guard.mjs | ||
| copy-assets.ts | ||
| dependency-ownership.json | ||
| deprecated-config-api-guard.d.mts | ||
| deprecated-config-api-guard.mjs | ||
| deprecated-plugin-sdk-usage.mjs | ||
| dev-tooling-safety.ts | ||
| direct-run.mjs | ||
| docker-build.sh | ||
| docker-e2e-container.sh | ||
| docker-e2e-image.sh | ||
| docker-e2e-json-artifacts.mjs | ||
| docker-e2e-logs.sh | ||
| docker-e2e-package.sh | ||
| docker-e2e-plan.mjs | ||
| docker-e2e-scenarios.mjs | ||
| error-format.mjs | ||
| extension-import-boundary-checker.mjs | ||
| extension-package-boundary.ts | ||
| extension-source-classifier.d.mts | ||
| extension-source-classifier.mjs | ||
| extension-test-plan.mjs | ||
| extension-vitest-paths.mjs | ||
| format-generated-module.mjs | ||
| gateway-bench-child.ts | ||
| gateway-bench-probes.ts | ||
| gateway-ws-client.ts | ||
| generated-output-utils.mjs | ||
| guard-inventory-utils.mjs | ||
| host-timeout.sh | ||
| import-cycle-graph.ts | ||
| ios-fastlane.sh | ||
| ios-version.ts | ||
| kova-report-gate.mjs | ||
| list-test-files.mjs | ||
| live-docker-auth.sh | ||
| live-docker-stage.sh | ||
| local-build-metadata-paths.d.mts | ||
| local-build-metadata-paths.mjs | ||
| local-build-metadata.d.mts | ||
| local-build-metadata.mjs | ||
| local-heavy-check-runtime.mjs | ||
| managed-child-process.mjs | ||
| merge-head-diff-base.mjs | ||
| mintlify-accordion.mjs | ||
| npm-pack-budget.d.mts | ||
| npm-pack-budget.mjs | ||
| npm-publish-plan.mjs | ||
| npm-verify-exec.ts | ||
| numeric-options.mjs | ||
| official-external-channel-catalog.json | ||
| official-external-plugin-catalog.json | ||
| official-external-provider-catalog.json | ||
| openclaw-e2e-instance.sh | ||
| openclaw-release-clawhub-plan.ts | ||
| openclaw-test-state.mjs | ||
| optional-bundled-clusters-types.d.ts | ||
| optional-bundled-clusters.d.mts | ||
| optional-bundled-clusters.mjs | ||
| package-dist-imports.mjs | ||
| package-root-args.mjs | ||
| pairing-guard-context.mjs | ||
| plain-gh.mjs | ||
| plain-gh.sh | ||
| plistbuddy.sh | ||
| plugin-clawhub-release.ts | ||
| plugin-contract-test-plan.mjs | ||
| plugin-gateway-gauntlet.mjs | ||
| plugin-npm-package-manifest.mjs | ||
| plugin-npm-release.ts | ||
| plugin-npm-runtime-assets.mjs | ||
| plugin-npm-runtime-build.mjs | ||
| plugin-package-dependencies.mjs | ||
| plugin-prerelease-test-plan.mjs | ||
| plugin-sdk-deprecated-barrel-subpaths.json | ||
| plugin-sdk-deprecated-public-subpaths.json | ||
| plugin-sdk-doc-metadata.ts | ||
| plugin-sdk-entries.d.mts | ||
| plugin-sdk-entries.mjs | ||
| plugin-sdk-entrypoints.json | ||
| plugin-sdk-private-local-only-subpaths.json | ||
| policy-config-coverage.jsonc | ||
| record-shared.mjs | ||
| regexp.mjs | ||
| release-beta-verifier.ts | ||
| release-upgrade-baseline.mjs | ||
| report-cli-helpers.mjs | ||
| restart-mac-gateway.sh | ||
| run-extension-oxlint.mjs | ||
| sleep.d.mts | ||
| sleep.mjs | ||
| source-file-scan-cache.mjs | ||
| stable-release-closeout.mjs | ||
| static-extension-assets.mjs | ||
| swift-toolchain.sh | ||
| test-group-report.mjs | ||
| ts-guard-utils.mjs | ||
| tsdown-output-roots.d.mts | ||
| tsdown-output-roots.mjs | ||
| tsgo-sparse-guard.mjs | ||
| version-script-args.ts | ||
| vitest-batch-runner.mjs | ||
| vitest-local-scheduling.d.mts | ||
| vitest-local-scheduling.mjs | ||
| vitest-report-cli-utils.mjs | ||
| vitest-shard-timings.mjs | ||
| windows-taskkill.d.mts | ||
| windows-taskkill.mjs | ||
| workspace-bootstrap-smoke.mjs | ||