@noya-app/noya-multiplayer-react 0.1.71 → 0.1.73
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 +22 -0
- package/dist/index.bundle.js +42 -26
- package/dist/index.d.mts +69 -49
- package/dist/index.d.ts +69 -49
- package/dist/index.js +475 -253
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +418 -203
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -3
- package/src/NoyaStateContext.tsx +148 -97
- package/src/__tests__/noyaApp.test.ts +6 -0
- package/src/__tests__/resourcePayload.test.ts +24 -134
- package/src/components/UserPointersOverlay.tsx +18 -16
- package/src/hooks.ts +19 -12
- package/src/inspector/StateInspector.tsx +84 -36
- package/src/inspector/sections/ServerScriptLogsSection.tsx +128 -0
- package/src/inspector/serialization.ts +4 -2
- package/src/inspector/useStateInspector.tsx +2 -1
- package/src/noyaApp.ts +78 -20
- package/src/singleton.tsx +33 -9
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, UserManager,
|
|
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, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps, Dispatch } from 'react';
|
|
5
|
-
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource,
|
|
5
|
+
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource, Resource, MediaItem, ResourceMap, ResourceCreateMap, OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
6
6
|
import { Root } from 'react-dom/client';
|
|
7
7
|
import { MenuItem } from '@noya-app/noya-designsystem';
|
|
8
8
|
import { ObservableOptions, PathKey, GetAtPath, Observable } from '@noya-app/observable';
|
|
@@ -28,7 +28,7 @@ type RenderUserPointer = {
|
|
|
28
28
|
};
|
|
29
29
|
type UserPointersOverlayProps<E extends UserPointerData> = {
|
|
30
30
|
userManager: UserManager;
|
|
31
|
-
|
|
31
|
+
sharedConnectionDataManager: SharedConnectionDataManager<E>;
|
|
32
32
|
} & RenderUserPointer;
|
|
33
33
|
declare const UserPointersOverlay: <E extends UserPointerData>(props: UserPointersOverlayProps<E>) => React.ReactElement<any> | null;
|
|
34
34
|
|
|
@@ -38,23 +38,23 @@ type StateInspectorOptions = {
|
|
|
38
38
|
anchor?: StateInspectorAnchor;
|
|
39
39
|
advanced?: boolean;
|
|
40
40
|
};
|
|
41
|
-
declare const StateInspector: <S, M extends object, E extends object, MenuT extends string = string>(props: {
|
|
42
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
41
|
+
declare const StateInspector: <S, M extends object, E extends object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(props: {
|
|
42
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
43
43
|
unstyled?: boolean;
|
|
44
44
|
} & StateInspectorOptions & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">) => React.ReactElement<any> | null;
|
|
45
45
|
|
|
46
46
|
declare function useManagedState<S, M = void>(createInitialState: () => S, options?: StateManagerOptions<S, M>): readonly [S, (...args: M extends {} ? [metadata: M, action: SetStateAction<S>] : [action: SetStateAction<S>]) => void, StateManager<S, M>];
|
|
47
47
|
declare function useManagedHistory<S, M = void>(stateManager: StateManager<S, M>): _noya_app_state_manager.HistorySnapshot<S, M>;
|
|
48
|
-
type UseMultiplayerStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string> = NoyaManagerOptions<S, M> & {
|
|
49
|
-
sync?: SyncAdapter<S, M, E, MenuT>;
|
|
48
|
+
type UseMultiplayerStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = NoyaManagerOptions<S, M> & {
|
|
49
|
+
sync?: SyncAdapter<S, M, E, MenuT, I>;
|
|
50
50
|
inspector?: boolean | StateInspectorOptions;
|
|
51
51
|
};
|
|
52
|
-
declare function useBindNoyaManager<S, M extends object = object, E extends object = object, MenuT extends string = string>(noyaManager: NoyaManager<S, M, E, MenuT>, options?: Pick<UseMultiplayerStateOptions<S, M, E, MenuT>, "inspector" | "sync">): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
52
|
+
declare function useBindNoyaManager<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(noyaManager: NoyaManager<S, M, E, MenuT, I>, options?: Pick<UseMultiplayerStateOptions<S, M, E, MenuT, I>, "inspector" | "sync">): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
53
53
|
noyaManager: typeof noyaManager;
|
|
54
54
|
taskManager: typeof noyaManager.taskManager;
|
|
55
55
|
connectionEventManager: typeof noyaManager.connectionEventManager;
|
|
56
56
|
userManager: typeof noyaManager.userManager;
|
|
57
|
-
|
|
57
|
+
sharedConnectionDataManager: typeof noyaManager.sharedConnectionDataManager;
|
|
58
58
|
multiplayerStateManager: typeof noyaManager.multiplayerStateManager;
|
|
59
59
|
assetManager: typeof noyaManager.assetManager;
|
|
60
60
|
aiManager: typeof noyaManager.aiManager;
|
|
@@ -76,12 +76,12 @@ declare function useBindNoyaManager<S, M extends object = object, E extends obje
|
|
|
76
76
|
userId: string | null;
|
|
77
77
|
}[];
|
|
78
78
|
}];
|
|
79
|
-
declare function useMultiplayerState<S, M extends object = object, E extends object = object, MenuT extends string = string>(initialState: S | (() => S), options?: UseMultiplayerStateOptions<S, M, E, MenuT>): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
80
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
79
|
+
declare function useMultiplayerState<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(initialState: S | (() => S), options?: UseMultiplayerStateOptions<S, M, E, MenuT, I>): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
80
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
81
81
|
taskManager: _noya_app_state_manager.TaskManager;
|
|
82
82
|
connectionEventManager: _noya_app_state_manager.ConnectionEventManager<S>;
|
|
83
83
|
userManager: _noya_app_state_manager.UserManager;
|
|
84
|
-
|
|
84
|
+
sharedConnectionDataManager: _noya_app_state_manager.SharedConnectionDataManager<E>;
|
|
85
85
|
multiplayerStateManager: _noya_app_state_manager.MultiplayerStateManager<S, M>;
|
|
86
86
|
assetManager: _noya_app_state_manager.AssetManager;
|
|
87
87
|
aiManager: _noya_app_state_manager.AIManager;
|
|
@@ -105,14 +105,14 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
|
|
|
105
105
|
}];
|
|
106
106
|
|
|
107
107
|
declare function fetchAssetMap(assets: Asset[]): Promise<Record<string, Uint8Array>>;
|
|
108
|
-
declare function exportAll(noyaManager: NoyaManager<any, any, any, any>): Promise<Uint8Array>;
|
|
108
|
+
declare function exportAll(noyaManager: NoyaManager<any, any, any, any, any>): Promise<Uint8Array>;
|
|
109
109
|
declare function encodeAll({ state, schema, assets, assetMap, }: {
|
|
110
110
|
state: unknown;
|
|
111
111
|
schema?: TSchema;
|
|
112
112
|
assets: Asset[];
|
|
113
113
|
assetMap: Record<string, Uint8Array>;
|
|
114
114
|
}): Uint8Array;
|
|
115
|
-
declare function importAll(buffer: Uint8Array | ArrayBuffer, noyaManager: NoyaManager<any, any, any, any>, { shouldAllowSchemaChange, }?: {
|
|
115
|
+
declare function importAll(buffer: Uint8Array | ArrayBuffer, noyaManager: NoyaManager<any, any, any, any, any>, { shouldAllowSchemaChange, }?: {
|
|
116
116
|
shouldAllowSchemaChange?: ({ oldSchema, newSchema, }: {
|
|
117
117
|
oldSchema: TSchema;
|
|
118
118
|
newSchema: TSchema;
|
|
@@ -130,8 +130,8 @@ declare function createStateInspectorRoot(): {
|
|
|
130
130
|
root: Root;
|
|
131
131
|
unmount: () => void;
|
|
132
132
|
};
|
|
133
|
-
declare function useStateInspector<S, M extends object, E extends object, MenuT extends string = string>({ noyaManager, disabled, advanced, colorScheme, anchor, }: {
|
|
134
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
133
|
+
declare function useStateInspector<S, M extends object, E extends object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>({ noyaManager, disabled, advanced, colorScheme, anchor, }: {
|
|
134
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
135
135
|
disabled?: boolean;
|
|
136
136
|
advanced?: boolean;
|
|
137
137
|
colorScheme?: ComponentProps<typeof StateInspector>["colorScheme"];
|
|
@@ -148,6 +148,7 @@ type AppData<State> = {
|
|
|
148
148
|
inspector: boolean | StateInspectorOptions;
|
|
149
149
|
userId?: string;
|
|
150
150
|
isDemo: boolean;
|
|
151
|
+
access?: AccessType;
|
|
151
152
|
};
|
|
152
153
|
declare function createDefaultAppData<State>(initialState: State): AppData<State>;
|
|
153
154
|
type GetAppDataOptions = {
|
|
@@ -161,18 +162,20 @@ type GetAppDataOptions = {
|
|
|
161
162
|
declare function enforceSchema<State>(initialState: State, schema?: TSchema): State;
|
|
162
163
|
declare function parseAppDataParameter(options?: GetAppDataOptions): AppData<unknown> | null;
|
|
163
164
|
declare function getAppData<State>(initialState: State | (() => State), schema?: TSchema, options?: GetAppDataOptions): AppData<State>;
|
|
164
|
-
declare function getSyncAdapter<S, M extends object = object, E extends object = object, MenuT extends string = string>(params?: {
|
|
165
|
+
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?: {
|
|
165
166
|
multiplayerUrl?: string;
|
|
166
167
|
offlineStorageKey?: string;
|
|
167
168
|
debug?: boolean;
|
|
168
|
-
|
|
169
|
-
|
|
169
|
+
policyAuthContext?: PolicyAuthContext;
|
|
170
|
+
serverScripts?: LocalStorageSyncOptions["serverScripts"];
|
|
171
|
+
}): SyncAdapter<S, M, E, MenuT, I>;
|
|
172
|
+
type UseNoyaStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = UseMultiplayerStateOptions<S, M, E, MenuT, I> & {
|
|
170
173
|
offlineStorageKey?: string;
|
|
171
174
|
};
|
|
172
|
-
type UseNoyaStateResult<S, M extends object = object, E extends object = object, MenuT extends string = string> = [
|
|
173
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[0],
|
|
174
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[1],
|
|
175
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[2] & {
|
|
175
|
+
type UseNoyaStateResult<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = [
|
|
176
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[0],
|
|
177
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[1],
|
|
178
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[2] & {
|
|
176
179
|
theme: AppTheme;
|
|
177
180
|
viewType: AppViewType;
|
|
178
181
|
isDemo: boolean;
|
|
@@ -187,38 +190,34 @@ type UseNoyaStateResult<S, M extends object = object, E extends object = object,
|
|
|
187
190
|
* 2. Pass an initial state and a schema: `useNoyaState(initialState, { schema })`
|
|
188
191
|
* 3. Pass only a schema, and a conforming initial state is created automatically: `useNoyaState({ schema })`
|
|
189
192
|
*/
|
|
190
|
-
declare function useNoyaStateInternal<S, M extends object = object, E extends object = object, MenuT extends string = string, O extends UseNoyaStateOptions<S, M, E, MenuT> = UseNoyaStateOptions<S, M, E, MenuT>>(...args: [
|
|
193
|
+
declare function useNoyaStateInternal<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>, O extends UseNoyaStateOptions<S, M, E, MenuT, I> = UseNoyaStateOptions<S, M, E, MenuT, I>>(...args: [
|
|
191
194
|
initialState: O["schema"] extends TSchema ? Static<O["schema"]> | (() => Static<O["schema"]>) : S | (() => S),
|
|
192
195
|
options?: O
|
|
193
196
|
] | [options: O & {
|
|
194
197
|
schema: TSchema;
|
|
195
|
-
}]): UseNoyaStateResult<O["schema"] extends TSchema ? Static<O["schema"]> : S, M, E, MenuT>;
|
|
198
|
+
}]): UseNoyaStateResult<O["schema"] extends TSchema ? Static<O["schema"]> : S, M, E, MenuT, I>;
|
|
196
199
|
|
|
197
200
|
declare function resourceToCreateParameters(resource: ResourceCreate): CreateResourceParametersWithoutAccessibleByFileId;
|
|
198
|
-
type
|
|
201
|
+
type ResourcePatchRequestBody = ExtractRequestBody<"PATCH /api/resources">;
|
|
202
|
+
type BuildResourcePatchPayloadParameters = {
|
|
199
203
|
addedResources: ResourceCreate[];
|
|
200
204
|
modifiedResources: ModifiedResource[];
|
|
201
|
-
|
|
202
|
-
resourceMap: ResourceMap;
|
|
205
|
+
removedResources: Resource[];
|
|
203
206
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
consumedModifiedResourceIds: string[];
|
|
207
|
-
};
|
|
208
|
-
declare function buildCreateResourcePayload({ addedResources, modifiedResources, newResourceMap, resourceMap, }: BuildCreateResourcePayloadParameters): BuildCreateResourcePayloadResult;
|
|
209
|
-
interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT extends string> extends Omit<UseNoyaStateOptions<S, M, E, MenuT>, "schema" | "mergeHistoryEntries"> {
|
|
207
|
+
declare function buildResourcePatchPayload({ addedResources, modifiedResources, removedResources, }: BuildResourcePatchPayloadParameters): ResourcePatchRequestBody;
|
|
208
|
+
interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>> extends Omit<UseNoyaStateOptions<S, M, E, MenuT, I>, "schema" | "mergeHistoryEntries"> {
|
|
210
209
|
children: React.ReactNode;
|
|
211
210
|
initialState?: S;
|
|
212
211
|
fallback?: React.ReactNode;
|
|
213
212
|
}
|
|
214
213
|
type AnyNoyaStateContextValue = {
|
|
215
|
-
noyaManager: NoyaManager<any, any, any, any>;
|
|
214
|
+
noyaManager: NoyaManager<any, any, any, any, any>;
|
|
216
215
|
theme: AppTheme;
|
|
217
216
|
viewType: AppViewType;
|
|
218
217
|
};
|
|
219
218
|
declare const AnyNoyaStateContext: React.Context<AnyNoyaStateContextValue | undefined>;
|
|
220
219
|
declare function useAnyNoyaStateContext(): AnyNoyaStateContextValue;
|
|
221
|
-
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any>;
|
|
220
|
+
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any, any>;
|
|
222
221
|
declare function useColorScheme(): AppTheme;
|
|
223
222
|
declare function useViewType(): AppViewType;
|
|
224
223
|
declare function useAssets(): {
|
|
@@ -385,13 +384,33 @@ declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
|
385
384
|
declare function useUserManager(): _noya_app_state_manager.UserManager;
|
|
386
385
|
declare function useConnectedUsers(): _noya_app_state_manager.MultiplayerUser[];
|
|
387
386
|
declare function useConnectedUser(userId?: string | null): _noya_app_state_manager.MultiplayerUser | undefined;
|
|
388
|
-
declare function
|
|
389
|
-
declare function
|
|
387
|
+
declare function useAnySharedConnectionData(): SharedConnectionDataManager<any>;
|
|
388
|
+
declare function useEnqueueInput<I extends Record<string, any> = Record<string, unknown>>(): NoyaManager<any, any, any, any, I>["enqueueInput"];
|
|
389
|
+
declare function useNoyaUser(): _noya_app_state_manager.MultiplayerUser | undefined;
|
|
390
|
+
declare function useNoyaId(): string | undefined;
|
|
391
|
+
declare function useNoyaUserId(): string | undefined;
|
|
392
|
+
declare function useNoyaConnectionId(): string | undefined;
|
|
393
|
+
declare function useNoyaClientId(): string | undefined;
|
|
390
394
|
declare function useIsProcessing(): boolean;
|
|
391
395
|
declare function useFileName(): string | undefined;
|
|
392
396
|
declare function useFilePropertyManager(): _noya_app_state_manager.FilePropertyManager;
|
|
393
397
|
declare function useSetFileNameState(): readonly [string | undefined, (name: string) => Promise<string>];
|
|
394
398
|
declare function useResourceManager(): ResourceManager;
|
|
399
|
+
declare function useNoyaTranscriptionManager(): TranscriptionManager;
|
|
400
|
+
type UseNoyaAssetTranscriptionOptions = {
|
|
401
|
+
endpoint?: string;
|
|
402
|
+
apiKey?: string;
|
|
403
|
+
};
|
|
404
|
+
/**
|
|
405
|
+
* Returns a text transcription for the given assetId.
|
|
406
|
+
*
|
|
407
|
+
* - This API is available when running your app on noya.io, not when running it locally.
|
|
408
|
+
* - An asset must first be uploaded via the `useAssetManager().create()` method before
|
|
409
|
+
* it can be transcribed via this API.
|
|
410
|
+
* - The asset must be a valid audio or video file.
|
|
411
|
+
*/
|
|
412
|
+
declare function useNoyaAssetTranscription(assetId: string, options?: UseNoyaAssetTranscriptionOptions): AssetTranscriptionResult;
|
|
413
|
+
declare function useNoyaAssetTranscription(assetId?: string, options?: UseNoyaAssetTranscriptionOptions): AssetTranscriptionResult | undefined;
|
|
395
414
|
declare function resourceToMediaItem(resource: Resource): MediaItem;
|
|
396
415
|
declare function useResources({ shouldDeleteAssets, }?: {
|
|
397
416
|
shouldDeleteAssets?: boolean;
|
|
@@ -402,15 +421,15 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
|
|
|
402
421
|
children: React.ReactNode;
|
|
403
422
|
fallback?: React.ReactNode;
|
|
404
423
|
}) => React.ReactNode;
|
|
405
|
-
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, safeEval, }: {
|
|
424
|
+
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>({ schema, mergeHistoryEntries, outputTransforms, inputs, safeEval, }: {
|
|
406
425
|
schema: Schema;
|
|
407
426
|
mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>["mergeHistoryEntries"];
|
|
408
427
|
safeEval?: SafeEval;
|
|
409
428
|
outputTransforms?: CreateParams<OutputTransform>[];
|
|
410
429
|
inputs?: CreateParams<Input>[];
|
|
411
430
|
}): {
|
|
412
|
-
Context: React.Context<NoyaManager<Static<Schema>, M, E,
|
|
413
|
-
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
|
|
431
|
+
Context: React.Context<NoyaManager<Static<Schema>, M, E, MenuT, I> | undefined>;
|
|
432
|
+
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT, I>) => React.JSX.Element;
|
|
414
433
|
NoyaContextProvider: ({ children, contextValue, }: {
|
|
415
434
|
children: React.ReactNode;
|
|
416
435
|
contextValue: AnyNoyaStateContextValue;
|
|
@@ -430,14 +449,14 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
|
|
|
430
449
|
<P extends PathKey[] | string>(path?: P): [GetAtPath<Static<Schema>, P>, (...args: [metadata: Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, value: SetStateAction<GetAtPath<Static<Schema>, P>>] | [value: SetStateAction<GetAtPath<Static<Schema>, P>>]) => void];
|
|
431
450
|
};
|
|
432
451
|
useStateManager: () => MultiplayerStateManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>>;
|
|
433
|
-
|
|
452
|
+
useSharedConnectionDataManager: () => SharedConnectionDataManager<E>;
|
|
434
453
|
useLeftMenuItems: () => MenuItem<MenuT>[];
|
|
435
454
|
useSetLeftMenuItems: (leftMenuItems?: MenuItem<MenuT>[]) => void;
|
|
436
455
|
useRightMenuItems: () => MenuItem<MenuT>[];
|
|
437
456
|
useSetRightMenuItems: (rightMenuItems?: MenuItem<MenuT>[]) => void;
|
|
438
457
|
useHandleMenuItem: (callback: (type: MenuT) => void) => void;
|
|
439
458
|
useOnSelectMenuItemCallback: () => (type: MenuT) => void;
|
|
440
|
-
useNoyaManager: () => NoyaManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, E, MenuT>;
|
|
459
|
+
useNoyaManager: () => NoyaManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, E, MenuT, I>;
|
|
441
460
|
useMenu: (options: {
|
|
442
461
|
leftMenuItems?: MenuItem<MenuT>[];
|
|
443
462
|
rightMenuItems?: MenuItem<MenuT>[];
|
|
@@ -446,24 +465,25 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
|
|
|
446
465
|
};
|
|
447
466
|
|
|
448
467
|
type AnyNoyaSingletonBindings = {
|
|
449
|
-
sync?: SyncAdapter<any, any, any, any>;
|
|
468
|
+
sync?: SyncAdapter<any, any, any, any, any>;
|
|
450
469
|
inspector?: boolean | StateInspectorOptions;
|
|
451
470
|
theme: AppTheme;
|
|
452
471
|
viewType: AppViewType;
|
|
453
472
|
userId?: string;
|
|
454
473
|
isDemo: boolean;
|
|
455
474
|
};
|
|
456
|
-
type AnyNoyaSingletonOptions<S, M extends object, E extends object, MenuT extends string> = NoyaManagerOptions<S, M> & {
|
|
475
|
+
type AnyNoyaSingletonOptions<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>> = NoyaManagerOptions<S, M> & {
|
|
457
476
|
initialState?: S | (() => S);
|
|
458
|
-
sync?: SyncAdapter<S, M, E, MenuT>;
|
|
477
|
+
sync?: SyncAdapter<S, M, E, MenuT, I>;
|
|
459
478
|
inspector?: boolean | StateInspectorOptions;
|
|
460
479
|
theme?: AppTheme;
|
|
461
480
|
viewType?: AppViewType;
|
|
462
481
|
offlineStorageKey?: string;
|
|
463
482
|
multiplayerUrl?: string;
|
|
483
|
+
serverScripts?: LocalStorageSyncOptions["serverScripts"];
|
|
464
484
|
};
|
|
465
|
-
declare function initializeNoyaSingleton<S, M extends object, E extends object, MenuT extends string>(options?: AnyNoyaSingletonOptions<S, M, E, MenuT>): void;
|
|
466
|
-
declare function getNoyaManagerSingleton(): NoyaManager<any, any, any, any>;
|
|
485
|
+
declare function initializeNoyaSingleton<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>>(options?: AnyNoyaSingletonOptions<S, M, E, MenuT, I>): void;
|
|
486
|
+
declare function getNoyaManagerSingleton(): NoyaManager<any, any, any, any, any>;
|
|
467
487
|
declare function getNoyaSingletonBindings(): AnyNoyaSingletonBindings | undefined;
|
|
468
488
|
declare function deleteNoyaSingleton(): void;
|
|
469
489
|
|
|
@@ -507,4 +527,4 @@ declare class WebSocketConnection<State> {
|
|
|
507
527
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
508
528
|
}
|
|
509
529
|
|
|
510
|
-
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,
|
|
530
|
+
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, useConnectedUser, useConnectedUsers, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaAssetTranscription, useNoyaClientId, useNoyaConnectionId, useNoyaId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserId, useObservable, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResources, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useUserManager, useViewType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, UserManager,
|
|
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, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps, Dispatch } from 'react';
|
|
5
|
-
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource,
|
|
5
|
+
import { Asset, ResourceCreate, CreateResourceParametersWithoutAccessibleByFileId, ModifiedResource, Resource, MediaItem, ResourceMap, ResourceCreateMap, OutputTransform, Input } from '@noya-app/noya-schemas';
|
|
6
6
|
import { Root } from 'react-dom/client';
|
|
7
7
|
import { MenuItem } from '@noya-app/noya-designsystem';
|
|
8
8
|
import { ObservableOptions, PathKey, GetAtPath, Observable } from '@noya-app/observable';
|
|
@@ -28,7 +28,7 @@ type RenderUserPointer = {
|
|
|
28
28
|
};
|
|
29
29
|
type UserPointersOverlayProps<E extends UserPointerData> = {
|
|
30
30
|
userManager: UserManager;
|
|
31
|
-
|
|
31
|
+
sharedConnectionDataManager: SharedConnectionDataManager<E>;
|
|
32
32
|
} & RenderUserPointer;
|
|
33
33
|
declare const UserPointersOverlay: <E extends UserPointerData>(props: UserPointersOverlayProps<E>) => React.ReactElement<any> | null;
|
|
34
34
|
|
|
@@ -38,23 +38,23 @@ type StateInspectorOptions = {
|
|
|
38
38
|
anchor?: StateInspectorAnchor;
|
|
39
39
|
advanced?: boolean;
|
|
40
40
|
};
|
|
41
|
-
declare const StateInspector: <S, M extends object, E extends object, MenuT extends string = string>(props: {
|
|
42
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
41
|
+
declare const StateInspector: <S, M extends object, E extends object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(props: {
|
|
42
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
43
43
|
unstyled?: boolean;
|
|
44
44
|
} & StateInspectorOptions & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">) => React.ReactElement<any> | null;
|
|
45
45
|
|
|
46
46
|
declare function useManagedState<S, M = void>(createInitialState: () => S, options?: StateManagerOptions<S, M>): readonly [S, (...args: M extends {} ? [metadata: M, action: SetStateAction<S>] : [action: SetStateAction<S>]) => void, StateManager<S, M>];
|
|
47
47
|
declare function useManagedHistory<S, M = void>(stateManager: StateManager<S, M>): _noya_app_state_manager.HistorySnapshot<S, M>;
|
|
48
|
-
type UseMultiplayerStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string> = NoyaManagerOptions<S, M> & {
|
|
49
|
-
sync?: SyncAdapter<S, M, E, MenuT>;
|
|
48
|
+
type UseMultiplayerStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = NoyaManagerOptions<S, M> & {
|
|
49
|
+
sync?: SyncAdapter<S, M, E, MenuT, I>;
|
|
50
50
|
inspector?: boolean | StateInspectorOptions;
|
|
51
51
|
};
|
|
52
|
-
declare function useBindNoyaManager<S, M extends object = object, E extends object = object, MenuT extends string = string>(noyaManager: NoyaManager<S, M, E, MenuT>, options?: Pick<UseMultiplayerStateOptions<S, M, E, MenuT>, "inspector" | "sync">): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
52
|
+
declare function useBindNoyaManager<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(noyaManager: NoyaManager<S, M, E, MenuT, I>, options?: Pick<UseMultiplayerStateOptions<S, M, E, MenuT, I>, "inspector" | "sync">): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
53
53
|
noyaManager: typeof noyaManager;
|
|
54
54
|
taskManager: typeof noyaManager.taskManager;
|
|
55
55
|
connectionEventManager: typeof noyaManager.connectionEventManager;
|
|
56
56
|
userManager: typeof noyaManager.userManager;
|
|
57
|
-
|
|
57
|
+
sharedConnectionDataManager: typeof noyaManager.sharedConnectionDataManager;
|
|
58
58
|
multiplayerStateManager: typeof noyaManager.multiplayerStateManager;
|
|
59
59
|
assetManager: typeof noyaManager.assetManager;
|
|
60
60
|
aiManager: typeof noyaManager.aiManager;
|
|
@@ -76,12 +76,12 @@ declare function useBindNoyaManager<S, M extends object = object, E extends obje
|
|
|
76
76
|
userId: string | null;
|
|
77
77
|
}[];
|
|
78
78
|
}];
|
|
79
|
-
declare function useMultiplayerState<S, M extends object = object, E extends object = object, MenuT extends string = string>(initialState: S | (() => S), options?: UseMultiplayerStateOptions<S, M, E, MenuT>): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
80
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
79
|
+
declare function useMultiplayerState<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>(initialState: S | (() => S), options?: UseMultiplayerStateOptions<S, M, E, MenuT, I>): readonly [S, (...args: [metadata: Partial<M>, action: S | ((prevState: S) => S)] | [action: S | ((prevState: S) => S)]) => void, {
|
|
80
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
81
81
|
taskManager: _noya_app_state_manager.TaskManager;
|
|
82
82
|
connectionEventManager: _noya_app_state_manager.ConnectionEventManager<S>;
|
|
83
83
|
userManager: _noya_app_state_manager.UserManager;
|
|
84
|
-
|
|
84
|
+
sharedConnectionDataManager: _noya_app_state_manager.SharedConnectionDataManager<E>;
|
|
85
85
|
multiplayerStateManager: _noya_app_state_manager.MultiplayerStateManager<S, M>;
|
|
86
86
|
assetManager: _noya_app_state_manager.AssetManager;
|
|
87
87
|
aiManager: _noya_app_state_manager.AIManager;
|
|
@@ -105,14 +105,14 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
|
|
|
105
105
|
}];
|
|
106
106
|
|
|
107
107
|
declare function fetchAssetMap(assets: Asset[]): Promise<Record<string, Uint8Array>>;
|
|
108
|
-
declare function exportAll(noyaManager: NoyaManager<any, any, any, any>): Promise<Uint8Array>;
|
|
108
|
+
declare function exportAll(noyaManager: NoyaManager<any, any, any, any, any>): Promise<Uint8Array>;
|
|
109
109
|
declare function encodeAll({ state, schema, assets, assetMap, }: {
|
|
110
110
|
state: unknown;
|
|
111
111
|
schema?: TSchema;
|
|
112
112
|
assets: Asset[];
|
|
113
113
|
assetMap: Record<string, Uint8Array>;
|
|
114
114
|
}): Uint8Array;
|
|
115
|
-
declare function importAll(buffer: Uint8Array | ArrayBuffer, noyaManager: NoyaManager<any, any, any, any>, { shouldAllowSchemaChange, }?: {
|
|
115
|
+
declare function importAll(buffer: Uint8Array | ArrayBuffer, noyaManager: NoyaManager<any, any, any, any, any>, { shouldAllowSchemaChange, }?: {
|
|
116
116
|
shouldAllowSchemaChange?: ({ oldSchema, newSchema, }: {
|
|
117
117
|
oldSchema: TSchema;
|
|
118
118
|
newSchema: TSchema;
|
|
@@ -130,8 +130,8 @@ declare function createStateInspectorRoot(): {
|
|
|
130
130
|
root: Root;
|
|
131
131
|
unmount: () => void;
|
|
132
132
|
};
|
|
133
|
-
declare function useStateInspector<S, M extends object, E extends object, MenuT extends string = string>({ noyaManager, disabled, advanced, colorScheme, anchor, }: {
|
|
134
|
-
noyaManager: NoyaManager<S, M, E, MenuT>;
|
|
133
|
+
declare function useStateInspector<S, M extends object, E extends object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>({ noyaManager, disabled, advanced, colorScheme, anchor, }: {
|
|
134
|
+
noyaManager: NoyaManager<S, M, E, MenuT, I>;
|
|
135
135
|
disabled?: boolean;
|
|
136
136
|
advanced?: boolean;
|
|
137
137
|
colorScheme?: ComponentProps<typeof StateInspector>["colorScheme"];
|
|
@@ -148,6 +148,7 @@ type AppData<State> = {
|
|
|
148
148
|
inspector: boolean | StateInspectorOptions;
|
|
149
149
|
userId?: string;
|
|
150
150
|
isDemo: boolean;
|
|
151
|
+
access?: AccessType;
|
|
151
152
|
};
|
|
152
153
|
declare function createDefaultAppData<State>(initialState: State): AppData<State>;
|
|
153
154
|
type GetAppDataOptions = {
|
|
@@ -161,18 +162,20 @@ type GetAppDataOptions = {
|
|
|
161
162
|
declare function enforceSchema<State>(initialState: State, schema?: TSchema): State;
|
|
162
163
|
declare function parseAppDataParameter(options?: GetAppDataOptions): AppData<unknown> | null;
|
|
163
164
|
declare function getAppData<State>(initialState: State | (() => State), schema?: TSchema, options?: GetAppDataOptions): AppData<State>;
|
|
164
|
-
declare function getSyncAdapter<S, M extends object = object, E extends object = object, MenuT extends string = string>(params?: {
|
|
165
|
+
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?: {
|
|
165
166
|
multiplayerUrl?: string;
|
|
166
167
|
offlineStorageKey?: string;
|
|
167
168
|
debug?: boolean;
|
|
168
|
-
|
|
169
|
-
|
|
169
|
+
policyAuthContext?: PolicyAuthContext;
|
|
170
|
+
serverScripts?: LocalStorageSyncOptions["serverScripts"];
|
|
171
|
+
}): SyncAdapter<S, M, E, MenuT, I>;
|
|
172
|
+
type UseNoyaStateOptions<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = UseMultiplayerStateOptions<S, M, E, MenuT, I> & {
|
|
170
173
|
offlineStorageKey?: string;
|
|
171
174
|
};
|
|
172
|
-
type UseNoyaStateResult<S, M extends object = object, E extends object = object, MenuT extends string = string> = [
|
|
173
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[0],
|
|
174
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[1],
|
|
175
|
-
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT>>[2] & {
|
|
175
|
+
type UseNoyaStateResult<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>> = [
|
|
176
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[0],
|
|
177
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[1],
|
|
178
|
+
ReturnType<typeof useBindNoyaManager<S, M, E, MenuT, I>>[2] & {
|
|
176
179
|
theme: AppTheme;
|
|
177
180
|
viewType: AppViewType;
|
|
178
181
|
isDemo: boolean;
|
|
@@ -187,38 +190,34 @@ type UseNoyaStateResult<S, M extends object = object, E extends object = object,
|
|
|
187
190
|
* 2. Pass an initial state and a schema: `useNoyaState(initialState, { schema })`
|
|
188
191
|
* 3. Pass only a schema, and a conforming initial state is created automatically: `useNoyaState({ schema })`
|
|
189
192
|
*/
|
|
190
|
-
declare function useNoyaStateInternal<S, M extends object = object, E extends object = object, MenuT extends string = string, O extends UseNoyaStateOptions<S, M, E, MenuT> = UseNoyaStateOptions<S, M, E, MenuT>>(...args: [
|
|
193
|
+
declare function useNoyaStateInternal<S, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>, O extends UseNoyaStateOptions<S, M, E, MenuT, I> = UseNoyaStateOptions<S, M, E, MenuT, I>>(...args: [
|
|
191
194
|
initialState: O["schema"] extends TSchema ? Static<O["schema"]> | (() => Static<O["schema"]>) : S | (() => S),
|
|
192
195
|
options?: O
|
|
193
196
|
] | [options: O & {
|
|
194
197
|
schema: TSchema;
|
|
195
|
-
}]): UseNoyaStateResult<O["schema"] extends TSchema ? Static<O["schema"]> : S, M, E, MenuT>;
|
|
198
|
+
}]): UseNoyaStateResult<O["schema"] extends TSchema ? Static<O["schema"]> : S, M, E, MenuT, I>;
|
|
196
199
|
|
|
197
200
|
declare function resourceToCreateParameters(resource: ResourceCreate): CreateResourceParametersWithoutAccessibleByFileId;
|
|
198
|
-
type
|
|
201
|
+
type ResourcePatchRequestBody = ExtractRequestBody<"PATCH /api/resources">;
|
|
202
|
+
type BuildResourcePatchPayloadParameters = {
|
|
199
203
|
addedResources: ResourceCreate[];
|
|
200
204
|
modifiedResources: ModifiedResource[];
|
|
201
|
-
|
|
202
|
-
resourceMap: ResourceMap;
|
|
205
|
+
removedResources: Resource[];
|
|
203
206
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
consumedModifiedResourceIds: string[];
|
|
207
|
-
};
|
|
208
|
-
declare function buildCreateResourcePayload({ addedResources, modifiedResources, newResourceMap, resourceMap, }: BuildCreateResourcePayloadParameters): BuildCreateResourcePayloadResult;
|
|
209
|
-
interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT extends string> extends Omit<UseNoyaStateOptions<S, M, E, MenuT>, "schema" | "mergeHistoryEntries"> {
|
|
207
|
+
declare function buildResourcePatchPayload({ addedResources, modifiedResources, removedResources, }: BuildResourcePatchPayloadParameters): ResourcePatchRequestBody;
|
|
208
|
+
interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>> extends Omit<UseNoyaStateOptions<S, M, E, MenuT, I>, "schema" | "mergeHistoryEntries"> {
|
|
210
209
|
children: React.ReactNode;
|
|
211
210
|
initialState?: S;
|
|
212
211
|
fallback?: React.ReactNode;
|
|
213
212
|
}
|
|
214
213
|
type AnyNoyaStateContextValue = {
|
|
215
|
-
noyaManager: NoyaManager<any, any, any, any>;
|
|
214
|
+
noyaManager: NoyaManager<any, any, any, any, any>;
|
|
216
215
|
theme: AppTheme;
|
|
217
216
|
viewType: AppViewType;
|
|
218
217
|
};
|
|
219
218
|
declare const AnyNoyaStateContext: React.Context<AnyNoyaStateContextValue | undefined>;
|
|
220
219
|
declare function useAnyNoyaStateContext(): AnyNoyaStateContextValue;
|
|
221
|
-
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any>;
|
|
220
|
+
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any, any>;
|
|
222
221
|
declare function useColorScheme(): AppTheme;
|
|
223
222
|
declare function useViewType(): AppViewType;
|
|
224
223
|
declare function useAssets(): {
|
|
@@ -385,13 +384,33 @@ declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
|
385
384
|
declare function useUserManager(): _noya_app_state_manager.UserManager;
|
|
386
385
|
declare function useConnectedUsers(): _noya_app_state_manager.MultiplayerUser[];
|
|
387
386
|
declare function useConnectedUser(userId?: string | null): _noya_app_state_manager.MultiplayerUser | undefined;
|
|
388
|
-
declare function
|
|
389
|
-
declare function
|
|
387
|
+
declare function useAnySharedConnectionData(): SharedConnectionDataManager<any>;
|
|
388
|
+
declare function useEnqueueInput<I extends Record<string, any> = Record<string, unknown>>(): NoyaManager<any, any, any, any, I>["enqueueInput"];
|
|
389
|
+
declare function useNoyaUser(): _noya_app_state_manager.MultiplayerUser | undefined;
|
|
390
|
+
declare function useNoyaId(): string | undefined;
|
|
391
|
+
declare function useNoyaUserId(): string | undefined;
|
|
392
|
+
declare function useNoyaConnectionId(): string | undefined;
|
|
393
|
+
declare function useNoyaClientId(): string | undefined;
|
|
390
394
|
declare function useIsProcessing(): boolean;
|
|
391
395
|
declare function useFileName(): string | undefined;
|
|
392
396
|
declare function useFilePropertyManager(): _noya_app_state_manager.FilePropertyManager;
|
|
393
397
|
declare function useSetFileNameState(): readonly [string | undefined, (name: string) => Promise<string>];
|
|
394
398
|
declare function useResourceManager(): ResourceManager;
|
|
399
|
+
declare function useNoyaTranscriptionManager(): TranscriptionManager;
|
|
400
|
+
type UseNoyaAssetTranscriptionOptions = {
|
|
401
|
+
endpoint?: string;
|
|
402
|
+
apiKey?: string;
|
|
403
|
+
};
|
|
404
|
+
/**
|
|
405
|
+
* Returns a text transcription for the given assetId.
|
|
406
|
+
*
|
|
407
|
+
* - This API is available when running your app on noya.io, not when running it locally.
|
|
408
|
+
* - An asset must first be uploaded via the `useAssetManager().create()` method before
|
|
409
|
+
* it can be transcribed via this API.
|
|
410
|
+
* - The asset must be a valid audio or video file.
|
|
411
|
+
*/
|
|
412
|
+
declare function useNoyaAssetTranscription(assetId: string, options?: UseNoyaAssetTranscriptionOptions): AssetTranscriptionResult;
|
|
413
|
+
declare function useNoyaAssetTranscription(assetId?: string, options?: UseNoyaAssetTranscriptionOptions): AssetTranscriptionResult | undefined;
|
|
395
414
|
declare function resourceToMediaItem(resource: Resource): MediaItem;
|
|
396
415
|
declare function useResources({ shouldDeleteAssets, }?: {
|
|
397
416
|
shouldDeleteAssets?: boolean;
|
|
@@ -402,15 +421,15 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
|
|
|
402
421
|
children: React.ReactNode;
|
|
403
422
|
fallback?: React.ReactNode;
|
|
404
423
|
}) => React.ReactNode;
|
|
405
|
-
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, safeEval, }: {
|
|
424
|
+
declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string, I extends Record<string, any> = Record<string, unknown>>({ schema, mergeHistoryEntries, outputTransforms, inputs, safeEval, }: {
|
|
406
425
|
schema: Schema;
|
|
407
426
|
mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>["mergeHistoryEntries"];
|
|
408
427
|
safeEval?: SafeEval;
|
|
409
428
|
outputTransforms?: CreateParams<OutputTransform>[];
|
|
410
429
|
inputs?: CreateParams<Input>[];
|
|
411
430
|
}): {
|
|
412
|
-
Context: React.Context<NoyaManager<Static<Schema>, M, E,
|
|
413
|
-
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
|
|
431
|
+
Context: React.Context<NoyaManager<Static<Schema>, M, E, MenuT, I> | undefined>;
|
|
432
|
+
Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT, I>) => React.JSX.Element;
|
|
414
433
|
NoyaContextProvider: ({ children, contextValue, }: {
|
|
415
434
|
children: React.ReactNode;
|
|
416
435
|
contextValue: AnyNoyaStateContextValue;
|
|
@@ -430,14 +449,14 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
|
|
|
430
449
|
<P extends PathKey[] | string>(path?: P): [GetAtPath<Static<Schema>, P>, (...args: [metadata: Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, value: SetStateAction<GetAtPath<Static<Schema>, P>>] | [value: SetStateAction<GetAtPath<Static<Schema>, P>>]) => void];
|
|
431
450
|
};
|
|
432
451
|
useStateManager: () => MultiplayerStateManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>>;
|
|
433
|
-
|
|
452
|
+
useSharedConnectionDataManager: () => SharedConnectionDataManager<E>;
|
|
434
453
|
useLeftMenuItems: () => MenuItem<MenuT>[];
|
|
435
454
|
useSetLeftMenuItems: (leftMenuItems?: MenuItem<MenuT>[]) => void;
|
|
436
455
|
useRightMenuItems: () => MenuItem<MenuT>[];
|
|
437
456
|
useSetRightMenuItems: (rightMenuItems?: MenuItem<MenuT>[]) => void;
|
|
438
457
|
useHandleMenuItem: (callback: (type: MenuT) => void) => void;
|
|
439
458
|
useOnSelectMenuItemCallback: () => (type: MenuT) => void;
|
|
440
|
-
useNoyaManager: () => NoyaManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, E, MenuT>;
|
|
459
|
+
useNoyaManager: () => NoyaManager<Static<Schema>, Partial<M & Pick<MultiplayerPatchMetadata, "name" | "timestamp">>, E, MenuT, I>;
|
|
441
460
|
useMenu: (options: {
|
|
442
461
|
leftMenuItems?: MenuItem<MenuT>[];
|
|
443
462
|
rightMenuItems?: MenuItem<MenuT>[];
|
|
@@ -446,24 +465,25 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
|
|
|
446
465
|
};
|
|
447
466
|
|
|
448
467
|
type AnyNoyaSingletonBindings = {
|
|
449
|
-
sync?: SyncAdapter<any, any, any, any>;
|
|
468
|
+
sync?: SyncAdapter<any, any, any, any, any>;
|
|
450
469
|
inspector?: boolean | StateInspectorOptions;
|
|
451
470
|
theme: AppTheme;
|
|
452
471
|
viewType: AppViewType;
|
|
453
472
|
userId?: string;
|
|
454
473
|
isDemo: boolean;
|
|
455
474
|
};
|
|
456
|
-
type AnyNoyaSingletonOptions<S, M extends object, E extends object, MenuT extends string> = NoyaManagerOptions<S, M> & {
|
|
475
|
+
type AnyNoyaSingletonOptions<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>> = NoyaManagerOptions<S, M> & {
|
|
457
476
|
initialState?: S | (() => S);
|
|
458
|
-
sync?: SyncAdapter<S, M, E, MenuT>;
|
|
477
|
+
sync?: SyncAdapter<S, M, E, MenuT, I>;
|
|
459
478
|
inspector?: boolean | StateInspectorOptions;
|
|
460
479
|
theme?: AppTheme;
|
|
461
480
|
viewType?: AppViewType;
|
|
462
481
|
offlineStorageKey?: string;
|
|
463
482
|
multiplayerUrl?: string;
|
|
483
|
+
serverScripts?: LocalStorageSyncOptions["serverScripts"];
|
|
464
484
|
};
|
|
465
|
-
declare function initializeNoyaSingleton<S, M extends object, E extends object, MenuT extends string>(options?: AnyNoyaSingletonOptions<S, M, E, MenuT>): void;
|
|
466
|
-
declare function getNoyaManagerSingleton(): NoyaManager<any, any, any, any>;
|
|
485
|
+
declare function initializeNoyaSingleton<S, M extends object, E extends object, MenuT extends string, I extends Record<string, any> = Record<string, unknown>>(options?: AnyNoyaSingletonOptions<S, M, E, MenuT, I>): void;
|
|
486
|
+
declare function getNoyaManagerSingleton(): NoyaManager<any, any, any, any, any>;
|
|
467
487
|
declare function getNoyaSingletonBindings(): AnyNoyaSingletonBindings | undefined;
|
|
468
488
|
declare function deleteNoyaSingleton(): void;
|
|
469
489
|
|
|
@@ -507,4 +527,4 @@ declare class WebSocketConnection<State> {
|
|
|
507
527
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
508
528
|
}
|
|
509
529
|
|
|
510
|
-
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,
|
|
530
|
+
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, useConnectedUser, useConnectedUsers, useEnqueueInput, useFileName, useFilePropertyManager, useIOManager, useInputs, useIsInitialized, useIsProcessing, useManagedHistory, useManagedState, useMultiplayerState, useNoyaAssetTranscription, useNoyaClientId, useNoyaConnectionId, useNoyaId, useNoyaStateInternal, useNoyaTranscriptionManager, useNoyaUser, useNoyaUserId, useObservable, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResources, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useUserManager, useViewType };
|