@noya-app/noya-multiplayer-react 0.1.89 → 0.2.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/.turbo/turbo-build.log +11 -11
- package/CHANGELOG.md +44 -0
- package/dist/index.bundle.js +30 -30
- package/dist/index.d.mts +64 -15
- package/dist/index.d.ts +64 -15
- package/dist/index.js +425 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +428 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/WebSocketConnection.ts +556 -20
- package/src/__tests__/WebSocketConnection.test.ts +1180 -0
- package/src/__tests__/noyaApp.test.ts +28 -0
- package/src/noyaApp.ts +15 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, UserManager, SharedConnectionDataManager, NoyaManager, StateManagerOptions, StateManager, NoyaManagerOptions, SyncAdapter, TSchema, AccessType, PolicyAuthContext, LocalStorageSyncOptions, Static, ExtractRequestBody, PublishCallback, ResourceManager, TranscriptionManager, AssetTranscriptionResult, StreamFilter, ActivityEventsManager, MultiplayerPatchMetadata, SafeEval, CreateParams, MultiplayerStateManager, ResourceUrlOptions,
|
|
2
|
+
import { AIToolDefinition, UserManager, SharedConnectionDataManager, NoyaManager, StateManagerOptions, StateManager, NoyaManagerOptions, SyncAdapter, TSchema, AccessType, PolicyAuthContext, LocalStorageSyncOptions, Static, ExtractRequestBody, PublishCallback, ResourceManager, TranscriptionManager, AssetTranscriptionResult, StreamFilter, ActivityEventsManager, MultiplayerPatchMetadata, SafeEval, CreateParams, MultiplayerStateManager, ResourceUrlOptions, ConnectionEvent as ConnectionEvent$1, ClientToServerMessage, ReconnectingWebSocketState } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps, Dispatch } from 'react';
|
|
5
5
|
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource, Resource, MediaItem, ResourceMap, ResourceCreateMap, OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
@@ -172,6 +172,7 @@ type GetAppDataOptions = {
|
|
|
172
172
|
};
|
|
173
173
|
declare function enforceSchema<State>(initialState: State, schema?: TSchema): State;
|
|
174
174
|
declare function parseAppDataParameter(options?: GetAppDataOptions): AppData<unknown> | null;
|
|
175
|
+
declare function parseInspectorParameter(options?: GetAppDataOptions): boolean | null;
|
|
175
176
|
declare function getAppData<State>(initialState: State | (() => State), schema?: TSchema, options?: GetAppDataOptions): AppData<State>;
|
|
176
177
|
declare function getSyncAdapter<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(params?: {
|
|
177
178
|
multiplayerUrl?: string;
|
|
@@ -637,21 +638,12 @@ declare function useObservable<T, P extends PathKey[] | string>(observable: Obse
|
|
|
637
638
|
|
|
638
639
|
declare function useResourceUrl(idOrStableId: string | undefined, options?: ResourceUrlOptions): string | undefined;
|
|
639
640
|
|
|
640
|
-
type ConnectionEvent<State> =
|
|
641
|
-
type: "stateChange";
|
|
642
|
-
state: ReconnectingWebSocketState;
|
|
643
|
-
} | {
|
|
644
|
-
type: "send";
|
|
645
|
-
message: ClientToServerMessage<State>;
|
|
646
|
-
} | {
|
|
647
|
-
type: "receive";
|
|
648
|
-
message: ServerToClientMessage<State>;
|
|
649
|
-
} | {
|
|
650
|
-
type: "error";
|
|
651
|
-
error: MultiplayerStateManagerError;
|
|
652
|
-
};
|
|
641
|
+
type ConnectionEvent<State> = ConnectionEvent$1<State>;
|
|
653
642
|
type ConnectionOptions<State> = {
|
|
654
643
|
debug?: boolean;
|
|
644
|
+
heartbeatIntervalMs?: number;
|
|
645
|
+
silentTimeoutMs?: number;
|
|
646
|
+
realtimeInputWatchdogMs?: number;
|
|
655
647
|
onConnectionEvent?: (event: ConnectionEvent<State>) => void;
|
|
656
648
|
};
|
|
657
649
|
declare class WebSocketConnection<State> {
|
|
@@ -659,15 +651,72 @@ declare class WebSocketConnection<State> {
|
|
|
659
651
|
private options;
|
|
660
652
|
private ws;
|
|
661
653
|
private closedForever;
|
|
654
|
+
private heartbeatIntervalHandle?;
|
|
655
|
+
private silentTimeoutHandle?;
|
|
656
|
+
private simulationClockPulseIntervalHandle?;
|
|
657
|
+
private simulationClockPulseSocket?;
|
|
658
|
+
private simulationClockDirectFailed;
|
|
659
|
+
private heartbeatSequence;
|
|
660
|
+
private pendingSimulationFrames;
|
|
661
|
+
private frameFlushHandle?;
|
|
662
|
+
private frameFlushScheduler?;
|
|
663
|
+
private droppedSimulationFrames;
|
|
664
|
+
private pendingFrameReceipts;
|
|
665
|
+
private deliveredSimulationFrameCursors;
|
|
666
|
+
private queuedRealtimeInputs;
|
|
667
|
+
/**
|
|
668
|
+
* A batch stays here until the server explicitly confirms ingestion.
|
|
669
|
+
* Reconnects resend these exact batches, so a frame that was already in
|
|
670
|
+
* flight can never create a hole in an input stream.
|
|
671
|
+
*/
|
|
672
|
+
private unconfirmedRealtimeBatches;
|
|
673
|
+
private lastSentRealtimeSequences;
|
|
674
|
+
private readonly realtimeInputSessionId;
|
|
675
|
+
private nextRealtimeInputBatchSequence;
|
|
676
|
+
private realtimeInputWatchdogHandle?;
|
|
677
|
+
private realtimeBatchesSent;
|
|
678
|
+
private realtimeInputsSent;
|
|
662
679
|
constructor(url: URL, options?: ConnectionOptions<State>);
|
|
663
680
|
connect(): Promise<void>;
|
|
664
681
|
private handleOpen;
|
|
665
682
|
private handleMessage;
|
|
683
|
+
private emitReceivedMessage;
|
|
684
|
+
private scheduleSimulationFrameFlush;
|
|
685
|
+
private flushSimulationFrames;
|
|
686
|
+
private shouldSuppressNonMonotonicObject;
|
|
687
|
+
private cancelSimulationFrameFlush;
|
|
666
688
|
private handleClose;
|
|
689
|
+
private startHeartbeat;
|
|
690
|
+
private armSilentTimeout;
|
|
691
|
+
private stopHeartbeat;
|
|
692
|
+
private applySimulationClockConfig;
|
|
693
|
+
private openSimulationClockPulseSocket;
|
|
694
|
+
private stopSimulationClockPulses;
|
|
695
|
+
getSimulationFrameDiagnostics(): {
|
|
696
|
+
pending: number;
|
|
697
|
+
dropped: number;
|
|
698
|
+
pendingReceipts: number;
|
|
699
|
+
queuedRealtimeInputs: number;
|
|
700
|
+
replayRealtimeInputs: number;
|
|
701
|
+
unconfirmedRealtimeBatches: number;
|
|
702
|
+
realtimeBatchesSent: number;
|
|
703
|
+
realtimeInputsSent: number;
|
|
704
|
+
realtimeWatchdogArmed: boolean;
|
|
705
|
+
simulationClockPulsesActive: boolean;
|
|
706
|
+
};
|
|
667
707
|
send(message: ClientToServerMessage<State>): void;
|
|
708
|
+
private sendTransportMessage;
|
|
709
|
+
private getRealtimeInputSequence;
|
|
710
|
+
private getContiguousRealtimeInputCount;
|
|
711
|
+
private flushRealtimeBatch;
|
|
712
|
+
private flushPendingFrameReceipts;
|
|
713
|
+
private armRealtimeInputWatchdog;
|
|
714
|
+
private stopRealtimeInputWatchdog;
|
|
715
|
+
private replayUnconfirmedRealtimeBatches;
|
|
716
|
+
private confirmRealtimeInputBatches;
|
|
668
717
|
close(): void;
|
|
669
718
|
addListener(listener: (state: ReconnectingWebSocketState) => void): () => void;
|
|
670
719
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
671
720
|
}
|
|
672
721
|
|
|
673
|
-
export { type AnyNoyaSingletonBindings, type AnyNoyaSingletonOptions, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, buildResourcePatchPayload, createDefaultAppData, createNoyaContext, createStateInspectorRoot, decodeAll, deleteNoyaSingleton, encodeAll, enforceSchema, exportAll, fetchAssetMap, getAppData, getNoyaManagerSingleton, getNoyaSingletonBindings, getSyncAdapter, importAll, initializeNoyaSingleton, parseAppDataParameter, replaceDeep, resourceToCreateParameters, resourceToMediaItem, useAIManager, useActivityEvents, useActivityEventsForManager, useAnyNoyaManager, useAnyNoyaStateContext, useAnySharedConnectionData, useAsset, useAssetManager, useAssets, useBindNoyaManager, useCallableAITools, useColorScheme, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaActiveUsers, useNoyaAssetTranscription, useNoyaCurrentUser, useNoyaCurrentUserId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserManager, useNoyaUsers, useObservable, useOptionalAnyNoyaStateContext, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResourceUrl, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|
|
722
|
+
export { type AnyNoyaSingletonBindings, type AnyNoyaSingletonOptions, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, buildResourcePatchPayload, createDefaultAppData, createNoyaContext, createStateInspectorRoot, decodeAll, deleteNoyaSingleton, encodeAll, enforceSchema, exportAll, fetchAssetMap, getAppData, getNoyaManagerSingleton, getNoyaSingletonBindings, getSyncAdapter, importAll, initializeNoyaSingleton, parseAppDataParameter, parseInspectorParameter, replaceDeep, resourceToCreateParameters, resourceToMediaItem, useAIManager, useActivityEvents, useActivityEventsForManager, useAnyNoyaManager, useAnyNoyaStateContext, useAnySharedConnectionData, useAsset, useAssetManager, useAssets, useBindNoyaManager, useCallableAITools, useColorScheme, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaActiveUsers, useNoyaAssetTranscription, useNoyaCurrentUser, useNoyaCurrentUserId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserManager, useNoyaUsers, useObservable, useOptionalAnyNoyaStateContext, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResourceUrl, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, UserManager, SharedConnectionDataManager, NoyaManager, StateManagerOptions, StateManager, NoyaManagerOptions, SyncAdapter, TSchema, AccessType, PolicyAuthContext, LocalStorageSyncOptions, Static, ExtractRequestBody, PublishCallback, ResourceManager, TranscriptionManager, AssetTranscriptionResult, StreamFilter, ActivityEventsManager, MultiplayerPatchMetadata, SafeEval, CreateParams, MultiplayerStateManager, ResourceUrlOptions,
|
|
2
|
+
import { AIToolDefinition, UserManager, SharedConnectionDataManager, NoyaManager, StateManagerOptions, StateManager, NoyaManagerOptions, SyncAdapter, TSchema, AccessType, PolicyAuthContext, LocalStorageSyncOptions, Static, ExtractRequestBody, PublishCallback, ResourceManager, TranscriptionManager, AssetTranscriptionResult, StreamFilter, ActivityEventsManager, MultiplayerPatchMetadata, SafeEval, CreateParams, MultiplayerStateManager, ResourceUrlOptions, ConnectionEvent as ConnectionEvent$1, ClientToServerMessage, ReconnectingWebSocketState } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps, Dispatch } from 'react';
|
|
5
5
|
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource, Resource, MediaItem, ResourceMap, ResourceCreateMap, OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
@@ -172,6 +172,7 @@ type GetAppDataOptions = {
|
|
|
172
172
|
};
|
|
173
173
|
declare function enforceSchema<State>(initialState: State, schema?: TSchema): State;
|
|
174
174
|
declare function parseAppDataParameter(options?: GetAppDataOptions): AppData<unknown> | null;
|
|
175
|
+
declare function parseInspectorParameter(options?: GetAppDataOptions): boolean | null;
|
|
175
176
|
declare function getAppData<State>(initialState: State | (() => State), schema?: TSchema, options?: GetAppDataOptions): AppData<State>;
|
|
176
177
|
declare function getSyncAdapter<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(params?: {
|
|
177
178
|
multiplayerUrl?: string;
|
|
@@ -637,21 +638,12 @@ declare function useObservable<T, P extends PathKey[] | string>(observable: Obse
|
|
|
637
638
|
|
|
638
639
|
declare function useResourceUrl(idOrStableId: string | undefined, options?: ResourceUrlOptions): string | undefined;
|
|
639
640
|
|
|
640
|
-
type ConnectionEvent<State> =
|
|
641
|
-
type: "stateChange";
|
|
642
|
-
state: ReconnectingWebSocketState;
|
|
643
|
-
} | {
|
|
644
|
-
type: "send";
|
|
645
|
-
message: ClientToServerMessage<State>;
|
|
646
|
-
} | {
|
|
647
|
-
type: "receive";
|
|
648
|
-
message: ServerToClientMessage<State>;
|
|
649
|
-
} | {
|
|
650
|
-
type: "error";
|
|
651
|
-
error: MultiplayerStateManagerError;
|
|
652
|
-
};
|
|
641
|
+
type ConnectionEvent<State> = ConnectionEvent$1<State>;
|
|
653
642
|
type ConnectionOptions<State> = {
|
|
654
643
|
debug?: boolean;
|
|
644
|
+
heartbeatIntervalMs?: number;
|
|
645
|
+
silentTimeoutMs?: number;
|
|
646
|
+
realtimeInputWatchdogMs?: number;
|
|
655
647
|
onConnectionEvent?: (event: ConnectionEvent<State>) => void;
|
|
656
648
|
};
|
|
657
649
|
declare class WebSocketConnection<State> {
|
|
@@ -659,15 +651,72 @@ declare class WebSocketConnection<State> {
|
|
|
659
651
|
private options;
|
|
660
652
|
private ws;
|
|
661
653
|
private closedForever;
|
|
654
|
+
private heartbeatIntervalHandle?;
|
|
655
|
+
private silentTimeoutHandle?;
|
|
656
|
+
private simulationClockPulseIntervalHandle?;
|
|
657
|
+
private simulationClockPulseSocket?;
|
|
658
|
+
private simulationClockDirectFailed;
|
|
659
|
+
private heartbeatSequence;
|
|
660
|
+
private pendingSimulationFrames;
|
|
661
|
+
private frameFlushHandle?;
|
|
662
|
+
private frameFlushScheduler?;
|
|
663
|
+
private droppedSimulationFrames;
|
|
664
|
+
private pendingFrameReceipts;
|
|
665
|
+
private deliveredSimulationFrameCursors;
|
|
666
|
+
private queuedRealtimeInputs;
|
|
667
|
+
/**
|
|
668
|
+
* A batch stays here until the server explicitly confirms ingestion.
|
|
669
|
+
* Reconnects resend these exact batches, so a frame that was already in
|
|
670
|
+
* flight can never create a hole in an input stream.
|
|
671
|
+
*/
|
|
672
|
+
private unconfirmedRealtimeBatches;
|
|
673
|
+
private lastSentRealtimeSequences;
|
|
674
|
+
private readonly realtimeInputSessionId;
|
|
675
|
+
private nextRealtimeInputBatchSequence;
|
|
676
|
+
private realtimeInputWatchdogHandle?;
|
|
677
|
+
private realtimeBatchesSent;
|
|
678
|
+
private realtimeInputsSent;
|
|
662
679
|
constructor(url: URL, options?: ConnectionOptions<State>);
|
|
663
680
|
connect(): Promise<void>;
|
|
664
681
|
private handleOpen;
|
|
665
682
|
private handleMessage;
|
|
683
|
+
private emitReceivedMessage;
|
|
684
|
+
private scheduleSimulationFrameFlush;
|
|
685
|
+
private flushSimulationFrames;
|
|
686
|
+
private shouldSuppressNonMonotonicObject;
|
|
687
|
+
private cancelSimulationFrameFlush;
|
|
666
688
|
private handleClose;
|
|
689
|
+
private startHeartbeat;
|
|
690
|
+
private armSilentTimeout;
|
|
691
|
+
private stopHeartbeat;
|
|
692
|
+
private applySimulationClockConfig;
|
|
693
|
+
private openSimulationClockPulseSocket;
|
|
694
|
+
private stopSimulationClockPulses;
|
|
695
|
+
getSimulationFrameDiagnostics(): {
|
|
696
|
+
pending: number;
|
|
697
|
+
dropped: number;
|
|
698
|
+
pendingReceipts: number;
|
|
699
|
+
queuedRealtimeInputs: number;
|
|
700
|
+
replayRealtimeInputs: number;
|
|
701
|
+
unconfirmedRealtimeBatches: number;
|
|
702
|
+
realtimeBatchesSent: number;
|
|
703
|
+
realtimeInputsSent: number;
|
|
704
|
+
realtimeWatchdogArmed: boolean;
|
|
705
|
+
simulationClockPulsesActive: boolean;
|
|
706
|
+
};
|
|
667
707
|
send(message: ClientToServerMessage<State>): void;
|
|
708
|
+
private sendTransportMessage;
|
|
709
|
+
private getRealtimeInputSequence;
|
|
710
|
+
private getContiguousRealtimeInputCount;
|
|
711
|
+
private flushRealtimeBatch;
|
|
712
|
+
private flushPendingFrameReceipts;
|
|
713
|
+
private armRealtimeInputWatchdog;
|
|
714
|
+
private stopRealtimeInputWatchdog;
|
|
715
|
+
private replayUnconfirmedRealtimeBatches;
|
|
716
|
+
private confirmRealtimeInputBatches;
|
|
668
717
|
close(): void;
|
|
669
718
|
addListener(listener: (state: ReconnectingWebSocketState) => void): () => void;
|
|
670
719
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
671
720
|
}
|
|
672
721
|
|
|
673
|
-
export { type AnyNoyaSingletonBindings, type AnyNoyaSingletonOptions, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, buildResourcePatchPayload, createDefaultAppData, createNoyaContext, createStateInspectorRoot, decodeAll, deleteNoyaSingleton, encodeAll, enforceSchema, exportAll, fetchAssetMap, getAppData, getNoyaManagerSingleton, getNoyaSingletonBindings, getSyncAdapter, importAll, initializeNoyaSingleton, parseAppDataParameter, replaceDeep, resourceToCreateParameters, resourceToMediaItem, useAIManager, useActivityEvents, useActivityEventsForManager, useAnyNoyaManager, useAnyNoyaStateContext, useAnySharedConnectionData, useAsset, useAssetManager, useAssets, useBindNoyaManager, useCallableAITools, useColorScheme, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaActiveUsers, useNoyaAssetTranscription, useNoyaCurrentUser, useNoyaCurrentUserId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserManager, useNoyaUsers, useObservable, useOptionalAnyNoyaStateContext, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResourceUrl, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|
|
722
|
+
export { type AnyNoyaSingletonBindings, type AnyNoyaSingletonOptions, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, buildResourcePatchPayload, createDefaultAppData, createNoyaContext, createStateInspectorRoot, decodeAll, deleteNoyaSingleton, encodeAll, enforceSchema, exportAll, fetchAssetMap, getAppData, getNoyaManagerSingleton, getNoyaSingletonBindings, getSyncAdapter, importAll, initializeNoyaSingleton, parseAppDataParameter, parseInspectorParameter, replaceDeep, resourceToCreateParameters, resourceToMediaItem, useAIManager, useActivityEvents, useActivityEventsForManager, useAnyNoyaManager, useAnyNoyaStateContext, useAnySharedConnectionData, useAsset, useAssetManager, useAssets, useBindNoyaManager, useCallableAITools, useColorScheme, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaActiveUsers, useNoyaAssetTranscription, useNoyaCurrentUser, useNoyaCurrentUserId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserManager, useNoyaUsers, useObservable, useOptionalAnyNoyaStateContext, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResourceUrl, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|