Skip to content

Hint Odoo company_type, Etsy array tag refusals, weclapp customerNumber - #1569

Merged
helpcodeai merged 2 commits into
mainfrom
fix/weclapp-odoo-etsy-hints
Nov 7, 2026
Merged

helpcodeai merged 2 commits into
mainfrom
fix/weclapp-odoo-etsy-hints

Conversation

@helpcodeai

Copy link
Copy Markdown
Contributor

Summary

Three tool errors from the Cloud check of 2026-11-07 (window 6 Nov 08:00 to 7 Nov 08:00 UTC) where our adapter text or error hint sent the model the wrong way:

  1. Odoo company_type: Odoo saas-19.3 and later (20.0 included) no longer have company_type on res.partner. 5 workspaces failed on read, search_read, create and write. Odoo 19.0 and older still have it (52 successful creates in 10 workspaces in 14 days), so nothing is blocked before the call. The create/write wording Invalid field 'x' in 'model' and the KeyError on write got no hint at all.
  2. Etsy tag limit: etsy_create_listing_draft gets Etsy's refusal as a JSON array ([{"path":"/tags","type":"too_long","message":"cannot be more than 20 characters"}]), which the Name Etsy tags over the 20-character limit when Etsy refuses them #1553 hint did not match.
  3. weclapp customerNumber: sales orders and invoices have no customerNumber, also not as a filter (400 unknown property: customerNumber, 4 in 3 workspaces + 1 on invoices). The error hint already said so; the tool descriptions now say it before the first call.

Same behaviour on Cloud and self-hosted. Description-only adapter changes are applied by the catalog auto-sync at boot; no "Apply update" needed.

Changes

  • error-hints.ts: new Odoo company_type hint (is_company instead), the generic Odoo field hint also matches in '<model>', the Etsy tag pattern also matches the array form.
  • intl/odoo.json: field and value descriptions of read/search_read/create/write mention is_company for saas-19.3+.
  • de/weclapp.json: weclapp_list_sales_orders and weclapp_list_invoices say to look the customer up with weclapp_list_customers and filter on customerId.
  • error-hints.spec.ts: tests for the three cases.

Type

  • Bug fix
  • New feature
  • Documentation
  • Refactoring
  • Performance improvement
  • Other (describe below)

Testing

  • Added/updated unit tests
  • Tested manually (describe steps below)
  • No tests needed (explain why)

Commands and results:

  • Root: node scripts/validate-adapters.mjs --warn → 729 passed, 0 failed, 1440 warnings, none in odoo.json or weclapp.json (all existing). node scripts/regenerate-catalog.mjs → no diff. node scripts/adapter-count.mjs --check → OK (713). node scripts/generate-llms-txt.mjs --check → passes.
  • packages/backend: npx jest --maxWorkers=4 src/mcp-server/error-hints.spec.ts → 58 passed. Adapter specs for odoo, weclapp and catalog → 9 suites passed; catalog-summary.spec.ts could not compile locally because my node_modules miss @types/picomatch (unrelated to this diff, CI has it).

Checklist

  • My code follows the existing code style
  • I have tested my changes locally
  • I have updated documentation (if applicable)
  • All existing tests pass (npm test)
  • This PR has a descriptive title

Related Issues

Found in the daily Cloud tool-error review (2026-11-07).

@helpcodeai
helpcodeai requested a review from D3nisty as a code owner November 7, 2026 08:17
@helpcodeai
helpcodeai enabled auto-merge (squash) November 7, 2026 08:41
@helpcodeai
helpcodeai merged commit 8638c46 into main Nov 7, 2026
16 checks passed
@helpcodeai
helpcodeai deleted the fix/weclapp-odoo-etsy-hints branch November 7, 2026 08:58
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 7, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant