Cowork B: Mealie, Obsidian and search tools return artifacts #61
Reference in New Issue
Block a user
Delete Branch "feat/cowork-tool-artifacts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Task B (part 1) from
docs/cowork-ui-plan.md.What
These tools now use
@tool(response_format="content_and_artifact")and return(text, artifact):mealie_get_recipemealie.recipemealie_meal_plans,mealie_todays_mealsmealie.meal_planmealie_shopping_listsmealie.shopping_listsobsidian_read_note,journal_get_todayobsidian.notesimba_search,obsidian_search_notessearch.documentsblueprints/conversation/artifacts_util.py: titles, date ranges, snippet and note caps, JSON-safe frontmatter, and the Mealie/Obsidiansource_reflinks..env.example+docker-compose.yml):MEALIE_GROUP_SLUG, defaulthome, for/g/<group>/r/<slug>recipe linksOBSIDIAN_VAULT_NAME;obsidian://openlinks only appear when it's set.envif needed.ToolMessage.artifactand are ignored.Test plan
pytest tests/ -q: 147 passed. Newtest_tool_artifacts.py(22 tests) invokes the tools with ToolCall dicts and checks the exact text, the artifact shapes, the error paths and JSON serialisability.🤖 Generated with Claude Code
Updated: rebased onto main after #55 and #60 merged, resolving the agents.py conflict in #55's favour. Added a second commit with the YNAB artifacts from blueprints/ynab/tools.py: ynab.summary, ynab.transactions (≤ 500 rows, ordered by id as a tie-breaker), ynab.spending_report and ynab.category_budget. age_of_money and goal_target are optional, and start_date can be null for open-ended transaction searches. 240 tests pass. Coordinator review: 2 passes, no blocking findings.
84dd972ed0to20ec7ca8b6