Skip to content

fix: preserve tool budget on unknown tools - #270

Merged
David-patrick-chuks-02 merged 2 commits into
Lilly-Protocol:mainfrom
alexsmolya:bounty/issue-256-preserve-tool-budget
Sep 6, 2026
Merged

fix: preserve tool budget on unknown tools#270
David-patrick-chuks-02 merged 2 commits into
Lilly-Protocol:mainfrom
alexsmolya:bounty/issue-256-preserve-tool-budget

Conversation

@alexsmolya

Copy link
Copy Markdown
Contributor

Summary

  • Resolve the requested tool before consuming the task's tool-call budget.
  • Preserve the existing max-call enforcement and typed TOOL_NOT_FOUND errors.
  • Add regressions proving unknown lookups do not consume budget and that a valid call can follow one with maxToolCallsPerTask: 1.

Validation

  • Focused ActionExecutor tests: 10/10 passed.
  • npm run build: passed.
  • npm run verify: format check, lint, and typecheck passed.
  • The full test phase recorded 227 passing tests and one unrelated pre-existing failure in tests/memory/in-memory-memory-store.property.test.ts: RangeError: Invalid time value from the existing fc.date().map((d) => d.toISOString()) fixture. The full suite is not being represented as green.

Fixes #256

@David-patrick-chuks-02
David-patrick-chuks-02 merged commit 79af57b into Lilly-Protocol:main Sep 6, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bounty: $95] Consume a task's tool-call budget only after its tool is resolved in ActionExecutor.execute

3 participants