fix: cast customTools to any to fix type mismatch with SDK#231
Closed
cash-echo-bot wants to merge 1 commit intoopenclaw:mainfrom
Closed
fix: cast customTools to any to fix type mismatch with SDK#231cash-echo-bot wants to merge 1 commit intoopenclaw:mainfrom
cash-echo-bot wants to merge 1 commit intoopenclaw:mainfrom
Conversation
The pi-coding-agent SDK's ToolDefinition.execute signature differs from clawdbot's AnyAgentTool.execute (parameter order for onUpdate/signal/ctx). This cast allows the build to succeed while the types are misaligned. Fixes openclaw#230
Contributor
|
Thanks for the contribution! The type cast isn't needed anymore, so we're going to close this PR for now. Appreciate the help. |
dgarson
added a commit
to dgarson/clawdbot
that referenced
this pull request
Feb 9, 2026
* feat: add configurable subsystem debug log suppression * docs: add changelog entry and test script for suppressSubsystemDebugLogs * docs: add implementation summary * feat(meridia): multi-factor memory relevance scoring system Implement a comprehensive scoring system that evaluates whether experiences should become long-term memories based on five weighted factors: - **Novelty**: Is this new information or repetition? - **Impact**: Does this change understanding, behavior, or system state? - **Relational**: Does this connect to known entities/people/projects? - **Temporal**: Is this time-sensitive or evergreen? - **User Intent**: Was this explicitly marked as important? Features: - Configurable weights for each factor (normalized to sum to 1.0) - Named threshold profiles: balanced, aggressive, conservative, minimal - Override rules for specific tools (glob-pattern matching) - evaluateMemoryRelevance() as primary entry point - shouldCapture(), shouldPersistToGraph(), shouldUseLlmEval() helpers - Backward-compatible evaluateHeuristic() now delegates to scoring system - New evaluateHeuristicDetailed() returns full scoring breakdown - 37 comprehensive tests covering all factors and edge cases Files: - extensions/meridia/src/meridia/scoring/types.ts - extensions/meridia/src/meridia/scoring/config.ts - extensions/meridia/src/meridia/scoring/factors.ts - extensions/meridia/src/meridia/scoring/index.ts - extensions/meridia/src/meridia/scoring/scoring.test.ts - extensions/meridia/src/meridia/evaluate.ts (updated) * SDK runner: close message processing parity gaps with Pi embedded agent - Gap 1 (HIGH): Add streaming block replies during the event loop via blockReplyBreak/blockReplyChunking params. Supports "message_end" (flush at message boundaries) and "text_end" (per-chunk) modes, matching Pi embedded's streaming delivery. Final onBlockReply is skipped when streaming was active to avoid duplicate delivery. - Gap 2 (MEDIUM): Add onReasoningStream callback support. Extract thinking/reasoning text from SDK events classified as "system" and emit via the new callback, enabling reasoning display in UIs. - Gap 3 (MEDIUM): Reset chunks/assistantSoFar at message boundaries so onPartialReply reflects only the current message, not accumulated text from all prior turns. - Gap 5 (LOW-MED): Add enforceFinalTag support. When enabled, only content inside <final>...</final> tags is returned, preventing intermediate narration leakage from non-Claude models. Adds shared extractFinalTagContent() utility. - Gap 6 (LOW-MED): Map all payload fields (mediaUrl, mediaUrls, replyToId, replyToTag, replyToCurrent, audioAsVoice) in adaptSdkResultToPiResult to prevent silent field loss. Wire all new params through the full chain: executor.ts → AgentRuntimeRunParams → sdk-agent-runtime → sdk-runner-adapter → sdk-runner https://claude.ai/code/session_013FRzxnpzCwncubghL7GGCF * additional merge conflict resolution * Merge origin/main into claude/review-message-processing-djLHt Resolve merge conflicts in meridia scoring module by taking origin/main's refactored multi-factor scoring system (scorer.ts, defaults.ts, updated types/factors/index). Remove HEAD-only scoring/config.ts and scoring.test.ts that used the old API (origin/main has proper tests in factors.test.ts and scorer.test.ts). Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix(meridia): add missing awaits in CLI + fix sanitizeForPersistence JSON corruption * feat(overseer): add Decision Audit Log — overseer.events API + UI view Add a new overseer.events gateway endpoint for querying the Overseer's event log with filtering (by goal, event type, time range), pagination, and goal title enrichment. Backend: - OverseerEventsParams/Result schemas (TypeBox + Zod) - overseer.events handler with goalId, type, since/until, limit/offset filters - Goal title enrichment via cross-referencing store.goals - data field on OverseerEvent for extensible event metadata Frontend: - overseer-audit-log.ts: Full Lit-based audit log view with: - Timeline-style event rendering with colored badges and icons - Time range filter buttons (1h/24h/7d/30d/All) - Event type dropdown filter - Goal dropdown filter - Full-text search across event data - Expandable JSON data viewer per event - Empty state and loading states - Paginated 'load more' for large event sets - Controller integration: loadAuditLogEvents, updateAuditLogFilter, toggleAuditLogExpand functions in overseer controller - AuditLogState added to OverseerState Part of the Decision Audit Log feature (BACKLOG P2). * feat(meridia): build session-end summaries and ingest to graphiti * feat(meridia): persist experiential captures to graphiti * feat: add test:affected and test:smart scripts for tiered test execution Implements David's request for optimized test execution with a 3-tier strategy: - test:affected: Uses Vitest's built-in `related` command with Vite's module graph to find tests that transitively import any file changed in the current branch. Fastest option (~10-30s) for quick iteration feedback. - test:smart: Extends affected with heuristic discovery strategies: 1. Co-located tests (foo.ts → foo.test.ts) 2. Directory proximity (changed src/cron/state.ts → all src/cron/**/*.test.ts) 3. Index/barrel file fan-out for re-export changes 4. Vitest related module graph analysis Both scripts: - Compare against main by default (--base to override) - Accept --extra files for agent-specified additions - Run unit+extensions in parallel, gateway serial (matches test-parallel.mjs) - Support --verbose and --discovery-only (smart only) modes - Use --passWithNoTests to never fail when no tests match Agent workflow: iterate with test:affected → finish with test (exhaustive) Expected ~90%% reduction in test time during iteration phases. * fix: windows fixes --------- Co-authored-by: Claude <[email protected]>
heatherstew44-maker
pushed a commit
to heatherstew44-maker/openclaw
that referenced
this pull request
Mar 8, 2026
GGzili
pushed a commit
to GGzili/moltbot
that referenced
this pull request
Mar 16, 2026
67d6e403d Merge pull request openclaw#352 from Zhumin-lv-wn/fix/card-finalize-use-accumulated-content bddb4427f fix(card): fix AI Card streaming finalization bugs c535af6c5 Merge pull request openclaw#350 from Zhumin-lv-wn/fix/card-finalize-use-accumulated-content d044bf291 fix(card): fix AI Card streaming finalization bugs de7b25ced Merge pull request openclaw#344 from ming1523/pr/dingtalk-thinking-reaction-clean-main-20260315 c66604576 test(dingtalk): 补充 emoji 模式说明与测试 ca98030cf merge(main): 同步最新主线并清理 PR344 冲突 60071fc60 refactor(dingtalk): 收敛 ack reaction API 调用 0babd7cbe chore(todo): regroup PRs under task checklist items 27922ce76 fix(dingtalk): 补齐 ackReaction review 收尾 e7998195b feat(dingtalk): 支持 ackReaction emoji 模式 094b6bd15 merge(main): 解决 PR344 与主线冲突 110d12deb test(dingtalk): 补强 ackReaction 自定义文本覆盖 8b8fd1482 feat(dingtalk): align ack reaction config with official docs 3c86d7a72 Merge pull request openclaw#348 from Zhumin-lv-wn/fix/card-finalize-use-accumulated-content 9f20a89f8 test(card): verify finalize uses accumulated content across multi-turn tool calls 12762e872 fix(card): use accumulated content for AI Card finalization f2bd84788 chore(todo): align latest issue/pr findings into existing hierarchy 00a80263a Merge pull request openclaw#346 from aoxiaotian-ai/fix/inbound-handler-textToSend-type a2a897ab1 fix(inbound-handler): guard textToSend undefined in card final/tool deliver 50e44f212 Merge pull request openclaw#313 from bkloveming/fix/peer-id-lazy-preload-for-delivery-queue 04e3b98c8 Merge pull request openclaw#311 from LazyBug1E0CF/fix/dingtalk-reply-media bb6da5d38 test: cover inbound reply media delivery paths 883a7931a fix: deliver MEDIA attachments in inbound reply handler 418a4b450 Merge pull request openclaw#341 from Zhumin-lv-wn/perf/streaming-response-optimization 2f1d906b8 fix: retry peer-id preload on top-level failures 9ede8d331 fix: harden peer-id preload idempotency and coverage 413517940 fix: lazy-preload peer ID registry to fix 400 errors in delivery queue e29e36072 Merge pull request openclaw#343 from soimy/codex/fix-dingtalk-idle-reconnect dc1f5194e Merge pull request openclaw#248 from androidshu/codex/fix-action-send-mediaurl-upload e22a8b781 test(integration): cover actions.send mediaUrl redirect upload chain fb626f1b4 Merge remote-tracking branch 'origin/main' into codex/pr-248 d1c012877 fix(dingtalk): harden mediaUrl prepare and redirect DNS pinning 332cddd23 feat(dingtalk): parse pdf/docx text into context (openclaw#298) d435be58c fix: address copilot review feedback 34edb2178 fix: restore connection manager heartbeat monitoring db3071c3e fix: stabilize dingtalk stream reconnect baseline 95a3fbbd8 fix: add curly braces for early returns (lint curly rule) a691fe2dc Merge branch 'soimy:main' into perf/streaming-response-optimization dee2ad1eb docs: clarify thinking always streams; add answerPrefix threshold tests 298cea5e1 fix: answerPrefix threshold and disableBlockStreaming condition 0579f1281 feat(dingtalk): add AI Card streaming optimization with CardDraftController 2aec0034e Revert "Merge pull request openclaw#332 from ming1523/pr/dingtalk-thinking-reaction-main-20260314" ee259200c Merge pull request openclaw#332 from ming1523/pr/dingtalk-thinking-reaction-main-20260314 b0f4f7762 fix(dingtalk): prefer thinking reaction feedback 41abbc12a fix(dingtalk): tighten thinking reaction gating 06a6f5d0f feat(dingtalk): add native thinking reaction feedback 5970a7af1 chore(todo): align latest issue/pr findings into existing hierarchy 862bfca8f fix: add connection manager heartbeat e30c2f0da refactor: remove unsupported socket idle reconnect path bf4a1233c fix: avoid idle reconnects on quiet stream connections e49cd9f44 Revert "feat(dingtalk): 增加异步回执模式" (openclaw#334) 54dff048e chore: add .playwright to .gitignore for generated files e76461b29 chore(todo): align latest issue/pr findings into existing hierarchy 3aea182c6 Merge pull request openclaw#231 from huww98/fix/stop-reason c296ff109 Merge pull request openclaw#295 from ming1523/pr/async-mode-connector-borrow-20260311 bcfd1db7d fix: don't supress stop reason e00f8f324 docs: add README table of contents 53fe911fd Merge remote-tracking branch 'origin/main' into pr-check-295 79f583443 fix(dingtalk): keep control aliases off async path 4ac48703b fix(dingtalk): force markdown replies in async mode cfda4c05c docs(dingtalk): trim unrelated README drift from async ack PR a9198437a fix(dingtalk): keep async inflight lock until completion 97638c7cf fix(dingtalk): tighten async ack delivery semantics 061305ef2 fix(dingtalk): import async mode config type 84f092c80 feat(dingtalk): add async ack mode for inbound messages git-subtree-dir: extensions/dingtalk git-subtree-split: 67d6e403db157e08d7658186756c4cbd16f9fd0c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the TypeScript build error introduced in 110e225 where
customToolstype doesn't match the SDK's expectedToolDefinition[].Changes
Cast
customToolstoanyas a workaround for the type mismatch between:ToolDefinition.execute(toolCallId, params, onUpdate, ctx, signal)AnyAgentTool.execute(toolCallId, params, signal, onUpdate)Testing
pnpm build)Fixes #230