deepspace 0.15.0 → 0.17.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/CHANGELOG.md +118 -0
- package/dist/cli.js +562 -237
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +26 -157
- package/dist/index.js +209 -331
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +28 -154
- package/dist/server.js +38 -426
- package/dist/server.js.map +1 -1
- package/dist/worker.d.ts +44 -227
- package/dist/worker.js +39 -433
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
package/dist/worker.d.ts
CHANGED
|
@@ -11,14 +11,12 @@ import { betterAuth } from 'better-auth';
|
|
|
11
11
|
* Wire protocol constants.
|
|
12
12
|
*
|
|
13
13
|
* The JSON WebSocket protocol uses dotted string identifiers (e.g.
|
|
14
|
-
* `"
|
|
14
|
+
* `"records.query"`) as the `type` discriminator. All message types are
|
|
15
15
|
* grouped under a single `MSG` object so imports stay tidy:
|
|
16
16
|
*
|
|
17
17
|
* import { MSG, dispatch, clientBuild } from 'deepspace'
|
|
18
18
|
*
|
|
19
19
|
* dispatch<ServerMessage>(raw, {
|
|
20
|
-
* [MSG.GAME_STATE]: (p) => { ... },
|
|
21
|
-
* [MSG.GAME_TICK]: (p) => { ... },
|
|
22
20
|
* })
|
|
23
21
|
*
|
|
24
22
|
* Each key's value is the on-wire string — grep-friendly, self-
|
|
@@ -47,14 +45,6 @@ declare const MSG: {
|
|
|
47
45
|
readonly ACK: "records.ack";
|
|
48
46
|
readonly LIST_SCHEMAS: "records.list_schemas";
|
|
49
47
|
readonly RESUBSCRIBE: "records.resubscribe";
|
|
50
|
-
readonly GAME_STATE: "game.state";
|
|
51
|
-
readonly GAME_INPUT: "game.input";
|
|
52
|
-
readonly GAME_PLAYER_JOIN: "game.player_join";
|
|
53
|
-
readonly GAME_PLAYER_LEAVE: "game.player_leave";
|
|
54
|
-
readonly GAME_PLAYER_READY: "game.player_ready";
|
|
55
|
-
readonly GAME_START: "game.start";
|
|
56
|
-
readonly GAME_END: "game.end";
|
|
57
|
-
readonly GAME_TICK: "game.tick";
|
|
58
48
|
readonly CANVAS_SHAPES: "canvas.shapes";
|
|
59
49
|
readonly CANVAS_ADD: "canvas.add";
|
|
60
50
|
readonly CANVAS_MOVE: "canvas.move";
|
|
@@ -143,7 +133,7 @@ declare const ROLE_ADMIN = "admin";
|
|
|
143
133
|
* ---------------
|
|
144
134
|
*
|
|
145
135
|
* Some message types carry different payloads depending on who's sending.
|
|
146
|
-
* `MSG.
|
|
136
|
+
* `MSG.RECORDS_RESUBSCRIBE`, for example, is `{}` when the client asks to
|
|
147
137
|
* but `{ state, tick }` when the server broadcasts the start event.
|
|
148
138
|
* `MSG.CANVAS_ADD` is a flat shape dict on the way in and a `{ shape }`
|
|
149
139
|
* wrapper on the way out. Modelling these with one union would force
|
|
@@ -216,10 +206,7 @@ type ClientMessage = BaseMessage<typeof MSG.SUBSCRIBE, {
|
|
|
216
206
|
collection: string;
|
|
217
207
|
recordId: string;
|
|
218
208
|
fieldName: string;
|
|
219
|
-
}> | BaseMessage<typeof MSG.
|
|
220
|
-
action: string;
|
|
221
|
-
data: Record<string, unknown>;
|
|
222
|
-
}> | BaseMessage<typeof MSG.GAME_PLAYER_READY, EmptyPayload> | BaseMessage<typeof MSG.GAME_START, EmptyPayload> | BaseMessage<typeof MSG.GAME_END, EmptyPayload> | BaseMessage<typeof MSG.CANVAS_ADD, unknown> | BaseMessage<typeof MSG.CANVAS_MOVE, {
|
|
209
|
+
}> | BaseMessage<typeof MSG.CANVAS_ADD, unknown> | BaseMessage<typeof MSG.CANVAS_MOVE, {
|
|
223
210
|
shapeId: string;
|
|
224
211
|
x: number;
|
|
225
212
|
y: number;
|
|
@@ -294,26 +281,6 @@ type ServerMessage = BaseMessage<typeof MSG.QUERY_RESULT, {
|
|
|
294
281
|
recordId: string;
|
|
295
282
|
fieldName: string;
|
|
296
283
|
canWrite: boolean;
|
|
297
|
-
}> | BaseMessage<typeof MSG.GAME_STATE, {
|
|
298
|
-
state: unknown;
|
|
299
|
-
tick: number;
|
|
300
|
-
players: unknown[];
|
|
301
|
-
running: boolean;
|
|
302
|
-
}> | BaseMessage<typeof MSG.GAME_TICK, {
|
|
303
|
-
state: unknown;
|
|
304
|
-
tick: number;
|
|
305
|
-
}> | BaseMessage<typeof MSG.GAME_START, {
|
|
306
|
-
state: unknown;
|
|
307
|
-
tick: number;
|
|
308
|
-
}> | BaseMessage<typeof MSG.GAME_END, {
|
|
309
|
-
state: unknown;
|
|
310
|
-
tick: number;
|
|
311
|
-
}> | BaseMessage<typeof MSG.GAME_PLAYER_JOIN, {
|
|
312
|
-
player: unknown;
|
|
313
|
-
}> | BaseMessage<typeof MSG.GAME_PLAYER_LEAVE, {
|
|
314
|
-
userId: string;
|
|
315
|
-
}> | BaseMessage<typeof MSG.GAME_PLAYER_READY, {
|
|
316
|
-
userId: string;
|
|
317
284
|
}> | BaseMessage<typeof MSG.CANVAS_SHAPES, {
|
|
318
285
|
shapes: unknown[];
|
|
319
286
|
viewports: unknown[];
|
|
@@ -439,25 +406,6 @@ declare const clientBuild: {
|
|
|
439
406
|
readonly fieldName: string;
|
|
440
407
|
};
|
|
441
408
|
};
|
|
442
|
-
gameInput: (action: string, data?: Record<string, unknown>) => {
|
|
443
|
-
readonly type: "game.input";
|
|
444
|
-
readonly payload: {
|
|
445
|
-
readonly action: string;
|
|
446
|
-
readonly data: Record<string, unknown>;
|
|
447
|
-
};
|
|
448
|
-
};
|
|
449
|
-
gamePlayerReady: () => {
|
|
450
|
-
readonly type: "game.player_ready";
|
|
451
|
-
readonly payload: EmptyPayload;
|
|
452
|
-
};
|
|
453
|
-
gameStart: () => {
|
|
454
|
-
readonly type: "game.start";
|
|
455
|
-
readonly payload: EmptyPayload;
|
|
456
|
-
};
|
|
457
|
-
gameEnd: () => {
|
|
458
|
-
readonly type: "game.end";
|
|
459
|
-
readonly payload: EmptyPayload;
|
|
460
|
-
};
|
|
461
409
|
canvasAdd: (shape: Record<string, unknown>) => {
|
|
462
410
|
readonly type: "canvas.add";
|
|
463
411
|
readonly payload: Record<string, unknown>;
|
|
@@ -642,54 +590,6 @@ declare const serverBuild: {
|
|
|
642
590
|
readonly canWrite: boolean;
|
|
643
591
|
};
|
|
644
592
|
};
|
|
645
|
-
gameState: (state: unknown, tick: number, players: unknown[], running: boolean) => {
|
|
646
|
-
readonly type: "game.state";
|
|
647
|
-
readonly payload: {
|
|
648
|
-
readonly state: unknown;
|
|
649
|
-
readonly tick: number;
|
|
650
|
-
readonly players: unknown[];
|
|
651
|
-
readonly running: boolean;
|
|
652
|
-
};
|
|
653
|
-
};
|
|
654
|
-
gameTick: (state: unknown, tick: number) => {
|
|
655
|
-
readonly type: "game.tick";
|
|
656
|
-
readonly payload: {
|
|
657
|
-
readonly state: unknown;
|
|
658
|
-
readonly tick: number;
|
|
659
|
-
};
|
|
660
|
-
};
|
|
661
|
-
gameStart: (state: unknown, tick: number) => {
|
|
662
|
-
readonly type: "game.start";
|
|
663
|
-
readonly payload: {
|
|
664
|
-
readonly state: unknown;
|
|
665
|
-
readonly tick: number;
|
|
666
|
-
};
|
|
667
|
-
};
|
|
668
|
-
gameEnd: (state: unknown, tick: number) => {
|
|
669
|
-
readonly type: "game.end";
|
|
670
|
-
readonly payload: {
|
|
671
|
-
readonly state: unknown;
|
|
672
|
-
readonly tick: number;
|
|
673
|
-
};
|
|
674
|
-
};
|
|
675
|
-
gamePlayerJoin: (player: unknown) => {
|
|
676
|
-
readonly type: "game.player_join";
|
|
677
|
-
readonly payload: {
|
|
678
|
-
readonly player: unknown;
|
|
679
|
-
};
|
|
680
|
-
};
|
|
681
|
-
gamePlayerLeave: (userId: string) => {
|
|
682
|
-
readonly type: "game.player_leave";
|
|
683
|
-
readonly payload: {
|
|
684
|
-
readonly userId: string;
|
|
685
|
-
};
|
|
686
|
-
};
|
|
687
|
-
gamePlayerReady: (userId: string) => {
|
|
688
|
-
readonly type: "game.player_ready";
|
|
689
|
-
readonly payload: {
|
|
690
|
-
readonly userId: string;
|
|
691
|
-
};
|
|
692
|
-
};
|
|
693
593
|
canvasShapes: (shapes: unknown[], viewports: unknown[]) => {
|
|
694
594
|
readonly type: "canvas.shapes";
|
|
695
595
|
readonly payload: {
|
|
@@ -1455,8 +1355,6 @@ declare class RecordRoom<E = Record<string, unknown>> extends BaseRoom<E> {
|
|
|
1455
1355
|
private _fetchTiming;
|
|
1456
1356
|
private ensureInitialized;
|
|
1457
1357
|
private initializeDatabase;
|
|
1458
|
-
private migrateUsersTableIfExists;
|
|
1459
|
-
private migrateRecordsTable;
|
|
1460
1358
|
private ensureCollectionTable;
|
|
1461
1359
|
private ensureAllCollectionTables;
|
|
1462
1360
|
protected onConnect(ws: WebSocket, user: UserAttachment): Promise<ConnectionAttachment>;
|
|
@@ -1524,106 +1422,6 @@ declare class YjsRoom<E = Record<string, unknown>> extends BaseRoom<E> {
|
|
|
1524
1422
|
private broadcastRaw;
|
|
1525
1423
|
}
|
|
1526
1424
|
|
|
1527
|
-
/**
|
|
1528
|
-
* GameRoom — Authoritative game loop Durable Object.
|
|
1529
|
-
*
|
|
1530
|
-
* Extends BaseRoom with:
|
|
1531
|
-
* - Alarm-based tick loop with configurable interval
|
|
1532
|
-
* - Player management (join, leave, ready state)
|
|
1533
|
-
* - Input collection per tick, authoritative state computation
|
|
1534
|
-
* - State broadcast to all connected players
|
|
1535
|
-
*
|
|
1536
|
-
* Subclasses implement game logic via lifecycle hooks:
|
|
1537
|
-
* onTick, onPlayerJoin, onPlayerLeave, onGameStart, onGameEnd
|
|
1538
|
-
*
|
|
1539
|
-
* Message types: game.*
|
|
1540
|
-
*/
|
|
1541
|
-
|
|
1542
|
-
interface GameRoomConfig {
|
|
1543
|
-
/** Ticks per second (default: 20) */
|
|
1544
|
-
tickRate?: number;
|
|
1545
|
-
/** Minimum players to start (default: 1) */
|
|
1546
|
-
minPlayers?: number;
|
|
1547
|
-
/** Maximum players (default: unlimited) */
|
|
1548
|
-
maxPlayers?: number;
|
|
1549
|
-
}
|
|
1550
|
-
interface Player {
|
|
1551
|
-
userId: string;
|
|
1552
|
-
userName: string;
|
|
1553
|
-
ready: boolean;
|
|
1554
|
-
connectedAt: string;
|
|
1555
|
-
data: Record<string, unknown>;
|
|
1556
|
-
}
|
|
1557
|
-
interface GameInput {
|
|
1558
|
-
userId: string;
|
|
1559
|
-
action: string;
|
|
1560
|
-
data: Record<string, unknown>;
|
|
1561
|
-
tick: number;
|
|
1562
|
-
}
|
|
1563
|
-
interface GameAttachment extends UserAttachment {
|
|
1564
|
-
joinedAt: string;
|
|
1565
|
-
/** True for member/admin roles; false for viewers, unauthenticated anon, spectators. */
|
|
1566
|
-
canWrite: boolean;
|
|
1567
|
-
}
|
|
1568
|
-
declare abstract class GameRoom<E = Record<string, unknown>> extends BaseRoom<E> {
|
|
1569
|
-
private config;
|
|
1570
|
-
private players;
|
|
1571
|
-
private inputBuffer;
|
|
1572
|
-
private currentTick;
|
|
1573
|
-
private gameState;
|
|
1574
|
-
private running;
|
|
1575
|
-
private initialized;
|
|
1576
|
-
constructor(state: DurableObjectState, env: unknown, config?: GameRoomConfig);
|
|
1577
|
-
private ensureInitialized;
|
|
1578
|
-
private persistState;
|
|
1579
|
-
protected onConnect(ws: WebSocket, user: UserAttachment): GameAttachment;
|
|
1580
|
-
protected onMessage(ws: WebSocket, user: UserAttachment, message: {
|
|
1581
|
-
type: string;
|
|
1582
|
-
[key: string]: unknown;
|
|
1583
|
-
}): Promise<void>;
|
|
1584
|
-
protected onDisconnect(_ws: WebSocket, user: UserAttachment): void;
|
|
1585
|
-
protected onAlarm(): Promise<void>;
|
|
1586
|
-
private checkAutoStart;
|
|
1587
|
-
private startGame;
|
|
1588
|
-
private stopGame;
|
|
1589
|
-
protected getGameState(): Record<string, unknown>;
|
|
1590
|
-
protected setGameState(state: Record<string, unknown>): void;
|
|
1591
|
-
protected getPlayers(): Player[];
|
|
1592
|
-
protected isRunning(): boolean;
|
|
1593
|
-
protected getCurrentTick(): number;
|
|
1594
|
-
/**
|
|
1595
|
-
* Called each tick with current state and collected inputs.
|
|
1596
|
-
* Return the new game state, or undefined to keep current state.
|
|
1597
|
-
*/
|
|
1598
|
-
protected abstract onTick(state: Record<string, unknown>, inputs: GameInput[], tick: number): Record<string, unknown> | undefined | Promise<Record<string, unknown> | undefined>;
|
|
1599
|
-
/** Called when a player connects */
|
|
1600
|
-
protected onPlayerJoin(_player: Player): void;
|
|
1601
|
-
/** Called when a player disconnects */
|
|
1602
|
-
protected onPlayerLeave(_player: Player): void;
|
|
1603
|
-
/** Called when the game starts */
|
|
1604
|
-
protected onGameStart(): void;
|
|
1605
|
-
/** Called when the game ends */
|
|
1606
|
-
protected onGameEnd(_finalState: Record<string, unknown>): void;
|
|
1607
|
-
/**
|
|
1608
|
-
* Called once when the DO first hydrates persisted state from storage.
|
|
1609
|
-
* Receives the parsed state blob as it was written by a previous build.
|
|
1610
|
-
* Return the state object to install as `gameState`.
|
|
1611
|
-
*
|
|
1612
|
-
* Subclasses with evolving schemas should override this hook to:
|
|
1613
|
-
* - merge new fields onto a default template,
|
|
1614
|
-
* - upgrade shapes across versioned states,
|
|
1615
|
-
* - or discard stale blobs entirely by returning a fresh object.
|
|
1616
|
-
*
|
|
1617
|
-
* The default implementation is a pass-through, preserving the legacy
|
|
1618
|
-
* "stored blob is gospel" behavior for subclasses that don't care.
|
|
1619
|
-
*
|
|
1620
|
-
* If JSON parsing of the stored blob fails this hook is NOT called — the
|
|
1621
|
-
* DO starts with an empty state and the subclass's `onGameStart` (or
|
|
1622
|
-
* first `onTick`) is responsible for initializing.
|
|
1623
|
-
*/
|
|
1624
|
-
protected onHydrateState(stored: Record<string, unknown>): Record<string, unknown>;
|
|
1625
|
-
}
|
|
1626
|
-
|
|
1627
1425
|
/**
|
|
1628
1426
|
* CanvasRoom — Spatial canvas Durable Object (tldraw-style).
|
|
1629
1427
|
*
|
|
@@ -1987,11 +1785,10 @@ type DOManifest = DOManifestEntry[];
|
|
|
1987
1785
|
* @example
|
|
1988
1786
|
* const manifest = [
|
|
1989
1787
|
* { binding: 'RECORD_ROOMS', className: 'AppRecordRoom', sqlite: true },
|
|
1990
|
-
* { binding: 'GAME_ROOMS', className: 'AppGameRoom', sqlite: true },
|
|
1991
1788
|
* ] as const satisfies DOManifest
|
|
1992
1789
|
*
|
|
1993
1790
|
* type Env = BaseEnv & DOBindings<typeof manifest>
|
|
1994
|
-
* // => { RECORD_ROOMS: DurableObjectNamespace
|
|
1791
|
+
* // => { RECORD_ROOMS: DurableObjectNamespace }
|
|
1995
1792
|
*/
|
|
1996
1793
|
type DOBindings<T extends readonly DOManifestEntry[]> = {
|
|
1997
1794
|
[K in T[number]['binding']]: DurableObjectNamespace;
|
|
@@ -2548,8 +2345,6 @@ declare function handleAwarenessMessage(awareness: Awareness, data: Uint8Array):
|
|
|
2548
2345
|
*/
|
|
2549
2346
|
declare function getMessageType(data: Uint8Array): number;
|
|
2550
2347
|
|
|
2551
|
-
/** First source migration required by the canonical app identity cutover. */
|
|
2552
|
-
declare const CANONICAL_APP_IDENTITY_MIGRATION_ID = "2026-08-canonical-app-identity-wire";
|
|
2553
2348
|
/** Asset-layer misses became real 404s, and the worker owns the fallback. The
|
|
2554
2349
|
* config and the worker's fallback path have to move together. */
|
|
2555
2350
|
declare const WORKER_OWNED_NOT_FOUND_MIGRATION_ID = "2026-08-worker-owned-not-found";
|
|
@@ -3027,29 +2822,40 @@ declare const UPLOAD_PART_BYTES: number;
|
|
|
3027
2822
|
*/
|
|
3028
2823
|
declare const MAX_UPLOAD_PARTS: number;
|
|
3029
2824
|
/**
|
|
3030
|
-
*
|
|
3031
|
-
*
|
|
2825
|
+
* The customer-visible storage schedule, in bytes, PER ACCOUNT — the total an
|
|
2826
|
+
* owner's uploaded files may occupy across every app they own, not a budget
|
|
2827
|
+
* each app gets separately. This is the number the billing page advertises.
|
|
3032
2828
|
*
|
|
3033
|
-
*
|
|
3034
|
-
*
|
|
3035
|
-
* - the app-files allocation, admitted by the shared files handler
|
|
3036
|
-
* (`server/utils/scoped-r2-files.ts`)
|
|
2829
|
+
* Admitted by the shared files handler (`server/utils/scoped-r2-files.ts`),
|
|
2830
|
+
* which sums the owner's apps rather than the one being written to.
|
|
3037
2831
|
*
|
|
3038
|
-
*
|
|
3039
|
-
*
|
|
3040
|
-
* customer-visible "storage" number is the app-files allocation — the repo
|
|
3041
|
-
* store is platform bookkeeping that degrades (drops rollback retention)
|
|
3042
|
-
* rather than surfacing here.
|
|
2832
|
+
* It deliberately does NOT govern the repo store — see
|
|
2833
|
+
* `REPO_STORE_LIMIT_BYTES` below, and docs/platform/r2-storage.md.
|
|
3043
2834
|
*/
|
|
3044
|
-
declare const
|
|
2835
|
+
declare const ACCOUNT_STORAGE_LIMIT_BYTES: {
|
|
3045
2836
|
readonly test: 0;
|
|
3046
2837
|
readonly free: number;
|
|
3047
2838
|
readonly starter: number;
|
|
3048
2839
|
readonly premium: number;
|
|
3049
2840
|
readonly admin: number;
|
|
3050
2841
|
};
|
|
3051
|
-
/** The storage limit for a billing tier; unknown or missing tiers get free. */
|
|
2842
|
+
/** The account storage limit for a billing tier; unknown or missing tiers get free. */
|
|
3052
2843
|
declare function storageLimitForTier(tier: string | null | undefined): number;
|
|
2844
|
+
/**
|
|
2845
|
+
* The repo store's budget, per app, flat across every tier.
|
|
2846
|
+
*
|
|
2847
|
+
* Git packs, retained rollback bundles, and stored deploy assets are platform
|
|
2848
|
+
* bookkeeping, not something a customer buys — so this is a working ceiling,
|
|
2849
|
+
* not an entitlement, and it is deliberately small. An app that cannot fit its
|
|
2850
|
+
* SOURCE plus a few rollback bundles in this has something in the wrong place:
|
|
2851
|
+
* user uploads belong in the app-files allocation above, which is what the
|
|
2852
|
+
* account schedule sizes.
|
|
2853
|
+
*
|
|
2854
|
+
* Being flat is the point. Tying it to the tier table meant every raise to the
|
|
2855
|
+
* customer-facing number silently multiplied platform-side storage per app,
|
|
2856
|
+
* and made a push depend on a billing lookup that could refuse it.
|
|
2857
|
+
*/
|
|
2858
|
+
declare const REPO_STORE_LIMIT_BYTES: number;
|
|
3053
2859
|
/** The one storage-quota refusal sentence. `usedBytes` is net of any object
|
|
3054
2860
|
* the upload replaces, so an upsert is charged only for its growth. */
|
|
3055
2861
|
declare function storageQuotaMessage(incomingBytes: number, usedBytes: number, limitBytes: number): string;
|
|
@@ -3131,15 +2937,26 @@ interface ScopedR2Config {
|
|
|
3131
2937
|
* applies.
|
|
3132
2938
|
*/
|
|
3133
2939
|
interface StorageAdmission {
|
|
3134
|
-
/**
|
|
3135
|
-
* (possibly deeper) scope prefix a request resolved to. */
|
|
2940
|
+
/** This app's own prefix — the one the incoming write lands under. */
|
|
3136
2941
|
prefix: string;
|
|
3137
2942
|
/**
|
|
3138
2943
|
* Resolve the owner's limit in bytes. `null` means the lookup failed;
|
|
3139
|
-
* writes then fail closed (503) rather than admitting unmetered storage
|
|
3140
|
-
* mirroring the repo store's `StorageBillingUnavailableError`.
|
|
2944
|
+
* writes then fail closed (503) rather than admitting unmetered storage.
|
|
3141
2945
|
*/
|
|
3142
2946
|
limitBytes: () => Promise<number | null>;
|
|
2947
|
+
/**
|
|
2948
|
+
* The OTHER app prefixes this owner's storage spans, if any.
|
|
2949
|
+
*
|
|
2950
|
+
* The limit is per ACCOUNT, not per app: an owner's allocation is the total
|
|
2951
|
+
* across everything they own, so admission has to see the siblings too. `[]`
|
|
2952
|
+
* for an owner with one app, which is the common case and costs exactly what
|
|
2953
|
+
* it did when this was a per-app limit.
|
|
2954
|
+
*
|
|
2955
|
+
* Returning `null` means the owner's apps could not be enumerated. Like a
|
|
2956
|
+
* failed limit lookup that fails the write closed rather than admitting a
|
|
2957
|
+
* write against an allocation we cannot measure.
|
|
2958
|
+
*/
|
|
2959
|
+
siblingPrefixes?: () => Promise<string[] | null>;
|
|
3143
2960
|
}
|
|
3144
2961
|
interface ScopedR2Auth {
|
|
3145
2962
|
userId: string | null;
|
|
@@ -5361,4 +5178,4 @@ interface AppLogsResponse {
|
|
|
5361
5178
|
declare const APP_LOG_EVENT_KEYS: readonly ["id", "timestamp", "level", "eventType", "message", "source", "outcome", "request", "exception"];
|
|
5362
5179
|
type AppLogEventKey = (typeof APP_LOG_EVENT_KEYS)[number];
|
|
5363
5180
|
|
|
5364
|
-
export { AI_CHATS_SCHEMA, AI_MESSAGES_SCHEMA, ALLOWED_BINDING_TYPES, APP_ID_RE, APP_LOG_EVENT_KEYS, APP_NAME_RULES,
|
|
5181
|
+
export { ACCOUNT_STORAGE_LIMIT_BYTES, AI_CHATS_SCHEMA, AI_MESSAGES_SCHEMA, ALLOWED_BINDING_TYPES, APP_ID_RE, APP_LOG_EVENT_KEYS, APP_NAME_RULES, ASSET_NOT_FOUND_HANDLING_VALUES, AUTO_PROVISIONABLE_TYPES, AUTO_PROVISION_SENTINEL, type ActionContext, type ActionHandler, type ActionResult, type ActionTools, type ApiWorkerEnv, type AppLogEvent, type AppLogEventKey, type AppLogsResponse, type AppMigrationIdsValidation, type AppNameResolution, type AppNameValidation, type AssetNotFoundHandling, type AuthWorkerEnv, Awareness, type AwarenessState, type AwarenessStates, BASE_USERS_SCHEMA, BROWSER_PROXY_ROUTES, BUILT_IN_TOOLS, type BaseMessage, BaseRoom, CHANNELS_SCHEMA, CHANNEL_INVITATIONS_SCHEMA, CHANNEL_MEMBERS_SCHEMA, CLIENT_LOG_MARKER, CONVERSATION_SCHEMAS, COST_RATES, CanvasRoom, type CanvasShape, type ChatContextConfig, type ChatMessageRow, type ChatRow, type ChatTurn, type ClientErrorKind, type ClientErrorReport, type ClientMessage, type CollectionPermissionSummary, type CollectionSchema, type ColumnDefinition, type ColumnInterpretation, type ComposioToolsOptions, type ConnectionAttachment, type ConvMemberData, type ConvMessageData, type ConvReactionData, type ConvReadCursorData, type ConvVoteData, type ConversationStateData, type CronContext, type CronExecution, CronRoom, type CronRoomConfig, type CronTask, type CustomBinding, type CustomBindingManifest, DEEPSPACE_AGENT_PROFILES, DEEPSPACE_AI_DEFAULTS, DEEPSPACE_AI_MODELS, DEEPSPACE_MODEL_CATALOG_PROVENANCE, DEFAULT_CONTEXT_CONFIG, DEFAULT_DO_MANIFEST, DEFAULT_QUERY_LIMIT, DEPLOYED_APPS_DEFAULTS, DIRECTORY_SCHEMAS, type DOBindings, type DOManifest, type DOManifestEntry, type DeepSpaceAIEnv, type DeepSpaceAIModel, type DeepSpaceAIModelId, type DeepSpaceAIOptions, type DeepSpaceAIProvider, type DeepSpaceAgentDiagnosticContext, DeepSpaceAgentModelError, type DeepSpaceAgentProfile, DeepSpaceAgentProfileError, type DeepSpaceAgentProfileId, type DeepSpaceAgentStream, type DeepSpaceAgentStreamOptions, type DeepSpaceAgentSupport, type DeepSpaceAuth, type DeepSpaceAuthConfig, type DeepSpaceDocumentationRouteEnv, type DeepSpaceDocumentationRouteOptions, type DirectoryCommunityData, type DirectoryConversationData, type DirectoryMembershipData, type DirectoryPostData, type DoMigrationDirective, type DoMigrationPlan, type ExistingDOBinding, GLOBAL_DO_TYPES, GLOBAL_DO_TYPE_NAMES, type GetActionData, type GlobalDOType, type HandlerContext, type Job, type JobContext, JobRoom, type JobRoomConfig, type JobStatus, type JwtClaims, type JwtVerifierConfig, LOG_LEVELS, type LogLevel, MAX_APP_FILE_BYTES, MAX_DEPLOY_ASSET_FILE_BYTES, MAX_UPLOAD_PARTS, MAX_UPLOAD_REQUEST_BYTES, MESSAGES_SCHEMA, MSG, MSG_AWARENESS, MSG_SYNC, MSG_SYNC_STEP1, MSG_SYNC_STEP2, MSG_SYNC_UPDATE, MSG_YJS_AWARENESS, MSG_YJS_SYNC, type MessageHandlers, type MsgType, type MutateActionData, type PermissionAnalysis, type PermissionContext, type PermissionLevel, type PermissionSource, type PlatformWorkerEnv, type PrefixResult, type PresencePeer, PresenceRoom, type ProtocolMessage, type ProxyRoute, type QueryActionData, REACTIONS_SCHEMA, READ_RECEIPTS_SCHEMA, REGISTRY_INSTANCE, RELEASE_STAMP_PATH, REPO_STORE_LIMIT_BYTES, REQUIRED_COMPATIBILITY_FLAGS, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_NAMES, RESERVED_RUN_WORKER_FIRST, RESOURCE_ID_RE, ROLE_ADMIN, ROLE_ANONYMOUS, ROLE_DEFAULT, RecordRoom, type RecordRoomConfig, RegistryClientError, type ResolvedColumn, type ResolvedDeepSpaceAgentModel, type ResolvedPermission, type RolePermissions, type RunMigrationsResult, SDK_RUN_WORKER_FIRST, STRICT_APP_ID_RE, SYSTEM_COLLECTIONS, SYSTEM_MANAGED_COLUMNS, SchemaRegistry, type ScopeContext, type ScopedR2Auth, type ScopedR2Config, type ScopedR2Handler, type ScreenshotEnv, type ScreenshotResult, type ServerMessage, type SharedConnection, type StorageAdmission, type StoredRecord, type Summarizer, type SyncResult, TEST_ACCOUNT_EMAIL_SUFFIX, type TokenDebugInfo, type ToolResult, type ToolSchema, UNDECLARED_ASSET_NOT_FOUND_HANDLING, UPLOAD_PART_BYTES, USERS_COLUMNS, type User, type UserAttachment, VOTING_SCHEMAS, type ValidationError, type VerifiedAuth, type VerifyOutcome, type VerifyResult, type Viewport, WORKER_OWNED_NOT_FOUND_MIGRATION_ID, WORKSPACE_SCHEMAS, YjsRoom, analyzePermissions, apiWorkerFetch, appendMessage, applyAiToolDefaults, applySlidingWindow, authWorkerFetch, bindingManifestFromOutputConfig, buildCronContext, buildTableSelect, buildUiParts, callRegistry, canCreate, canDelete, canRead, canUpdate, capToolResultSize, captureScreenshot, checkFieldPermissions, clientBuild, coerceValue, collectionTableName, columnId, composioTools, computeDoMigration, computeHmacHex, createChat, createDecoder, createDeepSpaceAI, createDeepSpaceAuth, createEncoder, createScopedR2Handler, dataToColumnValues, decodeJwtPayload, deepSpaceAgentErrorSummary, deleteChatCascade, dispatch, encode, encodeAwarenessMessage, encodeSyncStep1, encodeSyncStep2, encodeUpdate, enqueueJob, formatBytes, getChat, getDeepSpaceAIModel, getGlobalDOSchemas, getGlobalDOType, getMessageType, getRolePermissions, handleAwarenessMessage, handleClientErrorReport, handleSyncMessage, hasContent, isAssetNotFoundHandling, isAutoProvision, isFilesVerbPath, isOwner, isPlatformReservedPath, isTestAccountClaims, isTestAccountEmail, isTestAccountTier, lintSchema, listDeepSpaceAgentModels, loadMessages, makeDefaultSummarizer, matchOrigin, meterAi, meterUsage, meterVectorize, noopPermissionContext, parseQuotaLimit, platformCorsPatterns, platformWorkerFetch, prepareMessagesWithCompaction, priceBindingUsageEvent, readVarUint, readVarUint8Array, registerClientErrorRoute, registerDeepSpaceDocumentation, registryErrorJson, registryStub, resolveAppName, resolveColumn, resolveCompatibilityFlags, resolveDeepSpaceAgentModel, rowToData, runMigrations, serverBuild, storageLimitForTier, storageQuotaMessage, streamDeepSpaceAgent, timingSafeEqualHex, timingSafeEqualStrings, toUint8Array, totalChars, truncateOldToolResults, turnsToCoreMessages, unwrapToolOutput, updateChat, validateAppMigrationIds, validateAppName, validateBindingManifest, validateDoManifest, verifyJwt, workspaceAccountsSchema, workspaceContentSharesSchema, workspaceEmailHandlesSchema, workspaceFormResponsesSchema, workspacePeopleSchema, workspaceProjectsSchema, workspaceTagsSchema, workspaceTasksSchema, workspaceTeamMembersSchema, workspaceTeamsSchema, workspaceTransactionsSchema, writeVarUint, writeVarUint8Array };
|