@noya-app/noya-multiplayer-react 0.1.84 → 0.1.85
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 +8 -0
- package/dist/index.bundle.js +25 -22
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +35 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/NoyaStateContext.tsx +18 -16
- package/src/__tests__/useResourceUrl.test.tsx +92 -0
- package/src/index.ts +1 -0
- package/src/useResourceUrl.ts +19 -0
package/dist/index.d.mts
CHANGED
|
@@ -228,6 +228,7 @@ type AnyNoyaStateContextValue = {
|
|
|
228
228
|
viewType: AppViewType;
|
|
229
229
|
};
|
|
230
230
|
declare const AnyNoyaStateContext: React.Context<AnyNoyaStateContextValue | undefined>;
|
|
231
|
+
declare function useOptionalAnyNoyaStateContext(): AnyNoyaStateContextValue | undefined;
|
|
231
232
|
declare function useAnyNoyaStateContext(): AnyNoyaStateContextValue;
|
|
232
233
|
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any, any>;
|
|
233
234
|
declare function useColorScheme(): AppTheme;
|
|
@@ -510,6 +511,8 @@ declare function useObservable<T>(observable: Observable<T> | undefined): T | un
|
|
|
510
511
|
declare function useObservable<T, A>(observable: Observable<T> | undefined, selector: (value: T) => A, options?: Pick<ObservableOptions, "isEqual">): A | undefined;
|
|
511
512
|
declare function useObservable<T, P extends PathKey[] | string>(observable: Observable<T> | undefined, path: P): GetAtPath<T, P> | undefined;
|
|
512
513
|
|
|
514
|
+
declare function useResourceUrl(idOrStableId: string | undefined): string | undefined;
|
|
515
|
+
|
|
513
516
|
type ConnectionEvent<State> = {
|
|
514
517
|
type: "stateChange";
|
|
515
518
|
state: ReconnectingWebSocketState;
|
|
@@ -543,4 +546,4 @@ declare class WebSocketConnection<State> {
|
|
|
543
546
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
544
547
|
}
|
|
545
548
|
|
|
546
|
-
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, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|
|
549
|
+
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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -228,6 +228,7 @@ type AnyNoyaStateContextValue = {
|
|
|
228
228
|
viewType: AppViewType;
|
|
229
229
|
};
|
|
230
230
|
declare const AnyNoyaStateContext: React.Context<AnyNoyaStateContextValue | undefined>;
|
|
231
|
+
declare function useOptionalAnyNoyaStateContext(): AnyNoyaStateContextValue | undefined;
|
|
231
232
|
declare function useAnyNoyaStateContext(): AnyNoyaStateContextValue;
|
|
232
233
|
declare function useAnyNoyaManager(): NoyaManager<any, any, any, any, any>;
|
|
233
234
|
declare function useColorScheme(): AppTheme;
|
|
@@ -510,6 +511,8 @@ declare function useObservable<T>(observable: Observable<T> | undefined): T | un
|
|
|
510
511
|
declare function useObservable<T, A>(observable: Observable<T> | undefined, selector: (value: T) => A, options?: Pick<ObservableOptions, "isEqual">): A | undefined;
|
|
511
512
|
declare function useObservable<T, P extends PathKey[] | string>(observable: Observable<T> | undefined, path: P): GetAtPath<T, P> | undefined;
|
|
512
513
|
|
|
514
|
+
declare function useResourceUrl(idOrStableId: string | undefined): string | undefined;
|
|
515
|
+
|
|
513
516
|
type ConnectionEvent<State> = {
|
|
514
517
|
type: "stateChange";
|
|
515
518
|
state: ReconnectingWebSocketState;
|
|
@@ -543,4 +546,4 @@ declare class WebSocketConnection<State> {
|
|
|
543
546
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
544
547
|
}
|
|
545
548
|
|
|
546
|
-
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, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useResourceManager, useResources, useScriptEvaluator, useSecret, useSecretManager, useSecrets, useSetFileNameState, useStateInspector, useViewType };
|
|
549
|
+
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 };
|
package/dist/index.js
CHANGED
|
@@ -1552,11 +1552,13 @@ __export(src_exports, {
|
|
|
1552
1552
|
useNoyaUserManager: () => useNoyaUserManager,
|
|
1553
1553
|
useNoyaUsers: () => useNoyaUsers,
|
|
1554
1554
|
useObservable: () => useObservable,
|
|
1555
|
+
useOptionalAnyNoyaStateContext: () => useOptionalAnyNoyaStateContext,
|
|
1555
1556
|
useOutputTransforms: () => useOutputTransforms,
|
|
1556
1557
|
usePipelineManager: () => usePipelineManager,
|
|
1557
1558
|
usePublish: () => usePublish,
|
|
1558
1559
|
useRegisterAITool: () => useRegisterAITool,
|
|
1559
1560
|
useResourceManager: () => useResourceManager,
|
|
1561
|
+
useResourceUrl: () => useResourceUrl,
|
|
1560
1562
|
useResources: () => useResources,
|
|
1561
1563
|
useScriptEvaluator: () => useScriptEvaluator,
|
|
1562
1564
|
useSecret: () => useSecret,
|
|
@@ -8043,22 +8045,23 @@ function buildResourcePatchPayload({
|
|
|
8043
8045
|
return patch;
|
|
8044
8046
|
}
|
|
8045
8047
|
var AnyNoyaStateContext = (0, import_react22.createContext)(void 0);
|
|
8046
|
-
function
|
|
8048
|
+
function useOptionalAnyNoyaStateContext() {
|
|
8047
8049
|
const value = (0, import_react22.useContext)(AnyNoyaStateContext);
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
|
|
8059
|
-
|
|
8060
|
-
|
|
8061
|
-
|
|
8050
|
+
const bindings = getNoyaSingletonBindings();
|
|
8051
|
+
if (value) return value;
|
|
8052
|
+
if (!bindings) return void 0;
|
|
8053
|
+
return {
|
|
8054
|
+
noyaManager: getNoyaManagerSingleton(),
|
|
8055
|
+
theme: bindings.theme,
|
|
8056
|
+
viewType: bindings.viewType
|
|
8057
|
+
};
|
|
8058
|
+
}
|
|
8059
|
+
function useAnyNoyaStateContext() {
|
|
8060
|
+
const value = useOptionalAnyNoyaStateContext();
|
|
8061
|
+
if (value) return value;
|
|
8062
|
+
throw new Error(
|
|
8063
|
+
"useNoyaStateContext must be used within a NoyaStateProvider"
|
|
8064
|
+
);
|
|
8062
8065
|
}
|
|
8063
8066
|
function useAnyNoyaManager() {
|
|
8064
8067
|
const { noyaManager } = useAnyNoyaStateContext();
|
|
@@ -8532,18 +8535,30 @@ var UserPointersOverlay = (0, import_react_utils4.memoGeneric)(function UserPoin
|
|
|
8532
8535
|
}));
|
|
8533
8536
|
});
|
|
8534
8537
|
|
|
8535
|
-
// src/
|
|
8538
|
+
// src/useResourceUrl.ts
|
|
8536
8539
|
var import_state_manager6 = require("@noya-app/state-manager");
|
|
8540
|
+
function useResourceUrl(idOrStableId) {
|
|
8541
|
+
const { noyaManager } = useAnyNoyaStateContext();
|
|
8542
|
+
const resources = useObservable(
|
|
8543
|
+
noyaManager.resourceManager.optimisticResources$
|
|
8544
|
+
);
|
|
8545
|
+
const assets = useObservable(noyaManager.assetManager.assets$);
|
|
8546
|
+
if (!idOrStableId) return void 0;
|
|
8547
|
+
return (0, import_state_manager6.getResourceUrl)(idOrStableId, resources, assets);
|
|
8548
|
+
}
|
|
8549
|
+
|
|
8550
|
+
// src/WebSocketConnection.ts
|
|
8551
|
+
var import_state_manager7 = require("@noya-app/state-manager");
|
|
8537
8552
|
var WebSocketConnection = class {
|
|
8538
8553
|
constructor(url, options = {}) {
|
|
8539
8554
|
this.url = url;
|
|
8540
8555
|
this.options = options;
|
|
8541
|
-
this.ws = new
|
|
8556
|
+
this.ws = new import_state_manager7.ReconnectingWebSocket({
|
|
8542
8557
|
debug: options.debug,
|
|
8543
8558
|
onopen: this.handleOpen,
|
|
8544
8559
|
onmessage: this.handleMessage,
|
|
8545
8560
|
onclose: this.handleClose,
|
|
8546
|
-
activityDetector: new
|
|
8561
|
+
activityDetector: new import_state_manager7.UserActivityDetector()
|
|
8547
8562
|
});
|
|
8548
8563
|
}
|
|
8549
8564
|
ws;
|
|
@@ -8668,11 +8683,13 @@ var WebSocketConnection = class {
|
|
|
8668
8683
|
useNoyaUserManager,
|
|
8669
8684
|
useNoyaUsers,
|
|
8670
8685
|
useObservable,
|
|
8686
|
+
useOptionalAnyNoyaStateContext,
|
|
8671
8687
|
useOutputTransforms,
|
|
8672
8688
|
usePipelineManager,
|
|
8673
8689
|
usePublish,
|
|
8674
8690
|
useRegisterAITool,
|
|
8675
8691
|
useResourceManager,
|
|
8692
|
+
useResourceUrl,
|
|
8676
8693
|
useResources,
|
|
8677
8694
|
useScriptEvaluator,
|
|
8678
8695
|
useSecret,
|