@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/src/models/text.ts
CHANGED
|
@@ -348,6 +348,18 @@ function isReasoningModel(modelName: string): boolean {
|
|
|
348
348
|
return REASONING_MODEL_PATTERNS.some((pattern) => lower.includes(pattern));
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
+
/**
|
|
352
|
+
* True when the Cloud gateway routes this model to Cerebras (the gpt-oss
|
|
353
|
+
* family). Cerebras's OpenAI-compatible endpoint rejects
|
|
354
|
+
* `response_format: { type: "json_schema", ... }` with a 400, so structured
|
|
355
|
+
* output for these models must fall back to `{ type: "json_object" }`.
|
|
356
|
+
* Mirrors plugin-openai's `isCerebrasMode` json_object scrub, detected by
|
|
357
|
+
* model name here because one Cloud key serves many providers.
|
|
358
|
+
*/
|
|
359
|
+
function isCerebrasServedModel(modelName: string): boolean {
|
|
360
|
+
return modelName.toLowerCase().includes("gpt-oss");
|
|
361
|
+
}
|
|
362
|
+
|
|
351
363
|
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
352
364
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
353
365
|
}
|
|
@@ -509,7 +521,7 @@ export function normalizeNativeTools(tools: unknown): unknown[] | undefined {
|
|
|
509
521
|
return normalized.length > 0 ? normalized : undefined;
|
|
510
522
|
}
|
|
511
523
|
|
|
512
|
-
function normalizeNativeToolChoice(toolChoice: unknown): unknown {
|
|
524
|
+
export function normalizeNativeToolChoice(toolChoice: unknown): unknown {
|
|
513
525
|
if (!toolChoice) {
|
|
514
526
|
return undefined;
|
|
515
527
|
}
|
|
@@ -523,7 +535,17 @@ function normalizeNativeToolChoice(toolChoice: unknown): unknown {
|
|
|
523
535
|
|
|
524
536
|
const choice = asRecord(toolChoice);
|
|
525
537
|
if (choice.type === "function") {
|
|
526
|
-
|
|
538
|
+
const functionChoice = recordAt(choice, "function");
|
|
539
|
+
const toolName = firstString(functionChoice.name, choice.name, choice.toolName);
|
|
540
|
+
return toolName
|
|
541
|
+
? {
|
|
542
|
+
type: "function",
|
|
543
|
+
function: {
|
|
544
|
+
...functionChoice,
|
|
545
|
+
name: toolName,
|
|
546
|
+
},
|
|
547
|
+
}
|
|
548
|
+
: undefined;
|
|
527
549
|
}
|
|
528
550
|
if (choice.type === "tool") {
|
|
529
551
|
const toolName = firstString(choice.toolName, choice.name);
|
|
@@ -535,11 +557,17 @@ function normalizeNativeToolChoice(toolChoice: unknown): unknown {
|
|
|
535
557
|
return toolName ? { type: "function", function: { name: toolName } } : toolChoice;
|
|
536
558
|
}
|
|
537
559
|
|
|
538
|
-
function buildNativeResponseFormat(responseSchema: unknown): unknown {
|
|
560
|
+
function buildNativeResponseFormat(responseSchema: unknown, modelName: string): unknown {
|
|
539
561
|
if (!responseSchema) {
|
|
540
562
|
return undefined;
|
|
541
563
|
}
|
|
542
564
|
|
|
565
|
+
// Cerebras-served models (gpt-oss) 400 on `response_format: json_schema`, so
|
|
566
|
+
// emit `json_object` and rely on the schema embedded in the prompt body.
|
|
567
|
+
if (isCerebrasServedModel(modelName)) {
|
|
568
|
+
return { type: "json_object" };
|
|
569
|
+
}
|
|
570
|
+
|
|
543
571
|
const schemaRecord = asRecord(responseSchema);
|
|
544
572
|
if (schemaRecord.responseFormat) {
|
|
545
573
|
return schemaRecord.responseFormat;
|
|
@@ -653,16 +681,34 @@ function buildNativeRequestBody(
|
|
|
653
681
|
const promptCacheKey = providerOptions ? resolvePromptCacheKey(providerOptions) : undefined;
|
|
654
682
|
const tools = normalizeNativeTools(params.tools);
|
|
655
683
|
const toolChoice = normalizeNativeToolChoice(params.toolChoice);
|
|
656
|
-
const responseFormat = buildNativeResponseFormat(params.responseSchema);
|
|
684
|
+
const responseFormat = buildNativeResponseFormat(params.responseSchema, modelName);
|
|
657
685
|
const requestBody: Record<string, unknown> = {
|
|
658
686
|
model: modelName,
|
|
659
687
|
messages: buildNativeMessages(params, promptText, systemPrompt),
|
|
660
|
-
max_tokens: params.maxTokens ?? 8192,
|
|
661
688
|
};
|
|
689
|
+
// Omit the cap entirely when the caller opted out (direct-channel Stage-1):
|
|
690
|
+
// a hardcoded max_tokens 400s on a model whose real limit differs. Every other
|
|
691
|
+
// caller keeps the 8192 default so it stays bounded.
|
|
692
|
+
if (!params.omitMaxTokens) {
|
|
693
|
+
requestBody.max_tokens = params.maxTokens ?? 8192;
|
|
694
|
+
}
|
|
662
695
|
|
|
663
696
|
if (!isReasoningModel(modelName) && typeof params.temperature === "number") {
|
|
664
697
|
requestBody.temperature = params.temperature;
|
|
665
698
|
}
|
|
699
|
+
// cerebras gpt-oss runs a hidden-reasoning pass before answering even when the
|
|
700
|
+
// caller wants none — measured ~4s/call vs ~0.7s with reasoning suppressed. The
|
|
701
|
+
// runtime signals "don't reason" via providerOptions.eliza.thinking="off" (e.g.
|
|
702
|
+
// the Stage-1 RESPONSE_HANDLER formatting call), but resolveNativeProviderOptions
|
|
703
|
+
// drops the eliza block, so it never reached the wire. Honor it as cerebras's
|
|
704
|
+
// reasoning_effort:"low". Cerebras-gated (the plugin's isReasoningModel does NOT
|
|
705
|
+
// match gpt-oss); other providers ignore the field.
|
|
706
|
+
if (
|
|
707
|
+
isCerebrasServedModel(modelName) &&
|
|
708
|
+
recordAt(asRecord(params.providerOptions), "eliza").thinking === "off"
|
|
709
|
+
) {
|
|
710
|
+
requestBody.reasoning_effort = "low";
|
|
711
|
+
}
|
|
666
712
|
if (tools) {
|
|
667
713
|
requestBody.tools = tools;
|
|
668
714
|
}
|
|
@@ -924,8 +970,10 @@ async function generateTextWithModel(
|
|
|
924
970
|
const requestBody: Record<string, unknown> = {
|
|
925
971
|
model: modelName,
|
|
926
972
|
input,
|
|
927
|
-
max_output_tokens: params.maxTokens ?? 8192,
|
|
928
973
|
};
|
|
974
|
+
if (!params.omitMaxTokens) {
|
|
975
|
+
requestBody.max_output_tokens = params.maxTokens ?? 8192;
|
|
976
|
+
}
|
|
929
977
|
if (!reasoning && typeof params.temperature === "number") {
|
|
930
978
|
requestBody.temperature = params.temperature;
|
|
931
979
|
}
|