deepspace 0.4.4 → 0.5.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.
Files changed (34) hide show
  1. package/README.md +90 -0
  2. package/dist/cli.js +2912 -1984
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +31 -4
  5. package/dist/index.js +511 -366
  6. package/dist/index.js.map +1 -1
  7. package/dist/server.d.ts +29 -108
  8. package/dist/server.js +126 -589
  9. package/dist/server.js.map +1 -1
  10. package/dist/testing.js.map +1 -1
  11. package/dist/worker.d.ts +29 -108
  12. package/dist/worker.js +126 -589
  13. package/dist/worker.js.map +1 -1
  14. package/features/admin-page/src/AdminPage.tsx +3 -5
  15. package/features/canvas/src/CanvasEditorPage.tsx +0 -2
  16. package/features/canvas/src/components/CanvasView.tsx +1 -1
  17. package/features/docs/src/LibrarySidebar.tsx +7 -1
  18. package/features/docs/src/use-yjs-room-with-awareness.ts +4 -0
  19. package/features/file-attachments/src/AttachmentsPage.tsx +7 -1
  20. package/features/file-attachments/src/useFilePreview.ts +7 -5
  21. package/features/file-manager/src/FileManagerPage.tsx +2 -3
  22. package/features/integration-test/feature.json +10 -3
  23. package/features/integration-test/src/IntegrationTestPage.tsx +15 -12
  24. package/features/landing/src/LandingPage.tsx +1 -1
  25. package/features/landing/src/sections/FeaturesGridSection.tsx +0 -92
  26. package/features/messaging/src/components/chat/MessageItem.tsx +5 -1
  27. package/features/messaging/src/hooks/useChatChannel.ts +5 -1
  28. package/features/presence-test/feature.json +2 -1
  29. package/features/sidebar/src/AppSidebar.tsx +1 -1
  30. package/features/tasks/src/TasksPage.tsx +1 -1
  31. package/features/testing/feature.json +2 -1
  32. package/features/testing/src/TestPage.tsx +8 -8
  33. package/package.json +4 -4
  34. package/scripts/add-feature.cjs +277 -272
package/dist/server.d.ts CHANGED
@@ -488,10 +488,10 @@ interface CronContext {
488
488
  query(collection: string, opts?: {
489
489
  where?: Record<string, unknown>;
490
490
  limit?: number;
491
- }): Promise<any[]>;
492
- create(collection: string, data: Record<string, unknown>): Promise<any>;
493
- update(collection: string, recordId: string, data: Record<string, unknown>): Promise<any>;
494
- delete(collection: string, recordId: string): Promise<any>;
491
+ }): Promise<unknown[]>;
492
+ create(collection: string, data: Record<string, unknown>): Promise<unknown>;
493
+ update(collection: string, recordId: string, data: Record<string, unknown>): Promise<unknown>;
494
+ delete(collection: string, recordId: string): Promise<unknown>;
495
495
  };
496
496
  /**
497
497
  * Call a platform integration endpoint (e.g. "openai/chat-completion",
@@ -499,7 +499,7 @@ interface CronContext {
499
499
  * APP_OWNER_JWT the rest of the SDK uses for server-side billed calls.
500
500
  */
501
501
  integrations: {
502
- call(endpoint: string, params?: Record<string, unknown>): Promise<any>;
502
+ call(endpoint: string, params?: Record<string, unknown>): Promise<unknown>;
503
503
  };
504
504
  /** App owner's user ID */
505
505
  ownerUserId: string;
@@ -1390,7 +1390,7 @@ declare abstract class BaseRoom<E = Record<string, unknown>> {
1390
1390
  fetch(request: Request): Promise<Response>;
1391
1391
  private handleWebSocketUpgrade;
1392
1392
  webSocketMessage(ws: WebSocket, message: ArrayBuffer | string): Promise<void>;
1393
- webSocketClose(ws: WebSocket, code: number, reason: string): Promise<void>;
1393
+ webSocketClose(ws: WebSocket, _code: number, _reason: string): Promise<void>;
1394
1394
  webSocketError(ws: WebSocket, error: unknown): Promise<void>;
1395
1395
  alarm(): Promise<void>;
1396
1396
  /**
@@ -1398,7 +1398,7 @@ declare abstract class BaseRoom<E = Record<string, unknown>> {
1398
1398
  * Return an augmented attachment to serialize on the WebSocket,
1399
1399
  * or void to use the default attachment.
1400
1400
  */
1401
- protected onConnect(ws: WebSocket, user: UserAttachment): UserAttachment | void | Promise<UserAttachment | void>;
1401
+ protected onConnect(_ws: WebSocket, _user: UserAttachment): UserAttachment | void | Promise<UserAttachment | void>;
1402
1402
  /**
1403
1403
  * Called for each parsed JSON message.
1404
1404
  */
@@ -1413,7 +1413,7 @@ declare abstract class BaseRoom<E = Record<string, unknown>> {
1413
1413
  /**
1414
1414
  * Called when a WebSocket disconnects.
1415
1415
  */
1416
- protected onDisconnect(ws: WebSocket, user: UserAttachment): void | Promise<void>;
1416
+ protected onDisconnect(_ws: WebSocket, _user: UserAttachment): void | Promise<void>;
1417
1417
  /**
1418
1418
  * Called for HTTP requests that are NOT WebSocket upgrades.
1419
1419
  */
@@ -1670,7 +1670,6 @@ declare class SchemaRegistry {
1670
1670
  registerTrusted(schema: CollectionSchema): void;
1671
1671
  get(name: string): CollectionSchema | undefined;
1672
1672
  has(name: string): boolean;
1673
- hasTrusted(name: string): boolean;
1674
1673
  all(): CollectionSchema[];
1675
1674
  names(): string[];
1676
1675
  }
@@ -1742,6 +1741,12 @@ declare class RecordRoom<E = Record<string, unknown>> extends BaseRoom<E> {
1742
1741
  private ownerUserId;
1743
1742
  /** True until the first fetch() completes — detects hibernation wake-up */
1744
1743
  private freshConstruct;
1744
+ /**
1745
+ * Per-connection `[DO Perf]` timing logs are noisy on every hot path, so
1746
+ * they're gated behind a `DEEPSPACE_DO_PERF` env binding (set it to any
1747
+ * truthy value on the worker to opt in). Off by default.
1748
+ */
1749
+ private get perfLogEnabled();
1745
1750
  constructor(state: DurableObjectState, env: unknown, schemas?: CollectionSchema[], config?: RecordRoomConfig);
1746
1751
  private getPermissionContext;
1747
1752
  fetch(request: Request): Promise<Response>;
@@ -1754,12 +1759,13 @@ declare class RecordRoom<E = Record<string, unknown>> extends BaseRoom<E> {
1754
1759
  private ensureCollectionTable;
1755
1760
  private ensureAllCollectionTables;
1756
1761
  protected onConnect(ws: WebSocket, user: UserAttachment): Promise<ConnectionAttachment>;
1757
- protected onMessage(ws: WebSocket, user: UserAttachment, msg: {
1758
- type: string;
1759
- [key: string]: unknown;
1760
- }): Promise<void>;
1761
- protected onBinaryMessage(ws: WebSocket, user: UserAttachment, data: ArrayBuffer): Promise<void>;
1762
- protected onDisconnect(ws: WebSocket, user: UserAttachment): void;
1762
+ /**
1763
+ * Required to satisfy BaseRoom's abstract contract, but never invoked:
1764
+ * RecordRoom overrides `webSocketMessage`/`webSocketClose` directly (below),
1765
+ * so the BaseRoom dispatch path that would call this never runs. All real
1766
+ * message handling lives in `handleRecordMessage`.
1767
+ */
1768
+ protected onMessage(): void;
1763
1769
  webSocketMessage(ws: WebSocket, message: ArrayBuffer | string): Promise<void>;
1764
1770
  webSocketClose(ws: WebSocket, code: number, reason: string): Promise<void>;
1765
1771
  webSocketError(ws: WebSocket, error: unknown): Promise<void>;
@@ -1803,12 +1809,12 @@ declare class YjsRoom<E = Record<string, unknown>> extends BaseRoom<E> {
1803
1809
  private getDoc;
1804
1810
  private persistDoc;
1805
1811
  protected onConnect(ws: WebSocket, user: UserAttachment): YjsAttachment;
1806
- protected onMessage(ws: WebSocket, user: UserAttachment, message: {
1812
+ protected onMessage(_ws: WebSocket, _user: UserAttachment, _message: {
1807
1813
  type: string;
1808
1814
  [key: string]: unknown;
1809
1815
  }): void;
1810
1816
  protected onBinaryMessage(ws: WebSocket, user: UserAttachment, data: ArrayBuffer): void;
1811
- protected onDisconnect(ws: WebSocket, user: UserAttachment): void;
1817
+ protected onDisconnect(ws: WebSocket, _user: UserAttachment): void;
1812
1818
  private handleSync;
1813
1819
  private handleAwareness;
1814
1820
  private readAwarenessUpdates;
@@ -1890,13 +1896,13 @@ declare abstract class GameRoom<E = Record<string, unknown>> extends BaseRoom<E>
1890
1896
  */
1891
1897
  protected abstract onTick(state: Record<string, unknown>, inputs: GameInput[], tick: number): Record<string, unknown> | undefined | Promise<Record<string, unknown> | undefined>;
1892
1898
  /** Called when a player connects */
1893
- protected onPlayerJoin(player: Player): void;
1899
+ protected onPlayerJoin(_player: Player): void;
1894
1900
  /** Called when a player disconnects */
1895
- protected onPlayerLeave(player: Player): void;
1901
+ protected onPlayerLeave(_player: Player): void;
1896
1902
  /** Called when the game starts */
1897
1903
  protected onGameStart(): void;
1898
1904
  /** Called when the game ends */
1899
- protected onGameEnd(finalState: Record<string, unknown>): void;
1905
+ protected onGameEnd(_finalState: Record<string, unknown>): void;
1900
1906
  /**
1901
1907
  * Called once when the DO first hydrates persisted state from storage.
1902
1908
  * Receives the parsed state blob as it was written by a previous build.
@@ -2096,49 +2102,6 @@ declare abstract class CronRoom<E = Record<string, unknown>> extends BaseRoom<E>
2096
2102
  protected abstract onTask(taskName: string): void | Promise<void>;
2097
2103
  }
2098
2104
 
2099
- interface SecretMetadata {
2100
- name: string;
2101
- version: number;
2102
- createdAt: string;
2103
- updatedAt: string;
2104
- updatedBy: string | null;
2105
- }
2106
- declare class SecretsRoom<E extends {
2107
- APP_SECRETS_KEY?: string;
2108
- } = {
2109
- APP_SECRETS_KEY?: string;
2110
- }> extends BaseRoom<E> {
2111
- private initialized;
2112
- protected onMessage(_ws: WebSocket, _user: UserAttachment, _message: {
2113
- type: string;
2114
- }): void;
2115
- fetch(request: Request): Promise<Response>;
2116
- protected onRequest(request: Request): Promise<Response>;
2117
- list(): Promise<SecretMetadata[]>;
2118
- pull(): Promise<Record<string, string>>;
2119
- patch(body: {
2120
- set?: Record<string, string>;
2121
- delete?: string[];
2122
- updatedBy?: string;
2123
- }): Promise<{
2124
- version: number;
2125
- secrets: SecretMetadata[];
2126
- }>;
2127
- replace(body: {
2128
- secrets?: Record<string, string>;
2129
- updatedBy?: string;
2130
- }): Promise<{
2131
- version: number;
2132
- secrets: SecretMetadata[];
2133
- }>;
2134
- private transaction;
2135
- private migrateLegacyProductionSecrets;
2136
- private ensureInitialized;
2137
- private requireKey;
2138
- private storeVersion;
2139
- private bumpStoreVersion;
2140
- }
2141
-
2142
2105
  /**
2143
2106
  * JobRoom — Per-app durable background-job execution Durable Object.
2144
2107
  *
@@ -2440,7 +2403,7 @@ declare const ALLOWED_BINDING_TYPES: Set<string>;
2440
2403
  *
2441
2404
  * Includes:
2442
2405
  * - Static-asset + service bindings the platform sets up automatically.
2443
- * - SDK-managed env (auth, identity, owner JWT, app-secret encryption root).
2406
+ * - SDK-managed env (auth, identity, owner JWT).
2444
2407
  * - The auto-attached cost-tracking AE dataset (`USAGE_EVENTS`).
2445
2408
  *
2446
2409
  * DO binding names (RECORD_ROOMS, YJS_ROOMS, etc.) are NOT in this set
@@ -3048,8 +3011,7 @@ interface VerifiedAuth {
3048
3011
  userId: string;
3049
3012
  claims: JwtClaims;
3050
3013
  }
3051
- interface VerifyResult extends VerifiedAuth {
3052
- }
3014
+ type VerifyResult = VerifiedAuth;
3053
3015
  interface TokenDebugInfo {
3054
3016
  iss?: string | null;
3055
3017
  aud?: string | string[] | null;
@@ -3956,47 +3918,6 @@ declare function createDeepSpaceAuth(config: DeepSpaceAuthConfig): better_auth.A
3956
3918
  }>;
3957
3919
  type DeepSpaceAuth = ReturnType<typeof createDeepSpaceAuth>;
3958
3920
 
3959
- interface SecretsEnv {
3960
- SECRETS_ROOMS?: DurableObjectNamespace;
3961
- APP_SECRETS_KEY?: string;
3962
- APP_SECRETS_LOCAL_FALLBACK?: string;
3963
- }
3964
- interface SecretRefreshResult {
3965
- changed: boolean;
3966
- version: number;
3967
- }
3968
- interface WithFreshSecretsContext {
3969
- secrets: SecretsClient;
3970
- attempt: number;
3971
- refreshed: boolean;
3972
- }
3973
- interface WithFreshSecretsOptions {
3974
- /**
3975
- * By default the operation retries only when a forced refresh observes a
3976
- * changed secret version after an auth-like failure. Set this for idempotent
3977
- * operations that should retry after a successful refresh even when the
3978
- * version is unchanged.
3979
- */
3980
- retryWhenUnchanged?: boolean;
3981
- }
3982
- interface SecretsClient {
3983
- get(name: string): Promise<string | undefined>;
3984
- require(name: string): Promise<string>;
3985
- getMany(names: string[]): Promise<Record<string, string | undefined>>;
3986
- preload(names: string[]): Promise<void>;
3987
- refresh(options?: {
3988
- force?: boolean;
3989
- }): Promise<SecretRefreshResult>;
3990
- checkForUpdates(): Promise<SecretRefreshResult>;
3991
- invalidate(): void;
3992
- withFreshSecrets<T>(operation: (ctx: WithFreshSecretsContext) => Promise<T>, options?: WithFreshSecretsOptions): Promise<T>;
3993
- }
3994
- interface CreateSecretsOptions {
3995
- refreshIntervalMs?: number;
3996
- now?: () => number;
3997
- }
3998
- declare function createSecrets(env: SecretsEnv, options?: CreateSecretsOptions): SecretsClient;
3999
-
4000
3921
  /**
4001
3922
  * Subscription primitives shared between client (useSubscription hook) and
4002
3923
  * server (requireSubscription helper). Pulled into a shared module so the
@@ -4150,4 +4071,4 @@ declare class RefundError extends Error {
4150
4071
  constructor(message: string, status: number);
4151
4072
  }
4152
4073
 
4153
- export { AI_CHATS_SCHEMA, AI_MESSAGES_SCHEMA, ALLOWED_BINDING_TYPES, APP_NAME_RULES, AUTO_PROVISIONABLE_TYPES, AUTO_PROVISION_SENTINEL, type ActionContext, type ActionHandler, type ActionResult, type ActionTools, type ApiWorkerEnv, type AppNameResolution, type AppNameValidation, type AuthWorkerEnv, BASE_USERS_SCHEMA, BUILT_IN_TOOLS, BaseRoom, CHANNELS_SCHEMA, CHANNEL_INVITATIONS_SCHEMA, CHANNEL_MEMBERS_SCHEMA, CONVERSATION_SCHEMAS, COST_RATES, CancelSubscriptionError, type CancelSubscriptionOpts, type CancelSubscriptionResult, CanvasRoom, type CanvasShape, type ChatContextConfig, type ChatMessageRow, type ChatRow, type ChatTurn, type CollectionPermissionSummary, type CollectionSchema, type ColumnDefinition, type ColumnInterpretation, type ComposioToolsOptions, type ConvMemberData, type ConvMessageData, type ConvReactionData, type ConvReadCursorData, type ConvVoteData, type ConversationStateData, type CreateSecretsOptions, type CronContext, type CronExecution, CronRoom, type CronRoomConfig, type CronTask, type CustomBinding, type CustomBindingManifest, DEFAULT_CONTEXT_CONFIG, DEFAULT_DO_MANIFEST, DEFAULT_QUERY_LIMIT, DIRECTORY_SCHEMAS, type DOBindings, type DOManifest, type DOManifestEntry, type DebugApiContext, type DeepSpaceAIEnv, type DeepSpaceAIOptions, type DeepSpaceAuth, type DeepSpaceAuthConfig, type DirectoryCommunityData, type DirectoryConversationData, type DirectoryMembershipData, type DirectoryPostData, type DoMigrationDirective, type DoMigrationPlan, type ExistingDOBinding, GLOBAL_DO_TYPES, GLOBAL_DO_TYPE_NAMES, type GameInput, GameRoom, type GameRoomConfig, type GetActionData, type GlobalDOType, type Job, type JobContext, JobRoom, type JobRoomConfig, type JobStatus, type JwtClaims, type JwtVerifierConfig, MESSAGES_SCHEMA, type MutateActionData, type PermissionAnalysis, type PermissionContext, type PermissionLevel, type PermissionSource, type PlanInfo, type PlatformWorkerEnv, type Player, type PrefixResult, type PresencePeer, PresenceRoom, type QueryActionData, REACTIONS_SCHEMA, READ_RECEIPTS_SCHEMA, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_NAMES, type RecordContext, RecordRoom, type RecordRoomConfig, RefundError, type RefundOpts, type RefundResult, type ResolvedColumn, type ResolvedPermission, type RolePermissions, type RunMigrationsResult, SYSTEM_COLLECTION_SCHEMAS, SYSTEM_MANAGED_COLUMNS, SchemaRegistry, type ScopeContext, type ScopedR2Auth, type ScopedR2Config, type ScopedR2Handler, type ScreenshotEnv, type ScreenshotOptions, type ScreenshotResult, type SecretMetadata, type SecretRefreshResult, type SecretsClient, type SecretsEnv, SecretsRoom, type SharedConnection, type StoredRecord, SubscriptionAuthError, type SubscriptionContext, type SubscriptionRead, SubscriptionRequiredError, type SubscriptionStatus, type Summarizer, type TokenDebugInfo, type ToolResult, type ToolSchema, type ToolsApiContext, USERS_COLUMNS, type User, type UserAttachment, type UserContext, VOTING_SCHEMAS, type ValidationError, type VerifiedAuth, type VerifyOutcome, type VerifyResult, type Viewport, WORKSPACE_SCHEMAS, type WithFreshSecretsContext, type WithFreshSecretsOptions, type YjsContext, YjsRoom, analyzePermissions, apiWorkerFetch, appendMessage, applyAiToolDefaults, applySlidingWindow, authWorkerFetch, bindingManifestFromOutputConfig, broadcastChange, broadcastYjsUpdate, buildCronContext, buildTableSelect, buildUiParts, canCreate, canDelete, canRead, canUpdate, cancelSubscription, capToolResultSize, captureScreenshot, checkFieldPermissions, coerceValue, collectionTableName, columnId, composioTools, computeDoMigration, computeHmacHex, createChat, createDeepSpaceAI, createDeepSpaceAuth, createScopedR2Handler, createSecrets, dataToColumnValues, decodeJwtPayload, deleteChatCascade, deleteRecord, enqueueJob, executeQuery, getAllUsers, getChat, getGlobalDOSchemas, getGlobalDOType, getOrCreateYjsDoc, getRecord, getRolePermissions, getSubscription, getUser, getYjsDocKey, handleApiRequest, handleDelete, handlePut, handleSetRole, handleSubscribe, handleToolsRequest, handleUnsubscribe, handleUserList, handleUserUpdate, handleYjsBinaryMessage, handleYjsJoin, handleYjsLeave, isAutoProvision, isOwner, lintSchema, loadMessages, makeDefaultSummarizer, meterAi, meterUsage, meterVectorize, noopPermissionContext, platformWorkerFetch, prepareMessagesWithCompaction, priceBindingUsageEvent, putRecord, readRecord, recordMatchesSubscription, refundInvoice, registerUser, requireSubscription, resolveAppName, resolveColumn, rowToData, runMigrations, saveYjsDoc, timingSafeEqualHex, totalChars, truncateOldToolResults, turnsToCoreMessages, unwrapToolOutput, updateChat, validateAppName, validateBindingManifest, validateDoManifest, verifyJwt, workspaceAccountsSchema, workspaceContentSharesSchema, workspaceEmailHandlesSchema, workspaceFormResponsesSchema, workspacePeopleSchema, workspaceProjectsSchema, workspaceTagsSchema, workspaceTasksSchema, workspaceTeamMembersSchema, workspaceTeamsSchema, workspaceTransactionsSchema };
4074
+ export { AI_CHATS_SCHEMA, AI_MESSAGES_SCHEMA, ALLOWED_BINDING_TYPES, APP_NAME_RULES, AUTO_PROVISIONABLE_TYPES, AUTO_PROVISION_SENTINEL, type ActionContext, type ActionHandler, type ActionResult, type ActionTools, type ApiWorkerEnv, type AppNameResolution, type AppNameValidation, type AuthWorkerEnv, BASE_USERS_SCHEMA, BUILT_IN_TOOLS, BaseRoom, CHANNELS_SCHEMA, CHANNEL_INVITATIONS_SCHEMA, CHANNEL_MEMBERS_SCHEMA, CONVERSATION_SCHEMAS, COST_RATES, CancelSubscriptionError, type CancelSubscriptionOpts, type CancelSubscriptionResult, CanvasRoom, type CanvasShape, type ChatContextConfig, type ChatMessageRow, type ChatRow, type ChatTurn, type CollectionPermissionSummary, type CollectionSchema, type ColumnDefinition, type ColumnInterpretation, type ComposioToolsOptions, 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, DEFAULT_CONTEXT_CONFIG, DEFAULT_DO_MANIFEST, DEFAULT_QUERY_LIMIT, DIRECTORY_SCHEMAS, type DOBindings, type DOManifest, type DOManifestEntry, type DebugApiContext, type DeepSpaceAIEnv, type DeepSpaceAIOptions, type DeepSpaceAuth, type DeepSpaceAuthConfig, type DirectoryCommunityData, type DirectoryConversationData, type DirectoryMembershipData, type DirectoryPostData, type DoMigrationDirective, type DoMigrationPlan, type ExistingDOBinding, GLOBAL_DO_TYPES, GLOBAL_DO_TYPE_NAMES, type GameInput, GameRoom, type GameRoomConfig, type GetActionData, type GlobalDOType, type Job, type JobContext, JobRoom, type JobRoomConfig, type JobStatus, type JwtClaims, type JwtVerifierConfig, MESSAGES_SCHEMA, type MutateActionData, type PermissionAnalysis, type PermissionContext, type PermissionLevel, type PermissionSource, type PlanInfo, type PlatformWorkerEnv, type Player, type PrefixResult, type PresencePeer, PresenceRoom, type QueryActionData, REACTIONS_SCHEMA, READ_RECEIPTS_SCHEMA, RESERVED_BINDING_NAMES, RESERVED_COLLECTION_NAMES, type RecordContext, RecordRoom, type RecordRoomConfig, RefundError, type RefundOpts, type RefundResult, type ResolvedColumn, type ResolvedPermission, type RolePermissions, type RunMigrationsResult, SYSTEM_COLLECTION_SCHEMAS, SYSTEM_MANAGED_COLUMNS, SchemaRegistry, type ScopeContext, type ScopedR2Auth, type ScopedR2Config, type ScopedR2Handler, type ScreenshotEnv, type ScreenshotOptions, type ScreenshotResult, type SharedConnection, type StoredRecord, SubscriptionAuthError, type SubscriptionContext, type SubscriptionRead, SubscriptionRequiredError, type SubscriptionStatus, type Summarizer, type TokenDebugInfo, type ToolResult, type ToolSchema, type ToolsApiContext, USERS_COLUMNS, type User, type UserAttachment, type UserContext, VOTING_SCHEMAS, type ValidationError, type VerifiedAuth, type VerifyOutcome, type VerifyResult, type Viewport, WORKSPACE_SCHEMAS, type YjsContext, YjsRoom, analyzePermissions, apiWorkerFetch, appendMessage, applyAiToolDefaults, applySlidingWindow, authWorkerFetch, bindingManifestFromOutputConfig, broadcastChange, broadcastYjsUpdate, buildCronContext, buildTableSelect, buildUiParts, canCreate, canDelete, canRead, canUpdate, cancelSubscription, capToolResultSize, captureScreenshot, checkFieldPermissions, coerceValue, collectionTableName, columnId, composioTools, computeDoMigration, computeHmacHex, createChat, createDeepSpaceAI, createDeepSpaceAuth, createScopedR2Handler, dataToColumnValues, decodeJwtPayload, deleteChatCascade, deleteRecord, enqueueJob, executeQuery, getAllUsers, getChat, getGlobalDOSchemas, getGlobalDOType, getOrCreateYjsDoc, getRecord, getRolePermissions, getSubscription, getUser, getYjsDocKey, handleApiRequest, handleDelete, handlePut, handleSetRole, handleSubscribe, handleToolsRequest, handleUnsubscribe, handleUserList, handleUserUpdate, handleYjsBinaryMessage, handleYjsJoin, handleYjsLeave, isAutoProvision, isOwner, lintSchema, loadMessages, makeDefaultSummarizer, meterAi, meterUsage, meterVectorize, noopPermissionContext, platformWorkerFetch, prepareMessagesWithCompaction, priceBindingUsageEvent, putRecord, readRecord, recordMatchesSubscription, refundInvoice, registerUser, requireSubscription, resolveAppName, resolveColumn, rowToData, runMigrations, saveYjsDoc, timingSafeEqualHex, totalChars, truncateOldToolResults, turnsToCoreMessages, unwrapToolOutput, updateChat, validateAppName, validateBindingManifest, validateDoManifest, verifyJwt, workspaceAccountsSchema, workspaceContentSharesSchema, workspaceEmailHandlesSchema, workspaceFormResponsesSchema, workspacePeopleSchema, workspaceProjectsSchema, workspaceTagsSchema, workspaceTasksSchema, workspaceTeamMembersSchema, workspaceTeamsSchema, workspaceTransactionsSchema };