Description: [18.0] Odoo by Adhoc
Commit: ingadhoc-sale:4ad64aa0  
Subject: [IMP] sale_ux: Unlink inactive tax id on duplicate sale order
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-account-financial-tools:9ed40490  
Subject: [IMP] account_ux: Unlink inactive tax when duplicate invoice
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-enterprise-extensions:3a7dd791  
Subject: [FIX] account_interbanking_statement: fixed issues and improvements
Author: Camila Vives
Committer: Camila Vives
Commit: ingadhoc-argentina-sale:3a21255a  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-odoo-saas-adhoc:ad6bb391  
Subject: [FIX] saas_client_account: fix demo data of deferred_revenue_account_id
Author: Rocío Vega
Committer: Rocío Vega
Commit: ingadhoc-odoo-argentina:9c7c2322  
Subject: [FIX] l10n_ar_ux: Use the correct field to check if the move is invoice
Author: Camila Vives
Committer: Camila Vives
Commit: ingadhoc-purchase:59f91500  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-odoo-argentina-ee:1ada33cb  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-odoo-saas:063b9a49  
Subject: [ADD] saas_k8s: Implement custom domain management with Cloudflare integration
Author: Andrés Zacchino
Committer: Andrés Zacchino
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-payment:7519d56e  
Subject: Merge pull request #152 from plugberry/18.0.payway-refunds
Author: ErnestoAxcelere
Committer: GitHub
Commit: plugberry-pagos360:f3081782  
Subject: [IMP] payment_pagos360: find similar transactions for token
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-account-payment:20421f88  
Subject: payment_retry: check for similar transactions
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-uruguay:e8397d25  
Subject: [IMP] l10n_uy_ux: add onchange method for VAT and identification fields
Author: Julia Elizondo
Committer: Julia Elizondo
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-website:7b08ac67  
Subject: [I18N] Update translation terms from Transifex adhoc-odoo-18-0
Author: ADHOC - Bot
Committer: ADHOC - Bot
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:8c3ffefe  
Subject: Merge commit 'refs/pull/184132/head' of github.com:odoo/odoo into 18.0-16523
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:03cdbd4f  
Subject: Merge commit 'refs/pull/818/head' of github.com:oca/account-analytic into 18.0-16480
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:1fa5508f  
Subject: Merge commit 'refs/pull/849/head' of github.com:oca/account-reconcile into 18.0-16444
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-timesheet:4571a1b8  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-odoo-enterprise:fe512604  
Subject: Merge commit 'refs/pull/77062/head' of github.com:odoo/enterprise into 18.0-16524
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:15237352  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-backend:fd5e29d6  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-odoo-design-themes:9e60c79b  
Subject: [I18N] *: fetch translation updates
Author: Odoo Translation Bot
Committer: Odoo Translation Bot
Commit: adhoc-cicd-oca-partner-contact:be696a53  
Subject: Translated using Weblate (Dutch)
Author: Bosd
Committer: Weblate
Commit: adhoc-cicd-oca-server-auth:71cfd66d  
Subject: Merge commit 'refs/pull/828/head' of github.com:oca/server-auth into 18.0-16507
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-knowledge:67f2a260  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-product-attribute:fd56c392  
Subject: Merge commit 'refs/pull/1771/head' of github.com:oca/product-attribute into 18.0-16492
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-brand:ea0bd395  
Subject: Translated using Weblate (Dutch)
Author: Bosd
Committer: Weblate
Commit: adhoc-cicd-oca-mis-builder:a6851778  
Subject: Merge commit 'refs/pull/706/head' of github.com:oca/mis-builder into 18.0-16453
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-account-invoicing:4dab7ea8  
Subject: Translated using Weblate (Turkish)
Author: Tamer Sezgin
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-workflow:50e21845  
Subject: Merge commit 'refs/pull/1976/head' of github.com:oca/stock-logistics-workflow into 18.0-16467
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-management-system:68f71b65  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-ux:56596048  
Subject: Merge commit 'refs/pull/1096/head' of github.com:oca/server-ux into 18.0-16462
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-e-commerce:b5656d04  
Subject: Merge commit 'refs/pull/1081/head' of github.com:oca/e-commerce into 18.0-16448
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:49380ede  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-crm:e3b83d8a  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-barcode:0dd0d940  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-project:96d4031e  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-server-tools:e746a7c2  
Subject: Merge commit 'refs/pull/3201/head' of github.com:oca/server-tools into 18.0-16518
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-social:183cb4a7  
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:5ead77b2  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-product-pack:0094bb24  
Subject: Merge commit 'refs/pull/194/head' of github.com:oca/product-pack into 18.0-16493
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:c56b0de4  
Subject: Translated using Weblate (Turkish)
Author: Tamer Sezgin
Committer: Weblate
Commit: adhoc-cicd-oca-sale-workflow:69b6091a  
Subject: Merge commit 'refs/pull/3466/head' of github.com:oca/sale-workflow into 18.0-16460
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-bank-statement-import:2d152716  
Subject: Merge commit 'refs/pull/747/head' of github.com:oca/bank-statement-import into 18.0-16445
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-reservation:5848d952  
Subject: Merge commit 'refs/pull/7/head' of github.com:oca/stock-logistics-reservation into 18.0-16466
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: 23m48s
Date Level Type Message
2025-09-15 18:01:34 INFO runbot Init build environment with config [18.0] Odoo by Adhoc Config (with tests)
2025-09-15 18:01:34 Starting step 18-all-with-tests from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-15 18:01:34 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-15 18:01:50 INFO server odoo.modules.loading:360 1 modules loaded in 6.81s, 9237 queries (+9237 extra)
2025-09-15 18:09:49 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-15 18:09:49 INFO server odoo.addons.l10n_ar_edi.models.res_company:153 Setting demo certificate from False to AR demo certificate 10 in (AR) Monotributista company
2025-09-15 18:09:49 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-15 18:11:34 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-15 18:12:51 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-15 18:14:13 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-15 18:17:01 INFO server odoo.modules.loading:360 698 modules loaded in 907.54s, 512009 queries (+540565 extra)
2025-09-15 18:17:03 INFO server odoo.modules.loading:360 699 modules loaded in 1.12s, 350 queries (+350 extra)
2025-09-15 18:17:08 INFO server odoo.addons.base.models.ir_qweb:360 Pregenerating assets bundles
2025-09-15 18:18: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-15 18:18:17 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-15 18:18:59 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-15 18:19:53 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-15 18:20: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-15 18:20: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-15 18:20: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-15 18:20: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-15 18:20:44 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-15 18:20: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-15 18:20: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-15 18:20:48 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-15 18:20:53 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-15 18:20:55 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-15 18:21: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-15 18:21: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-15 18:21: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-15 18:21: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-15 18:21: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-15 18:21:29 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-15 18:21: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-15 18:21: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, company_1_data
2025-09-15 18:21:39 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-15 18:21:44 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-15 18:21: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 (Unit Tests), (AR) Responsable Inscripto (Unit Tests), Muebleria ARG
2025-09-15 18:22: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
2025-09-15 18:22: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-15 18:22:30 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-15 18:22:30 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-15 18:22:31 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-15 18:22:34 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-15 18:22:36 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-15 18:22:53 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-15 18:22:55 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-15 18:22:57 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-15 18:22:59 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-15 18:23:01 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-15 18:23:03 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-15 18:23: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-15 18:23:12 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-15 18:23: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-15 18:23:17 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-15 18:23: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-15 18:23: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
2025-09-15 18:23: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-15 18:23:30 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-15 18:23: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-15 18:23:34 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-15 18:23: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-15 18:24:03 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-15 18:24: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-15 18:24: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-15 18:24: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, company_1_data
2025-09-15 18:24:21 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-15 18:24:25 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-15 18:24: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-15 18:25:21 INFO runbot Getting results for build 09248-18-0
2025-09-15 18:25:21 Step 18-all-with-tests finished in 23m
2025-09-15 18:25:21 Starting step setup from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-15 18:25:21 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-15 18:25:22 INFO runbot Step setup finished in 0s
2025-09-15 18:25:22 Starting step run from config 18.0] Odoo by Adhoc Config (with tests) [
2025-09-15 18:25:22 INFO runbot Start running build 09248-18-0
2025-09-15 18:25:22 Using Dockerfile Tag odoo:adhoc_odoo_18_next
2025-09-15 18:25:25 INFO server odoo.modules.loading:360 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-09-15 18:25:38 INFO server odoo.modules.loading:360 699 modules loaded in 11.85s, 0 queries (+0 extra)
2025-09-15 18:26:15 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:21 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:26 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:31 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:35 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:39 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:43 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:47 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:51 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:26:56 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:00 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:04 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:08 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:12 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:17 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:21 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:25 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:29 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:33 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:37 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:43 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:47 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:51 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:55 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:27:59 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:03 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:07 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:12 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:16 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:16 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-15 18:28:22 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-15 18:28: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=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-15 18:28:23 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 18:28:23 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-15 18:28:31 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:35 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:28:38 WARNING server odoo.addons.base.models.ir_actions_report:618
wkhtmltopdf: Exit with code 1 due to network error: ContentNotFoundError
2025-09-15 18:36: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=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-15 18:59:01 WARNING server odoo.http:2587 Debería haber un solo impuesto del grupo fiscal “IVA” por línea, pero este no es el caso de la línea “False”. Agregue un impuesto a esta línea o compruebe las opciones avanzadas de la configuración fiscal para el campo “Grupo fiscal” correspondiente.
2025-09-15 19:00:41 WARNING server odoo.http:2587 Debe haber un único impuesto del grupo de impuestos "IVA" por línea, agréguelo a "Alfombrilla de escritorio". En caso de tenerlo, revise la configuración del impuesto, en opciones avanzadas, en el campo correspondiente "Grupo de Impuestos".
2025-09-15 19:00:47 WARNING server odoo.http:2587 Debe haber un único impuesto del grupo de impuestos "IVA" por línea, agréguelo a "Alfombrilla de escritorio". En caso de tenerlo, revise la configuración del impuesto, en opciones avanzadas, en el campo correspondiente "Grupo de Impuestos".
2025-09-15 19:01:16 WARNING server odoo.http:2587 Debe haber un único impuesto del grupo de impuestos "IVA" por línea, agréguelo a "Alfombrilla de escritorio". En caso de tenerlo, revise la configuración del impuesto, en opciones avanzadas, en el campo correspondiente "Grupo de Impuestos".
2025-09-15 19:04:18 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-15 19:06:31 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%2F09248-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-15 19:10:11 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 19:10:11 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-15 19:18:36 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-15 19:36:12 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%2F09248-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-15 20:04:46 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-15 20:06: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=https%3A%2F%2F09248-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-15 20:10:16 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 20:10:16 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-15 20:18:31 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-15 20:36: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=https%3A%2F%2F09248-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-15 21:04:16 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-15 21:06:24 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%2F09248-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-15 21:10:49 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 21:10:49 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-15 21:17:54 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-15 21:36:58 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%2F09248-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-15 22:04:45 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-15 22:06:58 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%2F09248-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-15 22:10:16 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 22:10:16 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-15 22:17:59 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-15 22:36:44 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%2F09248-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-15 23:04:19 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-15 23:06:31 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%2F09248-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-15 23:10:56 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-15 23:10: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-15 23:18:39 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-15 23:36: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%2F09248-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-16 00:04:58 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-16 00:06:04 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%2F09248-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-16 00:10:29 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-16 00:10:29 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-16 00:18:13 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-16 00:36:58 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%2F09248-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-16 01:04:32 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-16 01:06:44 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%2F09248-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-16 01:11:09 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-16 01:11:09 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-16 01:17:46 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-16 01:36:31 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%2F09248-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-16 02:04:32 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-16 02:06:44 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%2F09248-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-16 02:11:09 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-16 02:11:09 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-16 02:17:46 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-16 02:36:31 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%2F09248-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-16 03:05:12 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-16 03:06: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%2F09248-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-16 03:10:43 WARNING server odoo.addons.l10n_uy_edi.models.l10n_uy_edi_document:625
An error was found when synchronizing vendor bills
2025-09-16 03:10:43 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-16 03:18: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-16 03:36:05 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%2F09248-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-16 04:04:45 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-16 04:06:57 Log limit reached (full logs are still available in the log file)
2025-09-16 12:40:53 INFO runbot Kill build 09248-18-0