fix(pi): recover from Works prompt rejection

This commit is contained in:
2026-08-25 14:50:10 +08:00
parent 4580568384
commit 5f0ef761ea
9 changed files with 439 additions and 31 deletions

View File

@@ -54,6 +54,10 @@ describe('Pi Provider catalog', () => {
'google-generative-ai',
'openai-completions',
]);
expect(catalog.descriptors.slice(0, 4).map((descriptor) => (
descriptor.models[0]?.compat?.supportsDeveloperRole
))).toEqual([undefined, undefined, undefined, undefined]);
expect(catalog.descriptors.at(-1)?.models[0]?.compat?.supportsDeveloperRole).toBeUndefined();
expect(catalog.descriptors.at(-1)?.models[0]?.compat).toEqual({
thinkingFormat: 'openrouter',
sessionAffinityFormat: 'openrouter',
@@ -105,7 +109,10 @@ describe('Pi Provider catalog', () => {
input: ['text', 'image'],
contextWindow: 1_000_000,
maxOutputTokens: 65_536,
compat: { supportsDeveloperRole: false },
});
expect(catalog.modelsFile.providers[descriptor.runtimeProviderId]?.models[0]?.compat)
.toMatchObject({ supportsDeveloperRole: false });
expect(serialized).not.toContain('private-tenant-header');
expect(serialized).not.toContain('OLD_GATEWAY_TOKEN');
@@ -146,6 +153,7 @@ describe('Pi Provider catalog', () => {
expect(resolveCredential).not.toHaveBeenCalled();
expect(Object.values(projection.env)).toContain('current-worker-host-token');
expect(Object.values(projection.env)).not.toContain('stale-stored-host-token');
expect(descriptor.models[0]?.compat?.supportsDeveloperRole).toBe(false);
});
it('uses account-scoped model capability metadata and rejects unavailable models', () => {