@askalf/dario 3.38.5 → 3.38.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cc-template.js +18 -10
  2. package/package.json +1 -1
@@ -833,16 +833,24 @@ const TOOL_MAP = {
833
833
  // • hybrid mode → dropped, so the model doesn't see a broken tool;
834
834
  // • --preserve-tools → client's real schema flows through untouched
835
835
  // (recommended for agents that depend on ask-user flows).
836
- todo_read: {
837
- ccTool: 'TodoWrite',
838
- translateArgs: () => ({ todos: [] }),
839
- translateBack: () => ({}),
840
- },
841
- todo_write: {
842
- ccTool: 'TodoWrite',
843
- translateArgs: (a) => ({ todos: a.todos || [] }),
844
- translateBack: (a) => ({ todos: a.todos ?? [] }),
845
- },
836
+ // Intentionally unmapped (CC v2.1.142): Anthropic removed TodoWrite /
837
+ // TodoRead from the CC tool catalog in favor of the Task* family
838
+ // (TaskCreate / TaskGet / TaskList / TaskOutput / TaskStop / TaskUpdate).
839
+ // The previous `todo_read`/`todo_write` → `TodoWrite` mappings now point
840
+ // at a destination tool that no longer exists in the bundled or live
841
+ // template, so the schema-contract test correctly fails for them.
842
+ //
843
+ // We drop the mappings rather than remap to Task* because the semantics
844
+ // diverge: TodoWrite replaced an entire flat todo list per call; Task*
845
+ // is single-task-by-ID. A `todo_write` → `TaskCreate` rewrite would
846
+ // silently truncate a list-write to creating only the first item. The
847
+ // unmapped-tool path handles legacy clients honestly:
848
+ // • default mode → round-robin to a fallback CC tool (lossy but the
849
+ // upstream accepts the request);
850
+ // • hybrid mode → dropped, so the model doesn't see a phantom tool;
851
+ // • --preserve-tools → client's real schema flows through untouched
852
+ // (recommended for clients that actually depend on todo semantics).
853
+ //
846
854
  // Intentionally unmapped (dario#43): CC has no notebook-read tool, and
847
855
  // routing a read to NotebookEdit with empty new_source either fails the
848
856
  // schema (`new_source` required) or executes a destructive no-op edit.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askalf/dario",
3
- "version": "3.38.5",
3
+ "version": "3.38.6",
4
4
  "description": "Use your Claude Pro/Max subscription in any tool — Cursor, Cline, Aider, the Agent SDK, your scripts — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint.",
5
5
  "type": "module",
6
6
  "bin": {