@elizaos/plugin-elizacloud 2.0.3-beta.2 → 2.0.3-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.node.cjs +32 -8
- package/dist/cjs/index.node.js.map +7 -7
- package/dist/cloud/auth-service-types.js +1 -1
- package/dist/cloud/auth-service-types.js.map +1 -1
- package/dist/cloud/auth.js +1 -1
- package/dist/cloud/auth.js.map +1 -1
- package/dist/cloud/backup.js +1 -1
- package/dist/cloud/backup.js.map +1 -1
- package/dist/cloud/base-url.js +1 -1
- package/dist/cloud/base-url.js.map +1 -1
- package/dist/cloud/bridge-client.js +1 -1
- package/dist/cloud/bridge-client.js.map +1 -1
- package/dist/cloud/clack-observer.js +1 -1
- package/dist/cloud/clack-observer.js.map +1 -1
- package/dist/cloud/cloud-api-key.js +1 -1
- package/dist/cloud/cloud-api-key.js.map +1 -1
- package/dist/cloud/cloud-manager.js +1 -1
- package/dist/cloud/cloud-manager.js.map +1 -1
- package/dist/cloud/cloud-proxy.js +1 -1
- package/dist/cloud/cloud-proxy.js.map +1 -1
- package/dist/cloud/cloud-wallet.js +1 -1
- package/dist/cloud/cloud-wallet.js.map +1 -1
- package/dist/cloud/duffel-client.js +1 -1
- package/dist/cloud/duffel-client.js.map +1 -1
- package/dist/cloud/index.js +914 -11
- package/dist/cloud/index.js.map +13 -4
- package/dist/cloud/lifeops-schedule-sync-client.js +1 -1
- package/dist/cloud/lifeops-schedule-sync-client.js.map +1 -1
- package/dist/cloud/lifeops-schedule-sync-contracts.js +1 -1
- package/dist/cloud/lifeops-schedule-sync-contracts.js.map +1 -1
- package/dist/cloud/managed-payment-clients.js +1 -1
- package/dist/cloud/managed-payment-clients.js.map +1 -1
- package/dist/cloud/null-observer.js +1 -1
- package/dist/cloud/null-observer.js.map +1 -1
- package/dist/cloud/reconnect.js +1 -1
- package/dist/cloud/reconnect.js.map +1 -1
- package/dist/cloud/validate-url.js +1 -1
- package/dist/cloud/validate-url.js.map +1 -1
- package/dist/cloud/x402-payment-handler.js +1 -1
- package/dist/cloud/x402-payment-handler.js.map +1 -1
- package/dist/cloud-providers/cloud-status.js +1 -1
- package/dist/cloud-providers/cloud-status.js.map +1 -1
- package/dist/cloud-providers/container-health.js +1 -1
- package/dist/cloud-providers/container-health.js.map +1 -1
- package/dist/cloud-providers/credit-balance.js +1 -1
- package/dist/cloud-providers/credit-balance.js.map +1 -1
- package/dist/cloud-providers/index.js +1 -1
- package/dist/cloud-providers/index.js.map +1 -1
- package/dist/cloud-providers/model-registry.js +1 -1
- package/dist/cloud-providers/model-registry.js.map +1 -1
- package/dist/cloud-setup.js +1 -1
- package/dist/cloud-setup.js.map +1 -1
- package/dist/cloud-voice-catalog.js +1 -1
- package/dist/cloud-voice-catalog.js.map +2 -2
- package/dist/index.js +45 -16
- package/dist/index.js.map +9 -8
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/dist/lib/cloud-connection.js +1 -1
- package/dist/lib/cloud-connection.js.map +1 -1
- package/dist/lib/cloud-secrets.js +1 -1
- package/dist/lib/cloud-secrets.js.map +1 -1
- package/dist/lib/config-env.js +1 -1
- package/dist/lib/config-env.js.map +1 -1
- package/dist/lib/config-like.js +1 -1
- package/dist/lib/config-like.js.map +1 -1
- package/dist/lib/credential-type-map.js +1 -1
- package/dist/lib/credential-type-map.js.map +1 -1
- package/dist/lib/feature-flags.js +1 -1
- package/dist/lib/feature-flags.js.map +1 -1
- package/dist/lib/http.js +1 -1
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/server-cloud-tts.js +1 -1
- package/dist/lib/server-cloud-tts.js.map +1 -1
- package/dist/lib/state-paths.js +1 -1
- package/dist/lib/state-paths.js.map +1 -1
- package/dist/lib/tts-debug.js +1 -1
- package/dist/lib/tts-debug.js.map +1 -1
- package/dist/models/embeddings.d.ts.map +1 -1
- package/dist/models/embeddings.js +4 -1
- package/dist/models/embeddings.js.map +3 -3
- package/dist/models/image.js +1 -1
- package/dist/models/image.js.map +1 -1
- package/dist/models/index.js +32 -8
- package/dist/models/index.js.map +5 -5
- package/dist/models/research.js +1 -1
- package/dist/models/research.js.map +1 -1
- package/dist/models/speech.js +1 -1
- package/dist/models/speech.js.map +2 -2
- package/dist/models/text.d.ts +1 -0
- package/dist/models/text.d.ts.map +1 -1
- package/dist/models/text.js +30 -8
- package/dist/models/text.js.map +3 -3
- package/dist/models/tokenization.js +1 -1
- package/dist/models/tokenization.js.map +1 -1
- package/dist/models/transcription.js +1 -1
- package/dist/models/transcription.js.map +1 -1
- package/dist/node/index.node.js +32 -8
- package/dist/node/index.node.js.map +7 -7
- package/dist/plugin.js +1 -1
- package/dist/plugin.js.map +1 -1
- package/dist/providers/openai.js +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/register-routes.js +1 -1
- package/dist/register-routes.js.map +1 -1
- package/dist/routes/cloud-billing-routes.js +1 -1
- package/dist/routes/cloud-billing-routes.js.map +1 -1
- package/dist/routes/cloud-coding-container-routes.js +1 -1
- package/dist/routes/cloud-coding-container-routes.js.map +1 -1
- package/dist/routes/cloud-compat-routes.js +1 -1
- package/dist/routes/cloud-compat-routes.js.map +1 -1
- package/dist/routes/cloud-features-routes.js +1 -1
- package/dist/routes/cloud-features-routes.js.map +1 -1
- package/dist/routes/cloud-provisioning.js +1 -1
- package/dist/routes/cloud-provisioning.js.map +1 -1
- package/dist/routes/cloud-relay-routes.js +1 -1
- package/dist/routes/cloud-relay-routes.js.map +1 -1
- package/dist/routes/cloud-routes-autonomous.js +1 -1
- package/dist/routes/cloud-routes-autonomous.js.map +1 -1
- package/dist/routes/cloud-routes.js +1 -1
- package/dist/routes/cloud-routes.js.map +1 -1
- package/dist/routes/cloud-status-routes-autonomous.js +1 -1
- package/dist/routes/cloud-status-routes-autonomous.js.map +1 -1
- package/dist/routes/cloud-status-routes.js +1 -1
- package/dist/routes/cloud-status-routes.js.map +1 -1
- package/dist/routes/home-remote-runner-access-url.js +1 -1
- package/dist/routes/home-remote-runner-access-url.js.map +1 -1
- package/dist/routes/travel-provider-relay-routes.js +1 -1
- package/dist/routes/travel-provider-relay-routes.js.map +1 -1
- package/dist/services/cloud-auth.js +1 -1
- package/dist/services/cloud-auth.js.map +1 -1
- package/dist/services/cloud-backup.js +1 -1
- package/dist/services/cloud-backup.js.map +1 -1
- package/dist/services/cloud-bootstrap.js +1 -1
- package/dist/services/cloud-bootstrap.js.map +1 -1
- package/dist/services/cloud-bridge.js +1 -1
- package/dist/services/cloud-bridge.js.map +1 -1
- package/dist/services/cloud-container.js +1 -1
- package/dist/services/cloud-container.js.map +1 -1
- package/dist/services/cloud-credential-provider.js +1 -1
- package/dist/services/cloud-credential-provider.js.map +1 -1
- package/dist/services/cloud-managed-gateway-relay.js +1 -1
- package/dist/services/cloud-managed-gateway-relay.js.map +1 -1
- package/dist/services/cloud-model-registry.js +1 -1
- package/dist/services/cloud-model-registry.js.map +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/types/cloud.js +1 -1
- package/dist/types/cloud.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/cloud-api.js +1 -1
- package/dist/utils/cloud-api.js.map +1 -1
- package/dist/utils/cloud-sdk/client.js +1 -1
- package/dist/utils/cloud-sdk/client.js.map +1 -1
- package/dist/utils/cloud-sdk/http.js +1 -1
- package/dist/utils/cloud-sdk/http.js.map +1 -1
- package/dist/utils/cloud-sdk/index.js +1 -1
- package/dist/utils/cloud-sdk/index.js.map +1 -1
- package/dist/utils/cloud-sdk/public-routes.js +1 -1
- package/dist/utils/cloud-sdk/public-routes.js.map +1 -1
- package/dist/utils/cloud-sdk/types.js +1 -1
- package/dist/utils/cloud-sdk/types.js.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/events.js +1 -1
- package/dist/utils/events.js.map +1 -1
- package/dist/utils/helpers.js +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/responses-output.js +1 -1
- package/dist/utils/responses-output.js.map +1 -1
- package/dist/utils/sdk-client.js +1 -1
- package/dist/utils/sdk-client.js.map +1 -1
- package/dist/utils/waifu-metering.js +1 -1
- package/dist/utils/waifu-metering.js.map +1 -1
- package/package.json +6 -5
- package/registry-entry.json +208 -0
- package/src/cloud-voice-catalog.ts +2 -2
- package/src/index.ts +1 -1
- package/src/models/embeddings.ts +9 -0
- package/src/models/speech.ts +2 -2
- package/src/models/text.ts +54 -6
package/dist/models/image.js.map
CHANGED
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"import type { IAgentRuntime, ImageDescriptionParams, ImageGenerationParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n getImageDescriptionModel,\n getImageGenerationModel,\n getSetting,\n resolveCloudTimeoutMs,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { parseImageDescriptionResponse } from \"../utils/helpers\";\nimport { createElizaCloudClient } from \"../utils/sdk-client\";\n\nexport async function handleImageGeneration(\n runtime: IAgentRuntime,\n params: ImageGenerationParams\n): Promise<{ url: string }[]> {\n const numImages = params.count || 1;\n const size = params.size || \"1024x1024\";\n const prompt = params.prompt;\n const modelName = getImageGenerationModel(runtime);\n logger.log(`[ELIZAOS_CLOUD] Using IMAGE model: ${modelName}`);\n\n const aspectRatioMap: Record<string, string> = {\n \"1024x1024\": \"1:1\",\n \"1792x1024\": \"16:9\",\n \"1024x1792\": \"9:16\",\n };\n const aspectRatio = aspectRatioMap[size] || \"1:1\";\n\n try {\n const requestBody = {\n prompt: prompt,\n numImages: numImages,\n aspectRatio: aspectRatio,\n model: modelName,\n };\n\n const typedData = await createElizaCloudClient(runtime).generateImage(requestBody);\n\n const result = typedData.images.map((img: { url?: string; image?: string }) => ({\n url: img.url ?? img.image ?? \"\",\n }));\n return result;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error(`[ELIZAOS_CLOUD] Image generation error: ${message}`);\n throw error;\n }\n}\n\nexport async function handleImageDescription(\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n): Promise<{ title: string; description: string }> {\n // Honour `DISABLE_IMAGE_DESCRIPTION` (set by the runtime when\n // `features.vision === false`). The runtime exposes it via getSetting; some\n // hosts only set it in process.env. Check both before burning a quota slot.\n // The docs (`docs/runtime/core.md`) already promise this behaviour, but\n // historically only `plugin-discord` honoured it at the call site, leaving\n // every other caller (agent-orchestrator's task validator, vision, lifeops,\n // farcaster, telegram) free to spend the rate-limit budget.\n const disableSetting = getSetting(runtime, \"DISABLE_IMAGE_DESCRIPTION\", \"\");\n const disabled = [disableSetting, process.env.DISABLE_IMAGE_DESCRIPTION].some((value) => {\n const normalized = value?.trim().toLowerCase();\n return normalized === \"1\" || normalized === \"true\" || normalized === \"yes\" || normalized === \"on\";\n });\n if (disabled) {\n logger.debug(\"[ELIZAOS_CLOUD] IMAGE_DESCRIPTION skipped — DISABLE_IMAGE_DESCRIPTION is set\");\n return {\n title: \"Image description disabled\",\n description: \"Image description is disabled by configuration.\",\n };\n }\n\n let imageUrl: string;\n let promptText: string | undefined;\n const modelName = getImageDescriptionModel(runtime);\n logger.log(`[ELIZAOS_CLOUD] Using IMAGE_DESCRIPTION model: ${modelName}`);\n const maxTokens = Number.parseInt(\n getSetting(runtime, \"ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS\", \"8192\") || \"8192\",\n 10\n );\n\n if (typeof params === \"string\") {\n imageUrl = params;\n promptText = \"Please analyze this image and provide a title and detailed description.\";\n } else {\n imageUrl = params.imageUrl;\n promptText =\n params.prompt || \"Please analyze this image and provide a title and detailed description.\";\n }\n\n const messages = [\n {\n role: \"user\",\n content: [\n { type: \"text\", text: promptText },\n { type: \"image_url\", image_url: { url: imageUrl } },\n ],\n },\n ];\n\n const client = createElizaCloudClient(runtime);\n\n try {\n const requestBody: Record<string, unknown> = {\n model: modelName,\n messages: messages,\n max_tokens: maxTokens,\n };\n\n // On 429, honour the upstream's `retryAfter` instead of retrying on a\n // hardcoded backoff. Hardcoded retries inside the rate-limit window add\n // wasted requests to the same bucket and make the problem worse — see\n // #7374's billing render-loop fix and S33's dashboard 429-aware UX.\n // Strategy: only retry once, only if the upstream signals a short wait\n // (≤5s, i.e. transient burst). Anything longer, bail immediately and let\n // the caller fail fast.\n let response: Response | null = null;\n let attemptedRetry = false;\n for (let attempt = 0; attempt < 2; attempt++) {\n const attemptResponse = await client.routes.postApiV1ChatCompletionsRaw({\n json: requestBody,\n timeoutMs: resolveCloudTimeoutMs(\"ELIZAOS_CLOUD_IMAGE_TIMEOUT_MS\", 120_000),\n });\n if (!attemptResponse) {\n continue;\n }\n response = attemptResponse;\n if (attemptResponse.status !== 429 || attemptedRetry) break;\n\n // `Number(null) === 0`, so guard against a missing header before\n // calling `Number(...)` — otherwise the header path always wins with a\n // bogus `0` and the body fallback becomes unreachable.\n const headerValue = attemptResponse.headers.get(\"retry-after\");\n const headerRetryAfter =\n headerValue !== null && Number.isFinite(Number(headerValue))\n ? Number(headerValue)\n : undefined;\n let bodyRetryAfter: number | undefined;\n try {\n const peek = (await attemptResponse.clone().json()) as {\n retryAfter?: unknown;\n };\n bodyRetryAfter =\n typeof peek?.retryAfter === \"number\" && Number.isFinite(peek.retryAfter)\n ? peek.retryAfter\n : undefined;\n } catch {\n // Body wasn't JSON — fall through to header value.\n }\n const retryAfter = headerRetryAfter ?? bodyRetryAfter ?? 0;\n\n if (retryAfter > 0 && retryAfter <= 5) {\n logger.warn(\n `[ELIZAOS_CLOUD] Image analysis rate-limited (429), retrying once after ${retryAfter}s...`\n );\n await new Promise((r) => setTimeout(r, retryAfter * 1000));\n attemptedRetry = true;\n continue;\n }\n // Long rate-limit window: don't burn another bucket slot retrying inside it.\n logger.warn(\n `[ELIZAOS_CLOUD] Image analysis rate-limited (429); upstream retryAfter=${retryAfter || \"unknown\"}s — failing fast`\n );\n break;\n }\n\n if (!response) {\n throw new Error(\"ElizaOS Cloud API did not return a response\");\n }\n\n const finalResponse = response;\n\n if (!finalResponse.ok) {\n const status = finalResponse.status;\n if (status === 402) {\n throw new Error(\n \"Eliza Cloud credits exhausted — top up at https://www.elizacloud.ai/dashboard/settings?tab=billing\"\n );\n }\n if (status === 429) {\n throw new Error(\n \"Eliza Cloud rate limit exceeded for image description — try again in a minute\"\n );\n }\n throw new Error(`ElizaOS Cloud API error: ${status}`);\n }\n\n type OpenAIResponseType = {\n choices?: Array<{\n message?: { content?: string };\n finish_reason?: string;\n }>;\n usage?: {\n prompt_tokens: number;\n completion_tokens: number;\n total_tokens: number;\n };\n };\n\n const typedResult = (await finalResponse.json()) as OpenAIResponseType;\n const content = typedResult.choices?.[0]?.message?.content;\n\n if (typedResult.usage) {\n emitModelUsageEvent(\n runtime,\n ModelType.IMAGE_DESCRIPTION,\n typeof params === \"string\" ? params : params.prompt || \"\",\n {\n inputTokens: typedResult.usage.prompt_tokens,\n outputTokens: typedResult.usage.completion_tokens,\n totalTokens: typedResult.usage.total_tokens,\n }\n );\n }\n\n if (!content) {\n return {\n title: \"Failed to analyze image\",\n description: \"No response from API\",\n };\n }\n\n return parseImageDescriptionResponse(content);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error(`Error analyzing image: ${message}`);\n return {\n title: \"Failed to analyze image\",\n description: `Error: ${message}`,\n };\n }\n}\n"
|
|
10
10
|
],
|
|
11
11
|
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
12
|
+
"debugId": "60F3AF86C053730564756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/dist/models/index.js
CHANGED
|
@@ -295,6 +295,9 @@ async function handleBatchTextEmbedding(runtime, texts) {
|
|
|
295
295
|
if (response.status === 401 || response.status === 403) {
|
|
296
296
|
throw new Error(`[BatchEmbeddings] Authentication failed (${response.status}). ` + `Check ELIZAOS_CLOUD_API_KEY or ELIZAOS_CLOUD_EMBEDDING_API_KEY — ` + `the current key is not authorized for the embedding endpoint.`);
|
|
297
297
|
}
|
|
298
|
+
if (response.status === 429) {
|
|
299
|
+
throw new Error(`[BatchEmbeddings] Rate-limit retry exhausted: API error: ${response.status} ${response.statusText}`);
|
|
300
|
+
}
|
|
298
301
|
throw new Error(`[BatchEmbeddings] API error: ${response.status} ${response.statusText}`);
|
|
299
302
|
}
|
|
300
303
|
const data = await response.json();
|
|
@@ -1114,6 +1117,9 @@ function isReasoningModel(modelName) {
|
|
|
1114
1117
|
const lower = modelName.toLowerCase();
|
|
1115
1118
|
return REASONING_MODEL_PATTERNS.some((pattern) => lower.includes(pattern));
|
|
1116
1119
|
}
|
|
1120
|
+
function isCerebrasServedModel(modelName) {
|
|
1121
|
+
return modelName.toLowerCase().includes("gpt-oss");
|
|
1122
|
+
}
|
|
1117
1123
|
function isRecord(value) {
|
|
1118
1124
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1119
1125
|
}
|
|
@@ -1235,7 +1241,15 @@ function normalizeNativeToolChoice(toolChoice) {
|
|
|
1235
1241
|
}
|
|
1236
1242
|
const choice = asRecord2(toolChoice);
|
|
1237
1243
|
if (choice.type === "function") {
|
|
1238
|
-
|
|
1244
|
+
const functionChoice2 = recordAt(choice, "function");
|
|
1245
|
+
const toolName2 = firstString(functionChoice2.name, choice.name, choice.toolName);
|
|
1246
|
+
return toolName2 ? {
|
|
1247
|
+
type: "function",
|
|
1248
|
+
function: {
|
|
1249
|
+
...functionChoice2,
|
|
1250
|
+
name: toolName2
|
|
1251
|
+
}
|
|
1252
|
+
} : undefined;
|
|
1239
1253
|
}
|
|
1240
1254
|
if (choice.type === "tool") {
|
|
1241
1255
|
const toolName2 = firstString(choice.toolName, choice.name);
|
|
@@ -1245,10 +1259,13 @@ function normalizeNativeToolChoice(toolChoice) {
|
|
|
1245
1259
|
const toolName = firstString(choice.toolName, choice.name, functionChoice.name);
|
|
1246
1260
|
return toolName ? { type: "function", function: { name: toolName } } : toolChoice;
|
|
1247
1261
|
}
|
|
1248
|
-
function buildNativeResponseFormat(responseSchema) {
|
|
1262
|
+
function buildNativeResponseFormat(responseSchema, modelName) {
|
|
1249
1263
|
if (!responseSchema) {
|
|
1250
1264
|
return;
|
|
1251
1265
|
}
|
|
1266
|
+
if (isCerebrasServedModel(modelName)) {
|
|
1267
|
+
return { type: "json_object" };
|
|
1268
|
+
}
|
|
1252
1269
|
const schemaRecord = asRecord2(responseSchema);
|
|
1253
1270
|
if (schemaRecord.responseFormat) {
|
|
1254
1271
|
return schemaRecord.responseFormat;
|
|
@@ -1326,15 +1343,20 @@ function buildNativeRequestBody(params, modelName, promptText, systemPrompt) {
|
|
|
1326
1343
|
const promptCacheKey = providerOptions ? resolvePromptCacheKey(providerOptions) : undefined;
|
|
1327
1344
|
const tools = normalizeNativeTools(params.tools);
|
|
1328
1345
|
const toolChoice = normalizeNativeToolChoice(params.toolChoice);
|
|
1329
|
-
const responseFormat = buildNativeResponseFormat(params.responseSchema);
|
|
1346
|
+
const responseFormat = buildNativeResponseFormat(params.responseSchema, modelName);
|
|
1330
1347
|
const requestBody = {
|
|
1331
1348
|
model: modelName,
|
|
1332
|
-
messages: buildNativeMessages(params, promptText, systemPrompt)
|
|
1333
|
-
max_tokens: params.maxTokens ?? 8192
|
|
1349
|
+
messages: buildNativeMessages(params, promptText, systemPrompt)
|
|
1334
1350
|
};
|
|
1351
|
+
if (!params.omitMaxTokens) {
|
|
1352
|
+
requestBody.max_tokens = params.maxTokens ?? 8192;
|
|
1353
|
+
}
|
|
1335
1354
|
if (!isReasoningModel(modelName) && typeof params.temperature === "number") {
|
|
1336
1355
|
requestBody.temperature = params.temperature;
|
|
1337
1356
|
}
|
|
1357
|
+
if (isCerebrasServedModel(modelName) && recordAt(asRecord2(params.providerOptions), "eliza").thinking === "off") {
|
|
1358
|
+
requestBody.reasoning_effort = "low";
|
|
1359
|
+
}
|
|
1338
1360
|
if (tools) {
|
|
1339
1361
|
requestBody.tools = tools;
|
|
1340
1362
|
}
|
|
@@ -1496,9 +1518,11 @@ async function generateTextWithModel(runtime, modelType, params) {
|
|
|
1496
1518
|
});
|
|
1497
1519
|
const requestBody = {
|
|
1498
1520
|
model: modelName,
|
|
1499
|
-
input
|
|
1500
|
-
max_output_tokens: params.maxTokens ?? 8192
|
|
1521
|
+
input
|
|
1501
1522
|
};
|
|
1523
|
+
if (!params.omitMaxTokens) {
|
|
1524
|
+
requestBody.max_output_tokens = params.maxTokens ?? 8192;
|
|
1525
|
+
}
|
|
1502
1526
|
if (!reasoning && typeof params.temperature === "number") {
|
|
1503
1527
|
requestBody.temperature = params.temperature;
|
|
1504
1528
|
}
|
|
@@ -1903,4 +1927,4 @@ export {
|
|
|
1903
1927
|
fetchTextToSpeech
|
|
1904
1928
|
};
|
|
1905
1929
|
|
|
1906
|
-
//# debugId=
|
|
1930
|
+
//# debugId=A300679511EB9B9464756E2164756E21
|