@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/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 useAnyNoyaStateContext() {
8048
+ function useOptionalAnyNoyaStateContext() {
8047
8049
  const value = (0, import_react22.useContext)(AnyNoyaStateContext);
8048
- if (!value) {
8049
- const bindings = getNoyaSingletonBindings();
8050
- if (bindings) {
8051
- return {
8052
- noyaManager: getNoyaManagerSingleton(),
8053
- theme: bindings.theme,
8054
- viewType: bindings.viewType
8055
- };
8056
- }
8057
- throw new Error(
8058
- "useNoyaStateContext must be used within a NoyaStateProvider"
8059
- );
8060
- }
8061
- return value;
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/WebSocketConnection.ts
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 import_state_manager6.ReconnectingWebSocket({
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 import_state_manager6.UserActivityDetector()
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,