feat: use managed model capabilities for reasoning and image input
This commit is contained in:
@@ -30,6 +30,7 @@ const CORE_PRODUCT_TOOL_NAMES = new Set([
|
||||
]);
|
||||
|
||||
interface WorkerRegistrationRecord {
|
||||
managedModelRequest?: import('../../../shared/managed-model-capabilities').ManagedModelRequest;
|
||||
token: string;
|
||||
conversationId: string;
|
||||
generation: number;
|
||||
@@ -59,6 +60,7 @@ export interface PiExtensionWorkerRegistration {
|
||||
}
|
||||
|
||||
export interface RegisterPiExtensionWorkerInput {
|
||||
managedModelRequest?: import('../../../shared/managed-model-capabilities').ManagedModelRequest;
|
||||
conversationId: string;
|
||||
generation: number;
|
||||
projectId: string;
|
||||
@@ -246,6 +248,7 @@ export class PiManagedExtensionHost {
|
||||
const token = randomBytes(32).toString('base64url');
|
||||
const contextFile = path.join(input.extensionsDir, `worker-${randomUUID()}.json`);
|
||||
const record: WorkerRegistrationRecord = {
|
||||
managedModelRequest: input.managedModelRequest,
|
||||
token,
|
||||
conversationId: input.conversationId,
|
||||
generation: input.generation,
|
||||
@@ -292,7 +295,7 @@ export class PiManagedExtensionHost {
|
||||
};
|
||||
}
|
||||
|
||||
async bindRun(conversationId: string, generation: number, runId: string): Promise<void> {
|
||||
async bindRun(conversationId: string, generation: number, runId: string, managedModelRequest?: import('../../../shared/managed-model-capabilities').ManagedModelRequest): Promise<void> {
|
||||
const record = this.findWorker(conversationId, generation);
|
||||
if (!record) throw new Error('Pi extension worker registration is unavailable');
|
||||
if (this.productTools && record.projectPath) {
|
||||
@@ -301,6 +304,7 @@ export class PiManagedExtensionHost {
|
||||
this.releaseWorkerResources(record);
|
||||
this.runBindings.set(conversationId, runId);
|
||||
record.runId = runId;
|
||||
if (managedModelRequest) record.managedModelRequest = structuredClone(managedModelRequest);
|
||||
await this.writeContext(record);
|
||||
}
|
||||
|
||||
@@ -664,6 +668,7 @@ export class PiManagedExtensionHost {
|
||||
tools: record.tools,
|
||||
projectWriteLeaseToolNames: record.projectWriteLeaseToolNames,
|
||||
...(record.runId ? { runId: record.runId } : {}),
|
||||
...(record.managedModelRequest ? { managedModelRequest: record.managedModelRequest } : {}),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user