@crowdedkingdoms/crowdyjs 17.2.0 → 17.4.0-dev.1
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/MIGRATION.md +97 -0
- package/README.md +2 -2
- package/dist/crowdy-studio/controller.d.ts +15 -0
- package/dist/crowdy-studio/controller.d.ts.map +1 -1
- package/dist/crowdy-studio/controller.js +41 -0
- package/dist/crowdy-studio/dom-shell.d.ts +1 -0
- package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
- package/dist/crowdy-studio/dom-shell.js +20 -1
- package/dist/crowdy-studio/github/index.d.ts +1 -0
- package/dist/crowdy-studio/github/index.d.ts.map +1 -1
- package/dist/crowdy-studio/github/index.js +1 -0
- package/dist/crowdy-studio/github/new-repo.d.ts +27 -0
- package/dist/crowdy-studio/github/new-repo.d.ts.map +1 -0
- package/dist/crowdy-studio/github/new-repo.js +44 -0
- package/dist/crowdy-studio/github/transport.d.ts +7 -0
- package/dist/crowdy-studio/github/transport.d.ts.map +1 -1
- package/dist/crowdy-studio/github/transport.js +1 -1
- package/dist/default-origin.d.ts +6 -6
- package/dist/default-origin.d.ts.map +1 -1
- package/dist/default-origin.js +6 -6
- package/dist/domains/gameModel.d.ts +172 -14
- package/dist/domains/gameModel.d.ts.map +1 -1
- package/dist/domains/gameModel.js +204 -14
- package/dist/generated/graphql.d.ts +524 -6
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +16 -6
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/kit/index.d.ts +1 -1
- package/dist/kit/index.d.ts.map +1 -1
- package/dist/kit/matches.d.ts +79 -2
- package/dist/kit/matches.d.ts.map +1 -1
- package/dist/kit/matches.js +85 -1
- package/dist/kit/npcs.d.ts.map +1 -1
- package/dist/kit/social.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GraphQLClient } from '../client.js';
|
|
2
|
-
import { type GameModelCreateSessionMutation, type GameModelCreateSessionMutationVariables, type GameModelJoinSessionMutation, type GameModelJoinSessionMutationVariables, type GameModelSetSessionTurnMutation, type GameModelSetSessionTurnMutationVariables, type GameModelCreateContainerMutation, type GameModelCreateContainerMutationVariables, type GameModelDeleteContainerMutation, type GameModelDeleteContainerMutationVariables, type GameModelSetPropertyMutation, type GameModelSetPropertyMutationVariables, type GameModelAddEdgeMutation, type GameModelAddEdgeMutationVariables, type GameModelDeleteEdgeMutation, type GameModelDeleteEdgeMutationVariables, type GameModelInvokeMutation, type GameModelInvokeMutationVariables, type GameModelContainerQuery, type GameModelContainerQueryVariables, GameModelContainerChangedSubscription, GameModelContainerChangedSubscriptionVariables, type GameModelActivePlayerCountQuery, type GameModelActivePlayerCountQueryVariables, type GameModelActivePlayerCountChangedSubscription, type GameModelActivePlayerCountChangedSubscriptionVariables, type GameModelContainersQuery, type GameModelContainersQueryVariables, type GameModelContainerStateQuery, type GameModelContainerStateQueryVariables, type GameModelTraverseQuery, type GameModelTraverseQueryVariables, type GameModelSessionQuery, type GameModelSessionQueryVariables, type GameModelSessionsQuery, type GameModelSessionsQueryVariables, type GameModelEventsQuery, type GameModelEventsQueryVariables, type GameModelFlowQuery, type GameModelFlowQueryVariables, type GameModelSeedMutation, type GameModelSeedMutationVariables, type GameModelUpsertContainerTypeMutation, type GameModelUpsertContainerTypeMutationVariables, type GameModelUpsertPropertyDefMutation, type GameModelUpsertPropertyDefMutationVariables, type GameModelDeletePropertyDefMutation, type GameModelDeletePropertyDefMutationVariables, type GameModelDeleteContainerTypeMutation, type GameModelDeleteContainerTypeMutationVariables, type GameModelUpsertFunctionMutation, type GameModelUpsertFunctionMutationVariables, type GameModelDeleteFunctionMutation, type GameModelDeleteFunctionMutationVariables, type GameModelDefineFeatureMutation, type GameModelDefineFeatureMutationVariables, type GameModelGrantTierFeatureMutation, type GameModelGrantTierFeatureMutationVariables, type GameModelSetPolicyMutation, type GameModelSetPolicyMutationVariables, type GameModelTypeSchemaQuery, type GameModelTypeSchemaQueryVariables, type GameModelContainerTypesQuery, type GameModelContainerTypesQueryVariables, type GameModelPropertyDefsQuery, type GameModelPropertyDefsQueryVariables, type GameModelFunctionQuery, type GameModelFunctionQueryVariables, type GameModelFunctionsQuery, type GameModelFunctionsQueryVariables, type GameModelFeaturesQuery, type GameModelFeaturesQueryVariables, type GameModelTierFeaturesQuery, type GameModelTierFeaturesQueryVariables, type GameModelPolicyQuery, type GameModelPolicyQueryVariables, type GameModelRevokeTierFeatureMutation, type GameModelRevokeTierFeatureMutationVariables, type GameModelEventsConnectionQuery, type GameModelEventsConnectionQueryVariables, type GameModelUpsertAutomationMutation, type GameModelUpsertAutomationMutationVariables, type GameModelDeleteAutomationMutation, type GameModelDeleteAutomationMutationVariables, type GameModelSetAutomationEnabledMutation, type GameModelSetAutomationEnabledMutationVariables, type GameModelUpsertAutomationTriggerMutation, type GameModelUpsertAutomationTriggerMutationVariables, type GameModelDeleteAutomationTriggerMutation, type GameModelDeleteAutomationTriggerMutationVariables, type GameModelSetAutomationPolicyMutation, type GameModelSetAutomationPolicyMutationVariables, type GameModelRunAutomationMutation, type GameModelRunAutomationMutationVariables, type GameModelAutomationsQuery, type GameModelAutomationsQueryVariables, type GameModelAutomationQuery, type GameModelAutomationQueryVariables, type GameModelAutomationTriggersQuery, type GameModelAutomationTriggersQueryVariables, type GameModelAutomationPolicyQuery, type GameModelAutomationPolicyQueryVariables, type GameModelAutomationRunsQuery, type GameModelAutomationRunsQueryVariables, type GameModelAutomationStatsQuery, type GameModelAutomationStatsQueryVariables, type GameModelAppDiagnosticsQuery, type GameModelAppDiagnosticsQueryVariables, type GameModelScheduleInvokeMutation, type GameModelScheduleInvokeMutationVariables, type GameModelCancelTimerMutation, type GameModelCancelTimerMutationVariables, type GameModelTimersQuery, type GameModelTimersQueryVariables } from '../generated/graphql.js';
|
|
2
|
+
import { type GameModelCreateSessionMutation, type GameModelCreateSessionMutationVariables, type GameModelJoinSessionMutation, type GameModelJoinSessionMutationVariables, type GameModelSetSessionTurnMutation, type GameModelSetSessionTurnMutationVariables, type GameModelLeaveSessionMutation, type GameModelLeaveSessionMutationVariables, type GameModelSetSessionAdmissionMutation, type GameModelSetSessionAdmissionMutationVariables, type GameModelTransferSessionHostMutation, type GameModelTransferSessionHostMutationVariables, type GameModelEndSessionMutation, type GameModelEndSessionMutationVariables, type GameModelSessionSnapshotQuery, type GameModelSessionSnapshotQueryVariables, type GameModelSessionEventsQuery, type GameModelSessionEventsQueryVariables, type GameModelSessionInspectQuery, type GameModelSessionInspectQueryVariables, type GameModelSessionChangedSubscription, type GameModelSessionChangedSubscriptionVariables, type GameModelCreateContainerMutation, type GameModelCreateContainerMutationVariables, type GameModelDeleteContainerMutation, type GameModelDeleteContainerMutationVariables, type GameModelSetPropertyMutation, type GameModelSetPropertyMutationVariables, type GameModelAddEdgeMutation, type GameModelAddEdgeMutationVariables, type GameModelDeleteEdgeMutation, type GameModelDeleteEdgeMutationVariables, type GameModelInvokeMutation, type GameModelInvokeMutationVariables, type GameModelContainerQuery, type GameModelContainerQueryVariables, GameModelContainerChangedSubscription, GameModelContainerChangedSubscriptionVariables, type GameModelActivePlayerCountQuery, type GameModelActivePlayerCountQueryVariables, type GameModelActivePlayerCountChangedSubscription, type GameModelActivePlayerCountChangedSubscriptionVariables, type GameModelContainersQuery, type GameModelContainersQueryVariables, type GameModelContainerStateQuery, type GameModelContainerStateQueryVariables, type GameModelTraverseQuery, type GameModelTraverseQueryVariables, type GameModelSessionQuery, type GameModelSessionQueryVariables, type GameModelSessionsQuery, type GameModelSessionsQueryVariables, type GameModelEventsQuery, type GameModelEventsQueryVariables, type GameModelFlowQuery, type GameModelFlowQueryVariables, type GameModelSeedMutation, type GameModelSeedMutationVariables, type GameModelUpsertContainerTypeMutation, type GameModelUpsertContainerTypeMutationVariables, type GameModelUpsertPropertyDefMutation, type GameModelUpsertPropertyDefMutationVariables, type GameModelDeletePropertyDefMutation, type GameModelDeletePropertyDefMutationVariables, type GameModelDeleteContainerTypeMutation, type GameModelDeleteContainerTypeMutationVariables, type GameModelUpsertFunctionMutation, type GameModelUpsertFunctionMutationVariables, type GameModelDeleteFunctionMutation, type GameModelDeleteFunctionMutationVariables, type GameModelDefineFeatureMutation, type GameModelDefineFeatureMutationVariables, type GameModelGrantTierFeatureMutation, type GameModelGrantTierFeatureMutationVariables, type GameModelSetPolicyMutation, type GameModelSetPolicyMutationVariables, type GameModelTypeSchemaQuery, type GameModelTypeSchemaQueryVariables, type GameModelContainerTypesQuery, type GameModelContainerTypesQueryVariables, type GameModelPropertyDefsQuery, type GameModelPropertyDefsQueryVariables, type GameModelFunctionQuery, type GameModelFunctionQueryVariables, type GameModelFunctionsQuery, type GameModelFunctionsQueryVariables, type GameModelFeaturesQuery, type GameModelFeaturesQueryVariables, type GameModelTierFeaturesQuery, type GameModelTierFeaturesQueryVariables, type GameModelPolicyQuery, type GameModelPolicyQueryVariables, type GameModelRevokeTierFeatureMutation, type GameModelRevokeTierFeatureMutationVariables, type GameModelEventsConnectionQuery, type GameModelEventsConnectionQueryVariables, type GameModelUpsertAutomationMutation, type GameModelUpsertAutomationMutationVariables, type GameModelDeleteAutomationMutation, type GameModelDeleteAutomationMutationVariables, type GameModelSetAutomationEnabledMutation, type GameModelSetAutomationEnabledMutationVariables, type GameModelUpsertAutomationTriggerMutation, type GameModelUpsertAutomationTriggerMutationVariables, type GameModelDeleteAutomationTriggerMutation, type GameModelDeleteAutomationTriggerMutationVariables, type GameModelSetAutomationPolicyMutation, type GameModelSetAutomationPolicyMutationVariables, type GameModelRunAutomationMutation, type GameModelRunAutomationMutationVariables, type GameModelAutomationsQuery, type GameModelAutomationsQueryVariables, type GameModelAutomationQuery, type GameModelAutomationQueryVariables, type GameModelAutomationTriggersQuery, type GameModelAutomationTriggersQueryVariables, type GameModelAutomationPolicyQuery, type GameModelAutomationPolicyQueryVariables, type GameModelAutomationRunsQuery, type GameModelAutomationRunsQueryVariables, type GameModelAutomationStatsQuery, type GameModelAutomationStatsQueryVariables, type GameModelAppDiagnosticsQuery, type GameModelAppDiagnosticsQueryVariables, type GameModelScheduleInvokeMutation, type GameModelScheduleInvokeMutationVariables, type GameModelCancelTimerMutation, type GameModelCancelTimerMutationVariables, type GameModelTimersQuery, type GameModelTimersQueryVariables } from '../generated/graphql.js';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract **game-model** sub-client on the **game-api** — a schema-driven,
|
|
5
5
|
* server-authoritative layer for modelling game/world logic on top of the
|
|
@@ -86,6 +86,28 @@ import { type GameModelCreateSessionMutation, type GameModelCreateSessionMutatio
|
|
|
86
86
|
*/
|
|
87
87
|
/** One container-change push from {@link GameModelAPI.containerChanged}. */
|
|
88
88
|
export type GmContainerChangeEvent = GameModelContainerChangedSubscription['gameModelContainerChanged'];
|
|
89
|
+
/** One session revision as streamed by {@link GameModelAPI.sessionChanged}. */
|
|
90
|
+
export type GmSessionChangeEvent = GameModelSessionChangedSubscription['gameModelSessionChanged'];
|
|
91
|
+
/** Handlers for {@link GameModelAPI.sessionChanged}. */
|
|
92
|
+
export interface SessionChangedHandlers {
|
|
93
|
+
/**
|
|
94
|
+
* One revision of the session. `revision` is a decimal string and strictly
|
|
95
|
+
* increasing; `kind` is one of `created | participant_joined |
|
|
96
|
+
* participant_rejoined | participant_left | participant_expired |
|
|
97
|
+
* host_changed | admission_changed | turn_changed | ended`; `payloadJson`
|
|
98
|
+
* names the subject (user id, host, admission, ...).
|
|
99
|
+
*/
|
|
100
|
+
next: (event: GmSessionChangeEvent) => void;
|
|
101
|
+
/** Transport/GraphQL errors (the subscription retries on socket drops). */
|
|
102
|
+
error?: (error: unknown) => void;
|
|
103
|
+
/** The server ended the stream. */
|
|
104
|
+
complete?: () => void;
|
|
105
|
+
/**
|
|
106
|
+
* WebSocket constructor for runtimes without a global `WebSocket` (Node
|
|
107
|
+
* ≤ 21): pass `(await import('ws')).default`.
|
|
108
|
+
*/
|
|
109
|
+
webSocketImpl?: unknown;
|
|
110
|
+
}
|
|
89
111
|
/** Handlers for {@link GameModelAPI.containerChanged}. */
|
|
90
112
|
export interface ContainerChangedHandlers {
|
|
91
113
|
/** A container changed (metadata only — pull state on receipt). */
|
|
@@ -190,33 +212,73 @@ export declare class GameModelAPI {
|
|
|
190
212
|
* @returns An unsubscribe function (closes this subscription's socket).
|
|
191
213
|
*/
|
|
192
214
|
containerChanged(variables: GameModelContainerChangedSubscriptionVariables, handlers: ContainerChangedHandlers): () => void;
|
|
215
|
+
/**
|
|
216
|
+
* **Subscriptions** — stream the revisions of one session as they commit
|
|
217
|
+
* (`gameModelSessionChanged`): joins, rejoins, leaves, presence expiries,
|
|
218
|
+
* host changes, admission changes, turn changes and the end. There is no
|
|
219
|
+
* bootstrap event: pull {@link sessionSnapshot} first, or pass
|
|
220
|
+
* `afterRevision` to replay retained events from there. Revisions are
|
|
221
|
+
* strictly increasing; on a gap or after a reconnect, pull the snapshot
|
|
222
|
+
* again. Cross-replica and best-effort over a bounded buffer; the events
|
|
223
|
+
* table ({@link sessionEvents}) is the record. Requires a `wsUrl` in the
|
|
224
|
+
* client config.
|
|
225
|
+
*
|
|
226
|
+
* @param variables - `{ appId, sessionId, afterRevision? }`.
|
|
227
|
+
* @param handlers - `next` per revision; optional `error` / `complete` /
|
|
228
|
+
* `webSocketImpl`.
|
|
229
|
+
* @returns An unsubscribe function (closes this subscription's socket).
|
|
230
|
+
* @throws {Error} Synchronously when the client config has no `wsUrl`.
|
|
231
|
+
*/
|
|
232
|
+
sessionChanged(variables: GameModelSessionChangedSubscriptionVariables, handlers: SessionChangedHandlers): () => void;
|
|
193
233
|
/**
|
|
194
234
|
* **Sessions** — create a runtime session: an isolated instance scope for
|
|
195
235
|
* containers (e.g. a match, room, or save). Subject to the app's
|
|
196
236
|
* session-creation policy ({@link setPolicy}); the caller becomes the creator
|
|
197
237
|
* and a participant.
|
|
198
238
|
*
|
|
239
|
+
* **Presence mode.** `presence: 'actor'` (the default) expires a joined
|
|
240
|
+
* participant with no fresh Buddy actor in the app after the join grace
|
|
241
|
+
* window. `presence: 'none'` never expires anybody: use it for turn-based
|
|
242
|
+
* play that talks GraphQL and channel pings and never replicates an actor
|
|
243
|
+
* (`kit.matches` does), where the roster's only exits are
|
|
244
|
+
* {@link leaveSession}, {@link endSession} and the empty timeout once
|
|
245
|
+
* everyone has left. The mode is fixed at creation.
|
|
246
|
+
*
|
|
199
247
|
* @param input - {@link CreateSessionInput}: `appId` (decimal string), an
|
|
200
|
-
* optional `name`, optional `metadataJson` (a JSON-object string),
|
|
248
|
+
* optional `name`, optional `metadataJson` (a JSON-object string),
|
|
201
249
|
* optional `participantUserIds` (decimal-string ids of initial participants
|
|
202
|
-
* besides the creator)
|
|
250
|
+
* besides the creator), optional `maxParticipants`, `admission`,
|
|
251
|
+
* `emptyTimeoutSec`, `presence` and `idempotencyKey`.
|
|
203
252
|
* @returns The created {@link GmSession} (`sessionId`, `status`, creator,
|
|
204
|
-
*
|
|
253
|
+
* host, admission, `presence`, revision, …).
|
|
205
254
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING` if the token
|
|
206
255
|
* is missing or not scoped to the app, `FORBIDDEN` if the session-creation
|
|
207
256
|
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input.
|
|
208
257
|
*/
|
|
209
258
|
createSession(input: GameModelCreateSessionMutationVariables['input']): Promise<GameModelCreateSessionMutation['gameModelCreateSession']>;
|
|
210
259
|
/**
|
|
211
|
-
* **Sessions** — join
|
|
212
|
-
*
|
|
260
|
+
* **Sessions** — join a session, or **reconnect** to one you are already in.
|
|
261
|
+
* A rejoin returns your row with `incarnation + 1` and supersedes any older
|
|
262
|
+
* client of yours; keep the returned `incarnation`, {@link leaveSession}
|
|
263
|
+
* needs it. Pass `actorUuid` (your own Buddy actor, 32 hex chars — the uuid
|
|
264
|
+
* you replicate with) to bind this participant's presence to that actor;
|
|
265
|
+
* without it any fresh actor of yours in the app keeps you present.
|
|
266
|
+
* **Presence is your actor** (in a `presence: 'actor'` session, the default):
|
|
267
|
+
* a participant with no fresh Buddy actor in the app after the join grace
|
|
268
|
+
* window is expired by the server (`participant_expired`); a client that only
|
|
269
|
+
* speaks GraphQL must rejoin to come back. In a `presence: 'none'` session
|
|
270
|
+
* nobody is expired and `actorUuid` is recorded but not judged.
|
|
213
271
|
*
|
|
214
272
|
* @param input - {@link JoinSessionInput}: `appId` (decimal string),
|
|
215
|
-
* `sessionId`,
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
273
|
+
* `sessionId`, optional `role`, optional `actorUuid`, optional
|
|
274
|
+
* `idempotencyKey` (replaying returns the same incarnation).
|
|
275
|
+
* @returns The {@link GmSessionParticipant} row (`state`, `incarnation`,
|
|
276
|
+
* `actorUuid`, `joinedAt`, ...).
|
|
277
|
+
* @throws {CrowdyGraphQLError} `SESSION_FULL` (every seat taken),
|
|
278
|
+
* `SESSION_LOCKED` (admission locked and you never joined),
|
|
279
|
+
* `SESSION_CLOSED`, `SESSION_ENDED`, `FORBIDDEN` (the `actorUuid` is not
|
|
280
|
+
* yours or is already bound by another participant), `NOT_FOUND`,
|
|
281
|
+
* `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
220
282
|
*/
|
|
221
283
|
joinSession(input: GameModelJoinSessionMutationVariables['input']): Promise<GameModelJoinSessionMutation['gameModelJoinSession']>;
|
|
222
284
|
/**
|
|
@@ -233,6 +295,66 @@ export declare class GameModelAPI {
|
|
|
233
295
|
* not change the turn.
|
|
234
296
|
*/
|
|
235
297
|
setSessionTurn(input: GameModelSetSessionTurnMutationVariables['input']): Promise<GameModelSetSessionTurnMutation['gameModelSetSessionTurn']>;
|
|
298
|
+
/**
|
|
299
|
+
* **Sessions** — leave a session you are joined to. `incarnation` is
|
|
300
|
+
* **required**: it is the value {@link joinSession} returned to *this*
|
|
301
|
+
* client (a creator starts at 1), so a superseded client can never remove
|
|
302
|
+
* the one that took over. Leaving an already-left row is a no-op. If you
|
|
303
|
+
* were host, the longest-joined present participant succeeds you
|
|
304
|
+
* (`host_changed`).
|
|
305
|
+
*
|
|
306
|
+
* @param input - {@link LeaveSessionInput}: `appId`, `sessionId`,
|
|
307
|
+
* `incarnation`, optional `idempotencyKey`.
|
|
308
|
+
* @returns Your {@link GmSessionParticipant} row, now `state: 'left'` with
|
|
309
|
+
* `leftReason: 'left'`.
|
|
310
|
+
* @throws {CrowdyGraphQLError} `SESSION_INCARNATION_STALE` (a newer client
|
|
311
|
+
* rejoined as you — stop acting from this one, or rejoin),
|
|
312
|
+
* `SESSION_NOT_PARTICIPANT`, `NOT_FOUND`.
|
|
313
|
+
*/
|
|
314
|
+
leaveSession(input: GameModelLeaveSessionMutationVariables['input']): Promise<GameModelLeaveSessionMutation['gameModelLeaveSession']>;
|
|
315
|
+
/**
|
|
316
|
+
* **Sessions** — change who may still join: `'open'` (anyone the app
|
|
317
|
+
* admits), `'locked'` (only participants who already joined may reconnect —
|
|
318
|
+
* set it when the match starts), `'closed'` (nobody). Session host or app
|
|
319
|
+
* admin (`manage_apps`). Emits `admission_changed`.
|
|
320
|
+
*
|
|
321
|
+
* @param input - {@link SetSessionAdmissionInput}: `appId`, `sessionId`,
|
|
322
|
+
* `admission`, optional `expectedHostTerm` (the `hostTerm` you last read:
|
|
323
|
+
* refused if the host changed since), optional `idempotencyKey`.
|
|
324
|
+
* @returns The updated {@link GmSession}.
|
|
325
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN` (not host / admin),
|
|
326
|
+
* `SESSION_HOST_TERM_STALE`, `SESSION_ENDED`, `NOT_FOUND`.
|
|
327
|
+
*/
|
|
328
|
+
setSessionAdmission(input: GameModelSetSessionAdmissionMutationVariables['input']): Promise<GameModelSetSessionAdmissionMutation['gameModelSetSessionAdmission']>;
|
|
329
|
+
/**
|
|
330
|
+
* **Sessions** — hand the host role to another *joined* participant.
|
|
331
|
+
* Session host or app admin. Increments `hostTerm` and emits
|
|
332
|
+
* `host_changed` (reason `transferred`).
|
|
333
|
+
*
|
|
334
|
+
* @param input - {@link TransferSessionHostInput}: `appId`, `sessionId`,
|
|
335
|
+
* `toUserId` (decimal string), optional `expectedHostTerm`, optional
|
|
336
|
+
* `idempotencyKey`.
|
|
337
|
+
* @returns The updated {@link GmSession} (`hostUserId`, `hostTerm`).
|
|
338
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN`, `SESSION_HOST_TERM_STALE`,
|
|
339
|
+
* `SESSION_TARGET_NOT_PARTICIPANT` (the user named is not joined; refetch
|
|
340
|
+
* the snapshot and pick a participant), `SESSION_ENDED`.
|
|
341
|
+
*/
|
|
342
|
+
transferSessionHost(input: GameModelTransferSessionHostMutationVariables['input']): Promise<GameModelTransferSessionHostMutation['gameModelTransferSessionHost']>;
|
|
343
|
+
/**
|
|
344
|
+
* **Sessions** — end a session as `'completed'` (default) or `'abandoned'`.
|
|
345
|
+
* Every joined participant is marked left (`session_ended`), admission
|
|
346
|
+
* becomes `closed`, `endedAt` / `endReason` are set and an `ended` event
|
|
347
|
+
* closes the revision log. Session host or app admin. (The server also ends a
|
|
348
|
+
* session nobody has been joined to for longer than its `emptyTimeoutSec` as
|
|
349
|
+
* `abandoned` / `empty_timeout`.)
|
|
350
|
+
*
|
|
351
|
+
* @param input - {@link EndSessionInput}: `appId`, `sessionId`, optional
|
|
352
|
+
* `reason`, optional `expectedHostTerm`, optional `idempotencyKey`.
|
|
353
|
+
* @returns The ended {@link GmSession}.
|
|
354
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN`, `SESSION_HOST_TERM_STALE`,
|
|
355
|
+
* `SESSION_ENDED` (already ended), `NOT_FOUND`.
|
|
356
|
+
*/
|
|
357
|
+
endSession(input: GameModelEndSessionMutationVariables['input']): Promise<GameModelEndSessionMutation['gameModelEndSession']>;
|
|
236
358
|
/**
|
|
237
359
|
* **Containers** — instantiate a container (a runtime entity of a given type),
|
|
238
360
|
* optionally within a session, with an owner and initial property values.
|
|
@@ -415,14 +537,50 @@ export declare class GameModelAPI {
|
|
|
415
537
|
*/
|
|
416
538
|
session(variables: GameModelSessionQueryVariables): Promise<GameModelSessionQuery['gameModelSession']>;
|
|
417
539
|
/**
|
|
418
|
-
* **Sessions** — list sessions in an app, optionally filtered
|
|
540
|
+
* **Sessions** — list sessions in an app, newest first, optionally filtered
|
|
541
|
+
* by `status` (`active | completed | abandoned`), `admission`
|
|
542
|
+
* (`open | locked | closed` — `'open'` lists joinable lobbies) and/or
|
|
543
|
+
* `hostUserId`.
|
|
419
544
|
*
|
|
420
|
-
* @param variables - `{ appId, status? }
|
|
421
|
-
*
|
|
545
|
+
* @param variables - `{ appId, status?, admission?, hostUserId?, limit? }`
|
|
546
|
+
* (`limit` defaults to 200, max 1000).
|
|
422
547
|
* @returns The matching {@link GmSession}s.
|
|
423
548
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
424
549
|
*/
|
|
425
550
|
sessions(variables: GameModelSessionsQueryVariables): Promise<GameModelSessionsQuery['gameModelSessions']>;
|
|
551
|
+
/**
|
|
552
|
+
* **Sessions** — the authoritative state of one session at one revision: the
|
|
553
|
+
* session row and every *joined* participant. Pull it when you subscribe
|
|
554
|
+
* with {@link sessionChanged}, after a reconnect, or when the stream shows a
|
|
555
|
+
* revision gap; then apply only events whose `revision` is above
|
|
556
|
+
* `snapshot.revision`.
|
|
557
|
+
*
|
|
558
|
+
* @param variables - `{ appId, sessionId }`.
|
|
559
|
+
* @returns `{ revision, session, participants }`.
|
|
560
|
+
* @throws {CrowdyGraphQLError} `NOT_FOUND`, `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
561
|
+
*/
|
|
562
|
+
sessionSnapshot(variables: GameModelSessionSnapshotQueryVariables): Promise<GameModelSessionSnapshotQuery['gameModelSessionSnapshot']>;
|
|
563
|
+
/**
|
|
564
|
+
* **Sessions** — the events of a session with a revision strictly greater
|
|
565
|
+
* than `afterRevision`, oldest first: the gap-fill read behind
|
|
566
|
+
* {@link sessionChanged}. Events of ended sessions are retained for a bounded
|
|
567
|
+
* period, then purged.
|
|
568
|
+
*
|
|
569
|
+
* @param variables - `{ appId, sessionId, afterRevision, limit? }`;
|
|
570
|
+
* `afterRevision` is a decimal string (`'0'` for everything retained).
|
|
571
|
+
* @returns The matching {@link GmSessionEvent}s.
|
|
572
|
+
*/
|
|
573
|
+
sessionEvents(variables: GameModelSessionEventsQueryVariables): Promise<GameModelSessionEventsQuery['gameModelSessionEvents']>;
|
|
574
|
+
/**
|
|
575
|
+
* **Sessions (operators)** — the full roster including departed participants
|
|
576
|
+
* (with `leftReason` and `incarnation`), each joined participant's live
|
|
577
|
+
* presence verdict (`fresh | grace | stale | legacy | left`), and the most
|
|
578
|
+
* recent events. Requires app-admin (`manage_apps`).
|
|
579
|
+
*
|
|
580
|
+
* @param variables - `{ appId, sessionId }`.
|
|
581
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN` without `manage_apps`.
|
|
582
|
+
*/
|
|
583
|
+
sessionInspect(variables: GameModelSessionInspectQueryVariables): Promise<GameModelSessionInspectQuery['gameModelSessionInspect']>;
|
|
426
584
|
/**
|
|
427
585
|
* **Events** — query the function-invocation event log (audit trail) with
|
|
428
586
|
* optional filters and pagination. Useful for debugging functions or showing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gameModel.d.ts","sourceRoot":"","sources":["../../src/domains/gameModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gameModel.d.ts","sourceRoot":"","sources":["../../src/domains/gameModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { createClient as createWsClient } from 'graphql-ws';
|
|
|
2
2
|
import { print } from 'graphql';
|
|
3
3
|
import {
|
|
4
4
|
// Runtime (player) ops
|
|
5
|
-
GameModelCreateSessionDocument, GameModelJoinSessionDocument, GameModelSetSessionTurnDocument, GameModelCreateContainerDocument, GameModelDeleteContainerDocument, GameModelSetPropertyDocument, GameModelAddEdgeDocument, GameModelDeleteEdgeDocument, GameModelInvokeDocument, GameModelContainerDocument, GameModelContainerChangedDocument, GameModelActivePlayerCountDocument, GameModelActivePlayerCountChangedDocument, GameModelContainersDocument, GameModelContainerStateDocument, GameModelTraverseDocument, GameModelSessionDocument, GameModelSessionsDocument, GameModelEventsDocument, GameModelFlowDocument,
|
|
5
|
+
GameModelCreateSessionDocument, GameModelJoinSessionDocument, GameModelSetSessionTurnDocument, GameModelLeaveSessionDocument, GameModelSetSessionAdmissionDocument, GameModelTransferSessionHostDocument, GameModelEndSessionDocument, GameModelSessionSnapshotDocument, GameModelSessionEventsDocument, GameModelSessionInspectDocument, GameModelSessionChangedDocument, GameModelCreateContainerDocument, GameModelDeleteContainerDocument, GameModelSetPropertyDocument, GameModelAddEdgeDocument, GameModelDeleteEdgeDocument, GameModelInvokeDocument, GameModelContainerDocument, GameModelContainerChangedDocument, GameModelActivePlayerCountDocument, GameModelActivePlayerCountChangedDocument, GameModelContainersDocument, GameModelContainerStateDocument, GameModelTraverseDocument, GameModelSessionDocument, GameModelSessionsDocument, GameModelEventsDocument, GameModelFlowDocument,
|
|
6
6
|
// Studio authoring ops
|
|
7
7
|
GameModelSeedDocument, GameModelUpsertContainerTypeDocument, GameModelUpsertPropertyDefDocument, GameModelDeletePropertyDefDocument, GameModelDeleteContainerTypeDocument, GameModelUpsertFunctionDocument, GameModelDeleteFunctionDocument, GameModelDefineFeatureDocument, GameModelGrantTierFeatureDocument, GameModelSetPolicyDocument, GameModelTypeSchemaDocument, GameModelContainerTypesDocument, GameModelPropertyDefsDocument, GameModelFunctionDocument, GameModelFunctionsDocument, GameModelFeaturesDocument, GameModelTierFeaturesDocument, GameModelPolicyDocument, GameModelRevokeTierFeatureDocument, GameModelEventsConnectionDocument,
|
|
8
8
|
// Automations (autonomous processes / NPCs)
|
|
@@ -148,6 +148,57 @@ export class GameModelAPI {
|
|
|
148
148
|
void client.dispose();
|
|
149
149
|
};
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* **Subscriptions** — stream the revisions of one session as they commit
|
|
153
|
+
* (`gameModelSessionChanged`): joins, rejoins, leaves, presence expiries,
|
|
154
|
+
* host changes, admission changes, turn changes and the end. There is no
|
|
155
|
+
* bootstrap event: pull {@link sessionSnapshot} first, or pass
|
|
156
|
+
* `afterRevision` to replay retained events from there. Revisions are
|
|
157
|
+
* strictly increasing; on a gap or after a reconnect, pull the snapshot
|
|
158
|
+
* again. Cross-replica and best-effort over a bounded buffer; the events
|
|
159
|
+
* table ({@link sessionEvents}) is the record. Requires a `wsUrl` in the
|
|
160
|
+
* client config.
|
|
161
|
+
*
|
|
162
|
+
* @param variables - `{ appId, sessionId, afterRevision? }`.
|
|
163
|
+
* @param handlers - `next` per revision; optional `error` / `complete` /
|
|
164
|
+
* `webSocketImpl`.
|
|
165
|
+
* @returns An unsubscribe function (closes this subscription's socket).
|
|
166
|
+
* @throws {Error} Synchronously when the client config has no `wsUrl`.
|
|
167
|
+
*/
|
|
168
|
+
sessionChanged(variables, handlers) {
|
|
169
|
+
if (!this.ws?.wsUrl) {
|
|
170
|
+
throw new Error('sessionChanged requires a wsUrl in the client config (graphql-transport-ws endpoint)');
|
|
171
|
+
}
|
|
172
|
+
const client = createWsClient({
|
|
173
|
+
url: this.ws.wsUrl,
|
|
174
|
+
lazy: false,
|
|
175
|
+
retryAttempts: 8,
|
|
176
|
+
...(handlers.webSocketImpl
|
|
177
|
+
? { webSocketImpl: handlers.webSocketImpl }
|
|
178
|
+
: {}),
|
|
179
|
+
connectionParams: () => {
|
|
180
|
+
const token = this.ws?.getToken();
|
|
181
|
+
return token ? { Authorization: `Bearer ${token}` } : {};
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
const dispose = client.subscribe({ query: print(GameModelSessionChangedDocument), variables }, {
|
|
185
|
+
next: (msg) => {
|
|
186
|
+
const data = msg.data;
|
|
187
|
+
if (data?.gameModelSessionChanged) {
|
|
188
|
+
handlers.next(data.gameModelSessionChanged);
|
|
189
|
+
}
|
|
190
|
+
else if (msg.errors) {
|
|
191
|
+
handlers.error?.(msg.errors);
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
error: (err) => handlers.error?.(err),
|
|
195
|
+
complete: () => handlers.complete?.(),
|
|
196
|
+
});
|
|
197
|
+
return () => {
|
|
198
|
+
dispose();
|
|
199
|
+
void client.dispose();
|
|
200
|
+
};
|
|
201
|
+
}
|
|
151
202
|
// -- Runtime (player) -------------------------------------------------------
|
|
152
203
|
/**
|
|
153
204
|
* **Sessions** — create a runtime session: an isolated instance scope for
|
|
@@ -155,12 +206,21 @@ export class GameModelAPI {
|
|
|
155
206
|
* session-creation policy ({@link setPolicy}); the caller becomes the creator
|
|
156
207
|
* and a participant.
|
|
157
208
|
*
|
|
209
|
+
* **Presence mode.** `presence: 'actor'` (the default) expires a joined
|
|
210
|
+
* participant with no fresh Buddy actor in the app after the join grace
|
|
211
|
+
* window. `presence: 'none'` never expires anybody: use it for turn-based
|
|
212
|
+
* play that talks GraphQL and channel pings and never replicates an actor
|
|
213
|
+
* (`kit.matches` does), where the roster's only exits are
|
|
214
|
+
* {@link leaveSession}, {@link endSession} and the empty timeout once
|
|
215
|
+
* everyone has left. The mode is fixed at creation.
|
|
216
|
+
*
|
|
158
217
|
* @param input - {@link CreateSessionInput}: `appId` (decimal string), an
|
|
159
|
-
* optional `name`, optional `metadataJson` (a JSON-object string),
|
|
218
|
+
* optional `name`, optional `metadataJson` (a JSON-object string),
|
|
160
219
|
* optional `participantUserIds` (decimal-string ids of initial participants
|
|
161
|
-
* besides the creator)
|
|
220
|
+
* besides the creator), optional `maxParticipants`, `admission`,
|
|
221
|
+
* `emptyTimeoutSec`, `presence` and `idempotencyKey`.
|
|
162
222
|
* @returns The created {@link GmSession} (`sessionId`, `status`, creator,
|
|
163
|
-
*
|
|
223
|
+
* host, admission, `presence`, revision, …).
|
|
164
224
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING` if the token
|
|
165
225
|
* is missing or not scoped to the app, `FORBIDDEN` if the session-creation
|
|
166
226
|
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input.
|
|
@@ -170,15 +230,28 @@ export class GameModelAPI {
|
|
|
170
230
|
return data.gameModelCreateSession;
|
|
171
231
|
}
|
|
172
232
|
/**
|
|
173
|
-
* **Sessions** — join
|
|
174
|
-
*
|
|
233
|
+
* **Sessions** — join a session, or **reconnect** to one you are already in.
|
|
234
|
+
* A rejoin returns your row with `incarnation + 1` and supersedes any older
|
|
235
|
+
* client of yours; keep the returned `incarnation`, {@link leaveSession}
|
|
236
|
+
* needs it. Pass `actorUuid` (your own Buddy actor, 32 hex chars — the uuid
|
|
237
|
+
* you replicate with) to bind this participant's presence to that actor;
|
|
238
|
+
* without it any fresh actor of yours in the app keeps you present.
|
|
239
|
+
* **Presence is your actor** (in a `presence: 'actor'` session, the default):
|
|
240
|
+
* a participant with no fresh Buddy actor in the app after the join grace
|
|
241
|
+
* window is expired by the server (`participant_expired`); a client that only
|
|
242
|
+
* speaks GraphQL must rejoin to come back. In a `presence: 'none'` session
|
|
243
|
+
* nobody is expired and `actorUuid` is recorded but not judged.
|
|
175
244
|
*
|
|
176
245
|
* @param input - {@link JoinSessionInput}: `appId` (decimal string),
|
|
177
|
-
* `sessionId`,
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
246
|
+
* `sessionId`, optional `role`, optional `actorUuid`, optional
|
|
247
|
+
* `idempotencyKey` (replaying returns the same incarnation).
|
|
248
|
+
* @returns The {@link GmSessionParticipant} row (`state`, `incarnation`,
|
|
249
|
+
* `actorUuid`, `joinedAt`, ...).
|
|
250
|
+
* @throws {CrowdyGraphQLError} `SESSION_FULL` (every seat taken),
|
|
251
|
+
* `SESSION_LOCKED` (admission locked and you never joined),
|
|
252
|
+
* `SESSION_CLOSED`, `SESSION_ENDED`, `FORBIDDEN` (the `actorUuid` is not
|
|
253
|
+
* yours or is already bound by another participant), `NOT_FOUND`,
|
|
254
|
+
* `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
182
255
|
*/
|
|
183
256
|
async joinSession(input) {
|
|
184
257
|
const data = await this.gql.request(GameModelJoinSessionDocument, { input });
|
|
@@ -201,6 +274,78 @@ export class GameModelAPI {
|
|
|
201
274
|
const data = await this.gql.request(GameModelSetSessionTurnDocument, { input });
|
|
202
275
|
return data.gameModelSetSessionTurn;
|
|
203
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* **Sessions** — leave a session you are joined to. `incarnation` is
|
|
279
|
+
* **required**: it is the value {@link joinSession} returned to *this*
|
|
280
|
+
* client (a creator starts at 1), so a superseded client can never remove
|
|
281
|
+
* the one that took over. Leaving an already-left row is a no-op. If you
|
|
282
|
+
* were host, the longest-joined present participant succeeds you
|
|
283
|
+
* (`host_changed`).
|
|
284
|
+
*
|
|
285
|
+
* @param input - {@link LeaveSessionInput}: `appId`, `sessionId`,
|
|
286
|
+
* `incarnation`, optional `idempotencyKey`.
|
|
287
|
+
* @returns Your {@link GmSessionParticipant} row, now `state: 'left'` with
|
|
288
|
+
* `leftReason: 'left'`.
|
|
289
|
+
* @throws {CrowdyGraphQLError} `SESSION_INCARNATION_STALE` (a newer client
|
|
290
|
+
* rejoined as you — stop acting from this one, or rejoin),
|
|
291
|
+
* `SESSION_NOT_PARTICIPANT`, `NOT_FOUND`.
|
|
292
|
+
*/
|
|
293
|
+
async leaveSession(input) {
|
|
294
|
+
const data = await this.gql.request(GameModelLeaveSessionDocument, { input });
|
|
295
|
+
return data.gameModelLeaveSession;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* **Sessions** — change who may still join: `'open'` (anyone the app
|
|
299
|
+
* admits), `'locked'` (only participants who already joined may reconnect —
|
|
300
|
+
* set it when the match starts), `'closed'` (nobody). Session host or app
|
|
301
|
+
* admin (`manage_apps`). Emits `admission_changed`.
|
|
302
|
+
*
|
|
303
|
+
* @param input - {@link SetSessionAdmissionInput}: `appId`, `sessionId`,
|
|
304
|
+
* `admission`, optional `expectedHostTerm` (the `hostTerm` you last read:
|
|
305
|
+
* refused if the host changed since), optional `idempotencyKey`.
|
|
306
|
+
* @returns The updated {@link GmSession}.
|
|
307
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN` (not host / admin),
|
|
308
|
+
* `SESSION_HOST_TERM_STALE`, `SESSION_ENDED`, `NOT_FOUND`.
|
|
309
|
+
*/
|
|
310
|
+
async setSessionAdmission(input) {
|
|
311
|
+
const data = await this.gql.request(GameModelSetSessionAdmissionDocument, { input });
|
|
312
|
+
return data.gameModelSetSessionAdmission;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* **Sessions** — hand the host role to another *joined* participant.
|
|
316
|
+
* Session host or app admin. Increments `hostTerm` and emits
|
|
317
|
+
* `host_changed` (reason `transferred`).
|
|
318
|
+
*
|
|
319
|
+
* @param input - {@link TransferSessionHostInput}: `appId`, `sessionId`,
|
|
320
|
+
* `toUserId` (decimal string), optional `expectedHostTerm`, optional
|
|
321
|
+
* `idempotencyKey`.
|
|
322
|
+
* @returns The updated {@link GmSession} (`hostUserId`, `hostTerm`).
|
|
323
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN`, `SESSION_HOST_TERM_STALE`,
|
|
324
|
+
* `SESSION_TARGET_NOT_PARTICIPANT` (the user named is not joined; refetch
|
|
325
|
+
* the snapshot and pick a participant), `SESSION_ENDED`.
|
|
326
|
+
*/
|
|
327
|
+
async transferSessionHost(input) {
|
|
328
|
+
const data = await this.gql.request(GameModelTransferSessionHostDocument, { input });
|
|
329
|
+
return data.gameModelTransferSessionHost;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* **Sessions** — end a session as `'completed'` (default) or `'abandoned'`.
|
|
333
|
+
* Every joined participant is marked left (`session_ended`), admission
|
|
334
|
+
* becomes `closed`, `endedAt` / `endReason` are set and an `ended` event
|
|
335
|
+
* closes the revision log. Session host or app admin. (The server also ends a
|
|
336
|
+
* session nobody has been joined to for longer than its `emptyTimeoutSec` as
|
|
337
|
+
* `abandoned` / `empty_timeout`.)
|
|
338
|
+
*
|
|
339
|
+
* @param input - {@link EndSessionInput}: `appId`, `sessionId`, optional
|
|
340
|
+
* `reason`, optional `expectedHostTerm`, optional `idempotencyKey`.
|
|
341
|
+
* @returns The ended {@link GmSession}.
|
|
342
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN`, `SESSION_HOST_TERM_STALE`,
|
|
343
|
+
* `SESSION_ENDED` (already ended), `NOT_FOUND`.
|
|
344
|
+
*/
|
|
345
|
+
async endSession(input) {
|
|
346
|
+
const data = await this.gql.request(GameModelEndSessionDocument, { input });
|
|
347
|
+
return data.gameModelEndSession;
|
|
348
|
+
}
|
|
204
349
|
/**
|
|
205
350
|
* **Containers** — instantiate a container (a runtime entity of a given type),
|
|
206
351
|
* optionally within a session, with an owner and initial property values.
|
|
@@ -416,10 +561,13 @@ export class GameModelAPI {
|
|
|
416
561
|
return data.gameModelSession;
|
|
417
562
|
}
|
|
418
563
|
/**
|
|
419
|
-
* **Sessions** — list sessions in an app, optionally filtered
|
|
564
|
+
* **Sessions** — list sessions in an app, newest first, optionally filtered
|
|
565
|
+
* by `status` (`active | completed | abandoned`), `admission`
|
|
566
|
+
* (`open | locked | closed` — `'open'` lists joinable lobbies) and/or
|
|
567
|
+
* `hostUserId`.
|
|
420
568
|
*
|
|
421
|
-
* @param variables - `{ appId, status? }
|
|
422
|
-
*
|
|
569
|
+
* @param variables - `{ appId, status?, admission?, hostUserId?, limit? }`
|
|
570
|
+
* (`limit` defaults to 200, max 1000).
|
|
423
571
|
* @returns The matching {@link GmSession}s.
|
|
424
572
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
425
573
|
*/
|
|
@@ -427,6 +575,48 @@ export class GameModelAPI {
|
|
|
427
575
|
const data = await this.gql.request(GameModelSessionsDocument, variables);
|
|
428
576
|
return data.gameModelSessions;
|
|
429
577
|
}
|
|
578
|
+
/**
|
|
579
|
+
* **Sessions** — the authoritative state of one session at one revision: the
|
|
580
|
+
* session row and every *joined* participant. Pull it when you subscribe
|
|
581
|
+
* with {@link sessionChanged}, after a reconnect, or when the stream shows a
|
|
582
|
+
* revision gap; then apply only events whose `revision` is above
|
|
583
|
+
* `snapshot.revision`.
|
|
584
|
+
*
|
|
585
|
+
* @param variables - `{ appId, sessionId }`.
|
|
586
|
+
* @returns `{ revision, session, participants }`.
|
|
587
|
+
* @throws {CrowdyGraphQLError} `NOT_FOUND`, `UNAUTHENTICATED` / `SCOPE_MISSING`.
|
|
588
|
+
*/
|
|
589
|
+
async sessionSnapshot(variables) {
|
|
590
|
+
const data = await this.gql.request(GameModelSessionSnapshotDocument, variables);
|
|
591
|
+
return data.gameModelSessionSnapshot;
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* **Sessions** — the events of a session with a revision strictly greater
|
|
595
|
+
* than `afterRevision`, oldest first: the gap-fill read behind
|
|
596
|
+
* {@link sessionChanged}. Events of ended sessions are retained for a bounded
|
|
597
|
+
* period, then purged.
|
|
598
|
+
*
|
|
599
|
+
* @param variables - `{ appId, sessionId, afterRevision, limit? }`;
|
|
600
|
+
* `afterRevision` is a decimal string (`'0'` for everything retained).
|
|
601
|
+
* @returns The matching {@link GmSessionEvent}s.
|
|
602
|
+
*/
|
|
603
|
+
async sessionEvents(variables) {
|
|
604
|
+
const data = await this.gql.request(GameModelSessionEventsDocument, variables);
|
|
605
|
+
return data.gameModelSessionEvents;
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* **Sessions (operators)** — the full roster including departed participants
|
|
609
|
+
* (with `leftReason` and `incarnation`), each joined participant's live
|
|
610
|
+
* presence verdict (`fresh | grace | stale | legacy | left`), and the most
|
|
611
|
+
* recent events. Requires app-admin (`manage_apps`).
|
|
612
|
+
*
|
|
613
|
+
* @param variables - `{ appId, sessionId }`.
|
|
614
|
+
* @throws {CrowdyGraphQLError} `FORBIDDEN` without `manage_apps`.
|
|
615
|
+
*/
|
|
616
|
+
async sessionInspect(variables) {
|
|
617
|
+
const data = await this.gql.request(GameModelSessionInspectDocument, variables);
|
|
618
|
+
return data.gameModelSessionInspect;
|
|
619
|
+
}
|
|
430
620
|
/**
|
|
431
621
|
* **Events** — query the function-invocation event log (audit trail) with
|
|
432
622
|
* optional filters and pagination. Useful for debugging functions or showing
|