Skip to content

Commit 92c8e66

Browse files
lgrammelanatolzak
andauthored
fix(ai/core): properly handle custom separator in provider registry (#5713) (#5732)
Co-authored-by: Anatol Zakrividoroga <53095479+anatolzak@users.noreply.github.com>
1 parent d9b26f2 commit 92c8e66

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

‎.changeset/six-moose-know.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'ai': patch
3+
---
4+
5+
fix(ai/core): properly handle custom separator in provider registry

‎packages/ai/core/registry/provider-registry.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,30 @@ describe('languageModel', () => {
109109

110110
expect(modelRegistry.languageModel('provider|model')).toEqual(model);
111111
});
112+
113+
it('should support custom separator with multiple characters', () => {
114+
const model = new MockLanguageModelV2();
115+
116+
const modelRegistry = createProviderRegistry(
117+
{
118+
provider: {
119+
languageModel: id => {
120+
expect(id).toEqual('model');
121+
return model;
122+
},
123+
textEmbeddingModel: () => {
124+
return null as any;
125+
},
126+
imageModel: () => {
127+
return null as any;
128+
},
129+
},
130+
},
131+
{ separator: ' > ' },
132+
);
133+
134+
expect(modelRegistry.languageModel('provider > model')).toEqual(model);
135+
});
112136
});
113137

114138
describe('textEmbeddingModel', () => {

‎packages/ai/core/registry/provider-registry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class DefaultProviderRegistry<
126126
});
127127
}
128128

129-
return [id.slice(0, index), id.slice(index + 1)];
129+
return [id.slice(0, index), id.slice(index + this.separator.length)];
130130
}
131131

132132
languageModel<KEY extends keyof PROVIDERS>(

0 commit comments

Comments
 (0)