Compare commits

...

7 Commits

Author SHA1 Message Date
Vincent Koc
1d757318fb Chore: harden A2UI bundle dependency resolution 2026-02-21 02:25:00 -05:00
Vincent Koc
8882aab712 chore: remove unused teams hosting deps 2026-02-21 02:22:37 -05:00
Vincent Koc
70a92172d2 Chore: retag unused-dependency changelog entries 2026-02-21 02:15:15 -05:00
Vincent Koc
65578b0ef2 Merge branch 'main' into vincentkoc-code/deadcode-pass-3 2026-02-21 02:13:58 -05:00
Vincent Koc
24a4dc3590 Chore: restore dropped deadcode changelog entries 2026-02-21 02:11:42 -05:00
Vincent Koc
e3cf3a46af Chore: fix changelog PR reference 2026-02-21 02:10:21 -05:00
Vincent Koc
cef5c7bd3d Chore: remove unused extension dev dependencies 2026-02-21 02:09:44 -05:00
8 changed files with 41 additions and 81 deletions

View File

@@ -7,16 +7,18 @@ Docs: https://docs.openclaw.ai
### Changes
- Docs: fix FAQ typos and add documentation spellcheck automation with a custom codespell dictionary/ignore list, including CI coverage. (#22457) Thanks @vincentkoc.
- Dev tooling: add dead-code scans to CI via Knip/ts-prune/ts-unused-exports and report unused dependencies/exports in non-blocking checks. (#22468) Thanks @vincentkoc.
- Dev tooling: move `@larksuiteoapi/node-sdk` out of root `package.json` and keep it scoped to `extensions/feishu` where it is used. (#22471) Thanks @vincentkoc.
- Dev tooling: remove unused root dependency `signal-utils` from core manifest after confirming it was only used by extension-only paths. (#22471) Thanks @vincentkoc.
- Dev tooling: remove unused root devDependency `ollama` now that native Ollama support uses local HTTP transport code paths only. (#22471) Thanks @vincentkoc.
- Dev tooling: remove unused root devDependencies `@lit/context` and `@lit-labs/signals` flagged as unused by Knip dead-code reports. (#22471) Thanks @vincentkoc.
- Dev tooling: remove unused root dependency `lit` that is now scoped to `ui/` package dependencies. (#22471) Thanks @vincentkoc.
- Dev tooling: remove unused root dependencies `long` and `rolldown`; keep A2UI bundling functional by falling back to `pnpm dlx rolldown` when the binary is not locally installed. (#22481) Thanks @vincentkoc.
- Dev tooling: fix A2UI bundle resolution for removed root `lit` deps by resolving `lit`, `@lit/context`, `@lit-labs/signals`, and `signal-utils` from UI workspace dependencies in `rolldown.config.mjs` during bundling. (#22481) Thanks @vincentkoc.
- Dev tooling: simplify `canvas-a2ui` bundling script by removing temporary vendored `node_modules` symlink logic now that `ui` workspace dependencies are explicit. (#22481) Thanks @vincentkoc.
- Telegram: dedupe sent-message cache storage by removing redundant per-chat Set tracking and using the timestamp map as the single source of truth. (#22127) thanks @TaKO8Ki.
- Security/Unused Dependencies: add dead-code scans to CI via Knip/ts-prune/ts-unused-exports and report unused dependencies/exports in non-blocking checks. (#22468) Thanks @vincentkoc.
- Security/Unused Dependencies: move `@larksuiteoapi/node-sdk` out of root `package.json` and keep it scoped to `extensions/feishu` where it is used. (#22471) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused root dependency `signal-utils` from core manifest after confirming it was only used by extension-only paths. (#22471) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused root devDependency `ollama` now that native Ollama support uses local HTTP transport code paths only. (#22471) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused root devDependencies `@lit/context` and `@lit-labs/signals` flagged as unused by Knip dead-code reports. (#22471) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused root dependency `lit` that is now scoped to `ui/` package dependencies. (#22471) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused root dependencies `long` and `rolldown`; keep A2UI bundling functional by falling back to `pnpm dlx rolldown` when the binary is not locally installed. (#22481) Thanks @vincentkoc.
- Security/Unused Dependencies: harden A2UI bundling dependency resolution by resolving `lit`, `@lit/context`, `@lit-labs/signals`, and `signal-utils` from UI workspace or repo-root dependency locations to tolerate Docker layout differences without root-only assumptions. (#22504) Thanks @vincentkoc.
- Security/Unused Dependencies: fix A2UI bundle resolution for removed root `lit` deps by resolving `lit`, `@lit/context`, `@lit-labs/signals`, and `signal-utils` from UI workspace dependencies in `rolldown.config.mjs` during bundling. (#22481) Thanks @vincentkoc.
- Security/Unused Dependencies: simplify `canvas-a2ui` bundling script by removing temporary vendored `node_modules` symlink logic now that `ui` workspace dependencies are explicit. (#22481) Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused `@microsoft/agents-hosting-express` and `@microsoft/agents-hosting-extensions-teams` from `extensions/msteams` because current code only uses `@microsoft/agents-hosting`. Thanks @vincentkoc.
- Security/Unused Dependencies: remove unused plugin-local `openclaw` devDependencies from `extensions/open-prose`, `extensions/lobster`, and `extensions/llm-task` after removing this dependency from build-time requirements. (#22495) Thanks @vincentkoc.
- Agents/Subagents: default subagent spawn depth now uses shared `maxSpawnDepth=2`, enabling depth-1 orchestrator spawning by default while keeping depth policy checks consistent across spawn and prompt paths. (#22223) Thanks @tyler6204.
- Channels/CLI: add per-account/channel `defaultTo` outbound routing fallback so `openclaw agent --deliver` can send without explicit `--reply-to` when a default target is configured. (#16985) Thanks @KirillShchetinin.
- iOS/Chat: clean chat UI noise by stripping inbound untrusted metadata/timestamp prefixes, formatting tool outputs into concise summaries/errors, compacting the composer while typing, and supporting tap-to-dismiss keyboard in chat view. (#22122) thanks @mbelinky.

View File

@@ -5,6 +5,7 @@ import { defineConfig } from "rolldown";
const here = path.dirname(fileURLToPath(import.meta.url));
const repoRoot = path.resolve(here, "../../../../..");
const uiRoot = path.resolve(repoRoot, "ui");
const fromHere = (p) => path.resolve(here, p);
const outputFile = path.resolve(
here,
@@ -17,17 +18,26 @@ const outputFile = path.resolve(
const a2uiLitDist = path.resolve(repoRoot, "vendor/a2ui/renderers/lit/dist/src");
const a2uiThemeContext = path.resolve(a2uiLitDist, "0.8/ui/context/theme.js");
const a2uiNodeModules = path.resolve(repoRoot, "ui/node_modules");
const rootNodeModules = path.resolve(repoRoot, "node_modules");
const uiNodeModules = path.resolve(uiRoot, "node_modules");
const repoNodeModules = path.resolve(repoRoot, "node_modules");
const resolveA2uiDep = (pkg, rel = "") => {
const uiPath = path.resolve(a2uiNodeModules, pkg, rel);
if (existsSync(uiPath)) {
return uiPath;
function resolveUiDependency(moduleId) {
const candidates = [
path.resolve(uiNodeModules, moduleId),
path.resolve(repoNodeModules, moduleId),
];
for (const candidate of candidates) {
if (existsSync(candidate)) {
return candidate;
}
}
return path.resolve(rootNodeModules, pkg, rel);
};
const fallbackCandidates = candidates.join(", ");
throw new Error(
`A2UI bundle config cannot resolve ${moduleId}. Checked: ${fallbackCandidates}. ` +
"Keep dependency installed in ui workspace or repo root before bundling.",
);
}
export default defineConfig({
input: fromHere("bootstrap.js"),
@@ -40,13 +50,13 @@ export default defineConfig({
"@a2ui/lit": path.resolve(a2uiLitDist, "index.js"),
"@a2ui/lit/ui": path.resolve(a2uiLitDist, "0.8/ui/ui.js"),
"@openclaw/a2ui-theme-context": a2uiThemeContext,
"@lit/context": resolveA2uiDep("@lit/context", "index.js"),
"@lit/context/": resolveA2uiDep("@lit/context"),
"@lit-labs/signals": resolveA2uiDep("@lit-labs/signals", "index.js"),
"@lit-labs/signals/": resolveA2uiDep("@lit-labs/signals"),
lit: resolveA2uiDep("lit", "index.js"),
"lit/": resolveA2uiDep("lit"),
"signal-utils/": resolveA2uiDep("signal-utils"),
"@lit/context": resolveUiDependency("@lit/context"),
"@lit/context/": resolveUiDependency("@lit/context/"),
"@lit-labs/signals": resolveUiDependency("@lit-labs/signals"),
"@lit-labs/signals/": resolveUiDependency("@lit-labs/signals/"),
lit: resolveUiDependency("lit"),
"lit/": resolveUiDependency("lit/"),
"signal-utils": resolveUiDependency("signal-utils"),
},
},
output: {

View File

@@ -4,9 +4,6 @@
"private": true,
"description": "OpenClaw JSON-only LLM task plugin",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -3,9 +3,6 @@
"version": "2026.2.20",
"description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"openclaw": {
"extensions": [
"./index.ts"

View File

@@ -5,8 +5,6 @@
"type": "module",
"dependencies": {
"@microsoft/agents-hosting": "^1.2.3",
"@microsoft/agents-hosting-express": "^1.2.3",
"@microsoft/agents-hosting-extensions-teams": "^1.2.3",
"express": "^5.2.1"
},
"devDependencies": {

View File

@@ -4,9 +4,6 @@
"private": true,
"description": "OpenProse VM skill pack plugin (slash command + telemetry).",
"type": "module",
"devDependencies": {
"openclaw": "workspace:*"
},
"openclaw": {
"extensions": [
"./index.ts"

47
pnpm-lock.yaml generated
View File

@@ -340,17 +340,9 @@ importers:
specifier: workspace:*
version: link:../..
extensions/llm-task:
devDependencies:
openclaw:
specifier: workspace:*
version: link:../..
extensions/llm-task: {}
extensions/lobster:
devDependencies:
openclaw:
specifier: workspace:*
version: link:../..
extensions/lobster: {}
extensions/matrix:
dependencies:
@@ -413,12 +405,6 @@ importers:
'@microsoft/agents-hosting':
specifier: ^1.2.3
version: 1.2.3
'@microsoft/agents-hosting-express':
specifier: ^1.2.3
version: 1.2.3
'@microsoft/agents-hosting-extensions-teams':
specifier: ^1.2.3
version: 1.2.3
express:
specifier: ^5.2.1
version: 5.2.1
@@ -446,11 +432,7 @@ importers:
specifier: workspace:*
version: link:../..
extensions/open-prose:
devDependencies:
openclaw:
specifier: workspace:*
version: link:../..
extensions/open-prose: {}
extensions/signal:
devDependencies:
@@ -1573,14 +1555,6 @@ packages:
resolution: {integrity: sha512-XRQF+AVn6f9sGDUsfDQFiwLtmqqWNhM9JIwZRzK9XQLPTQmoWwjoWz8KMKc5fuvj5Ybly3974VrqYUbDOeMyTg==}
engines: {node: '>=20.0.0'}
'@microsoft/agents-hosting-express@1.2.3':
resolution: {integrity: sha512-aBgvyDJ+3ifeUKy/56qQuLJPAizN9UfGV3/1GVrhmyAqUKvphusK3LMxiRTpHDhAaUvuzFOr1AJ8XiRhOl9l3w==}
engines: {node: '>=20.0.0'}
'@microsoft/agents-hosting-extensions-teams@1.2.3':
resolution: {integrity: sha512-fZcn8JcU50VfjBgz6jTlCRiQReAZzj2f2Atudwa+ymxJQhfBb7NToJcY7OdLqM8hlnQhzAg71HJtGhPR/L2p1g==}
engines: {node: '>=20.0.0'}
'@microsoft/agents-hosting@1.2.3':
resolution: {integrity: sha512-8paXuxdbRc9X6tccYoR3lk0DSglt1SxpJG+6qDa8TVTuGiTvIuhnN4st9JZhIiazxPiFPTJAkhK5JSsOk+wLVQ==}
engines: {node: '>=20.0.0'}
@@ -7414,21 +7388,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@microsoft/agents-hosting-express@1.2.3':
dependencies:
'@microsoft/agents-hosting': 1.2.3
express: 5.2.1
transitivePeerDependencies:
- debug
- supports-color
'@microsoft/agents-hosting-extensions-teams@1.2.3':
dependencies:
'@microsoft/agents-hosting': 1.2.3
transitivePeerDependencies:
- debug
- supports-color
'@microsoft/agents-hosting@1.2.3':
dependencies:
'@azure/core-auth': 1.10.1

View File

@@ -89,7 +89,7 @@ pnpm -s exec tsc -p "$A2UI_RENDERER_DIR/tsconfig.json"
if command -v rolldown >/dev/null 2>&1; then
rolldown -c "$A2UI_APP_DIR/rolldown.config.mjs"
else
pnpm dlx "rolldown@1.0.0-rc.5" -c "$A2UI_APP_DIR/rolldown.config.mjs"
pnpm -s dlx rolldown -c "$A2UI_APP_DIR/rolldown.config.mjs"
fi
echo "$current_hash" > "$HASH_FILE"