@noya-app/noya-multiplayer-react 0.1.48 → 0.1.50

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
@@ -1,9 +1,10 @@
1
1
  import * as _noya_app_state_manager from '@noya-app/state-manager';
2
- import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
2
+ import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
3
3
  export * from '@noya-app/state-manager';
4
4
  import React, { SetStateAction } from 'react';
5
5
  import { GetAtPath, ObservableOptions, PathKey, Observable } from '@noya-app/observable';
6
- import * as _noya_app_noya_designsystem from '@noya-app/noya-designsystem';
6
+ import { MenuItem } from '@noya-app/noya-designsystem';
7
+ import { OutputTransform, Input } from '@noya-app/noya-schemas';
7
8
 
8
9
  type Point = {
9
10
  x: number;
@@ -116,16 +117,139 @@ interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT ex
116
117
  initialState?: S;
117
118
  fallback?: React.ReactNode;
118
119
  }
120
+ declare function useAnyNoyaStateContext(): {
121
+ noyaManager: NoyaManager<any, any, any, any>;
122
+ theme: AppTheme;
123
+ viewType: AppViewType;
124
+ };
125
+ declare function useAnyNoyaManager(): NoyaManager<any, any, any, any>;
126
+ declare function useColorScheme(): AppTheme;
127
+ declare function useViewType(): AppViewType;
119
128
  declare function useAssets(): _noya_app_state_manager.Asset[];
120
129
  declare function useAsset(id: string | undefined): _noya_app_state_manager.Asset | undefined;
121
130
  declare function useAssetManager(): {
122
131
  create: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
123
132
  delete: (id: string) => Promise<void>;
133
+ isInitialized: boolean;
124
134
  };
125
135
  declare function useAIManager(): _noya_app_state_manager.AIManager;
126
136
  declare function useSecretManager(): _noya_app_state_manager.SecretManager;
127
137
  declare function useSecrets(): _noya_app_state_manager.Secret[];
128
138
  declare function useSecret(name: string): _noya_app_state_manager.Secret | undefined;
139
+ declare function useInputs(): ({
140
+ required: boolean;
141
+ kind: "file";
142
+ toolId: string | null;
143
+ id: string;
144
+ name: string;
145
+ description: string | null;
146
+ } | {
147
+ required: boolean;
148
+ kind: "data";
149
+ id: string;
150
+ name: string;
151
+ description: string | null;
152
+ schema: {
153
+ default?: string | undefined;
154
+ type: "string";
155
+ _kind: "String";
156
+ } | {
157
+ default?: number | undefined;
158
+ minimum?: number | undefined;
159
+ maximum?: number | undefined;
160
+ type: "number";
161
+ _kind: "Number";
162
+ } | {
163
+ default?: boolean | undefined;
164
+ type: "boolean";
165
+ _kind: "Boolean";
166
+ } | {
167
+ type: "null";
168
+ _kind: "Null";
169
+ } | {
170
+ type: "array";
171
+ _kind: "Array";
172
+ items: {
173
+ default?: string | undefined;
174
+ type: "string";
175
+ _kind: "String";
176
+ } | {
177
+ default?: number | undefined;
178
+ minimum?: number | undefined;
179
+ maximum?: number | undefined;
180
+ type: "number";
181
+ _kind: "Number";
182
+ } | {
183
+ default?: boolean | undefined;
184
+ type: "boolean";
185
+ _kind: "Boolean";
186
+ } | {
187
+ type: "null";
188
+ _kind: "Null";
189
+ } | any | {
190
+ required?: string[] | undefined;
191
+ type: "object";
192
+ properties: {
193
+ [x: string]: {
194
+ default?: string | undefined;
195
+ type: "string";
196
+ _kind: "String";
197
+ } | {
198
+ default?: number | undefined;
199
+ minimum?: number | undefined;
200
+ maximum?: number | undefined;
201
+ type: "number";
202
+ _kind: "Number";
203
+ } | {
204
+ default?: boolean | undefined;
205
+ type: "boolean";
206
+ _kind: "Boolean";
207
+ } | {
208
+ type: "null";
209
+ _kind: "Null";
210
+ } | any | any;
211
+ };
212
+ _kind: "Object";
213
+ };
214
+ } | {
215
+ required?: string[] | undefined;
216
+ type: "object";
217
+ properties: {
218
+ [x: string]: {
219
+ default?: string | undefined;
220
+ type: "string";
221
+ _kind: "String";
222
+ } | {
223
+ default?: number | undefined;
224
+ minimum?: number | undefined;
225
+ maximum?: number | undefined;
226
+ type: "number";
227
+ _kind: "Number";
228
+ } | {
229
+ default?: boolean | undefined;
230
+ type: "boolean";
231
+ _kind: "Boolean";
232
+ } | {
233
+ type: "null";
234
+ _kind: "Null";
235
+ } | any | any;
236
+ };
237
+ _kind: "Object";
238
+ } | null;
239
+ })[];
240
+ declare function useOutputTransforms(): ({
241
+ value: string;
242
+ kind: "script";
243
+ id: string;
244
+ location: "state" | "url";
245
+ order: number;
246
+ } | {
247
+ value: string;
248
+ kind: "jsonPointer";
249
+ id: string;
250
+ order: number;
251
+ })[];
252
+ declare function useIOManager(): _noya_app_state_manager.IOManager;
129
253
  declare function useIsInitialized(): boolean;
130
254
  declare function useWorkflowManager(): _noya_app_state_manager.WorkflowManager;
131
255
  declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
@@ -137,9 +261,11 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
137
261
  children: React.ReactNode;
138
262
  fallback?: React.ReactNode;
139
263
  }) => React.ReactNode;
140
- declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, }: {
264
+ declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, }: {
141
265
  schema: Schema;
142
266
  mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M>["mergeHistoryEntries"];
267
+ outputTransforms?: CreateParams<OutputTransform>[];
268
+ inputs?: CreateParams<Input>[];
143
269
  }): {
144
270
  Context: React.Context<NoyaManager<Static<Schema>, M, E, string> | undefined>;
145
271
  Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
@@ -159,11 +285,18 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
159
285
  };
160
286
  useStateManager: () => MultiplayerStateManager<Static<Schema>, M>;
161
287
  useEphemeralUserDataManager: () => EphemeralUserDataManager<E>;
162
- useLeftMenuItems: () => _noya_app_noya_designsystem.RegularMenuItem<MenuT>[];
163
- useRightMenuItems: () => _noya_app_noya_designsystem.RegularMenuItem<MenuT>[];
288
+ useLeftMenuItems: () => MenuItem<MenuT>[];
289
+ useSetLeftMenuItems: (leftMenuItems?: MenuItem<MenuT>[]) => void;
290
+ useRightMenuItems: () => MenuItem<MenuT>[];
291
+ useSetRightMenuItems: (rightMenuItems?: MenuItem<MenuT>[]) => void;
164
292
  useHandleMenuItem: (callback: (type: MenuT) => void) => void;
165
293
  useOnSelectMenuItemCallback: () => (type: MenuT) => void;
166
294
  useNoyaManager: () => NoyaManager<Static<Schema>, M, E, MenuT>;
295
+ useMenu: (options: {
296
+ leftMenuItems?: MenuItem<MenuT>[];
297
+ rightMenuItems?: MenuItem<MenuT>[];
298
+ onSelectMenuItem?: (type: MenuT) => void;
299
+ }) => void;
167
300
  };
168
301
 
169
302
  declare function useObservable<T>(observable: Observable<T>): T;
@@ -208,4 +341,4 @@ declare class WebSocketConnection<State> {
208
341
  removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
209
342
  }
210
343
 
211
- export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAsset, useAssetManager, useAssets, useConnectedUsersManager, useCurrentUserId, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useSecret, useSecretManager, useSecrets, useSyncStateManager, useWorkflowManager };
344
+ export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType, useWorkflowManager };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import * as _noya_app_state_manager from '@noya-app/state-manager';
2
- import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
2
+ import { ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, MultiplayerStateManagerOptions, SyncAdapter, TSchema, Static, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
3
3
  export * from '@noya-app/state-manager';
4
4
  import React, { SetStateAction } from 'react';
5
5
  import { GetAtPath, ObservableOptions, PathKey, Observable } from '@noya-app/observable';
6
- import * as _noya_app_noya_designsystem from '@noya-app/noya-designsystem';
6
+ import { MenuItem } from '@noya-app/noya-designsystem';
7
+ import { OutputTransform, Input } from '@noya-app/noya-schemas';
7
8
 
8
9
  type Point = {
9
10
  x: number;
@@ -116,16 +117,139 @@ interface NoyaStateProviderProps<S, M extends object, E extends object, MenuT ex
116
117
  initialState?: S;
117
118
  fallback?: React.ReactNode;
118
119
  }
120
+ declare function useAnyNoyaStateContext(): {
121
+ noyaManager: NoyaManager<any, any, any, any>;
122
+ theme: AppTheme;
123
+ viewType: AppViewType;
124
+ };
125
+ declare function useAnyNoyaManager(): NoyaManager<any, any, any, any>;
126
+ declare function useColorScheme(): AppTheme;
127
+ declare function useViewType(): AppViewType;
119
128
  declare function useAssets(): _noya_app_state_manager.Asset[];
120
129
  declare function useAsset(id: string | undefined): _noya_app_state_manager.Asset | undefined;
121
130
  declare function useAssetManager(): {
122
131
  create: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
123
132
  delete: (id: string) => Promise<void>;
133
+ isInitialized: boolean;
124
134
  };
125
135
  declare function useAIManager(): _noya_app_state_manager.AIManager;
126
136
  declare function useSecretManager(): _noya_app_state_manager.SecretManager;
127
137
  declare function useSecrets(): _noya_app_state_manager.Secret[];
128
138
  declare function useSecret(name: string): _noya_app_state_manager.Secret | undefined;
139
+ declare function useInputs(): ({
140
+ required: boolean;
141
+ kind: "file";
142
+ toolId: string | null;
143
+ id: string;
144
+ name: string;
145
+ description: string | null;
146
+ } | {
147
+ required: boolean;
148
+ kind: "data";
149
+ id: string;
150
+ name: string;
151
+ description: string | null;
152
+ schema: {
153
+ default?: string | undefined;
154
+ type: "string";
155
+ _kind: "String";
156
+ } | {
157
+ default?: number | undefined;
158
+ minimum?: number | undefined;
159
+ maximum?: number | undefined;
160
+ type: "number";
161
+ _kind: "Number";
162
+ } | {
163
+ default?: boolean | undefined;
164
+ type: "boolean";
165
+ _kind: "Boolean";
166
+ } | {
167
+ type: "null";
168
+ _kind: "Null";
169
+ } | {
170
+ type: "array";
171
+ _kind: "Array";
172
+ items: {
173
+ default?: string | undefined;
174
+ type: "string";
175
+ _kind: "String";
176
+ } | {
177
+ default?: number | undefined;
178
+ minimum?: number | undefined;
179
+ maximum?: number | undefined;
180
+ type: "number";
181
+ _kind: "Number";
182
+ } | {
183
+ default?: boolean | undefined;
184
+ type: "boolean";
185
+ _kind: "Boolean";
186
+ } | {
187
+ type: "null";
188
+ _kind: "Null";
189
+ } | any | {
190
+ required?: string[] | undefined;
191
+ type: "object";
192
+ properties: {
193
+ [x: string]: {
194
+ default?: string | undefined;
195
+ type: "string";
196
+ _kind: "String";
197
+ } | {
198
+ default?: number | undefined;
199
+ minimum?: number | undefined;
200
+ maximum?: number | undefined;
201
+ type: "number";
202
+ _kind: "Number";
203
+ } | {
204
+ default?: boolean | undefined;
205
+ type: "boolean";
206
+ _kind: "Boolean";
207
+ } | {
208
+ type: "null";
209
+ _kind: "Null";
210
+ } | any | any;
211
+ };
212
+ _kind: "Object";
213
+ };
214
+ } | {
215
+ required?: string[] | undefined;
216
+ type: "object";
217
+ properties: {
218
+ [x: string]: {
219
+ default?: string | undefined;
220
+ type: "string";
221
+ _kind: "String";
222
+ } | {
223
+ default?: number | undefined;
224
+ minimum?: number | undefined;
225
+ maximum?: number | undefined;
226
+ type: "number";
227
+ _kind: "Number";
228
+ } | {
229
+ default?: boolean | undefined;
230
+ type: "boolean";
231
+ _kind: "Boolean";
232
+ } | {
233
+ type: "null";
234
+ _kind: "Null";
235
+ } | any | any;
236
+ };
237
+ _kind: "Object";
238
+ } | null;
239
+ })[];
240
+ declare function useOutputTransforms(): ({
241
+ value: string;
242
+ kind: "script";
243
+ id: string;
244
+ location: "state" | "url";
245
+ order: number;
246
+ } | {
247
+ value: string;
248
+ kind: "jsonPointer";
249
+ id: string;
250
+ order: number;
251
+ })[];
252
+ declare function useIOManager(): _noya_app_state_manager.IOManager;
129
253
  declare function useIsInitialized(): boolean;
130
254
  declare function useWorkflowManager(): _noya_app_state_manager.WorkflowManager;
131
255
  declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
@@ -137,9 +261,11 @@ declare const FallbackUntilInitialized: ({ children, fallback, }: {
137
261
  children: React.ReactNode;
138
262
  fallback?: React.ReactNode;
139
263
  }) => React.ReactNode;
140
- declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, }: {
264
+ declare function createNoyaContext<Schema extends TSchema, M extends object = object, E extends object = object, MenuT extends string = string>({ schema, mergeHistoryEntries, outputTransforms, inputs, }: {
141
265
  schema: Schema;
142
266
  mergeHistoryEntries?: StateManagerOptions<Static<Schema>, M>["mergeHistoryEntries"];
267
+ outputTransforms?: CreateParams<OutputTransform>[];
268
+ inputs?: CreateParams<Input>[];
143
269
  }): {
144
270
  Context: React.Context<NoyaManager<Static<Schema>, M, E, string> | undefined>;
145
271
  Provider: ({ children, initialState, ...options }: NoyaStateProviderProps<Static<Schema>, M, E, MenuT>) => React.JSX.Element;
@@ -159,11 +285,18 @@ declare function createNoyaContext<Schema extends TSchema, M extends object = ob
159
285
  };
160
286
  useStateManager: () => MultiplayerStateManager<Static<Schema>, M>;
161
287
  useEphemeralUserDataManager: () => EphemeralUserDataManager<E>;
162
- useLeftMenuItems: () => _noya_app_noya_designsystem.RegularMenuItem<MenuT>[];
163
- useRightMenuItems: () => _noya_app_noya_designsystem.RegularMenuItem<MenuT>[];
288
+ useLeftMenuItems: () => MenuItem<MenuT>[];
289
+ useSetLeftMenuItems: (leftMenuItems?: MenuItem<MenuT>[]) => void;
290
+ useRightMenuItems: () => MenuItem<MenuT>[];
291
+ useSetRightMenuItems: (rightMenuItems?: MenuItem<MenuT>[]) => void;
164
292
  useHandleMenuItem: (callback: (type: MenuT) => void) => void;
165
293
  useOnSelectMenuItemCallback: () => (type: MenuT) => void;
166
294
  useNoyaManager: () => NoyaManager<Static<Schema>, M, E, MenuT>;
295
+ useMenu: (options: {
296
+ leftMenuItems?: MenuItem<MenuT>[];
297
+ rightMenuItems?: MenuItem<MenuT>[];
298
+ onSelectMenuItem?: (type: MenuT) => void;
299
+ }) => void;
167
300
  };
168
301
 
169
302
  declare function useObservable<T>(observable: Observable<T>): T;
@@ -208,4 +341,4 @@ declare class WebSocketConnection<State> {
208
341
  removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
209
342
  }
210
343
 
211
- export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAsset, useAssetManager, useAssets, useConnectedUsersManager, useCurrentUserId, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useSecret, useSecretManager, useSecrets, useSyncStateManager, useWorkflowManager };
344
+ export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType, useWorkflowManager };