Umbraco.AI.Search failing on Umbraco v17

Hi everyone,

I’m trying out Umbraco.AI.Search on Umbraco v17 project and I’m running into an issue when I click on the Search in Settings Section. Here is what I see in Google Dev Console

GET ``https://localhost:44374/umbraco/search/api/v1/indexes`` 500 (Internal Server Error)

Caught a server error, but failed parsing error body (expected JSON) SyntaxError: Unexpected token ‘S’, “System.Mis”… is not valid JSON

[UmbTryExecuteController] Error in request: UmbApiError: A fatal server error occurred. If this continues, please reach out to your administrator.
at b.mapToUmbError (resource.controller.ts:28:11)
at b.tryExecute (try-execute.controller.ts:35:26)
at async G (tryExecute.function.ts:27:19)
at async $r.getCollection (search-collection.server.data-source.ts:20:29)
at async gr._requestCollection (collection-default.context.ts:310:20)

And in the logs, I can see this error

System.MissingMethodException: Method not found: ‘Void Umbraco.Cms.Search.Core.Models.Indexing.IndexMetadata..ctor(Int64, Umbraco.Cms.Search.Core.Models.Indexing.HealthStatus)’.
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at Umbraco.AI.Search.Core.Search.AIVectorIndexer.GetMetadataAsync(String indexAlias)
at Umbraco.Cms.Search.Core.Controllers.GetAllIndexesApiController.Indexes()

Here is my Setup:

Clean 7.0.5
Umbraco.AI 1.10.0
Umbraco.AI.Agent 1.9.0
Umbraco.AI.Agent.Copilot 1.0.0-alpha7
Umbraco.AI.Anthropic 1.3.0
Umbraco.AI.Core 1.10.0
Umbraco.AI.OpenAI 1.2.0
Umbraco.AI.Prompt 1.8.1
Umbraco.AI.Search 1.0.0-beta3
Umbraco.Cms 17.4.0-rc
Umbraco.Cms.DevelopmentMode.Backoffice 17.4.0-rc
Umbraco.Cms.Search.Core 1.0.0-beta.5

Any ideas on this? Am I missing something?

Any guidance appreciated :folded_hands:

Got it working by downgrading Umbraco.Cms.Search.Core from 1.0.0-beta.5 → 1.0.0-beta.3. Between those two betas, the IndexMetadata constructor signature changed
(the old two-arg (Int64, HealthStatus) form was removed). Umbraco.AI.Search 1.0.0-beta3 was compiled against the older signature, so it blows up at runtime against beta.5. Pinning both to beta.3 aligns the application binary interface.

Thanks for figuring this out.

I’ll get the dependency updated, or you are welcome to submit a PR if you are up for that.