@zhivex-ai/qwen 0.15.3 → 0.16.2
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/README.md +46 -1
- package/dist/browser-realtime.d.ts +58 -0
- package/dist/browser-realtime.d.ts.map +1 -0
- package/dist/browser-realtime.js +259 -0
- package/dist/browser-realtime.js.map +1 -0
- package/dist/browser.d.ts +9 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +7 -0
- package/dist/browser.js.map +1 -0
- package/dist/cloud-media.d.ts +89 -0
- package/dist/cloud-media.d.ts.map +1 -0
- package/dist/cloud-media.js +221 -0
- package/dist/cloud-media.js.map +1 -0
- package/dist/cloud-realtime.d.ts +58 -0
- package/dist/cloud-realtime.d.ts.map +1 -0
- package/dist/cloud-realtime.js +123 -0
- package/dist/cloud-realtime.js.map +1 -0
- package/dist/decision.d.ts +69 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +122 -0
- package/dist/decision.js.map +1 -0
- package/dist/embeddings.d.ts +30 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +94 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/index.d.ts +40 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +365 -144
- package/dist/index.js.map +1 -1
- package/dist/inference-audio.d.ts +146 -0
- package/dist/inference-audio.d.ts.map +1 -0
- package/dist/inference-audio.js +256 -0
- package/dist/inference-audio.js.map +1 -0
- package/dist/native-asr.d.ts +52 -0
- package/dist/native-asr.d.ts.map +1 -0
- package/dist/native-asr.js +162 -0
- package/dist/native-asr.js.map +1 -0
- package/dist/rtc-protocol.d.ts +10 -0
- package/dist/rtc-protocol.d.ts.map +1 -0
- package/dist/rtc-protocol.js +10 -0
- package/dist/rtc-protocol.js.map +1 -0
- package/dist/sdp-exchange.d.ts +8 -0
- package/dist/sdp-exchange.d.ts.map +1 -0
- package/dist/sdp-exchange.js +25 -0
- package/dist/sdp-exchange.js.map +1 -0
- package/dist/temporary-keys.d.ts +15 -0
- package/dist/temporary-keys.d.ts.map +1 -0
- package/dist/temporary-keys.js +28 -0
- package/dist/temporary-keys.js.map +1 -0
- package/dist/text-profiles.d.ts +7 -0
- package/dist/text-profiles.d.ts.map +1 -0
- package/dist/text-profiles.js +55 -0
- package/dist/text-profiles.js.map +1 -0
- package/dist/url-path.d.ts +3 -0
- package/dist/url-path.d.ts.map +1 -0
- package/dist/url-path.js +8 -0
- package/dist/url-path.js.map +1 -0
- package/dist/world-rtc.d.ts +30 -0
- package/dist/world-rtc.d.ts.map +1 -0
- package/dist/world-rtc.js +33 -0
- package/dist/world-rtc.js.map +1 -0
- package/dist/worlds.d.ts +134 -0
- package/dist/worlds.d.ts.map +1 -0
- package/dist/worlds.js +196 -0
- package/dist/worlds.js.map +1 -0
- package/package.json +6 -2
package/dist/worlds.d.ts
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { type QwenCloudRequestOptions } from "./cloud-media.js";
|
|
2
|
+
export type QwenWorldModelId = "happyoyster-1.0-adventure" | "happyoyster-1.0-directing" | "happyoyster-1.0-acting";
|
|
3
|
+
export type QwenWorldImage = ({
|
|
4
|
+
url: string;
|
|
5
|
+
base64?: never;
|
|
6
|
+
} | {
|
|
7
|
+
base64: string;
|
|
8
|
+
url?: never;
|
|
9
|
+
}) & {
|
|
10
|
+
referenceType?: "default";
|
|
11
|
+
};
|
|
12
|
+
export interface QwenWorldCreateInput extends QwenCloudRequestOptions {
|
|
13
|
+
prompt?: string;
|
|
14
|
+
creationModel?: "simple" | "scriptlist";
|
|
15
|
+
scriptList?: QwenWorldScript;
|
|
16
|
+
firstFrameImage?: QwenWorldImage;
|
|
17
|
+
async?: boolean;
|
|
18
|
+
refWorldId?: string;
|
|
19
|
+
perspective?: "first_person" | "third_person";
|
|
20
|
+
eventStyle?: "normal" | "dramatic";
|
|
21
|
+
resolution?: "480p" | "720p";
|
|
22
|
+
aspectRatio?: "9:16" | "16:9";
|
|
23
|
+
layout?: "Stable" | "Fast" | "Calm";
|
|
24
|
+
narrative?: "Calm" | "Dramatic" | "Normal" | "Steady";
|
|
25
|
+
inputImages?: QwenWorldImage[];
|
|
26
|
+
}
|
|
27
|
+
export interface QwenWorldAct {
|
|
28
|
+
turn?: number;
|
|
29
|
+
content: string;
|
|
30
|
+
cameraType?: "Static" | "Tracking" | "Pan Left" | "Pan Right" | "Tilt Up" | "Tilt Down" | "Push-in" | "Pull-out" | "POV Forward" | "POV Look Down" | "POV Look Up" | "POV Turn Left" | "POV Turn Right";
|
|
31
|
+
shotSize?: "Wide" | "Medium" | "Close-up";
|
|
32
|
+
cut?: "long-take" | "hard-cut" | "cut-in" | "cut-out" | "cutaway" | "cutback" | "camera movement transition";
|
|
33
|
+
}
|
|
34
|
+
export interface QwenWorldScript {
|
|
35
|
+
synopsis: string;
|
|
36
|
+
acts: QwenWorldAct[];
|
|
37
|
+
videoTitle?: string;
|
|
38
|
+
scene?: string;
|
|
39
|
+
style?: string;
|
|
40
|
+
speed?: string;
|
|
41
|
+
language?: string;
|
|
42
|
+
setting?: string;
|
|
43
|
+
soundtrack?: string;
|
|
44
|
+
prologue?: string;
|
|
45
|
+
videoTags?: string[];
|
|
46
|
+
subjects?: Array<{
|
|
47
|
+
label?: string;
|
|
48
|
+
name?: string;
|
|
49
|
+
type?: "character" | "animal" | "creature" | "narrator";
|
|
50
|
+
refImage?: QwenWorldImage;
|
|
51
|
+
gender?: string;
|
|
52
|
+
position?: string;
|
|
53
|
+
ethnicity?: string;
|
|
54
|
+
age?: string;
|
|
55
|
+
appearance?: string;
|
|
56
|
+
voice?: string;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
export interface QwenWorld {
|
|
60
|
+
encryptedWorldId: string;
|
|
61
|
+
status: "generating" | "ready" | "failed";
|
|
62
|
+
firstFrame?: string | null;
|
|
63
|
+
[key: string]: unknown;
|
|
64
|
+
}
|
|
65
|
+
export interface QwenTravelCredential {
|
|
66
|
+
ticket: string;
|
|
67
|
+
expiresIn: number;
|
|
68
|
+
encryptedWorldId: string;
|
|
69
|
+
}
|
|
70
|
+
export interface QwenWorldList {
|
|
71
|
+
items: QwenWorld[];
|
|
72
|
+
pagination: {
|
|
73
|
+
page: number;
|
|
74
|
+
pageSize: number;
|
|
75
|
+
total: number;
|
|
76
|
+
hasMore: boolean;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface QwenTravel {
|
|
80
|
+
encryptedTravelId: string;
|
|
81
|
+
encryptedWorldId?: string;
|
|
82
|
+
rtcConfig?: {
|
|
83
|
+
channelId: string;
|
|
84
|
+
appId: string;
|
|
85
|
+
token: string;
|
|
86
|
+
userId: string;
|
|
87
|
+
} | null;
|
|
88
|
+
[key: string]: unknown;
|
|
89
|
+
}
|
|
90
|
+
export interface QwenWorldsClient {
|
|
91
|
+
readonly modelId: QwenWorldModelId;
|
|
92
|
+
create(input: QwenWorldCreateInput): Promise<QwenWorld>;
|
|
93
|
+
buildStatus(worldId: string, options?: QwenCloudRequestOptions): Promise<QwenWorld>;
|
|
94
|
+
get(worldId: string, options?: QwenCloudRequestOptions): Promise<QwenWorld>;
|
|
95
|
+
list(options?: QwenCloudRequestOptions & {
|
|
96
|
+
page?: number;
|
|
97
|
+
pageSize?: number;
|
|
98
|
+
status?: QwenWorld["status"];
|
|
99
|
+
}): Promise<QwenWorldList>;
|
|
100
|
+
delete(worldId: string, options?: QwenCloudRequestOptions): Promise<{
|
|
101
|
+
encryptedWorldId: string;
|
|
102
|
+
deleted: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
getTravelCredential(worldId: string, options?: QwenCloudRequestOptions): Promise<QwenTravelCredential>;
|
|
105
|
+
enterTravel(input: QwenCloudRequestOptions & {
|
|
106
|
+
ticket: string;
|
|
107
|
+
maxExperienceTimeSec?: 60 | 90 | 120;
|
|
108
|
+
}): Promise<QwenTravel>;
|
|
109
|
+
rewindTravel(travelId: string, rewindToSec: number, options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
110
|
+
listTravels(options?: QwenCloudRequestOptions & {
|
|
111
|
+
page?: number;
|
|
112
|
+
pageSize?: number;
|
|
113
|
+
status?: "init" | "pending" | "running" | "paused" | "failed" | "completed";
|
|
114
|
+
worldId?: string;
|
|
115
|
+
}): Promise<{
|
|
116
|
+
items: QwenTravel[];
|
|
117
|
+
pagination: QwenWorldList["pagination"];
|
|
118
|
+
}>;
|
|
119
|
+
travelStatus(travelId: string, options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
120
|
+
travelArtifacts(travelId: string, options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
121
|
+
pauseTravel(travelId: string, options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
122
|
+
resumeTravel(travelId: string, options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
123
|
+
instructTravel(travelId: string, input: QwenCloudRequestOptions & {
|
|
124
|
+
content: string;
|
|
125
|
+
clientRequestId?: string;
|
|
126
|
+
}): Promise<QwenTravel>;
|
|
127
|
+
updateScript(travelId: string, acts: QwenWorldAct[], options?: QwenCloudRequestOptions): Promise<QwenTravel>;
|
|
128
|
+
endTravel(travelId: string, options?: QwenCloudRequestOptions & {
|
|
129
|
+
failCode?: "TRAVEL_NO_STREAM_AUTO_END";
|
|
130
|
+
userAgent?: string;
|
|
131
|
+
}): Promise<QwenTravel>;
|
|
132
|
+
}
|
|
133
|
+
export declare function createQwenWorldsClient(modelId: QwenWorldModelId, apiKey: string, taskBaseURL: string, fetcher: typeof globalThis.fetch): QwenWorldsClient;
|
|
134
|
+
//# sourceMappingURL=worlds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worlds.d.ts","sourceRoot":"","sources":["../src/worlds.ts"],"names":[],"mappings":"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"}
|
package/dist/worlds.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { ConfigurationError, ProviderHTTPError } from "@zhivex-ai/core";
|
|
2
|
+
import { cloudRequest, requireCloudText, requireCloudURL } from "./cloud-media.js";
|
|
3
|
+
function image(value) {
|
|
4
|
+
if (!value || (!!value.url === !!value.base64))
|
|
5
|
+
throw new ConfigurationError("World image requires exactly one URL or base64 value.");
|
|
6
|
+
if (value.url)
|
|
7
|
+
requireCloudURL(value.url);
|
|
8
|
+
else if (typeof value.base64 !== "string" || !/^data:image\/(?:jpeg|jpg|png|webp);base64,[A-Za-z0-9+/]+={0,2}$/.test(value.base64) || value.base64.length >= 8 * 1024 * 1024)
|
|
9
|
+
throw new ConfigurationError("World image must be an image data URI smaller than 6 MiB.");
|
|
10
|
+
}
|
|
11
|
+
function acts(items, complete = false) {
|
|
12
|
+
if (!Array.isArray(items) || items.length < 1 || items.length > 45 || (complete && items.length !== 45))
|
|
13
|
+
throw new ConfigurationError("Scripts require 1–45 acts; full updates require exactly 45.");
|
|
14
|
+
const turns = new Set();
|
|
15
|
+
for (const act of items) {
|
|
16
|
+
requireCloudText(act.content, "act content", 2000);
|
|
17
|
+
if (act.turn !== undefined) {
|
|
18
|
+
if (!Number.isInteger(act.turn) || act.turn < 1 || act.turn > 45 || turns.has(act.turn))
|
|
19
|
+
throw new ConfigurationError("Act turns must be unique integers 1–45.");
|
|
20
|
+
turns.add(act.turn);
|
|
21
|
+
}
|
|
22
|
+
else if (complete)
|
|
23
|
+
throw new ConfigurationError("Full script updates require explicit turns 1–45.");
|
|
24
|
+
if (act.cameraType !== undefined && !["Static", "Tracking", "Pan Left", "Pan Right", "Tilt Up", "Tilt Down", "Push-in", "Pull-out", "POV Forward", "POV Look Down", "POV Look Up", "POV Turn Left", "POV Turn Right"].includes(act.cameraType))
|
|
25
|
+
throw new ConfigurationError("Invalid cameraType.");
|
|
26
|
+
if (act.shotSize !== undefined && !["Wide", "Medium", "Close-up"].includes(act.shotSize))
|
|
27
|
+
throw new ConfigurationError("Invalid shotSize.");
|
|
28
|
+
if (act.cut !== undefined && !["long-take", "hard-cut", "cut-in", "cut-out", "cutaway", "cutback", "camera movement transition"].includes(act.cut))
|
|
29
|
+
throw new ConfigurationError("Invalid cut.");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function script(value) {
|
|
33
|
+
requireCloudText(value?.synopsis, "synopsis", 2000);
|
|
34
|
+
acts(value.acts);
|
|
35
|
+
for (const [key, max] of Object.entries({ videoTitle: 128, scene: 64, style: 64, speed: 64, language: 64, setting: 2000, soundtrack: 500, prologue: 1000 })) {
|
|
36
|
+
const field = value[key];
|
|
37
|
+
if (field !== undefined)
|
|
38
|
+
requireCloudText(field, key, max);
|
|
39
|
+
}
|
|
40
|
+
if ((value.videoTags?.length ?? 0) > 20)
|
|
41
|
+
throw new ConfigurationError("At most 20 videoTags.");
|
|
42
|
+
value.videoTags?.forEach(tag => requireCloudText(tag, "videoTag", 32));
|
|
43
|
+
if ((value.subjects?.length ?? 0) > 6)
|
|
44
|
+
throw new ConfigurationError("At most six subjects.");
|
|
45
|
+
for (const subject of value.subjects ?? []) {
|
|
46
|
+
if (subject.refImage)
|
|
47
|
+
image(subject.refImage);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function world(data) {
|
|
51
|
+
requireCloudText(data?.encryptedWorldId, "response world ID");
|
|
52
|
+
if (!["generating", "ready", "failed"].includes(data.status))
|
|
53
|
+
throw new ConfigurationError("Invalid world status.");
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
export function createQwenWorldsClient(modelId, apiKey, taskBaseURL, fetcher) {
|
|
57
|
+
if (!["happyoyster-1.0-adventure", "happyoyster-1.0-directing", "happyoyster-1.0-acting"].includes(modelId))
|
|
58
|
+
throw new ConfigurationError("Unsupported world model.");
|
|
59
|
+
// Keep a custom gateway prefix while replacing the documented API version.
|
|
60
|
+
if (!/\/api\/v1\/?$/.test(taskBaseURL))
|
|
61
|
+
throw new ConfigurationError("Worlds require taskBaseURL ending in /api/v1.");
|
|
62
|
+
const base = taskBaseURL.replace(/\/api\/v1\/?$/, `/api/v2/apps/${modelId}/openapi/v1`);
|
|
63
|
+
const request = async (path, options, body) => {
|
|
64
|
+
const envelope = await cloudRequest(apiKey, `${base}${path}`, fetcher, options, body);
|
|
65
|
+
// The public maas gateway wraps the Open API envelope in output.
|
|
66
|
+
const json = envelope.output ?? envelope;
|
|
67
|
+
if (json && typeof json.code === "number" && json.code !== 0)
|
|
68
|
+
throw new ProviderHTTPError("HappyOyster request failed.", 200, { responseBody: { code: json.code } });
|
|
69
|
+
if (json.code !== 0 || !json.data || typeof json.data !== "object" || Array.isArray(json.data))
|
|
70
|
+
throw new ConfigurationError("Invalid HappyOyster response.");
|
|
71
|
+
return json.data;
|
|
72
|
+
};
|
|
73
|
+
const id = (value) => { requireCloudText(value, "identifier", 2048); return encodeURIComponent(value); };
|
|
74
|
+
return { modelId,
|
|
75
|
+
async create(input) {
|
|
76
|
+
if (input.creationModel !== undefined && !["simple", "scriptlist"].includes(input.creationModel))
|
|
77
|
+
throw new ConfigurationError("Invalid creationModel.");
|
|
78
|
+
if (input.creationModel === "scriptlist") {
|
|
79
|
+
if (modelId !== "happyoyster-1.0-directing" || !input.scriptList)
|
|
80
|
+
throw new ConfigurationError("scriptlist is available only for Directing and requires scriptList.");
|
|
81
|
+
script(input.scriptList);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
requireCloudText(input.prompt, "prompt", 2000);
|
|
85
|
+
if (input.scriptList)
|
|
86
|
+
throw new ConfigurationError("scriptList requires creationModel=scriptlist.");
|
|
87
|
+
}
|
|
88
|
+
if (modelId === "happyoyster-1.0-directing" && !input.resolution)
|
|
89
|
+
throw new ConfigurationError("Directing requires resolution.");
|
|
90
|
+
if (modelId !== "happyoyster-1.0-directing" && !input.firstFrameImage)
|
|
91
|
+
throw new ConfigurationError("This world model requires firstFrameImage.");
|
|
92
|
+
if (modelId === "happyoyster-1.0-adventure" && !["first_person", "third_person"].includes(input.perspective ?? ""))
|
|
93
|
+
throw new ConfigurationError("Adventure requires perspective.");
|
|
94
|
+
if (input.firstFrameImage)
|
|
95
|
+
image(input.firstFrameImage);
|
|
96
|
+
if ((input.inputImages?.length ?? 0) > 6)
|
|
97
|
+
throw new ConfigurationError("At most six reference images are supported.");
|
|
98
|
+
input.inputImages?.forEach(image);
|
|
99
|
+
if (input.resolution !== undefined && !["480p", "720p"].includes(input.resolution))
|
|
100
|
+
throw new ConfigurationError("Invalid world resolution.");
|
|
101
|
+
if (input.aspectRatio !== undefined && (modelId !== "happyoyster-1.0-acting" || !["9:16", "16:9"].includes(input.aspectRatio)))
|
|
102
|
+
throw new ConfigurationError("aspectRatio applies only to Acting (9:16 or 16:9).");
|
|
103
|
+
if (modelId !== "happyoyster-1.0-directing" && (input.layout !== undefined || input.narrative !== undefined || input.inputImages !== undefined))
|
|
104
|
+
throw new ConfigurationError("layout, narrative and inputImages apply only to Directing.");
|
|
105
|
+
for (const [key, allowed] of Object.entries({ perspective: ["first_person", "third_person"], eventStyle: ["normal", "dramatic"], layout: ["Stable", "Fast", "Calm"], narrative: ["Calm", "Dramatic", "Normal", "Steady"] })) {
|
|
106
|
+
const value = input[key];
|
|
107
|
+
if (value !== undefined && !allowed.includes(String(value)))
|
|
108
|
+
throw new ConfigurationError(`Invalid ${key}.`);
|
|
109
|
+
}
|
|
110
|
+
if (input.async !== undefined && typeof input.async !== "boolean")
|
|
111
|
+
throw new ConfigurationError("async must be boolean.");
|
|
112
|
+
const body = { prompt: input.prompt, firstFrameImage: input.firstFrameImage, refWorldId: input.refWorldId, perspective: input.perspective, eventStyle: input.eventStyle, resolution: input.resolution, aspectRatio: input.aspectRatio, layout: input.layout, narrative: input.narrative, inputImages: input.inputImages, scriptList: input.scriptList };
|
|
113
|
+
return world(await request("/worlds", input, { ...body, async: input.async ?? true, creationModel: input.creationModel ?? "simple" }));
|
|
114
|
+
},
|
|
115
|
+
async buildStatus(worldId, options = {}) { return world(await request(`/worlds/build-status?encryptedWorldId=${id(worldId)}`, options)); },
|
|
116
|
+
async get(worldId, options = {}) { return world(await request(`/worlds/detail?encryptedWorldId=${id(worldId)}`, options)); },
|
|
117
|
+
async list(options = {}) {
|
|
118
|
+
const page = options.page ?? 1, pageSize = options.pageSize ?? 20;
|
|
119
|
+
if (!Number.isSafeInteger(page) || page < 1 || !Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 100)
|
|
120
|
+
throw new ConfigurationError("Invalid world pagination.");
|
|
121
|
+
const query = new URLSearchParams({ page: String(page), pageSize: String(pageSize) });
|
|
122
|
+
if (options.status)
|
|
123
|
+
query.set("status", options.status);
|
|
124
|
+
const data = await request(`/worlds?${query}`, options);
|
|
125
|
+
if (!Array.isArray(data.items) || !data.pagination)
|
|
126
|
+
throw new ConfigurationError("Invalid world list.");
|
|
127
|
+
data.items.forEach(world);
|
|
128
|
+
return data;
|
|
129
|
+
},
|
|
130
|
+
async delete(worldId, options = {}) { id(worldId); const data = await request("/worlds/delete", options, { encryptedWorldId: worldId }); if (data.encryptedWorldId !== worldId || typeof data.deleted !== "boolean")
|
|
131
|
+
throw new ConfigurationError("Invalid world deletion response."); return data; },
|
|
132
|
+
async getTravelCredential(worldId, options = {}) {
|
|
133
|
+
id(worldId);
|
|
134
|
+
const data = await request("/worlds/get-travel-credential", options, { encryptedWorldId: worldId });
|
|
135
|
+
requireCloudText(data.ticket, "response ticket");
|
|
136
|
+
if (data.encryptedWorldId !== worldId || !Number.isFinite(data.expiresIn) || data.expiresIn <= 0)
|
|
137
|
+
throw new ConfigurationError("Invalid travel credential.");
|
|
138
|
+
return data;
|
|
139
|
+
},
|
|
140
|
+
async enterTravel(input) {
|
|
141
|
+
requireCloudText(input.ticket, "ticket");
|
|
142
|
+
if (input.maxExperienceTimeSec !== undefined && (modelId !== "happyoyster-1.0-adventure" || ![60, 90, 120].includes(input.maxExperienceTimeSec)))
|
|
143
|
+
throw new ConfigurationError("Adventure duration must be 60, 90 or 120 seconds; other modes do not accept a duration.");
|
|
144
|
+
const data = await request("/travels/enter-travel", input, { ticket: input.ticket, maxExperienceTimeSec: input.maxExperienceTimeSec });
|
|
145
|
+
requireCloudText(data.encryptedTravelId, "response travel ID");
|
|
146
|
+
return data;
|
|
147
|
+
},
|
|
148
|
+
async rewindTravel(travelId, rewindToSec, options = {}) {
|
|
149
|
+
if (modelId !== "happyoyster-1.0-directing")
|
|
150
|
+
throw new ConfigurationError("Only Directing supports rewind.");
|
|
151
|
+
id(travelId);
|
|
152
|
+
if (!Number.isFinite(rewindToSec) || rewindToSec < 0)
|
|
153
|
+
throw new ConfigurationError("rewindToSec must be nonnegative.");
|
|
154
|
+
return request("/travels/rewind", options, { encryptedTravelId: travelId, rewindToSec });
|
|
155
|
+
},
|
|
156
|
+
async listTravels(options = {}) {
|
|
157
|
+
const page = options.page ?? 1, pageSize = options.pageSize ?? 20;
|
|
158
|
+
if (!Number.isSafeInteger(page) || page < 1 || !Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 100)
|
|
159
|
+
throw new ConfigurationError("Invalid travel pagination.");
|
|
160
|
+
const query = new URLSearchParams({ page: String(page), pageSize: String(pageSize) });
|
|
161
|
+
if (options.status)
|
|
162
|
+
query.set("status", options.status);
|
|
163
|
+
if (options.worldId) {
|
|
164
|
+
id(options.worldId);
|
|
165
|
+
query.set("encryptedWorldId", options.worldId);
|
|
166
|
+
}
|
|
167
|
+
const data = await request(`/travels?${query}`, options);
|
|
168
|
+
if (!Array.isArray(data.items) || !data.pagination)
|
|
169
|
+
throw new ConfigurationError("Invalid travel list.");
|
|
170
|
+
for (const item of data.items)
|
|
171
|
+
requireCloudText(item.encryptedTravelId, "travel ID");
|
|
172
|
+
return data;
|
|
173
|
+
},
|
|
174
|
+
async travelStatus(travelId, options = {}) { const data = await request(`/travels/status?encryptedTravelId=${id(travelId)}`, options); if (data.encryptedTravelId !== travelId)
|
|
175
|
+
throw new ConfigurationError("Invalid travel response."); return data; },
|
|
176
|
+
async travelArtifacts(travelId, options = {}) { const data = await request(`/travels/artifacts?encryptedTravelId=${id(travelId)}`, options); if (data.encryptedTravelId !== travelId)
|
|
177
|
+
throw new ConfigurationError("Invalid travel response."); return data; },
|
|
178
|
+
async pauseTravel(travelId, options = {}) { if (modelId === "happyoyster-1.0-adventure")
|
|
179
|
+
throw new ConfigurationError("Adventure does not support pause."); id(travelId); return request("/travels/pause", options, { encryptedTravelId: travelId }); },
|
|
180
|
+
async resumeTravel(travelId, options = {}) { if (modelId === "happyoyster-1.0-adventure")
|
|
181
|
+
throw new ConfigurationError("Adventure does not support resume."); id(travelId); return request("/travels/resume", options, { encryptedTravelId: travelId }); },
|
|
182
|
+
async instructTravel(travelId, input) {
|
|
183
|
+
if (modelId === "happyoyster-1.0-adventure")
|
|
184
|
+
throw new ConfigurationError("Adventure controls require the official RTC SDK sendCommand API.");
|
|
185
|
+
id(travelId);
|
|
186
|
+
requireCloudText(input.content, "instruction", 2000);
|
|
187
|
+
if (input.clientRequestId !== undefined && !/^[A-Za-z0-9_-]{1,32}$/.test(input.clientRequestId))
|
|
188
|
+
throw new ConfigurationError("Invalid clientRequestId.");
|
|
189
|
+
return request("/travels/instruct", input, { encryptedTravelId: travelId, content: input.content, clientRequestId: input.clientRequestId });
|
|
190
|
+
},
|
|
191
|
+
async updateScript(travelId, items, options = {}) { if (modelId !== "happyoyster-1.0-directing")
|
|
192
|
+
throw new ConfigurationError("Script updates require Directing."); id(travelId); acts(items, true); return request("/travels/update-script", options, { encryptedTravelId: travelId, scriptList: { acts: items } }); },
|
|
193
|
+
async endTravel(travelId, options = {}) { id(travelId); const data = await request("/travels/end", options, { encryptedTravelId: travelId, failCode: options.failCode, userAgent: options.userAgent }); if (data.encryptedTravelId !== travelId)
|
|
194
|
+
throw new ConfigurationError("Invalid end-travel response."); return data; } };
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=worlds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worlds.js","sourceRoot":"","sources":["../src/worlds.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhivex-ai/qwen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.2",
|
|
4
4
|
"description": "Qwen adapter for Zhivex AI SDK.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./browser": {
|
|
19
|
+
"types": "./dist/browser.d.ts",
|
|
20
|
+
"import": "./dist/browser.js"
|
|
17
21
|
}
|
|
18
22
|
},
|
|
19
23
|
"files": [
|
|
@@ -41,7 +45,7 @@
|
|
|
41
45
|
"access": "public"
|
|
42
46
|
},
|
|
43
47
|
"dependencies": {
|
|
44
|
-
"@zhivex-ai/core": "^1.
|
|
48
|
+
"@zhivex-ai/core": "^1.25.0",
|
|
45
49
|
"zod": "^4.6.3"
|
|
46
50
|
}
|
|
47
51
|
}
|