feat: use managed model capabilities for reasoning and image input
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import path from 'node:path';
|
||||
import { atomicWriteText } from '../../../coding-projects/atomic-json';
|
||||
|
||||
export const MAKELORE_PI_EXTENSION_VERSION = 6;
|
||||
export const MAKELORE_PI_EXTENSION_VERSION = 7;
|
||||
export const MAKELORE_PI_EXTENSION_FILENAME = `makelore-runtime-v${MAKELORE_PI_EXTENSION_VERSION}.mjs`;
|
||||
|
||||
const BUNDLE_SOURCE = String.raw`
|
||||
@@ -434,6 +434,20 @@ export function createMakeloreRuntime(runtimeDefaults = {}) {
|
||||
|
||||
await registerDynamicProductTools();
|
||||
|
||||
pi.on('before_provider_request', async (event) => {
|
||||
const context = await readWorkerContext();
|
||||
const managed = context.managedModelRequest;
|
||||
if (!managed || !context.runId) return;
|
||||
if (!event.payload || typeof event.payload !== 'object' || Array.isArray(event.payload)) return;
|
||||
if (event.payload.model !== managed.modelId) return;
|
||||
const payload = { ...event.payload };
|
||||
delete payload.thinking;
|
||||
delete payload.enable_thinking;
|
||||
delete payload.reasoning_effort;
|
||||
delete payload.thinking_budget;
|
||||
return { ...payload, ...managed.reasoningFields };
|
||||
});
|
||||
|
||||
pi.on('tool_call', async (event, ctx) => {
|
||||
if (!MUTATION_TOOLS.has(event.toolName) && !dynamicLeaseTools.has(event.toolName)) return;
|
||||
const input = event.input || event.arguments || event.args || {};
|
||||
|
||||
Reference in New Issue
Block a user