@crowdedkingdoms/crowdyjs 17.4.0 → 17.5.0-test.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 +42 -0
- package/dist/default-origin.d.ts +6 -6
- package/dist/default-origin.js +6 -6
- package/dist/domains/gameModel.d.ts +63 -8
- package/dist/domains/gameModel.d.ts.map +1 -1
- package/dist/domains/gameModel.js +66 -8
- package/dist/generated/graphql.d.ts +61 -5
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +14 -13
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/kit/matches.d.ts +13 -0
- package/dist/kit/matches.d.ts.map +1 -1
- package/dist/kit/matches.js +9 -0
- package/dist/kit/npcs.d.ts.map +1 -1
- package/dist/kit/social.d.ts.map +1 -1
- package/package.json +1 -1
package/MIGRATION.md
CHANGED
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
# CrowdyJS v17.5 — bulk containers
|
|
2
|
+
|
|
3
|
+
**Additive.** `17.5.0` (2026-09-16), on top of ck-api `v2.6.0`. Tracks the cks-game-api bulk-container changes of 2026-09-16
|
|
4
|
+
(paging in SQL, seed `bindingKey`, `gameModelContainerStates`, `seedFromApp`,
|
|
5
|
+
container-type `scope`). Every existing method keeps its signature.
|
|
6
|
+
|
|
7
|
+
- **`containers` pages for real, and the page has bounds.** An omitted `limit`
|
|
8
|
+
now returns **200 rows** (it used to return every row of the type) and the
|
|
9
|
+
maximum is **1,000** (`BAD_REQUEST` above). Without `where` the page is read
|
|
10
|
+
in SQL; with `where` the predicates are evaluated after a bounded read
|
|
11
|
+
(10,000 rows of the type; larger is refused). **A caller that relied on an
|
|
12
|
+
unbounded list must page.** `bindingKey` is now forwarded by the SDK's
|
|
13
|
+
document — before this the get-by-key read documented on `containers` was
|
|
14
|
+
silently a full list.
|
|
15
|
+
- **New: `containerStates({ appId, containerIds })`** — the bulk twin of
|
|
16
|
+
`containerState`, up to 500 ids, same per-row visibility, missing ids
|
|
17
|
+
omitted, input order kept.
|
|
18
|
+
- **`seed`: a container may name its own `bindingKey`** (on a type that is
|
|
19
|
+
`instantiableBy: 'admin'` or carries a `bindPolicyJson`; not beginning with
|
|
20
|
+
`seed:`), so a runtime `gameModelEnsureContainer` later resolves the same
|
|
21
|
+
row; a caller-keyed row that already exists is adopted only if its owner
|
|
22
|
+
matches, so a player who claimed the key first is never written onto; at
|
|
23
|
+
most **1,000 containers per call**, all-or-nothing. A container type
|
|
24
|
+
may declare **`scope: 'app' | 'session'`**.
|
|
25
|
+
- **`createSession({ seedFromApp: { typeNames, initialState? } })`** stamps
|
|
26
|
+
the app's keyed template rows of those types into the new session in the
|
|
27
|
+
creation transaction (at most 2,000 rows; refused above). `GmSession` gains
|
|
28
|
+
`seededContainerCount` (create response only; null on later reads); the
|
|
29
|
+
`created` event payload carries `containersSeeded`. Template types must be
|
|
30
|
+
`instantiableBy: 'admin'` or carry a `bindPolicyJson`; a plain member type
|
|
31
|
+
and an `'app'`-scoped type are refused. **Retention is opt-in and touches only the stamped copies:** on a
|
|
32
|
+
tier whose operator sets `GM_SESSION_CONTAINER_RETENTION_DAYS` (default 0,
|
|
33
|
+
off), the copies of a session ended that long ago are dropped; rows a player
|
|
34
|
+
ensured or an admin created in the session are never purged, so a session
|
|
35
|
+
used as a save keeps its hand-made state either way. A tier that runs
|
|
36
|
+
`seedFromApp` with retention off keeps every copy of every match.
|
|
37
|
+
- **`kit.matches.create({ seedFromApp })`** forwards the same option.
|
|
38
|
+
- **`GmContainerType.scope`** is read back; on an `'app'`-scoped type,
|
|
39
|
+
`createContainer` / `gameModelEnsureContainer` with a `sessionId` are refused
|
|
40
|
+
with `CONTAINER_TYPE_APP_SCOPED`; flipping a type to `'app'` is refused while
|
|
41
|
+
it holds session-scoped rows.
|
|
42
|
+
|
|
1
43
|
# CrowdyJS v17.4 — the session system
|
|
2
44
|
|
|
3
45
|
**Additive.** `17.4.0` (2026-09-14), on top of ck-api `v2.3.0`. Tracks cks-game-api
|
package/dist/default-origin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GENERATED — do not edit. The operator tooling's
|
|
3
|
-
* `sync-client-origins.mjs --write --tier
|
|
3
|
+
* `sync-client-origins.mjs --write --tier test` writes this file, and
|
|
4
4
|
* `check-sdk-default-origin.mjs` refuses it when it names the wrong tier or a
|
|
5
5
|
* host that declaration does not carry. Regenerate; never hand-edit.
|
|
6
6
|
*
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
* than no default at all. Every fallback this SDK ever removed named a host that
|
|
11
11
|
* was already dead. A generated file plus a gate is what makes this one different.
|
|
12
12
|
*
|
|
13
|
-
* Source: the operator's per-tier public CK API origin declaration, tier '
|
|
13
|
+
* Source: the operator's per-tier public CK API origin declaration, tier 'test'
|
|
14
14
|
*/
|
|
15
15
|
/** The tier this build of the SDK is published for. */
|
|
16
|
-
export declare const CROWDY_DEFAULT_TIER = "
|
|
16
|
+
export declare const CROWDY_DEFAULT_TIER = "test";
|
|
17
17
|
/** The public CK API origin for that tier. */
|
|
18
|
-
export declare const CROWDY_DEFAULT_HTTP_ORIGIN = "https://ck.
|
|
18
|
+
export declare const CROWDY_DEFAULT_HTTP_ORIGIN = "https://ck.test.crowdedkingdoms.com";
|
|
19
19
|
/** The same host over WebSocket. A scheme is composed; a hostname is looked up. */
|
|
20
|
-
export declare const CROWDY_DEFAULT_WS_ORIGIN = "wss://ck.
|
|
20
|
+
export declare const CROWDY_DEFAULT_WS_ORIGIN = "wss://ck.test.crowdedkingdoms.com";
|
|
21
21
|
/** The bare hostname, for callers that need to compare rather than dial. */
|
|
22
|
-
export declare const CROWDY_DEFAULT_HOST = "ck.
|
|
22
|
+
export declare const CROWDY_DEFAULT_HOST = "ck.test.crowdedkingdoms.com";
|
|
23
23
|
//# sourceMappingURL=default-origin.d.ts.map
|
package/dist/default-origin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GENERATED — do not edit. The operator tooling's
|
|
3
|
-
* `sync-client-origins.mjs --write --tier
|
|
3
|
+
* `sync-client-origins.mjs --write --tier test` writes this file, and
|
|
4
4
|
* `check-sdk-default-origin.mjs` refuses it when it names the wrong tier or a
|
|
5
5
|
* host that declaration does not carry. Regenerate; never hand-edit.
|
|
6
6
|
*
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
* than no default at all. Every fallback this SDK ever removed named a host that
|
|
11
11
|
* was already dead. A generated file plus a gate is what makes this one different.
|
|
12
12
|
*
|
|
13
|
-
* Source: the operator's per-tier public CK API origin declaration, tier '
|
|
13
|
+
* Source: the operator's per-tier public CK API origin declaration, tier 'test'
|
|
14
14
|
*/
|
|
15
15
|
/** The tier this build of the SDK is published for. */
|
|
16
|
-
export const CROWDY_DEFAULT_TIER = '
|
|
16
|
+
export const CROWDY_DEFAULT_TIER = 'test';
|
|
17
17
|
/** The public CK API origin for that tier. */
|
|
18
|
-
export const CROWDY_DEFAULT_HTTP_ORIGIN = 'https://ck.
|
|
18
|
+
export const CROWDY_DEFAULT_HTTP_ORIGIN = 'https://ck.test.crowdedkingdoms.com';
|
|
19
19
|
/** The same host over WebSocket. A scheme is composed; a hostname is looked up. */
|
|
20
|
-
export const CROWDY_DEFAULT_WS_ORIGIN = 'wss://ck.
|
|
20
|
+
export const CROWDY_DEFAULT_WS_ORIGIN = 'wss://ck.test.crowdedkingdoms.com';
|
|
21
21
|
/** The bare hostname, for callers that need to compare rather than dial. */
|
|
22
|
-
export const CROWDY_DEFAULT_HOST = 'ck.
|
|
22
|
+
export const CROWDY_DEFAULT_HOST = 'ck.test.crowdedkingdoms.com';
|
|
@@ -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 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';
|
|
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 GameModelContainerStatesQuery, type GameModelContainerStatesQueryVariables, 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
|
|
@@ -249,11 +249,28 @@ export declare class GameModelAPI {
|
|
|
249
249
|
* optional `participantUserIds` (decimal-string ids of initial participants
|
|
250
250
|
* besides the creator), optional `maxParticipants`, `admission`,
|
|
251
251
|
* `emptyTimeoutSec`, `presence` and `idempotencyKey`.
|
|
252
|
+
* Pass `seedFromApp: { typeNames, initialState? }` to stamp the app's keyed
|
|
253
|
+
* template rows of those types (the rows a {@link seed} with `bindingKey`
|
|
254
|
+
* wrote) into the new session inside the creation transaction: same
|
|
255
|
+
* `bindingKey`, `displayName`, `metadataJson` and `ownerUserId` per row, so a
|
|
256
|
+
* later `gameModelEnsureContainer` in the session finds every key present.
|
|
257
|
+
* `initialState` is `'defaults'` (type defaults) or `'app'` (copy the app
|
|
258
|
+
* rows' current properties). At most 2,000 rows per session; above that the
|
|
259
|
+
* creation is refused and no session exists. The count is on the create
|
|
260
|
+
* response as `seededContainerCount` (null on later reads) and on the
|
|
261
|
+
* session's `created` event as `containersSeeded`. A template type must be
|
|
262
|
+
* `instantiableBy: 'admin'` or carry a `bindPolicyJson` (a plain member
|
|
263
|
+
* type is refused: a player may own one of its app keys); an `'app'`-scoped
|
|
264
|
+
* type is refused. The copies are marked, and on a tier whose operator has
|
|
265
|
+
* enabled retention (`GM_SESSION_CONTAINER_RETENTION_DAYS`; off by default)
|
|
266
|
+
* they -- and only they -- are dropped once the session has been ended that
|
|
267
|
+
* long; hand-made rows in the session are never purged.
|
|
252
268
|
* @returns The created {@link GmSession} (`sessionId`, `status`, creator,
|
|
253
|
-
* host, admission, `presence`, revision, …).
|
|
269
|
+
* host, admission, `presence`, revision, `seededContainerCount`, …).
|
|
254
270
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING` if the token
|
|
255
271
|
* is missing or not scoped to the app, `FORBIDDEN` if the session-creation
|
|
256
|
-
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input
|
|
272
|
+
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input, an
|
|
273
|
+
* undefined `seedFromApp` type, or more than 2,000 template rows.
|
|
257
274
|
*/
|
|
258
275
|
createSession(input: GameModelCreateSessionMutationVariables['input']): Promise<GameModelCreateSessionMutation['gameModelCreateSession']>;
|
|
259
276
|
/**
|
|
@@ -490,8 +507,14 @@ export declare class GameModelAPI {
|
|
|
490
507
|
* `>=`; requires `typeName`; missing properties fall back to the type
|
|
491
508
|
* default — the same predicate shape automation selectors use); optional
|
|
492
509
|
* `limit`/`offset` paging applied after filtering over the stable
|
|
493
|
-
* created-at ordering.
|
|
494
|
-
*
|
|
510
|
+
* created-at ordering. `bindingKey` narrows to the one row ensured (or
|
|
511
|
+
* seeded) under that key — with `typeName` and `sessionId` it is the
|
|
512
|
+
* get-by-key read. **An omitted `limit` returns 200 rows and the
|
|
513
|
+
* maximum is 1,000** (`BAD_REQUEST` above it); without `where` the page is
|
|
514
|
+
* read in SQL, with `where` the predicates are evaluated after reading at
|
|
515
|
+
* most 10,000 rows of the type and a larger type is refused. Requires
|
|
516
|
+
* game-api with container predicates (2026-07 or later); older servers
|
|
517
|
+
* reject the new arguments.
|
|
495
518
|
* @returns The matching {@link GmContainer}s.
|
|
496
519
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`, or
|
|
497
520
|
* `BAD_USER_INPUT` for `where` without `typeName` / unsupported ops.
|
|
@@ -511,6 +534,23 @@ export declare class GameModelAPI {
|
|
|
511
534
|
* `NOT_FOUND` if no such container.
|
|
512
535
|
*/
|
|
513
536
|
containerState(variables: GameModelContainerStateQueryVariables): Promise<GameModelContainerStateQuery['gameModelContainerState']>;
|
|
537
|
+
/**
|
|
538
|
+
* **Containers** — the bulk twin of {@link containerState}: identity plus the
|
|
539
|
+
* property state visible to the **calling** user for up to **500** containers
|
|
540
|
+
* in one call, with the same per-row visibility rules. Ids the app does not
|
|
541
|
+
* hold are omitted rather than errors, duplicates come back once, and the
|
|
542
|
+
* order follows the input. After paging {@link containers} (default 200, max
|
|
543
|
+
* 1,000 per page), two of these pull a page's state — a level of thousands of
|
|
544
|
+
* placed objects loads in a handful of calls instead of one per object.
|
|
545
|
+
*
|
|
546
|
+
* @param variables - `{ appId, containerIds }`: `appId` (decimal string) and
|
|
547
|
+
* up to 500 container UUIDs.
|
|
548
|
+
* @returns An array of {@link GmContainerState}; each `propertiesJson` is a
|
|
549
|
+
* JSON-object string of the properties visible to the caller.
|
|
550
|
+
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`, or
|
|
551
|
+
* `BAD_REQUEST` for more than 500 ids or a non-UUID id.
|
|
552
|
+
*/
|
|
553
|
+
containerStates(variables: GameModelContainerStatesQueryVariables): Promise<GameModelContainerStatesQuery['gameModelContainerStates']>;
|
|
514
554
|
/**
|
|
515
555
|
* **Edges** — traverse the container graph from a root container along a
|
|
516
556
|
* relationship type up to a given depth, returning the reachable nodes and the
|
|
@@ -655,7 +695,17 @@ export declare class GameModelAPI {
|
|
|
655
695
|
* and arrays of `containerTypes`, `propertyDefinitions`, `functions`,
|
|
656
696
|
* `containers`, and `edges` to create. Seed containers carry a developer
|
|
657
697
|
* `tempId`; seed edges reference containers by those temp ids
|
|
658
|
-
* (`fromTempId`/`toTempId`).
|
|
698
|
+
* (`fromTempId`/`toTempId`). A container may name its own `bindingKey`
|
|
699
|
+
* (on a type that is `instantiableBy: 'admin'` or carries a `bindPolicyJson`,
|
|
700
|
+
* and not beginning with `seed:`) so a runtime `gameModelEnsureContainer` later
|
|
701
|
+
* resolves the same row; otherwise it binds as `seed:` + `tempId`. A
|
|
702
|
+
* caller-keyed row that already exists is adopted only if its `ownerUserId`
|
|
703
|
+
* matches (a re-seed); a row a player claimed first is refused and nothing
|
|
704
|
+
* is written. At most
|
|
705
|
+
* **1,000 containers per call**, all-or-nothing; the same key on two types
|
|
706
|
+
* is two rows. A container type may declare `scope: 'app'` (one row per key
|
|
707
|
+
* for the whole app) or `'session'` (default). Seeded rows fire no
|
|
708
|
+
* `container_created` automation triggers or change-feed events.
|
|
659
709
|
* @returns A {@link GmSeedResult}: the counts created, non-fatal `warnings`,
|
|
660
710
|
* and `idMapJson` — a JSON-object string mapping each seed `tempId` to the
|
|
661
711
|
* created container UUID (`JSON.parse` it to wire up follow-up calls).
|
|
@@ -676,8 +726,13 @@ export declare class GameModelAPI {
|
|
|
676
726
|
* optional `description`; optional `instantiableBy` (`admin | member |
|
|
677
727
|
* owner`); optional `defaultPropertyVisibility` (`public | owner | hidden`);
|
|
678
728
|
* optional `bindPolicyJson` (who may claim a `bindingKey` on
|
|
679
|
-
* `ensureContainer`; omit to leave the type unbound);
|
|
680
|
-
* `
|
|
729
|
+
* `ensureContainer`; omit to leave the type unbound); optional `scope`
|
|
730
|
+
* (`'session'` default — one row per key per session; `'app'` — one row
|
|
731
|
+
* per key for the whole app, on which `ensureContainer` /
|
|
732
|
+
* `createContainer` with a `sessionId` are refused with
|
|
733
|
+
* `CONTAINER_TYPE_APP_SCOPED`; changing to `'app'` is refused while the
|
|
734
|
+
* type holds session-scoped rows); and optional `metadataJson`
|
|
735
|
+
* (JSON-object string).
|
|
681
736
|
* @returns The upserted {@link GmContainerType}.
|
|
682
737
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`,
|
|
683
738
|
* `FORBIDDEN` (`requiredPermission === 'manage_apps'`), or `BAD_USER_INPUT`.
|
|
@@ -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, 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,
|
|
5
|
+
GameModelCreateSessionDocument, GameModelJoinSessionDocument, GameModelSetSessionTurnDocument, GameModelLeaveSessionDocument, GameModelSetSessionAdmissionDocument, GameModelTransferSessionHostDocument, GameModelEndSessionDocument, GameModelSessionSnapshotDocument, GameModelSessionEventsDocument, GameModelSessionInspectDocument, GameModelSessionChangedDocument, GameModelCreateContainerDocument, GameModelDeleteContainerDocument, GameModelSetPropertyDocument, GameModelAddEdgeDocument, GameModelDeleteEdgeDocument, GameModelInvokeDocument, GameModelContainerDocument, GameModelContainerChangedDocument, GameModelActivePlayerCountDocument, GameModelActivePlayerCountChangedDocument, GameModelContainersDocument, GameModelContainerStateDocument, GameModelContainerStatesDocument, 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)
|
|
@@ -219,11 +219,28 @@ export class GameModelAPI {
|
|
|
219
219
|
* optional `participantUserIds` (decimal-string ids of initial participants
|
|
220
220
|
* besides the creator), optional `maxParticipants`, `admission`,
|
|
221
221
|
* `emptyTimeoutSec`, `presence` and `idempotencyKey`.
|
|
222
|
+
* Pass `seedFromApp: { typeNames, initialState? }` to stamp the app's keyed
|
|
223
|
+
* template rows of those types (the rows a {@link seed} with `bindingKey`
|
|
224
|
+
* wrote) into the new session inside the creation transaction: same
|
|
225
|
+
* `bindingKey`, `displayName`, `metadataJson` and `ownerUserId` per row, so a
|
|
226
|
+
* later `gameModelEnsureContainer` in the session finds every key present.
|
|
227
|
+
* `initialState` is `'defaults'` (type defaults) or `'app'` (copy the app
|
|
228
|
+
* rows' current properties). At most 2,000 rows per session; above that the
|
|
229
|
+
* creation is refused and no session exists. The count is on the create
|
|
230
|
+
* response as `seededContainerCount` (null on later reads) and on the
|
|
231
|
+
* session's `created` event as `containersSeeded`. A template type must be
|
|
232
|
+
* `instantiableBy: 'admin'` or carry a `bindPolicyJson` (a plain member
|
|
233
|
+
* type is refused: a player may own one of its app keys); an `'app'`-scoped
|
|
234
|
+
* type is refused. The copies are marked, and on a tier whose operator has
|
|
235
|
+
* enabled retention (`GM_SESSION_CONTAINER_RETENTION_DAYS`; off by default)
|
|
236
|
+
* they -- and only they -- are dropped once the session has been ended that
|
|
237
|
+
* long; hand-made rows in the session are never purged.
|
|
222
238
|
* @returns The created {@link GmSession} (`sessionId`, `status`, creator,
|
|
223
|
-
* host, admission, `presence`, revision, …).
|
|
239
|
+
* host, admission, `presence`, revision, `seededContainerCount`, …).
|
|
224
240
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING` if the token
|
|
225
241
|
* is missing or not scoped to the app, `FORBIDDEN` if the session-creation
|
|
226
|
-
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input
|
|
242
|
+
* policy disallows the caller, or `BAD_USER_INPUT` for malformed input, an
|
|
243
|
+
* undefined `seedFromApp` type, or more than 2,000 template rows.
|
|
227
244
|
*/
|
|
228
245
|
async createSession(input) {
|
|
229
246
|
const data = await this.gql.request(GameModelCreateSessionDocument, { input });
|
|
@@ -502,8 +519,14 @@ export class GameModelAPI {
|
|
|
502
519
|
* `>=`; requires `typeName`; missing properties fall back to the type
|
|
503
520
|
* default — the same predicate shape automation selectors use); optional
|
|
504
521
|
* `limit`/`offset` paging applied after filtering over the stable
|
|
505
|
-
* created-at ordering.
|
|
506
|
-
*
|
|
522
|
+
* created-at ordering. `bindingKey` narrows to the one row ensured (or
|
|
523
|
+
* seeded) under that key — with `typeName` and `sessionId` it is the
|
|
524
|
+
* get-by-key read. **An omitted `limit` returns 200 rows and the
|
|
525
|
+
* maximum is 1,000** (`BAD_REQUEST` above it); without `where` the page is
|
|
526
|
+
* read in SQL, with `where` the predicates are evaluated after reading at
|
|
527
|
+
* most 10,000 rows of the type and a larger type is refused. Requires
|
|
528
|
+
* game-api with container predicates (2026-07 or later); older servers
|
|
529
|
+
* reject the new arguments.
|
|
507
530
|
* @returns The matching {@link GmContainer}s.
|
|
508
531
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`, or
|
|
509
532
|
* `BAD_USER_INPUT` for `where` without `typeName` / unsupported ops.
|
|
@@ -529,6 +552,26 @@ export class GameModelAPI {
|
|
|
529
552
|
const data = await this.gql.request(GameModelContainerStateDocument, variables);
|
|
530
553
|
return data.gameModelContainerState;
|
|
531
554
|
}
|
|
555
|
+
/**
|
|
556
|
+
* **Containers** — the bulk twin of {@link containerState}: identity plus the
|
|
557
|
+
* property state visible to the **calling** user for up to **500** containers
|
|
558
|
+
* in one call, with the same per-row visibility rules. Ids the app does not
|
|
559
|
+
* hold are omitted rather than errors, duplicates come back once, and the
|
|
560
|
+
* order follows the input. After paging {@link containers} (default 200, max
|
|
561
|
+
* 1,000 per page), two of these pull a page's state — a level of thousands of
|
|
562
|
+
* placed objects loads in a handful of calls instead of one per object.
|
|
563
|
+
*
|
|
564
|
+
* @param variables - `{ appId, containerIds }`: `appId` (decimal string) and
|
|
565
|
+
* up to 500 container UUIDs.
|
|
566
|
+
* @returns An array of {@link GmContainerState}; each `propertiesJson` is a
|
|
567
|
+
* JSON-object string of the properties visible to the caller.
|
|
568
|
+
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`, or
|
|
569
|
+
* `BAD_REQUEST` for more than 500 ids or a non-UUID id.
|
|
570
|
+
*/
|
|
571
|
+
async containerStates(variables) {
|
|
572
|
+
const data = await this.gql.request(GameModelContainerStatesDocument, variables);
|
|
573
|
+
return data.gameModelContainerStates;
|
|
574
|
+
}
|
|
532
575
|
/**
|
|
533
576
|
* **Edges** — traverse the container graph from a root container along a
|
|
534
577
|
* relationship type up to a given depth, returning the reachable nodes and the
|
|
@@ -701,7 +744,17 @@ export class GameModelAPI {
|
|
|
701
744
|
* and arrays of `containerTypes`, `propertyDefinitions`, `functions`,
|
|
702
745
|
* `containers`, and `edges` to create. Seed containers carry a developer
|
|
703
746
|
* `tempId`; seed edges reference containers by those temp ids
|
|
704
|
-
* (`fromTempId`/`toTempId`).
|
|
747
|
+
* (`fromTempId`/`toTempId`). A container may name its own `bindingKey`
|
|
748
|
+
* (on a type that is `instantiableBy: 'admin'` or carries a `bindPolicyJson`,
|
|
749
|
+
* and not beginning with `seed:`) so a runtime `gameModelEnsureContainer` later
|
|
750
|
+
* resolves the same row; otherwise it binds as `seed:` + `tempId`. A
|
|
751
|
+
* caller-keyed row that already exists is adopted only if its `ownerUserId`
|
|
752
|
+
* matches (a re-seed); a row a player claimed first is refused and nothing
|
|
753
|
+
* is written. At most
|
|
754
|
+
* **1,000 containers per call**, all-or-nothing; the same key on two types
|
|
755
|
+
* is two rows. A container type may declare `scope: 'app'` (one row per key
|
|
756
|
+
* for the whole app) or `'session'` (default). Seeded rows fire no
|
|
757
|
+
* `container_created` automation triggers or change-feed events.
|
|
705
758
|
* @returns A {@link GmSeedResult}: the counts created, non-fatal `warnings`,
|
|
706
759
|
* and `idMapJson` — a JSON-object string mapping each seed `tempId` to the
|
|
707
760
|
* created container UUID (`JSON.parse` it to wire up follow-up calls).
|
|
@@ -725,8 +778,13 @@ export class GameModelAPI {
|
|
|
725
778
|
* optional `description`; optional `instantiableBy` (`admin | member |
|
|
726
779
|
* owner`); optional `defaultPropertyVisibility` (`public | owner | hidden`);
|
|
727
780
|
* optional `bindPolicyJson` (who may claim a `bindingKey` on
|
|
728
|
-
* `ensureContainer`; omit to leave the type unbound);
|
|
729
|
-
* `
|
|
781
|
+
* `ensureContainer`; omit to leave the type unbound); optional `scope`
|
|
782
|
+
* (`'session'` default — one row per key per session; `'app'` — one row
|
|
783
|
+
* per key for the whole app, on which `ensureContainer` /
|
|
784
|
+
* `createContainer` with a `sessionId` are refused with
|
|
785
|
+
* `CONTAINER_TYPE_APP_SCOPED`; changing to `'app'` is refused while the
|
|
786
|
+
* type holds session-scoped rows); and optional `metadataJson`
|
|
787
|
+
* (JSON-object string).
|
|
730
788
|
* @returns The upserted {@link GmContainerType}.
|
|
731
789
|
* @throws {CrowdyGraphQLError} `UNAUTHENTICATED` / `SCOPE_MISSING`,
|
|
732
790
|
* `FORBIDDEN` (`requiredPermission === 'manage_apps'`), or `BAD_USER_INPUT`.
|