mirror of
https://github.com/luckyyzh/pi-agent-integrated.git
synced 2026-10-03 11:09:34 +00:00
feat: add codex fast mode and harden subagent launch
This commit is contained in:
@@ -151,6 +151,13 @@ const ModelCostSchema = Type.Object({
|
||||
tiers: Type.Optional(Type.Array(ModelCostTierSchema)),
|
||||
});
|
||||
|
||||
const ServiceTierSchema = Type.Union([
|
||||
Type.Literal("auto"),
|
||||
Type.Literal("default"),
|
||||
Type.Literal("priority"),
|
||||
Type.Literal("flex"),
|
||||
]);
|
||||
|
||||
const ModelDefinitionSchema = Type.Object({
|
||||
id: Type.String({ minLength: 1 }),
|
||||
name: Type.Optional(Type.String({ minLength: 1 })),
|
||||
@@ -163,6 +170,7 @@ const ModelDefinitionSchema = Type.Object({
|
||||
contextWindow: Type.Optional(Type.Number()),
|
||||
maxTokens: Type.Optional(Type.Number()),
|
||||
headers: Type.Optional(Type.Record(Type.String(), Type.String())),
|
||||
serviceTier: Type.Optional(ServiceTierSchema),
|
||||
compat: Type.Optional(ProviderCompatSchema),
|
||||
});
|
||||
|
||||
@@ -183,6 +191,7 @@ const ModelOverrideSchema = Type.Object({
|
||||
contextWindow: Type.Optional(Type.Number()),
|
||||
maxTokens: Type.Optional(Type.Number()),
|
||||
headers: Type.Optional(Type.Record(Type.String(), Type.String())),
|
||||
serviceTier: Type.Optional(ServiceTierSchema),
|
||||
compat: Type.Optional(ProviderCompatSchema),
|
||||
});
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ function applyModelOverride(model: Model<Api>, override: ModelsJsonModelOverride
|
||||
: model.cost,
|
||||
contextWindow: override.contextWindow ?? model.contextWindow,
|
||||
maxTokens: override.maxTokens ?? model.maxTokens,
|
||||
serviceTier: override.serviceTier ?? model.serviceTier,
|
||||
compat: mergeCompat(model.compat, override.compat),
|
||||
};
|
||||
}
|
||||
@@ -154,6 +155,7 @@ function modelFromJson(
|
||||
contextWindow: definition.contextWindow ?? 128000,
|
||||
maxTokens: definition.maxTokens ?? 16384,
|
||||
headers: undefined,
|
||||
serviceTier: definition.serviceTier,
|
||||
compat: mergeCompat(providerConfig.compat, definition.compat),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -309,8 +309,13 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
||||
const websocketConnectTimeoutMs =
|
||||
options?.websocketConnectTimeoutMs ?? settingsManager.getWebSocketConnectTimeoutMs();
|
||||
const headerRunner = extensionRunnerRef.current;
|
||||
// Model-level service tier (models.json `serviceTier`, e.g. "priority" for
|
||||
// Codex fast mode) is forwarded as request `service_tier`. Providers that
|
||||
// don't understand it ignore the option.
|
||||
const serviceTier = model.serviceTier;
|
||||
return modelRuntime.streamSimple(model, context, {
|
||||
...options,
|
||||
...(serviceTier ? { serviceTier } : {}),
|
||||
timeoutMs,
|
||||
websocketConnectTimeoutMs,
|
||||
maxRetries: options?.maxRetries ?? providerRetrySettings.maxRetries,
|
||||
|
||||
Reference in New Issue
Block a user