Description: [18.0] Odoo by Adhoc
Commit: ingadhoc-odoo-saas-adhoc:d26c44e4  
Subject: [ADD] saas_provider_adhoc: add abc_threshold_tolerance field
Author: Virginia
Committer: Virginia
Commit: ingadhoc-sale:6ffc346c  
Subject: [FIX] sale_order_type_automation: add condition to force compute move names for invoice lines when name of the invoice is set
Author: Rocío Vega
Committer: Rocío Vega
Commit: ingadhoc-odoo-saas:312b77cc  
Subject: [FIX] saas_k8s: Log error message in main execution for better debugging
Author: Andrés Zacchino
Committer: Andrés Zacchino
Commit: ingadhoc-uruguay:bd4f0101  
Subject: [FIX] l10n_uy_ux: CompraID on final consumer
Author: Katherine Zaoral
Committer: Katherine Zaoral
Commit: ingadhoc-enterprise-extensions:85997c96  
Subject: [FIX] l10n_ar_account_direct_debit: remove readonly on partner_bank_id field
Author: Camila Vives
Committer: Camila Vives
Commit: ingadhoc-odoo-argentina-ee:4fe9fba1  
Subject: [FIX] l10n_ar_account_tax_settlement: 0.0 on IIBB
Author: Katherine Zaoral
Committer: Katherine Zaoral
Commit: ingadhoc-website:c547fe1b  
Subject: [IMP] website_sale_ux: change cache control header for website images
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-account-financial-tools:ee58ba73  
Subject: [FIX] account_ux: Payment automatic change to paid
Author: Katherine Zaoral
Committer: Katherine Zaoral
Commit: plugberry-payment:1881290c  
Subject: Merge pull request #164 from plugberry/18.0.payway-refunds
Author: ErnestoAxcelere
Committer: GitHub
Commit: ingadhoc-account-payment:742e2317  
Subject: [FIX] l10n_ar_payment_bundle: Add force save partner _id field in bundle payment form
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-odoo-argentina:ec03c1e7  
Subject: [FIX] l10n_ar_ux: rounding logic
Author: Katherine Zaoral
Committer: Katherine Zaoral
Commit: ingadhoc-argentina-sale:3a21255a  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-purchase:59f91500  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-stock:130ce704  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-demo:545b67bb  
Subject: [IMP] si no especificamos companía en los templates toma por defecto mueblería US y no se ven los templates para las otras compnaías
Author: Lara
Committer: Lara
Commit: plugberry-pagos360:f3081782  
Subject: [IMP] payment_pagos360: find similar transactions for token
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-project:7116af0d  
Subject: [ADD]project_ux:subtask filter
Author: Juan Ignacio Carreras
Committer: Juan Ignacio Carreras
Commit: ingadhoc-account-invoicing:c4cb752a  
Subject: [FIX] account_invoice_tax: Fixed amount in cc for taxes
Author: Felipe Garcia Suez
Committer: Felipe Garcia Suez
Commit: ingadhoc-third-party-apps:f384626a  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: plugberry-mercadopago:61985a54  
Subject: [FIX] cleaner.yml
Author: Andrés Zacchino
Committer: GitHub
Commit: ingadhoc-hr:6c61e976  
Subject: [FIX] cleaner.yml
Author: Andrés Zacchino
Committer: GitHub
Commit: ingadhoc-delivery:023965ee  
Subject: [FIX] cleaner.yml
Author: Andrés Zacchino
Committer: GitHub
Commit: ingadhoc-product:7a195c92  
Subject: Update cleaner.yml
Author: Virginia Bonservizi
Committer: GitHub
Commit: ingadhoc-miscellaneous:1d49ec19  
Subject: [FIX] cleaner.yml
Author: Andrés Zacchino
Committer: GitHub
Commit: ingadhoc-partner:aab3b517  
Subject: Merge pull request #131 from adhoc-dev/18.0-update-partner
Author: Virginia Bonservizi
Committer: GitHub
Commit: ingadhoc-multi-store:ca23aa35  
Subject: Create cleaner.yml
Author: Virginia
Committer: Virginia Bonservizi
Commit: ingadhoc-aeroo_reports:b4f22607  
Subject: Create cleaner.yml
Author: Virginia
Committer: Virginia Bonservizi
Commit: ingadhoc-multi-company:d5ea2a4b  
Subject: Create cleaner.yml
Author: Virginia
Committer: Virginia Bonservizi
Commit: adhoc-cicd-bmya-odoo-bmya:a3bd4293  
Subject: Merge pull request #70 from bmya/18.0-add-edi-fix-validation
Author: Daniel Blanco
Committer: GitHub
Commit: adhoc-cicd-oca-hr:43d6da7f  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-mail:5795b4ab  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-odoo-odoo:44e81807  
Subject: Merge commit 'refs/pull/184132/head' of github.com:odoo/odoo into 18.0-16724
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-pos:ae2ccccc  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-stock-logistics-request:ca2418f8  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-account-analytic:5263bcc2  
Subject: Merge commit 'refs/pull/750/head' of github.com:oca/account-analytic into 18.0-16680
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-availability:bfc57dec  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-account-reconcile:9f2f85d8  
Subject: Merge commit 'refs/pull/849/head' of github.com:oca/account-reconcile into 18.0-16688
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-timesheet:80618133  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-odoo-enterprise:7888cfca  
Subject: Merge commit 'refs/pull/77062/head' of github.com:odoo/enterprise into 18.0-16722
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-survey:15a049d7  
Subject: Translated using Weblate (Spanish)
Author: Miquel Romera
Committer: Weblate
Commit: adhoc-cicd-oca-website:c2e72b75  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-backend:8767d1d1  
Subject: Translated using Weblate (French)
Author: matnoublanche
Committer: Weblate
Commit: adhoc-cicd-odoo-design-themes:7c576f57  
Subject: [I18N] *: fetch translation updates
Author: Odoo Translation Bot
Committer: Odoo Translation Bot
Commit: adhoc-cicd-oca-partner-contact:e3b7009f  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: adhoc-cicd-oca-server-auth:33994c90  
Subject: Merge commit 'refs/pull/828/head' of github.com:oca/server-auth into 18.0-16714
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-knowledge:a295aaad  
Subject: Translated using Weblate (Swedish)
Author: jakobkrabbe
Committer: Weblate
Commit: adhoc-cicd-oca-product-attribute:a380809d  
Subject: Merge commit 'refs/pull/1771/head' of github.com:oca/product-attribute into 18.0-16719
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-brand:4770099c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-mis-builder:8c064ba4  
Subject: Merge commit 'refs/pull/706/head' of github.com:oca/mis-builder into 18.0-16696
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-account-invoicing:783b133a  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-workflow:1af7bbaf  
Subject: Merge commit 'refs/pull/1976/head' of github.com:oca/stock-logistics-workflow into 18.0-16709
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-management-system:39f80e98  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-ux:cb99f4ef  
Subject: Merge commit 'refs/pull/1096/head' of github.com:oca/server-ux into 18.0-16704
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-e-commerce:38a7273a  
Subject: Merge commit 'refs/pull/1081/head' of github.com:oca/e-commerce into 18.0-16692
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-hr-expense:e5f0a339  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-manufacture:47cc26a5  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-crm:2cdaa289  
Subject: Translated using Weblate (Spanish)
Author: Javier Iza Ca
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-barcode:33b42d79  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-project:39cc85f7  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-tools:781d88c8  
Subject: Merge commit 'refs/pull/3201/head' of github.com:oca/server-tools into 18.0-16669
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-social:20f431ec  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-purchase-workflow:ffb013c5  
Subject: Merge commit 'refs/pull/2670/head' of github.com:oca/purchase-workflow into 18.0-16457
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-warehouse:40b359ad  
Subject: Added translation using Weblate (Slovak)
Author: Jan Prokop
Committer: Weblate
Commit: adhoc-cicd-oca-web:fac85f13  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-product-pack:b4db07b9  
Subject: Merge commit 'refs/pull/194/head' of github.com:oca/product-pack into 18.0-16720
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-hr-holidays:d86485e7  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-reporting-engine:85d1e232  
Subject: Translated using Weblate (Turkish)
Author: Tamer Sezgin
Committer: Weblate
Commit: adhoc-cicd-oca-sale-workflow:a60bba9d  
Subject: Merge commit 'refs/pull/3466/head' of github.com:oca/sale-workflow into 18.0-16702
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-bank-statement-import:ea7ce573  
Subject: Merge commit 'refs/pull/747/head' of github.com:oca/bank-statement-import into 18.0-16689
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-reservation:889ab70b  
Subject: Merge commit 'refs/pull/7/head' of github.com:oca/stock-logistics-reservation into 18.0-16708
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-report-print-send:2fab76cf  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Version: 18.0
Config: [18.0] Odoo by Adhoc Config (with tests)
Build time: 24m
Wait time: 24m
Load time: 23m33s
Date Level Type Message
2025-09-25 15:13:43 INFO runbot Init build environment with config [18.0] Odoo by Adhoc Config (with tests)
2025-09-25 15:13:43 Starting step 18-all-with-tests from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-25 15:13:43 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-25 15:14:00 INFO server odoo.modules.loading:360 1 modules loaded in 7.47s, 9238 queries (+9238 extra)
2025-09-25 15:22:02 INFO server odoo.addons.l10n_ar_edi.models.res_company:153 Setting demo certificate from False to AR demo certificate 1 in (AR) Responsable Inscripto company
2025-09-25 15:22:02 INFO server odoo.addons.l10n_ar_edi.models.res_company:153 Setting demo certificate from False to AR demo certificate 3 in (AR) Monotributista company
2025-09-25 15:22:02 INFO server odoo.addons.l10n_ar_edi.models.res_company:153 Setting demo certificate from False to AR demo certificate 1 in (AR) Exento company
2025-09-25 15:23:46 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista, (AR) Responsable Inscripto
2025-09-25 15:25:02 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista, (AR) Responsable Inscripto
2025-09-25 15:26:23 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista, Muebleria ARG
2025-09-25 15:29:13 INFO server odoo.modules.loading:360 698 modules loaded in 907.93s, 511743 queries (+540303 extra)
2025-09-25 15:29:14 INFO server odoo.modules.loading:360 699 modules loaded in 1.15s, 350 queries (+350 extra)
2025-09-25 15:29:19 INFO server odoo.addons.base.models.ir_qweb:360 Pregenerating assets bundles
2025-09-25 15:30:25 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:30:37 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:31:22 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:32:18 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:32:50 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:32:51 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:00 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:02 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:06 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:07 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:08 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:09 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:14 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:16 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:25 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:27 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:35 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:37 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:45 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:47 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:50 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:33:54 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG, company_1_data
2025-09-25 15:33:56 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:34:00 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista (Unit Tests), (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:34:02 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista (Unit Tests), (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:34:32 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:37 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:41 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:41 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:42 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:45 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:34:46 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:02 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:04 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:06 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:07 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:10 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:11 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:18 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:19 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:21 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:23 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:25 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:26 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:33 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:35 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:37 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:39 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:35:43 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:36:05 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:36:10 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:36:16 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG
2025-09-25 15:36:20 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, Muebleria ARG, company_1_data
2025-09-25 15:36:23 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:36:27 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista (Unit Tests), (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:36:28 INFO server odoo.addons.l10n_ar_currency_update.models.res_company:36 Currency Provider configured as AFIP for next companies: (AR) Exento, (AR) Monotributista (Unit Tests), (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-25 15:37:15 INFO runbot Getting results for build 10964-18-0
2025-09-25 15:37:15 Step 18-all-with-tests finished in 23m
2025-09-25 15:37:15 Starting step setup from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-25 15:37:15 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-25 15:37:16 INFO runbot Step setup finished in 1s
2025-09-25 15:37:16 Starting step run from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-25 15:37:16 INFO runbot Start running build 10964-18-0
2025-09-25 15:37:16 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-25 15:37:20 INFO server odoo.modules.loading:360 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-09-25 15:37:31 INFO server odoo.modules.loading:360 699 modules loaded in 10.92s, 0 queries (+0 extra)
2025-09-25 15:38:40 ERROR server odoo.addons.base.models.ir_autovacuum:41
Failed ai.agent.chat()._gc_empty_chats()
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_autovacuum.py", line 38, in _run_vacuum_cleaner
    func(model)
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_agent_chat.py", line 558, in _gc_empty_chats
    cutoff_date = fields.Datetime.now() - datetime.timedelta(days=1)
                                          ^^^^^^^^^^^^^^^^^^
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
2025-09-25 15:38:49 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:38:53 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:38:58 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:02 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:06 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:10 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:14 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:18 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:22 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:27 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:31 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:35 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:39 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:43 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:48 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:52 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:39:56 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:00 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:04 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:08 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:13 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:17 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:21 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:25 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:29 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:33 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:38 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:42 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:45 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:40:45 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 15:40:50 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 15:40:51 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=http%3A%2F%2Flocalhost%3A8069%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 15:40:51 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 15:40:51 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 15:40:59 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:41:03 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:41:06 WARNING server odoo.addons.base.models.ir_actions_report:619
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-25 15:48:47 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=http%3A%2F%2Flocalhost%3A8069%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 16:16:38 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 16:18:52 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=http%3A%2F%2Flocalhost%3A8069%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 16:23:21 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 16:23:21 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 16:30:04 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 16:49:07 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 17:17:04 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 17:18:11 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 17:22:54 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 17:22:54 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 17:30:08 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 17:48:22 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 18:14:01 INFO server odoo.modules.loading:360 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-09-25 18:14:04 INFO server odoo.modules.loading:360 699 modules loaded in 0.27s, 0 queries (+0 extra)
2025-09-25 18:14:16 INFO server odoo.modules.loading:360 711 modules loaded in 12.91s, 4818 queries (+4818 extra)
2025-09-25 18:14:35 INFO server odoo.modules.loading:360 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-09-25 18:14:36 INFO server odoo.modules.loading:360 711 modules loaded in 0.38s, 0 queries (+0 extra)
2025-09-25 18:15:45 ERROR server odoo.addons.base.models.ir_autovacuum:41
Failed ai.agent.chat()._gc_empty_chats()
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_autovacuum.py", line 38, in _run_vacuum_cleaner
    func(model)
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_agent_chat.py", line 558, in _gc_empty_chats
    cutoff_date = fields.Datetime.now() - datetime.timedelta(days=1)
                                          ^^^^^^^^^^^^^^^^^^
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
2025-09-25 18:17:02 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 18:17:52 ERROR server odoo.sql_db:360
bad query: b'SELECT "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", COUNT(*) FROM "crm_lead" LEFT JOIN \n            (SELECT res_id,\n                CASE\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:52.011586+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) > 0 THEN \'planned\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:52.011586+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) < 0 THEN \'overdue\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:52.011586+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) = 0 THEN \'today\'\n                    ELSE null\n                END AS activity_state\n            FROM mail_activity\n            WHERE res_model = \'crm.lead\' AND mail_activity.active = true\n            GROUP BY res_id)\n             AS "crm_lead__last_activity_state" ON ("crm_lead"."id" = "crm_lead__last_activity_state"."res_id") LEFT JOIN "crm_stage" AS "crm_lead__stage_id" ON ("crm_lead"."stage_id" = "crm_lead__stage_id"."id") WHERE ((("crm_lead"."active" = true) AND ("crm_lead"."type" = \'opportunity\')) AND ("crm_lead"."user_id" = 2)) AND (("crm_lead"."company_id" IN (1)) OR "crm_lead"."company_id" IS NULL) GROUP BY "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", "crm_lead__stage_id"."sequence", COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\'), "crm_lead__stage_id"."id" ORDER BY "crm_lead__stage_id"."sequence"  , COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\')  , "crm_lead__stage_id"."id"  , "crm_lead__last_activity_state"."activity_state" ASC '
ERROR: time zone "America/Cordoba" not recognized
2025-09-25 18:17:52 ERROR server odoo.http:2589
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2554, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2081, in _serve_db
    return self._transactioning(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2144, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/model.py", line 156, in retrying
    result = func()
             ^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2111, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2359, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_http.py", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 36, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/models/models.py", line 297, in read_progress_bar
    for group in self.read_group(domain, ['__count'], [group_by, progress_bar['field']], lazy=False):
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2887, in read_group
    rows = self._read_group(domain, annotated_groupby.values(), annotated_aggregates.values(), offset=offset, limit=limit, order=orderby)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2021, in _read_group
    row_values = self.env.execute_query(query.select(*[groupby_terms[spec] for spec in groupby], *select_terms))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 993, in execute_query
    self.cr.execute(query)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/sql_db.py", line 357, in execute
    res = self._obj.execute(query, params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InvalidParameterValue: time zone "America/Cordoba" not recognized
2025-09-25 18:17:56 ERROR server odoo.sql_db:360
bad query: b'SELECT "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", COUNT(*) FROM "crm_lead" LEFT JOIN \n            (SELECT res_id,\n                CASE\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:56.050645+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) > 0 THEN \'planned\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:56.050645+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) < 0 THEN \'overdue\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:17:56.050645+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) = 0 THEN \'today\'\n                    ELSE null\n                END AS activity_state\n            FROM mail_activity\n            WHERE res_model = \'crm.lead\' AND mail_activity.active = true\n            GROUP BY res_id)\n             AS "crm_lead__last_activity_state" ON ("crm_lead"."id" = "crm_lead__last_activity_state"."res_id") LEFT JOIN "crm_stage" AS "crm_lead__stage_id" ON ("crm_lead"."stage_id" = "crm_lead__stage_id"."id") WHERE ((("crm_lead"."active" = true) AND ("crm_lead"."type" = \'opportunity\')) AND ("crm_lead"."user_id" = 2)) AND (("crm_lead"."company_id" IN (1)) OR "crm_lead"."company_id" IS NULL) GROUP BY "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", "crm_lead__stage_id"."sequence", COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\'), "crm_lead__stage_id"."id" ORDER BY "crm_lead__stage_id"."sequence"  , COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\')  , "crm_lead__stage_id"."id"  , "crm_lead__last_activity_state"."activity_state" ASC '
ERROR: time zone "America/Cordoba" not recognized
2025-09-25 18:17:56 ERROR server odoo.http:2589
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2554, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2081, in _serve_db
    return self._transactioning(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2144, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/model.py", line 156, in retrying
    result = func()
             ^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2111, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2359, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_http.py", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 36, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/models/models.py", line 297, in read_progress_bar
    for group in self.read_group(domain, ['__count'], [group_by, progress_bar['field']], lazy=False):
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2887, in read_group
    rows = self._read_group(domain, annotated_groupby.values(), annotated_aggregates.values(), offset=offset, limit=limit, order=orderby)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2021, in _read_group
    row_values = self.env.execute_query(query.select(*[groupby_terms[spec] for spec in groupby], *select_terms))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 993, in execute_query
    self.cr.execute(query)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/sql_db.py", line 357, in execute
    res = self._obj.execute(query, params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InvalidParameterValue: time zone "America/Cordoba" not recognized
2025-09-25 18:18:18 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 18:18:34 ERROR server odoo.sql_db:360
bad query: b'SELECT "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", COUNT(*) FROM "crm_lead" LEFT JOIN \n            (SELECT res_id,\n                CASE\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:34.061337+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) > 0 THEN \'planned\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:34.061337+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) < 0 THEN \'overdue\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:34.061337+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) = 0 THEN \'today\'\n                    ELSE null\n                END AS activity_state\n            FROM mail_activity\n            WHERE res_model = \'crm.lead\' AND mail_activity.active = true\n            GROUP BY res_id)\n             AS "crm_lead__last_activity_state" ON ("crm_lead"."id" = "crm_lead__last_activity_state"."res_id") LEFT JOIN "crm_stage" AS "crm_lead__stage_id" ON ("crm_lead"."stage_id" = "crm_lead__stage_id"."id") WHERE ((("crm_lead"."active" = true) AND ("crm_lead"."type" = \'opportunity\')) AND ("crm_lead"."user_id" = 2)) AND (("crm_lead"."company_id" IN (1, 8, 9)) OR "crm_lead"."company_id" IS NULL) GROUP BY "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", "crm_lead__stage_id"."sequence", COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\'), "crm_lead__stage_id"."id" ORDER BY "crm_lead__stage_id"."sequence"  , COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\')  , "crm_lead__stage_id"."id"  , "crm_lead__last_activity_state"."activity_state" ASC '
ERROR: time zone "America/Cordoba" not recognized
2025-09-25 18:18:34 ERROR server odoo.http:2589
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2554, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2081, in _serve_db
    return self._transactioning(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2144, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/model.py", line 156, in retrying
    result = func()
             ^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2111, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2359, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_http.py", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 36, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/models/models.py", line 297, in read_progress_bar
    for group in self.read_group(domain, ['__count'], [group_by, progress_bar['field']], lazy=False):
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2887, in read_group
    rows = self._read_group(domain, annotated_groupby.values(), annotated_aggregates.values(), offset=offset, limit=limit, order=orderby)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2021, in _read_group
    row_values = self.env.execute_query(query.select(*[groupby_terms[spec] for spec in groupby], *select_terms))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 993, in execute_query
    self.cr.execute(query)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/sql_db.py", line 357, in execute
    res = self._obj.execute(query, params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InvalidParameterValue: time zone "America/Cordoba" not recognized
2025-09-25 18:18:41 ERROR server odoo.sql_db:360
bad query: b'SELECT "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", COUNT(*) FROM "crm_lead" LEFT JOIN \n            (SELECT res_id,\n                CASE\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:41.726848+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) > 0 THEN \'planned\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:41.726848+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) < 0 THEN \'overdue\'\n                    WHEN min(EXTRACT(day from (mail_activity.date_deadline - DATE_TRUNC(\'day\', \'2025-09-25T18:18:41.726848+00:00\'::timestamptz AT TIME ZONE COALESCE(mail_activity.user_tz, \'America/Cordoba\'))))) = 0 THEN \'today\'\n                    ELSE null\n                END AS activity_state\n            FROM mail_activity\n            WHERE res_model = \'crm.lead\' AND mail_activity.active = true\n            GROUP BY res_id)\n             AS "crm_lead__last_activity_state" ON ("crm_lead"."id" = "crm_lead__last_activity_state"."res_id") LEFT JOIN "crm_stage" AS "crm_lead__stage_id" ON ("crm_lead"."stage_id" = "crm_lead__stage_id"."id") WHERE ((("crm_lead"."active" = true) AND ("crm_lead"."type" = \'opportunity\')) AND ("crm_lead"."user_id" = 2)) AND (("crm_lead"."company_id" IN (1, 8, 9)) OR "crm_lead"."company_id" IS NULL) GROUP BY "crm_lead"."stage_id", "crm_lead__last_activity_state"."activity_state", "crm_lead__stage_id"."sequence", COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\'), "crm_lead__stage_id"."id" ORDER BY "crm_lead__stage_id"."sequence"  , COALESCE("crm_lead__stage_id"."name"->>\'es_419\', "crm_lead__stage_id"."name"->>\'en_US\')  , "crm_lead__stage_id"."id"  , "crm_lead__last_activity_state"."activity_state" ASC '
ERROR: time zone "America/Cordoba" not recognized
2025-09-25 18:18:41 ERROR server odoo.http:2589
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2554, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2081, in _serve_db
    return self._transactioning(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2144, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/model.py", line 156, in retrying
    result = func()
             ^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2111, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 2359, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_http.py", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/http.py", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/controllers/dataset.py", line 36, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/web/models/models.py", line 297, in read_progress_bar
    for group in self.read_group(domain, ['__count'], [group_by, progress_bar['field']], lazy=False):
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2887, in read_group
    rows = self._read_group(domain, annotated_groupby.values(), annotated_aggregates.values(), offset=offset, limit=limit, order=orderby)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/models.py", line 2021, in _read_group
    row_values = self.env.execute_query(query.select(*[groupby_terms[spec] for spec in groupby], *select_terms))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/api.py", line 993, in execute_query
    self.cr.execute(query)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/sql_db.py", line 357, in execute
    res = self._obj.execute(query, params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InvalidParameterValue: time zone "America/Cordoba" not recognized
2025-09-25 18:22:47 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 18:22:47 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 18:30:26 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 18:48:35 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 19:16:24 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 19:18:48 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 19:22:56 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 19:22:56 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 19:30:09 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 19:48:27 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 20:16:27 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 20:18:41 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 20:23:10 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 20:23:10 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 20:31:00 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 20:48:55 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 21:16:59 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 21:19:13 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 21:22:35 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 21:22:35 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 21:30:25 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 21:48:16 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 22:17:20 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 22:18:27 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 22:22:36 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-25 22:22:36 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:627 Company Name: "Muebleria UY", Company ID: (11), Errors: "We found an error while consulting a notification Incomplete Data to connect to Uruware on company Muebleria UY: Please complete the UCFE data to test the connection: Uruware WS Password, Uruware Commerce code, Uruware Terminal code, Uruware Inbox URL, Uruware Query URL."
2025-09-25 22:30:26 WARNING server odoo.addons.whatsapp_event.models.event_mail:39 Cannot process scheduler 27 (event Live Music Festival - ID 4) as it refers to whatsapp template Event Ticket (ID 1) that is not approved
2025-09-25 22:48:55 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 23:17:01 ERROR server odoo.addons.base.models.ir_cron:580
Job 'AI Agent - Update Files and Vector Stores' (46) server action #786 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(786,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_source.py", line 144, in _cron_update_files_and_vectors
    client = self.env["ai.utils"].get_openai_client()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_agent/models/ai_utils.py", line 40, in get_openai_client
    raise UserError("No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.")
odoo.exceptions.UserError: No se ha configurado los parametros 'ai_agent.OPENAI_API_KEY' o 'ai_agent.OPENAI_ORG_ID'.
2025-09-25 23:18:09 ERROR server odoo.addons.base.models.ir_cron:580
Job '[AI] Process Meeting Notes' (64) server action #1054 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 257, in test_expr
    expr = expr.strip()
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 47, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 395, in safe_eval
    c = test_expr(expr, _SAFE_OPCODES, mode=mode, filename=filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 262, in test_expr
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 570, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 995, in run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 60, in _run_action_code_multi
    res = super(ServerAction, self)._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 827, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self))  # nocopy allows to return 'action'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(1054,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 25, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 90, in _get_service
    creds = self.gs_auth2_cred()
            ^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 63, in gs_auth2_cred
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-enterprise-extensions/website_doc/models/google_service.py", line 60, in _gs_auth2_get_token
    raise RedirectWarning(_("No hay una credencial de acceso a google."), action, _("Activar credencial"))
odoo.exceptions.RedirectWarning: ('No hay una credencial de acceso a google.', {'name': 'Activar credencial', 'res_model': 'ir.actions.act_url', 'type': 'ir.actions.act_url', 'target': '_blank', 'url': 'https://accounts.google.com/o/oauth2/v2/auth?client_id=False&redirect_uri=https%3A%2F%2F10964-18-0-all.runbot.dev-adhoc.com%2Fwebsite_doc%2Fconfirm&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly&access_type=offline&prompt=consent'}, 'Activar credencial', None)
2025-09-25 23:23:12 Log limit reached (full logs are still available in the log file)
2025-09-26 15:01:00 INFO runbot Kill build 10964-18-0