@crowdedkingdoms/crowdyjs 1.0.0
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/LICENSE +21 -0
- package/MIGRATION.md +247 -0
- package/README.md +303 -0
- package/dist/auth-state.d.ts +11 -0
- package/dist/auth-state.d.ts.map +1 -0
- package/dist/auth-state.js +13 -0
- package/dist/client.d.ts +135 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +150 -0
- package/dist/crowdy-client.d.ts +182 -0
- package/dist/crowdy-client.d.ts.map +1 -0
- package/dist/crowdy-client.js +146 -0
- package/dist/domains/actors.d.ts +117 -0
- package/dist/domains/actors.d.ts.map +1 -0
- package/dist/domains/actors.js +140 -0
- package/dist/domains/admin.d.ts +61 -0
- package/dist/domains/admin.d.ts.map +1 -0
- package/dist/domains/admin.js +33 -0
- package/dist/domains/appAccess.d.ts +141 -0
- package/dist/domains/appAccess.d.ts.map +1 -0
- package/dist/domains/appAccess.js +198 -0
- package/dist/domains/apps.d.ts +192 -0
- package/dist/domains/apps.d.ts.map +1 -0
- package/dist/domains/apps.js +217 -0
- package/dist/domains/auth.d.ts +163 -0
- package/dist/domains/auth.d.ts.map +1 -0
- package/dist/domains/auth.js +208 -0
- package/dist/domains/avatars.d.ts +94 -0
- package/dist/domains/avatars.d.ts.map +1 -0
- package/dist/domains/avatars.js +137 -0
- package/dist/domains/billing.d.ts +97 -0
- package/dist/domains/billing.d.ts.map +1 -0
- package/dist/domains/billing.js +131 -0
- package/dist/domains/channels.d.ts +293 -0
- package/dist/domains/channels.d.ts.map +1 -0
- package/dist/domains/channels.js +353 -0
- package/dist/domains/chunks.d.ts +133 -0
- package/dist/domains/chunks.d.ts.map +1 -0
- package/dist/domains/chunks.js +153 -0
- package/dist/domains/controlPlane.d.ts +174 -0
- package/dist/domains/controlPlane.d.ts.map +1 -0
- package/dist/domains/controlPlane.js +252 -0
- package/dist/domains/environments.d.ts +155 -0
- package/dist/domains/environments.d.ts.map +1 -0
- package/dist/domains/environments.js +223 -0
- package/dist/domains/gameApps.d.ts +114 -0
- package/dist/domains/gameApps.d.ts.map +1 -0
- package/dist/domains/gameApps.js +169 -0
- package/dist/domains/gameModel.d.ts +668 -0
- package/dist/domains/gameModel.d.ts.map +1 -0
- package/dist/domains/gameModel.js +816 -0
- package/dist/domains/host.d.ts +35 -0
- package/dist/domains/host.d.ts.map +1 -0
- package/dist/domains/host.js +40 -0
- package/dist/domains/organizations.d.ts +179 -0
- package/dist/domains/organizations.d.ts.map +1 -0
- package/dist/domains/organizations.js +269 -0
- package/dist/domains/payments.d.ts +104 -0
- package/dist/domains/payments.d.ts.map +1 -0
- package/dist/domains/payments.js +129 -0
- package/dist/domains/platform.d.ts +49 -0
- package/dist/domains/platform.d.ts.map +1 -0
- package/dist/domains/platform.js +50 -0
- package/dist/domains/quotas.d.ts +62 -0
- package/dist/domains/quotas.d.ts.map +1 -0
- package/dist/domains/quotas.js +79 -0
- package/dist/domains/serverStatus.d.ts +90 -0
- package/dist/domains/serverStatus.d.ts.map +1 -0
- package/dist/domains/serverStatus.js +104 -0
- package/dist/domains/sharedEnvironment.d.ts +133 -0
- package/dist/domains/sharedEnvironment.d.ts.map +1 -0
- package/dist/domains/sharedEnvironment.js +179 -0
- package/dist/domains/state.d.ts +64 -0
- package/dist/domains/state.d.ts.map +1 -0
- package/dist/domains/state.js +75 -0
- package/dist/domains/teams.d.ts +292 -0
- package/dist/domains/teams.d.ts.map +1 -0
- package/dist/domains/teams.js +352 -0
- package/dist/domains/teleport.d.ts +41 -0
- package/dist/domains/teleport.d.ts.map +1 -0
- package/dist/domains/teleport.js +43 -0
- package/dist/domains/udp.d.ts +405 -0
- package/dist/domains/udp.d.ts.map +1 -0
- package/dist/domains/udp.js +457 -0
- package/dist/domains/usage.d.ts +76 -0
- package/dist/domains/usage.d.ts.map +1 -0
- package/dist/domains/usage.js +110 -0
- package/dist/domains/users.d.ts +147 -0
- package/dist/domains/users.d.ts.map +1 -0
- package/dist/domains/users.js +195 -0
- package/dist/domains/voxels.d.ts +136 -0
- package/dist/domains/voxels.d.ts.map +1 -0
- package/dist/domains/voxels.js +153 -0
- package/dist/errors.d.ts +158 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +142 -0
- package/dist/generated/graphql.d.ts +12206 -0
- package/dist/generated/graphql.d.ts.map +1 -0
- package/dist/generated/graphql.js +474 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/logger.d.ts +8 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +1 -0
- package/dist/realtime.d.ts +319 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +390 -0
- package/dist/session.d.ts +73 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +96 -0
- package/dist/subscriptions.d.ts +2 -0
- package/dist/subscriptions.d.ts.map +1 -0
- package/dist/subscriptions.js +1 -0
- package/dist/types.d.ts +658 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +61 -0
- package/dist/utils.d.ts +98 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +136 -0
- package/dist/world.d.ts +236 -0
- package/dist/world.d.ts.map +1 -0
- package/dist/world.js +275 -0
- package/package.json +73 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,658 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Crowded Kingdoms SDK
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* A GraphQL `BigInt` scalar as carried by the SDK: the **decimal-string**
|
|
6
|
+
* representation of a 64-bit integer (e.g. `"1"`, `"9223372036854775807"`).
|
|
7
|
+
* Ids and coordinates that can exceed JavaScript's safe-integer range use this
|
|
8
|
+
* so they are never lossy; parse with the native `BigInt()` when you need to do
|
|
9
|
+
* arithmetic.
|
|
10
|
+
*/
|
|
11
|
+
export type BigInt = string;
|
|
12
|
+
/**
|
|
13
|
+
* Address of a chunk in the world grid as returned by the API. A chunk is a
|
|
14
|
+
* 16×16×16 voxel cube; each axis is a signed int64 carried as a {@link BigInt}
|
|
15
|
+
* decimal string.
|
|
16
|
+
*/
|
|
17
|
+
export interface ChunkCoordinates {
|
|
18
|
+
/** Chunk X coordinate (signed int64 as a decimal string). */
|
|
19
|
+
x: BigInt;
|
|
20
|
+
/** Chunk Y coordinate (signed int64 as a decimal string). */
|
|
21
|
+
y: BigInt;
|
|
22
|
+
/** Chunk Z coordinate (signed int64 as a decimal string). */
|
|
23
|
+
z: BigInt;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Chunk address supplied as input, with each axis as a plain JavaScript
|
|
27
|
+
* `number`. Values must fall within signed int64 range — use
|
|
28
|
+
* {@link validateChunkCoordinates} to check before sending.
|
|
29
|
+
*/
|
|
30
|
+
export interface ChunkCoordinatesInput {
|
|
31
|
+
/** Chunk X coordinate. */
|
|
32
|
+
x: number;
|
|
33
|
+
/** Chunk Y coordinate. */
|
|
34
|
+
y: number;
|
|
35
|
+
/** Chunk Z coordinate. */
|
|
36
|
+
z: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Position of a single voxel **within** its chunk (a 16×16×16 cube). Each axis
|
|
40
|
+
* is a plain `number`; on the wire voxel coordinates are int16 (−32768…32767).
|
|
41
|
+
*/
|
|
42
|
+
export interface VoxelCoordinates {
|
|
43
|
+
/** Voxel X coordinate within the chunk. */
|
|
44
|
+
x: number;
|
|
45
|
+
/** Voxel Y coordinate within the chunk. */
|
|
46
|
+
y: number;
|
|
47
|
+
/** Voxel Z coordinate within the chunk. */
|
|
48
|
+
z: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Voxel position supplied as input on a voxel update. Each axis must be in the
|
|
52
|
+
* int16 range (−32768…32767).
|
|
53
|
+
*/
|
|
54
|
+
export interface VoxelCoordinatesInput {
|
|
55
|
+
/** Voxel X coordinate within the chunk (int16). */
|
|
56
|
+
x: number;
|
|
57
|
+
/** Voxel Y coordinate within the chunk (int16). */
|
|
58
|
+
y: number;
|
|
59
|
+
/** Voxel Z coordinate within the chunk (int16). */
|
|
60
|
+
z: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Reason codes returned by the UDP game servers and surfaced on
|
|
64
|
+
* {@link GenericErrorResponse}'s `errorCode` (re-exported from the codegen enum
|
|
65
|
+
* so the SDK has exactly one canonical shape). `NoError` means success; every
|
|
66
|
+
* other value is a failure. The numeric value is the byte sent on the wire;
|
|
67
|
+
* the SDK exposes the name. Note that a failed message does **not** always
|
|
68
|
+
* produce an error — some auth failures are dropped silently.
|
|
69
|
+
*
|
|
70
|
+
* Each member and the server condition it represents:
|
|
71
|
+
* - `NoError` — no error (the byte `0`); the message was accepted.
|
|
72
|
+
* - `UnknownError` — unspecified server error (the byte `1`); retry, and report
|
|
73
|
+
* it if it persists.
|
|
74
|
+
* - `AppNotFound` — no app matches the supplied appId.
|
|
75
|
+
* - `AppNotLoaded` — the app exists but isn't currently loaded/active on this
|
|
76
|
+
* server.
|
|
77
|
+
* - `InvalidAppId` — the appId was missing, zero, or otherwise not valid.
|
|
78
|
+
* - `ChunkNotFound` — no chunk exists at the referenced coordinates.
|
|
79
|
+
* - `InvalidRequest` — the message was malformed or failed validation; check the
|
|
80
|
+
* byte layout.
|
|
81
|
+
* - `InvalidStateData` — the state/payload bytes were invalid for this message
|
|
82
|
+
* type.
|
|
83
|
+
* - `NameTooLong` — a supplied name exceeded the maximum length.
|
|
84
|
+
* - `UserNotAuthenticated` — this client has no authenticated session on the
|
|
85
|
+
* server; complete the UDP token handshake (or open the UDP proxy) before
|
|
86
|
+
* sending spatial messages.
|
|
87
|
+
* - `Unauthorized` — the caller lacks the runtime/grid permission for this
|
|
88
|
+
* action. Grid permissions can load asynchronously, so the first message into
|
|
89
|
+
* a newly entered region may transiently return this — retry shortly.
|
|
90
|
+
* - `UserNotAppAdmin` — the action requires app-admin privileges (the
|
|
91
|
+
* `manage_apps` permission).
|
|
92
|
+
* - `InvalidToken` — the game token was rejected (expired, malformed, or
|
|
93
|
+
* revoked); re-authenticate against the Management API for a fresh token.
|
|
94
|
+
* - `InvalidTokenLength` — the supplied token was not a valid length.
|
|
95
|
+
* - `GameTokenWrongSize` — the game token isn't the expected length; send the
|
|
96
|
+
* exact token returned by login (don't trim or re-encode it).
|
|
97
|
+
* - `GridAlreadyExists` — a grid already exists at these coordinates.
|
|
98
|
+
* - `GridOverlapsExisting` — the requested grid overlaps an existing grid.
|
|
99
|
+
* - `GridOutsideAssignment` — the target coordinates fall outside any grid
|
|
100
|
+
* assigned to the caller.
|
|
101
|
+
* - `InvalidGridCoordinates` — the grid coordinates were invalid.
|
|
102
|
+
* - `NoMatchingGridAssignment` — no grid assignment covers the referenced
|
|
103
|
+
* coordinates.
|
|
104
|
+
* - `BadPassword` — the password did not match (login validation).
|
|
105
|
+
* - `EmailNotFound` — no account matches the supplied email (login validation).
|
|
106
|
+
* - `EmailAlreadyExists` — registration failed because the email is already in
|
|
107
|
+
* use.
|
|
108
|
+
* - `EmailInvalid` — email failed format validation.
|
|
109
|
+
* - `EmailTooLong` / `EmailTooShort` — email failed maximum-/minimum-length
|
|
110
|
+
* validation.
|
|
111
|
+
* - `PasswordTooLong` / `PasswordTooShort` — password failed maximum-/minimum-
|
|
112
|
+
* length validation.
|
|
113
|
+
* - `GamertagAlreadyExists` — the requested gamertag is already taken.
|
|
114
|
+
*/
|
|
115
|
+
export { UdpErrorCode } from './generated/graphql.js';
|
|
116
|
+
import type { UdpErrorCode } from './generated/graphql.js';
|
|
117
|
+
/**
|
|
118
|
+
* A Crowded Kingdoms user/account record. Returned by the auth/profile reads
|
|
119
|
+
* (e.g. `client.users.me`). Several fields are optional because the server
|
|
120
|
+
* omits them when they are unset or the caller isn't authorized to see them.
|
|
121
|
+
*/
|
|
122
|
+
export interface User {
|
|
123
|
+
/** Unique user id and primary key ({@link BigInt} decimal string). */
|
|
124
|
+
userId: BigInt;
|
|
125
|
+
/** Account email; omitted for anonymized/soft-deleted accounts. */
|
|
126
|
+
email?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Public display name; omitted when unset or anonymized. Unique in
|
|
129
|
+
* combination with {@link disambiguation}.
|
|
130
|
+
*/
|
|
131
|
+
gamertag?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Discriminator paired with {@link gamertag} to form a unique handle;
|
|
134
|
+
* omitted when unset.
|
|
135
|
+
*/
|
|
136
|
+
disambiguation?: string;
|
|
137
|
+
/** User-level state blob, base64-encoded binary; omitted when cleared. */
|
|
138
|
+
state?: string;
|
|
139
|
+
/** Whether the account email has been confirmed. */
|
|
140
|
+
isConfirmed: boolean;
|
|
141
|
+
/** Account creation timestamp (ISO-8601 string). */
|
|
142
|
+
createdAt: string;
|
|
143
|
+
/**
|
|
144
|
+
* Whether the user qualifies for early access through normal eligibility
|
|
145
|
+
* (the free-play window/rollout).
|
|
146
|
+
*/
|
|
147
|
+
grantEarlyAccess: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Admin override that forces early access on/off regardless of normal
|
|
150
|
+
* eligibility.
|
|
151
|
+
*/
|
|
152
|
+
grantEarlyAccessOverride: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Organization the user belongs to ({@link BigInt} decimal string); omitted
|
|
155
|
+
* when the user isn't in an org.
|
|
156
|
+
*/
|
|
157
|
+
orgId?: BigInt;
|
|
158
|
+
/** External identity-provider id for federated accounts; omitted otherwise. */
|
|
159
|
+
externalId?: string;
|
|
160
|
+
/** Account type, e.g. `"direct"` or `"deleted"`. */
|
|
161
|
+
userType: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Result of a successful login/registration. Carries the session token to send
|
|
165
|
+
* on subsequent requests plus the authenticated {@link User}.
|
|
166
|
+
*/
|
|
167
|
+
export interface AuthResponse {
|
|
168
|
+
/**
|
|
169
|
+
* Opaque session token. Send it on subsequent requests as the
|
|
170
|
+
* `Authorization: Bearer <token>` header (the SDK does this for you once it's
|
|
171
|
+
* stored).
|
|
172
|
+
*/
|
|
173
|
+
token: string;
|
|
174
|
+
/** Identifier of the underlying session (game_token) row. */
|
|
175
|
+
gameTokenId: string;
|
|
176
|
+
/** The authenticated user. */
|
|
177
|
+
user: User;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Status of the per-session UDP proxy connection between the game-api and a UDP
|
|
181
|
+
* game server. Returned by `udpProxyConnectionStatus` / `connectUdpProxy`.
|
|
182
|
+
*/
|
|
183
|
+
export interface UdpProxyConnectionStatus {
|
|
184
|
+
/** Whether the user is currently connected to a UDP game server via the proxy. */
|
|
185
|
+
connected: boolean;
|
|
186
|
+
/** IPv6 address of the UDP game server; present only when {@link connected}. */
|
|
187
|
+
serverIp6?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Client port of the UDP game server (what native clients connect to
|
|
190
|
+
* directly); present only when {@link connected}.
|
|
191
|
+
*/
|
|
192
|
+
serverClientPort?: number;
|
|
193
|
+
/**
|
|
194
|
+
* Timestamp of the last message received from the UDP server (present only
|
|
195
|
+
* when {@link connected}); useful for detecting connection health.
|
|
196
|
+
*/
|
|
197
|
+
lastMessageTime?: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Input for sending an actor (player/NPC) update to the UDP game server,
|
|
201
|
+
* replicated to nearby clients in the target chunk.
|
|
202
|
+
*/
|
|
203
|
+
export interface ActorUpdateRequestInput {
|
|
204
|
+
/** Id of the app the actor belongs to. */
|
|
205
|
+
appId: number;
|
|
206
|
+
/** Chunk the actor is located in (a 16×16×16 voxel cube). */
|
|
207
|
+
chunk: ChunkCoordinatesInput;
|
|
208
|
+
/** The actor's 32-ASCII-character id (see {@link generateCrowdyUuid}). */
|
|
209
|
+
uuid: string;
|
|
210
|
+
/**
|
|
211
|
+
* Actor state data, base64-encoded. May be an empty string for
|
|
212
|
+
* registration-only updates that carry no state payload.
|
|
213
|
+
*/
|
|
214
|
+
state: string;
|
|
215
|
+
/**
|
|
216
|
+
* Chunk replication distance, `0`–`8` (clamped). Higher reaches more
|
|
217
|
+
* surrounding chunks. Defaults server-side to `8` for actor updates.
|
|
218
|
+
*/
|
|
219
|
+
distance?: number;
|
|
220
|
+
/**
|
|
221
|
+
* Decay algorithm controlling how replication weakens with distance:
|
|
222
|
+
* `0` none, `1` exponential, `2` linear 50%, `3` linear 25%, `4` linear 10%,
|
|
223
|
+
* `5` linear 5%. Defaults server-side to `1` (exponential) for actor updates.
|
|
224
|
+
*/
|
|
225
|
+
decayRate?: number;
|
|
226
|
+
/**
|
|
227
|
+
* Client-assigned correlation id for this datagram: a uint8 (`0`–`255`) that
|
|
228
|
+
* wraps modulo 256. **Correlation only** — not an idempotency key. Echoed on
|
|
229
|
+
* the matching response and on any `GenericErrorResponse` for this send.
|
|
230
|
+
*/
|
|
231
|
+
sequenceNumber?: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Input for setting/changing a single voxel and replicating the change to
|
|
235
|
+
* nearby clients.
|
|
236
|
+
*/
|
|
237
|
+
export interface VoxelUpdateRequestInput {
|
|
238
|
+
/** Id of the app the voxel belongs to. */
|
|
239
|
+
appId: number;
|
|
240
|
+
/** Chunk containing the voxel (a 16×16×16 voxel cube). */
|
|
241
|
+
chunk: ChunkCoordinatesInput;
|
|
242
|
+
/** A 32-ASCII-character id for this voxel update. */
|
|
243
|
+
uuid: string;
|
|
244
|
+
/** The voxel's coordinates within the chunk (int16 per axis). */
|
|
245
|
+
voxel: VoxelCoordinatesInput;
|
|
246
|
+
/** The new voxel type id, which determines its appearance/properties. */
|
|
247
|
+
voxelType: number;
|
|
248
|
+
/** Voxel state data, base64-encoded. */
|
|
249
|
+
voxelState: string;
|
|
250
|
+
/** Chunk replication distance, `0`–`8` (clamped). Defaults to `8`. */
|
|
251
|
+
distance?: number;
|
|
252
|
+
/**
|
|
253
|
+
* Decay algorithm (`0` none, `1` exponential, `2`–`5` linear 50/25/10/5%).
|
|
254
|
+
* Defaults server-side to `0` (none) for voxel updates.
|
|
255
|
+
*/
|
|
256
|
+
decayRate?: number;
|
|
257
|
+
/**
|
|
258
|
+
* Client-assigned correlation id (uint8 `0`–`255`, wraps modulo 256).
|
|
259
|
+
* **Correlation only** — not an idempotency key. Echoed on the matching
|
|
260
|
+
* response and on any `GenericErrorResponse` for this send.
|
|
261
|
+
*/
|
|
262
|
+
sequenceNumber?: number;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Input for sending a voice/audio packet, broadcast to nearby players.
|
|
266
|
+
*/
|
|
267
|
+
export interface ClientAudioPacketInput {
|
|
268
|
+
/** Id of the app the audio is sent from. */
|
|
269
|
+
appId: number;
|
|
270
|
+
/** Chunk the audio source is located in. */
|
|
271
|
+
chunk: ChunkCoordinatesInput;
|
|
272
|
+
/** The audio source's 32-ASCII-character id (typically the player's). */
|
|
273
|
+
uuid: string;
|
|
274
|
+
/** Compressed audio data, base64-encoded. */
|
|
275
|
+
audioData: string;
|
|
276
|
+
/** Chunk replication distance, `0`–`8` (clamped). Defaults to `1` for audio. */
|
|
277
|
+
distance?: number;
|
|
278
|
+
/**
|
|
279
|
+
* Decay algorithm (`0` none, `1` exponential, `2`–`5` linear 50/25/10/5%).
|
|
280
|
+
* Defaults server-side to `0` (none) for audio packets.
|
|
281
|
+
*/
|
|
282
|
+
decayRate?: number;
|
|
283
|
+
/**
|
|
284
|
+
* Client-assigned correlation id (uint8 `0`–`255`, wraps modulo 256).
|
|
285
|
+
* **Correlation only** — not an idempotency key. Echoed on any
|
|
286
|
+
* `GenericErrorResponse` for this send.
|
|
287
|
+
*/
|
|
288
|
+
sequenceNumber?: number;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Input for sending a text/chat message, broadcast to nearby players.
|
|
292
|
+
*/
|
|
293
|
+
export interface ClientTextPacketInput {
|
|
294
|
+
/** Id of the app the message is sent from. */
|
|
295
|
+
appId: number;
|
|
296
|
+
/** Chunk the text source is located in. */
|
|
297
|
+
chunk: ChunkCoordinatesInput;
|
|
298
|
+
/** The text source's 32-ASCII-character id (typically the player's). */
|
|
299
|
+
uuid: string;
|
|
300
|
+
/** The text message content, UTF-8 encoded; displayed to nearby players. */
|
|
301
|
+
text: string;
|
|
302
|
+
/** Chunk replication distance, `0`–`8` (clamped). Defaults to `8` for text. */
|
|
303
|
+
distance?: number;
|
|
304
|
+
/**
|
|
305
|
+
* Decay algorithm (`0` none, `1` exponential, `2`–`5` linear 50/25/10/5%).
|
|
306
|
+
* Defaults server-side to `0` (none) for text packets.
|
|
307
|
+
*/
|
|
308
|
+
decayRate?: number;
|
|
309
|
+
/**
|
|
310
|
+
* Client-assigned correlation id (uint8 `0`–`255`, wraps modulo 256).
|
|
311
|
+
* **Correlation only** — not an idempotency key. Echoed on any
|
|
312
|
+
* `GenericErrorResponse` for this send.
|
|
313
|
+
*/
|
|
314
|
+
sequenceNumber?: number;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Input for sending a custom client event — a client/mod-defined gameplay
|
|
318
|
+
* signal replicated to nearby players. The `eventType` and `state` format are
|
|
319
|
+
* defined by your application.
|
|
320
|
+
*/
|
|
321
|
+
export interface ClientEventNotificationInput {
|
|
322
|
+
/** Id of the app where the event occurs. */
|
|
323
|
+
appId: number;
|
|
324
|
+
/** Chunk the event is located in. */
|
|
325
|
+
chunk: ChunkCoordinatesInput;
|
|
326
|
+
/** A 32-ASCII-character id for the object controlling this event. */
|
|
327
|
+
uuid: string;
|
|
328
|
+
/**
|
|
329
|
+
* Client-defined event type id (uint16, `0`–`65535`) that determines how the
|
|
330
|
+
* event is processed.
|
|
331
|
+
*/
|
|
332
|
+
eventType: number;
|
|
333
|
+
/** Event state data, base64-encoded; its format is defined by {@link eventType}. */
|
|
334
|
+
state: string;
|
|
335
|
+
/** Chunk replication distance, `0`–`8` (clamped). Defaults to `8` for events. */
|
|
336
|
+
distance?: number;
|
|
337
|
+
/**
|
|
338
|
+
* Decay algorithm (`0` none, `1` exponential, `2`–`5` linear 50/25/10/5%).
|
|
339
|
+
* Defaults server-side to `0` (none) for events.
|
|
340
|
+
*/
|
|
341
|
+
decayRate?: number;
|
|
342
|
+
/**
|
|
343
|
+
* Client-assigned correlation id (uint8 `0`–`255`, wraps modulo 256).
|
|
344
|
+
* **Correlation only** — not an idempotency key. Echoed on any
|
|
345
|
+
* `GenericErrorResponse` for this send.
|
|
346
|
+
*/
|
|
347
|
+
sequenceNumber?: number;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Fan-out notification that another actor's position/state changed within your
|
|
351
|
+
* area of interest. Delivered on the `udpNotifications` subscription.
|
|
352
|
+
*/
|
|
353
|
+
export interface ActorUpdateNotification {
|
|
354
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
355
|
+
__typename: 'ActorUpdateNotification';
|
|
356
|
+
/** Id of the app the actor is in ({@link BigInt} decimal string). */
|
|
357
|
+
appId: BigInt;
|
|
358
|
+
/** X coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
359
|
+
chunkX: BigInt;
|
|
360
|
+
/** Y coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
361
|
+
chunkY: BigInt;
|
|
362
|
+
/** Z coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
363
|
+
chunkZ: BigInt;
|
|
364
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
365
|
+
distance: number;
|
|
366
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
367
|
+
decayRate: number;
|
|
368
|
+
/** The 32-ASCII-character id of the actor that was updated. */
|
|
369
|
+
uuid: string;
|
|
370
|
+
/**
|
|
371
|
+
* Actor state data, base64-encoded. Decode it (e.g. with
|
|
372
|
+
* {@link decodeBase64}) to read position, rotation, velocity, animation
|
|
373
|
+
* flags, etc.
|
|
374
|
+
*/
|
|
375
|
+
state: string;
|
|
376
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
377
|
+
sequenceNumber: number;
|
|
378
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
379
|
+
epochMillis: BigInt;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Server acknowledgement echoing one of **your own** actor updates — the
|
|
383
|
+
* correlation target for `sendActorUpdateAndWait`. Has no `state` payload.
|
|
384
|
+
*/
|
|
385
|
+
export interface ActorUpdateResponse {
|
|
386
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
387
|
+
__typename: 'ActorUpdateResponse';
|
|
388
|
+
/** Id of the app where the update was processed ({@link BigInt} decimal string). */
|
|
389
|
+
appId: BigInt;
|
|
390
|
+
/** X coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
391
|
+
chunkX: BigInt;
|
|
392
|
+
/** Y coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
393
|
+
chunkY: BigInt;
|
|
394
|
+
/** Z coordinate of the actor's chunk ({@link BigInt} int64 decimal string). */
|
|
395
|
+
chunkZ: BigInt;
|
|
396
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
397
|
+
distance: number;
|
|
398
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
399
|
+
decayRate: number;
|
|
400
|
+
/** The 32-ASCII-character id of the actor that was updated. */
|
|
401
|
+
uuid: string;
|
|
402
|
+
/**
|
|
403
|
+
* The `sequenceNumber` echoed from the originating `sendActorUpdate`
|
|
404
|
+
* (uint8 `0`–`255`, wrapping modulo 256). Use it to correlate this response
|
|
405
|
+
* with that send. Correlation only — not an idempotency key.
|
|
406
|
+
*/
|
|
407
|
+
sequenceNumber: number;
|
|
408
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
409
|
+
epochMillis: BigInt;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Fan-out notification that a voxel changed within range (another client's
|
|
413
|
+
* voxel edit). Delivered on the `udpNotifications` subscription.
|
|
414
|
+
*/
|
|
415
|
+
export interface VoxelUpdateNotification {
|
|
416
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
417
|
+
__typename: 'VoxelUpdateNotification';
|
|
418
|
+
/** Id of the app the voxel is in ({@link BigInt} decimal string). */
|
|
419
|
+
appId: BigInt;
|
|
420
|
+
/** X coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
421
|
+
chunkX: BigInt;
|
|
422
|
+
/** Y coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
423
|
+
chunkY: BigInt;
|
|
424
|
+
/** Z coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
425
|
+
chunkZ: BigInt;
|
|
426
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
427
|
+
distance: number;
|
|
428
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
429
|
+
decayRate: number;
|
|
430
|
+
/** The 32-ASCII-character id for this voxel update. */
|
|
431
|
+
uuid: string;
|
|
432
|
+
/** X coordinate of the voxel within its chunk (int16). */
|
|
433
|
+
voxelX: number;
|
|
434
|
+
/** Y coordinate of the voxel within its chunk (int16). */
|
|
435
|
+
voxelY: number;
|
|
436
|
+
/** Z coordinate of the voxel within its chunk (int16). */
|
|
437
|
+
voxelZ: number;
|
|
438
|
+
/** The voxel type id that was set. */
|
|
439
|
+
voxelType: number;
|
|
440
|
+
/** Voxel state data, base64-encoded. */
|
|
441
|
+
voxelState: string;
|
|
442
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
443
|
+
sequenceNumber: number;
|
|
444
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
445
|
+
epochMillis: BigInt;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Server acknowledgement echoing one of **your own** voxel updates — the
|
|
449
|
+
* correlation target for `sendVoxelUpdateAndWait`. Has no voxel payload.
|
|
450
|
+
*/
|
|
451
|
+
export interface VoxelUpdateResponse {
|
|
452
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
453
|
+
__typename: 'VoxelUpdateResponse';
|
|
454
|
+
/** Id of the app where the update was processed ({@link BigInt} decimal string). */
|
|
455
|
+
appId: BigInt;
|
|
456
|
+
/** X coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
457
|
+
chunkX: BigInt;
|
|
458
|
+
/** Y coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
459
|
+
chunkY: BigInt;
|
|
460
|
+
/** Z coordinate of the voxel's chunk ({@link BigInt} int64 decimal string). */
|
|
461
|
+
chunkZ: BigInt;
|
|
462
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
463
|
+
distance: number;
|
|
464
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
465
|
+
decayRate: number;
|
|
466
|
+
/** The 32-ASCII-character id for this voxel update. */
|
|
467
|
+
uuid: string;
|
|
468
|
+
/**
|
|
469
|
+
* The `sequenceNumber` echoed from the originating `sendVoxelUpdate`
|
|
470
|
+
* (uint8 `0`–`255`, wrapping modulo 256). Use it to correlate this response
|
|
471
|
+
* with that send. Correlation only — not an idempotency key.
|
|
472
|
+
*/
|
|
473
|
+
sequenceNumber: number;
|
|
474
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
475
|
+
epochMillis: BigInt;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Fan-out notification carrying a nearby client's voice/audio packet.
|
|
479
|
+
* Delivered on the `udpNotifications` subscription.
|
|
480
|
+
*/
|
|
481
|
+
export interface ClientAudioNotification {
|
|
482
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
483
|
+
__typename: 'ClientAudioNotification';
|
|
484
|
+
/** Id of the app the audio is from ({@link BigInt} decimal string). */
|
|
485
|
+
appId: BigInt;
|
|
486
|
+
/** X coordinate of the audio source's chunk ({@link BigInt} int64 decimal string). */
|
|
487
|
+
chunkX: BigInt;
|
|
488
|
+
/** Y coordinate of the audio source's chunk ({@link BigInt} int64 decimal string). */
|
|
489
|
+
chunkY: BigInt;
|
|
490
|
+
/** Z coordinate of the audio source's chunk ({@link BigInt} int64 decimal string). */
|
|
491
|
+
chunkZ: BigInt;
|
|
492
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
493
|
+
distance: number;
|
|
494
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
495
|
+
decayRate: number;
|
|
496
|
+
/** The 32-ASCII-character id of the audio source (typically the player). */
|
|
497
|
+
uuid: string;
|
|
498
|
+
/** Compressed audio data, base64-encoded (decode with {@link decodeBase64}). */
|
|
499
|
+
audioData: string;
|
|
500
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
501
|
+
sequenceNumber: number;
|
|
502
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
503
|
+
epochMillis: BigInt;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Fan-out notification carrying a nearby client's text/chat message.
|
|
507
|
+
* Delivered on the `udpNotifications` subscription.
|
|
508
|
+
*/
|
|
509
|
+
export interface ClientTextNotification {
|
|
510
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
511
|
+
__typename: 'ClientTextNotification';
|
|
512
|
+
/** Id of the app the message is from ({@link BigInt} decimal string). */
|
|
513
|
+
appId: BigInt;
|
|
514
|
+
/** X coordinate of the text source's chunk ({@link BigInt} int64 decimal string). */
|
|
515
|
+
chunkX: BigInt;
|
|
516
|
+
/** Y coordinate of the text source's chunk ({@link BigInt} int64 decimal string). */
|
|
517
|
+
chunkY: BigInt;
|
|
518
|
+
/** Z coordinate of the text source's chunk ({@link BigInt} int64 decimal string). */
|
|
519
|
+
chunkZ: BigInt;
|
|
520
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
521
|
+
distance: number;
|
|
522
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
523
|
+
decayRate: number;
|
|
524
|
+
/** The 32-ASCII-character id of the text source (typically the player). */
|
|
525
|
+
uuid: string;
|
|
526
|
+
/** The text message content, UTF-8 encoded; display it to the user. */
|
|
527
|
+
text: string;
|
|
528
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
529
|
+
sequenceNumber: number;
|
|
530
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
531
|
+
epochMillis: BigInt;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Fan-out notification carrying a nearby client's custom event (a
|
|
535
|
+
* client/mod-defined gameplay signal). Delivered on the `udpNotifications`
|
|
536
|
+
* subscription.
|
|
537
|
+
*/
|
|
538
|
+
export interface ClientEventNotification {
|
|
539
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
540
|
+
__typename: 'ClientEventNotification';
|
|
541
|
+
/** Id of the app where the event occurs ({@link BigInt} decimal string). */
|
|
542
|
+
appId: BigInt;
|
|
543
|
+
/** X coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
544
|
+
chunkX: BigInt;
|
|
545
|
+
/** Y coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
546
|
+
chunkY: BigInt;
|
|
547
|
+
/** Z coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
548
|
+
chunkZ: BigInt;
|
|
549
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
550
|
+
distance: number;
|
|
551
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
552
|
+
decayRate: number;
|
|
553
|
+
/** The 32-ASCII-character id of the object controlling this event. */
|
|
554
|
+
uuid: string;
|
|
555
|
+
/** The client-defined event type id (uint16) that determines processing. */
|
|
556
|
+
eventType: number;
|
|
557
|
+
/** Event state data, base64-encoded; format is defined by {@link eventType}. */
|
|
558
|
+
state: string;
|
|
559
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
560
|
+
sequenceNumber: number;
|
|
561
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
562
|
+
epochMillis: BigInt;
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Notification carrying a server-originated spatial event broadcast to a region
|
|
566
|
+
* (e.g. world or NPC events). Same shape as {@link ClientEventNotification} but
|
|
567
|
+
* emitted by the server. Delivered on the `udpNotifications` subscription.
|
|
568
|
+
*/
|
|
569
|
+
export interface ServerEventNotification {
|
|
570
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
571
|
+
__typename: 'ServerEventNotification';
|
|
572
|
+
/** Id of the app where the event occurs ({@link BigInt} decimal string). */
|
|
573
|
+
appId: BigInt;
|
|
574
|
+
/** X coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
575
|
+
chunkX: BigInt;
|
|
576
|
+
/** Y coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
577
|
+
chunkY: BigInt;
|
|
578
|
+
/** Z coordinate of the event's chunk ({@link BigInt} int64 decimal string). */
|
|
579
|
+
chunkZ: BigInt;
|
|
580
|
+
/** Chunk replication distance (`0`–`8`) from the original message. */
|
|
581
|
+
distance: number;
|
|
582
|
+
/** Decay algorithm (`0`–`5`) from the original message. */
|
|
583
|
+
decayRate: number;
|
|
584
|
+
/** The 32-ASCII-character id of the object controlling this event. */
|
|
585
|
+
uuid: string;
|
|
586
|
+
/** The event type id (uint16) that determines processing. */
|
|
587
|
+
eventType: number;
|
|
588
|
+
/** Event state data, base64-encoded; format is defined by {@link eventType}. */
|
|
589
|
+
state: string;
|
|
590
|
+
/** The sender's sequence number for this message (`0`–`255`). */
|
|
591
|
+
sequenceNumber: number;
|
|
592
|
+
/** Server-generated timestamp in epoch milliseconds ({@link BigInt} string). */
|
|
593
|
+
epochMillis: BigInt;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Asynchronous error for a previously sent datagram (e.g. a `send*` request).
|
|
597
|
+
* Delivered as a member of the {@link UdpNotification} union on the
|
|
598
|
+
* subscription — **not** as a GraphQL error on the mutation. Match it to the
|
|
599
|
+
* originating send via {@link sequenceNumber} and read {@link errorCode} for
|
|
600
|
+
* the reason. Note: not every failure produces one — some auth failures are
|
|
601
|
+
* dropped silently (see {@link UdpErrorCode}).
|
|
602
|
+
*/
|
|
603
|
+
export interface GenericErrorResponse {
|
|
604
|
+
/** Discriminator for the {@link UdpNotification} union. */
|
|
605
|
+
__typename: 'GenericErrorResponse';
|
|
606
|
+
/**
|
|
607
|
+
* Echoes the `sequenceNumber` of the request that failed (uint8 `0`–`255`,
|
|
608
|
+
* wrapping modulo 256) so you can correlate this error with the `send*` that
|
|
609
|
+
* produced it. Correlation only — not an idempotency key.
|
|
610
|
+
*/
|
|
611
|
+
sequenceNumber: number;
|
|
612
|
+
/** Code indicating the reason for the failure. See {@link UdpErrorCode}. */
|
|
613
|
+
errorCode: UdpErrorCode;
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Discriminated union of every realtime payload a consumer can receive on the
|
|
617
|
+
* subscription. Narrow it by switching on the `__typename` field. (The realtime
|
|
618
|
+
* client uses the equivalent codegen-derived {@link SpatialNotification}
|
|
619
|
+
* /`UdpNotification` shapes; these hand-written interfaces mirror them.)
|
|
620
|
+
*/
|
|
621
|
+
export type UdpNotification = ActorUpdateNotification | ActorUpdateResponse | VoxelUpdateNotification | VoxelUpdateResponse | ClientAudioNotification | ClientTextNotification | ClientEventNotification | ServerEventNotification | GenericErrorResponse;
|
|
622
|
+
/**
|
|
623
|
+
* Minimal endpoint/timeout configuration shape (HTTP + WebSocket endpoints and
|
|
624
|
+
* a request timeout). The full client options used by the package entry point
|
|
625
|
+
* live on `CrowdyClient`'s own config.
|
|
626
|
+
*/
|
|
627
|
+
export interface CrowdyClientConfig {
|
|
628
|
+
/** GraphQL HTTP endpoint URL. */
|
|
629
|
+
graphqlEndpoint?: string;
|
|
630
|
+
/** GraphQL WebSocket endpoint URL for the subscription stream. */
|
|
631
|
+
wsEndpoint?: string;
|
|
632
|
+
/** Request timeout in milliseconds. */
|
|
633
|
+
timeout?: number;
|
|
634
|
+
}
|
|
635
|
+
/** Callback for an {@link ActorUpdateNotification} (another actor moved/changed). */
|
|
636
|
+
export type ActorUpdateHandler = (notification: ActorUpdateNotification) => void;
|
|
637
|
+
/** Callback for an {@link ActorUpdateResponse} (echo of your own actor update). */
|
|
638
|
+
export type ActorUpdateResponseHandler = (response: ActorUpdateResponse) => void;
|
|
639
|
+
/** Callback for a {@link VoxelUpdateNotification} (a nearby voxel changed). */
|
|
640
|
+
export type VoxelUpdateHandler = (notification: VoxelUpdateNotification) => void;
|
|
641
|
+
/** Callback for a {@link VoxelUpdateResponse} (echo of your own voxel update). */
|
|
642
|
+
export type VoxelUpdateResponseHandler = (response: VoxelUpdateResponse) => void;
|
|
643
|
+
/** Callback for a {@link ClientAudioNotification} (nearby voice/audio packet). */
|
|
644
|
+
export type ClientAudioHandler = (notification: ClientAudioNotification) => void;
|
|
645
|
+
/** Callback for a {@link ClientTextNotification} (nearby text/chat message). */
|
|
646
|
+
export type ClientTextHandler = (notification: ClientTextNotification) => void;
|
|
647
|
+
/** Callback for a {@link ClientEventNotification} (nearby custom client event). */
|
|
648
|
+
export type ClientEventHandler = (notification: ClientEventNotification) => void;
|
|
649
|
+
/** Callback for a {@link ServerEventNotification} (server-originated spatial event). */
|
|
650
|
+
export type ServerEventHandler = (notification: ServerEventNotification) => void;
|
|
651
|
+
/** Callback for a {@link GenericErrorResponse} (async error for a prior send). */
|
|
652
|
+
export type GenericErrorHandler = (response: GenericErrorResponse) => void;
|
|
653
|
+
/**
|
|
654
|
+
* Function returned by subscribe-style helpers; call it (no arguments) to
|
|
655
|
+
* remove the listener/subscription it represents.
|
|
656
|
+
*/
|
|
657
|
+
export type UnsubscribeFn = () => void;
|
|
658
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|