Skip to content

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Aug 06:56
· 4209 commits to main since this release

@veyyon/ai

Added

  • setAnthropicProviderModule, setOpenAICompletionsProviderModule, setOpenAIResponsesProviderModule, setGoogleProviderModule, setGoogleGeminiCliProviderModule, setGoogleVertexProviderModule, setOllamaProviderModule, and setDevinProviderModule are exported from @veyyon/ai/providers/register-builtins to allow deterministic provider stream simulation across production provider API routing and lazy watchdog wrappers.

@veyyon/coding-agent

Changed

  • The todo board is back to the tree list it was before 1.1.0: one status glyph per task, open work first, the phase in parentheses after the content, and the withheld count on the last row. The panel form shipped in 1.1.0 is reverted — Roman-numeral phase headings, per-phase fractions, the header progress gauge, the indented rail body and the fourteen-frame entrance are all gone. The board is static again: it is drawn once when the result lands and never repaints, so nothing on it moves after a write and no interval is armed for it.

Fixed

  • A todo call that names no operation is refused by validation instead of by the executor. op was plainly optional for one release so a Claude/Cursor TodoWrite payload (which carries todos and no op) would validate, and that made the schema lie about every other shape: {"task":"Scaffold"} and {"operation":"start","task":"Scaffold"} both validated CLEAN — a missing optional field is legal, and an undeclared key is not refused for an ArkType-authored tool — after which the executor answered Missing op; pass op explicitly, naming a field the call had just been told it could leave out. The repair layer reported the same call clean, so all three layers declined to act and a model that believed it had named its operation retried the identical payload. op is now required by a schema-level narrow that admits its absence only alongside todos, so the compatibility whole-board write keeps working and every other shape is refused where the repair loop and the model-facing error path can act on it. A narrow rather than a required property, and rather than a union of the two shapes, because a top-level union converts to anyOf and the Anthropic tool-schema builder reads properties off the root, so a union would advertise the tool as an object with no fields at all.
  • operation and action are repaired onto op for any tool that declares one (todo, goal). A model reaching for the operation field writes the whole word; the value used to sit in the call untouched, because an undeclared key on an ArkType-authored tool is not refused, and the tool then reported the field missing.
  • A todo call carrying an empty todos list is refused instead of guessed at. An empty container is not a read: with merge: false it says "replace my board with nothing", which is destructive, and with merge: true it says nothing at all. It used to be inferred as an init and could clear the board. The refusal names the operation that does mean it — An empty "todos" list cannot initialize or clear todos. Pass op explicitly: op "rm" clears the board — and the recorded board is returned unchanged.
  • An unrecognized op reaching applyOpsToPhases returns the board and names the op instead of returning undefined phases and crashing the next read of it. The tool schema cannot produce one, but the /todo slash command and any extension build ops themselves and never pass through it.

What changed

23 commits since v1.1.0.

Fixes

  • fix(ci): repair provider format and docs link
  • fix(ai): accept semantic OpenAI stream EOF
  • fix(todo): dropping a task is not doing it
  • fix(ci): bound the singleton bucket to a chunk like every other bucket
  • fix(demo): the hero declares the size of the file that is tracked
  • fix(todo): refuse a call that names no operation at the schema, not the executor

Refactors

  • refactor(ai): keep provider override types internal

Reverts

  • revert(todo): the board is the tree list it was before 1.1.0

Documentation

  • docs: refresh internal verification claims
  • docs(settings): regenerate the reference from the schema
  • docs(upstream): the radar is a script, not a scheduled workflow
  • docs(testing): plan whole-product Rust conformance
  • docs: standardize terminal proof captures

Tests

  • test(todo): accept dropped tally fragment in partition sweep
  • test(ci): serialize watchdog simulations
  • test(simulations): exercise lazy provider routing
  • test(ci): isolate singleton partition collisions

Build & CI

  • ci: stop mirroring upstream ports as issues

Chores

  • chore: regenerate root changelog
  • chore(legal): regenerate the embedded bundle after the UPSTREAM.md edit
  • chore: bump version to v1.1.1
  • chore(changelog): render the root from the package changelogs

Other changes

  • demo(hd): re-record the hero take and publish it at its native size