diff --git a/.cspell-wordlist.txt b/.cspell-wordlist.txt
index 1f30267fd..e06bde775 100644
--- a/.cspell-wordlist.txt
+++ b/.cspell-wordlist.txt
@@ -118,3 +118,7 @@ basemodule
IMAGENET
lraspp
LRASPP
+worklet
+worklets
+BGRA
+RGBA
diff --git a/apps/computer-vision/app.json b/apps/computer-vision/app.json
index 4d68c039b..4fcbca2ce 100644
--- a/apps/computer-vision/app.json
+++ b/apps/computer-vision/app.json
@@ -25,11 +25,23 @@
"foregroundImage": "./assets/icons/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
- "package": "com.anonymous.computervision"
+ "package": "com.anonymous.computervision",
+ "permissions": ["android.permission.CAMERA"]
},
"web": {
"favicon": "./assets/icons/favicon.png"
},
- "plugins": ["expo-font", "expo-router"]
+ "plugins": [
+ "expo-font",
+ "expo-router",
+ [
+ "expo-build-properties",
+ {
+ "android": {
+ "minSdkVersion": 26
+ }
+ }
+ ]
+ ]
}
}
diff --git a/apps/computer-vision/app/_layout.tsx b/apps/computer-vision/app/_layout.tsx
index 8b66a796c..4ce2f3e5c 100644
--- a/apps/computer-vision/app/_layout.tsx
+++ b/apps/computer-vision/app/_layout.tsx
@@ -83,6 +83,14 @@ export default function _layout() {
headerTitleStyle: { color: ColorPalette.primary },
}}
/>
+
Object Detection
+ router.navigate('object_detection_live/')}
+ >
+ Object Detection Live
+
router.navigate('ocr/')}
diff --git a/apps/computer-vision/app/object_detection_live/index.tsx b/apps/computer-vision/app/object_detection_live/index.tsx
new file mode 100644
index 000000000..3db2c5360
--- /dev/null
+++ b/apps/computer-vision/app/object_detection_live/index.tsx
@@ -0,0 +1,222 @@
+import React, {
+ useCallback,
+ useContext,
+ useEffect,
+ useMemo,
+ useRef,
+ useState,
+} from 'react';
+import {
+ StatusBar,
+ StyleSheet,
+ Text,
+ TouchableOpacity,
+ View,
+} from 'react-native';
+import { useSafeAreaInsets } from 'react-native-safe-area-context';
+
+import {
+ Camera,
+ getCameraFormat,
+ Templates,
+ useCameraDevices,
+ useCameraPermission,
+ useFrameOutput,
+} from 'react-native-vision-camera';
+import { scheduleOnRN } from 'react-native-worklets';
+import {
+ Detection,
+ SSDLITE_320_MOBILENET_V3_LARGE,
+ useObjectDetection,
+} from 'react-native-executorch';
+import { GeneratingContext } from '../../context';
+import Spinner from '../../components/Spinner';
+import ColorPalette from '../../colors';
+
+export default function ObjectDetectionLiveScreen() {
+ const insets = useSafeAreaInsets();
+
+ const model = useObjectDetection({ model: SSDLITE_320_MOBILENET_V3_LARGE });
+ const { setGlobalGenerating } = useContext(GeneratingContext);
+
+ useEffect(() => {
+ setGlobalGenerating(model.isGenerating);
+ }, [model.isGenerating, setGlobalGenerating]);
+ const [detectionCount, setDetectionCount] = useState(0);
+ const [fps, setFps] = useState(0);
+ const lastFrameTimeRef = useRef(Date.now());
+
+ const cameraPermission = useCameraPermission();
+ const devices = useCameraDevices();
+ const device = devices.find((d) => d.position === 'back') ?? devices[0];
+
+ const format = useMemo(() => {
+ if (device == null) return undefined;
+ try {
+ return getCameraFormat(device, Templates.FrameProcessing);
+ } catch {
+ return undefined;
+ }
+ }, [device]);
+
+ const updateStats = useCallback((results: Detection[]) => {
+ setDetectionCount(results.length);
+ const now = Date.now();
+ const timeDiff = now - lastFrameTimeRef.current;
+ if (timeDiff > 0) {
+ setFps(Math.round(1000 / timeDiff));
+ }
+ lastFrameTimeRef.current = now;
+ }, []);
+
+ const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ dropFramesWhileBusy: true,
+ onFrame(frame) {
+ 'worklet';
+ if (!model.runOnFrame) {
+ frame.dispose();
+ return;
+ }
+ try {
+ const result = model.runOnFrame(frame, 0.5);
+ if (result) {
+ scheduleOnRN(updateStats, result);
+ }
+ } catch {
+ // ignore frame errors
+ } finally {
+ frame.dispose();
+ }
+ },
+ });
+
+ if (!model.isReady) {
+ return (
+
+ );
+ }
+
+ if (!cameraPermission.hasPermission) {
+ return (
+
+ Camera access needed
+ cameraPermission.requestPermission()}
+ style={styles.button}
+ >
+ Grant Permission
+
+
+ );
+ }
+
+ if (device == null) {
+ return (
+
+ No camera device found
+
+ );
+ }
+
+ return (
+
+
+
+
+
+
+
+
+ {detectionCount}
+ objects
+
+
+
+ {fps}
+ fps
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: 'black',
+ },
+ centered: {
+ flex: 1,
+ backgroundColor: 'black',
+ justifyContent: 'center',
+ alignItems: 'center',
+ gap: 16,
+ },
+ message: {
+ color: 'white',
+ fontSize: 18,
+ },
+ button: {
+ paddingHorizontal: 24,
+ paddingVertical: 12,
+ backgroundColor: ColorPalette.primary,
+ borderRadius: 24,
+ },
+ buttonText: {
+ color: 'white',
+ fontSize: 15,
+ fontWeight: '600',
+ letterSpacing: 0.3,
+ },
+ bottomBarWrapper: {
+ position: 'absolute',
+ bottom: 0,
+ left: 0,
+ right: 0,
+ alignItems: 'center',
+ },
+ bottomBar: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ backgroundColor: 'rgba(0, 0, 0, 0.55)',
+ borderRadius: 24,
+ paddingHorizontal: 28,
+ paddingVertical: 10,
+ gap: 24,
+ },
+ statItem: {
+ alignItems: 'center',
+ },
+ statValue: {
+ color: 'white',
+ fontSize: 22,
+ fontWeight: '700',
+ letterSpacing: -0.5,
+ },
+ statLabel: {
+ color: 'rgba(255,255,255,0.55)',
+ fontSize: 11,
+ fontWeight: '500',
+ textTransform: 'uppercase',
+ letterSpacing: 0.8,
+ },
+ statDivider: {
+ width: 1,
+ height: 32,
+ backgroundColor: 'rgba(255,255,255,0.2)',
+ },
+});
diff --git a/apps/computer-vision/metro.config.js b/apps/computer-vision/metro.config.js
index 2fd4ca0dd..f8ab2ab96 100644
--- a/apps/computer-vision/metro.config.js
+++ b/apps/computer-vision/metro.config.js
@@ -1,16 +1,11 @@
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
-const path = require('path');
-
-const monorepoRoot = path.resolve(__dirname, '../..');
/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);
const { transformer, resolver } = config;
-config.watchFolders = [monorepoRoot];
-
config.transformer = {
...transformer,
babelTransformerPath: require.resolve('react-native-svg-transformer/expo'),
@@ -19,23 +14,6 @@ config.resolver = {
...resolver,
assetExts: resolver.assetExts.filter((ext) => ext !== 'svg'),
sourceExts: [...resolver.sourceExts, 'svg'],
- nodeModulesPaths: [
- path.resolve(__dirname, 'node_modules'),
- path.resolve(monorepoRoot, 'node_modules'),
- ],
- // Always resolve react and react-native from the monorepo root so that
- // workspace packages with their own nested node_modules (e.g.
- // packages/react-native-executorch/node_modules/react) don't create a
- // second React instance and trigger "Invalid hook call".
- resolveRequest: (context, moduleName, platform) => {
- if (moduleName === 'react' || moduleName === 'react-native') {
- return {
- filePath: require.resolve(moduleName, { paths: [monorepoRoot] }),
- type: 'sourceFile',
- };
- }
- return context.resolveRequest(context, moduleName, platform);
- },
};
config.resolver.assetExts.push('pte');
diff --git a/apps/computer-vision/package.json b/apps/computer-vision/package.json
index ec5894498..d7128125d 100644
--- a/apps/computer-vision/package.json
+++ b/apps/computer-vision/package.json
@@ -17,6 +17,7 @@
"@react-navigation/native": "^7.1.28",
"@shopify/react-native-skia": "2.4.21",
"expo": "^54.0.27",
+ "expo-build-properties": "~1.0.10",
"expo-constants": "~18.0.11",
"expo-font": "~14.0.10",
"expo-linking": "~8.0.10",
@@ -30,17 +31,20 @@
"react-native-gesture-handler": "~2.28.0",
"react-native-image-picker": "^7.2.2",
"react-native-loading-spinner-overlay": "^3.0.1",
+ "react-native-nitro-image": "^0.12.0",
+ "react-native-nitro-modules": "^0.33.9",
"react-native-reanimated": "~4.2.2",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-svg": "15.15.3",
"react-native-svg-transformer": "^1.5.3",
+ "react-native-vision-camera": "5.0.0-beta.2",
"react-native-worklets": "0.7.4"
},
"devDependencies": {
"@babel/core": "^7.29.0",
"@types/pngjs": "^6.0.5",
- "@types/react": "~19.1.10"
+ "@types/react": "~19.2.0"
},
"private": true
}
diff --git a/apps/llm/metro.config.js b/apps/llm/metro.config.js
index 90a4ad99b..fa6ef6d8b 100644
--- a/apps/llm/metro.config.js
+++ b/apps/llm/metro.config.js
@@ -2,15 +2,11 @@ const { getDefaultConfig } = require('expo/metro-config');
const {
wrapWithAudioAPIMetroConfig,
} = require('react-native-audio-api/metro-config');
-const path = require('path');
-const monorepoRoot = path.resolve(__dirname, '../..');
const config = getDefaultConfig(__dirname);
const { transformer, resolver } = config;
-config.watchFolders = [monorepoRoot];
-
config.transformer = {
...transformer,
babelTransformerPath: require.resolve('react-native-svg-transformer/expo'),
@@ -19,23 +15,6 @@ config.resolver = {
...resolver,
assetExts: resolver.assetExts.filter((ext) => ext !== 'svg'),
sourceExts: [...resolver.sourceExts, 'svg'],
- nodeModulesPaths: [
- path.resolve(__dirname, 'node_modules'),
- path.resolve(monorepoRoot, 'node_modules'),
- ],
- // Always resolve react and react-native from the monorepo root so that
- // workspace packages with their own nested node_modules (e.g.
- // packages/react-native-executorch/node_modules/react) don't create a
- // second React instance and trigger "Invalid hook call".
- resolveRequest: (context, moduleName, platform) => {
- if (moduleName === 'react' || moduleName === 'react-native') {
- return {
- filePath: require.resolve(moduleName, { paths: [monorepoRoot] }),
- type: 'sourceFile',
- };
- }
- return context.resolveRequest(context, moduleName, platform);
- },
};
config.resolver.assetExts.push('pte');
diff --git a/apps/speech/metro.config.js b/apps/speech/metro.config.js
index 90a4ad99b..fa6ef6d8b 100644
--- a/apps/speech/metro.config.js
+++ b/apps/speech/metro.config.js
@@ -2,15 +2,11 @@ const { getDefaultConfig } = require('expo/metro-config');
const {
wrapWithAudioAPIMetroConfig,
} = require('react-native-audio-api/metro-config');
-const path = require('path');
-const monorepoRoot = path.resolve(__dirname, '../..');
const config = getDefaultConfig(__dirname);
const { transformer, resolver } = config;
-config.watchFolders = [monorepoRoot];
-
config.transformer = {
...transformer,
babelTransformerPath: require.resolve('react-native-svg-transformer/expo'),
@@ -19,23 +15,6 @@ config.resolver = {
...resolver,
assetExts: resolver.assetExts.filter((ext) => ext !== 'svg'),
sourceExts: [...resolver.sourceExts, 'svg'],
- nodeModulesPaths: [
- path.resolve(__dirname, 'node_modules'),
- path.resolve(monorepoRoot, 'node_modules'),
- ],
- // Always resolve react and react-native from the monorepo root so that
- // workspace packages with their own nested node_modules (e.g.
- // packages/react-native-executorch/node_modules/react) don't create a
- // second React instance and trigger "Invalid hook call".
- resolveRequest: (context, moduleName, platform) => {
- if (moduleName === 'react' || moduleName === 'react-native') {
- return {
- filePath: require.resolve(moduleName, { paths: [monorepoRoot] }),
- type: 'sourceFile',
- };
- }
- return context.resolveRequest(context, moduleName, platform);
- },
};
config.resolver.assetExts.push('pte');
diff --git a/apps/text-embeddings/metro.config.js b/apps/text-embeddings/metro.config.js
index 2fd4ca0dd..f8ab2ab96 100644
--- a/apps/text-embeddings/metro.config.js
+++ b/apps/text-embeddings/metro.config.js
@@ -1,16 +1,11 @@
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
-const path = require('path');
-
-const monorepoRoot = path.resolve(__dirname, '../..');
/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);
const { transformer, resolver } = config;
-config.watchFolders = [monorepoRoot];
-
config.transformer = {
...transformer,
babelTransformerPath: require.resolve('react-native-svg-transformer/expo'),
@@ -19,23 +14,6 @@ config.resolver = {
...resolver,
assetExts: resolver.assetExts.filter((ext) => ext !== 'svg'),
sourceExts: [...resolver.sourceExts, 'svg'],
- nodeModulesPaths: [
- path.resolve(__dirname, 'node_modules'),
- path.resolve(monorepoRoot, 'node_modules'),
- ],
- // Always resolve react and react-native from the monorepo root so that
- // workspace packages with their own nested node_modules (e.g.
- // packages/react-native-executorch/node_modules/react) don't create a
- // second React instance and trigger "Invalid hook call".
- resolveRequest: (context, moduleName, platform) => {
- if (moduleName === 'react' || moduleName === 'react-native') {
- return {
- filePath: require.resolve(moduleName, { paths: [monorepoRoot] }),
- type: 'sourceFile',
- };
- }
- return context.resolveRequest(context, moduleName, platform);
- },
};
config.resolver.assetExts.push('pte');
diff --git a/docs/docs/05-utilities/04-error-handling.md b/docs/docs/05-utilities/04-error-handling.md
index 7ca9478f7..4b3f0674a 100644
--- a/docs/docs/05-utilities/04-error-handling.md
+++ b/docs/docs/05-utilities/04-error-handling.md
@@ -83,14 +83,15 @@ These errors occur when trying to perform operations on a model in an invalid st
These errors occur when invalid configuration or input is provided.
-| Error Code | Description | When It Occurs | How to Handle |
-| ---------------------- | ------------------------------------ | ------------------------------------------------------------------------- | ---------------------------------------------------- |
-| `InvalidConfig` | Configuration parameters are invalid | Setting parameters outside valid ranges (e.g., `topp` outside [0, 1]) | Check parameter constraints and provide valid values |
-| `InvalidUserInput` | Input provided to API is invalid | Passing empty arrays, null values, or malformed data to methods | Validate input before calling methods |
-| `InvalidModelSource` | Model source type is invalid | Providing wrong type for model source (e.g., object when string expected) | Ensure model source matches expected type |
-| `LanguageNotSupported` | Language not supported by model | Passing unsupported language to multilingual OCR or Speech-to-Text models | Use a supported language or different model |
-| `WrongDimensions` | Input tensor dimensions don't match | Providing input with incorrect shape for the model | Check model's expected input dimensions |
-| `UnexpectedNumInputs` | Wrong number of inputs provided | Passing more or fewer inputs than model expects | Match the number of inputs to model metadata |
+| Error Code | Description | When It Occurs | How to Handle |
+| ---------------------- | ------------------------------------ | --------------------------------------------------------------------------------------- | -------------------------------------------------------- |
+| `InvalidConfig` | Configuration parameters are invalid | Setting parameters outside valid ranges (e.g., `topp` outside [0, 1]) | Check parameter constraints and provide valid values |
+| `InvalidUserInput` | Input provided to API is invalid | Passing empty arrays, null values, or malformed data to methods | Validate input before calling methods |
+| `InvalidModelSource` | Model source type is invalid | Providing wrong type for model source (e.g., object when string expected) | Ensure model source matches expected type |
+| `LanguageNotSupported` | Language not supported by model | Passing unsupported language to multilingual OCR or Speech-to-Text models | Use a supported language or different model |
+| `PlatformNotSupported` | Current platform is not supported | Using features (e.g., camera frame processing) on an unsupported platform or OS version | Ensure you're running on a supported platform/OS version |
+| `WrongDimensions` | Input tensor dimensions don't match | Providing input with incorrect shape for the model | Check model's expected input dimensions |
+| `UnexpectedNumInputs` | Wrong number of inputs provided | Passing more or fewer inputs than model expects | Match the number of inputs to model metadata |
### File Operations Errors
diff --git a/docs/docs/06-api-reference/classes/ClassificationModule.md b/docs/docs/06-api-reference/classes/ClassificationModule.md
index dadebddcd..f3cb19464 100644
--- a/docs/docs/06-api-reference/classes/ClassificationModule.md
+++ b/docs/docs/06-api-reference/classes/ClassificationModule.md
@@ -24,13 +24,87 @@ Module for image classification tasks.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -84,7 +160,9 @@ The classification result.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -113,7 +191,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/ExecutorchModule.md b/docs/docs/06-api-reference/classes/ExecutorchModule.md
index 8e45facf4..8592a13ff 100644
--- a/docs/docs/06-api-reference/classes/ExecutorchModule.md
+++ b/docs/docs/06-api-reference/classes/ExecutorchModule.md
@@ -24,13 +24,87 @@ General module for executing custom Executorch models.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -85,7 +161,9 @@ An array of output tensor pointers.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -114,7 +192,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/ImageEmbeddingsModule.md b/docs/docs/06-api-reference/classes/ImageEmbeddingsModule.md
index f7787cd87..9ae05fc40 100644
--- a/docs/docs/06-api-reference/classes/ImageEmbeddingsModule.md
+++ b/docs/docs/06-api-reference/classes/ImageEmbeddingsModule.md
@@ -24,13 +24,87 @@ Module for generating image embeddings from input images.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -84,7 +160,9 @@ A Float32Array containing the image embeddings.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -113,7 +191,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/ObjectDetectionModule.md b/docs/docs/06-api-reference/classes/ObjectDetectionModule.md
index 662bad8ad..fadb2536c 100644
--- a/docs/docs/06-api-reference/classes/ObjectDetectionModule.md
+++ b/docs/docs/06-api-reference/classes/ObjectDetectionModule.md
@@ -6,7 +6,7 @@ Module for object detection tasks.
## Extends
-- `BaseModule`
+- `VisionModule`\<[`Detection`](../interfaces/Detection.md)[]\>
## Constructors
@@ -20,21 +20,141 @@ Module for object detection tasks.
#### Inherited from
-`BaseModule.constructor`
+`VisionModule.constructor`
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`VisionModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
+
+Native module instance (JSI Host Object)
-Native module instance
+#### Inherited from
+
+`VisionModule.nativeModule`
+
+## Accessors
+
+### runOnFrame
+
+#### Get Signature
+
+> **get** **runOnFrame**(): (`frame`, ...`args`) => `TOutput` \| `null`
+
+Defined in: [modules/computer_vision/VisionModule.ts:61](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/computer_vision/VisionModule.ts#L61)
+
+Synchronous worklet function for real-time VisionCamera frame processing.
+
+Only available after the model is loaded. Returns null if not loaded.
+
+**Use this for VisionCamera frame processing in worklets.**
+For async processing, use `forward()` instead.
+
+##### Example
+
+```typescript
+const model = new ClassificationModule();
+await model.load({ modelSource: MODEL });
+
+// Use the functional form of setState to store the worklet — passing it
+// directly would cause React to invoke it immediately as an updater fn.
+const [runOnFrame, setRunOnFrame] = useState(null);
+setRunOnFrame(() => model.runOnFrame);
+
+const frameOutput = useFrameOutput({
+ onFrame(frame) {
+ 'worklet';
+ if (!runOnFrame) return;
+ const result = runOnFrame(frame);
+ frame.dispose();
+ },
+});
+```
+
+##### Returns
+
+(`frame`, ...`args`) => `TOutput` \| `null`
#### Inherited from
-`BaseModule.nativeModule`
+`VisionModule.runOnFrame`
## Methods
@@ -42,9 +162,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
+
+Unloads the model from memory and releases native resources.
-Unloads the model from memory.
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -52,38 +174,70 @@ Unloads the model from memory.
#### Inherited from
-`BaseModule.delete`
+`VisionModule.delete`
---
### forward()
-> **forward**(`imageSource`, `detectionThreshold?`): `Promise`\<[`Detection`](../interfaces/Detection.md)[]\>
+> **forward**(`input`, `detectionThreshold?`): `Promise`\<[`Detection`](../interfaces/Detection.md)[]\>
+
+Defined in: [modules/computer_vision/ObjectDetectionModule.ts:46](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts#L46)
+
+Executes the model's forward pass with automatic input type detection.
-Defined in: [modules/computer_vision/ObjectDetectionModule.ts:54](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts#L54)
+Supports two input types:
-Executes the model's forward pass, where `imageSource` can be a fetchable resource or a Base64-encoded string.
-`detectionThreshold` can be supplied to alter the sensitivity of the detection.
+1. **String path/URI**: File path, URL, or Base64-encoded string
+2. **PixelData**: Raw pixel data from image libraries (e.g., NitroImage)
+
+**Note**: For VisionCamera frame processing, use `runOnFrame` instead.
+This method is async and cannot be called in worklet context.
#### Parameters
-##### imageSource
+##### input
-`string`
+Image source (string path or PixelData object)
-The image source to be processed.
+`string` | [`PixelData`](../interfaces/PixelData.md)
##### detectionThreshold?
-`number` = `0.7`
-
-The threshold for detection sensitivity. Default is 0.7.
+`number` = `0.5`
#### Returns
`Promise`\<[`Detection`](../interfaces/Detection.md)[]\>
-An array of Detection objects representing detected items in the image.
+A Promise that resolves to the model output.
+
+#### Example
+
+```typescript
+// String path (async)
+const result1 = await model.forward('file:///path/to/image.jpg');
+
+// Pixel data (async)
+const result2 = await model.forward({
+ dataPtr: new Uint8Array(pixelBuffer),
+ sizes: [480, 640, 3],
+ scalarType: ScalarType.BYTE,
+});
+
+// For VisionCamera frames, use runOnFrame in worklet:
+const frameOutput = useFrameOutput({
+ onFrame(frame) {
+ 'worklet';
+ if (!model.runOnFrame) return;
+ const result = model.runOnFrame(frame);
+ },
+});
+```
+
+#### Overrides
+
+`VisionModule.forward`
---
@@ -91,7 +245,9 @@ An array of Detection objects representing detected items in the image.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -112,7 +268,7 @@ Array of output tensors.
#### Inherited from
-`BaseModule.forwardET`
+`VisionModule.forwardET`
---
@@ -120,7 +276,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
@@ -146,7 +302,7 @@ The input shape as an array of numbers.
#### Inherited from
-`BaseModule.getInputShape`
+`VisionModule.getInputShape`
---
@@ -181,4 +337,4 @@ Optional callback to monitor download progress.
#### Overrides
-`BaseModule.load`
+`VisionModule.load`
diff --git a/docs/docs/06-api-reference/classes/SemanticSegmentationModule.md b/docs/docs/06-api-reference/classes/SemanticSegmentationModule.md
index 861d86e08..b6f23cd74 100644
--- a/docs/docs/06-api-reference/classes/SemanticSegmentationModule.md
+++ b/docs/docs/06-api-reference/classes/SemanticSegmentationModule.md
@@ -26,13 +26,87 @@ Either a built-in model name (`'deeplab-v3-resnet50'`,
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -44,9 +118,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -108,7 +184,9 @@ If the model is not loaded.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -137,7 +215,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
@@ -173,6 +251,8 @@ The input shape as an array of numbers.
Defined in: [modules/computer_vision/SemanticSegmentationModule.ts:97](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/computer_vision/SemanticSegmentationModule.ts#L97)
+Load the model and prepare it for inference.
+
#### Returns
`Promise`\<`void`\>
diff --git a/docs/docs/06-api-reference/classes/StyleTransferModule.md b/docs/docs/06-api-reference/classes/StyleTransferModule.md
index f65ba4802..fde173d7c 100644
--- a/docs/docs/06-api-reference/classes/StyleTransferModule.md
+++ b/docs/docs/06-api-reference/classes/StyleTransferModule.md
@@ -24,13 +24,87 @@ Module for style transfer tasks.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -84,7 +160,9 @@ The stylized image as a Base64-encoded string.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -113,7 +191,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/TextEmbeddingsModule.md b/docs/docs/06-api-reference/classes/TextEmbeddingsModule.md
index 025c6c8e1..28a10045f 100644
--- a/docs/docs/06-api-reference/classes/TextEmbeddingsModule.md
+++ b/docs/docs/06-api-reference/classes/TextEmbeddingsModule.md
@@ -24,13 +24,87 @@ Module for generating text embeddings from input text.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -84,7 +160,9 @@ A Float32Array containing the vector embeddings.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -113,7 +191,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/TextToImageModule.md b/docs/docs/06-api-reference/classes/TextToImageModule.md
index e2b057a73..b0769de03 100644
--- a/docs/docs/06-api-reference/classes/TextToImageModule.md
+++ b/docs/docs/06-api-reference/classes/TextToImageModule.md
@@ -36,13 +36,87 @@ Optional callback function that receives the current step index during inference
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -54,9 +128,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -115,7 +191,9 @@ A Base64-encoded string representing the generated PNG image.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -144,7 +222,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/classes/VADModule.md b/docs/docs/06-api-reference/classes/VADModule.md
index c7d1cc136..6b9ff4120 100644
--- a/docs/docs/06-api-reference/classes/VADModule.md
+++ b/docs/docs/06-api-reference/classes/VADModule.md
@@ -24,13 +24,87 @@ Module for Voice Activity Detection (VAD) functionalities.
## Properties
+### generateFromFrame()
+
+> **generateFromFrame**: (`frameData`, ...`args`) => `any`
+
+Defined in: [modules/BaseModule.ts:56](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L56)
+
+Process a camera frame directly for real-time inference.
+
+This method is bound to a native JSI function after calling `load()`,
+making it worklet-compatible and safe to call from VisionCamera's
+frame processor thread.
+
+**Performance characteristics:**
+
+- **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ frame data is accessed directly without copying (fastest, recommended).
+- **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ from native to JS, then accessed from native code (slower, fallback).
+
+**Usage with VisionCamera:**
+
+```typescript
+const frameOutput = useFrameOutput({
+ pixelFormat: 'rgb',
+ onFrame(frame) {
+ 'worklet';
+ // Zero-copy approach (recommended)
+ const nativeBuffer = frame.getNativeBuffer();
+ const result = model.generateFromFrame(
+ {
+ nativeBuffer: nativeBuffer.pointer,
+ width: frame.width,
+ height: frame.height,
+ },
+ ...args
+ );
+ nativeBuffer.release();
+ frame.dispose();
+ },
+});
+```
+
+#### Parameters
+
+##### frameData
+
+[`Frame`](../interfaces/Frame.md)
+
+Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+
+##### args
+
+...`any`[]
+
+Additional model-specific arguments (e.g., threshold, options)
+
+#### Returns
+
+`any`
+
+Model-specific output (e.g., detections, classifications, embeddings)
+
+#### See
+
+[Frame](../interfaces/Frame.md) for frame data format details
+
+#### Inherited from
+
+`BaseModule.generateFromFrame`
+
+---
+
### nativeModule
> **nativeModule**: `any` = `null`
-Defined in: [modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L8)
+Defined in: [modules/BaseModule.ts:17](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L17)
+
+**`Internal`**
-Native module instance
+Native module instance (JSI Host Object)
#### Inherited from
@@ -42,9 +116,11 @@ Native module instance
> **delete**(): `void`
-Defined in: [modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L41)
+Defined in: [modules/BaseModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L100)
-Unloads the model from memory.
+Unloads the model from memory and releases native resources.
+
+Always call this method when you're done with a model to prevent memory leaks.
#### Returns
@@ -84,7 +160,9 @@ A promise resolving to an array of detected speech segments.
> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\>
-Defined in: [modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L23)
+Defined in: [modules/BaseModule.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L80)
+
+**`Internal`**
Runs the model's forward method with the given input tensors.
It returns the output tensors that mimic the structure of output from ExecuTorch.
@@ -113,7 +191,7 @@ Array of output tensors.
> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\>
-Defined in: [modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L34)
+Defined in: [modules/BaseModule.ts:91](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/modules/BaseModule.ts#L91)
Gets the input shape for a given method and index.
diff --git a/docs/docs/06-api-reference/enumerations/RnExecutorchErrorCode.md b/docs/docs/06-api-reference/enumerations/RnExecutorchErrorCode.md
index c5cdde479..8af6a41a0 100644
--- a/docs/docs/06-api-reference/enumerations/RnExecutorchErrorCode.md
+++ b/docs/docs/06-api-reference/enumerations/RnExecutorchErrorCode.md
@@ -8,7 +8,7 @@ Defined in: [errors/ErrorCodes.ts:4](https://github.com/software-mansion/react-n
> **AccessFailed**: `34`
-Defined in: [errors/ErrorCodes.ts:156](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L156)
+Defined in: [errors/ErrorCodes.ts:160](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L160)
Could not access a resource.
@@ -18,7 +18,7 @@ Could not access a resource.
> **DelegateInvalidCompatibility**: `48`
-Defined in: [errors/ErrorCodes.ts:172](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L172)
+Defined in: [errors/ErrorCodes.ts:176](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L176)
Init stage: Backend receives an incompatible delegate version.
@@ -28,7 +28,7 @@ Init stage: Backend receives an incompatible delegate version.
> **DelegateInvalidHandle**: `50`
-Defined in: [errors/ErrorCodes.ts:180](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L180)
+Defined in: [errors/ErrorCodes.ts:184](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L184)
Execute stage: The handle is invalid.
@@ -38,7 +38,7 @@ Execute stage: The handle is invalid.
> **DelegateMemoryAllocationFailed**: `49`
-Defined in: [errors/ErrorCodes.ts:176](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L176)
+Defined in: [errors/ErrorCodes.ts:180](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L180)
Init stage: Backend fails to allocate memory.
@@ -58,7 +58,7 @@ Thrown when the number of downloaded files is unexpected, due to download interr
> **EndOfMethod**: `3`
-Defined in: [errors/ErrorCodes.ts:124](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L124)
+Defined in: [errors/ErrorCodes.ts:128](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L128)
Status indicating there are no more steps of execution to run
@@ -88,7 +88,7 @@ An error ocurred when saving a file. This could be, for instance a result image
> **Internal**: `1`
-Defined in: [errors/ErrorCodes.ts:116](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L116)
+Defined in: [errors/ErrorCodes.ts:120](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L120)
An internal error occurred.
@@ -98,7 +98,7 @@ An internal error occurred.
> **InvalidArgument**: `18`
-Defined in: [errors/ErrorCodes.ts:136](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L136)
+Defined in: [errors/ErrorCodes.ts:140](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L140)
User provided an invalid argument.
@@ -118,7 +118,7 @@ Thrown when config parameters passed to a model are invalid. For example, when L
> **InvalidExternalData**: `36`
-Defined in: [errors/ErrorCodes.ts:164](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L164)
+Defined in: [errors/ErrorCodes.ts:168](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L168)
Error caused by the contents of external data.
@@ -148,7 +148,7 @@ Thrown when the type of model source passed by the user is invalid.
> **InvalidProgram**: `35`
-Defined in: [errors/ErrorCodes.ts:160](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L160)
+Defined in: [errors/ErrorCodes.ts:164](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L164)
Error caused by the contents of a program.
@@ -158,7 +158,7 @@ Error caused by the contents of a program.
> **InvalidState**: `2`
-Defined in: [errors/ErrorCodes.ts:120](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L120)
+Defined in: [errors/ErrorCodes.ts:124](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L124)
Status indicating the executor is in an invalid state for a targeted operation.
@@ -168,7 +168,7 @@ Status indicating the executor is in an invalid state for a targeted operation.
> **InvalidType**: `19`
-Defined in: [errors/ErrorCodes.ts:140](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L140)
+Defined in: [errors/ErrorCodes.ts:144](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L144)
Object is an invalid type for the operation.
@@ -198,7 +198,7 @@ Thrown when a language is passed to a multi-language model that is not supported
> **MemoryAllocationFailed**: `33`
-Defined in: [errors/ErrorCodes.ts:152](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L152)
+Defined in: [errors/ErrorCodes.ts:156](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L156)
Could not allocate the requested memory.
@@ -208,7 +208,7 @@ Could not allocate the requested memory.
> **MissingDataChunk**: `161`
-Defined in: [errors/ErrorCodes.ts:72](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L72)
+Defined in: [errors/ErrorCodes.ts:76](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L76)
Thrown when streaming transcription is attempted but audio data chunk is missing.
@@ -238,7 +238,7 @@ Thrown when a user tries to run a model that is not yet downloaded or loaded int
> **MultilingualConfiguration**: `160`
-Defined in: [errors/ErrorCodes.ts:68](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L68)
+Defined in: [errors/ErrorCodes.ts:72](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L72)
Thrown when there's a configuration mismatch between multilingual and language settings in Speech-to-Text models.
@@ -248,7 +248,7 @@ Thrown when there's a configuration mismatch between multilingual and language s
> **NotFound**: `32`
-Defined in: [errors/ErrorCodes.ts:148](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L148)
+Defined in: [errors/ErrorCodes.ts:152](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L152)
Requested resource could not be found.
@@ -258,7 +258,7 @@ Requested resource could not be found.
> **NotImplemented**: `17`
-Defined in: [errors/ErrorCodes.ts:132](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L132)
+Defined in: [errors/ErrorCodes.ts:136](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L136)
Operation is not yet implemented.
@@ -268,7 +268,7 @@ Operation is not yet implemented.
> **NotSupported**: `16`
-Defined in: [errors/ErrorCodes.ts:128](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L128)
+Defined in: [errors/ErrorCodes.ts:132](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L132)
Operation is not supported in the current context.
@@ -278,7 +278,7 @@ Operation is not supported in the current context.
> **Ok**: `0`
-Defined in: [errors/ErrorCodes.ts:112](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L112)
+Defined in: [errors/ErrorCodes.ts:116](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L116)
Status indicating a successful operation.
@@ -288,7 +288,7 @@ Status indicating a successful operation.
> **OperatorMissing**: `20`
-Defined in: [errors/ErrorCodes.ts:144](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L144)
+Defined in: [errors/ErrorCodes.ts:148](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L148)
Operator(s) missing in the operator registry.
@@ -298,17 +298,27 @@ Operator(s) missing in the operator registry.
> **OutOfResources**: `37`
-Defined in: [errors/ErrorCodes.ts:168](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L168)
+Defined in: [errors/ErrorCodes.ts:172](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L172)
Does not have enough resources to perform the requested operation.
---
+### PlatformNotSupported
+
+> **PlatformNotSupported**: `119`
+
+Defined in: [errors/ErrorCodes.ts:64](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L64)
+
+Thrown when a feature or platform is not supported in the current environment.
+
+---
+
### ResourceFetcherAdapterNotInitialized
> **ResourceFetcherAdapterNotInitialized**: `186`
-Defined in: [errors/ErrorCodes.ts:108](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L108)
+Defined in: [errors/ErrorCodes.ts:112](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L112)
Thrown when trying to load resources without fetcher initialization.
@@ -318,7 +328,7 @@ Thrown when trying to load resources without fetcher initialization.
> **ResourceFetcherAlreadyOngoing**: `183`
-Defined in: [errors/ErrorCodes.ts:96](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L96)
+Defined in: [errors/ErrorCodes.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L100)
Thrown when trying to resume a download that is already ongoing.
@@ -328,7 +338,7 @@ Thrown when trying to resume a download that is already ongoing.
> **ResourceFetcherAlreadyPaused**: `182`
-Defined in: [errors/ErrorCodes.ts:92](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L92)
+Defined in: [errors/ErrorCodes.ts:96](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L96)
Thrown when trying to pause a download that is already paused.
@@ -338,7 +348,7 @@ Thrown when trying to pause a download that is already paused.
> **ResourceFetcherDownloadFailed**: `180`
-Defined in: [errors/ErrorCodes.ts:84](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L84)
+Defined in: [errors/ErrorCodes.ts:88](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L88)
Thrown when a resource fails to download. This could be due to invalid URL, or for example a network problem.
@@ -348,7 +358,7 @@ Thrown when a resource fails to download. This could be due to invalid URL, or f
> **ResourceFetcherDownloadInProgress**: `181`
-Defined in: [errors/ErrorCodes.ts:88](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L88)
+Defined in: [errors/ErrorCodes.ts:92](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L92)
Thrown when a user tries to trigger a download that's already in progress.
@@ -358,7 +368,7 @@ Thrown when a user tries to trigger a download that's already in progress.
> **ResourceFetcherMissingUri**: `185`
-Defined in: [errors/ErrorCodes.ts:104](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L104)
+Defined in: [errors/ErrorCodes.ts:108](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L108)
Thrown when required URI information is missing for a download operation.
@@ -368,7 +378,7 @@ Thrown when required URI information is missing for a download operation.
> **ResourceFetcherNotActive**: `184`
-Defined in: [errors/ErrorCodes.ts:100](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L100)
+Defined in: [errors/ErrorCodes.ts:104](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L104)
Thrown when trying to pause, resume, or cancel a download that is not active.
@@ -378,7 +388,7 @@ Thrown when trying to pause, resume, or cancel a download that is not active.
> **StreamingInProgress**: `163`
-Defined in: [errors/ErrorCodes.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L80)
+Defined in: [errors/ErrorCodes.ts:84](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L84)
Thrown when trying to start a new streaming session while another is already in progress.
@@ -388,7 +398,7 @@ Thrown when trying to start a new streaming session while another is already in
> **StreamingNotStarted**: `162`
-Defined in: [errors/ErrorCodes.ts:76](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L76)
+Defined in: [errors/ErrorCodes.ts:80](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L80)
Thrown when trying to stop or insert data into a stream that hasn't been started.
@@ -408,7 +418,7 @@ Thrown when React Native ExecuTorch threadpool problem occurs.
> **TokenizerError**: `167`
-Defined in: [errors/ErrorCodes.ts:64](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L64)
+Defined in: [errors/ErrorCodes.ts:68](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/errors/ErrorCodes.ts#L68)
Thrown when an error occurs with the tokenizer or tokenization process.
diff --git a/docs/docs/06-api-reference/index.md b/docs/docs/06-api-reference/index.md
index f5bca0cde..7bffecd63 100644
--- a/docs/docs/06-api-reference/index.md
+++ b/docs/docs/06-api-reference/index.md
@@ -197,6 +197,7 @@
- [RnExecutorchErrorCode](enumerations/RnExecutorchErrorCode.md)
- [Logger](classes/Logger.md)
- [RnExecutorchError](classes/RnExecutorchError.md)
+- [Frame](interfaces/Frame.md)
## TTS Supported Voices
@@ -241,6 +242,7 @@
- [OCRDetection](interfaces/OCRDetection.md)
- [OCRProps](interfaces/OCRProps.md)
- [OCRType](interfaces/OCRType.md)
+- [PixelData](interfaces/PixelData.md)
- [Point](interfaces/Point.md)
- [Segment](interfaces/Segment.md)
- [SemanticSegmentationProps](interfaces/SemanticSegmentationProps.md)
diff --git a/docs/docs/06-api-reference/interfaces/Frame.md b/docs/docs/06-api-reference/interfaces/Frame.md
new file mode 100644
index 000000000..149a3837f
--- /dev/null
+++ b/docs/docs/06-api-reference/interfaces/Frame.md
@@ -0,0 +1,36 @@
+# Interface: Frame
+
+Defined in: [types/common.ts:197](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L197)
+
+Frame data for vision model processing.
+
+## Methods
+
+### getNativeBuffer()
+
+> **getNativeBuffer**(): `object`
+
+Defined in: [types/common.ts:205](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L205)
+
+Pointer to native platform buffer (zero-copy, best performance).
+
+- On iOS: CVPixelBufferRef pointer
+- On Android: AHardwareBuffer\* pointer
+
+Obtain from Vision Camera v5: `frame.getNativeBuffer().pointer`
+
+#### Returns
+
+`object`
+
+##### pointer
+
+> **pointer**: `bigint`
+
+##### release()
+
+> **release**(): `void`
+
+###### Returns
+
+`void`
diff --git a/docs/docs/06-api-reference/interfaces/ObjectDetectionType.md b/docs/docs/06-api-reference/interfaces/ObjectDetectionType.md
index a9f28e5cf..4bd5dba98 100644
--- a/docs/docs/06-api-reference/interfaces/ObjectDetectionType.md
+++ b/docs/docs/06-api-reference/interfaces/ObjectDetectionType.md
@@ -29,36 +29,57 @@ Contains the error object if the model failed to load, download, or encountered
### forward()
-> **forward**: (`imageSource`, `detectionThreshold?`) => `Promise`\<[`Detection`](Detection.md)[]\>
+> **forward**: (`input`, `detectionThreshold?`) => `Promise`\<[`Detection`](Detection.md)[]\>
-Defined in: [types/objectDetection.ts:179](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/objectDetection.ts#L179)
+Defined in: [types/objectDetection.ts:199](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/objectDetection.ts#L199)
-Executes the model's forward pass to detect objects within the provided image.
+Executes the model's forward pass with automatic input type detection.
+
+Supports two input types:
+
+1. **String path/URI**: File path, URL, or Base64-encoded string
+2. **PixelData**: Raw pixel data from image libraries (e.g., NitroImage)
+
+**Note**: For VisionCamera frame processing, use `runOnFrame` instead.
#### Parameters
-##### imageSource
+##### input
-`string`
+Image source (string or PixelData object)
-A string representing the image source (e.g., a file path, URI, or base64 string) to be processed.
+`string` | [`PixelData`](PixelData.md)
##### detectionThreshold?
`number`
-An optional number between 0 and 1 representing the minimum confidence score required for an object to be included in the results. Default is 0.7.
+An optional number between 0 and 1 representing the minimum confidence score. Default is 0.5.
#### Returns
`Promise`\<[`Detection`](Detection.md)[]\>
-A Promise that resolves to an array of `Detection` objects, where each object typically contains bounding box coordinates, a class label, and a confidence score.
+A Promise that resolves to an array of `Detection` objects.
#### Throws
If the model is not loaded or is currently processing another image.
+#### Example
+
+```typescript
+// String path
+const detections1 = await model.forward('file:///path/to/image.jpg');
+
+// Pixel data
+const detections2 = await model.forward({
+ dataPtr: new Uint8Array(rgbPixels),
+ sizes: [480, 640, 3],
+ scalarType: ScalarType.BYTE,
+});
+```
+
---
### isGenerating
@@ -78,3 +99,46 @@ Indicates whether the model is currently processing an image.
Defined in: [types/objectDetection.ts:160](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/objectDetection.ts#L160)
Indicates whether the object detection model is loaded and ready to process images.
+
+---
+
+### runOnFrame
+
+> **runOnFrame**: (`frame`, `detectionThreshold`) => [`Detection`](Detection.md)[] \| `null`
+
+Defined in: [types/objectDetection.ts:231](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/objectDetection.ts#L231)
+
+Synchronous worklet function for real-time VisionCamera frame processing.
+Automatically handles native buffer extraction and cleanup.
+
+**Use this for VisionCamera frame processing in worklets.**
+For async processing, use `forward()` instead.
+
+Available after model is loaded (`isReady: true`).
+
+#### Example
+
+```typescript
+const { runOnFrame, isReady } = useObjectDetection({ model: MODEL });
+
+const frameOutput = useFrameOutput({
+ onFrame(frame) {
+ 'worklet';
+ if (!runOnFrame) return;
+ const detections = runOnFrame(frame, 0.5);
+ frame.dispose();
+ },
+});
+```
+
+#### Param
+
+VisionCamera Frame object
+
+#### Param
+
+The threshold for detection sensitivity.
+
+#### Returns
+
+Array of Detection objects representing detected items in the frame.
diff --git a/docs/docs/06-api-reference/interfaces/PixelData.md b/docs/docs/06-api-reference/interfaces/PixelData.md
new file mode 100644
index 000000000..1cc9c60be
--- /dev/null
+++ b/docs/docs/06-api-reference/interfaces/PixelData.md
@@ -0,0 +1,65 @@
+# Interface: PixelData
+
+Defined in: [types/common.ts:172](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L172)
+
+Represents raw pixel data in RGB format for vision models.
+
+This type extends TensorPtr with constraints specific to image data:
+
+- dataPtr must be Uint8Array (8-bit unsigned integers)
+- scalarType is always BYTE (ScalarType.BYTE)
+- sizes represents [height, width, channels] where channels must be 3 (RGB)
+
+## Example
+
+```typescript
+const pixelData: PixelData = {
+ dataPtr: new Uint8Array(width * height * 3), // RGB pixel data
+ sizes: [height, width, 3], // [height, width, channels]
+ scalarType: ScalarType.BYTE,
+};
+```
+
+## Extends
+
+- `Pick`\<[`TensorPtr`](TensorPtr.md), `"sizes"`\>
+
+## Properties
+
+### dataPtr
+
+> **dataPtr**: `Uint8Array`
+
+Defined in: [types/common.ts:178](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L178)
+
+RGB pixel data as Uint8Array.
+Expected format: RGB (3 channels), not RGBA or BGRA.
+Size must equal: width _ height _ 3
+
+---
+
+### scalarType
+
+> **scalarType**: [`BYTE`](../enumerations/ScalarType.md#byte)
+
+Defined in: [types/common.ts:191](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L191)
+
+Scalar type is always BYTE for pixel data.
+
+---
+
+### sizes
+
+> **sizes**: \[`number`, `number`, `3`\]
+
+Defined in: [types/common.ts:186](https://github.com/software-mansion/react-native-executorch/blob/main/packages/react-native-executorch/src/types/common.ts#L186)
+
+Dimensions of the pixel data: [height, width, channels].
+
+- sizes[0]: height (number of rows)
+- sizes[1]: width (number of columns)
+- sizes[2]: channels (must be 3 for RGB)
+
+#### Overrides
+
+[`TensorPtr`](TensorPtr.md).[`sizes`](TensorPtr.md#sizes)
diff --git a/docs/docs/06-api-reference/typedoc-sidebar.cjs b/docs/docs/06-api-reference/typedoc-sidebar.cjs
index 676ba4747..00abf2925 100644
--- a/docs/docs/06-api-reference/typedoc-sidebar.cjs
+++ b/docs/docs/06-api-reference/typedoc-sidebar.cjs
@@ -1,4 +1,4 @@
// @ts-check
/** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */
-const typedocSidebar = {items:[{type:"category",label:"Hooks",items:[{type:"doc",id:"06-api-reference/functions/useClassification",label:"useClassification"},{type:"doc",id:"06-api-reference/functions/useExecutorchModule",label:"useExecutorchModule"},{type:"doc",id:"06-api-reference/functions/useImageEmbeddings",label:"useImageEmbeddings"},{type:"doc",id:"06-api-reference/functions/useLLM",label:"useLLM"},{type:"doc",id:"06-api-reference/functions/useObjectDetection",label:"useObjectDetection"},{type:"doc",id:"06-api-reference/functions/useOCR",label:"useOCR"},{type:"doc",id:"06-api-reference/functions/useSemanticSegmentation",label:"useSemanticSegmentation"},{type:"doc",id:"06-api-reference/functions/useSpeechToText",label:"useSpeechToText"},{type:"doc",id:"06-api-reference/functions/useStyleTransfer",label:"useStyleTransfer"},{type:"doc",id:"06-api-reference/functions/useTextEmbeddings",label:"useTextEmbeddings"},{type:"doc",id:"06-api-reference/functions/useTextToImage",label:"useTextToImage"},{type:"doc",id:"06-api-reference/functions/useTextToSpeech",label:"useTextToSpeech"},{type:"doc",id:"06-api-reference/functions/useTokenizer",label:"useTokenizer"},{type:"doc",id:"06-api-reference/functions/useVAD",label:"useVAD"},{type:"doc",id:"06-api-reference/functions/useVerticalOCR",label:"useVerticalOCR"}]},{type:"category",label:"Interfaces",items:[{type:"doc",id:"06-api-reference/interfaces/ResourceSourceExtended",label:"ResourceSourceExtended"}]},{type:"category",label:"Models - Classification",items:[{type:"doc",id:"06-api-reference/variables/EFFICIENTNET_V2_S",label:"EFFICIENTNET_V2_S"}]},{type:"category",label:"Models - Image Embeddings",items:[{type:"doc",id:"06-api-reference/variables/CLIP_VIT_BASE_PATCH32_IMAGE",label:"CLIP_VIT_BASE_PATCH32_IMAGE"}]},{type:"category",label:"Models - Image Generation",items:[{type:"doc",id:"06-api-reference/variables/BK_SDM_TINY_VPRED_256",label:"BK_SDM_TINY_VPRED_256"},{type:"doc",id:"06-api-reference/variables/BK_SDM_TINY_VPRED_512",label:"BK_SDM_TINY_VPRED_512"}]},{type:"category",label:"Models - LMM",items:[{type:"doc",id:"06-api-reference/variables/HAMMER2_1_0_5B",label:"HAMMER2_1_0_5B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_0_5B_QUANTIZED",label:"HAMMER2_1_0_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_1_5B",label:"HAMMER2_1_1_5B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_1_5B_QUANTIZED",label:"HAMMER2_1_1_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_3B",label:"HAMMER2_1_3B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_3B_QUANTIZED",label:"HAMMER2_1_3B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LFM2_5_1_2B_INSTRUCT",label:"LFM2_5_1_2B_INSTRUCT"},{type:"doc",id:"06-api-reference/variables/LFM2_5_1_2B_INSTRUCT_QUANTIZED",label:"LFM2_5_1_2B_INSTRUCT_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B",label:"LLAMA3_2_1B"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B_QLORA",label:"LLAMA3_2_1B_QLORA"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B_SPINQUANT",label:"LLAMA3_2_1B_SPINQUANT"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B",label:"LLAMA3_2_3B"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B_QLORA",label:"LLAMA3_2_3B_QLORA"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B_SPINQUANT",label:"LLAMA3_2_3B_SPINQUANT"},{type:"doc",id:"06-api-reference/variables/PHI_4_MINI_4B",label:"PHI_4_MINI_4B"},{type:"doc",id:"06-api-reference/variables/PHI_4_MINI_4B_QUANTIZED",label:"PHI_4_MINI_4B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_0_5B",label:"QWEN2_5_0_5B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_0_5B_QUANTIZED",label:"QWEN2_5_0_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_1_5B",label:"QWEN2_5_1_5B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_1_5B_QUANTIZED",label:"QWEN2_5_1_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_3B",label:"QWEN2_5_3B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_3B_QUANTIZED",label:"QWEN2_5_3B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_0_6B",label:"QWEN3_0_6B"},{type:"doc",id:"06-api-reference/variables/QWEN3_0_6B_QUANTIZED",label:"QWEN3_0_6B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_1_7B",label:"QWEN3_1_7B"},{type:"doc",id:"06-api-reference/variables/QWEN3_1_7B_QUANTIZED",label:"QWEN3_1_7B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_4B",label:"QWEN3_4B"},{type:"doc",id:"06-api-reference/variables/QWEN3_4B_QUANTIZED",label:"QWEN3_4B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_1_7B",label:"SMOLLM2_1_1_7B"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_1_7B_QUANTIZED",label:"SMOLLM2_1_1_7B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_135M",label:"SMOLLM2_1_135M"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_135M_QUANTIZED",label:"SMOLLM2_1_135M_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_360M",label:"SMOLLM2_1_360M"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_360M_QUANTIZED",label:"SMOLLM2_1_360M_QUANTIZED"}]},{type:"category",label:"Models - Object Detection",items:[{type:"doc",id:"06-api-reference/variables/SSDLITE_320_MOBILENET_V3_LARGE",label:"SSDLITE_320_MOBILENET_V3_LARGE"}]},{type:"category",label:"Models - Semantic Segmentation",items:[{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_MOBILENET_V3_LARGE",label:"DEEPLAB_V3_MOBILENET_V3_LARGE"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED",label:"DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET101",label:"DEEPLAB_V3_RESNET101"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET101_QUANTIZED",label:"DEEPLAB_V3_RESNET101_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET50",label:"DEEPLAB_V3_RESNET50"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET50_QUANTIZED",label:"DEEPLAB_V3_RESNET50_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET101",label:"FCN_RESNET101"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET101_QUANTIZED",label:"FCN_RESNET101_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET50",label:"FCN_RESNET50"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET50_QUANTIZED",label:"FCN_RESNET50_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LRASPP_MOBILENET_V3_LARGE",label:"LRASPP_MOBILENET_V3_LARGE"},{type:"doc",id:"06-api-reference/variables/LRASPP_MOBILENET_V3_LARGE_QUANTIZED",label:"LRASPP_MOBILENET_V3_LARGE_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SELFIE_SEGMENTATION",label:"SELFIE_SEGMENTATION"}]},{type:"category",label:"Models - Speech To Text",items:[{type:"doc",id:"06-api-reference/variables/WHISPER_BASE",label:"WHISPER_BASE"},{type:"doc",id:"06-api-reference/variables/WHISPER_BASE_EN",label:"WHISPER_BASE_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_SMALL",label:"WHISPER_SMALL"},{type:"doc",id:"06-api-reference/variables/WHISPER_SMALL_EN",label:"WHISPER_SMALL_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY",label:"WHISPER_TINY"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY_EN",label:"WHISPER_TINY_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY_EN_QUANTIZED",label:"WHISPER_TINY_EN_QUANTIZED"}]},{type:"category",label:"Models - Style Transfer",items:[{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_CANDY",label:"STYLE_TRANSFER_CANDY"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_MOSAIC",label:"STYLE_TRANSFER_MOSAIC"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_RAIN_PRINCESS",label:"STYLE_TRANSFER_RAIN_PRINCESS"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_UDNIE",label:"STYLE_TRANSFER_UDNIE"}]},{type:"category",label:"Models - Text Embeddings",items:[{type:"doc",id:"06-api-reference/variables/ALL_MINILM_L6_V2",label:"ALL_MINILM_L6_V2"},{type:"doc",id:"06-api-reference/variables/ALL_MPNET_BASE_V2",label:"ALL_MPNET_BASE_V2"},{type:"doc",id:"06-api-reference/variables/CLIP_VIT_BASE_PATCH32_TEXT",label:"CLIP_VIT_BASE_PATCH32_TEXT"},{type:"doc",id:"06-api-reference/variables/MULTI_QA_MINILM_L6_COS_V1",label:"MULTI_QA_MINILM_L6_COS_V1"},{type:"doc",id:"06-api-reference/variables/MULTI_QA_MPNET_BASE_DOT_V1",label:"MULTI_QA_MPNET_BASE_DOT_V1"}]},{type:"category",label:"Models - Text to Speech",items:[{type:"doc",id:"06-api-reference/variables/KOKORO_MEDIUM",label:"KOKORO_MEDIUM"},{type:"doc",id:"06-api-reference/variables/KOKORO_SMALL",label:"KOKORO_SMALL"}]},{type:"category",label:"Models - Voice Activity Detection",items:[{type:"doc",id:"06-api-reference/variables/FSMN_VAD",label:"FSMN_VAD"}]},{type:"category",label:"OCR Supported Alphabets",items:[{type:"doc",id:"06-api-reference/variables/OCR_ABAZA",label:"OCR_ABAZA"},{type:"doc",id:"06-api-reference/variables/OCR_ADYGHE",label:"OCR_ADYGHE"},{type:"doc",id:"06-api-reference/variables/OCR_AFRIKAANS",label:"OCR_AFRIKAANS"},{type:"doc",id:"06-api-reference/variables/OCR_ALBANIAN",label:"OCR_ALBANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_AVAR",label:"OCR_AVAR"},{type:"doc",id:"06-api-reference/variables/OCR_AZERBAIJANI",label:"OCR_AZERBAIJANI"},{type:"doc",id:"06-api-reference/variables/OCR_BELARUSIAN",label:"OCR_BELARUSIAN"},{type:"doc",id:"06-api-reference/variables/OCR_BOSNIAN",label:"OCR_BOSNIAN"},{type:"doc",id:"06-api-reference/variables/OCR_BULGARIAN",label:"OCR_BULGARIAN"},{type:"doc",id:"06-api-reference/variables/OCR_CHECHEN",label:"OCR_CHECHEN"},{type:"doc",id:"06-api-reference/variables/OCR_CROATIAN",label:"OCR_CROATIAN"},{type:"doc",id:"06-api-reference/variables/OCR_CZECH",label:"OCR_CZECH"},{type:"doc",id:"06-api-reference/variables/OCR_DANISH",label:"OCR_DANISH"},{type:"doc",id:"06-api-reference/variables/OCR_DARGWA",label:"OCR_DARGWA"},{type:"doc",id:"06-api-reference/variables/OCR_DUTCH",label:"OCR_DUTCH"},{type:"doc",id:"06-api-reference/variables/OCR_ENGLISH",label:"OCR_ENGLISH"},{type:"doc",id:"06-api-reference/variables/OCR_ESTONIAN",label:"OCR_ESTONIAN"},{type:"doc",id:"06-api-reference/variables/OCR_FRENCH",label:"OCR_FRENCH"},{type:"doc",id:"06-api-reference/variables/OCR_GERMAN",label:"OCR_GERMAN"},{type:"doc",id:"06-api-reference/variables/OCR_HUNGARIAN",label:"OCR_HUNGARIAN"},{type:"doc",id:"06-api-reference/variables/OCR_ICELANDIC",label:"OCR_ICELANDIC"},{type:"doc",id:"06-api-reference/variables/OCR_INDONESIAN",label:"OCR_INDONESIAN"},{type:"doc",id:"06-api-reference/variables/OCR_INGUSH",label:"OCR_INGUSH"},{type:"doc",id:"06-api-reference/variables/OCR_IRISH",label:"OCR_IRISH"},{type:"doc",id:"06-api-reference/variables/OCR_ITALIAN",label:"OCR_ITALIAN"},{type:"doc",id:"06-api-reference/variables/OCR_JAPANESE",label:"OCR_JAPANESE"},{type:"doc",id:"06-api-reference/variables/OCR_KANNADA",label:"OCR_KANNADA"},{type:"doc",id:"06-api-reference/variables/OCR_KARBADIAN",label:"OCR_KARBADIAN"},{type:"doc",id:"06-api-reference/variables/OCR_KOREAN",label:"OCR_KOREAN"},{type:"doc",id:"06-api-reference/variables/OCR_KURDISH",label:"OCR_KURDISH"},{type:"doc",id:"06-api-reference/variables/OCR_LAK",label:"OCR_LAK"},{type:"doc",id:"06-api-reference/variables/OCR_LATIN",label:"OCR_LATIN"},{type:"doc",id:"06-api-reference/variables/OCR_LATVIAN",label:"OCR_LATVIAN"},{type:"doc",id:"06-api-reference/variables/OCR_LEZGHIAN",label:"OCR_LEZGHIAN"},{type:"doc",id:"06-api-reference/variables/OCR_LITHUANIAN",label:"OCR_LITHUANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_MALAY",label:"OCR_MALAY"},{type:"doc",id:"06-api-reference/variables/OCR_MALTESE",label:"OCR_MALTESE"},{type:"doc",id:"06-api-reference/variables/OCR_MAORI",label:"OCR_MAORI"},{type:"doc",id:"06-api-reference/variables/OCR_MONGOLIAN",label:"OCR_MONGOLIAN"},{type:"doc",id:"06-api-reference/variables/OCR_NORWEGIAN",label:"OCR_NORWEGIAN"},{type:"doc",id:"06-api-reference/variables/OCR_OCCITAN",label:"OCR_OCCITAN"},{type:"doc",id:"06-api-reference/variables/OCR_PALI",label:"OCR_PALI"},{type:"doc",id:"06-api-reference/variables/OCR_POLISH",label:"OCR_POLISH"},{type:"doc",id:"06-api-reference/variables/OCR_PORTUGUESE",label:"OCR_PORTUGUESE"},{type:"doc",id:"06-api-reference/variables/OCR_ROMANIAN",label:"OCR_ROMANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_RUSSIAN",label:"OCR_RUSSIAN"},{type:"doc",id:"06-api-reference/variables/OCR_SERBIAN_CYRILLIC",label:"OCR_SERBIAN_CYRILLIC"},{type:"doc",id:"06-api-reference/variables/OCR_SERBIAN_LATIN",label:"OCR_SERBIAN_LATIN"},{type:"doc",id:"06-api-reference/variables/OCR_SIMPLIFIED_CHINESE",label:"OCR_SIMPLIFIED_CHINESE"},{type:"doc",id:"06-api-reference/variables/OCR_SLOVAK",label:"OCR_SLOVAK"},{type:"doc",id:"06-api-reference/variables/OCR_SLOVENIAN",label:"OCR_SLOVENIAN"},{type:"doc",id:"06-api-reference/variables/OCR_SPANISH",label:"OCR_SPANISH"},{type:"doc",id:"06-api-reference/variables/OCR_SWAHILI",label:"OCR_SWAHILI"},{type:"doc",id:"06-api-reference/variables/OCR_SWEDISH",label:"OCR_SWEDISH"},{type:"doc",id:"06-api-reference/variables/OCR_TABASSARAN",label:"OCR_TABASSARAN"},{type:"doc",id:"06-api-reference/variables/OCR_TAGALOG",label:"OCR_TAGALOG"},{type:"doc",id:"06-api-reference/variables/OCR_TAJIK",label:"OCR_TAJIK"},{type:"doc",id:"06-api-reference/variables/OCR_TELUGU",label:"OCR_TELUGU"},{type:"doc",id:"06-api-reference/variables/OCR_TURKISH",label:"OCR_TURKISH"},{type:"doc",id:"06-api-reference/variables/OCR_UKRAINIAN",label:"OCR_UKRAINIAN"},{type:"doc",id:"06-api-reference/variables/OCR_UZBEK",label:"OCR_UZBEK"},{type:"doc",id:"06-api-reference/variables/OCR_VIETNAMESE",label:"OCR_VIETNAMESE"},{type:"doc",id:"06-api-reference/variables/OCR_WELSH",label:"OCR_WELSH"}]},{type:"category",label:"Other",items:[{type:"doc",id:"06-api-reference/enumerations/RnExecutorchErrorCode",label:"RnExecutorchErrorCode"},{type:"doc",id:"06-api-reference/classes/Logger",label:"Logger"},{type:"doc",id:"06-api-reference/classes/RnExecutorchError",label:"RnExecutorchError"}]},{type:"category",label:"TTS Supported Voices",items:[{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_HEART",label:"KOKORO_VOICE_AF_HEART"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_RIVER",label:"KOKORO_VOICE_AF_RIVER"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_SARAH",label:"KOKORO_VOICE_AF_SARAH"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_ADAM",label:"KOKORO_VOICE_AM_ADAM"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_MICHAEL",label:"KOKORO_VOICE_AM_MICHAEL"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_SANTA",label:"KOKORO_VOICE_AM_SANTA"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_BF_EMMA",label:"KOKORO_VOICE_BF_EMMA"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_BM_DANIEL",label:"KOKORO_VOICE_BM_DANIEL"}]},{type:"category",label:"Types",items:[{type:"doc",id:"06-api-reference/enumerations/CocoLabel",label:"CocoLabel"},{type:"doc",id:"06-api-reference/enumerations/DeeplabLabel",label:"DeeplabLabel"},{type:"doc",id:"06-api-reference/enumerations/DownloadStatus",label:"DownloadStatus"},{type:"doc",id:"06-api-reference/enumerations/HTTP_CODE",label:"HTTP_CODE"},{type:"doc",id:"06-api-reference/enumerations/ScalarType",label:"ScalarType"},{type:"doc",id:"06-api-reference/enumerations/SelfieSegmentationLabel",label:"SelfieSegmentationLabel"},{type:"doc",id:"06-api-reference/enumerations/SourceType",label:"SourceType"},{type:"doc",id:"06-api-reference/interfaces/Bbox",label:"Bbox"},{type:"doc",id:"06-api-reference/interfaces/ChatConfig",label:"ChatConfig"},{type:"doc",id:"06-api-reference/interfaces/ClassificationProps",label:"ClassificationProps"},{type:"doc",id:"06-api-reference/interfaces/ClassificationType",label:"ClassificationType"},{type:"doc",id:"06-api-reference/interfaces/ContextStrategy",label:"ContextStrategy"},{type:"doc",id:"06-api-reference/interfaces/DecodingOptions",label:"DecodingOptions"},{type:"doc",id:"06-api-reference/interfaces/Detection",label:"Detection"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchModuleProps",label:"ExecutorchModuleProps"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchModuleType",label:"ExecutorchModuleType"},{type:"doc",id:"06-api-reference/interfaces/GenerationConfig",label:"GenerationConfig"},{type:"doc",id:"06-api-reference/interfaces/ImageEmbeddingsProps",label:"ImageEmbeddingsProps"},{type:"doc",id:"06-api-reference/interfaces/ImageEmbeddingsType",label:"ImageEmbeddingsType"},{type:"doc",id:"06-api-reference/interfaces/KokoroConfig",label:"KokoroConfig"},{type:"doc",id:"06-api-reference/interfaces/KokoroVoiceExtras",label:"KokoroVoiceExtras"},{type:"doc",id:"06-api-reference/interfaces/LLMConfig",label:"LLMConfig"},{type:"doc",id:"06-api-reference/interfaces/LLMProps",label:"LLMProps"},{type:"doc",id:"06-api-reference/interfaces/LLMType",label:"LLMType"},{type:"doc",id:"06-api-reference/interfaces/Message",label:"Message"},{type:"doc",id:"06-api-reference/interfaces/ObjectDetectionProps",label:"ObjectDetectionProps"},{type:"doc",id:"06-api-reference/interfaces/ObjectDetectionType",label:"ObjectDetectionType"},{type:"doc",id:"06-api-reference/interfaces/OCRDetection",label:"OCRDetection"},{type:"doc",id:"06-api-reference/interfaces/OCRProps",label:"OCRProps"},{type:"doc",id:"06-api-reference/interfaces/OCRType",label:"OCRType"},{type:"doc",id:"06-api-reference/interfaces/Point",label:"Point"},{type:"doc",id:"06-api-reference/interfaces/Segment",label:"Segment"},{type:"doc",id:"06-api-reference/interfaces/SemanticSegmentationProps",label:"SemanticSegmentationProps"},{type:"doc",id:"06-api-reference/interfaces/SemanticSegmentationType",label:"SemanticSegmentationType"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextModelConfig",label:"SpeechToTextModelConfig"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextProps",label:"SpeechToTextProps"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextType",label:"SpeechToTextType"},{type:"doc",id:"06-api-reference/interfaces/StyleTransferProps",label:"StyleTransferProps"},{type:"doc",id:"06-api-reference/interfaces/StyleTransferType",label:"StyleTransferType"},{type:"doc",id:"06-api-reference/interfaces/TensorPtr",label:"TensorPtr"},{type:"doc",id:"06-api-reference/interfaces/TextEmbeddingsProps",label:"TextEmbeddingsProps"},{type:"doc",id:"06-api-reference/interfaces/TextEmbeddingsType",label:"TextEmbeddingsType"},{type:"doc",id:"06-api-reference/interfaces/TextToImageProps",label:"TextToImageProps"},{type:"doc",id:"06-api-reference/interfaces/TextToImageType",label:"TextToImageType"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechConfig",label:"TextToSpeechConfig"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechInput",label:"TextToSpeechInput"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechProps",label:"TextToSpeechProps"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechStreamingInput",label:"TextToSpeechStreamingInput"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechType",label:"TextToSpeechType"},{type:"doc",id:"06-api-reference/interfaces/TokenizerProps",label:"TokenizerProps"},{type:"doc",id:"06-api-reference/interfaces/TokenizerType",label:"TokenizerType"},{type:"doc",id:"06-api-reference/interfaces/ToolCall",label:"ToolCall"},{type:"doc",id:"06-api-reference/interfaces/ToolsConfig",label:"ToolsConfig"},{type:"doc",id:"06-api-reference/interfaces/TranscriptionResult",label:"TranscriptionResult"},{type:"doc",id:"06-api-reference/interfaces/TranscriptionSegment",label:"TranscriptionSegment"},{type:"doc",id:"06-api-reference/interfaces/VADProps",label:"VADProps"},{type:"doc",id:"06-api-reference/interfaces/VADType",label:"VADType"},{type:"doc",id:"06-api-reference/interfaces/VerticalOCRProps",label:"VerticalOCRProps"},{type:"doc",id:"06-api-reference/interfaces/VoiceConfig",label:"VoiceConfig"},{type:"doc",id:"06-api-reference/interfaces/Word",label:"Word"},{type:"doc",id:"06-api-reference/type-aliases/LabelEnum",label:"LabelEnum"},{type:"doc",id:"06-api-reference/type-aliases/LLMTool",label:"LLMTool"},{type:"doc",id:"06-api-reference/type-aliases/MessageRole",label:"MessageRole"},{type:"doc",id:"06-api-reference/type-aliases/ModelNameOf",label:"ModelNameOf"},{type:"doc",id:"06-api-reference/type-aliases/OCRLanguage",label:"OCRLanguage"},{type:"doc",id:"06-api-reference/type-aliases/ResourceSource",label:"ResourceSource"},{type:"doc",id:"06-api-reference/type-aliases/SegmentationLabels",label:"SegmentationLabels"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationConfig",label:"SemanticSegmentationConfig"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationModelName",label:"SemanticSegmentationModelName"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationModelSources",label:"SemanticSegmentationModelSources"},{type:"doc",id:"06-api-reference/type-aliases/SpeechToTextLanguage",label:"SpeechToTextLanguage"},{type:"doc",id:"06-api-reference/type-aliases/TensorBuffer",label:"TensorBuffer"},{type:"doc",id:"06-api-reference/type-aliases/TextToSpeechLanguage",label:"TextToSpeechLanguage"},{type:"doc",id:"06-api-reference/type-aliases/Triple",label:"Triple"},{type:"doc",id:"06-api-reference/variables/SPECIAL_TOKENS",label:"SPECIAL_TOKENS"}]},{type:"category",label:"Typescript API",items:[{type:"doc",id:"06-api-reference/classes/ClassificationModule",label:"ClassificationModule"},{type:"doc",id:"06-api-reference/classes/ExecutorchModule",label:"ExecutorchModule"},{type:"doc",id:"06-api-reference/classes/ImageEmbeddingsModule",label:"ImageEmbeddingsModule"},{type:"doc",id:"06-api-reference/classes/LLMModule",label:"LLMModule"},{type:"doc",id:"06-api-reference/classes/ObjectDetectionModule",label:"ObjectDetectionModule"},{type:"doc",id:"06-api-reference/classes/OCRModule",label:"OCRModule"},{type:"doc",id:"06-api-reference/classes/SemanticSegmentationModule",label:"SemanticSegmentationModule"},{type:"doc",id:"06-api-reference/classes/SpeechToTextModule",label:"SpeechToTextModule"},{type:"doc",id:"06-api-reference/classes/StyleTransferModule",label:"StyleTransferModule"},{type:"doc",id:"06-api-reference/classes/TextEmbeddingsModule",label:"TextEmbeddingsModule"},{type:"doc",id:"06-api-reference/classes/TextToImageModule",label:"TextToImageModule"},{type:"doc",id:"06-api-reference/classes/TextToSpeechModule",label:"TextToSpeechModule"},{type:"doc",id:"06-api-reference/classes/TokenizerModule",label:"TokenizerModule"},{type:"doc",id:"06-api-reference/classes/VADModule",label:"VADModule"},{type:"doc",id:"06-api-reference/classes/VerticalOCRModule",label:"VerticalOCRModule"}]},{type:"category",label:"Utilities - General",items:[{type:"category",label:"ResourceFetcherUtils",items:[{type:"category",label:"Functions",items:[{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/calculateDownloadProgress",label:"calculateDownloadProgress"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/getFilenameFromUri",label:"getFilenameFromUri"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/hashObject",label:"hashObject"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/removeFilePrefix",label:"removeFilePrefix"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/triggerHuggingFaceDownloadCounter",label:"triggerHuggingFaceDownloadCounter"}]}],link:{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/index"}},{type:"doc",id:"06-api-reference/classes/ResourceFetcher",label:"ResourceFetcher"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchConfig",label:"ExecutorchConfig"},{type:"doc",id:"06-api-reference/interfaces/ResourceFetcherAdapter",label:"ResourceFetcherAdapter"},{type:"doc",id:"06-api-reference/functions/cleanupExecutorch",label:"cleanupExecutorch"},{type:"doc",id:"06-api-reference/functions/initExecutorch",label:"initExecutorch"}]},{type:"category",label:"Utilities - LLM",items:[{type:"doc",id:"06-api-reference/variables/DEFAULT_CHAT_CONFIG",label:"DEFAULT_CHAT_CONFIG"},{type:"doc",id:"06-api-reference/variables/DEFAULT_CONTEXT_BUFFER_TOKENS",label:"DEFAULT_CONTEXT_BUFFER_TOKENS"},{type:"doc",id:"06-api-reference/variables/DEFAULT_MESSAGE_HISTORY",label:"DEFAULT_MESSAGE_HISTORY"},{type:"doc",id:"06-api-reference/variables/DEFAULT_SYSTEM_PROMPT",label:"DEFAULT_SYSTEM_PROMPT"},{type:"doc",id:"06-api-reference/variables/parseToolCall",label:"parseToolCall"},{type:"doc",id:"06-api-reference/functions/DEFAULT_STRUCTURED_OUTPUT_PROMPT",label:"DEFAULT_STRUCTURED_OUTPUT_PROMPT"},{type:"doc",id:"06-api-reference/functions/fixAndValidateStructuredOutput",label:"fixAndValidateStructuredOutput"},{type:"doc",id:"06-api-reference/functions/getStructuredOutputPrompt",label:"getStructuredOutputPrompt"}]},{type:"category",label:"Utils",items:[{type:"doc",id:"06-api-reference/classes/MessageCountContextStrategy",label:"MessageCountContextStrategy"},{type:"doc",id:"06-api-reference/classes/NoopContextStrategy",label:"NoopContextStrategy"},{type:"doc",id:"06-api-reference/classes/SlidingWindowContextStrategy",label:"SlidingWindowContextStrategy"}]}]};
+const typedocSidebar = {items:[{type:"category",label:"Hooks",items:[{type:"doc",id:"06-api-reference/functions/useClassification",label:"useClassification"},{type:"doc",id:"06-api-reference/functions/useExecutorchModule",label:"useExecutorchModule"},{type:"doc",id:"06-api-reference/functions/useImageEmbeddings",label:"useImageEmbeddings"},{type:"doc",id:"06-api-reference/functions/useLLM",label:"useLLM"},{type:"doc",id:"06-api-reference/functions/useObjectDetection",label:"useObjectDetection"},{type:"doc",id:"06-api-reference/functions/useOCR",label:"useOCR"},{type:"doc",id:"06-api-reference/functions/useSemanticSegmentation",label:"useSemanticSegmentation"},{type:"doc",id:"06-api-reference/functions/useSpeechToText",label:"useSpeechToText"},{type:"doc",id:"06-api-reference/functions/useStyleTransfer",label:"useStyleTransfer"},{type:"doc",id:"06-api-reference/functions/useTextEmbeddings",label:"useTextEmbeddings"},{type:"doc",id:"06-api-reference/functions/useTextToImage",label:"useTextToImage"},{type:"doc",id:"06-api-reference/functions/useTextToSpeech",label:"useTextToSpeech"},{type:"doc",id:"06-api-reference/functions/useTokenizer",label:"useTokenizer"},{type:"doc",id:"06-api-reference/functions/useVAD",label:"useVAD"},{type:"doc",id:"06-api-reference/functions/useVerticalOCR",label:"useVerticalOCR"}]},{type:"category",label:"Interfaces",items:[{type:"doc",id:"06-api-reference/interfaces/ResourceSourceExtended",label:"ResourceSourceExtended"}]},{type:"category",label:"Models - Classification",items:[{type:"doc",id:"06-api-reference/variables/EFFICIENTNET_V2_S",label:"EFFICIENTNET_V2_S"}]},{type:"category",label:"Models - Image Embeddings",items:[{type:"doc",id:"06-api-reference/variables/CLIP_VIT_BASE_PATCH32_IMAGE",label:"CLIP_VIT_BASE_PATCH32_IMAGE"}]},{type:"category",label:"Models - Image Generation",items:[{type:"doc",id:"06-api-reference/variables/BK_SDM_TINY_VPRED_256",label:"BK_SDM_TINY_VPRED_256"},{type:"doc",id:"06-api-reference/variables/BK_SDM_TINY_VPRED_512",label:"BK_SDM_TINY_VPRED_512"}]},{type:"category",label:"Models - LMM",items:[{type:"doc",id:"06-api-reference/variables/HAMMER2_1_0_5B",label:"HAMMER2_1_0_5B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_0_5B_QUANTIZED",label:"HAMMER2_1_0_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_1_5B",label:"HAMMER2_1_1_5B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_1_5B_QUANTIZED",label:"HAMMER2_1_1_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_3B",label:"HAMMER2_1_3B"},{type:"doc",id:"06-api-reference/variables/HAMMER2_1_3B_QUANTIZED",label:"HAMMER2_1_3B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LFM2_5_1_2B_INSTRUCT",label:"LFM2_5_1_2B_INSTRUCT"},{type:"doc",id:"06-api-reference/variables/LFM2_5_1_2B_INSTRUCT_QUANTIZED",label:"LFM2_5_1_2B_INSTRUCT_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B",label:"LLAMA3_2_1B"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B_QLORA",label:"LLAMA3_2_1B_QLORA"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_1B_SPINQUANT",label:"LLAMA3_2_1B_SPINQUANT"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B",label:"LLAMA3_2_3B"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B_QLORA",label:"LLAMA3_2_3B_QLORA"},{type:"doc",id:"06-api-reference/variables/LLAMA3_2_3B_SPINQUANT",label:"LLAMA3_2_3B_SPINQUANT"},{type:"doc",id:"06-api-reference/variables/PHI_4_MINI_4B",label:"PHI_4_MINI_4B"},{type:"doc",id:"06-api-reference/variables/PHI_4_MINI_4B_QUANTIZED",label:"PHI_4_MINI_4B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_0_5B",label:"QWEN2_5_0_5B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_0_5B_QUANTIZED",label:"QWEN2_5_0_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_1_5B",label:"QWEN2_5_1_5B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_1_5B_QUANTIZED",label:"QWEN2_5_1_5B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_3B",label:"QWEN2_5_3B"},{type:"doc",id:"06-api-reference/variables/QWEN2_5_3B_QUANTIZED",label:"QWEN2_5_3B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_0_6B",label:"QWEN3_0_6B"},{type:"doc",id:"06-api-reference/variables/QWEN3_0_6B_QUANTIZED",label:"QWEN3_0_6B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_1_7B",label:"QWEN3_1_7B"},{type:"doc",id:"06-api-reference/variables/QWEN3_1_7B_QUANTIZED",label:"QWEN3_1_7B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/QWEN3_4B",label:"QWEN3_4B"},{type:"doc",id:"06-api-reference/variables/QWEN3_4B_QUANTIZED",label:"QWEN3_4B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_1_7B",label:"SMOLLM2_1_1_7B"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_1_7B_QUANTIZED",label:"SMOLLM2_1_1_7B_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_135M",label:"SMOLLM2_1_135M"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_135M_QUANTIZED",label:"SMOLLM2_1_135M_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_360M",label:"SMOLLM2_1_360M"},{type:"doc",id:"06-api-reference/variables/SMOLLM2_1_360M_QUANTIZED",label:"SMOLLM2_1_360M_QUANTIZED"}]},{type:"category",label:"Models - Object Detection",items:[{type:"doc",id:"06-api-reference/variables/SSDLITE_320_MOBILENET_V3_LARGE",label:"SSDLITE_320_MOBILENET_V3_LARGE"}]},{type:"category",label:"Models - Semantic Segmentation",items:[{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_MOBILENET_V3_LARGE",label:"DEEPLAB_V3_MOBILENET_V3_LARGE"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED",label:"DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET101",label:"DEEPLAB_V3_RESNET101"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET101_QUANTIZED",label:"DEEPLAB_V3_RESNET101_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET50",label:"DEEPLAB_V3_RESNET50"},{type:"doc",id:"06-api-reference/variables/DEEPLAB_V3_RESNET50_QUANTIZED",label:"DEEPLAB_V3_RESNET50_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET101",label:"FCN_RESNET101"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET101_QUANTIZED",label:"FCN_RESNET101_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET50",label:"FCN_RESNET50"},{type:"doc",id:"06-api-reference/variables/FCN_RESNET50_QUANTIZED",label:"FCN_RESNET50_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/LRASPP_MOBILENET_V3_LARGE",label:"LRASPP_MOBILENET_V3_LARGE"},{type:"doc",id:"06-api-reference/variables/LRASPP_MOBILENET_V3_LARGE_QUANTIZED",label:"LRASPP_MOBILENET_V3_LARGE_QUANTIZED"},{type:"doc",id:"06-api-reference/variables/SELFIE_SEGMENTATION",label:"SELFIE_SEGMENTATION"}]},{type:"category",label:"Models - Speech To Text",items:[{type:"doc",id:"06-api-reference/variables/WHISPER_BASE",label:"WHISPER_BASE"},{type:"doc",id:"06-api-reference/variables/WHISPER_BASE_EN",label:"WHISPER_BASE_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_SMALL",label:"WHISPER_SMALL"},{type:"doc",id:"06-api-reference/variables/WHISPER_SMALL_EN",label:"WHISPER_SMALL_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY",label:"WHISPER_TINY"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY_EN",label:"WHISPER_TINY_EN"},{type:"doc",id:"06-api-reference/variables/WHISPER_TINY_EN_QUANTIZED",label:"WHISPER_TINY_EN_QUANTIZED"}]},{type:"category",label:"Models - Style Transfer",items:[{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_CANDY",label:"STYLE_TRANSFER_CANDY"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_MOSAIC",label:"STYLE_TRANSFER_MOSAIC"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_RAIN_PRINCESS",label:"STYLE_TRANSFER_RAIN_PRINCESS"},{type:"doc",id:"06-api-reference/variables/STYLE_TRANSFER_UDNIE",label:"STYLE_TRANSFER_UDNIE"}]},{type:"category",label:"Models - Text Embeddings",items:[{type:"doc",id:"06-api-reference/variables/ALL_MINILM_L6_V2",label:"ALL_MINILM_L6_V2"},{type:"doc",id:"06-api-reference/variables/ALL_MPNET_BASE_V2",label:"ALL_MPNET_BASE_V2"},{type:"doc",id:"06-api-reference/variables/CLIP_VIT_BASE_PATCH32_TEXT",label:"CLIP_VIT_BASE_PATCH32_TEXT"},{type:"doc",id:"06-api-reference/variables/MULTI_QA_MINILM_L6_COS_V1",label:"MULTI_QA_MINILM_L6_COS_V1"},{type:"doc",id:"06-api-reference/variables/MULTI_QA_MPNET_BASE_DOT_V1",label:"MULTI_QA_MPNET_BASE_DOT_V1"}]},{type:"category",label:"Models - Text to Speech",items:[{type:"doc",id:"06-api-reference/variables/KOKORO_MEDIUM",label:"KOKORO_MEDIUM"},{type:"doc",id:"06-api-reference/variables/KOKORO_SMALL",label:"KOKORO_SMALL"}]},{type:"category",label:"Models - Voice Activity Detection",items:[{type:"doc",id:"06-api-reference/variables/FSMN_VAD",label:"FSMN_VAD"}]},{type:"category",label:"OCR Supported Alphabets",items:[{type:"doc",id:"06-api-reference/variables/OCR_ABAZA",label:"OCR_ABAZA"},{type:"doc",id:"06-api-reference/variables/OCR_ADYGHE",label:"OCR_ADYGHE"},{type:"doc",id:"06-api-reference/variables/OCR_AFRIKAANS",label:"OCR_AFRIKAANS"},{type:"doc",id:"06-api-reference/variables/OCR_ALBANIAN",label:"OCR_ALBANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_AVAR",label:"OCR_AVAR"},{type:"doc",id:"06-api-reference/variables/OCR_AZERBAIJANI",label:"OCR_AZERBAIJANI"},{type:"doc",id:"06-api-reference/variables/OCR_BELARUSIAN",label:"OCR_BELARUSIAN"},{type:"doc",id:"06-api-reference/variables/OCR_BOSNIAN",label:"OCR_BOSNIAN"},{type:"doc",id:"06-api-reference/variables/OCR_BULGARIAN",label:"OCR_BULGARIAN"},{type:"doc",id:"06-api-reference/variables/OCR_CHECHEN",label:"OCR_CHECHEN"},{type:"doc",id:"06-api-reference/variables/OCR_CROATIAN",label:"OCR_CROATIAN"},{type:"doc",id:"06-api-reference/variables/OCR_CZECH",label:"OCR_CZECH"},{type:"doc",id:"06-api-reference/variables/OCR_DANISH",label:"OCR_DANISH"},{type:"doc",id:"06-api-reference/variables/OCR_DARGWA",label:"OCR_DARGWA"},{type:"doc",id:"06-api-reference/variables/OCR_DUTCH",label:"OCR_DUTCH"},{type:"doc",id:"06-api-reference/variables/OCR_ENGLISH",label:"OCR_ENGLISH"},{type:"doc",id:"06-api-reference/variables/OCR_ESTONIAN",label:"OCR_ESTONIAN"},{type:"doc",id:"06-api-reference/variables/OCR_FRENCH",label:"OCR_FRENCH"},{type:"doc",id:"06-api-reference/variables/OCR_GERMAN",label:"OCR_GERMAN"},{type:"doc",id:"06-api-reference/variables/OCR_HUNGARIAN",label:"OCR_HUNGARIAN"},{type:"doc",id:"06-api-reference/variables/OCR_ICELANDIC",label:"OCR_ICELANDIC"},{type:"doc",id:"06-api-reference/variables/OCR_INDONESIAN",label:"OCR_INDONESIAN"},{type:"doc",id:"06-api-reference/variables/OCR_INGUSH",label:"OCR_INGUSH"},{type:"doc",id:"06-api-reference/variables/OCR_IRISH",label:"OCR_IRISH"},{type:"doc",id:"06-api-reference/variables/OCR_ITALIAN",label:"OCR_ITALIAN"},{type:"doc",id:"06-api-reference/variables/OCR_JAPANESE",label:"OCR_JAPANESE"},{type:"doc",id:"06-api-reference/variables/OCR_KANNADA",label:"OCR_KANNADA"},{type:"doc",id:"06-api-reference/variables/OCR_KARBADIAN",label:"OCR_KARBADIAN"},{type:"doc",id:"06-api-reference/variables/OCR_KOREAN",label:"OCR_KOREAN"},{type:"doc",id:"06-api-reference/variables/OCR_KURDISH",label:"OCR_KURDISH"},{type:"doc",id:"06-api-reference/variables/OCR_LAK",label:"OCR_LAK"},{type:"doc",id:"06-api-reference/variables/OCR_LATIN",label:"OCR_LATIN"},{type:"doc",id:"06-api-reference/variables/OCR_LATVIAN",label:"OCR_LATVIAN"},{type:"doc",id:"06-api-reference/variables/OCR_LEZGHIAN",label:"OCR_LEZGHIAN"},{type:"doc",id:"06-api-reference/variables/OCR_LITHUANIAN",label:"OCR_LITHUANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_MALAY",label:"OCR_MALAY"},{type:"doc",id:"06-api-reference/variables/OCR_MALTESE",label:"OCR_MALTESE"},{type:"doc",id:"06-api-reference/variables/OCR_MAORI",label:"OCR_MAORI"},{type:"doc",id:"06-api-reference/variables/OCR_MONGOLIAN",label:"OCR_MONGOLIAN"},{type:"doc",id:"06-api-reference/variables/OCR_NORWEGIAN",label:"OCR_NORWEGIAN"},{type:"doc",id:"06-api-reference/variables/OCR_OCCITAN",label:"OCR_OCCITAN"},{type:"doc",id:"06-api-reference/variables/OCR_PALI",label:"OCR_PALI"},{type:"doc",id:"06-api-reference/variables/OCR_POLISH",label:"OCR_POLISH"},{type:"doc",id:"06-api-reference/variables/OCR_PORTUGUESE",label:"OCR_PORTUGUESE"},{type:"doc",id:"06-api-reference/variables/OCR_ROMANIAN",label:"OCR_ROMANIAN"},{type:"doc",id:"06-api-reference/variables/OCR_RUSSIAN",label:"OCR_RUSSIAN"},{type:"doc",id:"06-api-reference/variables/OCR_SERBIAN_CYRILLIC",label:"OCR_SERBIAN_CYRILLIC"},{type:"doc",id:"06-api-reference/variables/OCR_SERBIAN_LATIN",label:"OCR_SERBIAN_LATIN"},{type:"doc",id:"06-api-reference/variables/OCR_SIMPLIFIED_CHINESE",label:"OCR_SIMPLIFIED_CHINESE"},{type:"doc",id:"06-api-reference/variables/OCR_SLOVAK",label:"OCR_SLOVAK"},{type:"doc",id:"06-api-reference/variables/OCR_SLOVENIAN",label:"OCR_SLOVENIAN"},{type:"doc",id:"06-api-reference/variables/OCR_SPANISH",label:"OCR_SPANISH"},{type:"doc",id:"06-api-reference/variables/OCR_SWAHILI",label:"OCR_SWAHILI"},{type:"doc",id:"06-api-reference/variables/OCR_SWEDISH",label:"OCR_SWEDISH"},{type:"doc",id:"06-api-reference/variables/OCR_TABASSARAN",label:"OCR_TABASSARAN"},{type:"doc",id:"06-api-reference/variables/OCR_TAGALOG",label:"OCR_TAGALOG"},{type:"doc",id:"06-api-reference/variables/OCR_TAJIK",label:"OCR_TAJIK"},{type:"doc",id:"06-api-reference/variables/OCR_TELUGU",label:"OCR_TELUGU"},{type:"doc",id:"06-api-reference/variables/OCR_TURKISH",label:"OCR_TURKISH"},{type:"doc",id:"06-api-reference/variables/OCR_UKRAINIAN",label:"OCR_UKRAINIAN"},{type:"doc",id:"06-api-reference/variables/OCR_UZBEK",label:"OCR_UZBEK"},{type:"doc",id:"06-api-reference/variables/OCR_VIETNAMESE",label:"OCR_VIETNAMESE"},{type:"doc",id:"06-api-reference/variables/OCR_WELSH",label:"OCR_WELSH"}]},{type:"category",label:"Other",items:[{type:"doc",id:"06-api-reference/enumerations/RnExecutorchErrorCode",label:"RnExecutorchErrorCode"},{type:"doc",id:"06-api-reference/classes/Logger",label:"Logger"},{type:"doc",id:"06-api-reference/classes/RnExecutorchError",label:"RnExecutorchError"},{type:"doc",id:"06-api-reference/interfaces/Frame",label:"Frame"}]},{type:"category",label:"TTS Supported Voices",items:[{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_HEART",label:"KOKORO_VOICE_AF_HEART"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_RIVER",label:"KOKORO_VOICE_AF_RIVER"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AF_SARAH",label:"KOKORO_VOICE_AF_SARAH"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_ADAM",label:"KOKORO_VOICE_AM_ADAM"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_MICHAEL",label:"KOKORO_VOICE_AM_MICHAEL"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_AM_SANTA",label:"KOKORO_VOICE_AM_SANTA"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_BF_EMMA",label:"KOKORO_VOICE_BF_EMMA"},{type:"doc",id:"06-api-reference/variables/KOKORO_VOICE_BM_DANIEL",label:"KOKORO_VOICE_BM_DANIEL"}]},{type:"category",label:"Types",items:[{type:"doc",id:"06-api-reference/enumerations/CocoLabel",label:"CocoLabel"},{type:"doc",id:"06-api-reference/enumerations/DeeplabLabel",label:"DeeplabLabel"},{type:"doc",id:"06-api-reference/enumerations/DownloadStatus",label:"DownloadStatus"},{type:"doc",id:"06-api-reference/enumerations/HTTP_CODE",label:"HTTP_CODE"},{type:"doc",id:"06-api-reference/enumerations/ScalarType",label:"ScalarType"},{type:"doc",id:"06-api-reference/enumerations/SelfieSegmentationLabel",label:"SelfieSegmentationLabel"},{type:"doc",id:"06-api-reference/enumerations/SourceType",label:"SourceType"},{type:"doc",id:"06-api-reference/interfaces/Bbox",label:"Bbox"},{type:"doc",id:"06-api-reference/interfaces/ChatConfig",label:"ChatConfig"},{type:"doc",id:"06-api-reference/interfaces/ClassificationProps",label:"ClassificationProps"},{type:"doc",id:"06-api-reference/interfaces/ClassificationType",label:"ClassificationType"},{type:"doc",id:"06-api-reference/interfaces/ContextStrategy",label:"ContextStrategy"},{type:"doc",id:"06-api-reference/interfaces/DecodingOptions",label:"DecodingOptions"},{type:"doc",id:"06-api-reference/interfaces/Detection",label:"Detection"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchModuleProps",label:"ExecutorchModuleProps"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchModuleType",label:"ExecutorchModuleType"},{type:"doc",id:"06-api-reference/interfaces/GenerationConfig",label:"GenerationConfig"},{type:"doc",id:"06-api-reference/interfaces/ImageEmbeddingsProps",label:"ImageEmbeddingsProps"},{type:"doc",id:"06-api-reference/interfaces/ImageEmbeddingsType",label:"ImageEmbeddingsType"},{type:"doc",id:"06-api-reference/interfaces/KokoroConfig",label:"KokoroConfig"},{type:"doc",id:"06-api-reference/interfaces/KokoroVoiceExtras",label:"KokoroVoiceExtras"},{type:"doc",id:"06-api-reference/interfaces/LLMConfig",label:"LLMConfig"},{type:"doc",id:"06-api-reference/interfaces/LLMProps",label:"LLMProps"},{type:"doc",id:"06-api-reference/interfaces/LLMType",label:"LLMType"},{type:"doc",id:"06-api-reference/interfaces/Message",label:"Message"},{type:"doc",id:"06-api-reference/interfaces/ObjectDetectionProps",label:"ObjectDetectionProps"},{type:"doc",id:"06-api-reference/interfaces/ObjectDetectionType",label:"ObjectDetectionType"},{type:"doc",id:"06-api-reference/interfaces/OCRDetection",label:"OCRDetection"},{type:"doc",id:"06-api-reference/interfaces/OCRProps",label:"OCRProps"},{type:"doc",id:"06-api-reference/interfaces/OCRType",label:"OCRType"},{type:"doc",id:"06-api-reference/interfaces/PixelData",label:"PixelData"},{type:"doc",id:"06-api-reference/interfaces/Point",label:"Point"},{type:"doc",id:"06-api-reference/interfaces/Segment",label:"Segment"},{type:"doc",id:"06-api-reference/interfaces/SemanticSegmentationProps",label:"SemanticSegmentationProps"},{type:"doc",id:"06-api-reference/interfaces/SemanticSegmentationType",label:"SemanticSegmentationType"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextModelConfig",label:"SpeechToTextModelConfig"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextProps",label:"SpeechToTextProps"},{type:"doc",id:"06-api-reference/interfaces/SpeechToTextType",label:"SpeechToTextType"},{type:"doc",id:"06-api-reference/interfaces/StyleTransferProps",label:"StyleTransferProps"},{type:"doc",id:"06-api-reference/interfaces/StyleTransferType",label:"StyleTransferType"},{type:"doc",id:"06-api-reference/interfaces/TensorPtr",label:"TensorPtr"},{type:"doc",id:"06-api-reference/interfaces/TextEmbeddingsProps",label:"TextEmbeddingsProps"},{type:"doc",id:"06-api-reference/interfaces/TextEmbeddingsType",label:"TextEmbeddingsType"},{type:"doc",id:"06-api-reference/interfaces/TextToImageProps",label:"TextToImageProps"},{type:"doc",id:"06-api-reference/interfaces/TextToImageType",label:"TextToImageType"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechConfig",label:"TextToSpeechConfig"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechInput",label:"TextToSpeechInput"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechProps",label:"TextToSpeechProps"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechStreamingInput",label:"TextToSpeechStreamingInput"},{type:"doc",id:"06-api-reference/interfaces/TextToSpeechType",label:"TextToSpeechType"},{type:"doc",id:"06-api-reference/interfaces/TokenizerProps",label:"TokenizerProps"},{type:"doc",id:"06-api-reference/interfaces/TokenizerType",label:"TokenizerType"},{type:"doc",id:"06-api-reference/interfaces/ToolCall",label:"ToolCall"},{type:"doc",id:"06-api-reference/interfaces/ToolsConfig",label:"ToolsConfig"},{type:"doc",id:"06-api-reference/interfaces/TranscriptionResult",label:"TranscriptionResult"},{type:"doc",id:"06-api-reference/interfaces/TranscriptionSegment",label:"TranscriptionSegment"},{type:"doc",id:"06-api-reference/interfaces/VADProps",label:"VADProps"},{type:"doc",id:"06-api-reference/interfaces/VADType",label:"VADType"},{type:"doc",id:"06-api-reference/interfaces/VerticalOCRProps",label:"VerticalOCRProps"},{type:"doc",id:"06-api-reference/interfaces/VoiceConfig",label:"VoiceConfig"},{type:"doc",id:"06-api-reference/interfaces/Word",label:"Word"},{type:"doc",id:"06-api-reference/type-aliases/LabelEnum",label:"LabelEnum"},{type:"doc",id:"06-api-reference/type-aliases/LLMTool",label:"LLMTool"},{type:"doc",id:"06-api-reference/type-aliases/MessageRole",label:"MessageRole"},{type:"doc",id:"06-api-reference/type-aliases/ModelNameOf",label:"ModelNameOf"},{type:"doc",id:"06-api-reference/type-aliases/OCRLanguage",label:"OCRLanguage"},{type:"doc",id:"06-api-reference/type-aliases/ResourceSource",label:"ResourceSource"},{type:"doc",id:"06-api-reference/type-aliases/SegmentationLabels",label:"SegmentationLabels"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationConfig",label:"SemanticSegmentationConfig"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationModelName",label:"SemanticSegmentationModelName"},{type:"doc",id:"06-api-reference/type-aliases/SemanticSegmentationModelSources",label:"SemanticSegmentationModelSources"},{type:"doc",id:"06-api-reference/type-aliases/SpeechToTextLanguage",label:"SpeechToTextLanguage"},{type:"doc",id:"06-api-reference/type-aliases/TensorBuffer",label:"TensorBuffer"},{type:"doc",id:"06-api-reference/type-aliases/TextToSpeechLanguage",label:"TextToSpeechLanguage"},{type:"doc",id:"06-api-reference/type-aliases/Triple",label:"Triple"},{type:"doc",id:"06-api-reference/variables/SPECIAL_TOKENS",label:"SPECIAL_TOKENS"}]},{type:"category",label:"Typescript API",items:[{type:"doc",id:"06-api-reference/classes/ClassificationModule",label:"ClassificationModule"},{type:"doc",id:"06-api-reference/classes/ExecutorchModule",label:"ExecutorchModule"},{type:"doc",id:"06-api-reference/classes/ImageEmbeddingsModule",label:"ImageEmbeddingsModule"},{type:"doc",id:"06-api-reference/classes/LLMModule",label:"LLMModule"},{type:"doc",id:"06-api-reference/classes/ObjectDetectionModule",label:"ObjectDetectionModule"},{type:"doc",id:"06-api-reference/classes/OCRModule",label:"OCRModule"},{type:"doc",id:"06-api-reference/classes/SemanticSegmentationModule",label:"SemanticSegmentationModule"},{type:"doc",id:"06-api-reference/classes/SpeechToTextModule",label:"SpeechToTextModule"},{type:"doc",id:"06-api-reference/classes/StyleTransferModule",label:"StyleTransferModule"},{type:"doc",id:"06-api-reference/classes/TextEmbeddingsModule",label:"TextEmbeddingsModule"},{type:"doc",id:"06-api-reference/classes/TextToImageModule",label:"TextToImageModule"},{type:"doc",id:"06-api-reference/classes/TextToSpeechModule",label:"TextToSpeechModule"},{type:"doc",id:"06-api-reference/classes/TokenizerModule",label:"TokenizerModule"},{type:"doc",id:"06-api-reference/classes/VADModule",label:"VADModule"},{type:"doc",id:"06-api-reference/classes/VerticalOCRModule",label:"VerticalOCRModule"}]},{type:"category",label:"Utilities - General",items:[{type:"category",label:"ResourceFetcherUtils",items:[{type:"category",label:"Functions",items:[{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/calculateDownloadProgress",label:"calculateDownloadProgress"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/getFilenameFromUri",label:"getFilenameFromUri"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/hashObject",label:"hashObject"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/removeFilePrefix",label:"removeFilePrefix"},{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/functions/triggerHuggingFaceDownloadCounter",label:"triggerHuggingFaceDownloadCounter"}]}],link:{type:"doc",id:"06-api-reference/react-native-executorch/namespaces/ResourceFetcherUtils/index"}},{type:"doc",id:"06-api-reference/classes/ResourceFetcher",label:"ResourceFetcher"},{type:"doc",id:"06-api-reference/interfaces/ExecutorchConfig",label:"ExecutorchConfig"},{type:"doc",id:"06-api-reference/interfaces/ResourceFetcherAdapter",label:"ResourceFetcherAdapter"},{type:"doc",id:"06-api-reference/functions/cleanupExecutorch",label:"cleanupExecutorch"},{type:"doc",id:"06-api-reference/functions/initExecutorch",label:"initExecutorch"}]},{type:"category",label:"Utilities - LLM",items:[{type:"doc",id:"06-api-reference/variables/DEFAULT_CHAT_CONFIG",label:"DEFAULT_CHAT_CONFIG"},{type:"doc",id:"06-api-reference/variables/DEFAULT_CONTEXT_BUFFER_TOKENS",label:"DEFAULT_CONTEXT_BUFFER_TOKENS"},{type:"doc",id:"06-api-reference/variables/DEFAULT_MESSAGE_HISTORY",label:"DEFAULT_MESSAGE_HISTORY"},{type:"doc",id:"06-api-reference/variables/DEFAULT_SYSTEM_PROMPT",label:"DEFAULT_SYSTEM_PROMPT"},{type:"doc",id:"06-api-reference/variables/parseToolCall",label:"parseToolCall"},{type:"doc",id:"06-api-reference/functions/DEFAULT_STRUCTURED_OUTPUT_PROMPT",label:"DEFAULT_STRUCTURED_OUTPUT_PROMPT"},{type:"doc",id:"06-api-reference/functions/fixAndValidateStructuredOutput",label:"fixAndValidateStructuredOutput"},{type:"doc",id:"06-api-reference/functions/getStructuredOutputPrompt",label:"getStructuredOutputPrompt"}]},{type:"category",label:"Utils",items:[{type:"doc",id:"06-api-reference/classes/MessageCountContextStrategy",label:"MessageCountContextStrategy"},{type:"doc",id:"06-api-reference/classes/NoopContextStrategy",label:"NoopContextStrategy"},{type:"doc",id:"06-api-reference/classes/SlidingWindowContextStrategy",label:"SlidingWindowContextStrategy"}]}]};
module.exports = typedocSidebar.items;
\ No newline at end of file
diff --git a/package.json b/package.json
index 661b13ad1..08390944b 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,7 @@
"eslint-plugin-ft-flow": "^2.0.3",
"eslint-plugin-markdown": "^5.1.0",
"eslint-plugin-prettier": "^5.0.1",
+ "expo-router": "~6.0.17",
"prettier": "^3.3.3",
"prettier-plugin-jsdoc": "^1.3.0",
"typescript": "~5.9.2"
diff --git a/packages/react-native-executorch/android/gradle.properties b/packages/react-native-executorch/android/gradle.properties
index b30a8b11d..97cdd1854 100644
--- a/packages/react-native-executorch/android/gradle.properties
+++ b/packages/react-native-executorch/android/gradle.properties
@@ -1,5 +1,5 @@
RnExecutorch_kotlinVersion=1.7.0
-RnExecutorch_minSdkVersion=21
+RnExecutorch_minSdkVersion=26
RnExecutorch_targetSdkVersion=31
RnExecutorch_compileSdkVersion=31
-RnExecutorch_ndkversion=21.4.7075529
+RnExecutorch_ndkversion=21.4.7075529
\ No newline at end of file
diff --git a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h
index f4fd2e7f0..d49f3a175 100644
--- a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h
+++ b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h
@@ -75,6 +75,11 @@ enum class RnExecutorchErrorCode : int32_t {
* interruptions.
*/
DownloadInterrupted = 118,
+ /**
+ * Thrown when a feature or platform is not supported in the current
+ * environment.
+ */
+ PlatformNotSupported = 119,
/**
* Thrown when an error occurs with the tokenizer or tokenization process.
*/
diff --git a/packages/react-native-executorch/common/rnexecutorch/RnExecutorchInstaller.h b/packages/react-native-executorch/common/rnexecutorch/RnExecutorchInstaller.h
index d5c98763d..54e8c1cbb 100644
--- a/packages/react-native-executorch/common/rnexecutorch/RnExecutorchInstaller.h
+++ b/packages/react-native-executorch/common/rnexecutorch/RnExecutorchInstaller.h
@@ -54,8 +54,13 @@ class RnExecutorchInstaller {
meta::createConstructorArgsWithCallInvoker(
args, runtime, jsCallInvoker);
- auto modelImplementationPtr = std::make_shared(
- std::make_from_tuple(constructorArgs));
+ auto modelImplementationPtr = std::apply(
+ [](auto &&...unpackedArgs) {
+ return std::make_shared(
+ std::forward(unpackedArgs)...);
+ },
+ std::move(constructorArgs));
+
auto modelHostObject = std::make_shared>(
modelImplementationPtr, jsCallInvoker);
diff --git a/packages/react-native-executorch/common/rnexecutorch/host_objects/JsiConversions.h b/packages/react-native-executorch/common/rnexecutorch/host_objects/JsiConversions.h
index df9abbdef..7b97108b9 100644
--- a/packages/react-native-executorch/common/rnexecutorch/host_objects/JsiConversions.h
+++ b/packages/react-native-executorch/common/rnexecutorch/host_objects/JsiConversions.h
@@ -346,6 +346,15 @@ inline jsi::Value getJsiValue(const std::vector &vec,
return {runtime, array};
}
+inline jsi::Value getJsiValue(const std::vector &vec,
+ jsi::Runtime &runtime) {
+ jsi::Array array(runtime, vec.size());
+ for (size_t i = 0; i < vec.size(); i++) {
+ array.setValueAtIndex(runtime, i, jsi::Value(static_cast(vec[i])));
+ }
+ return {runtime, array};
+}
+
// Conditional as on android, size_t and uint64_t reduce to the same type,
// introducing ambiguity
template
#include
#include
+#include
#include
#include
#include
@@ -168,9 +169,26 @@ template class ModelHostObject : public JsiHostObject {
addFunctions(JSI_EXPORT_FUNCTION(ModelHostObject,
promiseHostFunction<&Model::stream>,
"stream"));
+ }
+
+ if constexpr (meta::HasGenerateFromString) {
+ addFunctions(
+ JSI_EXPORT_FUNCTION(ModelHostObject,
+ promiseHostFunction<&Model::generateFromString>,
+ "generateFromString"));
+ }
+
+ if constexpr (meta::HasGenerateFromFrame) {
addFunctions(JSI_EXPORT_FUNCTION(
- ModelHostObject, synchronousHostFunction<&Model::streamStop>,
- "streamStop"));
+ ModelHostObject, visionHostFunction<&Model::generateFromFrame>,
+ "generateFromFrame"));
+ }
+
+ if constexpr (meta::HasGenerateFromPixels) {
+ addFunctions(
+ JSI_EXPORT_FUNCTION(ModelHostObject,
+ promiseHostFunction<&Model::generateFromPixels>,
+ "generateFromPixels"));
}
}
@@ -221,6 +239,68 @@ template class ModelHostObject : public JsiHostObject {
}
}
+ /**
+ * Unlike promiseHostFunction, this runs synchronously on the JS thread,
+ * which is required for VisionCamera worklet frame processors.
+ *
+ * The key challenge is argument mapping: the C++ function takes
+ * (Runtime, frameData, Rest...) but from the JS side, Runtime is injected
+ * automatically and frameData is JS args[0]. The remaining args (Rest...)
+ * map to JS args[1..N].
+ *
+ * This is achieved via TailSignature: it extracts the Rest... parameter pack
+ * from the function pointer type, creates a dummy free function with only
+ * those types, then uses createArgsTupleFromJsi on that dummy to convert
+ * args[1..N] — bypassing the manually-handled frameData at args[0].
+ *
+ * Argument mapping:
+ * C++ params: (Runtime&, frameData, Rest[0], Rest[1], ...)
+ * JS args: ( args[0], args[1], args[2], ...)
+ * JS arg count = C++ arity - 1 (Runtime is injected, not counted)
+ *
+ */
+ template JSI_HOST_FUNCTION(visionHostFunction) {
+ constexpr std::size_t cppArgCount =
+ meta::FunctionTraits::arity;
+ constexpr std::size_t expectedJsArgs = cppArgCount - 1;
+
+ if (count != expectedJsArgs) {
+ throw jsi::JSError(runtime, "Argument count mismatch in vision function");
+ }
+
+ try {
+ auto dummyFuncPtr = &meta::TailSignature::dummy;
+ auto tailArgsTuple =
+ meta::createArgsTupleFromJsi(dummyFuncPtr, args + 1, runtime);
+
+ using ReturnType =
+ typename meta::FunctionTraits::return_type;
+
+ if constexpr (std::is_void_v) {
+ std::apply(
+ [&](auto &&...tailArgs) {
+ (model.get()->*FnPtr)(
+ runtime, args[0],
+ std::forward(tailArgs)...);
+ },
+ std::move(tailArgsTuple));
+ return jsi::Value::undefined();
+ } else {
+ auto result = std::apply(
+ [&](auto &&...tailArgs) {
+ return (model.get()->*FnPtr)(
+ runtime, args[0],
+ std::forward(tailArgs)...);
+ },
+ std::move(tailArgsTuple));
+
+ return jsi_conversion::getJsiValue(std::move(result), runtime);
+ }
+ } catch (const std::exception &e) {
+ throw jsi::JSError(runtime, e.what());
+ }
+ }
+
// A generic host function that resolves a promise with a result of a
// function. JSI arguments are converted to the types provided in the function
// signature, and the return value is converted back to JSI before resolving.
diff --git a/packages/react-native-executorch/common/rnexecutorch/metaprogramming/FunctionHelpers.h b/packages/react-native-executorch/common/rnexecutorch/metaprogramming/FunctionHelpers.h
index 8290a810b..fde81e046 100644
--- a/packages/react-native-executorch/common/rnexecutorch/metaprogramming/FunctionHelpers.h
+++ b/packages/react-native-executorch/common/rnexecutorch/metaprogramming/FunctionHelpers.h
@@ -3,6 +3,7 @@
#include
#include
#include
+#include
#include
@@ -23,7 +24,8 @@ template
std::tuple fillTupleFromArgs(std::index_sequence,
const jsi::Value *args,
jsi::Runtime &runtime) {
- return std::make_tuple(jsi_conversion::getValue(args[I], runtime)...);
+ return std::tuple{
+ jsi_conversion::getValue(args[I], runtime)...};
}
/**
@@ -47,4 +49,52 @@ std::tuple createArgsTupleFromJsi(R (Model::*f)(Types...) const,
return fillTupleFromArgs(std::index_sequence_for{}, args,
runtime);
}
-} // namespace rnexecutorch::meta
\ No newline at end of file
+
+// Free function overload used by visionHostFunction: accepts a dummy free
+// function pointer whose parameter types (Rest...) are extracted by
+// TailSignature and converted from JSI args.
+template
+std::tuple createArgsTupleFromJsi(void (*f)(Types...),
+ const jsi::Value *args,
+ jsi::Runtime &runtime) {
+ return fillTupleFromArgs(std::index_sequence_for{}, args,
+ runtime);
+}
+
+// Extracts arity, return type, and argument types from a member function
+// pointer at compile time. Used by visionHostFunction to determine the expected
+// JS argument count and invoke the correct return path.
+template struct FunctionTraits;
+
+template
+struct FunctionTraits {
+ static constexpr std::size_t arity = sizeof...(Args);
+ using return_type = R;
+ using args_tuple = std::tuple;
+};
+
+template
+struct FunctionTraits {
+ static constexpr std::size_t arity = sizeof...(Args);
+ using return_type = R;
+ using args_tuple = std::tuple;
+};
+
+// Strips the first two parameters (Runtime& and jsi::Value&) from a member
+// function pointer and exposes the remaining types as a dummy free function.
+// Used by visionHostFunction to parse only the tail JS args via
+// createArgsTupleFromJsi, while frameData at args[0] is passed manually.
+template struct TailSignature;
+
+template
+struct TailSignature {
+ static void dummy(Rest...) {}
+};
+
+template
+struct TailSignature {
+ static void dummy(Rest...) {}
+};
+} // namespace rnexecutorch::meta
diff --git a/packages/react-native-executorch/common/rnexecutorch/metaprogramming/TypeConcepts.h b/packages/react-native-executorch/common/rnexecutorch/metaprogramming/TypeConcepts.h
index 85a3db449..2d7612f25 100644
--- a/packages/react-native-executorch/common/rnexecutorch/metaprogramming/TypeConcepts.h
+++ b/packages/react-native-executorch/common/rnexecutorch/metaprogramming/TypeConcepts.h
@@ -16,6 +16,21 @@ concept HasGenerate = requires(T t) {
{ &T::generate };
};
+template
+concept HasGenerateFromString = requires(T t) {
+ { &T::generateFromString };
+};
+
+template
+concept HasGenerateFromPixels = requires(T t) {
+ { &T::generateFromPixels };
+};
+
+template
+concept HasGenerateFromFrame = requires(T t) {
+ { &T::generateFromFrame };
+};
+
template
concept HasEncode = requires(T t) {
{ &T::encode };
diff --git a/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.cpp b/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.cpp
new file mode 100644
index 000000000..b88310e12
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.cpp
@@ -0,0 +1,53 @@
+#include "VisionModel.h"
+#include
+#include
+#include
+#include
+
+namespace rnexecutorch::models {
+
+using namespace facebook;
+
+cv::Mat VisionModel::extractFromFrame(jsi::Runtime &runtime,
+ const jsi::Value &frameData) const {
+ auto frameObj = frameData.asObject(runtime);
+ return ::rnexecutorch::utils::extractFrame(runtime, frameObj);
+}
+
+cv::Mat VisionModel::extractFromPixels(const JSTensorViewIn &tensorView) const {
+ if (tensorView.sizes.size() != 3) {
+ char errorMessage[100];
+ std::snprintf(errorMessage, sizeof(errorMessage),
+ "Invalid pixel data: sizes must have 3 elements "
+ "[height, width, channels], got %zu",
+ tensorView.sizes.size());
+ throw RnExecutorchError(RnExecutorchErrorCode::InvalidUserInput,
+ errorMessage);
+ }
+
+ int32_t height = tensorView.sizes[0];
+ int32_t width = tensorView.sizes[1];
+ int32_t channels = tensorView.sizes[2];
+
+ if (channels != 3) {
+ char errorMessage[100];
+ std::snprintf(errorMessage, sizeof(errorMessage),
+ "Invalid pixel data: expected 3 channels (RGB), got %d",
+ channels);
+ throw RnExecutorchError(RnExecutorchErrorCode::InvalidUserInput,
+ errorMessage);
+ }
+
+ if (tensorView.scalarType != ScalarType::Byte) {
+ throw RnExecutorchError(
+ RnExecutorchErrorCode::InvalidUserInput,
+ "Invalid pixel data: scalarType must be BYTE (Uint8Array)");
+ }
+
+ uint8_t *dataPtr = static_cast(tensorView.dataPtr);
+ cv::Mat image(height, width, CV_8UC3, dataPtr);
+
+ return image;
+}
+
+} // namespace rnexecutorch::models
diff --git a/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.h b/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.h
new file mode 100644
index 000000000..4828f2657
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/models/VisionModel.h
@@ -0,0 +1,154 @@
+#pragma once
+
+#include
+#include
+#include
+#include
+#include
+
+namespace rnexecutorch {
+namespace models {
+
+/**
+ * @brief Base class for computer vision models that support real-time camera
+ * input
+ *
+ * VisionModel extends BaseModel with thread-safe inference and automatic frame
+ * extraction from VisionCamera. This class is designed for models that need to
+ * process camera frames in real-time (e.g., at 30fps).
+ *
+ * Thread Safety:
+ * - All inference operations are protected by a mutex via scoped_lock
+ *
+ * Usage:
+ * Subclasses should:
+ * 1. Inherit from VisionModel instead of BaseModel
+ * 2. Implement preprocessFrame() with model-specific preprocessing
+ * 3. Delegate to runInference() which handles locking internally
+ *
+ * Example:
+ * @code
+ * class Classification : public VisionModel {
+ * public:
+ * std::unordered_map
+ * generateFromFrame(jsi::Runtime& runtime, const jsi::Value& frameValue) {
+ * auto frameObject = frameValue.asObject(runtime);
+ * cv::Mat frame = utils::extractFrame(runtime, frameObject);
+ * return runInference(frame);
+ * }
+ * };
+ * @endcode
+ */
+class VisionModel : public BaseModel {
+public:
+ /**
+ * @brief Construct a VisionModel with the same parameters as BaseModel
+ *
+ * VisionModel uses the same construction pattern as BaseModel, just adding
+ * thread-safety on top.
+ */
+ VisionModel(const std::string &modelSource,
+ std::shared_ptr callInvoker)
+ : BaseModel(modelSource, callInvoker) {}
+
+ virtual ~VisionModel() = default;
+
+protected:
+ /**
+ * @brief Mutex to ensure thread-safe inference
+ *
+ * This mutex protects against race conditions when:
+ * - generateFromFrame() is called from VisionCamera worklet thread (30fps)
+ * - generate() is called from JavaScript thread simultaneously
+ *
+ * Usage guidelines:
+ * - Use std::scoped_lock for blocking operations (JS API can wait)
+ * - Use try_lock() for non-blocking operations (camera should skip frames)
+ *
+ * @note Marked mutable to allow locking in const methods if needed
+ */
+ mutable std::mutex inference_mutex_;
+
+ /**
+ * @brief Preprocess a camera frame for model input
+ *
+ * This method should implement model-specific preprocessing such as:
+ * - Resizing to the model's expected input size
+ * - Color space conversion (e.g., BGR to RGB)
+ * - Normalization
+ * - Any other model-specific transformations
+ *
+ * @param frame Input frame from camera (already extracted and rotated by
+ * FrameExtractor)
+ * @return Preprocessed cv::Mat ready for tensor conversion
+ *
+ * @note The input frame is already in RGB format and rotated 90° clockwise
+ * @note This method is called under mutex protection in generateFromFrame()
+ */
+ virtual cv::Mat preprocessFrame(const cv::Mat &frame) const = 0;
+
+ /**
+ * @brief Extract and preprocess frame from VisionCamera in one call
+ *
+ * This is a convenience method that combines frame extraction and
+ * preprocessing. It handles both nativeBuffer (zero-copy) and ArrayBuffer
+ * paths automatically.
+ *
+ * @param runtime JSI runtime
+ * @param frameData JSI value containing frame data from VisionCamera
+ *
+ * @return Preprocessed cv::Mat ready for tensor conversion
+ *
+ * @throws std::runtime_error if frame extraction fails
+ *
+ * @note This method does NOT acquire the inference mutex - caller is
+ * responsible
+ * @note Typical usage:
+ * @code
+ * cv::Mat preprocessed = extractFromFrame(runtime, frameData);
+ * auto tensor = image_processing::getTensorFromMatrix(dims, preprocessed);
+ * @endcode
+ */
+ cv::Mat extractFromFrame(jsi::Runtime &runtime,
+ const jsi::Value &frameData) const;
+
+ /**
+ * @brief Extract cv::Mat from raw pixel data (TensorPtr) sent from
+ * JavaScript
+ *
+ * This method enables users to run inference on raw pixel data without file
+ * I/O. Useful for processing images already in memory (e.g., from canvas,
+ * image library).
+ *
+ * @param tensorView JSTensorViewIn containing:
+ * - dataPtr: Pointer to raw pixel values (RGB format)
+ * - sizes: [height, width, channels] - must be 3D
+ * - scalarType: Must be ScalarType::Byte (Uint8Array)
+ *
+ * @return cv::Mat containing the pixel data
+ *
+ * @throws RnExecutorchError if tensorView format is invalid
+ *
+ * @note The returned cv::Mat owns a copy of the data
+ * @note Expected pixel format: RGB (3 channels), row-major order
+ * @note Typical usage from JS:
+ * @code
+ * const pixels = new Uint8Array([...]); // Raw RGB pixel data
+ * const result = model.generateFromPixels({
+ * dataPtr: pixels,
+ * sizes: [480, 640, 3],
+ * scalarType: ScalarType.BYTE
+ * }, 0.5);
+ * @endcode
+ */
+ cv::Mat extractFromPixels(const JSTensorViewIn &tensorView) const;
+};
+
+} // namespace models
+// Register VisionModel constructor traits
+// Even though VisionModel is abstract, the metaprogramming system needs to know
+// its constructor signature for derived classes
+REGISTER_CONSTRUCTOR(models::VisionModel, std::string,
+ std::shared_ptr);
+
+} // namespace rnexecutorch
diff --git a/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.cpp b/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.cpp
index 8b5bc022f..2670cf9dd 100644
--- a/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.cpp
+++ b/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.cpp
@@ -2,14 +2,17 @@
#include
#include
+#include
#include
+#include
+#include
namespace rnexecutorch::models::object_detection {
ObjectDetection::ObjectDetection(
const std::string &modelSource,
std::shared_ptr callInvoker)
- : BaseModel(modelSource, callInvoker) {
+ : VisionModel(modelSource, callInvoker) {
auto inputTensors = getAllInputShapes();
if (inputTensors.size() == 0) {
throw RnExecutorchError(RnExecutorchErrorCode::UnexpectedNumInputs,
@@ -29,14 +32,42 @@ ObjectDetection::ObjectDetection(
modelInputShape[modelInputShape.size() - 2]);
}
+cv::Mat ObjectDetection::preprocessFrame(const cv::Mat &frame) const {
+ const std::vector tensorDims = getAllInputShapes()[0];
+ cv::Size tensorSize = cv::Size(tensorDims[tensorDims.size() - 1],
+ tensorDims[tensorDims.size() - 2]);
+
+ cv::Mat rgb;
+
+ if (frame.channels() == 4) {
+#ifdef __APPLE__
+ cv::cvtColor(frame, rgb, cv::COLOR_BGRA2RGB);
+#else
+ cv::cvtColor(frame, rgb, cv::COLOR_RGBA2RGB);
+#endif
+ } else if (frame.channels() == 3) {
+ rgb = frame;
+ } else {
+ char errorMessage[100];
+ std::snprintf(errorMessage, sizeof(errorMessage),
+ "Unsupported frame format: %d channels", frame.channels());
+ throw RnExecutorchError(RnExecutorchErrorCode::InvalidUserInput,
+ errorMessage);
+ }
+
+ // Only resize if dimensions don't match
+ if (rgb.size() != tensorSize) {
+ cv::Mat resized;
+ cv::resize(rgb, resized, tensorSize);
+ return resized;
+ }
+
+ return rgb;
+}
+
std::vector
ObjectDetection::postprocess(const std::vector &tensors,
cv::Size originalSize, double detectionThreshold) {
- if (detectionThreshold <= 0 || detectionThreshold > 1) {
- throw RnExecutorchError(RnExecutorchErrorCode::InvalidConfig,
- "Detection threshold must be greater than 0 "
- "and less than or equal to 1.");
- }
float widthRatio =
static_cast(originalSize.width) / modelImageSize.width;
float heightRatio =
@@ -70,14 +101,23 @@ ObjectDetection::postprocess(const std::vector &tensors,
scores[i]);
}
- std::vector output = utils::nonMaxSuppression(detections);
- return output;
+ return utils::nonMaxSuppression(detections);
}
std::vector
-ObjectDetection::generate(std::string imageSource, double detectionThreshold) {
- auto [inputTensor, originalSize] =
- image_processing::readImageToTensor(imageSource, getAllInputShapes()[0]);
+ObjectDetection::runInference(cv::Mat image, double detectionThreshold) {
+ if (detectionThreshold < 0.0 || detectionThreshold > 1.0) {
+ throw RnExecutorchError(RnExecutorchErrorCode::InvalidUserInput,
+ "detectionThreshold must be in range [0, 1]");
+ }
+ std::scoped_lock lock(inference_mutex_);
+
+ cv::Size originalSize = image.size();
+ cv::Mat preprocessed = preprocessFrame(image);
+
+ const std::vector tensorDims = getAllInputShapes()[0];
+ auto inputTensor =
+ image_processing::getTensorFromMatrix(tensorDims, preprocessed);
auto forwardResult = BaseModel::forward(inputTensor);
if (!forwardResult.ok()) {
@@ -88,4 +128,33 @@ ObjectDetection::generate(std::string imageSource, double detectionThreshold) {
return postprocess(forwardResult.get(), originalSize, detectionThreshold);
}
-} // namespace rnexecutorch::models::object_detection
+
+std::vector
+ObjectDetection::generateFromString(std::string imageSource,
+ double detectionThreshold) {
+ cv::Mat imageBGR = image_processing::readImage(imageSource);
+
+ cv::Mat imageRGB;
+ cv::cvtColor(imageBGR, imageRGB, cv::COLOR_BGR2RGB);
+
+ return runInference(imageRGB, detectionThreshold);
+}
+
+std::vector
+ObjectDetection::generateFromFrame(jsi::Runtime &runtime,
+ const jsi::Value &frameData,
+ double detectionThreshold) {
+ auto frameObj = frameData.asObject(runtime);
+ cv::Mat frame = rnexecutorch::utils::extractFrame(runtime, frameObj);
+
+ return runInference(frame, detectionThreshold);
+}
+
+std::vector
+ObjectDetection::generateFromPixels(JSTensorViewIn pixelData,
+ double detectionThreshold) {
+ cv::Mat image = extractFromPixels(pixelData);
+
+ return runInference(image, detectionThreshold);
+}
+} // namespace rnexecutorch::models::object_detection
\ No newline at end of file
diff --git a/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.h b/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.h
index bba09a6d8..d32eea95e 100644
--- a/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.h
+++ b/packages/react-native-executorch/common/rnexecutorch/models/object_detection/ObjectDetection.h
@@ -8,7 +8,7 @@
#include "Types.h"
#include "rnexecutorch/metaprogramming/ConstructorHelpers.h"
-#include
+#include
#include
namespace rnexecutorch {
@@ -16,12 +16,22 @@ namespace models::object_detection {
using executorch::extension::TensorPtr;
using executorch::runtime::EValue;
-class ObjectDetection : public BaseModel {
+class ObjectDetection : public VisionModel {
public:
ObjectDetection(const std::string &modelSource,
std::shared_ptr callInvoker);
[[nodiscard("Registered non-void function")]] std::vector
- generate(std::string imageSource, double detectionThreshold);
+ generateFromString(std::string imageSource, double detectionThreshold);
+ [[nodiscard("Registered non-void function")]] std::vector
+ generateFromFrame(jsi::Runtime &runtime, const jsi::Value &frameData,
+ double detectionThreshold);
+ [[nodiscard("Registered non-void function")]] std::vector
+ generateFromPixels(JSTensorViewIn pixelData, double detectionThreshold);
+
+protected:
+ std::vector runInference(cv::Mat image,
+ double detectionThreshold);
+ cv::Mat preprocessFrame(const cv::Mat &frame) const override;
private:
std::vector postprocess(const std::vector &tensors,
diff --git a/packages/react-native-executorch/common/rnexecutorch/tests/CMakeLists.txt b/packages/react-native-executorch/common/rnexecutorch/tests/CMakeLists.txt
index e2a8c16bf..c45ab9107 100644
--- a/packages/react-native-executorch/common/rnexecutorch/tests/CMakeLists.txt
+++ b/packages/react-native-executorch/common/rnexecutorch/tests/CMakeLists.txt
@@ -156,8 +156,11 @@ add_rn_test(ObjectDetectionTests integration/ObjectDetectionTest.cpp
SOURCES
${RNEXECUTORCH_DIR}/models/object_detection/ObjectDetection.cpp
${RNEXECUTORCH_DIR}/models/object_detection/Utils.cpp
+ ${RNEXECUTORCH_DIR}/models/VisionModel.cpp
+ ${RNEXECUTORCH_DIR}/utils/FrameProcessor.cpp
+ ${RNEXECUTORCH_DIR}/utils/FrameExtractor.cpp
${IMAGE_UTILS_SOURCES}
- LIBS opencv_deps
+ LIBS opencv_deps android
)
add_rn_test(ImageEmbeddingsTests integration/ImageEmbeddingsTest.cpp
diff --git a/packages/react-native-executorch/common/rnexecutorch/tests/integration/ObjectDetectionTest.cpp b/packages/react-native-executorch/common/rnexecutorch/tests/integration/ObjectDetectionTest.cpp
index ae80208a6..76c838ca1 100644
--- a/packages/react-native-executorch/common/rnexecutorch/tests/integration/ObjectDetectionTest.cpp
+++ b/packages/react-native-executorch/common/rnexecutorch/tests/integration/ObjectDetectionTest.cpp
@@ -1,6 +1,8 @@
#include "BaseModelTests.h"
+#include
#include
#include
+#include
#include
#include
@@ -29,7 +31,7 @@ template <> struct ModelTraits {
}
static void callGenerate(ModelType &model) {
- (void)model.generate(kValidTestImagePath, 0.5);
+ (void)model.generateFromString(kValidTestImagePath, 0.5);
}
};
} // namespace model_tests
@@ -43,49 +45,50 @@ INSTANTIATE_TYPED_TEST_SUITE_P(ObjectDetection, CommonModelTest,
// ============================================================================
TEST(ObjectDetectionGenerateTests, InvalidImagePathThrows) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- EXPECT_THROW((void)model.generate("nonexistent_image.jpg", 0.5),
+ EXPECT_THROW((void)model.generateFromString("nonexistent_image.jpg", 0.5),
RnExecutorchError);
}
TEST(ObjectDetectionGenerateTests, EmptyImagePathThrows) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- EXPECT_THROW((void)model.generate("", 0.5), RnExecutorchError);
+ EXPECT_THROW((void)model.generateFromString("", 0.5), RnExecutorchError);
}
TEST(ObjectDetectionGenerateTests, MalformedURIThrows) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- EXPECT_THROW((void)model.generate("not_a_valid_uri://bad", 0.5),
+ EXPECT_THROW((void)model.generateFromString("not_a_valid_uri://bad", 0.5),
RnExecutorchError);
}
TEST(ObjectDetectionGenerateTests, NegativeThresholdThrows) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- EXPECT_THROW((void)model.generate(kValidTestImagePath, -0.1),
+ EXPECT_THROW((void)model.generateFromString(kValidTestImagePath, -0.1),
RnExecutorchError);
}
TEST(ObjectDetectionGenerateTests, ThresholdAboveOneThrows) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- EXPECT_THROW((void)model.generate(kValidTestImagePath, 1.1),
+ EXPECT_THROW((void)model.generateFromString(kValidTestImagePath, 1.1),
RnExecutorchError);
}
TEST(ObjectDetectionGenerateTests, ValidImageReturnsResults) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- auto results = model.generate(kValidTestImagePath, 0.3);
+ auto results = model.generateFromString(kValidTestImagePath, 0.3);
EXPECT_GE(results.size(), 0u);
}
TEST(ObjectDetectionGenerateTests, HighThresholdReturnsFewerResults) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- auto lowThresholdResults = model.generate(kValidTestImagePath, 0.1);
- auto highThresholdResults = model.generate(kValidTestImagePath, 0.9);
+ auto lowThresholdResults = model.generateFromString(kValidTestImagePath, 0.1);
+ auto highThresholdResults =
+ model.generateFromString(kValidTestImagePath, 0.9);
EXPECT_GE(lowThresholdResults.size(), highThresholdResults.size());
}
TEST(ObjectDetectionGenerateTests, DetectionsHaveValidBoundingBoxes) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- auto results = model.generate(kValidTestImagePath, 0.3);
+ auto results = model.generateFromString(kValidTestImagePath, 0.3);
for (const auto &detection : results) {
EXPECT_LE(detection.x1, detection.x2);
@@ -97,7 +100,7 @@ TEST(ObjectDetectionGenerateTests, DetectionsHaveValidBoundingBoxes) {
TEST(ObjectDetectionGenerateTests, DetectionsHaveValidScores) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- auto results = model.generate(kValidTestImagePath, 0.3);
+ auto results = model.generateFromString(kValidTestImagePath, 0.3);
for (const auto &detection : results) {
EXPECT_GE(detection.score, 0.0f);
@@ -107,13 +110,80 @@ TEST(ObjectDetectionGenerateTests, DetectionsHaveValidScores) {
TEST(ObjectDetectionGenerateTests, DetectionsHaveValidLabels) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
- auto results = model.generate(kValidTestImagePath, 0.3);
+ auto results = model.generateFromString(kValidTestImagePath, 0.3);
for (const auto &detection : results) {
EXPECT_GE(detection.label, 0);
}
}
+// ============================================================================
+// generateFromPixels tests
+// ============================================================================
+TEST(ObjectDetectionPixelTests, ValidPixelDataReturnsResults) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ constexpr int32_t width = 4, height = 4, channels = 3;
+ std::vector pixelData(width * height * channels, 128);
+ JSTensorViewIn tensorView{pixelData.data(),
+ {height, width, channels},
+ executorch::aten::ScalarType::Byte};
+ auto results = model.generateFromPixels(tensorView, 0.3);
+ EXPECT_GE(results.size(), 0u);
+}
+
+TEST(ObjectDetectionPixelTests, WrongSizesLengthThrows) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ std::vector pixelData(16, 0);
+ JSTensorViewIn tensorView{
+ pixelData.data(), {4, 4}, executorch::aten::ScalarType::Byte};
+ EXPECT_THROW((void)model.generateFromPixels(tensorView, 0.5),
+ RnExecutorchError);
+}
+
+TEST(ObjectDetectionPixelTests, WrongChannelCountThrows) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ constexpr int32_t width = 4, height = 4, channels = 4;
+ std::vector pixelData(width * height * channels, 0);
+ JSTensorViewIn tensorView{pixelData.data(),
+ {height, width, channels},
+ executorch::aten::ScalarType::Byte};
+ EXPECT_THROW((void)model.generateFromPixels(tensorView, 0.5),
+ RnExecutorchError);
+}
+
+TEST(ObjectDetectionPixelTests, WrongScalarTypeThrows) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ constexpr int32_t width = 4, height = 4, channels = 3;
+ std::vector pixelData(width * height * channels, 0);
+ JSTensorViewIn tensorView{pixelData.data(),
+ {height, width, channels},
+ executorch::aten::ScalarType::Float};
+ EXPECT_THROW((void)model.generateFromPixels(tensorView, 0.5),
+ RnExecutorchError);
+}
+
+TEST(ObjectDetectionPixelTests, NegativeThresholdThrows) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ constexpr int32_t width = 4, height = 4, channels = 3;
+ std::vector pixelData(width * height * channels, 128);
+ JSTensorViewIn tensorView{pixelData.data(),
+ {height, width, channels},
+ executorch::aten::ScalarType::Byte};
+ EXPECT_THROW((void)model.generateFromPixels(tensorView, -0.1),
+ RnExecutorchError);
+}
+
+TEST(ObjectDetectionPixelTests, ThresholdAboveOneThrows) {
+ ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
+ constexpr int32_t width = 4, height = 4, channels = 3;
+ std::vector pixelData(width * height * channels, 128);
+ JSTensorViewIn tensorView{pixelData.data(),
+ {height, width, channels},
+ executorch::aten::ScalarType::Byte};
+ EXPECT_THROW((void)model.generateFromPixels(tensorView, 1.1),
+ RnExecutorchError);
+}
+
TEST(ObjectDetectionInheritedTests, GetInputShapeWorks) {
ObjectDetection model(kValidObjectDetectionModelPath, nullptr);
auto shape = model.getInputShape("forward", 0);
diff --git a/packages/react-native-executorch/common/rnexecutorch/tests/integration/stubs/jsi_stubs.cpp b/packages/react-native-executorch/common/rnexecutorch/tests/integration/stubs/jsi_stubs.cpp
index 39b8ae09c..897a2778e 100644
--- a/packages/react-native-executorch/common/rnexecutorch/tests/integration/stubs/jsi_stubs.cpp
+++ b/packages/react-native-executorch/common/rnexecutorch/tests/integration/stubs/jsi_stubs.cpp
@@ -14,6 +14,14 @@ namespace facebook::jsi {
MutableBuffer::~MutableBuffer() {}
Value::~Value() {}
Value::Value(Value &&other) noexcept {}
+
+// Needed to link ObjectDetectionTests: generateFromFrame and FrameProcessor
+// pull in these JSI symbols, but they are never called in tests.
+Object Value::asObject(Runtime &) const & { __builtin_unreachable(); }
+BigInt Value::asBigInt(Runtime &) const & { __builtin_unreachable(); }
+
+uint64_t BigInt::asUint64(Runtime &) const { return 0; }
+
} // namespace facebook::jsi
namespace facebook::react {
diff --git a/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.cpp b/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.cpp
new file mode 100644
index 000000000..baae35dc3
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.cpp
@@ -0,0 +1,114 @@
+#include "FrameExtractor.h"
+#include
+#include
+#include
+
+#ifdef __APPLE__
+#import
+#endif
+
+#if defined(__ANDROID__) && __ANDROID_API__ >= 26
+#include
+#endif
+
+namespace rnexecutorch::utils {
+
+namespace {
+
+#ifdef __APPLE__
+cv::Mat extractFromCVPixelBuffer(void *pixelBuffer) {
+ CVPixelBufferRef buffer = static_cast(pixelBuffer);
+
+ size_t width = CVPixelBufferGetWidth(buffer);
+ size_t height = CVPixelBufferGetHeight(buffer);
+ size_t bytesPerRow = CVPixelBufferGetBytesPerRow(buffer);
+ OSType pixelFormat = CVPixelBufferGetPixelFormatType(buffer);
+
+ CVPixelBufferLockBaseAddress(buffer, kCVPixelBufferLock_ReadOnly);
+ void *baseAddress = CVPixelBufferGetBaseAddress(buffer);
+
+ cv::Mat mat;
+
+ if (pixelFormat == kCVPixelFormatType_32BGRA) {
+ mat = cv::Mat(static_cast(height), static_cast(width), CV_8UC4,
+ baseAddress, bytesPerRow);
+ } else if (pixelFormat == kCVPixelFormatType_32RGBA) {
+ mat = cv::Mat(static_cast(height), static_cast(width), CV_8UC4,
+ baseAddress, bytesPerRow);
+ } else if (pixelFormat == kCVPixelFormatType_24RGB) {
+ mat = cv::Mat(static_cast(height), static_cast(width), CV_8UC3,
+ baseAddress, bytesPerRow);
+ } else {
+ CVPixelBufferUnlockBaseAddress(buffer, kCVPixelBufferLock_ReadOnly);
+ char errorMessage[100];
+ std::snprintf(errorMessage, sizeof(errorMessage),
+ "Unsupported CVPixelBuffer format: %u", pixelFormat);
+ throw RnExecutorchError(RnExecutorchErrorCode::PlatformNotSupported,
+ errorMessage);
+ }
+
+ // Note: We don't unlock here - Vision Camera manages the lifecycle
+ // When frame.dispose() is called, Vision Camera will unlock and release
+
+ return mat;
+}
+#endif
+
+#ifdef __ANDROID__
+cv::Mat extractFromAHardwareBuffer(void *hardwareBuffer) {
+#if __ANDROID_API__ >= 26
+ AHardwareBuffer *buffer = static_cast(hardwareBuffer);
+
+ AHardwareBuffer_Desc desc;
+ AHardwareBuffer_describe(buffer, &desc);
+
+ void *data = nullptr;
+ int lockResult = AHardwareBuffer_lock(
+ buffer, AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN, -1, nullptr, &data);
+
+ if (lockResult != 0) {
+ throw RnExecutorchError(RnExecutorchErrorCode::UnknownError,
+ "Failed to lock AHardwareBuffer");
+ }
+
+ cv::Mat mat;
+
+ if (desc.format == AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM) {
+ mat = cv::Mat(desc.height, desc.width, CV_8UC4, data, desc.stride * 4);
+ } else if (desc.format == AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM) {
+ mat = cv::Mat(desc.height, desc.width, CV_8UC4, data, desc.stride * 4);
+ } else if (desc.format == AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM) {
+ mat = cv::Mat(desc.height, desc.width, CV_8UC3, data, desc.stride * 3);
+ } else {
+ AHardwareBuffer_unlock(buffer, nullptr);
+ char errorMessage[100];
+ std::snprintf(errorMessage, sizeof(errorMessage),
+ "Unsupported AHardwareBuffer format: %u", desc.format);
+ throw RnExecutorchError(RnExecutorchErrorCode::PlatformNotSupported,
+ errorMessage);
+ }
+
+ // Note: We don't unlock here - Vision Camera manages the lifecycle
+
+ return mat;
+#else
+ throw RnExecutorchError(RnExecutorchErrorCode::PlatformNotSupported,
+ "AHardwareBuffer requires Android API 26+");
+#endif // __ANDROID_API__ >= 26
+}
+#endif
+
+} // namespace
+
+cv::Mat extractFromNativeBuffer(uint64_t bufferPtr) {
+#ifdef __APPLE__
+ return extractFromCVPixelBuffer(reinterpret_cast(bufferPtr));
+#elif defined(__ANDROID__)
+ return extractFromAHardwareBuffer(reinterpret_cast(bufferPtr));
+#else
+ throw RnExecutorchError(RnExecutorchErrorCode::PlatformNotSupported,
+ "NativeBuffer not supported on this platform");
+#endif
+}
+
+} // namespace rnexecutorch::utils
diff --git a/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.h b/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.h
new file mode 100644
index 000000000..f5d7c2094
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/utils/FrameExtractor.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include
+#include
+
+namespace rnexecutorch::utils {
+
+/**
+ * @brief Extract cv::Mat from a native platform buffer pointer (zero-copy)
+ *
+ * Dispatches to the platform-specific implementation:
+ * - iOS: CVPixelBufferRef
+ * - Android: AHardwareBuffer
+ *
+ * @param bufferPtr Platform-specific buffer pointer (uint64_t)
+ * @return cv::Mat wrapping the buffer data (zero-copy)
+ *
+ * @throws RnExecutorchError if the platform is unsupported or extraction fails
+ *
+ * @note The returned cv::Mat does not own the data.
+ * Caller must ensure the buffer remains valid during use.
+ */
+cv::Mat extractFromNativeBuffer(uint64_t bufferPtr);
+
+} // namespace rnexecutorch::utils
diff --git a/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.cpp b/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.cpp
new file mode 100644
index 000000000..30238ad5c
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.cpp
@@ -0,0 +1,28 @@
+#include "FrameProcessor.h"
+#include "FrameExtractor.h"
+#include
+#include
+
+namespace rnexecutorch::utils {
+
+namespace {
+
+bool hasNativeBuffer(jsi::Runtime &runtime, const jsi::Object &frameData) {
+ return frameData.hasProperty(runtime, "nativeBuffer");
+}
+
+} // namespace
+
+cv::Mat extractFrame(jsi::Runtime &runtime, const jsi::Object &frameData) {
+ if (!hasNativeBuffer(runtime, frameData)) {
+ throw RnExecutorchError(RnExecutorchErrorCode::InvalidUserInput,
+ "FrameProcessor: No nativeBuffer found in frame");
+ }
+
+ auto nativeBufferValue = frameData.getProperty(runtime, "nativeBuffer");
+ uint64_t bufferPtr = static_cast(
+ nativeBufferValue.asBigInt(runtime).asUint64(runtime));
+
+ return extractFromNativeBuffer(bufferPtr);
+}
+} // namespace rnexecutorch::utils
diff --git a/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.h b/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.h
new file mode 100644
index 000000000..403f4bde9
--- /dev/null
+++ b/packages/react-native-executorch/common/rnexecutorch/utils/FrameProcessor.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include
+#include
+
+namespace rnexecutorch::utils {
+
+using namespace facebook;
+
+/**
+ * @brief Extract cv::Mat from VisionCamera frame data via nativeBuffer
+ *
+ * @param runtime JSI runtime
+ * @param frameData JSI object containing frame data from VisionCamera
+ * Expected properties:
+ * - nativeBuffer: BigInt pointer to native buffer
+ *
+ * @return cv::Mat wrapping the frame data (zero-copy)
+ *
+ * @throws RnExecutorchError if nativeBuffer is not present or extraction fails
+ *
+ * @note The returned cv::Mat does not own the data.
+ * Caller must ensure the source frame remains valid during use.
+ */
+cv::Mat extractFrame(jsi::Runtime &runtime, const jsi::Object &frameData);
+
+} // namespace rnexecutorch::utils
diff --git a/packages/react-native-executorch/src/errors/ErrorCodes.ts b/packages/react-native-executorch/src/errors/ErrorCodes.ts
index 3e4e557a1..4ccb1f07f 100644
--- a/packages/react-native-executorch/src/errors/ErrorCodes.ts
+++ b/packages/react-native-executorch/src/errors/ErrorCodes.ts
@@ -58,6 +58,10 @@ export enum RnExecutorchErrorCode {
* Thrown when the number of downloaded files is unexpected, due to download interruptions.
*/
DownloadInterrupted = 118,
+ /**
+ * Thrown when a feature or platform is not supported in the current environment.
+ */
+ PlatformNotSupported = 119,
/**
* Thrown when an error occurs with the tokenizer or tokenization process.
*/
diff --git a/packages/react-native-executorch/src/hooks/computer_vision/useObjectDetection.ts b/packages/react-native-executorch/src/hooks/computer_vision/useObjectDetection.ts
index 2d52eb706..27be7478c 100644
--- a/packages/react-native-executorch/src/hooks/computer_vision/useObjectDetection.ts
+++ b/packages/react-native-executorch/src/hooks/computer_vision/useObjectDetection.ts
@@ -15,9 +15,10 @@ import {
export const useObjectDetection = ({
model,
preventLoad = false,
-}: ObjectDetectionProps): ObjectDetectionType =>
- useModule({
+}: ObjectDetectionProps): ObjectDetectionType => {
+ return useModule({
module: ObjectDetectionModule,
model,
preventLoad: preventLoad,
});
+};
diff --git a/packages/react-native-executorch/src/hooks/useModule.ts b/packages/react-native-executorch/src/hooks/useModule.ts
index 1a35885d5..cc1fc1ef2 100644
--- a/packages/react-native-executorch/src/hooks/useModule.ts
+++ b/packages/react-native-executorch/src/hooks/useModule.ts
@@ -2,6 +2,8 @@ import { useEffect, useState } from 'react';
import { RnExecutorchErrorCode } from '../errors/ErrorCodes';
import { RnExecutorchError, parseUnknownError } from '../errors/errorUtils';
+type RunOnFrame = M extends { runOnFrame: infer R } ? R : never;
+
interface Module {
load: (...args: any[]) => Promise;
forward: (...args: any[]) => Promise;
@@ -31,6 +33,7 @@ export const useModule = <
const [isGenerating, setIsGenerating] = useState(false);
const [downloadProgress, setDownloadProgress] = useState(0);
const [moduleInstance] = useState(() => new module());
+ const [runOnFrame, setRunOnFrame] = useState | null>(null);
useEffect(() => {
if (preventLoad) return;
@@ -46,6 +49,26 @@ export const useModule = <
if (isMounted) setDownloadProgress(progress);
});
if (isMounted) setIsReady(true);
+
+ // VisionCamera worklets run on a separate JS thread and can only capture
+ // serializable values (plain functions, primitives). The module instance
+ // is a class object and is not serializable, so accessing runOnFrame
+ // directly inside a worklet would fail at runtime.
+ //
+ // By extracting the method and storing it in React state, it becomes a
+ // standalone function reference that the worklet thread can capture and
+ // call safely.
+ //
+ // Note: setState(fn) triggers React's updater form — it calls fn(prevState)
+ // and stores the return value, not fn itself. Since runOnFrame is a function,
+ // we wrap it: setState(() => worklet) so React stores the worklet as the
+ // state value rather than invoking it.
+ if ('runOnFrame' in moduleInstance) {
+ const worklet = moduleInstance.runOnFrame as RunOnFrame;
+ if (worklet) {
+ setRunOnFrame(() => worklet);
+ }
+ }
} catch (err) {
if (isMounted) setError(parseUnknownError(err));
}
@@ -99,5 +122,32 @@ export const useModule = <
*/
downloadProgress,
forward,
+
+ /**
+ * Synchronous worklet function for real-time VisionCamera frame processing.
+ * Automatically handles native buffer extraction and cleanup.
+ *
+ * Only available for Computer Vision modules that support real-time frame processing
+ * (e.g., ObjectDetection, Classification, ImageSegmentation).
+ * Returns `null` if the module doesn't implement frame processing.
+ *
+ * **Use this for VisionCamera frame processing in worklets.**
+ * For async processing, use `forward()` instead.
+ *
+ * @example
+ * ```typescript
+ * const { runOnFrame } = useObjectDetection({ model: MODEL });
+ *
+ * const frameOutput = useFrameOutput({
+ * onFrame(frame) {
+ * 'worklet';
+ * if (!runOnFrame) return;
+ * const detections = runOnFrame(frame, 0.5);
+ * frame.dispose();
+ * }
+ * });
+ * ```
+ */
+ runOnFrame,
};
};
diff --git a/packages/react-native-executorch/src/modules/BaseModule.ts b/packages/react-native-executorch/src/modules/BaseModule.ts
index 6aefc8b2a..41a2da6cf 100644
--- a/packages/react-native-executorch/src/modules/BaseModule.ts
+++ b/packages/react-native-executorch/src/modules/BaseModule.ts
@@ -1,12 +1,68 @@
-import { ResourceSource } from '../types/common';
+import { Frame, ResourceSource } from '../types/common';
import { TensorPtr } from '../types/common';
+/**
+ * Base class for all React Native Executorch modules.
+ *
+ * Provides core functionality for loading models, running inference,
+ * and managing native resources.
+ *
+ * @category Base Classes
+ */
export abstract class BaseModule {
/**
- * Native module instance
+ * Native module instance (JSI Host Object)
+ * @internal
*/
nativeModule: any = null;
+ /**
+ * Process a camera frame directly for real-time inference.
+ *
+ * This method is bound to a native JSI function after calling `load()`,
+ * making it worklet-compatible and safe to call from VisionCamera's
+ * frame processor thread.
+ *
+ * **Performance characteristics:**
+ * - **Zero-copy path**: When using `frame.getNativeBuffer()` from VisionCamera v5,
+ * frame data is accessed directly without copying (fastest, recommended).
+ * - **Copy path**: When using `frame.toArrayBuffer()`, pixel data is copied
+ * from native to JS, then accessed from native code (slower, fallback).
+ *
+ * **Usage with VisionCamera:**
+ * ```typescript
+ * const frameOutput = useFrameOutput({
+ * pixelFormat: 'rgb',
+ * onFrame(frame) {
+ * 'worklet';
+ * // Zero-copy approach (recommended)
+ * const nativeBuffer = frame.getNativeBuffer();
+ * const result = model.generateFromFrame(
+ * { nativeBuffer: nativeBuffer.pointer, width: frame.width, height: frame.height },
+ * ...args
+ * );
+ * nativeBuffer.release();
+ * frame.dispose();
+ * }
+ * });
+ * ```
+ *
+ * @param frameData Frame data object with either nativeBuffer (zero-copy) or data (ArrayBuffer)
+ * @param args Additional model-specific arguments (e.g., threshold, options)
+ * @returns Model-specific output (e.g., detections, classifications, embeddings)
+ *
+ * @see {@link Frame} for frame data format details
+ */
+ public generateFromFrame!: (frameData: Frame, ...args: any[]) => any;
+
+ /**
+ * Load the model and prepare it for inference.
+ *
+ * @param modelSource - Resource location of the model binary
+ * @param onDownloadProgressCallback - Optional callback to monitor download progress (0-1)
+ * @param args - Additional model-specific loading arguments
+ */
+
abstract load(
modelSource: ResourceSource,
onDownloadProgressCallback: (_: number) => void,
@@ -19,6 +75,7 @@ export abstract class BaseModule {
*
* @param inputTensor - Array of input tensors.
* @returns Array of output tensors.
+ * @internal
*/
protected async forwardET(inputTensor: TensorPtr[]): Promise {
return await this.nativeModule.forward(inputTensor);
@@ -36,7 +93,9 @@ export abstract class BaseModule {
}
/**
- * Unloads the model from memory.
+ * Unloads the model from memory and releases native resources.
+ *
+ * Always call this method when you're done with a model to prevent memory leaks.
*/
delete() {
if (this.nativeModule !== null) {
diff --git a/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts b/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts
index 95b9e436b..f056cff62 100644
--- a/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts
+++ b/packages/react-native-executorch/src/modules/computer_vision/ObjectDetectionModule.ts
@@ -1,17 +1,17 @@
import { ResourceFetcher } from '../../utils/ResourceFetcher';
-import { ResourceSource } from '../../types/common';
+import { ResourceSource, PixelData } from '../../types/common';
import { Detection } from '../../types/objectDetection';
import { RnExecutorchErrorCode } from '../../errors/ErrorCodes';
import { parseUnknownError, RnExecutorchError } from '../../errors/errorUtils';
-import { BaseModule } from '../BaseModule';
import { Logger } from '../../common/Logger';
+import { VisionModule } from './VisionModule';
/**
* Module for object detection tasks.
*
* @category Typescript API
*/
-export class ObjectDetectionModule extends BaseModule {
+export class ObjectDetectionModule extends VisionModule {
/**
* Loads the model, where `modelSource` is a string that specifies the location of the model binary.
* To track the download progress, supply a callback function `onDownloadProgressCallback`.
@@ -43,23 +43,10 @@ export class ObjectDetectionModule extends BaseModule {
}
}
- /**
- * Executes the model's forward pass, where `imageSource` can be a fetchable resource or a Base64-encoded string.
- * `detectionThreshold` can be supplied to alter the sensitivity of the detection.
- *
- * @param imageSource - The image source to be processed.
- * @param detectionThreshold - The threshold for detection sensitivity. Default is 0.7.
- * @returns An array of Detection objects representing detected items in the image.
- */
async forward(
- imageSource: string,
- detectionThreshold: number = 0.7
+ input: string | PixelData,
+ detectionThreshold: number = 0.5
): Promise {
- if (this.nativeModule == null)
- throw new RnExecutorchError(
- RnExecutorchErrorCode.ModuleNotLoaded,
- 'The model is currently not loaded. Please load the model before calling forward().'
- );
- return await this.nativeModule.generate(imageSource, detectionThreshold);
+ return super.forward(input, detectionThreshold);
}
}
diff --git a/packages/react-native-executorch/src/modules/computer_vision/VisionModule.ts b/packages/react-native-executorch/src/modules/computer_vision/VisionModule.ts
new file mode 100644
index 000000000..762d09987
--- /dev/null
+++ b/packages/react-native-executorch/src/modules/computer_vision/VisionModule.ts
@@ -0,0 +1,143 @@
+import { BaseModule } from '../BaseModule';
+import { RnExecutorchErrorCode } from '../../errors/ErrorCodes';
+import { RnExecutorchError } from '../../errors/errorUtils';
+import { Frame, PixelData, ScalarType } from '../../types/common';
+
+/**
+ * Base class for computer vision models that support multiple input types.
+ *
+ * VisionModule extends BaseModule with:
+ * - Unified `forward()` API accepting string paths or raw pixel data
+ * - `runOnFrame` getter for real-time VisionCamera frame processing
+ * - Shared frame processor creation logic
+ *
+ * Subclasses should only implement model-specific loading logic.
+ *
+ * @category Typescript API
+ */
+function isPixelData(input: unknown): input is PixelData {
+ return (
+ typeof input === 'object' &&
+ input !== null &&
+ 'dataPtr' in input &&
+ input.dataPtr instanceof Uint8Array &&
+ 'sizes' in input &&
+ Array.isArray(input.sizes) &&
+ input.sizes.length === 3 &&
+ 'scalarType' in input &&
+ input.scalarType === ScalarType.BYTE
+ );
+}
+
+export abstract class VisionModule extends BaseModule {
+ /**
+ * Synchronous worklet function for real-time VisionCamera frame processing.
+ *
+ * Only available after the model is loaded. Returns null if not loaded.
+ *
+ * **Use this for VisionCamera frame processing in worklets.**
+ * For async processing, use `forward()` instead.
+ *
+ * @example
+ * ```typescript
+ * const model = new ClassificationModule();
+ * await model.load({ modelSource: MODEL });
+ *
+ * // Use the functional form of setState to store the worklet — passing it
+ * // directly would cause React to invoke it immediately as an updater fn.
+ * const [runOnFrame, setRunOnFrame] = useState(null);
+ * setRunOnFrame(() => model.runOnFrame);
+ *
+ * const frameOutput = useFrameOutput({
+ * onFrame(frame) {
+ * 'worklet';
+ * if (!runOnFrame) return;
+ * const result = runOnFrame(frame);
+ * frame.dispose();
+ * }
+ * });
+ * ```
+ */
+ get runOnFrame(): ((frame: Frame, ...args: any[]) => TOutput) | null {
+ if (!this.nativeModule?.generateFromFrame) {
+ return null;
+ }
+
+ // Extract pure JSI function reference (runs on JS thread)
+ const nativeGenerateFromFrame = this.nativeModule.generateFromFrame;
+
+ // Return worklet that captures ONLY the JSI function
+ return (frame: any, ...args: any[]): TOutput => {
+ 'worklet';
+
+ let nativeBuffer: any = null;
+ try {
+ nativeBuffer = frame.getNativeBuffer();
+ const frameData = {
+ nativeBuffer: nativeBuffer.pointer,
+ };
+ return nativeGenerateFromFrame(frameData, ...args);
+ } finally {
+ if (nativeBuffer?.release) {
+ nativeBuffer.release();
+ }
+ }
+ };
+ }
+
+ /**
+ * Executes the model's forward pass with automatic input type detection.
+ *
+ * Supports two input types:
+ * 1. **String path/URI**: File path, URL, or Base64-encoded string
+ * 2. **PixelData**: Raw pixel data from image libraries (e.g., NitroImage)
+ *
+ * **Note**: For VisionCamera frame processing, use `runOnFrame` instead.
+ * This method is async and cannot be called in worklet context.
+ *
+ * @param input - Image source (string path or PixelData object)
+ * @param args - Additional model-specific arguments
+ * @returns A Promise that resolves to the model output.
+ *
+ * @example
+ * ```typescript
+ * // String path (async)
+ * const result1 = await model.forward('file:///path/to/image.jpg');
+ *
+ * // Pixel data (async)
+ * const result2 = await model.forward({
+ * dataPtr: new Uint8Array(pixelBuffer),
+ * sizes: [480, 640, 3],
+ * scalarType: ScalarType.BYTE
+ * });
+ *
+ * // For VisionCamera frames, use runOnFrame in worklet:
+ * const frameOutput = useFrameOutput({
+ * onFrame(frame) {
+ * 'worklet';
+ * if (!model.runOnFrame) return;
+ * const result = model.runOnFrame(frame);
+ * }
+ * });
+ * ```
+ */
+ async forward(input: string | PixelData, ...args: any[]): Promise {
+ if (this.nativeModule == null)
+ throw new RnExecutorchError(
+ RnExecutorchErrorCode.ModuleNotLoaded,
+ 'The model is currently not loaded. Please load the model before calling forward().'
+ );
+
+ // Type detection and routing
+ if (typeof input === 'string') {
+ return await this.nativeModule.generateFromString(input, ...args);
+ } else if (isPixelData(input)) {
+ return await this.nativeModule.generateFromPixels(input, ...args);
+ } else {
+ throw new RnExecutorchError(
+ RnExecutorchErrorCode.InvalidArgument,
+ 'Invalid input: expected string path or PixelData object. For VisionCamera frames, use runOnFrame instead.'
+ );
+ }
+ }
+}
diff --git a/packages/react-native-executorch/src/types/common.ts b/packages/react-native-executorch/src/types/common.ts
index 384caa861..eaafc6c9b 100644
--- a/packages/react-native-executorch/src/types/common.ts
+++ b/packages/react-native-executorch/src/types/common.ts
@@ -151,3 +151,56 @@ export type LabelEnum = Readonly>;
* @category Types
*/
export type Triple = readonly [T, T, T];
+/**
+ * Represents raw pixel data in RGB format for vision models.
+ *
+ * This type extends TensorPtr with constraints specific to image data:
+ * - dataPtr must be Uint8Array (8-bit unsigned integers)
+ * - scalarType is always BYTE (ScalarType.BYTE)
+ * - sizes represents [height, width, channels] where channels must be 3 (RGB)
+ *
+ * @category Types
+ * @example
+ * ```typescript
+ * const pixelData: PixelData = {
+ * dataPtr: new Uint8Array(width * height * 3), // RGB pixel data
+ * sizes: [height, width, 3], // [height, width, channels]
+ * scalarType: ScalarType.BYTE
+ * };
+ * ```
+ */
+export interface PixelData extends Pick {
+ /**
+ * RGB pixel data as Uint8Array.
+ * Expected format: RGB (3 channels), not RGBA or BGRA.
+ * Size must equal: width * height * 3
+ */
+ dataPtr: Uint8Array;
+
+ /**
+ * Dimensions of the pixel data: [height, width, channels].
+ * - sizes[0]: height (number of rows)
+ * - sizes[1]: width (number of columns)
+ * - sizes[2]: channels (must be 3 for RGB)
+ */
+ sizes: [number, number, 3];
+
+ /**
+ * Scalar type is always BYTE for pixel data.
+ */
+ scalarType: ScalarType.BYTE;
+}
+
+/**
+ * Frame data for vision model processing.
+ */
+export interface Frame {
+ /**
+ * Pointer to native platform buffer (zero-copy, best performance).
+ * - On iOS: CVPixelBufferRef pointer
+ * - On Android: AHardwareBuffer* pointer
+ *
+ * Obtain from Vision Camera v5: `frame.getNativeBuffer().pointer`
+ */
+ getNativeBuffer(): { pointer: bigint; release(): void };
+}
diff --git a/packages/react-native-executorch/src/types/objectDetection.ts b/packages/react-native-executorch/src/types/objectDetection.ts
index 94f7cf5c0..5aaf81833 100644
--- a/packages/react-native-executorch/src/types/objectDetection.ts
+++ b/packages/react-native-executorch/src/types/objectDetection.ts
@@ -1,5 +1,5 @@
import { RnExecutorchError } from '../errors/errorUtils';
-import { ResourceSource } from './common';
+import { ResourceSource, PixelData, Frame } from './common';
/**
* Represents a bounding box for a detected object in an image.
@@ -170,14 +170,65 @@ export interface ObjectDetectionType {
downloadProgress: number;
/**
- * Executes the model's forward pass to detect objects within the provided image.
- * @param imageSource - A string representing the image source (e.g., a file path, URI, or base64 string) to be processed.
- * @param detectionThreshold - An optional number between 0 and 1 representing the minimum confidence score required for an object to be included in the results. Default is 0.7.
- * @returns A Promise that resolves to an array of `Detection` objects, where each object typically contains bounding box coordinates, a class label, and a confidence score.
+ * Executes the model's forward pass with automatic input type detection.
+ *
+ * Supports two input types:
+ * 1. **String path/URI**: File path, URL, or Base64-encoded string
+ * 2. **PixelData**: Raw pixel data from image libraries (e.g., NitroImage)
+ *
+ * **Note**: For VisionCamera frame processing, use `runOnFrame` instead.
+ *
+ * @param input - Image source (string or PixelData object)
+ * @param detectionThreshold - An optional number between 0 and 1 representing the minimum confidence score. Default is 0.5.
+ * @returns A Promise that resolves to an array of `Detection` objects.
* @throws {RnExecutorchError} If the model is not loaded or is currently processing another image.
+ *
+ * @example
+ * ```typescript
+ * // String path
+ * const detections1 = await model.forward('file:///path/to/image.jpg');
+ *
+ * // Pixel data
+ * const detections2 = await model.forward({
+ * dataPtr: new Uint8Array(rgbPixels),
+ * sizes: [480, 640, 3],
+ * scalarType: ScalarType.BYTE
+ * });
+ * ```
*/
forward: (
- imageSource: string,
+ input: string | PixelData,
detectionThreshold?: number
) => Promise;
+
+ /**
+ * Synchronous worklet function for real-time VisionCamera frame processing.
+ * Automatically handles native buffer extraction and cleanup.
+ *
+ * **Use this for VisionCamera frame processing in worklets.**
+ * For async processing, use `forward()` instead.
+ *
+ * Available after model is loaded (`isReady: true`).
+ *
+ * @example
+ * ```typescript
+ * const { runOnFrame, isReady } = useObjectDetection({ model: MODEL });
+ *
+ * const frameOutput = useFrameOutput({
+ * onFrame(frame) {
+ * 'worklet';
+ * if (!runOnFrame) return;
+ * const detections = runOnFrame(frame, 0.5);
+ * frame.dispose();
+ * }
+ * });
+ * ```
+ *
+ * @param frame - VisionCamera Frame object
+ * @param detectionThreshold - The threshold for detection sensitivity.
+ * @returns Array of Detection objects representing detected items in the frame.
+ */
+ runOnFrame:
+ | ((frame: Frame, detectionThreshold: number) => Detection[])
+ | null;
}
diff --git a/scripts/errors.config.ts b/scripts/errors.config.ts
index 3e6cf1090..6953eec2e 100644
--- a/scripts/errors.config.ts
+++ b/scripts/errors.config.ts
@@ -59,6 +59,10 @@ export const errorDefinitions = {
* Thrown when the number of downloaded files is unexpected, due to download interruptions.
*/
DownloadInterrupted: 0x76,
+ /*
+ * Thrown when a feature or platform is not supported in the current environment.
+ */
+ PlatformNotSupported: 0x77,
/*
* Thrown when an error occurs with the tokenizer or tokenization process.
diff --git a/yarn.lock b/yarn.lock
index 829e4f42f..d8df58199 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -33,27 +33,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/code-frame@npm:7.10.4, @babel/code-frame@npm:~7.10.4":
- version: 7.10.4
- resolution: "@babel/code-frame@npm:7.10.4"
- dependencies:
- "@babel/highlight": "npm:^7.10.4"
- checksum: 10/4ef9c679515be9cb8eab519fcded953f86226155a599cf7ea209e40e088bb9a51bb5893d3307eae510b07bb3e359d64f2620957a00c27825dbe26ac62aca81f5
- languageName: node
- linkType: hard
-
-"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/code-frame@npm:7.27.1"
- dependencies:
- "@babel/helper-validator-identifier": "npm:^7.27.1"
- js-tokens: "npm:^4.0.0"
- picocolors: "npm:^1.1.1"
- checksum: 10/721b8a6e360a1fa0f1c9fe7351ae6c874828e119183688b533c477aa378f1010f37cc9afbfc4722c686d1f5cdd00da02eab4ba7278a0c504fa0d7a321dcd4fdf
- languageName: node
- linkType: hard
-
-"@babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0":
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/code-frame@npm:7.29.0"
dependencies:
@@ -64,44 +44,23 @@ __metadata:
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/compat-data@npm:7.28.5"
- checksum: 10/5a5ff00b187049e847f04bd02e21fbd8094544e5016195c2b45e56fa2e311eeb925b158f52a85624c9e6bacc1ce0323e26c303513723d918a8034e347e22610d
+"@babel/code-frame@npm:~7.10.4":
+ version: 7.10.4
+ resolution: "@babel/code-frame@npm:7.10.4"
+ dependencies:
+ "@babel/highlight": "npm:^7.10.4"
+ checksum: 10/4ef9c679515be9cb8eab519fcded953f86226155a599cf7ea209e40e088bb9a51bb5893d3307eae510b07bb3e359d64f2620957a00c27825dbe26ac62aca81f5
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.28.6":
+"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/compat-data@npm:7.29.0"
checksum: 10/7f21beedb930ed8fbf7eabafc60e6e6521c1d905646bf1317a61b2163339157fe797efeb85962bf55136e166b01fd1a6b526a15974b92a8b877d564dcb6c9580
languageName: node
linkType: hard
-"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2":
- version: 7.28.5
- resolution: "@babel/core@npm:7.28.5"
- dependencies:
- "@babel/code-frame": "npm:^7.27.1"
- "@babel/generator": "npm:^7.28.5"
- "@babel/helper-compilation-targets": "npm:^7.27.2"
- "@babel/helper-module-transforms": "npm:^7.28.3"
- "@babel/helpers": "npm:^7.28.4"
- "@babel/parser": "npm:^7.28.5"
- "@babel/template": "npm:^7.27.2"
- "@babel/traverse": "npm:^7.28.5"
- "@babel/types": "npm:^7.28.5"
- "@jridgewell/remapping": "npm:^2.3.5"
- convert-source-map: "npm:^2.0.0"
- debug: "npm:^4.1.0"
- gensync: "npm:^1.0.0-beta.2"
- json5: "npm:^2.2.3"
- semver: "npm:^6.3.1"
- checksum: 10/2f1e224125179f423f4300d605a0c5a3ef315003281a63b1744405b2605ee2a2ffc5b1a8349aa4f262c72eca31c7e1802377ee04ad2b852a2c88f8ace6cac324
- languageName: node
- linkType: hard
-
-"@babel/core@npm:^7.27.4, @babel/core@npm:^7.29.0":
+"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.27.4, @babel/core@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/core@npm:7.29.0"
dependencies:
@@ -125,8 +84,8 @@ __metadata:
linkType: hard
"@babel/eslint-parser@npm:^7.25.1":
- version: 7.28.5
- resolution: "@babel/eslint-parser@npm:7.28.5"
+ version: 7.28.6
+ resolution: "@babel/eslint-parser@npm:7.28.6"
dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1"
eslint-visitor-keys: "npm:^2.1.0"
@@ -134,24 +93,11 @@ __metadata:
peerDependencies:
"@babel/core": ^7.11.0
eslint: ^7.5.0 || ^8.0.0 || ^9.0.0
- checksum: 10/ec8eb061f319fe3854f4c720303bf239625e63c5ddc9391a3c00f17339d417dc5482dc043b64d15506b0e87f26820dfec9ff4880a1862f7c05f4cf1bbf6e34be
+ checksum: 10/15c0c9c78abcc5f267a34bab95437c37dfc468e3ac5e11094ed26bebd63c7a5b056fa47c005ba74eb9fbed6c79e37f90cbe2a24ed09425921275391fe9a5bbe7
languageName: node
linkType: hard
-"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/generator@npm:7.28.5"
- dependencies:
- "@babel/parser": "npm:^7.28.5"
- "@babel/types": "npm:^7.28.5"
- "@jridgewell/gen-mapping": "npm:^0.3.12"
- "@jridgewell/trace-mapping": "npm:^0.3.28"
- jsesc: "npm:^3.0.2"
- checksum: 10/ae618f0a17a6d76c3983e1fd5d9c2f5fdc07703a119efdb813a7d9b8ad4be0a07d4c6f0d718440d2de01a68e321f64e2d63c77fc5d43ae47ae143746ef28ac1f
- languageName: node
- linkType: hard
-
-"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1":
+"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1":
version: 7.29.1
resolution: "@babel/generator@npm:7.29.1"
dependencies:
@@ -173,20 +119,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2":
- version: 7.27.2
- resolution: "@babel/helper-compilation-targets@npm:7.27.2"
- dependencies:
- "@babel/compat-data": "npm:^7.27.2"
- "@babel/helper-validator-option": "npm:^7.27.1"
- browserslist: "npm:^4.24.0"
- lru-cache: "npm:^5.1.1"
- semver: "npm:^6.3.1"
- checksum: 10/bd53c30a7477049db04b655d11f4c3500aea3bcbc2497cf02161de2ecf994fec7c098aabbcebe210ffabc2ecbdb1e3ffad23fb4d3f18723b814f423ea1749fe8
- languageName: node
- linkType: hard
-
-"@babel/helper-compilation-targets@npm:^7.28.6":
+"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2, @babel/helper-compilation-targets@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-compilation-targets@npm:7.28.6"
dependencies:
@@ -199,24 +132,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5"
- dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.27.3"
- "@babel/helper-member-expression-to-functions": "npm:^7.28.5"
- "@babel/helper-optimise-call-expression": "npm:^7.27.1"
- "@babel/helper-replace-supers": "npm:^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
- "@babel/traverse": "npm:^7.28.5"
- semver: "npm:^6.3.1"
- peerDependencies:
- "@babel/core": ^7.0.0
- checksum: 10/0bbf3dfe91875f642fe7ef38f60647f0df8eb9994d4350b19a4d1a9bdc32629e49e56e9a80afb12eeb6f6bcc6666392b37f32231b7c054fc91a0d5251cd67d5b
- languageName: node
- linkType: hard
-
-"@babel/helper-create-class-features-plugin@npm:^7.28.6":
+"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6"
dependencies:
@@ -233,7 +149,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1":
+"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5":
version: 7.28.5
resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5"
dependencies:
@@ -246,18 +162,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-define-polyfill-provider@npm:^0.6.5":
- version: 0.6.5
- resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5"
+"@babel/helper-define-polyfill-provider@npm:^0.6.5, @babel/helper-define-polyfill-provider@npm:^0.6.6":
+ version: 0.6.6
+ resolution: "@babel/helper-define-polyfill-provider@npm:0.6.6"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.27.2"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- debug: "npm:^4.4.1"
+ "@babel/helper-compilation-targets": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ debug: "npm:^4.4.3"
lodash.debounce: "npm:^4.0.8"
- resolve: "npm:^1.22.10"
+ resolve: "npm:^1.22.11"
peerDependencies:
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
- checksum: 10/0bdd2d9654d2f650c33976caa1a2afac2c23cf07e83856acdb482423c7bf4542c499ca0bdc723f2961bb36883501f09e9f4fe061ba81c07996daacfba82a6f62
+ checksum: 10/1c725c47bafb10ae4527aff6741b44ca49b18bf7005ae4583b15f992783e7c1d7687eab1a5583a373b5494160d46e91e29145280bd850e97d36b8b01bc5fef99
languageName: node
linkType: hard
@@ -277,7 +193,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5":
+"@babel/helper-member-expression-to-functions@npm:^7.28.5":
version: 7.28.5
resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5"
dependencies:
@@ -287,17 +203,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/helper-module-imports@npm:7.27.1"
- dependencies:
- "@babel/traverse": "npm:^7.27.1"
- "@babel/types": "npm:^7.27.1"
- checksum: 10/58e792ea5d4ae71676e0d03d9fef33e886a09602addc3bd01388a98d87df9fcfd192968feb40ac4aedb7e287ec3d0c17b33e3ecefe002592041a91d8a1998a8d
- languageName: node
- linkType: hard
-
-"@babel/helper-module-imports@npm:^7.28.6":
+"@babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-module-imports@npm:7.28.6"
dependencies:
@@ -307,20 +213,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3":
- version: 7.28.3
- resolution: "@babel/helper-module-transforms@npm:7.28.3"
- dependencies:
- "@babel/helper-module-imports": "npm:^7.27.1"
- "@babel/helper-validator-identifier": "npm:^7.27.1"
- "@babel/traverse": "npm:^7.28.3"
- peerDependencies:
- "@babel/core": ^7.0.0
- checksum: 10/598fdd8aa5b91f08542d0ba62a737847d0e752c8b95ae2566bc9d11d371856d6867d93e50db870fb836a6c44cfe481c189d8a2b35ca025a224f070624be9fa87
- languageName: node
- linkType: hard
-
-"@babel/helper-module-transforms@npm:^7.28.6":
+"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-module-transforms@npm:7.28.6"
dependencies:
@@ -342,14 +235,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0":
- version: 7.27.1
- resolution: "@babel/helper-plugin-utils@npm:7.27.1"
- checksum: 10/96136c2428888e620e2ec493c25888f9ceb4a21099dcf3dd4508ea64b58cdedbd5a9fb6c7b352546de84d6c24edafe482318646932a22c449ebd16d16c22d864
- languageName: node
- linkType: hard
-
-"@babel/helper-plugin-utils@npm:^7.28.6":
+"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0":
version: 7.28.6
resolution: "@babel/helper-plugin-utils@npm:7.28.6"
checksum: 10/21c853bbc13dbdddf03309c9a0477270124ad48989e1ad6524b83e83a77524b333f92edd2caae645c5a7ecf264ec6d04a9ebe15aeb54c7f33c037b71ec521e4a
@@ -369,20 +255,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-replace-supers@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/helper-replace-supers@npm:7.27.1"
- dependencies:
- "@babel/helper-member-expression-to-functions": "npm:^7.27.1"
- "@babel/helper-optimise-call-expression": "npm:^7.27.1"
- "@babel/traverse": "npm:^7.27.1"
- peerDependencies:
- "@babel/core": ^7.0.0
- checksum: 10/72e3f8bef744c06874206bf0d80a0abbedbda269586966511c2491df4f6bf6d47a94700810c7a6737345a545dfb8295222e1e72f506bcd0b40edb3f594f739ea
- languageName: node
- linkType: hard
-
-"@babel/helper-replace-supers@npm:^7.28.6":
+"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-replace-supers@npm:7.28.6"
dependencies:
@@ -412,7 +285,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5":
+"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.28.5":
version: 7.28.5
resolution: "@babel/helper-validator-identifier@npm:7.28.5"
checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7
@@ -427,23 +300,13 @@ __metadata:
linkType: hard
"@babel/helper-wrap-function@npm:^7.27.1":
- version: 7.28.3
- resolution: "@babel/helper-wrap-function@npm:7.28.3"
- dependencies:
- "@babel/template": "npm:^7.27.2"
- "@babel/traverse": "npm:^7.28.3"
- "@babel/types": "npm:^7.28.2"
- checksum: 10/a5ed5fe7b8d9949d3b4f45ccec0b365018b8e444f6a6d794b4c8291e251e680f5b7c79c49c2170de9d14967c78721f59620ce70c5dac2d53c30628ef971d9dce
- languageName: node
- linkType: hard
-
-"@babel/helpers@npm:^7.28.4":
- version: 7.28.4
- resolution: "@babel/helpers@npm:7.28.4"
+ version: 7.28.6
+ resolution: "@babel/helper-wrap-function@npm:7.28.6"
dependencies:
- "@babel/template": "npm:^7.27.2"
- "@babel/types": "npm:^7.28.4"
- checksum: 10/5a70a82e196cf8808f8a449cc4780c34d02edda2bb136d39ce9d26e63b615f18e89a95472230c3ce7695db0d33e7026efeee56f6454ed43480f223007ed205eb
+ "@babel/template": "npm:^7.28.6"
+ "@babel/traverse": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ checksum: 10/d8a895a75399904746f4127db33593a20021fc55d1a5b5dfeb060b87cc13a8dceea91e70a4951bcd376ba9bd8232b0c04bff9a86c1dab83d691e01852c3b5bcd
languageName: node
linkType: hard
@@ -469,18 +332,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/parser@npm:7.28.5"
- dependencies:
- "@babel/types": "npm:^7.28.5"
- bin:
- parser: ./bin/babel-parser.js
- checksum: 10/8d9bfb437af6c97a7f6351840b9ac06b4529ba79d6d3def24d6c2996ab38ff7f1f9d301e868ca84a93a3050fadb3d09dbc5105b24634cd281671ac11eebe8df7
- languageName: node
- linkType: hard
-
-"@babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0":
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/parser@npm:7.29.0"
dependencies:
@@ -538,15 +390,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.3":
- version: 7.28.3
- resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.3"
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/traverse": "npm:^7.28.3"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/traverse": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/eeacdb7fa5ae19e366cbc4da98736b898e05b9abe572aa23093e6be842c6c8284d08af538528ec771073a3749718033be3713ff455ca008d11a7b0e90e62a53d
+ checksum: 10/9377897aa7cba3a0b78a7c6015799ff71504b2b203329357e42ab3185d44aab07344ba33f5dd53f14d5340c1dc5a2587346343e0859538947bbab0484e72b914
languageName: node
linkType: hard
@@ -577,15 +429,15 @@ __metadata:
linkType: hard
"@babel/plugin-proposal-decorators@npm:^7.12.9":
- version: 7.28.0
- resolution: "@babel/plugin-proposal-decorators@npm:7.28.0"
+ version: 7.29.0
+ resolution: "@babel/plugin-proposal-decorators@npm:7.29.0"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/plugin-syntax-decorators": "npm:^7.27.1"
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/plugin-syntax-decorators": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/984a4cc0891ac910ee65793c02299048ad18903855032f3e922476b5bd1e9839dd1ed0505bf3f69956b50b6d4dcbc3c74798bcc4c12d0160c37c187c2330ead4
+ checksum: 10/fa7b9aa1a48993ad60b9e118619ed364aa67da4c634b8a755a6f0529a9f61719723fccfdaf3bf0c6ff693eeee0992a67fb311e0cbe8fed7d48de43cdc8ebff2c
languageName: node
linkType: hard
@@ -717,14 +569,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-decorators@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-decorators@npm:7.27.1"
+"@babel/plugin-syntax-decorators@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-decorators@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/2dd303f969c7eacb666294493e87d0121122d2b0f6f678855f8e134e0866dc20633cbe1b7351e9eae3874f95657bfdc63dcde68992e99f014111a725467059ca
+ checksum: 10/6c7544eaa586aba1bcb400eab9304011c1d5be8d9cff02d02c930e70d4023505595c36feca2bf62960f3891d2c3abbc32e116d4c8ab1da63b0fc5329d7694919
languageName: node
linkType: hard
@@ -740,46 +592,46 @@ __metadata:
linkType: hard
"@babel/plugin-syntax-export-default-from@npm:^7.0.0, @babel/plugin-syntax-export-default-from@npm:^7.24.7":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-export-default-from@npm:7.27.1"
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-export-default-from@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/d9a6a9c51f644a5ed139dbe1e8cf5a38c9b390af27ad2fc6f0eba579ac543b039efff34200744bfc8523132c06aa6de921238bd2088948bb4dce4571cea43438
+ checksum: 10/06330b90a4baf9edafe8a4e2e6520d548f83e178c1e832c1ad5018532052996331aedc8c3b4e6b0e51acaef75abe76e25ad3465d3d914658d65acec6908f202a
languageName: node
linkType: hard
"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.18.0, @babel/plugin-syntax-flow@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-flow@npm:7.27.1"
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-flow@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/7baca3171ed595d04c865b0ce46fca7f21900686df9d7fcd1017036ce78bb5483e33803de810831e68d39cf478953db69f49ae3f3de2e3207bc4ba49a96b6739
+ checksum: 10/3dfe5d8168e400376e16937c92648142771b9ba0d9937b04ccdaacd06bf9d854170021b466106d4aa39ba6062b8b5b9b53efddae2c64ca133d4d6fafaa472909
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-assertions@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1"
+"@babel/plugin-syntax-import-assertions@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/fb661d630808d67ecb85eabad25aac4e9696a20464bad4c4a6a0d3d40e4dc22557d47e9be3d591ec06429cf048cfe169b8891c373606344d51c4f3ac0f91d6d0
+ checksum: 10/25017235e1e2c4ed892aa327a3fa10f4209cc618c6dd7806fc40c07d8d7d24a39743d3d5568b8d1c8f416cffe03c174e78874ded513c9338b07a7ab1dcbab050
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1"
+"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/97973982fff1bbf86b3d1df13380567042887c50e2ae13a400d02a8ff2c9742a60a75e279bfb73019e1cd9710f04be5e6ab81f896e6678dcfcec8b135e8896cf
+ checksum: 10/6c8c6a5988dbb9799d6027360d1a5ba64faabf551f2ef11ba4eade0c62253b5c85d44ddc8eb643c74b9acb2bcaa664a950bd5de9a5d4aef291c4f2a48223bb4b
languageName: node
linkType: hard
@@ -805,14 +657,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-jsx@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-jsx@npm:7.27.1"
+"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-jsx@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/c6d1324cff286a369aa95d99b8abd21dd07821b5d3affd5fe7d6058c84cff9190743287826463ee57a7beecd10fa1e4bc99061df532ee14e188c1c8937b13e3a
+ checksum: 10/572e38f5c1bb4b8124300e7e3dd13e82ae84a21f90d3f0786c98cd05e63c78ca1f32d1cfe462dfbaf5e7d5102fa7cd8fd741dfe4f3afc2e01a3b2877dcc8c866
languageName: node
linkType: hard
@@ -904,18 +756,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-typescript@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-syntax-typescript@npm:7.27.1"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 10/87836f7e32af624c2914c73cd6b9803cf324e07d43f61dbb973c6a86f75df725e12540d91fac7141c14b697aa9268fd064220998daced156e96ac3062d7afb41
- languageName: node
- linkType: hard
-
-"@babel/plugin-syntax-typescript@npm:^7.28.6":
+"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/plugin-syntax-typescript@npm:7.28.6"
dependencies:
@@ -949,29 +790,29 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.28.0":
- version: 7.28.0
- resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0"
+"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.29.0":
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-remap-async-to-generator": "npm:^7.27.1"
- "@babel/traverse": "npm:^7.28.0"
+ "@babel/traverse": "npm:^7.29.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/8ad31b9969b203dec572738a872e17b14ef76ca45b4ef5ffa76f3514be417ca233d1a0978e5f8de166412a8a745619eb22b07cc5df96f5ebad8ca500f920f61b
+ checksum: 10/e2c064a5eb212cbdf14f7c0113e069b845ca0f0ba431c1cc04607d3fc4f3bf1ed70f5c375fe7c61338a45db88bc1a79d270c8d633ce12256e1fce3666c1e6b93
languageName: node
linkType: hard
-"@babel/plugin-transform-async-to-generator@npm:^7.20.0, @babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1"
+"@babel/plugin-transform-async-to-generator@npm:^7.20.0, @babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6"
dependencies:
- "@babel/helper-module-imports": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-module-imports": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-remap-async-to-generator": "npm:^7.27.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/d79d7a7ae7d416f6a48200017d027a6ba94c09c7617eea8b4e9c803630f00094c1a4fc32bf20ce3282567824ce3fcbda51653aac4003c71ea4e681b331338979
+ checksum: 10/bca5774263ec01dd2bf71c74bbaf7baa183bf03576636b7826c3346be70c8c8cb15cff549112f2983c36885131a0afde6c443591278c281f733ee17f455aa9b1
languageName: node
linkType: hard
@@ -986,18 +827,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/plugin-transform-block-scoping@npm:7.28.5"
+"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/4b695360ede8472262111efb9d5c35b515767e1ead9e272c3e9799235e3f5feeb21d99a66bb23acbba9424465d13e7695a22a22a680c4aa558702ef8aad461d6
+ checksum: 10/7ab8a0856024a5360ba16c3569b739385e939bc5a15ad7d811bec8459361a9aa5ee7c5f154a4e2ce79f5d66779c19464e7532600c31a1b6f681db4eb7e1c7bde
languageName: node
linkType: hard
-"@babel/plugin-transform-class-properties@npm:7.27.1, @babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1":
+"@babel/plugin-transform-class-properties@npm:7.27.1":
version: 7.27.1
resolution: "@babel/plugin-transform-class-properties@npm:7.27.1"
dependencies:
@@ -1009,19 +850,31 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-class-static-block@npm:^7.27.1, @babel/plugin-transform-class-static-block@npm:^7.28.3":
- version: 7.28.3
- resolution: "@babel/plugin-transform-class-static-block@npm:7.28.3"
+"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-class-properties@npm:7.28.6"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.28.3"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/200f30d44b36a768fa3a8cf690db9e333996af2ad14d9fa1b4c91a427ed9302907873b219b4ce87517ca1014a810eb2e929a6a66be68473f72b546fc64d04fbc
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-class-static-block@npm:^7.27.1, @babel/plugin-transform-class-static-block@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6"
+ dependencies:
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.12.0
- checksum: 10/c0ba8f0cbf3699287e5a711907dab3b29f346d9c107faa4e424aa26252e45845d74ca08ee6245bfccf32a8c04bc1d07a89b635e51522592c6044b810a48d3f58
+ checksum: 10/bea7836846deefd02d9976ad1b30b5ade0d6329ecd92866db789dcf6aacfaf900b7a77031e25680f8de5ad636a771a5bdca8961361e6218d45d538ec5d9b71cc
languageName: node
linkType: hard
-"@babel/plugin-transform-classes@npm:7.28.4, @babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.4":
+"@babel/plugin-transform-classes@npm:7.28.4":
version: 7.28.4
resolution: "@babel/plugin-transform-classes@npm:7.28.4"
dependencies:
@@ -1037,19 +890,35 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1"
+"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-classes@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/template": "npm:^7.27.1"
+ "@babel/helper-annotate-as-pure": "npm:^7.27.3"
+ "@babel/helper-compilation-targets": "npm:^7.28.6"
+ "@babel/helper-globals": "npm:^7.28.0"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/helper-replace-supers": "npm:^7.28.6"
+ "@babel/traverse": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/101f6d4575447070943d5a9efaa5bea8c552ea3083d73a9612f1a16d38b0a0a7b79a5feb65c6cc4e4fcabf28e85a570b97ccd3294da966e8fbbb6dfb97220eda
+ checksum: 10/9c3278a314d1c4bcda792bb22aced20e30c735557daf9bcc56397c0f3eb54761b21c770219e4581036a10dabda3e597321ed093bc245d5f4d561e19ceff66a6d
languageName: node
linkType: hard
-"@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0, @babel/plugin-transform-destructuring@npm:^7.28.5":
+"@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/template": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/4a5e270f7e1f1e9787cf7cf133d48e3c1e38eb935d29a90331a1324d7c720f589b7b626b2e6485cd5521a7a13f2dbdc89a3e46ecbe7213d5bbb631175267c4aa
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.5":
version: 7.28.5
resolution: "@babel/plugin-transform-destructuring@npm:7.28.5"
dependencies:
@@ -1061,15 +930,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-dotall-regex@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1"
+"@babel/plugin-transform-dotall-regex@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/2173e5b13f403538ffc6bd57b190cedf4caf320abc13a99e5b2721864e7148dbd3bd7c82d92377136af80432818f665fdd9a1fd33bc5549a4c91e24e5ce2413c
+ checksum: 10/866ffbbdee77fa955063b37c75593db8dbbe46b1ebb64cc788ea437e3a9aa41cb7b9afcee617c678a32b6705baa0892ec8e5d4b8af3bbb0ab1b254514ccdbd37
languageName: node
linkType: hard
@@ -1084,15 +953,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1"
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0":
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/2a109613535e6ac79240dced71429e988affd6a5b3d0cd0f563c8d6c208c51ce7bf2c300bc1150502376b26a51f279119b3358f1c0f2d2f8abca3bcd62e1ae46
+ checksum: 10/7fa7b773259a578c9e01c80946f75ecc074520064aa7a87a65db06c7df70766e2fa6be78cda55fa9418a14e30b2b9d595484a46db48074d495d9f877a4276065
languageName: node
linkType: hard
@@ -1107,26 +976,26 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0":
- version: 7.28.0
- resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0"
+"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/plugin-transform-destructuring": "npm:^7.28.0"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/plugin-transform-destructuring": "npm:^7.28.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/93d7835160bf8623c7b7072898046c9a2a46cf911f38fa2a002de40a11045a65bf9c1663c98f2e4e04615037f63391832c20b45d7bc26a16d39a97995d0669bc
+ checksum: 10/36d638a253dbdaee5548b4ddd21c04ee4e39914b207437bb64cf79bb41c2caadb4321768d3dba308c1016702649bc44efe751e2052de393004563c7376210d86
languageName: node
linkType: hard
-"@babel/plugin-transform-exponentiation-operator@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.5"
+"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/da9bb5acd35c9fba92b802641f9462b82334158a149c78a739a04576a1e62be41057a201a41c022dda263bb73ac1a26521bbc997c7fc067f54d487af297995f4
+ checksum: 10/b232152499370435c7cd4bf3321f58e189150e35ca3722ea16533d33434b97294df1342f5499671ec48e62b71c34cdea0ca8cf317ad12594a10f6fc670315e62
languageName: node
linkType: hard
@@ -1178,14 +1047,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-json-strings@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-json-strings@npm:7.27.1"
+"@babel/plugin-transform-json-strings@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-json-strings@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/2c05a02f63b49f47069271b3405a66c3c8038de5b995b0700b1bd9a5e2bb3e67abd01e4604629302a521f4d8122a4233944aefa16559fd4373d256cc5d3da57f
+ checksum: 10/69d82a1a0a72ed6e6f7969e09cf330516599d79b2b4e680e9dd3c57616a8c6af049b5103456e370ab56642815e80e46ed88bb81e9e059304a85c5fe0bf137c29
languageName: node
linkType: hard
@@ -1200,14 +1069,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.5"
+"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/c76778f4b186cc4f0b7e3658d91c690678bdb2b9d032f189213016d6177f2564709b79b386523b022b7d52e52331fd91f280f7c7bf85d835e0758b4b0d371447
+ checksum: 10/36095d5d1cfc680e95298b5389a16016da800ae3379b130dabf557e94652c47b06610407e9fa44aaa03e9b0a5aa7b4b93348123985d44a45e369bf5f3497d149
languageName: node
linkType: hard
@@ -1234,29 +1103,29 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1"
+"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1, @babel/plugin-transform-modules-commonjs@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-module-transforms": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/9059243a977bc1f13e3dccfc6feb6508890e7c7bb191f7eb56626b20672b4b12338051ca835ab55426875a473181502c8f35b4df58ba251bef63b25866d995fe
+ checksum: 10/ec6ea2958e778a7e0220f4a75cb5816cecddc6bd98efa10499fff7baabaa29a594d50d787a4ebf8a8ba66fefcf76ca2ded602be0b4554ae3317e53b3b3375b37
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-systemjs@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/plugin-transform-modules-systemjs@npm:7.28.5"
+"@babel/plugin-transform-modules-systemjs@npm:^7.29.0":
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.0"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.28.3"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-module-transforms": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-validator-identifier": "npm:^7.28.5"
- "@babel/traverse": "npm:^7.28.5"
+ "@babel/traverse": "npm:^7.29.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/1b91b4848845eaf6e21663d97a2a6c896553b127deaf3c2e9a2a4f041249277d13ebf71fd42d0ecbc4385e9f76093eff592fe0da0dcf1401b3f38c1615d8c539
+ checksum: 10/b3e64728eef02d829510778226da4c06be740fe52e0d45d4aa68b24083096d8ad7df67f2e9e67198b2e85f3237d42bd66f5771f85846f7a746105d05ca2e0cae
languageName: node
linkType: hard
@@ -1272,15 +1141,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.0.0, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1"
+"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.0.0, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0":
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/a711c92d9753df26cefc1792481e5cbff4fe4f32b383d76b25e36fa865d8023b1b9aa6338cf18f5c0e864c71a7fbe8115e840872ccd61a914d9953849c68de7d
+ checksum: 10/ed8c27699ca82a6c01cbfd39f3de16b90cfea4f8146a358057f76df290d308a66a8bd2e6734e6a87f68c18576e15d2d70548a84cd474d26fdf256c3f5ae44d8c
languageName: node
linkType: hard
@@ -1295,7 +1164,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1":
+"@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1":
version: 7.27.1
resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1"
dependencies:
@@ -1306,29 +1175,40 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1"
+"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/049b958911de86d32408cd78017940a207e49c054ae9534ab53a32a57122cc592c0aae3c166d6f29bd1a7d75cc779d71883582dd76cb28b2fbb493e842d8ffca
+ checksum: 10/88106952ca4f4fea8f97222a25f9595c6859d458d76905845dfa54f54e7d345e3dc338932e8c84a9c57a6c88b2f6d9ebff47130ce508a49c2b6e6a9f03858750
languageName: node
linkType: hard
-"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.4":
- version: 7.28.4
- resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.4"
+"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.27.2"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/plugin-transform-destructuring": "npm:^7.28.0"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/4b5ca60e481e22f0842761a3badca17376a230b5a7e5482338604eb95836c2d0c9c9bde53bdc5c2de1c6a12ae6c12de7464d098bf74b0943f85905ca358f0b68
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6"
+ dependencies:
+ "@babel/helper-compilation-targets": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/plugin-transform-destructuring": "npm:^7.28.5"
"@babel/plugin-transform-parameters": "npm:^7.27.7"
- "@babel/traverse": "npm:^7.28.4"
+ "@babel/traverse": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/aebe464e368cefa5c3ba40316c47b61eb25f891d436b2241021efef5bd0b473c4aa5ba4b9fa0f4b4d5ce4f6bc6b727628d1ca79d54e7b8deebb5369f7dff2984
+ checksum: 10/9c8c51a515a5ec98a33a715e82d49f873e58b04b53fa1e826f3c2009f7133cd396d6730553a53d265e096dbfbea17dd100ae38815d0b506c094cb316a7a5519e
languageName: node
linkType: hard
@@ -1344,14 +1224,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1"
+"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/f4356b04cf21a98480f9788ea50f1f13ee88e89bb6393ba4b84d1f39a4a84c7928c9a4328e8f4c5b6deb218da68a8fd17bf4f46faec7653ddc20ffaaa5ba49f4
+ checksum: 10/ee24a17defec056eb9ef01824d7e4a1f65d531af6b4b79acfd0bcb95ce0b47926e80c61897f36f8c01ce733b069c9acdb1c9ce5ec07a729d0dbf9e8d859fe992
languageName: node
linkType: hard
@@ -1367,15 +1247,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.5"
+"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/0bc900bff66d5acc13b057107eaeb6084b4cb0b124654d35b103f71f292d33dba5beac444ab4f92528583585b6e0cf34d64ce9cbb473b15d22375a4a6ed3cbac
+ checksum: 10/c7cf29f99384a9a98748f04489a122c0106e0316aa64a2e61ef8af74c1057b587b96d9a08eb4e33d2ac17d1aaff1f0a86fae658d429fa7bcce4ef977e0ad684b
languageName: node
linkType: hard
@@ -1390,28 +1270,28 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-private-methods@npm:7.27.1"
+"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-private-methods@npm:7.28.6"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/c76f8f6056946466116e67eb9d8014a2d748ade2062636ab82045c1dac9c233aff10e597777bc5af6f26428beb845ceb41b95007abef7d0484da95789da56662
+ checksum: 10/b80179b28f6a165674d0b0d6c6349b13a01dd282b18f56933423c0a33c23fc0626c8f011f859fc20737d021fe966eb8474a5233e4596401482e9ee7fb00e2aa2
languageName: node
linkType: hard
-"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1"
+"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.27.1"
- "@babel/helper-create-class-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-annotate-as-pure": "npm:^7.27.3"
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/d4466d42a02c5a318d9d7b8102969fd032b17ff044918dfd462d5cc49bd11f5773ee0794781702afdf4727ba11e9be6cbea1e396bc0a7307761bb9a56399012a
+ checksum: 10/d02008c62fd32ff747b850b8581ab5076b717320e1cb01c7fc66ebf5169095bd922e18cfb269992f85bc7fbd2cc61e5b5af25e2b54aad67411474b789ea94d5f
languageName: node
linkType: hard
@@ -1471,17 +1351,17 @@ __metadata:
linkType: hard
"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1"
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.27.1"
- "@babel/helper-module-imports": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/plugin-syntax-jsx": "npm:^7.27.1"
- "@babel/types": "npm:^7.27.1"
+ "@babel/helper-annotate-as-pure": "npm:^7.27.3"
+ "@babel/helper-module-imports": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/plugin-syntax-jsx": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/e865f194770906398957df23530af9a46009ac3737aaa10026b3925fe0a38fc3254f4b227d3b8807ab66ac92c14323bef561dd2217644052de5a9702af76e2f6
+ checksum: 10/c6eade7309f0710b6aac9e747f8c3305633801c035a35efc5e2436742cc466e457ed5848d3dd5dade36e34332cfc50ac92d69a33f7803d66ae2d72f13a76c3bc
languageName: node
linkType: hard
@@ -1497,26 +1377,26 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.28.4":
- version: 7.28.4
- resolution: "@babel/plugin-transform-regenerator@npm:7.28.4"
+"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.29.0":
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-regenerator@npm:7.29.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/24da51a659d882e02bd4353da9d8e045e58d967c1cddaf985ad699a9fc9f920a45eff421c4283a248d83dc16590b8956e66fd710be5db8723b274cfea0b51b2f
+ checksum: 10/c8fa9da74371568c5d34fd7d53de018752550cb10334040ca59e41f34b27f127974bdc5b4d1a1a8e8f3ebcf3cb7f650aa3f2df3b7bf1b7edf67c04493b9e3cb8
languageName: node
linkType: hard
-"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1"
+"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/f6cb385fe0e798bff7e9b20cf5912bf40e180895ff3610b1ccdce260f3c20daaebb3a99dc087c8168a99151cd3e16b94f4689fd5a4b01cf1834b45c133e620b2
+ checksum: 10/5aacc570034c085afa0165137bb9a04cd4299b86eb9092933a96dcc1132c8f591d9d534419988f5f762b2f70d43a3c719a6b8fa05fdd3b2b1820d01cf85500da
languageName: node
linkType: hard
@@ -1532,18 +1412,18 @@ __metadata:
linkType: hard
"@babel/plugin-transform-runtime@npm:^7.0.0, @babel/plugin-transform-runtime@npm:^7.24.7":
- version: 7.28.5
- resolution: "@babel/plugin-transform-runtime@npm:7.28.5"
+ version: 7.29.0
+ resolution: "@babel/plugin-transform-runtime@npm:7.29.0"
dependencies:
- "@babel/helper-module-imports": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-module-imports": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
babel-plugin-polyfill-corejs2: "npm:^0.4.14"
babel-plugin-polyfill-corejs3: "npm:^0.13.0"
babel-plugin-polyfill-regenerator: "npm:^0.6.5"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/0d16c90d40dd34f1a981e742ad656ceef619b92d3662ec9ac8d7c8ba79f22bb425c3f9e097333659a4938f03868a53077b1a3aadb7f37504157a0c7af64ec2be
+ checksum: 10/314cfede923a7fb3aeecf4b282a3090e4a9ae1d84005e9a0365284c5142165a4dccd308455af9013d486a4ad8ada25ccad2fea28c2ec19b086d1ffa0088a69d7
languageName: node
linkType: hard
@@ -1558,15 +1438,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-spread@npm:7.27.1"
+"@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-spread@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/3edd28b07e1951f32aa2d380d9a0e0ed408c64a5cea2921d02308541042aca18f146b3a61e82e534d4d61cb3225dbc847f4f063aedfff6230b1a41282e95e8a2
+ checksum: 10/1fa02ac60ae5e49d46fa2966aaf3f7578cf37255534c2ecf379d65855088a1623c3eea28b9ee6a0b1413b0199b51f9019d0da3fe9da89986bc47e07242415f60
languageName: node
linkType: hard
@@ -1614,22 +1494,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.28.5, @babel/plugin-transform-typescript@npm:^7.5.0":
- version: 7.28.5
- resolution: "@babel/plugin-transform-typescript@npm:7.28.5"
- dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.27.3"
- "@babel/helper-create-class-features-plugin": "npm:^7.28.5"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
- "@babel/plugin-syntax-typescript": "npm:^7.27.1"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 10/e4706379df70c2de9d3d3f573ff74a160e05221620a22dd0a64899ab45fddad9e4530fbba33014c75906f13aa78d8044fed80dba85068e11d84ed1f033dea445
- languageName: node
- linkType: hard
-
-"@babel/plugin-transform-typescript@npm:^7.27.1":
+"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.27.1, @babel/plugin-transform-typescript@npm:^7.28.5, @babel/plugin-transform-typescript@npm:^7.5.0":
version: 7.28.6
resolution: "@babel/plugin-transform-typescript@npm:7.28.6"
dependencies:
@@ -1655,15 +1520,15 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1"
+"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/5d99c89537d1ebaac3f526c04b162cf95a47d363d4829f78c6701a2c06ab78a48da66a94f853f85f44a3d72153410ba923e072bed4b7166fa097f503eb14131d
+ checksum: 10/d14e8c51aa73f592575c1543400fd67d96df6410d75c9dc10dd640fd7eecb37366a2f2368bbdd7529842532eda4af181c921bda95146c6d373c64ea59c6e9991
languageName: node
linkType: hard
@@ -1679,95 +1544,95 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1"
+"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/295126074c7388ab05c82ef3ed0907a1ee4666bbdd763477ead9aba6eb2c74bdf65669416861ac93d337a4a27640963bb214acadc2697275ce95aab14868d57f
+ checksum: 10/423971fe2eef9d18782b1c30f5f42613ee510e5b9c08760c5538a0997b36c34495acce261e0e37a27831f81330359230bd1f33c2e1822de70241002b45b7d68e
languageName: node
linkType: hard
"@babel/preset-env@npm:^7.25.2":
- version: 7.28.5
- resolution: "@babel/preset-env@npm:7.28.5"
+ version: 7.29.0
+ resolution: "@babel/preset-env@npm:7.29.0"
dependencies:
- "@babel/compat-data": "npm:^7.28.5"
- "@babel/helper-compilation-targets": "npm:^7.27.2"
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/compat-data": "npm:^7.29.0"
+ "@babel/helper-compilation-targets": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
"@babel/helper-validator-option": "npm:^7.27.1"
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5"
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.3"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6"
"@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2"
- "@babel/plugin-syntax-import-assertions": "npm:^7.27.1"
- "@babel/plugin-syntax-import-attributes": "npm:^7.27.1"
+ "@babel/plugin-syntax-import-assertions": "npm:^7.28.6"
+ "@babel/plugin-syntax-import-attributes": "npm:^7.28.6"
"@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
"@babel/plugin-transform-arrow-functions": "npm:^7.27.1"
- "@babel/plugin-transform-async-generator-functions": "npm:^7.28.0"
- "@babel/plugin-transform-async-to-generator": "npm:^7.27.1"
+ "@babel/plugin-transform-async-generator-functions": "npm:^7.29.0"
+ "@babel/plugin-transform-async-to-generator": "npm:^7.28.6"
"@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1"
- "@babel/plugin-transform-block-scoping": "npm:^7.28.5"
- "@babel/plugin-transform-class-properties": "npm:^7.27.1"
- "@babel/plugin-transform-class-static-block": "npm:^7.28.3"
- "@babel/plugin-transform-classes": "npm:^7.28.4"
- "@babel/plugin-transform-computed-properties": "npm:^7.27.1"
+ "@babel/plugin-transform-block-scoping": "npm:^7.28.6"
+ "@babel/plugin-transform-class-properties": "npm:^7.28.6"
+ "@babel/plugin-transform-class-static-block": "npm:^7.28.6"
+ "@babel/plugin-transform-classes": "npm:^7.28.6"
+ "@babel/plugin-transform-computed-properties": "npm:^7.28.6"
"@babel/plugin-transform-destructuring": "npm:^7.28.5"
- "@babel/plugin-transform-dotall-regex": "npm:^7.27.1"
+ "@babel/plugin-transform-dotall-regex": "npm:^7.28.6"
"@babel/plugin-transform-duplicate-keys": "npm:^7.27.1"
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.29.0"
"@babel/plugin-transform-dynamic-import": "npm:^7.27.1"
- "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.0"
- "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.5"
+ "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6"
+ "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6"
"@babel/plugin-transform-export-namespace-from": "npm:^7.27.1"
"@babel/plugin-transform-for-of": "npm:^7.27.1"
"@babel/plugin-transform-function-name": "npm:^7.27.1"
- "@babel/plugin-transform-json-strings": "npm:^7.27.1"
+ "@babel/plugin-transform-json-strings": "npm:^7.28.6"
"@babel/plugin-transform-literals": "npm:^7.27.1"
- "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.5"
+ "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6"
"@babel/plugin-transform-member-expression-literals": "npm:^7.27.1"
"@babel/plugin-transform-modules-amd": "npm:^7.27.1"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1"
- "@babel/plugin-transform-modules-systemjs": "npm:^7.28.5"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6"
+ "@babel/plugin-transform-modules-systemjs": "npm:^7.29.0"
"@babel/plugin-transform-modules-umd": "npm:^7.27.1"
- "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.29.0"
"@babel/plugin-transform-new-target": "npm:^7.27.1"
- "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1"
- "@babel/plugin-transform-numeric-separator": "npm:^7.27.1"
- "@babel/plugin-transform-object-rest-spread": "npm:^7.28.4"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6"
+ "@babel/plugin-transform-numeric-separator": "npm:^7.28.6"
+ "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6"
"@babel/plugin-transform-object-super": "npm:^7.27.1"
- "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1"
- "@babel/plugin-transform-optional-chaining": "npm:^7.28.5"
+ "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.28.6"
"@babel/plugin-transform-parameters": "npm:^7.27.7"
- "@babel/plugin-transform-private-methods": "npm:^7.27.1"
- "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1"
+ "@babel/plugin-transform-private-methods": "npm:^7.28.6"
+ "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6"
"@babel/plugin-transform-property-literals": "npm:^7.27.1"
- "@babel/plugin-transform-regenerator": "npm:^7.28.4"
- "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1"
+ "@babel/plugin-transform-regenerator": "npm:^7.29.0"
+ "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6"
"@babel/plugin-transform-reserved-words": "npm:^7.27.1"
"@babel/plugin-transform-shorthand-properties": "npm:^7.27.1"
- "@babel/plugin-transform-spread": "npm:^7.27.1"
+ "@babel/plugin-transform-spread": "npm:^7.28.6"
"@babel/plugin-transform-sticky-regex": "npm:^7.27.1"
"@babel/plugin-transform-template-literals": "npm:^7.27.1"
"@babel/plugin-transform-typeof-symbol": "npm:^7.27.1"
"@babel/plugin-transform-unicode-escapes": "npm:^7.27.1"
- "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6"
"@babel/plugin-transform-unicode-regex": "npm:^7.27.1"
- "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6"
"@babel/preset-modules": "npm:0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2: "npm:^0.4.14"
- babel-plugin-polyfill-corejs3: "npm:^0.13.0"
- babel-plugin-polyfill-regenerator: "npm:^0.6.5"
- core-js-compat: "npm:^3.43.0"
+ babel-plugin-polyfill-corejs2: "npm:^0.4.15"
+ babel-plugin-polyfill-corejs3: "npm:^0.14.0"
+ babel-plugin-polyfill-regenerator: "npm:^0.6.6"
+ core-js-compat: "npm:^3.48.0"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10/e9a5136a7e34553cc70dd6594716144678a2e9ecc971caf6885c380c38fcbed8b387f3af418c9aa4b2d2765964bb4e8a2e14b709c2f165eec6ed13bda32587ea
+ checksum: 10/211b33ec8644636275f61aa273071d8cbc2a6bb28d82ad246e3831a6aa7d96c610a55b5140bcd21be7f71fb04c3aa4a10eb08665fb5505e153cfdd8dbc8c1c1c
languageName: node
linkType: hard
@@ -1831,24 +1696,13 @@ __metadata:
linkType: hard
"@babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.25.0":
- version: 7.28.4
- resolution: "@babel/runtime@npm:7.28.4"
- checksum: 10/6c9a70452322ea80b3c9b2a412bcf60771819213a67576c8cec41e88a95bb7bf01fc983754cda35dc19603eef52df22203ccbf7777b9d6316932f9fb77c25163
- languageName: node
- linkType: hard
-
-"@babel/template@npm:^7.0.0, @babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3":
- version: 7.27.2
- resolution: "@babel/template@npm:7.27.2"
- dependencies:
- "@babel/code-frame": "npm:^7.27.1"
- "@babel/parser": "npm:^7.27.2"
- "@babel/types": "npm:^7.27.1"
- checksum: 10/fed15a84beb0b9340e5f81566600dbee5eccd92e4b9cc42a944359b1aa1082373391d9d5fc3656981dff27233ec935d0bc96453cf507f60a4b079463999244d8
+ version: 7.28.6
+ resolution: "@babel/runtime@npm:7.28.6"
+ checksum: 10/fbcd439cb74d4a681958eb064c509829e3f46d8a4bfaaf441baa81bb6733d1e680bccc676c813883d7741bcaada1d0d04b15aa320ef280b5734e2192b50decf9
languageName: node
linkType: hard
-"@babel/template@npm:^7.28.6":
+"@babel/template@npm:^7.0.0, @babel/template@npm:^7.25.0, @babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3":
version: 7.28.6
resolution: "@babel/template@npm:7.28.6"
dependencies:
@@ -1859,22 +1713,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5":
- version: 7.28.5
- resolution: "@babel/traverse@npm:7.28.5"
- dependencies:
- "@babel/code-frame": "npm:^7.27.1"
- "@babel/generator": "npm:^7.28.5"
- "@babel/helper-globals": "npm:^7.28.0"
- "@babel/parser": "npm:^7.28.5"
- "@babel/template": "npm:^7.27.2"
- "@babel/types": "npm:^7.28.5"
- debug: "npm:^4.3.1"
- checksum: 10/1fce426f5ea494913c40f33298ce219708e703f71cac7ac045ebde64b5a7b17b9275dfa4e05fb92c3f123136913dff62c8113172f4a5de66dab566123dbe7437
- languageName: node
- linkType: hard
-
-"@babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0":
+"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/traverse@npm:7.29.0"
dependencies:
@@ -1889,17 +1728,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
- version: 7.28.5
- resolution: "@babel/types@npm:7.28.5"
- dependencies:
- "@babel/helper-string-parser": "npm:^7.27.1"
- "@babel/helper-validator-identifier": "npm:^7.28.5"
- checksum: 10/4256bb9fb2298c4f9b320bde56e625b7091ea8d2433d98dcf524d4086150da0b6555aabd7d0725162670614a9ac5bf036d1134ca13dedc9707f988670f1362d7
- languageName: node
- linkType: hard
-
-"@babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0":
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
version: 7.29.0
resolution: "@babel/types@npm:7.29.0"
dependencies:
@@ -2036,9 +1865,9 @@ __metadata:
linkType: hard
"@cspell/dict-aws@npm:^4.0.10":
- version: 4.0.16
- resolution: "@cspell/dict-aws@npm:4.0.16"
- checksum: 10/2b2e48a2d06f9c91b9422428247ae265c7b226bec98ec675d743193c1bbe2244c2fc48e97fe109cee7db0619cfe51ea9c0d319602b2c5c483a89eeaa610bc779
+ version: 4.0.17
+ resolution: "@cspell/dict-aws@npm:4.0.17"
+ checksum: 10/9f724e385ffe76a04cb3cd081bf301191c56b31273f5619507ca6baabf8fa00fbe27571d66e89016cd0bbc68cbf97a9920b5247e90e73a60e2eeedb87e1b86c6
languageName: node
linkType: hard
@@ -2052,9 +1881,9 @@ __metadata:
linkType: hard
"@cspell/dict-companies@npm:^3.1.15":
- version: 3.2.7
- resolution: "@cspell/dict-companies@npm:3.2.7"
- checksum: 10/b2754f6328c11d9d17ddbaa217a358280cf5a2b73378e161e62f70c50d51a67d456b6bdaedd63af8024cae52bca96b27a7d052d718d4449de47b2b01113e629b
+ version: 3.2.10
+ resolution: "@cspell/dict-companies@npm:3.2.10"
+ checksum: 10/e3e6be70cef9be8fa7da86ed2ce1150545062175f6335d30de9bcac2cf509fbfa82d5428333129be823698870df48f78abbff4c6ee50b465efb1951adaa4cdf3
languageName: node
linkType: hard
@@ -2073,51 +1902,51 @@ __metadata:
linkType: hard
"@cspell/dict-csharp@npm:^4.0.6":
- version: 4.0.7
- resolution: "@cspell/dict-csharp@npm:4.0.7"
- checksum: 10/bfc429fc40585905a1b8754eaf1c70fd59911250364bc8ec5f1ce81dfb38cfb27421a8ed4052d81b40832dfb26de8d4e63656a200c5a6459ad0fa9da8e8bb6ae
+ version: 4.0.8
+ resolution: "@cspell/dict-csharp@npm:4.0.8"
+ checksum: 10/5acb41c32cdce8c3bda7ea74dfb833db92c403813a57373b8781d4aaede005be1342ad946a16139d47162f2405b90869eee477fc033b7cc10d731bb3ff9547db
languageName: node
linkType: hard
"@cspell/dict-css@npm:^4.0.17":
- version: 4.0.18
- resolution: "@cspell/dict-css@npm:4.0.18"
- checksum: 10/1d829b7e2b3bb7bea5daca179d4de847b7aac761a68984783b226132c986e42504cf4d6410ae69b3103afa4779859c2860810b5373d6bc80709637128c7d397c
+ version: 4.0.19
+ resolution: "@cspell/dict-css@npm:4.0.19"
+ checksum: 10/293edf2d26b33d85ea5828b499e77e5a6a471f7c8ac754adf7c574dac62363f10d46d1de47afc20b8904554212834b671bbd8e98669e59908856ca1c46c787db
languageName: node
linkType: hard
"@cspell/dict-dart@npm:^2.3.0":
- version: 2.3.1
- resolution: "@cspell/dict-dart@npm:2.3.1"
- checksum: 10/79764a0499a0267c34febc368ae8dfb47ebe58a79373e48070581a3a8095102a71e8cb88711b7dd431ca559d0d0554803ca2d53051e325903459a670f56c984f
+ version: 2.3.2
+ resolution: "@cspell/dict-dart@npm:2.3.2"
+ checksum: 10/d4bf20c272110ad6537824199de1224447b798abf225fd3af2b73d8eca4d9e64eac3c2580940d93b07d74744d8e35aea7f2f547ac3ef3e73b0499bf36bb50f74
languageName: node
linkType: hard
-"@cspell/dict-data-science@npm:^2.0.12, @cspell/dict-data-science@npm:^2.0.8":
- version: 2.0.12
- resolution: "@cspell/dict-data-science@npm:2.0.12"
- checksum: 10/2eb3492c9de93a5fea57f81bb3daac80c5174dbac5ae981782d27b56438fbc10d96a06973fa07051e5eaf8489a5ce02c37dce5158d601388d5df85c6c0a2b055
+"@cspell/dict-data-science@npm:^2.0.13, @cspell/dict-data-science@npm:^2.0.8":
+ version: 2.0.13
+ resolution: "@cspell/dict-data-science@npm:2.0.13"
+ checksum: 10/d5aee1a87dace4a401ebe7d9327773a8b21f1e0ae5ce4307f302d60857539f964de334a98c772d6dd88c60e3f3056b9bdd3774fe1bcacb2dbaca9160aef52725
languageName: node
linkType: hard
"@cspell/dict-django@npm:^4.1.4":
- version: 4.1.5
- resolution: "@cspell/dict-django@npm:4.1.5"
- checksum: 10/cc0181e0e8e9ede5b4efc11c5a141cf54122721b204c956a7e270573adf1e8ca14e6f80e51b5c071154da17188056b5f4cc3da1f68f84ff2162b62abef3e3ebc
+ version: 4.1.6
+ resolution: "@cspell/dict-django@npm:4.1.6"
+ checksum: 10/0898787758a64de3a9b9a74febc1e789de30e01403c3c87fe4d99ce992419113297a4a6ddf982c3504f51c4382dd60467288da63cc87e27506f3daba8c03b15a
languageName: node
linkType: hard
"@cspell/dict-docker@npm:^1.1.13":
- version: 1.1.16
- resolution: "@cspell/dict-docker@npm:1.1.16"
- checksum: 10/dc126d94203fa23c0a9d1466fa634b1ee4b4770d5762dbbbc868198318cf8d860de26d1632700a3e613eb81d27d0e46c72cbf74ba0cca5cca0032dbf056ae472
+ version: 1.1.17
+ resolution: "@cspell/dict-docker@npm:1.1.17"
+ checksum: 10/438cc04e0ebcab53b49cecee7ae02c743733b8ec7df4b75075c31574f764aa60353a3cb0db3fb8c80271339d4fc0c1d05864bb6b1ac14891cacfd4098f0b0dce
languageName: node
linkType: hard
"@cspell/dict-dotnet@npm:^5.0.9":
- version: 5.0.10
- resolution: "@cspell/dict-dotnet@npm:5.0.10"
- checksum: 10/ce9d101cfd1af390e49ac114dd576172a932e95a5e4590289a246477ff6d14711efa5dd794188affed13c45050e0ecda4cf95cd26019c5c04dce33580effdc88
+ version: 5.0.12
+ resolution: "@cspell/dict-dotnet@npm:5.0.12"
+ checksum: 10/a49d2f284ce3c3209b9a121dbae174121dc4285300fd8f3babb69da38d2edbabffcbf4c6029e598a2a760be14c29805f57f81c49909ffaa3a3416f0358eb512f
languageName: node
linkType: hard
@@ -2129,9 +1958,9 @@ __metadata:
linkType: hard
"@cspell/dict-en-common-misspellings@npm:^2.0.10":
- version: 2.1.8
- resolution: "@cspell/dict-en-common-misspellings@npm:2.1.8"
- checksum: 10/fe8764a14b28269956650092eea34df94ce4e903ff5178e3a504283414cc2ae3b2afc2e2716317d2adde6fe13bc5189eae3577901921f5ef462af1ac2a898b8c
+ version: 2.1.12
+ resolution: "@cspell/dict-en-common-misspellings@npm:2.1.12"
+ checksum: 10/2f3d608c241694c673cfd0191274554270c82ca18953d84a3224fe7122fe5cb68261ab06f13ff90466266da4835ce1a2f266790f67a19b8f2f1928b3a1d22354
languageName: node
linkType: hard
@@ -2143,16 +1972,16 @@ __metadata:
linkType: hard
"@cspell/dict-en_us@npm:^4.4.3":
- version: 4.4.24
- resolution: "@cspell/dict-en_us@npm:4.4.24"
- checksum: 10/b7a6525d5c6153610e8722266d7d8cbbf4818c741992977a4b8099b0ff7196824b2bb509deba9de66fc2414479bfc4db2f41640e9748e048edd99058aaae2a42
+ version: 4.4.29
+ resolution: "@cspell/dict-en_us@npm:4.4.29"
+ checksum: 10/537f254cb34484f6b44a9c935ad8ad32924c950b338c23ee2494c26a65b8eb06cfa16452ef5bf3102322ec4be3a55563a582d8efd3f651b64c41b5ee16f90738
languageName: node
linkType: hard
"@cspell/dict-filetypes@npm:^3.0.11":
- version: 3.0.14
- resolution: "@cspell/dict-filetypes@npm:3.0.14"
- checksum: 10/545eee0cb4a80491a1fbb03b964d31569379a775528b090c992ba72d3ae6fe4dfae5c484b5a50226f8e52979238875476c688937096486bebfa0c8f3a72da499
+ version: 3.0.16
+ resolution: "@cspell/dict-filetypes@npm:3.0.16"
+ checksum: 10/30f05d175b96cd4bb6d9504af929255987aa922e29223eb3fc00c712a375c0843903935b8c648fe514011904386b7c652ac87a197aa8b65f47695a6e96d3e293
languageName: node
linkType: hard
@@ -2178,9 +2007,9 @@ __metadata:
linkType: hard
"@cspell/dict-fullstack@npm:^3.2.6":
- version: 3.2.7
- resolution: "@cspell/dict-fullstack@npm:3.2.7"
- checksum: 10/cdb69a00663a34cb611c8f3e8f26651a0aa8e50d59de6ebb85724cfdd239382398ca35636bbe64f3573e1da795c15ace297dbf47cb83747439b109f16bab593d
+ version: 3.2.8
+ resolution: "@cspell/dict-fullstack@npm:3.2.8"
+ checksum: 10/d38cd753542866308ef31b586bc2b58777ff1b08dc094256cebe10b31acf2820614966c3e3391897ea3f5a1958b80499743495fa9b33a0be034070ae21f87781
languageName: node
linkType: hard
@@ -2192,16 +2021,16 @@ __metadata:
linkType: hard
"@cspell/dict-git@npm:^3.0.4":
- version: 3.0.7
- resolution: "@cspell/dict-git@npm:3.0.7"
- checksum: 10/bf88770be43c1bd4c2bea6737edd20939a78b7c0e9ff28e06490394f056637a27f49a6716e0f6ed845eaf2fc1afa85d4bd7cfafb56e3d4dfeb491b49669fd376
+ version: 3.1.0
+ resolution: "@cspell/dict-git@npm:3.1.0"
+ checksum: 10/d64ac12882bfff6f02755bf4eaf47d9e340edcf36867a83d5df106dba6e13ab7ccc519c48f12f8312324a4ac674ff468a8499b4ebd9cf264af97f545597614eb
languageName: node
linkType: hard
"@cspell/dict-golang@npm:^6.0.20":
- version: 6.0.24
- resolution: "@cspell/dict-golang@npm:6.0.24"
- checksum: 10/4c1b4ac025d389759458ab31e73b9cb7a84fa54147f97a71b93f06e69330d9b02af1ba36a4828af1891049e3bb11f659f2c2da53a947dbfe0235ed1d5d26faed
+ version: 6.0.26
+ resolution: "@cspell/dict-golang@npm:6.0.26"
+ checksum: 10/b229f7e5b78b2839eed501e37719546cee787426f323a4a62feaec1db15422482b8b4d97a126c0c6342c2bf1c6f6dc12ac4e05aa245de4b768c5753d2affe9d4
languageName: node
linkType: hard
@@ -2220,16 +2049,16 @@ __metadata:
linkType: hard
"@cspell/dict-html-symbol-entities@npm:^4.0.3":
- version: 4.0.4
- resolution: "@cspell/dict-html-symbol-entities@npm:4.0.4"
- checksum: 10/1898fc84496526e9c54e125369f3c87412839aee3e00da8aee3fee1c1165d4f2e7944833398b08f07ee58e817999af462f254e9ce06b06323fd665cbe6d01a3e
+ version: 4.0.5
+ resolution: "@cspell/dict-html-symbol-entities@npm:4.0.5"
+ checksum: 10/050f57152c873bf9725dfec3e7c6b6ce6a0c178ee084fcad48be186bcc965caabf10462d47fc3c9adcae8d5d8d91dc3cf739ab913d2ed7f5f50abec215e9851b
languageName: node
linkType: hard
"@cspell/dict-html@npm:^4.0.11":
- version: 4.0.13
- resolution: "@cspell/dict-html@npm:4.0.13"
- checksum: 10/856a73c5888d1d4904c9403f7852ec5ab9ac1fb8683af838c5be136691095739f892110974f4266c68f61f51c377b907d0404b532523cbf83ed2b38d330dfd2f
+ version: 4.0.14
+ resolution: "@cspell/dict-html@npm:4.0.14"
+ checksum: 10/b6047177b6012d467926c27777391cc3f6ebc522c6f4dce01e58a8100dfac61d5cecefc59ba5994728d41c7480d7c9d994d0f8673197740526f6afbed544094a
languageName: node
linkType: hard
@@ -2290,42 +2119,42 @@ __metadata:
linkType: hard
"@cspell/dict-markdown@npm:^2.0.10":
- version: 2.0.13
- resolution: "@cspell/dict-markdown@npm:2.0.13"
+ version: 2.0.14
+ resolution: "@cspell/dict-markdown@npm:2.0.14"
peerDependencies:
- "@cspell/dict-css": ^4.0.18
- "@cspell/dict-html": ^4.0.13
- "@cspell/dict-html-symbol-entities": ^4.0.4
+ "@cspell/dict-css": ^4.0.19
+ "@cspell/dict-html": ^4.0.14
+ "@cspell/dict-html-symbol-entities": ^4.0.5
"@cspell/dict-typescript": ^3.2.3
- checksum: 10/7f1d131301ff7128b974ab35498fe2842584626c2c8f45a11a30fc245439417caaa7a615611ce324f834648da3593fd5c305999af157d317973c2f2c0a2a8849
+ checksum: 10/7ca267a7089bcf63aebb94b2934220aa81e1b747427e7c7998fc6852818a726da8ccaf380e0b76314cfc57504308446361dc6f1daef3cd73f3d60479563c636a
languageName: node
linkType: hard
"@cspell/dict-monkeyc@npm:^1.0.10":
- version: 1.0.11
- resolution: "@cspell/dict-monkeyc@npm:1.0.11"
- checksum: 10/6e896fd9596261ece639cdad4d03291f4faf92ed27d9257aae1f34f075b13a865287734d170a2e9ea228ac2b7de03eaaec795284b945c8a96ac24684ad56ba7a
+ version: 1.0.12
+ resolution: "@cspell/dict-monkeyc@npm:1.0.12"
+ checksum: 10/9c952968b50a44d5860f9d9ebce49a71d433f1411d7a074711db176eedaaaf810c0c01bb5e32bc66bb08953b8d4a2c8a19bef394407603d18023d1242a882470
languageName: node
linkType: hard
"@cspell/dict-node@npm:^5.0.7":
- version: 5.0.8
- resolution: "@cspell/dict-node@npm:5.0.8"
- checksum: 10/6a008c8b82021e24124f619efdd485683f1dfb3c37ec4fe2b645e8d8002270c221869a19a5e2d17a978acb8d60292e5c5dd056aa0dd35b3e4fedf87e7b8afae4
+ version: 5.0.9
+ resolution: "@cspell/dict-node@npm:5.0.9"
+ checksum: 10/b934c9c94e230742a612f3133cc81a62af4073e2f8c50855d37e90bad7860200600b8492988d70f3ba13a055e357554a4abf71f0a437650ae24e5b300d6615ee
languageName: node
linkType: hard
"@cspell/dict-npm@npm:^5.2.1":
- version: 5.2.25
- resolution: "@cspell/dict-npm@npm:5.2.25"
- checksum: 10/e25141f0f52567dbe09263dd624966fe27d472ccef20f2d5ffdd2b844febe9285d05d2db4a5e501bf075557ba01780807f2ef0c2e6d1f44d095d2420abfd0a22
+ version: 5.2.35
+ resolution: "@cspell/dict-npm@npm:5.2.35"
+ checksum: 10/c98bddeb07203be6be2d41dff724779c35459e1e1a1f9c552dd5224b8862a21cb7c13fd32236ba62ad20df0f99b05f8d409a2330c047aaae2ba94dbdf8312984
languageName: node
linkType: hard
"@cspell/dict-php@npm:^4.0.14":
- version: 4.1.0
- resolution: "@cspell/dict-php@npm:4.1.0"
- checksum: 10/64ab278a581822381335df5dcf830c449a63e5a5fba5c0bbea4f43a36bd8039b3323392b386be2fc5b751bd6fef0061b338d5ae28d7c12214f2c2def0dcce260
+ version: 4.1.1
+ resolution: "@cspell/dict-php@npm:4.1.1"
+ checksum: 10/e81bed158736ea6f2db8d9e116c16cc3f46b455bb3ed673a100166cfee340be38d0cd9bc3f39c5590364c0bb2bd472755f5e4c65a20787d2d7df749ff43f49d1
languageName: node
linkType: hard
@@ -2337,18 +2166,18 @@ __metadata:
linkType: hard
"@cspell/dict-public-licenses@npm:^2.0.13":
- version: 2.0.15
- resolution: "@cspell/dict-public-licenses@npm:2.0.15"
- checksum: 10/a8580441c964a8c3ce4c4fed74189fa5752eb98e56baeb2608753e4deefb202c8f9d9f1869e17c5f2f1fc7bb1976854525ac50750109bb377b4cfa0a4eb12fe2
+ version: 2.0.16
+ resolution: "@cspell/dict-public-licenses@npm:2.0.16"
+ checksum: 10/1f227d3d083bdec495d19050347897cf2fe58d3c77143d233a41b300e00981790b46361a651eb592ff60dc8bc772db3f16c0c89cc295ea2b446237031f48efb1
languageName: node
linkType: hard
"@cspell/dict-python@npm:^4.2.17":
- version: 4.2.23
- resolution: "@cspell/dict-python@npm:4.2.23"
+ version: 4.2.25
+ resolution: "@cspell/dict-python@npm:4.2.25"
dependencies:
- "@cspell/dict-data-science": "npm:^2.0.12"
- checksum: 10/ded89d5fd843bf1fe0e3ae3a7386db63c66c00a90d5a122fcff4206cb4c6dec9dfa463fcc841553a3d93b102da62ff9a03aaf359876cc9aec5e2a3c897f04f9c
+ "@cspell/dict-data-science": "npm:^2.0.13"
+ checksum: 10/fcbbc2db9a1ff01e16e33df10c1f6575e65eece8b13b1ef3a45481aeaafa6250ad28358a6ec787d4d7a6061907b338c7adb52bc882502cd6ae8904d20b60f10d
languageName: node
linkType: hard
@@ -2360,23 +2189,23 @@ __metadata:
linkType: hard
"@cspell/dict-ruby@npm:^5.0.8":
- version: 5.0.9
- resolution: "@cspell/dict-ruby@npm:5.0.9"
- checksum: 10/57a752ff19f9484a042e859254eb6d487b46266f374faeb17e257b3583d94fbd908c0bd308e2a7d3b0169839cdd5a6d9fc12563955b69f26e8667acc43fbfd53
+ version: 5.1.0
+ resolution: "@cspell/dict-ruby@npm:5.1.0"
+ checksum: 10/afe89daa54a6c3be62686f4f74fe924dabb4077e9aead71bf26e211885d068066df414857f27da258a130e2e06ecb5eac394225bc120607bebcb08746b6188f9
languageName: node
linkType: hard
"@cspell/dict-rust@npm:^4.0.11":
- version: 4.0.12
- resolution: "@cspell/dict-rust@npm:4.0.12"
- checksum: 10/ba928f5538e09887f715713a6899d09ed7b1663c85d33c766adbaf22a95e01fa71d3736d5ff17c3c0f0a387c43756702fb1529e62e714ddec0df6cde9617ad20
+ version: 4.1.2
+ resolution: "@cspell/dict-rust@npm:4.1.2"
+ checksum: 10/f618727d8c3af5f3d5e74eca04e9b0685f525d217206c40faf9803aa4fd7b9defc9b5174bff17411ef2d935df7ebe66cb2e38f34b6887a118908e10a5c834376
languageName: node
linkType: hard
"@cspell/dict-scala@npm:^5.0.7":
- version: 5.0.8
- resolution: "@cspell/dict-scala@npm:5.0.8"
- checksum: 10/f9d8d748a66cea454fbe3d6dc51dde03d58cf2a28a4a64698ac4022a91b65503b2b6f74206421488d4396949d9b09477699734ca05e28a79a9c2e6a39f65e2c5
+ version: 5.0.9
+ resolution: "@cspell/dict-scala@npm:5.0.9"
+ checksum: 10/9b095e052e4c72fe0d0657f11f654cac6e8bbf6f6ac2043e8f1de8641aa7cad46b94416d70aa9dbd8556b1c1cfd0ac522868867e911a707e7b0e2cbcfcbfb5e2
languageName: node
linkType: hard
@@ -2388,9 +2217,9 @@ __metadata:
linkType: hard
"@cspell/dict-software-terms@npm:^5.0.5":
- version: 5.1.15
- resolution: "@cspell/dict-software-terms@npm:5.1.15"
- checksum: 10/7bcdaf626936c85163b4e0153a95d5318da207446a6c9f2ccd705a3f0a49cada14ec678153f9b691f2fbcb2f702f54828c3ce2d4c193d319ebd7407684dc6f30
+ version: 5.1.23
+ resolution: "@cspell/dict-software-terms@npm:5.1.23"
+ checksum: 10/69f9149df10071ae0901d71f01a6475f329cd2571973f6d356ebf210e0405a935ec28d5b07d58eff0a861a58e59406c96e7f608ed677ec1126ade90cf6d9f118
languageName: node
linkType: hard
@@ -2482,15 +2311,15 @@ __metadata:
linkType: hard
"@dr.pogodin/react-native-fs@npm:^2.36.2":
- version: 2.36.2
- resolution: "@dr.pogodin/react-native-fs@npm:2.36.2"
+ version: 2.37.0
+ resolution: "@dr.pogodin/react-native-fs@npm:2.37.0"
dependencies:
buffer: "npm:^6.0.3"
http-status-codes: "npm:^2.3.0"
peerDependencies:
react: "*"
react-native: "*"
- checksum: 10/6a4b1c324386c455e01ccf45daf80474364079bc6495f0a65c1468e4e15607951754b81d9d720fb635a8caba5ba94b34719d0140357ce8e168172583e09156d4
+ checksum: 10/c66c03a9e814c0c4e3c9b575bc1dc7aedee18e815f45860541b94935cbfdfae8ccb71964c359c420498d120b00a1b997bf5e4739da58a8d681ad33df1d76ef03
languageName: node
linkType: hard
@@ -2532,13 +2361,13 @@ __metadata:
linkType: hard
"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
- version: 4.9.0
- resolution: "@eslint-community/eslint-utils@npm:4.9.0"
+ version: 4.9.1
+ resolution: "@eslint-community/eslint-utils@npm:4.9.1"
dependencies:
eslint-visitor-keys: "npm:^3.4.3"
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- checksum: 10/89b1eb3137e14c379865e60573f524fcc0ee5c4b0c7cd21090673e75e5a720f14b92f05ab2d02704c2314b67e67b6f96f3bb209ded6b890ced7b667aa4bf1fa2
+ checksum: 10/863b5467868551c9ae34d03eefe634633d08f623fc7b19d860f8f26eb6f303c1a5934253124163bee96181e45ed22bf27473dccc295937c3078493a4a8c9eddd
languageName: node
linkType: hard
@@ -2583,91 +2412,9 @@ __metadata:
languageName: node
linkType: hard
-"@expo/cli@npm:54.0.18":
- version: 54.0.18
- resolution: "@expo/cli@npm:54.0.18"
- dependencies:
- "@0no-co/graphql.web": "npm:^1.0.8"
- "@expo/code-signing-certificates": "npm:^0.0.5"
- "@expo/config": "npm:~12.0.11"
- "@expo/config-plugins": "npm:~54.0.3"
- "@expo/devcert": "npm:^1.2.1"
- "@expo/env": "npm:~2.0.8"
- "@expo/image-utils": "npm:^0.8.8"
- "@expo/json-file": "npm:^10.0.8"
- "@expo/metro": "npm:~54.1.0"
- "@expo/metro-config": "npm:~54.0.10"
- "@expo/osascript": "npm:^2.3.8"
- "@expo/package-manager": "npm:^1.9.9"
- "@expo/plist": "npm:^0.4.8"
- "@expo/prebuild-config": "npm:^54.0.7"
- "@expo/schema-utils": "npm:^0.1.8"
- "@expo/spawn-async": "npm:^1.7.2"
- "@expo/ws-tunnel": "npm:^1.0.1"
- "@expo/xcpretty": "npm:^4.3.0"
- "@react-native/dev-middleware": "npm:0.81.5"
- "@urql/core": "npm:^5.0.6"
- "@urql/exchange-retry": "npm:^1.3.0"
- accepts: "npm:^1.3.8"
- arg: "npm:^5.0.2"
- better-opn: "npm:~3.0.2"
- bplist-creator: "npm:0.1.0"
- bplist-parser: "npm:^0.3.1"
- chalk: "npm:^4.0.0"
- ci-info: "npm:^3.3.0"
- compression: "npm:^1.7.4"
- connect: "npm:^3.7.0"
- debug: "npm:^4.3.4"
- env-editor: "npm:^0.4.1"
- expo-server: "npm:^1.0.5"
- freeport-async: "npm:^2.0.0"
- getenv: "npm:^2.0.0"
- glob: "npm:^13.0.0"
- lan-network: "npm:^0.1.6"
- minimatch: "npm:^9.0.0"
- node-forge: "npm:^1.3.1"
- npm-package-arg: "npm:^11.0.0"
- ora: "npm:^3.4.0"
- picomatch: "npm:^3.0.1"
- pretty-bytes: "npm:^5.6.0"
- pretty-format: "npm:^29.7.0"
- progress: "npm:^2.0.3"
- prompts: "npm:^2.3.2"
- qrcode-terminal: "npm:0.11.0"
- require-from-string: "npm:^2.0.2"
- requireg: "npm:^0.2.2"
- resolve: "npm:^1.22.2"
- resolve-from: "npm:^5.0.0"
- resolve.exports: "npm:^2.0.3"
- semver: "npm:^7.6.0"
- send: "npm:^0.19.0"
- slugify: "npm:^1.3.4"
- source-map-support: "npm:~0.5.21"
- stacktrace-parser: "npm:^0.1.10"
- structured-headers: "npm:^0.4.1"
- tar: "npm:^7.5.2"
- terminal-link: "npm:^2.1.1"
- undici: "npm:^6.18.2"
- wrap-ansi: "npm:^7.0.0"
- ws: "npm:^8.12.1"
- peerDependencies:
- expo: "*"
- expo-router: "*"
- react-native: "*"
- peerDependenciesMeta:
- expo-router:
- optional: true
- react-native:
- optional: true
- bin:
- expo-internal: build/bin/cli
- checksum: 10/9a84554d120759be74ee84e2d9e31d7279e67c5992ace7ba51871815169b552f3b30cb6715a9c3685717bde32756e45dbeae6d5200f75b7d2ea877f5f80172e3
- languageName: node
- linkType: hard
-
-"@expo/cli@npm:54.0.22":
- version: 54.0.22
- resolution: "@expo/cli@npm:54.0.22"
+"@expo/cli@npm:54.0.23":
+ version: 54.0.23
+ resolution: "@expo/cli@npm:54.0.23"
dependencies:
"@0no-co/graphql.web": "npm:^1.0.8"
"@expo/code-signing-certificates": "npm:^0.0.6"
@@ -2743,17 +2490,7 @@ __metadata:
optional: true
bin:
expo-internal: build/bin/cli
- checksum: 10/c20c89f5737e1f5b055567d6b560a920ea52ed17cab73fd5ab59d8f1640c62f7a9915d9d69eb0c5ebc85bd04505e3ac32ba329ab8f1e15da8a9fcd6c6dd8d808
- languageName: node
- linkType: hard
-
-"@expo/code-signing-certificates@npm:^0.0.5":
- version: 0.0.5
- resolution: "@expo/code-signing-certificates@npm:0.0.5"
- dependencies:
- node-forge: "npm:^1.2.1"
- nullthrows: "npm:^1.1.1"
- checksum: 10/6783721e2eafff5547500eaf99bee54641f076dc7221e52b48f1494f993040d779fe13ae7d95d3874c483eb545cafbf692315e2da0b0fc24e7a477b84e289617
+ checksum: 10/9a41c55aa7f628ad44048c9f41cd8d7f4f73a8bfc01adaa956ddaae87d332ae979eadb52bdab894ef5b1c9b5722486ccdb999057d8b9eed392c827f476feb79f
languageName: node
linkType: hard
@@ -2766,28 +2503,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo/config-plugins@npm:~54.0.3":
- version: 54.0.3
- resolution: "@expo/config-plugins@npm:54.0.3"
- dependencies:
- "@expo/config-types": "npm:^54.0.9"
- "@expo/json-file": "npm:~10.0.7"
- "@expo/plist": "npm:^0.4.7"
- "@expo/sdk-runtime-versions": "npm:^1.0.0"
- chalk: "npm:^4.1.2"
- debug: "npm:^4.3.5"
- getenv: "npm:^2.0.0"
- glob: "npm:^13.0.0"
- resolve-from: "npm:^5.0.0"
- semver: "npm:^7.5.4"
- slash: "npm:^3.0.0"
- slugify: "npm:^1.6.6"
- xcode: "npm:^3.0.1"
- xml2js: "npm:0.6.0"
- checksum: 10/5eb33583eba8ba87ad19f4775749864fd72fe251be1b9bb1b765f0499fd36d21a7dd936f53c36368454726b72b0a8ea99b1e315bd6c005de1f4541bafb57d1c6
- languageName: node
- linkType: hard
-
"@expo/config-plugins@npm:~54.0.4":
version: 54.0.4
resolution: "@expo/config-plugins@npm:54.0.4"
@@ -2817,34 +2532,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo/config-types@npm:^54.0.9":
- version: 54.0.9
- resolution: "@expo/config-types@npm:54.0.9"
- checksum: 10/572ddcf9b8a3d785c0cb0275fbcd2cc4f7004191cda5fa387cf2babfcea79ae04b9d68bf459a9b43538ad35ce09955dfa5e6ebafb6050758cd596cb6e61885b8
- languageName: node
- linkType: hard
-
-"@expo/config@npm:~12.0.11":
- version: 12.0.11
- resolution: "@expo/config@npm:12.0.11"
- dependencies:
- "@babel/code-frame": "npm:~7.10.4"
- "@expo/config-plugins": "npm:~54.0.3"
- "@expo/config-types": "npm:^54.0.9"
- "@expo/json-file": "npm:^10.0.7"
- deepmerge: "npm:^4.3.1"
- getenv: "npm:^2.0.0"
- glob: "npm:^13.0.0"
- require-from-string: "npm:^2.0.2"
- resolve-from: "npm:^5.0.0"
- resolve-workspace-root: "npm:^2.0.0"
- semver: "npm:^7.6.0"
- slugify: "npm:^1.3.4"
- sucrase: "npm:~3.35.1"
- checksum: 10/c749457b50a5c2531c5fb7d29c343a7761081f7218199ab65524ff8ab9edb36f5903cde6a35fbd95b792e537a7c4183362bb9061a1bdedff8aae4d731171e4f5
- languageName: node
- linkType: hard
-
"@expo/config@npm:~12.0.13":
version: 12.0.13
resolution: "@expo/config@npm:12.0.13"
@@ -2893,16 +2580,16 @@ __metadata:
languageName: node
linkType: hard
-"@expo/env@npm:~2.0.7, @expo/env@npm:~2.0.8":
- version: 2.0.8
- resolution: "@expo/env@npm:2.0.8"
+"@expo/env@npm:~2.0.8":
+ version: 2.0.11
+ resolution: "@expo/env@npm:2.0.11"
dependencies:
chalk: "npm:^4.0.0"
debug: "npm:^4.3.4"
dotenv: "npm:~16.4.5"
dotenv-expand: "npm:~11.0.6"
getenv: "npm:^2.0.0"
- checksum: 10/d440e0c7d8f4d438a9f82794435c315b63fc18a9b251ee7238f150255634d2786874cd85ff78589eb0488125d41d57a9b055fb1a25c4e06a08a0330d809e78cd
+ checksum: 10/bfb307d6b35d47c58f82424c85543325370bbdc0f303cdd4ddfe5d6854e0386ad72166fec6e1da633fc7cb3b0915d7c40642c49773ae31e6faed13569d1b601c
languageName: node
linkType: hard
@@ -2928,8 +2615,8 @@ __metadata:
linkType: hard
"@expo/image-utils@npm:^0.8.8":
- version: 0.8.8
- resolution: "@expo/image-utils@npm:0.8.8"
+ version: 0.8.12
+ resolution: "@expo/image-utils@npm:0.8.12"
dependencies:
"@expo/spawn-async": "npm:^1.7.2"
chalk: "npm:^4.0.0"
@@ -2937,65 +2624,18 @@ __metadata:
jimp-compact: "npm:0.16.1"
parse-png: "npm:^2.1.0"
resolve-from: "npm:^5.0.0"
- resolve-global: "npm:^1.0.0"
semver: "npm:^7.6.0"
- temp-dir: "npm:~2.0.0"
- unique-string: "npm:~2.0.0"
- checksum: 10/f7a2d81785e81e3ba5cabf1ae9acf3923b9320345b1761dfd6ebaaa1dc77f7b08e5a86aead2657223d47b65dec96fb70f012b149149dbf202de4809e5920baf5
- languageName: node
- linkType: hard
-
-"@expo/json-file@npm:^10.0.7, @expo/json-file@npm:^10.0.8, @expo/json-file@npm:~10.0.7":
- version: 10.0.8
- resolution: "@expo/json-file@npm:10.0.8"
- dependencies:
- "@babel/code-frame": "npm:~7.10.4"
- json5: "npm:^2.2.3"
- checksum: 10/d744edb72ea5a52d8829357fb2adb93be3181a522e3b6b8dc3a32a448c9c76eca603f8a390f1a126f4b16c21a470e0c1b2dde0bcd2cb799d97178e48df93a3b3
- languageName: node
- linkType: hard
-
-"@expo/json-file@npm:^10.0.9, @expo/json-file@npm:~10.0.8":
- version: 10.0.9
- resolution: "@expo/json-file@npm:10.0.9"
- dependencies:
- "@babel/code-frame": "npm:~7.10.4"
- json5: "npm:^2.2.3"
- checksum: 10/40c758fcdb37b35aa5ca43acd2c882763f073672ccaf53038bf94100a5c511ff90e0d1f900a4c49394ae968bdbabbedfc39f961b7d60a47abecb8ec55c6863da
+ checksum: 10/fb474558bb4009f39c640fb028a57cfae721e52dae0085bb2505390c6968d30cdc82eb195c15de82f30879c710104c08e60120de8f49613183437701f19dd363
languageName: node
linkType: hard
-"@expo/metro-config@npm:54.0.10, @expo/metro-config@npm:~54.0.10":
- version: 54.0.10
- resolution: "@expo/metro-config@npm:54.0.10"
+"@expo/json-file@npm:^10.0.12, @expo/json-file@npm:^10.0.8, @expo/json-file@npm:~10.0.8":
+ version: 10.0.12
+ resolution: "@expo/json-file@npm:10.0.12"
dependencies:
"@babel/code-frame": "npm:^7.20.0"
- "@babel/core": "npm:^7.20.0"
- "@babel/generator": "npm:^7.20.5"
- "@expo/config": "npm:~12.0.11"
- "@expo/env": "npm:~2.0.7"
- "@expo/json-file": "npm:~10.0.7"
- "@expo/metro": "npm:~54.1.0"
- "@expo/spawn-async": "npm:^1.7.2"
- browserslist: "npm:^4.25.0"
- chalk: "npm:^4.1.0"
- debug: "npm:^4.3.2"
- dotenv: "npm:~16.4.5"
- dotenv-expand: "npm:~11.0.6"
- getenv: "npm:^2.0.0"
- glob: "npm:^13.0.0"
- hermes-parser: "npm:^0.29.1"
- jsc-safe-url: "npm:^0.2.4"
- lightningcss: "npm:^1.30.1"
- minimatch: "npm:^9.0.0"
- postcss: "npm:~8.4.32"
- resolve-from: "npm:^5.0.0"
- peerDependencies:
- expo: "*"
- peerDependenciesMeta:
- expo:
- optional: true
- checksum: 10/4a2fc2eea0cdc88f52d29d0a70fdb315bdbcc7b5300cb64afcc6a2a756db01449b3a60e401fc662ea13b441dc2287d1b492524ac7e6dece0c23d6d7105e2ebdf
+ json5: "npm:^2.2.3"
+ checksum: 10/547f5b9d1c5b10147ef0780d079d853e3b2e8ec0b09080420cb48592060a4399308622fd205aaec5e157c41d37c5b69dffa9aaa96c01fe444b0258f78c3bb85f
languageName: node
linkType: hard
@@ -3053,26 +2693,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo/metro@npm:~54.1.0":
- version: 54.1.0
- resolution: "@expo/metro@npm:54.1.0"
- dependencies:
- metro: "npm:0.83.2"
- metro-babel-transformer: "npm:0.83.2"
- metro-cache: "npm:0.83.2"
- metro-cache-key: "npm:0.83.2"
- metro-config: "npm:0.83.2"
- metro-core: "npm:0.83.2"
- metro-file-map: "npm:0.83.2"
- metro-resolver: "npm:0.83.2"
- metro-runtime: "npm:0.83.2"
- metro-source-map: "npm:0.83.2"
- metro-transform-plugins: "npm:0.83.2"
- metro-transform-worker: "npm:0.83.2"
- checksum: 10/219d1d3b94faa0cfa2af94a3c9c307e63bc1ede1e96da6d2e324c02275b882bd2a814730a4ab1842f8f0117316a0e66e0f02f83bba5620397096b5562f28da51
- languageName: node
- linkType: hard
-
"@expo/metro@npm:~54.2.0":
version: 54.2.0
resolution: "@expo/metro@npm:54.2.0"
@@ -3096,44 +2716,29 @@ __metadata:
linkType: hard
"@expo/osascript@npm:^2.3.8":
- version: 2.3.8
- resolution: "@expo/osascript@npm:2.3.8"
+ version: 2.4.2
+ resolution: "@expo/osascript@npm:2.4.2"
dependencies:
"@expo/spawn-async": "npm:^1.7.2"
- exec-async: "npm:^2.2.0"
- checksum: 10/153ddb710870a29a4f69d2b6a42a492bf03f9707f8bc2c8929540429b3844c0ff3ccdb8f8ff78ee886fa54c3e8a584f7ca1d9718322503fca7c325558f121db6
+ checksum: 10/5609b926bd68120b6a01edea0c7b14d4fa9fcd454bbcb49b89988f7acdb540f3b9c1c133acbbd3f9cd6a6937ce2a950c9cdde2a98ec8769d8a8b1481666a67d9
languageName: node
linkType: hard
"@expo/package-manager@npm:^1.9.10":
- version: 1.10.0
- resolution: "@expo/package-manager@npm:1.10.0"
- dependencies:
- "@expo/json-file": "npm:^10.0.9"
- "@expo/spawn-async": "npm:^1.7.2"
- chalk: "npm:^4.0.0"
- npm-package-arg: "npm:^11.0.0"
- ora: "npm:^3.4.0"
- resolve-workspace-root: "npm:^2.0.0"
- checksum: 10/61dc892764f886fc9bf4b957fbc8b686fc941f2ceb008428752070f61cd44a40bd4d48bef594b3169eacb389d9e44f86c6b0003da8ef1c8ab3948dfd88875328
- languageName: node
- linkType: hard
-
-"@expo/package-manager@npm:^1.9.9":
- version: 1.9.9
- resolution: "@expo/package-manager@npm:1.9.9"
+ version: 1.10.3
+ resolution: "@expo/package-manager@npm:1.10.3"
dependencies:
- "@expo/json-file": "npm:^10.0.8"
+ "@expo/json-file": "npm:^10.0.12"
"@expo/spawn-async": "npm:^1.7.2"
chalk: "npm:^4.0.0"
npm-package-arg: "npm:^11.0.0"
ora: "npm:^3.4.0"
resolve-workspace-root: "npm:^2.0.0"
- checksum: 10/d39c90599a8f94fcb93a274e6505df60872ef1f574fbb29e653de622a93536db926e3f9219ac4e8249c8380143518b92e95736a4aa0bed220bf33114206974fb
+ checksum: 10/cac9008ec362af0b54ebf55cb64514e3f4258423f0be9a0d1adb2815380e912783be78750c898e393f7bebe7a1b8288d449052b0ce9f790400d185a29b8274bd
languageName: node
linkType: hard
-"@expo/plist@npm:^0.4.7, @expo/plist@npm:^0.4.8":
+"@expo/plist@npm:^0.4.8":
version: 0.4.8
resolution: "@expo/plist@npm:0.4.8"
dependencies:
@@ -3144,26 +2749,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo/prebuild-config@npm:^54.0.7":
- version: 54.0.7
- resolution: "@expo/prebuild-config@npm:54.0.7"
- dependencies:
- "@expo/config": "npm:~12.0.11"
- "@expo/config-plugins": "npm:~54.0.3"
- "@expo/config-types": "npm:^54.0.9"
- "@expo/image-utils": "npm:^0.8.8"
- "@expo/json-file": "npm:^10.0.8"
- "@react-native/normalize-colors": "npm:0.81.5"
- debug: "npm:^4.3.1"
- resolve-from: "npm:^5.0.0"
- semver: "npm:^7.6.0"
- xml2js: "npm:0.6.0"
- peerDependencies:
- expo: "*"
- checksum: 10/6194661c2531041d1f5cc141f07fb2ddf8a558110732d8dcccfe8c7887345f28756bfd2c72fd72da364db274dde7d11fc77b8f39eace18cb215b8364997910c1
- languageName: node
- linkType: hard
-
"@expo/prebuild-config@npm:^54.0.8":
version: 54.0.8
resolution: "@expo/prebuild-config@npm:54.0.8"
@@ -3215,13 +2800,13 @@ __metadata:
linkType: hard
"@expo/vector-icons@npm:^15.0.3":
- version: 15.0.3
- resolution: "@expo/vector-icons@npm:15.0.3"
+ version: 15.1.1
+ resolution: "@expo/vector-icons@npm:15.1.1"
peerDependencies:
expo-font: ">=14.0.4"
react: "*"
react-native: "*"
- checksum: 10/8845ed6aeade73d7c684776a134153658549e1ee473e99ac56c355af53d848a4c91f9d218da798f481b117a08b86ab523c9c3f3de0c50b1f111ded644825803c
+ checksum: 10/204fafd5141c81bd55dd33f6c00cdc48ec1d37b6460be6fa3f851ccb235e1fad1097f22d034470daa49a5b839d058bbcadda1efd349c670c2fdce2ae65fb9bba
languageName: node
linkType: hard
@@ -3233,16 +2818,24 @@ __metadata:
linkType: hard
"@expo/xcpretty@npm:^4.3.0":
- version: 4.3.2
- resolution: "@expo/xcpretty@npm:4.3.2"
+ version: 4.4.1
+ resolution: "@expo/xcpretty@npm:4.4.1"
dependencies:
- "@babel/code-frame": "npm:7.10.4"
+ "@babel/code-frame": "npm:^7.20.0"
chalk: "npm:^4.1.0"
- find-up: "npm:^5.0.0"
js-yaml: "npm:^4.1.0"
bin:
excpretty: build/cli.js
- checksum: 10/4d2adaf531d24154898b858d3d0f3b4ec272fa08bb628f94cadee5b1eb505cc1f3a6b0ab7c1cb3d55af0f22c2534b4a9781a6fe7293dc2062fc5784eb376b0bb
+ checksum: 10/56d4c7d54f2b2d4a04d24f77c8e6926c0760c2983c5ac54018a35b754e261d3f31b7cd509342ff161dfbe852c03d5d62096927130069e6020db29c33ca3fa580
+ languageName: node
+ linkType: hard
+
+"@gar/promise-retry@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "@gar/promise-retry@npm:1.0.2"
+ dependencies:
+ retry: "npm:^0.13.1"
+ checksum: 10/b91326999ce94677cbe91973079eabc689761a93a045f6a2d34d4070e9305b27f6c54e4021688c7080cb14caf89eafa0c0f300af741b94c20d18608bdb66ca46
languageName: node
linkType: hard
@@ -3263,9 +2856,9 @@ __metadata:
linkType: hard
"@huggingface/jinja@npm:^0.5.0":
- version: 0.5.3
- resolution: "@huggingface/jinja@npm:0.5.3"
- checksum: 10/2797550d8400495facec93c00051ddba17df8849250a0ad61dfc3cd84b05c4013c852a0580e3fa8cf2fd153c9fbe35af2ced5409b1b23effd639f0a03a4c16b4
+ version: 0.5.5
+ resolution: "@huggingface/jinja@npm:0.5.5"
+ checksum: 10/9575f8a689ab2c31f2540ea2dd82da2bcddb536196c3de3ae8f3b2fa06f01f47eb6a0513b410bbeac90fea7123733a15bf5d484f45fe3132bc16232a60f0dce3
languageName: node
linkType: hard
@@ -3294,22 +2887,6 @@ __metadata:
languageName: node
linkType: hard
-"@isaacs/balanced-match@npm:^4.0.1":
- version: 4.0.1
- resolution: "@isaacs/balanced-match@npm:4.0.1"
- checksum: 10/102fbc6d2c0d5edf8f6dbf2b3feb21695a21bc850f11bc47c4f06aa83bd8884fde3fe9d6d797d619901d96865fdcb4569ac2a54c937992c48885c5e3d9967fe8
- languageName: node
- linkType: hard
-
-"@isaacs/brace-expansion@npm:^5.0.0":
- version: 5.0.0
- resolution: "@isaacs/brace-expansion@npm:5.0.0"
- dependencies:
- "@isaacs/balanced-match": "npm:^4.0.1"
- checksum: 10/cf3b7f206aff12128214a1df764ac8cdbc517c110db85249b945282407e3dfc5c6e66286383a7c9391a059fc8e6e6a8ca82262fc9d2590bd615376141fbebd2d
- languageName: node
- linkType: hard
-
"@isaacs/cliui@npm:^8.0.2":
version: 8.0.2
resolution: "@isaacs/cliui@npm:8.0.2"
@@ -3762,11 +3339,11 @@ __metadata:
linkType: hard
"@kesha-antonov/react-native-background-downloader@npm:^4.4.5":
- version: 4.4.5
- resolution: "@kesha-antonov/react-native-background-downloader@npm:4.4.5"
+ version: 4.5.2
+ resolution: "@kesha-antonov/react-native-background-downloader@npm:4.5.2"
peerDependencies:
react-native: ">=0.57.0"
- checksum: 10/56c90b08f5efdbc017a373dd3358470b5879f1ccb28b9a25df6b725fb6cc534d7d60c989167e07774f4c8bca530b22ed383322f5f105f8bd58bac2d85914c548
+ checksum: 10/2543563caa62aa9362ef4c37dcb11f4b762cb9803869bbdf5a45260c2bbb3ae68336450920594f768ea29500dd6fe04958cbf07a90620617737df5862718343e
languageName: node
linkType: hard
@@ -4239,120 +3816,120 @@ __metadata:
languageName: node
linkType: hard
-"@react-native-community/cli-clean@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-clean@npm:20.0.2"
+"@react-native-community/cli-clean@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-clean@npm:20.1.2"
dependencies:
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
execa: "npm:^5.0.0"
fast-glob: "npm:^3.3.2"
- checksum: 10/d839318d979a83c0574b81f2eb765726431e2b3b14aee14621a72c2af527730072af58ab8a9c457e12e137c81ae41329f83f5f56a3d36b08efbed5d7fe6718bf
+ picocolors: "npm:^1.1.1"
+ checksum: 10/66580b22ac10ed87aa1a121f5226d1bf88e1d87864cf21bcafc2f450133b908f31e44c784e881cc4cbcccb1cfedcca22bad0f09e0951ed5bd13400b2b724f9c5
languageName: node
linkType: hard
-"@react-native-community/cli-config-android@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-config-android@npm:20.0.2"
+"@react-native-community/cli-config-android@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-config-android@npm:20.1.2"
dependencies:
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
fast-glob: "npm:^3.3.2"
- fast-xml-parser: "npm:^4.4.1"
- checksum: 10/ccbe4998887d722332c6734dbee38d7ea99362000f7afd88af4f7301e87928d669287e78ab112e618f8785e10c483064d1c00ce34368b564152d291eee32cb43
+ fast-xml-parser: "npm:^5.3.6"
+ picocolors: "npm:^1.1.1"
+ checksum: 10/873af8992640a7585322e01fb99870ddf8894cb69a30d11e2c3babd50c9039ab1c62b630e9a58bbe9249c332c4a66386e9d4250a4200b5f7a5be86635850d43d
languageName: node
linkType: hard
-"@react-native-community/cli-config-apple@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-config-apple@npm:20.0.2"
+"@react-native-community/cli-config-apple@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-config-apple@npm:20.1.2"
dependencies:
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
execa: "npm:^5.0.0"
fast-glob: "npm:^3.3.2"
- checksum: 10/5f888674b70d8d52be2ea2f1e513afdf98a43de30d6db224514c7a3a0466ad99a1c8ad4080558b6ac172c92eaca2d1a20691afd0744fbcb8fafedf8e6cd73cf1
+ picocolors: "npm:^1.1.1"
+ checksum: 10/262089e3ca1ba161fa1c4c1945b10a731a5c39db35f07e44c94d1fcf0676819d2eccfced3ec56f724efee31b7c1ff8d6c0b1842363575708f0cf86df5a4315e9
languageName: node
linkType: hard
-"@react-native-community/cli-config@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-config@npm:20.0.2"
+"@react-native-community/cli-config@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-config@npm:20.1.2"
dependencies:
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
cosmiconfig: "npm:^9.0.0"
deepmerge: "npm:^4.3.0"
fast-glob: "npm:^3.3.2"
joi: "npm:^17.2.1"
- checksum: 10/05658bfeecce40f14d4c91d804b4748d0b514e73a572ff58a3420c41e4cbebe63fa6fb6ecf8f9622227e33891313e3494c7d26c469335f40e234e2470a7b6f6b
+ picocolors: "npm:^1.1.1"
+ checksum: 10/c43f19458c514c1108162238abb7f8b096156b6377841c6959d46a7fe6ffea170050a6e77c2eaf19800efd40b865297e8cc04043d38f881e6e36d62eccd81164
languageName: node
linkType: hard
-"@react-native-community/cli-doctor@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-doctor@npm:20.0.2"
+"@react-native-community/cli-doctor@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-doctor@npm:20.1.2"
dependencies:
- "@react-native-community/cli-config": "npm:20.0.2"
- "@react-native-community/cli-platform-android": "npm:20.0.2"
- "@react-native-community/cli-platform-apple": "npm:20.0.2"
- "@react-native-community/cli-platform-ios": "npm:20.0.2"
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-config": "npm:20.1.2"
+ "@react-native-community/cli-platform-android": "npm:20.1.2"
+ "@react-native-community/cli-platform-apple": "npm:20.1.2"
+ "@react-native-community/cli-platform-ios": "npm:20.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
command-exists: "npm:^1.2.8"
deepmerge: "npm:^4.3.0"
envinfo: "npm:^7.13.0"
execa: "npm:^5.0.0"
node-stream-zip: "npm:^1.9.1"
ora: "npm:^5.4.1"
+ picocolors: "npm:^1.1.1"
semver: "npm:^7.5.2"
wcwidth: "npm:^1.0.1"
yaml: "npm:^2.2.1"
- checksum: 10/11a4a9ff5da4d471920418e8b4a598f997036d1d8e5d25f5957886b26727a5526789996430575dc422a5251f225df786a40ab42ec9c2c11f112ec980d6e1cc02
+ checksum: 10/6e02acff8a0dd27512a347124dbf68b37ac76f33ad05a46a19646acea1101c695167543553d3e8d8e3ce4e3181f04d73840937afde02245d9f4a7671d831ddaa
languageName: node
linkType: hard
-"@react-native-community/cli-platform-android@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-platform-android@npm:20.0.2"
+"@react-native-community/cli-platform-android@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-platform-android@npm:20.1.2"
dependencies:
- "@react-native-community/cli-config-android": "npm:20.0.2"
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-config-android": "npm:20.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
execa: "npm:^5.0.0"
logkitty: "npm:^0.7.1"
- checksum: 10/465ef6988d335740cb998c51d29f837344e063bd04cf07b3f959e44df7823b2902ee6a25bf036e82581b1d6e1cfacbd8bcf87690f4dc0c6fb4b21f15eb64951e
+ picocolors: "npm:^1.1.1"
+ checksum: 10/ff3cd9bd288f4237abc3ab2675efa056feb63bef01d49b843a5ecc7d65bee377512aece43ee4f110c11485640fabded055b61df0149525dc91169dc80b8c7f6e
languageName: node
linkType: hard
-"@react-native-community/cli-platform-apple@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-platform-apple@npm:20.0.2"
+"@react-native-community/cli-platform-apple@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-platform-apple@npm:20.1.2"
dependencies:
- "@react-native-community/cli-config-apple": "npm:20.0.2"
- "@react-native-community/cli-tools": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ "@react-native-community/cli-config-apple": "npm:20.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
execa: "npm:^5.0.0"
- fast-xml-parser: "npm:^4.4.1"
- checksum: 10/f316b4f54f6d323319c0df9b6bf3cd7a5aa3b81d170e18755b9dc80297b1989f5c275b779f1044f063392126ec510e172283d06ef9ab8700950d7b36e1cb4d72
+ fast-xml-parser: "npm:^5.3.6"
+ picocolors: "npm:^1.1.1"
+ checksum: 10/b1d4409f8a081e94400acf41cfefa0c8663afdf8280598e7731a85a4f161f64f381e876fdace394baec0d72db716fb58aa1e18ce8eeacc37fc70c5a261ba71f6
languageName: node
linkType: hard
-"@react-native-community/cli-platform-ios@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-platform-ios@npm:20.0.2"
+"@react-native-community/cli-platform-ios@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-platform-ios@npm:20.1.2"
dependencies:
- "@react-native-community/cli-platform-apple": "npm:20.0.2"
- checksum: 10/a0290feadc079981429143e9829a3030a768593927e0c2bcf546f52c8c22a53a49ea5f9ae9484f7eb390e01a46d7b0d7d9dc3374268d07237c808e6e7e3c50b3
+ "@react-native-community/cli-platform-apple": "npm:20.1.2"
+ checksum: 10/711c5366a62a5dfd26fd987bab126ff958faf29e7e2bfab1d29c1c8dfc12be12c03d8291f2fefab4ea90836fe41e90f7bb626b6fa3a9d023cdc39f726aa34512
languageName: node
linkType: hard
-"@react-native-community/cli-server-api@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-server-api@npm:20.0.2"
+"@react-native-community/cli-server-api@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-server-api@npm:20.1.2"
dependencies:
- "@react-native-community/cli-tools": "npm:20.0.2"
- body-parser: "npm:^1.20.3"
+ "@react-native-community/cli-tools": "npm:20.1.2"
+ body-parser: "npm:^2.2.2"
compression: "npm:^1.7.1"
connect: "npm:^3.6.5"
errorhandler: "npm:^1.5.1"
@@ -4360,60 +3937,61 @@ __metadata:
open: "npm:^6.2.0"
pretty-format: "npm:^29.7.0"
serve-static: "npm:^1.13.1"
+ strict-url-sanitise: "npm:0.0.1"
ws: "npm:^6.2.3"
- checksum: 10/7771524a0016f200a15c9c5df430b18ada846ef4d426be9d6540a343e69d042b359069aeef156bec7b267bcf43a50f97b8ec7f1514dad55d84c4e16fbd4e176b
+ checksum: 10/29447084fdc1a0b3f38a62bc781aa71877b835dd8ee5855d30237289350bb3daeb1a27ca9a3b0d97b86d0f85bddcd67c3907968fdaee7c2f5cc7cab72723d1d1
languageName: node
linkType: hard
-"@react-native-community/cli-tools@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-tools@npm:20.0.2"
+"@react-native-community/cli-tools@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-tools@npm:20.1.2"
dependencies:
"@vscode/sudo-prompt": "npm:^9.0.0"
appdirsjs: "npm:^1.2.4"
- chalk: "npm:^4.1.2"
execa: "npm:^5.0.0"
find-up: "npm:^5.0.0"
launch-editor: "npm:^2.9.1"
mime: "npm:^2.4.1"
ora: "npm:^5.4.1"
+ picocolors: "npm:^1.1.1"
prompts: "npm:^2.4.2"
semver: "npm:^7.5.2"
- checksum: 10/8f1c752a6bffa4dc201446bd4d8a7162ae296e87e3a7f2d87201e79cc9ceadb9ed4daafde83b732d79f54f76c4294e8822fae483c9120c358bc422482d98c045
+ checksum: 10/6eeeeb38495c9f6636840da0ef564db99d6e69d7672dd4cdeff4b8cc128d00de56d2ea74c0c7fda6c743d1f0a642d481c44f6cdd38d8f57ccdd53e9608930bca
languageName: node
linkType: hard
-"@react-native-community/cli-types@npm:20.0.2":
- version: 20.0.2
- resolution: "@react-native-community/cli-types@npm:20.0.2"
+"@react-native-community/cli-types@npm:20.1.2":
+ version: 20.1.2
+ resolution: "@react-native-community/cli-types@npm:20.1.2"
dependencies:
joi: "npm:^17.2.1"
- checksum: 10/b4e708fe759ef995b99bdbe89f0e83a00cba680c01a119d317f445528e8321d89a842e0641ad2a08f4c3793ddb9e02b0045d2e82da66d279cb21ee42961ba9ce
+ checksum: 10/b40aaa3e5ccdad210f67760be01cff34760b7107c0afc93a394733317a88eca2a8b8490b977c8d74d98822d2c2117a1a7101c33105bcdd03277c071c7daca510
languageName: node
linkType: hard
"@react-native-community/cli@npm:latest":
- version: 20.0.2
- resolution: "@react-native-community/cli@npm:20.0.2"
- dependencies:
- "@react-native-community/cli-clean": "npm:20.0.2"
- "@react-native-community/cli-config": "npm:20.0.2"
- "@react-native-community/cli-doctor": "npm:20.0.2"
- "@react-native-community/cli-server-api": "npm:20.0.2"
- "@react-native-community/cli-tools": "npm:20.0.2"
- "@react-native-community/cli-types": "npm:20.0.2"
- chalk: "npm:^4.1.2"
+ version: 20.1.2
+ resolution: "@react-native-community/cli@npm:20.1.2"
+ dependencies:
+ "@react-native-community/cli-clean": "npm:20.1.2"
+ "@react-native-community/cli-config": "npm:20.1.2"
+ "@react-native-community/cli-doctor": "npm:20.1.2"
+ "@react-native-community/cli-server-api": "npm:20.1.2"
+ "@react-native-community/cli-tools": "npm:20.1.2"
+ "@react-native-community/cli-types": "npm:20.1.2"
commander: "npm:^9.4.1"
deepmerge: "npm:^4.3.0"
execa: "npm:^5.0.0"
find-up: "npm:^5.0.0"
fs-extra: "npm:^8.1.0"
graceful-fs: "npm:^4.1.3"
+ picocolors: "npm:^1.1.1"
prompts: "npm:^2.4.2"
semver: "npm:^7.5.2"
bin:
rnc-cli: build/bin.js
- checksum: 10/8de75d8ab9c3ffce215e4dcff57832f22e8f8853a212dbd0c2b8e96cff6e6511593d7ed064aba920a8245147b4079a77ab4445461bab97a9e08bf84472a6e8e6
+ checksum: 10/85c0f4d2ca4dbbeb47f9439bf0da22abd18a39fccf2736dc47efcc47accbc377c32aa0b75408308fd47a60658e72266e2c645f7f9675a1faf5e4c7dc737c20a8
languageName: node
linkType: hard
@@ -4805,20 +4383,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-native/metro-babel-transformer@npm:0.81.5":
- version: 0.81.5
- resolution: "@react-native/metro-babel-transformer@npm:0.81.5"
- dependencies:
- "@babel/core": "npm:^7.25.2"
- "@react-native/babel-preset": "npm:0.81.5"
- hermes-parser: "npm:0.29.1"
- nullthrows: "npm:^1.1.1"
- peerDependencies:
- "@babel/core": "*"
- checksum: 10/401cd5e396a0c04865164c8321c29c17b9cdfbfef5efdf771befb77f830fd28c0bafe116f6d51930e684372f37b4a47f143a404341780187ae9e9fab0da39af4
- languageName: node
- linkType: hard
-
"@react-native/metro-babel-transformer@npm:0.81.6":
version: 0.81.6
resolution: "@react-native/metro-babel-transformer@npm:0.81.6"
@@ -4847,19 +4411,7 @@ __metadata:
languageName: node
linkType: hard
-"@react-native/metro-config@npm:^0.81.5":
- version: 0.81.5
- resolution: "@react-native/metro-config@npm:0.81.5"
- dependencies:
- "@react-native/js-polyfills": "npm:0.81.5"
- "@react-native/metro-babel-transformer": "npm:0.81.5"
- metro-config: "npm:^0.83.1"
- metro-runtime: "npm:^0.83.1"
- checksum: 10/13af9cb8f743e8ae51fe0c77db4c61070ef31074b985911ad03b53ec79985f3ba261f1b0026bc62b1b070a3954c8928b73d2d956fc13bad6ece3699b3f5d7254
- languageName: node
- linkType: hard
-
-"@react-native/metro-config@npm:^0.81.6":
+"@react-native/metro-config@npm:^0.81.5, @react-native/metro-config@npm:^0.81.6":
version: 0.81.6
resolution: "@react-native/metro-config@npm:0.81.6"
dependencies:
@@ -4908,25 +4460,25 @@ __metadata:
linkType: hard
"@react-navigation/bottom-tabs@npm:^7.4.0":
- version: 7.8.11
- resolution: "@react-navigation/bottom-tabs@npm:7.8.11"
+ version: 7.15.2
+ resolution: "@react-navigation/bottom-tabs@npm:7.15.2"
dependencies:
- "@react-navigation/elements": "npm:^2.9.1"
+ "@react-navigation/elements": "npm:^2.9.8"
color: "npm:^4.2.3"
sf-symbols-typescript: "npm:^2.1.0"
peerDependencies:
- "@react-navigation/native": ^7.1.24
+ "@react-navigation/native": ^7.1.31
react: ">= 18.2.0"
react-native: "*"
react-native-safe-area-context: ">= 4.0.0"
react-native-screens: ">= 4.0.0"
- checksum: 10/313f4daf2a02325460ee6f2515adf4273c3f0cec9001f5ea73c77ad5ce25d003fa623b593390af111a1db505a5eb3793bae32fd029dd1f740fe5b7b39e19f923
+ checksum: 10/f76179664388dd025c4c6fc5696335407e5769417ffa7a364d601e019e734ac950200071ea417d5de3a1cad26b127251d9237890adbece9ccda56e32c996f807
languageName: node
linkType: hard
-"@react-navigation/core@npm:^7.14.0":
- version: 7.14.0
- resolution: "@react-navigation/core@npm:7.14.0"
+"@react-navigation/core@npm:^7.15.1":
+ version: 7.15.1
+ resolution: "@react-navigation/core@npm:7.15.1"
dependencies:
"@react-navigation/routers": "npm:^7.5.3"
escape-string-regexp: "npm:^4.0.0"
@@ -4938,93 +4490,73 @@ __metadata:
use-sync-external-store: "npm:^1.5.0"
peerDependencies:
react: ">= 18.2.0"
- checksum: 10/fa43ad12304f0dfa60688c73f59ac374c1900d1bad1823ab2b1454ab7e6376d0038ec2a597f67fa09fabe4381bfd210fb048518d61ad4fc44d6d608a0ceb6a1a
+ checksum: 10/308e7c0748827b47870dbac537b545bc7b4b975d64d136ca18c64970449195a6394ec49608e1063a6374c1da31a984b0e06e12de997babaddd201b400f34d37c
languageName: node
linkType: hard
"@react-navigation/drawer@npm:^7.8.1":
- version: 7.8.1
- resolution: "@react-navigation/drawer@npm:7.8.1"
+ version: 7.9.2
+ resolution: "@react-navigation/drawer@npm:7.9.2"
dependencies:
- "@react-navigation/elements": "npm:^2.9.5"
+ "@react-navigation/elements": "npm:^2.9.8"
color: "npm:^4.2.3"
react-native-drawer-layout: "npm:^4.2.2"
use-latest-callback: "npm:^0.2.4"
peerDependencies:
- "@react-navigation/native": ^7.1.28
+ "@react-navigation/native": ^7.1.31
react: ">= 18.2.0"
react-native: "*"
react-native-gesture-handler: ">= 2.0.0"
react-native-reanimated: ">= 2.0.0"
react-native-safe-area-context: ">= 4.0.0"
- react-native-screens: ">= 4.0.0"
- checksum: 10/1c39458642865379a55ea456937fc6e0eef07b0430b48ece64a2f96f393f81702831ed25981ade1938d1e72701062d4c1c3b60ded377a8edce11d0a3ce7f7af9
- languageName: node
- linkType: hard
-
-"@react-navigation/elements@npm:^2.9.1":
- version: 2.9.1
- resolution: "@react-navigation/elements@npm:2.9.1"
- dependencies:
- color: "npm:^4.2.3"
- use-latest-callback: "npm:^0.2.4"
- use-sync-external-store: "npm:^1.5.0"
- peerDependencies:
- "@react-native-masked-view/masked-view": ">= 0.2.0"
- "@react-navigation/native": ^7.1.24
- react: ">= 18.2.0"
- react-native: "*"
- react-native-safe-area-context: ">= 4.0.0"
- peerDependenciesMeta:
- "@react-native-masked-view/masked-view":
- optional: true
- checksum: 10/ae4bb3be4773d12001a469cd972467cd4f83affe5eded4e972a9af1a14dee54b13bbb6d8481a7166329e028e9943e63d19ff36473d29b095053ca8de773f8939
+ react-native-screens: ">= 4.0.0"
+ checksum: 10/47b37265d0ee005e6194a0353687b8f36ed33c7f3fd059bbb110abcdeed2ab8a3f8e9fdca8875a02a92eae7794035d5887a66c7f862f84077286f2aec2f21e23
languageName: node
linkType: hard
-"@react-navigation/elements@npm:^2.9.5":
- version: 2.9.5
- resolution: "@react-navigation/elements@npm:2.9.5"
+"@react-navigation/elements@npm:^2.9.8":
+ version: 2.9.8
+ resolution: "@react-navigation/elements@npm:2.9.8"
dependencies:
color: "npm:^4.2.3"
use-latest-callback: "npm:^0.2.4"
use-sync-external-store: "npm:^1.5.0"
peerDependencies:
"@react-native-masked-view/masked-view": ">= 0.2.0"
- "@react-navigation/native": ^7.1.28
+ "@react-navigation/native": ^7.1.31
react: ">= 18.2.0"
react-native: "*"
react-native-safe-area-context: ">= 4.0.0"
peerDependenciesMeta:
"@react-native-masked-view/masked-view":
optional: true
- checksum: 10/b71c367082527dda303dfaa319af930ccbb1622f2cbe018382c8070c91944b59891fcabe048a76590d52ee07eac7ca9acb33e03fdacd8092aff1d58a165b0762
+ checksum: 10/b34fc3c69f2bbdf18bf9eecf27c866adc806e90f6bb773f35dc35cd8454c822609ced4446c09feb646002a2ee69e6310b28635627c9132081a325e6b1cc370e7
languageName: node
linkType: hard
"@react-navigation/native-stack@npm:^7.3.16":
- version: 7.8.5
- resolution: "@react-navigation/native-stack@npm:7.8.5"
+ version: 7.14.2
+ resolution: "@react-navigation/native-stack@npm:7.14.2"
dependencies:
- "@react-navigation/elements": "npm:^2.9.1"
+ "@react-navigation/elements": "npm:^2.9.8"
color: "npm:^4.2.3"
sf-symbols-typescript: "npm:^2.1.0"
warn-once: "npm:^0.1.1"
peerDependencies:
- "@react-navigation/native": ^7.1.24
+ "@react-navigation/native": ^7.1.31
react: ">= 18.2.0"
react-native: "*"
react-native-safe-area-context: ">= 4.0.0"
react-native-screens: ">= 4.0.0"
- checksum: 10/69381f0f938aed5b4ecfd8d980f4d01f510dd2d3a932c59e7e8c9e7f9c64f38c239a1ffe51fb794c238b7e661346799bdada5cb73a4eabf999b8d3c3a84d699a
+ checksum: 10/d1d1b454d57842d87457c1a556b464fa99d3d94948ffde322fe854d7f5c9909d9bd0e9ee7d051376cb9066fd9619934ce468b2809fd4e8aa3d8b6d6a31cfb3e7
languageName: node
linkType: hard
"@react-navigation/native@npm:^7.1.28, @react-navigation/native@npm:^7.1.8":
- version: 7.1.28
- resolution: "@react-navigation/native@npm:7.1.28"
+ version: 7.1.31
+ resolution: "@react-navigation/native@npm:7.1.31"
dependencies:
- "@react-navigation/core": "npm:^7.14.0"
+ "@react-navigation/core": "npm:^7.15.1"
escape-string-regexp: "npm:^4.0.0"
fast-deep-equal: "npm:^3.1.3"
nanoid: "npm:^3.3.11"
@@ -5032,7 +4564,7 @@ __metadata:
peerDependencies:
react: ">= 18.2.0"
react-native: "*"
- checksum: 10/64f2d3136ad4034315b2aaf81d0ffd3d73425787aebf3ef7934dfb50931d50cbc3322378fdc240df5d795f5c1ab361038c3200cc24c266c8a089706ca1f4edb7
+ checksum: 10/b76efac7073055968e7c3300c6812932c0cdec6c9de1bdae0a80ecbee217c2817b0fa5012cd0817d3f6abe9c198032787bfcee4f4ec080b5827510c11c894cc0
languageName: node
linkType: hard
@@ -5090,9 +4622,9 @@ __metadata:
linkType: hard
"@sinclair/typebox@npm:^0.27.8":
- version: 0.27.8
- resolution: "@sinclair/typebox@npm:0.27.8"
- checksum: 10/297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d
+ version: 0.27.10
+ resolution: "@sinclair/typebox@npm:0.27.10"
+ checksum: 10/1498c5ef1375787e6272528615d5c262afb60873191d2441316359817b1c411917063c8be102ef15b0b5c62243a9daa7aefc8426f20eb406b67038b3eaa0695a
languageName: node
linkType: hard
@@ -5420,11 +4952,11 @@ __metadata:
linkType: hard
"@types/node@npm:*":
- version: 24.10.1
- resolution: "@types/node@npm:24.10.1"
+ version: 25.3.1
+ resolution: "@types/node@npm:25.3.1"
dependencies:
- undici-types: "npm:~7.16.0"
- checksum: 10/ddac8c97be5f7401e31ea0e9316c6e864993c6cd06689b7f9874ecfb576ef8349f2d14298248a08b94a6dd029570a46a285cddc4d50e524817f1a3730b29a86e
+ undici-types: "npm:~7.18.0"
+ checksum: 10/7f999e88e7ff3d2e2ee4efbf1de60d9375577d1ad3e1bee01455ec9d8257da2fb1f83dce4cb8fdf9c05dde9fec9e54f61fc9b1731393b53fc74f254712de9f6e
languageName: node
linkType: hard
@@ -5446,6 +4978,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/react@npm:~19.2.0":
+ version: 19.2.14
+ resolution: "@types/react@npm:19.2.14"
+ dependencies:
+ csstype: "npm:^3.2.2"
+ checksum: 10/fbff239089ee64b6bd9b00543594db498278b06de527ef1b0f71bb0eb09cc4445a71b5dd3c0d3d0257255c4eed94406be40a74ad4a987ade8a8d5dd65c82bc5f
+ languageName: node
+ linkType: hard
+
"@types/semver@npm:^7.3.12":
version: 7.7.1
resolution: "@types/semver@npm:7.7.1"
@@ -5836,9 +5377,9 @@ __metadata:
linkType: hard
"@vscode/sudo-prompt@npm:^9.0.0":
- version: 9.3.1
- resolution: "@vscode/sudo-prompt@npm:9.3.1"
- checksum: 10/233edb992ae5dda69b9c63101f85a7996ff7034cb9b0ea976f3ab06483511a35162a650d8e081ded5f07aa9b2f2bac93e45420d956cf1b1d8a76ac385d4a9581
+ version: 9.3.2
+ resolution: "@vscode/sudo-prompt@npm:9.3.2"
+ checksum: 10/2eabbf59ba784c5828d9f45cde2ada83f51796d88dea05ed0c270a98545ad5f47c8d48e54c2ed335273ec75499e9700ee8b48f1d9bf2bb3e42050faf1070d8c3
languageName: node
linkType: hard
@@ -5872,7 +5413,7 @@ __metadata:
languageName: node
linkType: hard
-"accepts@npm:^1.3.7, accepts@npm:^1.3.8, accepts@npm:~1.3.7":
+"accepts@npm:^1.3.7, accepts@npm:^1.3.8, accepts@npm:~1.3.8":
version: 1.3.8
resolution: "accepts@npm:1.3.8"
dependencies:
@@ -5902,11 +5443,11 @@ __metadata:
linkType: hard
"acorn@npm:^8.15.0, acorn@npm:^8.9.0":
- version: 8.15.0
- resolution: "acorn@npm:8.15.0"
+ version: 8.16.0
+ resolution: "acorn@npm:8.16.0"
bin:
acorn: bin/acorn
- checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4
+ checksum: 10/690c673bb4d61b38ef82795fab58526471ad7f7e67c0e40c4ff1e10ecd80ce5312554ef633c9995bfc4e6d170cef165711f9ca9e49040b62c0c66fbf2dd3df2b
languageName: node
linkType: hard
@@ -5928,14 +5469,26 @@ __metadata:
linkType: hard
"ajv@npm:^6.12.4":
- version: 6.12.6
- resolution: "ajv@npm:6.12.6"
+ version: 6.14.0
+ resolution: "ajv@npm:6.14.0"
dependencies:
fast-deep-equal: "npm:^3.1.1"
fast-json-stable-stringify: "npm:^2.0.0"
json-schema-traverse: "npm:^0.4.1"
uri-js: "npm:^4.2.2"
- checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c
+ checksum: 10/c71f14dd2b6f2535d043f74019c8169f7aeb1106bafbb741af96f34fdbf932255c919ddd46344043d03b62ea0ccb319f83667ec5eedf612393f29054fe5ce4a5
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^8.11.0":
+ version: 8.18.0
+ resolution: "ajv@npm:8.18.0"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.3"
+ fast-uri: "npm:^3.0.1"
+ json-schema-traverse: "npm:^1.0.0"
+ require-from-string: "npm:^2.0.2"
+ checksum: 10/bfed9de827a2b27c6d4084324eda76a4e32bdde27410b3e9b81d06e6f8f5c78370fc6b93fe1d869f1939ff1d7c4ae8896960995acb8425e3e9288c8884247c48
languageName: node
linkType: hard
@@ -5980,7 +5533,7 @@ __metadata:
languageName: node
linkType: hard
-"ansi-regex@npm:^6.0.1":
+"ansi-regex@npm:^6.2.2":
version: 6.2.2
resolution: "ansi-regex@npm:6.2.2"
checksum: 10/9b17ce2c6daecc75bcd5966b9ad672c23b184dc3ed9bf3c98a0702f0d2f736c15c10d461913568f2cf527a5e64291c7473358885dd493305c84a1cfed66ba94f
@@ -6075,23 +5628,23 @@ __metadata:
languageName: node
linkType: hard
-"arkregex@npm:0.0.4":
- version: 0.0.4
- resolution: "arkregex@npm:0.0.4"
+"arkregex@npm:0.0.5":
+ version: 0.0.5
+ resolution: "arkregex@npm:0.0.5"
dependencies:
"@ark/util": "npm:0.56.0"
- checksum: 10/af9eccf7e931a810ee18196ffa4c97d436d807d6332de9ae4dbc7dec0f315b6cb69990cad40d3344de9464ec191024a1354d3765d19868c668acd4ead5820ea6
+ checksum: 10/c5eca109df57639b3245e1e72efe1b43cf881a2234b29736b11f57d29674d9ef78a2dcf54f5381a33690d53ce8989520bc123bb686dcce83f15c44f141c7f8a9
languageName: node
linkType: hard
"arktype@npm:^2.1.15":
- version: 2.1.28
- resolution: "arktype@npm:2.1.28"
+ version: 2.1.29
+ resolution: "arktype@npm:2.1.29"
dependencies:
"@ark/schema": "npm:0.56.0"
"@ark/util": "npm:0.56.0"
- arkregex: "npm:0.0.4"
- checksum: 10/790503fdbcaf2c549a96d4ffe83938d12221817f7c0d9939e857334e3bbca2895c4d34edfc66e74f2e925e6d97cdb280160ec5af39346f960d4d59e4b75ab3ed
+ arkregex: "npm:0.0.5"
+ checksum: 10/091df54e5df0282a26f5de74cc001569483fc61b3297277a51cb8244f277334a549cf8ae3342ca3bbde95bd10172aaa2f86e6c5738e2853b2b66c088a7c9f398
languageName: node
linkType: hard
@@ -6326,16 +5879,16 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-polyfill-corejs2@npm:^0.4.14":
- version: 0.4.14
- resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14"
+"babel-plugin-polyfill-corejs2@npm:^0.4.14, babel-plugin-polyfill-corejs2@npm:^0.4.15":
+ version: 0.4.15
+ resolution: "babel-plugin-polyfill-corejs2@npm:0.4.15"
dependencies:
- "@babel/compat-data": "npm:^7.27.7"
- "@babel/helper-define-polyfill-provider": "npm:^0.6.5"
+ "@babel/compat-data": "npm:^7.28.6"
+ "@babel/helper-define-polyfill-provider": "npm:^0.6.6"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
- checksum: 10/8ec00a1b821ccbfcc432630da66e98bc417f5301f4ce665269d50d245a18ad3ce8a8af2a007f28e3defcd555bb8ce65f16b0d4b6d131bd788e2b97d8b8953332
+ checksum: 10/e5f8a4e716400b2b5c51f7b3c0eec58da92f1d8cc1c6fe2e32555c98bc594be1de7fa1da373f8e42ab098c33867c4cc2931ce648c92aab7a4f4685417707c438
languageName: node
linkType: hard
@@ -6351,14 +5904,26 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-polyfill-regenerator@npm:^0.6.5":
- version: 0.6.5
- resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5"
+"babel-plugin-polyfill-corejs3@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "babel-plugin-polyfill-corejs3@npm:0.14.0"
dependencies:
- "@babel/helper-define-polyfill-provider": "npm:^0.6.5"
+ "@babel/helper-define-polyfill-provider": "npm:^0.6.6"
+ core-js-compat: "npm:^3.48.0"
+ peerDependencies:
+ "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
+ checksum: 10/09c854a3bda9a930fbce4b80d52a24e5b0744fccb0c81bf8f470d62296f197a2afe111b2b9ecb0d8a47068de2f938d14b748295953377e47594b0673d53c9396
+ languageName: node
+ linkType: hard
+
+"babel-plugin-polyfill-regenerator@npm:^0.6.5, babel-plugin-polyfill-regenerator@npm:^0.6.6":
+ version: 0.6.6
+ resolution: "babel-plugin-polyfill-regenerator@npm:0.6.6"
+ dependencies:
+ "@babel/helper-define-polyfill-provider": "npm:^0.6.6"
peerDependencies:
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
- checksum: 10/ed1932fa9a31e0752fd10ebf48ab9513a654987cab1182890839523cb898559d24ae0578fdc475d9f995390420e64eeaa4b0427045b56949dace3c725bc66dbb
+ checksum: 10/8de7ea32856e75784601cacf8f4e3cbf04ce1fd05d56614b08b7bbe0674d1e59e37ccaa1c7ed16e3b181a63abe5bd43a1ab0e28b8c95618a9ebf0be5e24d6b25
languageName: node
linkType: hard
@@ -6478,45 +6043,6 @@ __metadata:
languageName: node
linkType: hard
-"babel-preset-expo@npm:~54.0.8":
- version: 54.0.8
- resolution: "babel-preset-expo@npm:54.0.8"
- dependencies:
- "@babel/helper-module-imports": "npm:^7.25.9"
- "@babel/plugin-proposal-decorators": "npm:^7.12.9"
- "@babel/plugin-proposal-export-default-from": "npm:^7.24.7"
- "@babel/plugin-syntax-export-default-from": "npm:^7.24.7"
- "@babel/plugin-transform-class-static-block": "npm:^7.27.1"
- "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9"
- "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8"
- "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7"
- "@babel/plugin-transform-parameters": "npm:^7.24.7"
- "@babel/plugin-transform-private-methods": "npm:^7.24.7"
- "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7"
- "@babel/plugin-transform-runtime": "npm:^7.24.7"
- "@babel/preset-react": "npm:^7.22.15"
- "@babel/preset-typescript": "npm:^7.23.0"
- "@react-native/babel-preset": "npm:0.81.5"
- babel-plugin-react-compiler: "npm:^1.0.0"
- babel-plugin-react-native-web: "npm:~0.21.0"
- babel-plugin-syntax-hermes-parser: "npm:^0.29.1"
- babel-plugin-transform-flow-enums: "npm:^0.0.2"
- debug: "npm:^4.3.4"
- resolve-from: "npm:^5.0.0"
- peerDependencies:
- "@babel/runtime": ^7.20.0
- expo: "*"
- react-refresh: ">=0.14.0 <1.0.0"
- peerDependenciesMeta:
- "@babel/runtime":
- optional: true
- expo:
- optional: true
- checksum: 10/7ecd779623fb80cb6eb559dc1b8fcf54e6128bff412336875fb97159abc847ed9aa8f04862d3f5054fbce844ee3fbaac2af16a65ddf26ab92f3855bab86bd57c
- languageName: node
- linkType: hard
-
"babel-preset-jest@npm:30.2.0":
version: 30.2.0
resolution: "babel-preset-jest@npm:30.2.0"
@@ -6548,6 +6074,13 @@ __metadata:
languageName: node
linkType: hard
+"balanced-match@npm:^4.0.2":
+ version: 4.0.4
+ resolution: "balanced-match@npm:4.0.4"
+ checksum: 10/fb07bb66a0959c2843fc055838047e2a95ccebb837c519614afb067ebfdf2fa967ca8d712c35ced07f2cd26fc6f07964230b094891315ad74f11eba3d53178a0
+ languageName: node
+ linkType: hard
+
"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1":
version: 1.5.1
resolution: "base64-js@npm:1.5.1"
@@ -6556,11 +6089,11 @@ __metadata:
linkType: hard
"baseline-browser-mapping@npm:^2.9.0":
- version: 2.9.2
- resolution: "baseline-browser-mapping@npm:2.9.2"
+ version: 2.10.0
+ resolution: "baseline-browser-mapping@npm:2.10.0"
bin:
- baseline-browser-mapping: dist/cli.js
- checksum: 10/6e42ae4aaaa0becd37a58b00aa4734063a59b752b5bb66776fc73858d8d7eecea007f4af67fba7c48a9022ec243ad6a77aee735d9e063b1220a7f39b8cd39f4b
+ baseline-browser-mapping: dist/cli.cjs
+ checksum: 10/8145e076e4299f04c7a412e6ea63803e330153cd89c47b5303f9b56b58078f4c3d5a5b5332c1069da889e76facacca4d43f8940375f7e73ce0a4d96214332953
languageName: node
linkType: hard
@@ -6598,23 +6131,20 @@ __metadata:
languageName: node
linkType: hard
-"body-parser@npm:^1.20.3":
- version: 1.20.4
- resolution: "body-parser@npm:1.20.4"
+"body-parser@npm:^2.2.2":
+ version: 2.2.2
+ resolution: "body-parser@npm:2.2.2"
dependencies:
- bytes: "npm:~3.1.2"
- content-type: "npm:~1.0.5"
- debug: "npm:2.6.9"
- depd: "npm:2.0.0"
- destroy: "npm:~1.2.0"
- http-errors: "npm:~2.0.1"
- iconv-lite: "npm:~0.4.24"
- on-finished: "npm:~2.4.1"
- qs: "npm:~6.14.0"
- raw-body: "npm:~2.5.3"
- type-is: "npm:~1.6.18"
- unpipe: "npm:~1.0.0"
- checksum: 10/ff67e28d3f426707be8697a75fdf8d564dc50c341b41f054264d8ab6e2924e519c7ce8acc9d0de05328fdc41e1d9f3f200aec9c1cfb1867d6b676a410d97c689
+ bytes: "npm:^3.1.2"
+ content-type: "npm:^1.0.5"
+ debug: "npm:^4.4.3"
+ http-errors: "npm:^2.0.0"
+ iconv-lite: "npm:^0.7.0"
+ on-finished: "npm:^2.4.1"
+ qs: "npm:^6.14.1"
+ raw-body: "npm:^3.0.1"
+ type-is: "npm:^2.0.1"
+ checksum: 10/69671f67d4d5ae5974593901a92d639757231da1725ed6de4d35e86cde9ce7650afdf1cd28df9b6f7892ea7f9eb03ccb30c70fe27d679275ae4cb4aae5ce1b21
languageName: node
linkType: hard
@@ -6662,12 +6192,12 @@ __metadata:
languageName: node
linkType: hard
-"brace-expansion@npm:^2.0.1":
- version: 2.0.2
- resolution: "brace-expansion@npm:2.0.2"
+"brace-expansion@npm:^5.0.2":
+ version: 5.0.3
+ resolution: "brace-expansion@npm:5.0.3"
dependencies:
- balanced-match: "npm:^1.0.0"
- checksum: 10/01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488
+ balanced-match: "npm:^4.0.2"
+ checksum: 10/8ba7deae4ca333d52418d2cde3287ac23f44f7330d92c3ecd96a8941597bea8aab02227bd990944d6711dd549bcc6e550fe70be5d94aa02e2fdc88942f480c9b
languageName: node
linkType: hard
@@ -6680,7 +6210,7 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.25.0, browserslist@npm:^4.28.0":
+"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.25.0, browserslist@npm:^4.28.1":
version: 4.28.1
resolution: "browserslist@npm:4.28.1"
dependencies:
@@ -6731,7 +6261,7 @@ __metadata:
languageName: node
linkType: hard
-"bytes@npm:3.1.2, bytes@npm:~3.1.2":
+"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2":
version: 3.1.2
resolution: "bytes@npm:3.1.2"
checksum: 10/a10abf2ba70c784471d6b4f58778c0beeb2b5d405148e66affa91f23a9f13d07603d0a0354667310ae1d6dc141474ffd44e2a074be0f6e2254edb8fc21445388
@@ -6843,9 +6373,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001759":
- version: 1.0.30001759
- resolution: "caniuse-lite@npm:1.0.30001759"
- checksum: 10/da0ec28dd993dffa99402914903426b9466d2798d41c1dc9341fcb7dd10f58fdd148122e2c65001246c030ba1c939645b7b4597f6321e3246dc792323bb11541
+ version: 1.0.30001774
+ resolution: "caniuse-lite@npm:1.0.30001774"
+ checksum: 10/63c87aeac08548847ecd12746144029761707d9eae57750f673543a2b2a6126bca98584dd551818e8dc2a480d11489bebe0027af26de4ee46466e7b216109862
languageName: node
linkType: hard
@@ -7194,20 +6724,20 @@ __metadata:
linkType: hard
"comment-json@npm:^4.2.5":
- version: 4.4.1
- resolution: "comment-json@npm:4.4.1"
+ version: 4.5.1
+ resolution: "comment-json@npm:4.5.1"
dependencies:
array-timsort: "npm:^1.0.3"
core-util-is: "npm:^1.0.3"
esprima: "npm:^4.0.1"
- checksum: 10/2d05701e361320c670623b01343ed9ff180f4b4a38291f19ab9e2ef5269f51c8d1011f003fceff8cbf73d293f53a8ffc8ba1f85ccb1f6d0703829155bd628bce
+ checksum: 10/3bdd2703f26690537f65ef708d62aae3980dba6fc566e82a71d95511b413a6f5f285af9af0415e4739dc6f363db24225e46f5267c576f249100cdb28c3adb00d
languageName: node
linkType: hard
"comment-parser@npm:^1.4.0":
- version: 1.4.1
- resolution: "comment-parser@npm:1.4.1"
- checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b
+ version: 1.4.5
+ resolution: "comment-parser@npm:1.4.5"
+ checksum: 10/4b5cacc7ab1ec48e3f51b788bd7cda567f5c83040e029e5c92eacf0785735a9b44ac49fdaf73d9bd4af9464aa4cc8cc7184902090b55b0023605a845f2666ba4
languageName: node
linkType: hard
@@ -7246,8 +6776,9 @@ __metadata:
"@react-navigation/native": "npm:^7.1.28"
"@shopify/react-native-skia": "npm:2.4.21"
"@types/pngjs": "npm:^6.0.5"
- "@types/react": "npm:~19.1.10"
+ "@types/react": "npm:~19.2.0"
expo: "npm:^54.0.27"
+ expo-build-properties: "npm:~1.0.10"
expo-constants: "npm:~18.0.11"
expo-font: "npm:~14.0.10"
expo-linking: "npm:~8.0.10"
@@ -7261,11 +6792,14 @@ __metadata:
react-native-gesture-handler: "npm:~2.28.0"
react-native-image-picker: "npm:^7.2.2"
react-native-loading-spinner-overlay: "npm:^3.0.1"
+ react-native-nitro-image: "npm:^0.12.0"
+ react-native-nitro-modules: "npm:^0.33.9"
react-native-reanimated: "npm:~4.2.2"
react-native-safe-area-context: "npm:~5.6.0"
react-native-screens: "npm:~4.16.0"
react-native-svg: "npm:15.15.3"
react-native-svg-transformer: "npm:^1.5.3"
+ react-native-vision-camera: "npm:5.0.0-beta.2"
react-native-worklets: "npm:0.7.4"
languageName: unknown
linkType: soft
@@ -7289,7 +6823,7 @@ __metadata:
languageName: node
linkType: hard
-"content-type@npm:~1.0.5":
+"content-type@npm:^1.0.5":
version: 1.0.5
resolution: "content-type@npm:1.0.5"
checksum: 10/585847d98dc7fb8035c02ae2cb76c7a9bd7b25f84c447e5ed55c45c2175e83617c8813871b4ee22f368126af6b2b167df655829007b21aa10302873ea9c62662
@@ -7303,12 +6837,12 @@ __metadata:
languageName: node
linkType: hard
-"core-js-compat@npm:^3.43.0":
- version: 3.47.0
- resolution: "core-js-compat@npm:3.47.0"
+"core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.48.0":
+ version: 3.48.0
+ resolution: "core-js-compat@npm:3.48.0"
dependencies:
- browserslist: "npm:^4.28.0"
- checksum: 10/8555ac0aede2e61e3b37c50d31a9d63bb59e96ef76194bea0521d2778b24d8b20b45bed7bf2fce9df9856872a1c31e03fec1da101507b4dbaba669693dc95f94
+ browserslist: "npm:^4.28.1"
+ checksum: 10/83c326dcfef5e174fd3f8f33c892c66e06d567ce27f323a1197a6c280c0178fe18d3e9c5fb95b00c18b98d6c53fba5c646def5fedaa77310a4297d16dfbe2029
languageName: node
linkType: hard
@@ -7376,13 +6910,6 @@ __metadata:
languageName: node
linkType: hard
-"crypto-random-string@npm:^2.0.0":
- version: 2.0.0
- resolution: "crypto-random-string@npm:2.0.0"
- checksum: 10/0283879f55e7c16fdceacc181f87a0a65c53bc16ffe1d58b9d19a6277adcd71900d02bb2c4843dd55e78c51e30e89b0fec618a7f170ebcc95b33182c28f05fd6
- languageName: node
- linkType: hard
-
"cspell-config-lib@npm:8.19.4":
version: 8.19.4
resolution: "cspell-config-lib@npm:8.19.4"
@@ -7599,7 +7126,7 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:^3.0.2":
+"csstype@npm:^3.0.2, csstype@npm:^3.2.2":
version: 3.2.3
resolution: "csstype@npm:3.2.3"
checksum: 10/ad41baf7e2ffac65ab544d79107bf7cd1a4bb9bab9ac3302f59ab4ba655d5e30942a8ae46e10ba160c6f4ecea464cc95b975ca2fefbdeeacd6ac63f12f99fe1f
@@ -7655,7 +7182,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.1":
+"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.3":
version: 4.4.3
resolution: "debug@npm:4.4.3"
dependencies:
@@ -7684,11 +7211,11 @@ __metadata:
linkType: hard
"decode-named-character-reference@npm:^1.0.0":
- version: 1.2.0
- resolution: "decode-named-character-reference@npm:1.2.0"
+ version: 1.3.0
+ resolution: "decode-named-character-reference@npm:1.3.0"
dependencies:
character-entities: "npm:^2.0.0"
- checksum: 10/f26b23046c1a137c0b41fa51e3ce07ba8364640322c742a31570999784abc8572fc24cb108a76b14ff72ddb75d35aad3d14b10d7743639112145a2664b9d1864
+ checksum: 10/82eb1208abf59d1f1e368285b6880201a3c3f147a4d7ce74e44cd41374ef00c9a376e8595e38002031db63291f91f7f3ff56b9724f715befff8f5566593d6de0
languageName: node
linkType: hard
@@ -7807,7 +7334,7 @@ __metadata:
languageName: node
linkType: hard
-"destroy@npm:1.2.0, destroy@npm:~1.2.0":
+"destroy@npm:1.2.0":
version: 1.2.0
resolution: "destroy@npm:1.2.0"
checksum: 10/0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38
@@ -7968,9 +7495,9 @@ __metadata:
linkType: hard
"electron-to-chromium@npm:^1.5.263":
- version: 1.5.266
- resolution: "electron-to-chromium@npm:1.5.266"
- checksum: 10/2c7e05d1df189013e01b9fa19f5794dc249b80f330ab87f78674fa7416df153e2d32738d16914eee1112b5d8878b6181336e502215a34c63c255da078de5209d
+ version: 1.5.302
+ resolution: "electron-to-chromium@npm:1.5.302"
+ checksum: 10/0d31470d04a0d1ea046dd363370081b67e6fe822949b10cfece0a64fd2f8180afb5ccaf14f4294251e444a0af627eb0dc0156242b714c0f10561adf2a21aa5f7
languageName: node
linkType: hard
@@ -8009,15 +7536,6 @@ __metadata:
languageName: node
linkType: hard
-"encoding@npm:^0.1.13":
- version: 0.1.13
- resolution: "encoding@npm:0.1.13"
- dependencies:
- iconv-lite: "npm:^0.6.2"
- checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f
- languageName: node
- linkType: hard
-
"end-of-stream@npm:^1.1.0":
version: 1.4.5
resolution: "end-of-stream@npm:1.4.5"
@@ -8071,13 +7589,6 @@ __metadata:
languageName: node
linkType: hard
-"err-code@npm:^2.0.2":
- version: 2.0.3
- resolution: "err-code@npm:2.0.3"
- checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd
- languageName: node
- linkType: hard
-
"error-ex@npm:^1.3.1":
version: 1.3.4
resolution: "error-ex@npm:1.3.4"
@@ -8097,18 +7608,18 @@ __metadata:
linkType: hard
"errorhandler@npm:^1.5.1":
- version: 1.5.1
- resolution: "errorhandler@npm:1.5.1"
+ version: 1.5.2
+ resolution: "errorhandler@npm:1.5.2"
dependencies:
- accepts: "npm:~1.3.7"
+ accepts: "npm:~1.3.8"
escape-html: "npm:~1.0.3"
- checksum: 10/73b7abb08fb751107e9bebecc33c40c0641a54be8bda8e4a045f3f5cb7b805041927fef5629ea39b1737799eb52fe2499ca531f11ac51b0294ccc4667d72cb91
+ checksum: 10/7ce0a598cc2c52840e32b46d2da8c7b0a4594aa67e93db46112cf791d4c8a4a1299af7f7aa65253d2e9d42af4d275c96387c0d186427df5ee93d33670bdac541
languageName: node
linkType: hard
-"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0":
- version: 1.24.0
- resolution: "es-abstract@npm:1.24.0"
+"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0, es-abstract@npm:^1.24.1":
+ version: 1.24.1
+ resolution: "es-abstract@npm:1.24.1"
dependencies:
array-buffer-byte-length: "npm:^1.0.2"
arraybuffer.prototype.slice: "npm:^1.0.4"
@@ -8164,7 +7675,7 @@ __metadata:
typed-array-length: "npm:^1.0.7"
unbox-primitive: "npm:^1.1.0"
which-typed-array: "npm:^1.1.19"
- checksum: 10/64e07a886f7439cf5ccfc100f9716e6173e10af6071a50a5031afbdde474a3dbc9619d5965da54e55f8908746a9134a46be02af8c732d574b7b81ed3124e2daf
+ checksum: 10/c84cb69ebae36781309a3ed70ff40b4767a921d3b3518060fac4e08f14ede04491b68e9f318aedf186e349d4af4a40f5d0e4111e46513800e8368551fd09de8c
languageName: node
linkType: hard
@@ -8183,26 +7694,26 @@ __metadata:
linkType: hard
"es-iterator-helpers@npm:^1.2.1":
- version: 1.2.1
- resolution: "es-iterator-helpers@npm:1.2.1"
+ version: 1.2.2
+ resolution: "es-iterator-helpers@npm:1.2.2"
dependencies:
call-bind: "npm:^1.0.8"
- call-bound: "npm:^1.0.3"
+ call-bound: "npm:^1.0.4"
define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.6"
+ es-abstract: "npm:^1.24.1"
es-errors: "npm:^1.3.0"
- es-set-tostringtag: "npm:^2.0.3"
+ es-set-tostringtag: "npm:^2.1.0"
function-bind: "npm:^1.1.2"
- get-intrinsic: "npm:^1.2.6"
+ get-intrinsic: "npm:^1.3.0"
globalthis: "npm:^1.0.4"
gopd: "npm:^1.2.0"
has-property-descriptors: "npm:^1.0.2"
has-proto: "npm:^1.2.0"
has-symbols: "npm:^1.1.0"
internal-slot: "npm:^1.1.0"
- iterator.prototype: "npm:^1.1.4"
+ iterator.prototype: "npm:^1.1.5"
safe-array-concat: "npm:^1.1.3"
- checksum: 10/802e0e8427a05ff4a5b0c70c7fdaaeff37cdb81a28694aeb7bfb831c6ab340d8f3deeb67b96732ff9e9699ea240524d5ea8a9a6a335fcd15aa3983b27b06113f
+ checksum: 10/17b5b2834c4f5719d6ce0e837a4d11c6ba4640bee28290d22ec4daf7106ec3d5fe0ff4f7e5dbaa2b4612e8335934360e964a8f08608d43f2889da106b25481ee
languageName: node
linkType: hard
@@ -8215,7 +7726,7 @@ __metadata:
languageName: node
linkType: hard
-"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0":
+"es-set-tostringtag@npm:^2.1.0":
version: 2.1.0
resolution: "es-set-tostringtag@npm:2.1.0"
dependencies:
@@ -8355,11 +7866,11 @@ __metadata:
linkType: hard
"eslint-plugin-prettier@npm:^5.0.1":
- version: 5.5.4
- resolution: "eslint-plugin-prettier@npm:5.5.4"
+ version: 5.5.5
+ resolution: "eslint-plugin-prettier@npm:5.5.5"
dependencies:
- prettier-linter-helpers: "npm:^1.0.0"
- synckit: "npm:^0.11.7"
+ prettier-linter-helpers: "npm:^1.0.1"
+ synckit: "npm:^0.11.12"
peerDependencies:
"@types/eslint": ">=8.0.0"
eslint: ">=8.0.0"
@@ -8370,7 +7881,7 @@ __metadata:
optional: true
eslint-config-prettier:
optional: true
- checksum: 10/5e39e3b7046d4ba0e1111cc2048630ee9d0aa5d5bb00d6230bef56893fdae37cbe2261babfb26db350cc2ad517c81d283b3f8b04cfee4e5aef7cd4bee72f90de
+ checksum: 10/36c22c2fa2fd7c61ed292af1280e1d8f94dfe1671eacc5a503a249ca4b27fd226dbf6a1820457d611915926946f42729488d2dc7a5c320601e6cf1fad0d28f66
languageName: node
linkType: hard
@@ -8533,11 +8044,11 @@ __metadata:
linkType: hard
"esquery@npm:^1.4.2":
- version: 1.6.0
- resolution: "esquery@npm:1.6.0"
+ version: 1.7.0
+ resolution: "esquery@npm:1.7.0"
dependencies:
estraverse: "npm:^5.1.0"
- checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a
+ checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15
languageName: node
linkType: hard
@@ -8585,13 +8096,6 @@ __metadata:
languageName: node
linkType: hard
-"exec-async@npm:^2.2.0":
- version: 2.2.0
- resolution: "exec-async@npm:2.2.0"
- checksum: 10/35932a49c825245e1fe022848a3ffef71717955149a3af8d56bf15b04a21c8f098581ffe2e4916a9dbd7736ce559365ccd55327e72422136adb9f4af867e1203
- languageName: node
- linkType: hard
-
"execa@npm:^4.0.3":
version: 4.1.0
resolution: "execa@npm:4.1.0"
@@ -8647,7 +8151,7 @@ __metadata:
languageName: node
linkType: hard
-"expo-asset@npm:12.0.11, expo-asset@npm:~12.0.11":
+"expo-asset@npm:12.0.11":
version: 12.0.11
resolution: "expo-asset@npm:12.0.11"
dependencies:
@@ -8685,30 +8189,29 @@ __metadata:
languageName: node
linkType: hard
-"expo-calendar@npm:~15.0.8":
- version: 15.0.8
- resolution: "expo-calendar@npm:15.0.8"
+"expo-build-properties@npm:~1.0.10":
+ version: 1.0.10
+ resolution: "expo-build-properties@npm:1.0.10"
+ dependencies:
+ ajv: "npm:^8.11.0"
+ semver: "npm:^7.6.0"
peerDependencies:
expo: "*"
- react-native: "*"
- checksum: 10/7a8538af25f3784467b56a352726c7c3e19d0caecff6a0ed9e0946000dbab0f38f8386b8bb38b35f2d384c66dda5dff3984376eb1282ab6775f75f500abd4b7c
+ checksum: 10/0dde41d659d243268ceae49bba3e4c07b72c245df8124f86fb720bc0556a2c4d03dd75e59e068a07438ef5ba3188b67a7a6516d2a37d3d91429070745b2506a2
languageName: node
linkType: hard
-"expo-constants@npm:~18.0.11":
- version: 18.0.11
- resolution: "expo-constants@npm:18.0.11"
- dependencies:
- "@expo/config": "npm:~12.0.11"
- "@expo/env": "npm:~2.0.8"
+"expo-calendar@npm:~15.0.8":
+ version: 15.0.8
+ resolution: "expo-calendar@npm:15.0.8"
peerDependencies:
expo: "*"
react-native: "*"
- checksum: 10/4da78ce638b417d1cb958b8f7c56a54a84cd1cd600d8e62751a32ca858b130e8fe1db7d97acc765d667e7668e401247016b62bfc88cd8624cc92e2345bbd4cb8
+ checksum: 10/7a8538af25f3784467b56a352726c7c3e19d0caecff6a0ed9e0946000dbab0f38f8386b8bb38b35f2d384c66dda5dff3984376eb1282ab6775f75f500abd4b7c
languageName: node
linkType: hard
-"expo-constants@npm:~18.0.12, expo-constants@npm:~18.0.13":
+"expo-constants@npm:~18.0.11, expo-constants@npm:~18.0.12, expo-constants@npm:~18.0.13":
version: 18.0.13
resolution: "expo-constants@npm:18.0.13"
dependencies:
@@ -8731,30 +8234,7 @@ __metadata:
languageName: node
linkType: hard
-"expo-file-system@npm:~19.0.20":
- version: 19.0.20
- resolution: "expo-file-system@npm:19.0.20"
- peerDependencies:
- expo: "*"
- react-native: "*"
- checksum: 10/c0ead2eb2f97840fea54f88bcc41f0094d5bef19b6261d768bdaa9fd06e5accf40ce49fe183f84d7042484b7595319cf37691123b699b0f2b00c81068582fbe9
- languageName: node
- linkType: hard
-
-"expo-font@npm:~14.0.10":
- version: 14.0.10
- resolution: "expo-font@npm:14.0.10"
- dependencies:
- fontfaceobserver: "npm:^2.1.0"
- peerDependencies:
- expo: "*"
- react: "*"
- react-native: "*"
- checksum: 10/3fb7d87c75c818c3c8503d43f9e13b3d237f2e128bcb59e09b8fdad3eaf1aece2ab89030d5cffbeb5b172d7b030df627e4319b0fdd97e6f6d57e27bbdb520f22
- languageName: node
- linkType: hard
-
-"expo-font@npm:~14.0.11":
+"expo-font@npm:~14.0.10, expo-font@npm:~14.0.11":
version: 14.0.11
resolution: "expo-font@npm:14.0.11"
dependencies:
@@ -8778,30 +8258,15 @@ __metadata:
linkType: hard
"expo-linking@npm:~8.0.10":
- version: 8.0.10
- resolution: "expo-linking@npm:8.0.10"
+ version: 8.0.11
+ resolution: "expo-linking@npm:8.0.11"
dependencies:
- expo-constants: "npm:~18.0.11"
+ expo-constants: "npm:~18.0.12"
invariant: "npm:^2.2.4"
peerDependencies:
react: "*"
react-native: "*"
- checksum: 10/332353a7ca3dd1112e92ba73d95a51fc22c518725b02bd2aca7fdbd12f26b8879d3bcf3321fc94ca95485ebf00e72b42b64af0b11b611bd91ad4f79303342c31
- languageName: node
- linkType: hard
-
-"expo-modules-autolinking@npm:3.0.23":
- version: 3.0.23
- resolution: "expo-modules-autolinking@npm:3.0.23"
- dependencies:
- "@expo/spawn-async": "npm:^1.7.2"
- chalk: "npm:^4.1.0"
- commander: "npm:^7.2.0"
- require-from-string: "npm:^2.0.2"
- resolve-from: "npm:^5.0.0"
- bin:
- expo-modules-autolinking: bin/expo-modules-autolinking.js
- checksum: 10/d16b686a2f8a1b665e2d3bd98c60c94d4a276c24367c8a0bf6d7c81e5ec3c6ac24cec811bc3fc8ec440d7a98355e1123cf9ab3cc830500f325be9a742b50efcb
+ checksum: 10/b43851e173e5b2b21ac7cfc1fef05ae1cb39209c82af73943abb1e701a767e3759cf4a85e47bb181ab8a0c7b080f9b9d9b7d52f6c54f620f06dad7848e05f336
languageName: node
linkType: hard
@@ -8820,18 +8285,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-modules-core@npm:3.0.28":
- version: 3.0.28
- resolution: "expo-modules-core@npm:3.0.28"
- dependencies:
- invariant: "npm:^2.2.4"
- peerDependencies:
- react: "*"
- react-native: "*"
- checksum: 10/9ee68a2f75b7658d05de3ed54be9039e7a248a1c89ca1bf582d1635d2fff50ac0ac6de7a1d2b315aca5df432f0d67064d2cd2ad63ee2b5cb30c9f738fb92a9c7
- languageName: node
- linkType: hard
-
"expo-modules-core@npm:3.0.29":
version: 3.0.29
resolution: "expo-modules-core@npm:3.0.29"
@@ -8845,8 +8298,8 @@ __metadata:
linkType: hard
"expo-router@npm:~6.0.17":
- version: 6.0.17
- resolution: "expo-router@npm:6.0.17"
+ version: 6.0.23
+ resolution: "expo-router@npm:6.0.23"
dependencies:
"@expo/metro-runtime": "npm:^6.1.2"
"@expo/schema-utils": "npm:^0.1.8"
@@ -8876,8 +8329,8 @@ __metadata:
"@react-navigation/drawer": ^7.5.0
"@testing-library/react-native": ">= 12.0.0"
expo: "*"
- expo-constants: ^18.0.11
- expo-linking: ^8.0.10
+ expo-constants: ^18.0.13
+ expo-linking: ^8.0.11
react: "*"
react-dom: "*"
react-native: "*"
@@ -8886,7 +8339,7 @@ __metadata:
react-native-safe-area-context: ">= 5.4.0"
react-native-screens: "*"
react-native-web: "*"
- react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1
+ react-server-dom-webpack: ~19.0.4 || ~19.1.5 || ~19.2.4
peerDependenciesMeta:
"@react-navigation/drawer":
optional: true
@@ -8902,7 +8355,7 @@ __metadata:
optional: true
react-server-dom-webpack:
optional: true
- checksum: 10/3d6e6774add5c84045bc07843c09e4e0f25eb65de5cee6d13f53ff61c2daefb47106db70308d0cead96e9166a31faa8cb94eccc23e57f21e9d9446e6f9c9a6fb
+ checksum: 10/37b92fb8adc038ff5813298235a66bd22ac9a6002d5f016f3ceefa3f96e59910de6e069f0a27b9c23f6b2b40171a6589d31ad944cfe85171a4484937e981676d
languageName: node
linkType: hard
@@ -8925,12 +8378,12 @@ __metadata:
languageName: node
linkType: hard
-"expo@npm:^54.0.0":
- version: 54.0.32
- resolution: "expo@npm:54.0.32"
+"expo@npm:^54.0.0, expo@npm:^54.0.27":
+ version: 54.0.33
+ resolution: "expo@npm:54.0.33"
dependencies:
"@babel/runtime": "npm:^7.20.0"
- "@expo/cli": "npm:54.0.22"
+ "@expo/cli": "npm:54.0.23"
"@expo/config": "npm:~12.0.13"
"@expo/config-plugins": "npm:~54.0.4"
"@expo/devtools": "npm:0.1.8"
@@ -8967,53 +8420,7 @@ __metadata:
expo: bin/cli
expo-modules-autolinking: bin/autolinking
fingerprint: bin/fingerprint
- checksum: 10/78c9b88b98bcf424c00ffdd399b77e6fbf34f2c26a3d420e731bfccd9cdfb54e95f27b539d071155c4144ae7157e2700f9d22d4b2816974b20f8fcf0675bbb05
- languageName: node
- linkType: hard
-
-"expo@npm:^54.0.27":
- version: 54.0.27
- resolution: "expo@npm:54.0.27"
- dependencies:
- "@babel/runtime": "npm:^7.20.0"
- "@expo/cli": "npm:54.0.18"
- "@expo/config": "npm:~12.0.11"
- "@expo/config-plugins": "npm:~54.0.3"
- "@expo/devtools": "npm:0.1.8"
- "@expo/fingerprint": "npm:0.15.4"
- "@expo/metro": "npm:~54.1.0"
- "@expo/metro-config": "npm:54.0.10"
- "@expo/vector-icons": "npm:^15.0.3"
- "@ungap/structured-clone": "npm:^1.3.0"
- babel-preset-expo: "npm:~54.0.8"
- expo-asset: "npm:~12.0.11"
- expo-constants: "npm:~18.0.11"
- expo-file-system: "npm:~19.0.20"
- expo-font: "npm:~14.0.10"
- expo-keep-awake: "npm:~15.0.8"
- expo-modules-autolinking: "npm:3.0.23"
- expo-modules-core: "npm:3.0.28"
- pretty-format: "npm:^29.7.0"
- react-refresh: "npm:^0.14.2"
- whatwg-url-without-unicode: "npm:8.0.0-3"
- peerDependencies:
- "@expo/dom-webview": "*"
- "@expo/metro-runtime": "*"
- react: "*"
- react-native: "*"
- react-native-webview: "*"
- peerDependenciesMeta:
- "@expo/dom-webview":
- optional: true
- "@expo/metro-runtime":
- optional: true
- react-native-webview:
- optional: true
- bin:
- expo: bin/cli
- expo-modules-autolinking: bin/autolinking
- fingerprint: bin/fingerprint
- checksum: 10/58917b6a363d8908395cf283f1e72f5e5c253619e297896160dafe1d18acb8feb46b76d880d9b52c96954aebe78f7069cf623726ad8921d431d07f9527a0699f
+ checksum: 10/ed672f78333cf50545ea1cca8181506604150cca01a8aae782da30ddcba185d68f2d48f2ca10dee575a7abbc7913cca3f4c3d34d98373b0e9706b344030fa929
languageName: node
linkType: hard
@@ -9039,9 +8446,9 @@ __metadata:
linkType: hard
"fast-equals@npm:^5.2.2":
- version: 5.3.3
- resolution: "fast-equals@npm:5.3.3"
- checksum: 10/e9af422e313564f9f5db60a655d50e0baec23140da14165b2d191a243fef7c16eac10c4aa1659acd74c00bf1aa623f46e8eee91742af2beb539a6dfb63c8cd96
+ version: 5.4.0
+ resolution: "fast-equals@npm:5.4.0"
+ checksum: 10/bea068ceb7825d486d88a17ccc3fe889d1833efefa8dc64c83806e797f66b3ea953ac4aebd96af022d828de315ec87476e76418a5da774217d0ab66de53d68f5
languageName: node
linkType: hard
@@ -9072,23 +8479,38 @@ __metadata:
languageName: node
linkType: hard
-"fast-xml-parser@npm:^4.4.1":
- version: 4.5.3
- resolution: "fast-xml-parser@npm:4.5.3"
+"fast-uri@npm:^3.0.1":
+ version: 3.1.0
+ resolution: "fast-uri@npm:3.1.0"
+ checksum: 10/818b2c96dc913bcf8511d844c3d2420e2c70b325c0653633f51821e4e29013c2015387944435cd0ef5322c36c9beecc31e44f71b257aeb8e0b333c1d62bb17c2
+ languageName: node
+ linkType: hard
+
+"fast-xml-builder@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "fast-xml-builder@npm:1.0.0"
+ checksum: 10/06c04d80545e5c9f4d1d6cca00567b5cc09953a92c6328fa48cfb4d7f42630313b8c2bb62e9cb81accee7bb5e1c5312fcae06c3d20dbe52d969a5938233316da
+ languageName: node
+ linkType: hard
+
+"fast-xml-parser@npm:^5.3.6":
+ version: 5.4.1
+ resolution: "fast-xml-parser@npm:5.4.1"
dependencies:
- strnum: "npm:^1.1.1"
+ fast-xml-builder: "npm:^1.0.0"
+ strnum: "npm:^2.1.2"
bin:
fxparser: src/cli/cli.js
- checksum: 10/ca22bf9d65c10b8447c1034c13403e90ecee210e2b3852690df3d8a42b8a46ec655fae7356096abd98a15b89ddaf11878587b1773e0c3be4cbc2ac4af4c7bf95
+ checksum: 10/2b40067c3ad3542ca197d1353bcb0416cd5db20d5c66d74ac176b99af6ff9bd55a6182d36856a2fd477c95b8fc1f07405475f1662a31185480130ba7076c702a
languageName: node
linkType: hard
"fastq@npm:^1.6.0":
- version: 1.19.1
- resolution: "fastq@npm:1.19.1"
+ version: 1.20.1
+ resolution: "fastq@npm:1.20.1"
dependencies:
reusify: "npm:^1.0.4"
- checksum: 10/75679dc226316341c4f2a6b618571f51eac96779906faecd8921b984e844d6ae42fabb2df69b1071327d398d5716693ea9c9c8941f64ac9e89ec2032ce59d730
+ checksum: 10/ab2fe3a7a108112e7752cfe7fc11683c21e595913a6a593ad0b4415f31dddbfc283775ab66f2c8ccea6ab7cfc116157cbddcfae9798d9de98d08fe0a2c3e97b2
languageName: node
linkType: hard
@@ -9250,7 +8672,7 @@ __metadata:
languageName: node
linkType: hard
-"fresh@npm:0.5.2":
+"fresh@npm:~0.5.2":
version: 0.5.2
resolution: "fresh@npm:0.5.2"
checksum: 10/64c88e489b5d08e2f29664eb3c79c705ff9a8eb15d3e597198ef76546d4ade295897a44abb0abd2700e7ef784b2e3cbf1161e4fbf16f59129193fd1030d16da1
@@ -9484,13 +8906,13 @@ __metadata:
linkType: hard
"glob@npm:^13.0.0":
- version: 13.0.0
- resolution: "glob@npm:13.0.0"
+ version: 13.0.6
+ resolution: "glob@npm:13.0.6"
dependencies:
- minimatch: "npm:^10.1.1"
- minipass: "npm:^7.1.2"
- path-scurry: "npm:^2.0.0"
- checksum: 10/de390721d29ee1c9ea41e40ec2aa0de2cabafa68022e237dc4297665a5e4d650776f2573191984ea1640aba1bf0ea34eddef2d8cbfbfc2ad24b5fb0af41d8846
+ minimatch: "npm:^10.2.2"
+ minipass: "npm:^7.1.3"
+ path-scurry: "npm:^2.0.2"
+ checksum: 10/201ad69e5f0aa74e1d8c00a481581f8b8c804b6a4fbfabeeb8541f5d756932800331daeba99b58fb9e4cd67e12ba5a7eba5b82fb476691588418060b84353214
languageName: node
linkType: hard
@@ -9517,15 +8939,6 @@ __metadata:
languageName: node
linkType: hard
-"global-dirs@npm:^0.1.1":
- version: 0.1.1
- resolution: "global-dirs@npm:0.1.1"
- dependencies:
- ini: "npm:^1.3.4"
- checksum: 10/10624f5a8ddb8634c22804c6b24f93fb591c3639a6bc78e3584e01a238fc6f7b7965824184e57d63f6df36980b6c191484ad7bc6c35a1599b8f1d64be64c2a4a
- languageName: node
- linkType: hard
-
"globals@npm:^13.19.0":
version: 13.24.0
resolution: "globals@npm:13.24.0"
@@ -9756,20 +9169,7 @@ __metadata:
languageName: node
linkType: hard
-"http-errors@npm:2.0.0":
- version: 2.0.0
- resolution: "http-errors@npm:2.0.0"
- dependencies:
- depd: "npm:2.0.0"
- inherits: "npm:2.0.4"
- setprototypeof: "npm:1.2.0"
- statuses: "npm:2.0.1"
- toidentifier: "npm:1.0.1"
- checksum: 10/0e7f76ee8ff8a33e58a3281a469815b893c41357378f408be8f6d4aa7d1efafb0da064625518e7078381b6a92325949b119dc38fcb30bdbc4e3a35f78c44c439
- languageName: node
- linkType: hard
-
-"http-errors@npm:~2.0.1":
+"http-errors@npm:^2.0.0, http-errors@npm:~2.0.1":
version: 2.0.1
resolution: "http-errors@npm:2.0.1"
dependencies:
@@ -9823,21 +9223,12 @@ __metadata:
languageName: node
linkType: hard
-"iconv-lite@npm:^0.6.2":
- version: 0.6.3
- resolution: "iconv-lite@npm:0.6.3"
+"iconv-lite@npm:^0.7.0, iconv-lite@npm:^0.7.2, iconv-lite@npm:~0.7.0":
+ version: 0.7.2
+ resolution: "iconv-lite@npm:0.7.2"
dependencies:
safer-buffer: "npm:>= 2.1.2 < 3.0.0"
- checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f
- languageName: node
- linkType: hard
-
-"iconv-lite@npm:~0.4.24":
- version: 0.4.24
- resolution: "iconv-lite@npm:0.4.24"
- dependencies:
- safer-buffer: "npm:>= 2.1.2 < 3"
- checksum: 10/6d3a2dac6e5d1fb126d25645c25c3a1209f70cceecc68b8ef51ae0da3cdc078c151fade7524a30b12a3094926336831fca09c666ef55b37e2c69638b5d6bd2e3
+ checksum: 10/24c937b532f868e938386b62410b303b7c767ce3d08dc2829cbe59464d5a26ef86ae5ad1af6b34eec43ddfea39e7d101638644b0178d67262fa87015d59f983a
languageName: node
linkType: hard
@@ -9929,7 +9320,7 @@ __metadata:
languageName: node
linkType: hard
-"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4":
+"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521
@@ -9943,7 +9334,7 @@ __metadata:
languageName: node
linkType: hard
-"ini@npm:^1.3.4, ini@npm:~1.3.0":
+"ini@npm:~1.3.0":
version: 1.3.8
resolution: "ini@npm:1.3.8"
checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566
@@ -10068,7 +9459,7 @@ __metadata:
languageName: node
linkType: hard
-"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1":
+"is-core-module@npm:^2.16.1":
version: 2.16.1
resolution: "is-core-module@npm:2.16.1"
dependencies:
@@ -10412,10 +9803,10 @@ __metadata:
languageName: node
linkType: hard
-"isexe@npm:^3.1.1":
- version: 3.1.1
- resolution: "isexe@npm:3.1.1"
- checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e
+"isexe@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "isexe@npm:4.0.0"
+ checksum: 10/2ead327ef596042ef9c9ec5f236b316acfaedb87f4bb61b3c3d574fb2e9c8a04b67305e04733bde52c24d9622fdebd3270aadb632adfbf9cadef88fe30f479e5
languageName: node
linkType: hard
@@ -10484,7 +9875,7 @@ __metadata:
languageName: node
linkType: hard
-"iterator.prototype@npm:^1.1.4":
+"iterator.prototype@npm:^1.1.5":
version: 1.1.5
resolution: "iterator.prototype@npm:1.1.5"
dependencies:
@@ -11162,6 +10553,13 @@ __metadata:
languageName: node
linkType: hard
+"json-schema-traverse@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "json-schema-traverse@npm:1.0.0"
+ checksum: 10/02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad
+ languageName: node
+ linkType: hard
+
"json-stable-stringify-without-jsonify@npm:^1.0.1":
version: 1.0.1
resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
@@ -11204,11 +10602,11 @@ __metadata:
linkType: hard
"jsonrepair@npm:^3.12.0":
- version: 3.13.1
- resolution: "jsonrepair@npm:3.13.1"
+ version: 3.13.2
+ resolution: "jsonrepair@npm:3.13.2"
bin:
jsonrepair: bin/cli.js
- checksum: 10/cea418eeafe60ebbbf57207d2029fab7be229814c21dacca8380b3da331bc441ddd575cb2e1b533d0e0402e7291b18576686b7c96e6bc31547b8d996fde0001d
+ checksum: 10/c0c1ec46af1d8e396c22e4d41e4d85eff2c713afdb71b6634a72ed4f356b79259affadb4e79b31042e4c1634313ddc0b3d7960fd74f5fba918198ecc74fe5e82
languageName: node
linkType: hard
@@ -11264,12 +10662,12 @@ __metadata:
linkType: hard
"launch-editor@npm:^2.9.1":
- version: 2.12.0
- resolution: "launch-editor@npm:2.12.0"
+ version: 2.13.1
+ resolution: "launch-editor@npm:2.13.1"
dependencies:
picocolors: "npm:^1.1.1"
shell-quote: "npm:^1.8.3"
- checksum: 10/43d2b66c674d129f9a96bbae602808a0afa7e6bb6f38de5518479e33b1a542e9772b262304505c2aa363b0185424580b4011a9198082d306e2b419c6f12da5e2
+ checksum: 10/641aafaad6bafe5d33a13d89eff29082b032c1c5c1aa19fb9fa3b54ffcf26a3419f461a7583f6450bd5b11863b061b60049e38c2d5135492bf46f2ed3a2cbc0e
languageName: node
linkType: hard
@@ -11300,99 +10698,99 @@ __metadata:
languageName: node
linkType: hard
-"lightningcss-android-arm64@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-android-arm64@npm:1.30.2"
+"lightningcss-android-arm64@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-android-arm64@npm:1.31.1"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"lightningcss-darwin-arm64@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-darwin-arm64@npm:1.30.2"
+"lightningcss-darwin-arm64@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-darwin-arm64@npm:1.31.1"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"lightningcss-darwin-x64@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-darwin-x64@npm:1.30.2"
+"lightningcss-darwin-x64@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-darwin-x64@npm:1.31.1"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"lightningcss-freebsd-x64@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-freebsd-x64@npm:1.30.2"
+"lightningcss-freebsd-x64@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-freebsd-x64@npm:1.31.1"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
-"lightningcss-linux-arm-gnueabihf@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-linux-arm-gnueabihf@npm:1.30.2"
+"lightningcss-linux-arm-gnueabihf@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-linux-arm-gnueabihf@npm:1.31.1"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"lightningcss-linux-arm64-gnu@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-linux-arm64-gnu@npm:1.30.2"
+"lightningcss-linux-arm64-gnu@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-linux-arm64-gnu@npm:1.31.1"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"lightningcss-linux-arm64-musl@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-linux-arm64-musl@npm:1.30.2"
+"lightningcss-linux-arm64-musl@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-linux-arm64-musl@npm:1.31.1"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"lightningcss-linux-x64-gnu@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-linux-x64-gnu@npm:1.30.2"
+"lightningcss-linux-x64-gnu@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-linux-x64-gnu@npm:1.31.1"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"lightningcss-linux-x64-musl@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-linux-x64-musl@npm:1.30.2"
+"lightningcss-linux-x64-musl@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-linux-x64-musl@npm:1.31.1"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"lightningcss-win32-arm64-msvc@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-win32-arm64-msvc@npm:1.30.2"
+"lightningcss-win32-arm64-msvc@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-win32-arm64-msvc@npm:1.31.1"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"lightningcss-win32-x64-msvc@npm:1.30.2":
- version: 1.30.2
- resolution: "lightningcss-win32-x64-msvc@npm:1.30.2"
+"lightningcss-win32-x64-msvc@npm:1.31.1":
+ version: 1.31.1
+ resolution: "lightningcss-win32-x64-msvc@npm:1.31.1"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"lightningcss@npm:^1.30.1":
- version: 1.30.2
- resolution: "lightningcss@npm:1.30.2"
+ version: 1.31.1
+ resolution: "lightningcss@npm:1.31.1"
dependencies:
detect-libc: "npm:^2.0.3"
- lightningcss-android-arm64: "npm:1.30.2"
- lightningcss-darwin-arm64: "npm:1.30.2"
- lightningcss-darwin-x64: "npm:1.30.2"
- lightningcss-freebsd-x64: "npm:1.30.2"
- lightningcss-linux-arm-gnueabihf: "npm:1.30.2"
- lightningcss-linux-arm64-gnu: "npm:1.30.2"
- lightningcss-linux-arm64-musl: "npm:1.30.2"
- lightningcss-linux-x64-gnu: "npm:1.30.2"
- lightningcss-linux-x64-musl: "npm:1.30.2"
- lightningcss-win32-arm64-msvc: "npm:1.30.2"
- lightningcss-win32-x64-msvc: "npm:1.30.2"
+ lightningcss-android-arm64: "npm:1.31.1"
+ lightningcss-darwin-arm64: "npm:1.31.1"
+ lightningcss-darwin-x64: "npm:1.31.1"
+ lightningcss-freebsd-x64: "npm:1.31.1"
+ lightningcss-linux-arm-gnueabihf: "npm:1.31.1"
+ lightningcss-linux-arm64-gnu: "npm:1.31.1"
+ lightningcss-linux-arm64-musl: "npm:1.31.1"
+ lightningcss-linux-x64-gnu: "npm:1.31.1"
+ lightningcss-linux-x64-musl: "npm:1.31.1"
+ lightningcss-win32-arm64-msvc: "npm:1.31.1"
+ lightningcss-win32-x64-msvc: "npm:1.31.1"
dependenciesMeta:
lightningcss-android-arm64:
optional: true
@@ -11416,7 +10814,7 @@ __metadata:
optional: true
lightningcss-win32-x64-msvc:
optional: true
- checksum: 10/d6cc06d9bac295589a49446e9c45a241dfa16f4f81a7318c26cbc0be3e189003ec0da5d9a0fd9bdffc63a3ce05878cc7329277eaac77a826e8b68c73dc96cfda
+ checksum: 10/3c2b2c2f648b12d9cba623d2e558f74fcce35911077e3d33f97ed521e0ad7a84e2c814628f6e16f64095c4483f6b180dee7b2e441b3ff5f44d142a510785a0c6
languageName: node
linkType: hard
@@ -11512,9 +10910,9 @@ __metadata:
linkType: hard
"lodash@npm:^4.17.21":
- version: 4.17.21
- resolution: "lodash@npm:4.17.21"
- checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532
+ version: 4.17.23
+ resolution: "lodash@npm:4.17.23"
+ checksum: 10/82504c88250f58da7a5a4289f57a4f759c44946c005dd232821c7688b5fcfbf4a6268f6a6cdde4b792c91edd2f3b5398c1d2a0998274432cff76def48735e233
languageName: node
linkType: hard
@@ -11578,9 +10976,9 @@ __metadata:
linkType: hard
"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1":
- version: 11.2.4
- resolution: "lru-cache@npm:11.2.4"
- checksum: 10/3b2da74c0b6653767f8164c38c4c4f4d7f0cc10c62bfa512663d94a830191ae6a5af742a8d88a8b30d5f9974652d3adae53931f32069139ad24fa2a18a199aca
+ version: 11.2.6
+ resolution: "lru-cache@npm:11.2.6"
+ checksum: 10/91222bbd59f793a0a0ad57789388f06b34ac9bb1613433c1d1810457d09db5cd3ec8943227ce2e1f5d6a0a15d6f1a9f129cb2c49ae9b6b10e82d4965fddecbef
languageName: node
linkType: hard
@@ -11603,9 +11001,10 @@ __metadata:
linkType: hard
"make-fetch-happen@npm:^15.0.0":
- version: 15.0.3
- resolution: "make-fetch-happen@npm:15.0.3"
+ version: 15.0.4
+ resolution: "make-fetch-happen@npm:15.0.4"
dependencies:
+ "@gar/promise-retry": "npm:^1.0.0"
"@npmcli/agent": "npm:^4.0.0"
cacache: "npm:^20.0.1"
http-cache-semantics: "npm:^4.1.1"
@@ -11615,9 +11014,8 @@ __metadata:
minipass-pipeline: "npm:^1.2.4"
negotiator: "npm:^1.0.0"
proc-log: "npm:^6.0.0"
- promise-retry: "npm:^2.0.1"
ssri: "npm:^13.0.0"
- checksum: 10/78da4fc1df83cb596e2bae25aa0653b8a9c6cbdd6674a104894e03be3acfcd08c70b78f06ef6407fbd6b173f6a60672480d78641e693d05eb71c09c13ee35278
+ checksum: 10/4aa75baab500eff4259f2e1a3e76cf01ab3a3cd750037e4bd7b5e22bc5a60f12cc766b3c45e6288accb5ab609e88de5019a8014e0f96f6594b7b03cb504f4b81
languageName: node
linkType: hard
@@ -11673,8 +11071,8 @@ __metadata:
linkType: hard
"mdast-util-from-markdown@npm:^2.0.0":
- version: 2.0.2
- resolution: "mdast-util-from-markdown@npm:2.0.2"
+ version: 2.0.3
+ resolution: "mdast-util-from-markdown@npm:2.0.3"
dependencies:
"@types/mdast": "npm:^4.0.0"
"@types/unist": "npm:^3.0.0"
@@ -11688,7 +11086,7 @@ __metadata:
micromark-util-symbol: "npm:^2.0.0"
micromark-util-types: "npm:^2.0.0"
unist-util-stringify-position: "npm:^4.0.0"
- checksum: 10/69b207913fbcc0469f8c59d922af4d5509b79e809d77c9bd4781543a907fe2ecc8e6433ce0707066a27b117b13f38af3aae4f2d085e18ebd2d3ad5f1a5647902
+ checksum: 10/96f2bfb3b240c3d20a57db5d215faed795abf495c65ca2a4d61c0cf796011bc980619aa032d7984b05b67c15edc0eccd12a004a848952d3a598d108cf14901ab
languageName: node
linkType: hard
@@ -11736,10 +11134,10 @@ __metadata:
languageName: node
linkType: hard
-"media-typer@npm:0.3.0":
- version: 0.3.0
- resolution: "media-typer@npm:0.3.0"
- checksum: 10/38e0984db39139604756903a01397e29e17dcb04207bb3e081412ce725ab17338ecc47220c1b186b6bbe79a658aad1b0d41142884f5a481f36290cdefbe6aa46
+"media-typer@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "media-typer@npm:1.1.0"
+ checksum: 10/a58dd60804df73c672942a7253ccc06815612326dc1c0827984b1a21704466d7cde351394f47649e56cf7415e6ee2e26e000e81b51b3eebb5a93540e8bf93cbd
languageName: node
linkType: hard
@@ -11776,18 +11174,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-babel-transformer@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-babel-transformer@npm:0.83.2"
- dependencies:
- "@babel/core": "npm:^7.25.2"
- flow-enums-runtime: "npm:^0.0.6"
- hermes-parser: "npm:0.32.0"
- nullthrows: "npm:^1.1.1"
- checksum: 10/8ca98216c3fc32757cbb445d2e42042617b5a2399d3d409759b168fbd3d52aadf8bb2b8471e4b204ddf5c654b7b146397edb7693f48a0582e7e4e169cf3bbfbb
- languageName: node
- linkType: hard
-
"metro-babel-transformer@npm:0.83.3":
version: 0.83.3
resolution: "metro-babel-transformer@npm:0.83.3"
@@ -11821,15 +11207,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-cache-key@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-cache-key@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- checksum: 10/ad60492b1db35b7d4eb1f9ed6f8aa79a051dcb1be3183fcd5b0a810e7c4ba5dba5e9f02e131ccd271d6db2efaa9893ef0e316ef26ebb3ab49cb074fada4de1b5
- languageName: node
- linkType: hard
-
"metro-cache-key@npm:0.83.3":
version: 0.83.3
resolution: "metro-cache-key@npm:0.83.3"
@@ -11859,18 +11236,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-cache@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-cache@npm:0.83.2"
- dependencies:
- exponential-backoff: "npm:^3.1.1"
- flow-enums-runtime: "npm:^0.0.6"
- https-proxy-agent: "npm:^7.0.5"
- metro-core: "npm:0.83.2"
- checksum: 10/3183bcd8e0590ab4630f344f9dd4daa3b2371450e7f4546f2b1128b1386ecece204a74a7e3df49a8f3776b5a4a746fe4aa05f952a97e6f4f61deda80be5c55cf
- languageName: node
- linkType: hard
-
"metro-cache@npm:0.83.3":
version: 0.83.3
resolution: "metro-cache@npm:0.83.3"
@@ -11905,29 +11270,13 @@ __metadata:
jest-validate: "npm:^29.7.0"
metro: "npm:0.81.5"
metro-cache: "npm:0.81.5"
- metro-core: "npm:0.81.5"
- metro-runtime: "npm:0.81.5"
- checksum: 10/181775bdb3676f9ecd81387a31ca5ceda42f982f7871029e3f606d21aa2d62416bbd61df5e2fd0f13a7242a0144bbf10c7fd4af65839058271a1f823f2970c9b
- languageName: node
- linkType: hard
-
-"metro-config@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-config@npm:0.83.2"
- dependencies:
- connect: "npm:^3.6.5"
- flow-enums-runtime: "npm:^0.0.6"
- jest-validate: "npm:^29.7.0"
- metro: "npm:0.83.2"
- metro-cache: "npm:0.83.2"
- metro-core: "npm:0.83.2"
- metro-runtime: "npm:0.83.2"
- yaml: "npm:^2.6.1"
- checksum: 10/830696bb515ad421f1a25003d64c01bca580b2485c69266e03faf0c8f36f55283388fda5505f53ae400f8298502f712aab6c76655e45996907588288d2586c6b
+ metro-core: "npm:0.81.5"
+ metro-runtime: "npm:0.81.5"
+ checksum: 10/181775bdb3676f9ecd81387a31ca5ceda42f982f7871029e3f606d21aa2d62416bbd61df5e2fd0f13a7242a0144bbf10c7fd4af65839058271a1f823f2970c9b
languageName: node
linkType: hard
-"metro-config@npm:0.83.3, metro-config@npm:^0.83.1":
+"metro-config@npm:0.83.3":
version: 0.83.3
resolution: "metro-config@npm:0.83.3"
dependencies:
@@ -11943,7 +11292,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-config@npm:0.83.4, metro-config@npm:^0.83.3":
+"metro-config@npm:0.83.4, metro-config@npm:^0.83.1, metro-config@npm:^0.83.3":
version: 0.83.4
resolution: "metro-config@npm:0.83.4"
dependencies:
@@ -11970,18 +11319,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-core@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-core@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- lodash.throttle: "npm:^4.1.1"
- metro-resolver: "npm:0.83.2"
- checksum: 10/dbbef6b6d0cdb76ff808928cda59086aa4fc04a50ff76be8e19bd181d9cf270f4fe0a6b60883d0230aeeba2ba65a68875af549c83c2cfee5a1f0988ed1b4fccd
- languageName: node
- linkType: hard
-
-"metro-core@npm:0.83.3, metro-core@npm:^0.83.1":
+"metro-core@npm:0.83.3":
version: 0.83.3
resolution: "metro-core@npm:0.83.3"
dependencies:
@@ -11992,7 +11330,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-core@npm:0.83.4":
+"metro-core@npm:0.83.4, metro-core@npm:^0.83.1":
version: 0.83.4
resolution: "metro-core@npm:0.83.4"
dependencies:
@@ -12020,23 +11358,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-file-map@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-file-map@npm:0.83.2"
- dependencies:
- debug: "npm:^4.4.0"
- fb-watchman: "npm:^2.0.0"
- flow-enums-runtime: "npm:^0.0.6"
- graceful-fs: "npm:^4.2.4"
- invariant: "npm:^2.2.4"
- jest-worker: "npm:^29.7.0"
- micromatch: "npm:^4.0.4"
- nullthrows: "npm:^1.1.1"
- walker: "npm:^1.0.7"
- checksum: 10/349a52c74cd02a1db75d0677c82e31750098e74a67bd1e10b2241e296897bfb20de2d8a2f27d7c292e2b3f492a36a191eb3c1bd5d09d5758b8febd36db86e58f
- languageName: node
- linkType: hard
-
"metro-file-map@npm:0.83.3":
version: 0.83.3
resolution: "metro-file-map@npm:0.83.3"
@@ -12081,16 +11402,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-minify-terser@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-minify-terser@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- terser: "npm:^5.15.0"
- checksum: 10/ee164bdd3ddf797e1b0f9fd71960b662b40fc3abead77521b1e1435291d38cc151442348362d6afee0596d52fcff48cc6a055a04a7928905e9557968e05293ac
- languageName: node
- linkType: hard
-
"metro-minify-terser@npm:0.83.3":
version: 0.83.3
resolution: "metro-minify-terser@npm:0.83.3"
@@ -12169,15 +11480,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-resolver@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-resolver@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- checksum: 10/2ba0cdda5c5a3ddac72fd486a310892638ba7d67a736246ec128674dfa6217d6169bdd0f811874435eae37f0201d72735fe7dddfc0c83a9e1439f05994bc293a
- languageName: node
- linkType: hard
-
"metro-resolver@npm:0.83.3":
version: 0.83.3
resolution: "metro-resolver@npm:0.83.3"
@@ -12206,17 +11508,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-runtime@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-runtime@npm:0.83.2"
- dependencies:
- "@babel/runtime": "npm:^7.25.0"
- flow-enums-runtime: "npm:^0.0.6"
- checksum: 10/1666e0e5c51d39f916642ed3918cf1996f76e82366ba9ca3132d6c11c5c62a1ab1115e4aa325f0fc9b8cefbe62d6ca8d1948cfde2ee78963491deafcbc79adba
- languageName: node
- linkType: hard
-
-"metro-runtime@npm:0.83.3, metro-runtime@npm:^0.83.1":
+"metro-runtime@npm:0.83.3":
version: 0.83.3
resolution: "metro-runtime@npm:0.83.3"
dependencies:
@@ -12226,7 +11518,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-runtime@npm:0.83.4, metro-runtime@npm:^0.83.3":
+"metro-runtime@npm:0.83.4, metro-runtime@npm:^0.83.1, metro-runtime@npm:^0.83.3":
version: 0.83.4
resolution: "metro-runtime@npm:0.83.4"
dependencies:
@@ -12254,25 +11546,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-source-map@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-source-map@npm:0.83.2"
- dependencies:
- "@babel/traverse": "npm:^7.25.3"
- "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3"
- "@babel/types": "npm:^7.25.2"
- flow-enums-runtime: "npm:^0.0.6"
- invariant: "npm:^2.2.4"
- metro-symbolicate: "npm:0.83.2"
- nullthrows: "npm:^1.1.1"
- ob1: "npm:0.83.2"
- source-map: "npm:^0.5.6"
- vlq: "npm:^1.0.0"
- checksum: 10/6253f6aa9a19ff35d70a08e1a434b9641874392e3cccec6abc8dcbac1c3e9289e348fa37960f16581c386e8f9ba743631ecc8ed5bf42817a5d5c54b6784c63b5
- languageName: node
- linkType: hard
-
-"metro-source-map@npm:0.83.3, metro-source-map@npm:^0.83.1":
+"metro-source-map@npm:0.83.3":
version: 0.83.3
resolution: "metro-source-map@npm:0.83.3"
dependencies:
@@ -12290,7 +11564,7 @@ __metadata:
languageName: node
linkType: hard
-"metro-source-map@npm:0.83.4":
+"metro-source-map@npm:0.83.4, metro-source-map@npm:^0.83.1":
version: 0.83.4
resolution: "metro-source-map@npm:0.83.4"
dependencies:
@@ -12323,22 +11597,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-symbolicate@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-symbolicate@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- invariant: "npm:^2.2.4"
- metro-source-map: "npm:0.83.2"
- nullthrows: "npm:^1.1.1"
- source-map: "npm:^0.5.6"
- vlq: "npm:^1.0.0"
- bin:
- metro-symbolicate: src/index.js
- checksum: 10/1ddd82d0f1e236f4eb69c49b319a5446f364aaa421b4301554898abe86d23a452a5fb5113bfef6b6c68c2a697ad3a68fb00919a2f7b9b73a040c92689002a8d4
- languageName: node
- linkType: hard
-
"metro-symbolicate@npm:0.83.3":
version: 0.83.3
resolution: "metro-symbolicate@npm:0.83.3"
@@ -12385,20 +11643,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-transform-plugins@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-transform-plugins@npm:0.83.2"
- dependencies:
- "@babel/core": "npm:^7.25.2"
- "@babel/generator": "npm:^7.25.0"
- "@babel/template": "npm:^7.25.0"
- "@babel/traverse": "npm:^7.25.3"
- flow-enums-runtime: "npm:^0.0.6"
- nullthrows: "npm:^1.1.1"
- checksum: 10/e3ebef11d64e5e568fde3fe2edc5d7f1e9508b28c7607c14dd711bc29058cbfc97e53edbfee79bd60f58c189e4d74869d87a30488534024fe88503296a7d095a
- languageName: node
- linkType: hard
-
"metro-transform-plugins@npm:0.83.3":
version: 0.83.3
resolution: "metro-transform-plugins@npm:0.83.3"
@@ -12448,27 +11692,6 @@ __metadata:
languageName: node
linkType: hard
-"metro-transform-worker@npm:0.83.2":
- version: 0.83.2
- resolution: "metro-transform-worker@npm:0.83.2"
- dependencies:
- "@babel/core": "npm:^7.25.2"
- "@babel/generator": "npm:^7.25.0"
- "@babel/parser": "npm:^7.25.3"
- "@babel/types": "npm:^7.25.2"
- flow-enums-runtime: "npm:^0.0.6"
- metro: "npm:0.83.2"
- metro-babel-transformer: "npm:0.83.2"
- metro-cache: "npm:0.83.2"
- metro-cache-key: "npm:0.83.2"
- metro-minify-terser: "npm:0.83.2"
- metro-source-map: "npm:0.83.2"
- metro-transform-plugins: "npm:0.83.2"
- nullthrows: "npm:^1.1.1"
- checksum: 10/b4286b1b0511e46e2ec265e24138d03d8a794687260beae297de3d378285cce0e06132280dac62d447dfaf55627432c28463939a63136f3a84c2cf6b880d3865
- languageName: node
- linkType: hard
-
"metro-transform-worker@npm:0.83.3":
version: 0.83.3
resolution: "metro-transform-worker@npm:0.83.3"
@@ -12561,57 +11784,7 @@ __metadata:
languageName: node
linkType: hard
-"metro@npm:0.83.2":
- version: 0.83.2
- resolution: "metro@npm:0.83.2"
- dependencies:
- "@babel/code-frame": "npm:^7.24.7"
- "@babel/core": "npm:^7.25.2"
- "@babel/generator": "npm:^7.25.0"
- "@babel/parser": "npm:^7.25.3"
- "@babel/template": "npm:^7.25.0"
- "@babel/traverse": "npm:^7.25.3"
- "@babel/types": "npm:^7.25.2"
- accepts: "npm:^1.3.7"
- chalk: "npm:^4.0.0"
- ci-info: "npm:^2.0.0"
- connect: "npm:^3.6.5"
- debug: "npm:^4.4.0"
- error-stack-parser: "npm:^2.0.6"
- flow-enums-runtime: "npm:^0.0.6"
- graceful-fs: "npm:^4.2.4"
- hermes-parser: "npm:0.32.0"
- image-size: "npm:^1.0.2"
- invariant: "npm:^2.2.4"
- jest-worker: "npm:^29.7.0"
- jsc-safe-url: "npm:^0.2.2"
- lodash.throttle: "npm:^4.1.1"
- metro-babel-transformer: "npm:0.83.2"
- metro-cache: "npm:0.83.2"
- metro-cache-key: "npm:0.83.2"
- metro-config: "npm:0.83.2"
- metro-core: "npm:0.83.2"
- metro-file-map: "npm:0.83.2"
- metro-resolver: "npm:0.83.2"
- metro-runtime: "npm:0.83.2"
- metro-source-map: "npm:0.83.2"
- metro-symbolicate: "npm:0.83.2"
- metro-transform-plugins: "npm:0.83.2"
- metro-transform-worker: "npm:0.83.2"
- mime-types: "npm:^2.1.27"
- nullthrows: "npm:^1.1.1"
- serialize-error: "npm:^2.1.0"
- source-map: "npm:^0.5.6"
- throat: "npm:^5.0.0"
- ws: "npm:^7.5.10"
- yargs: "npm:^17.6.2"
- bin:
- metro: src/cli.js
- checksum: 10/524c0f98ce8be619a345f58c39d19e6d0e5745dfd156c9b0a06201e6d9ad59e4405922f09f56fe92a86df9e06b0e89b173a3136640f1ec69c395b9ca34c1b042
- languageName: node
- linkType: hard
-
-"metro@npm:0.83.3, metro@npm:^0.83.1":
+"metro@npm:0.83.3":
version: 0.83.3
resolution: "metro@npm:0.83.3"
dependencies:
@@ -12661,7 +11834,7 @@ __metadata:
languageName: node
linkType: hard
-"metro@npm:0.83.4":
+"metro@npm:0.83.4, metro@npm:^0.83.1":
version: 0.83.4
resolution: "metro@npm:0.83.4"
dependencies:
@@ -12981,7 +12154,7 @@ __metadata:
languageName: node
linkType: hard
-"mime-types@npm:^2.1.27, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34":
+"mime-types@npm:^2.1.27, mime-types@npm:~2.1.34":
version: 2.1.35
resolution: "mime-types@npm:2.1.35"
dependencies:
@@ -13031,30 +12204,30 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^10.1.1":
- version: 10.1.1
- resolution: "minimatch@npm:10.1.1"
+"minimatch@npm:^10.2.2":
+ version: 10.2.4
+ resolution: "minimatch@npm:10.2.4"
dependencies:
- "@isaacs/brace-expansion": "npm:^5.0.0"
- checksum: 10/110f38921ea527022e90f7a5f43721838ac740d0a0c26881c03b57c261354fb9a0430e40b2c56dfcea2ef3c773768f27210d1106f1f2be19cde3eea93f26f45e
+ brace-expansion: "npm:^5.0.2"
+ checksum: 10/aea4874e521c55bb60744685bbffe3d152e5460f84efac3ea936e6bbe2ceba7deb93345fec3f9bb17f7b6946776073a64d40ae32bf5f298ad690308121068a1f
languageName: node
linkType: hard
"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
- version: 3.1.2
- resolution: "minimatch@npm:3.1.2"
+ version: 3.1.5
+ resolution: "minimatch@npm:3.1.5"
dependencies:
brace-expansion: "npm:^1.1.7"
- checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634
+ checksum: 10/b11a7ee5773cd34c1a0c8436cdbe910901018fb4b6cb47aa508a18d567f6efd2148507959e35fba798389b161b8604a2d704ccef751ea36bd4582f9852b7d63f
languageName: node
linkType: hard
"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4":
- version: 9.0.5
- resolution: "minimatch@npm:9.0.5"
+ version: 9.0.8
+ resolution: "minimatch@npm:9.0.8"
dependencies:
- brace-expansion: "npm:^2.0.1"
- checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348
+ brace-expansion: "npm:^5.0.2"
+ checksum: 10/bffa6514fa576a5052cea75b96b1d4086598c3ba45464dffcff14d00c2866805c088072ae21460ade250455c2da72e67556b1c3b830ddaf0b4697dca62f6d744
languageName: node
linkType: hard
@@ -13075,17 +12248,17 @@ __metadata:
linkType: hard
"minipass-fetch@npm:^5.0.0":
- version: 5.0.0
- resolution: "minipass-fetch@npm:5.0.0"
+ version: 5.0.2
+ resolution: "minipass-fetch@npm:5.0.2"
dependencies:
- encoding: "npm:^0.1.13"
+ iconv-lite: "npm:^0.7.2"
minipass: "npm:^7.0.3"
- minipass-sized: "npm:^1.0.3"
+ minipass-sized: "npm:^2.0.0"
minizlib: "npm:^3.0.1"
dependenciesMeta:
- encoding:
+ iconv-lite:
optional: true
- checksum: 10/4fb7dca630a64e6970a8211dade505bfe260d0b8d60beb348dcdfb95fe35ef91d977b29963929c9017ae0805686aa3f413107dc6bc5deac9b9e26b0b41c3b86c
+ checksum: 10/4f3f65ea5b20a3a287765ebf21cc73e62031f754944272df2a3039296cc75a8fc2dc50b8a3c4f39ce3ac6e5cc583e8dc664d12c6ab98e0883d263e49f344bc86
languageName: node
linkType: hard
@@ -13107,12 +12280,12 @@ __metadata:
languageName: node
linkType: hard
-"minipass-sized@npm:^1.0.3":
- version: 1.0.3
- resolution: "minipass-sized@npm:1.0.3"
+"minipass-sized@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "minipass-sized@npm:2.0.0"
dependencies:
- minipass: "npm:^3.0.0"
- checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd
+ minipass: "npm:^7.1.2"
+ checksum: 10/3b89adf64ca705662f77481e278eff5ec0a57aeffb5feba7cc8843722b1e7770efc880f2a17d1d4877b2d7bf227873cd46afb4da44c0fd18088b601ea50f96bb
languageName: node
linkType: hard
@@ -13125,10 +12298,10 @@ __metadata:
languageName: node
linkType: hard
-"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2":
- version: 7.1.2
- resolution: "minipass@npm:7.1.2"
- checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3":
+ version: 7.1.3
+ resolution: "minipass@npm:7.1.3"
+ checksum: 10/175e4d5e20980c3cd316ae82d2c031c42f6c746467d8b1905b51060a0ba4461441a0c25bb67c025fd9617f9a3873e152c7b543c6b5ac83a1846be8ade80dffd6
languageName: node
linkType: hard
@@ -13245,7 +12418,19 @@ __metadata:
languageName: node
linkType: hard
-"node-forge@npm:^1.2.1, node-forge@npm:^1.3.1, node-forge@npm:^1.3.3":
+"node-exports-info@npm:^1.6.0":
+ version: 1.6.0
+ resolution: "node-exports-info@npm:1.6.0"
+ dependencies:
+ array.prototype.flatmap: "npm:^1.3.3"
+ es-errors: "npm:^1.3.0"
+ object.entries: "npm:^1.1.9"
+ semver: "npm:^6.3.1"
+ checksum: 10/0a1667d535f499ac1fe6c6d22f8146bc8b68abc76fa355856219202f6cf5f386027e0ff054e66a22d08be02acbc63fcdc9f98d0fbc97993f5eabc66408fdadad
+ languageName: node
+ linkType: hard
+
+"node-forge@npm:^1.3.3":
version: 1.3.3
resolution: "node-forge@npm:1.3.3"
checksum: 10/f41c31b9296771a4b8c955d58417471712f54f324603a35f8e6cbac19d5e6eaaf5fd5fd14584dfedecbf46a05438ded6eee60a5f2f0822fc5061aaa073cfc75d
@@ -13253,8 +12438,8 @@ __metadata:
linkType: hard
"node-gyp@npm:latest":
- version: 12.1.0
- resolution: "node-gyp@npm:12.1.0"
+ version: 12.2.0
+ resolution: "node-gyp@npm:12.2.0"
dependencies:
env-paths: "npm:^2.2.0"
exponential-backoff: "npm:^3.1.1"
@@ -13263,12 +12448,12 @@ __metadata:
nopt: "npm:^9.0.0"
proc-log: "npm:^6.0.0"
semver: "npm:^7.3.5"
- tar: "npm:^7.5.2"
+ tar: "npm:^7.5.4"
tinyglobby: "npm:^0.2.12"
which: "npm:^6.0.0"
bin:
node-gyp: bin/node-gyp.js
- checksum: 10/d93079236cef1dd7fa4df683708d8708ad255c55865f6656664c8959e4d3963d908ac48e8f9f341705432e979dbbf502a40d68d65a17fe35956a5a05ba6c1cb4
+ checksum: 10/4ebab5b77585a637315e969c2274b5520562473fe75de850639a580c2599652fb9f33959ec782ea45a2e149d8f04b548030f472eeeb3dbdf19a7f2ccbc30b908
languageName: node
linkType: hard
@@ -13357,15 +12542,6 @@ __metadata:
languageName: node
linkType: hard
-"ob1@npm:0.83.2":
- version: 0.83.2
- resolution: "ob1@npm:0.83.2"
- dependencies:
- flow-enums-runtime: "npm:^0.0.6"
- checksum: 10/8eb482589b66cf46600d1231c2ea50a365f47ee5db0274795d1d3f5c43112e255b931a41ce1ef8a220f31b4fb985fb269c6a54bf7e9719f90dac3f4001a89a6c
- languageName: node
- linkType: hard
-
"ob1@npm:0.83.3":
version: 0.83.3
resolution: "ob1@npm:0.83.3"
@@ -13455,7 +12631,7 @@ __metadata:
languageName: node
linkType: hard
-"on-finished@npm:2.4.1, on-finished@npm:~2.4.1":
+"on-finished@npm:^2.4.1, on-finished@npm:~2.4.1":
version: 2.4.1
resolution: "on-finished@npm:2.4.1"
dependencies:
@@ -13774,13 +12950,13 @@ __metadata:
languageName: node
linkType: hard
-"path-scurry@npm:^2.0.0":
- version: 2.0.1
- resolution: "path-scurry@npm:2.0.1"
+"path-scurry@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "path-scurry@npm:2.0.2"
dependencies:
lru-cache: "npm:^11.0.0"
minipass: "npm:^7.1.2"
- checksum: 10/1e9c74e9ccf94d7c16056a5cb2dba9fa23eec1bc221ab15c44765486b9b9975b4cd9a4d55da15b96eadf67d5202e9a2f1cec9023fbb35fe7d9ccd0ff1891f88b
+ checksum: 10/2b4257422bcb870a4c2d205b3acdbb213a72f5e2250f61c80f79c9d014d010f82bdf8584441612c8e1fa4eb098678f5704a66fa8377d72646bad4be38e57a2c3
languageName: node
linkType: hard
@@ -13885,93 +13061,34 @@ __metadata:
languageName: node
linkType: hard
-"prettier-linter-helpers@npm:^1.0.0":
- version: 1.0.0
- resolution: "prettier-linter-helpers@npm:1.0.0"
+"prettier-linter-helpers@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "prettier-linter-helpers@npm:1.0.1"
dependencies:
fast-diff: "npm:^1.1.2"
- checksum: 10/00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392
+ checksum: 10/2dc35f5036a35f4c4f5e645887edda1436acb63687a7f12b2383e0a6f3c1f76b8a0a4709fe4d82e19157210feb5984b159bb714d43290022911ab53d606474ec
languageName: node
linkType: hard
"prettier-plugin-jsdoc@npm:^1.3.0":
- version: 1.7.0
- resolution: "prettier-plugin-jsdoc@npm:1.7.0"
+ version: 1.8.0
+ resolution: "prettier-plugin-jsdoc@npm:1.8.0"
dependencies:
binary-searching: "npm:^2.0.5"
comment-parser: "npm:^1.4.0"
mdast-util-from-markdown: "npm:^2.0.0"
- prettier-plugin-tailwindcss: "npm:^0.7.1"
peerDependencies:
prettier: ^3.0.0
- checksum: 10/28f71f429f453e9073c9bf3eff1131f0e461b21ff184f9da54d1f3919a5898817b32abd87440c7e342f2320280b44ff141096bafd20204f950cce60780552d8b
- languageName: node
- linkType: hard
-
-"prettier-plugin-tailwindcss@npm:^0.7.1":
- version: 0.7.2
- resolution: "prettier-plugin-tailwindcss@npm:0.7.2"
- peerDependencies:
- "@ianvs/prettier-plugin-sort-imports": "*"
- "@prettier/plugin-hermes": "*"
- "@prettier/plugin-oxc": "*"
- "@prettier/plugin-pug": "*"
- "@shopify/prettier-plugin-liquid": "*"
- "@trivago/prettier-plugin-sort-imports": "*"
- "@zackad/prettier-plugin-twig": "*"
- prettier: ^3.0
- prettier-plugin-astro: "*"
- prettier-plugin-css-order: "*"
- prettier-plugin-jsdoc: "*"
- prettier-plugin-marko: "*"
- prettier-plugin-multiline-arrays: "*"
- prettier-plugin-organize-attributes: "*"
- prettier-plugin-organize-imports: "*"
- prettier-plugin-sort-imports: "*"
- prettier-plugin-svelte: "*"
- peerDependenciesMeta:
- "@ianvs/prettier-plugin-sort-imports":
- optional: true
- "@prettier/plugin-hermes":
- optional: true
- "@prettier/plugin-oxc":
- optional: true
- "@prettier/plugin-pug":
- optional: true
- "@shopify/prettier-plugin-liquid":
- optional: true
- "@trivago/prettier-plugin-sort-imports":
- optional: true
- "@zackad/prettier-plugin-twig":
- optional: true
- prettier-plugin-astro:
- optional: true
- prettier-plugin-css-order:
- optional: true
- prettier-plugin-jsdoc:
- optional: true
- prettier-plugin-marko:
- optional: true
- prettier-plugin-multiline-arrays:
- optional: true
- prettier-plugin-organize-attributes:
- optional: true
- prettier-plugin-organize-imports:
- optional: true
- prettier-plugin-sort-imports:
- optional: true
- prettier-plugin-svelte:
- optional: true
- checksum: 10/c77253025d62555e761b0a76df6e5c73d48d96a259ac157de9c21f11a7851fd2b434c27b296b119530895a57fe87c8cf337b0df0bff97b2bc1a0d48a442b0d99
+ checksum: 10/f25412b87b74f77606addb718207b6273d41697a04931c52e011c6c637fdebfeca57a1572523cb95e144e808840af1399b5fd72767d14281ea2066c0b8b70b11
languageName: node
linkType: hard
"prettier@npm:^3.3.3":
- version: 3.7.4
- resolution: "prettier@npm:3.7.4"
+ version: 3.8.1
+ resolution: "prettier@npm:3.8.1"
bin:
prettier: bin/prettier.cjs
- checksum: 10/b4d00ea13baed813cb777c444506632fb10faaef52dea526cacd03085f01f6db11fc969ccebedf05bf7d93c3960900994c6adf1b150e28a31afd5cfe7089b313
+ checksum: 10/3da1cf8c1ef9bea828aa618553696c312e951f810bee368f6887109b203f18ee869fe88f66e65f9cf60b7cb1f2eae859892c860a300c062ff8ec69c381fc8dbd
languageName: node
linkType: hard
@@ -14025,16 +13142,6 @@ __metadata:
languageName: node
linkType: hard
-"promise-retry@npm:^2.0.1":
- version: 2.0.1
- resolution: "promise-retry@npm:2.0.1"
- dependencies:
- err-code: "npm:^2.0.2"
- retry: "npm:^0.12.0"
- checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4
- languageName: node
- linkType: hard
-
"promise@npm:^8.3.0":
version: 8.3.0
resolution: "promise@npm:8.3.0"
@@ -14098,12 +13205,12 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:~6.14.0":
- version: 6.14.0
- resolution: "qs@npm:6.14.0"
+"qs@npm:^6.14.1":
+ version: 6.15.0
+ resolution: "qs@npm:6.15.0"
dependencies:
side-channel: "npm:^1.1.0"
- checksum: 10/a60e49bbd51c935a8a4759e7505677b122e23bf392d6535b8fc31c1e447acba2c901235ecb192764013cd2781723dc1f61978b5fdd93cc31d7043d31cdc01974
+ checksum: 10/a3458f2f389285c3512e0ebc55522ee370ac7cb720ba9f0eff3e30fb2bb07631caf556c08e2a3d4481a371ac14faa9ceb7442a0610c5a7e55b23a5bdee7b701c
languageName: node
linkType: hard
@@ -14142,15 +13249,15 @@ __metadata:
languageName: node
linkType: hard
-"raw-body@npm:~2.5.3":
- version: 2.5.3
- resolution: "raw-body@npm:2.5.3"
+"raw-body@npm:^3.0.1":
+ version: 3.0.2
+ resolution: "raw-body@npm:3.0.2"
dependencies:
bytes: "npm:~3.1.2"
http-errors: "npm:~2.0.1"
- iconv-lite: "npm:~0.4.24"
+ iconv-lite: "npm:~0.7.0"
unpipe: "npm:~1.0.0"
- checksum: 10/f35759fe5a6548e7c529121ead1de4dd163f899749a5896c42e278479df2d9d7f98b5bb17312737c03617765e5a1433e586f717616e5cfbebc13b4738b820601
+ checksum: 10/4168c82157bd69175d5bd960e59b74e253e237b358213694946a427a6f750a18b8e150f036fed3421b3e83294b071a4e2bb01037a79ccacdac05360c63d3ebba
languageName: node
linkType: hard
@@ -14209,9 +13316,9 @@ __metadata:
linkType: hard
"react-is@npm:^19.1.0":
- version: 19.2.1
- resolution: "react-is@npm:19.2.1"
- checksum: 10/d2d0f2b55710c73af1ee5c17e438a274a52758522af9cb1f1f6df35b233a5eb158f4dc8e38e0c058b090bf7d432f27fc6c59dd016c811109260097cea5268461
+ version: 19.2.4
+ resolution: "react-is@npm:19.2.4"
+ checksum: 10/3360fc50a38c23299c5003a709949f2439b2901e77962eea78d892f526f710d05a7777b600b302f853583d1861979b00d7a0a071c89c6562eac5740ac29b9665
languageName: node
linkType: hard
@@ -14242,8 +13349,8 @@ __metadata:
linkType: hard
"react-native-builder-bob@npm:^0.40.12":
- version: 0.40.16
- resolution: "react-native-builder-bob@npm:0.40.16"
+ version: 0.40.18
+ resolution: "react-native-builder-bob@npm:0.40.18"
dependencies:
"@babel/core": "npm:^7.25.2"
"@babel/plugin-transform-flow-strip-types": "npm:^7.26.5"
@@ -14264,12 +13371,12 @@ __metadata:
json5: "npm:^2.2.1"
kleur: "npm:^4.1.4"
prompts: "npm:^2.4.2"
- react-native-monorepo-config: "npm:^0.1.8"
+ react-native-monorepo-config: "npm:^0.3.3"
which: "npm:^2.0.2"
yargs: "npm:^17.5.1"
bin:
bob: bin/bob
- checksum: 10/7f9c6e02131a833d68df92e6338f86e2880c7404116c5104c7eaa1cb8517ed559f2de591306b6d67e0af39f4f4fef9894b69b3fd624dce35822fb7d4b752776b
+ checksum: 10/06eddba046a508dff0aa322c823fa57a280e2ed6a6f586de2114ebc11b6bb7863714eaaff8e93d681bb851fb4f9e792b102541211847f0e546f4e9546df6c3de
languageName: node
linkType: hard
@@ -14309,6 +13416,7 @@ __metadata:
eslint-plugin-ft-flow: "npm:^2.0.3"
eslint-plugin-markdown: "npm:^5.1.0"
eslint-plugin-prettier: "npm:^5.0.1"
+ expo-router: "npm:~6.0.17"
prettier: "npm:^3.3.3"
prettier-plugin-jsdoc: "npm:^1.3.0"
typescript: "npm:~5.9.2"
@@ -14420,13 +13528,34 @@ __metadata:
languageName: node
linkType: hard
-"react-native-monorepo-config@npm:^0.1.8":
- version: 0.1.10
- resolution: "react-native-monorepo-config@npm:0.1.10"
+"react-native-monorepo-config@npm:^0.3.3":
+ version: 0.3.3
+ resolution: "react-native-monorepo-config@npm:0.3.3"
dependencies:
escape-string-regexp: "npm:^5.0.0"
fast-glob: "npm:^3.3.3"
- checksum: 10/36611eca9cbda6647111e659d5c466fdba002c608172b9d25880b6e3ac95c51f41d15520e06d9d3188c096b0c9182caeba7b9340c64f6b45f1fee331c08b877b
+ checksum: 10/d301020b38f80010bce38108a9e1b72deee3eb37f1ba5e2f0471dc0737584b8d25158a2e649c38ddbe890b653c29a69ef82d73c522473cfdb2396239ee84fcd8
+ languageName: node
+ linkType: hard
+
+"react-native-nitro-image@npm:^0.12.0":
+ version: 0.12.0
+ resolution: "react-native-nitro-image@npm:0.12.0"
+ peerDependencies:
+ react: "*"
+ react-native: "*"
+ react-native-nitro-modules: "*"
+ checksum: 10/03f165381c35e060d4d05eae3ce029b32a4009482f327e9526840f306181ca87a862b335e12667c55d4ee9f2069542ca93dd112feb7f1822bf7d2ddc38fe58f0
+ languageName: node
+ linkType: hard
+
+"react-native-nitro-modules@npm:^0.33.9":
+ version: 0.33.9
+ resolution: "react-native-nitro-modules@npm:0.33.9"
+ peerDependencies:
+ react: "*"
+ react-native: "*"
+ checksum: 10/4ebf4db46d1e4987a0e52054724081aa9712bcd1d505a6dbdd47aebc6afe72a7abaa0e947651d9f3cc594e4eb3dba47fc6f59db27c5a5ed383946e40d96543a0
languageName: node
linkType: hard
@@ -14522,6 +13651,19 @@ __metadata:
languageName: node
linkType: hard
+"react-native-vision-camera@npm:5.0.0-beta.2":
+ version: 5.0.0-beta.2
+ resolution: "react-native-vision-camera@npm:5.0.0-beta.2"
+ peerDependencies:
+ react: "*"
+ react-native: "*"
+ react-native-nitro-image: "*"
+ react-native-nitro-modules: "*"
+ react-native-worklets: "*"
+ checksum: 10/1f38d097d001c10b8544d0b931a9387a91c5df1e0677ae53e639962a90589586af02ca658ca5e99a5ca179af8d86bc8365227cf70750f2df4bfb775f4a26fc6d
+ languageName: node
+ linkType: hard
+
"react-native-worklets@npm:0.7.4":
version: 0.7.4
resolution: "react-native-worklets@npm:0.7.4"
@@ -14836,19 +13978,10 @@ __metadata:
languageName: node
linkType: hard
-"resolve-global@npm:^1.0.0":
- version: 1.0.0
- resolution: "resolve-global@npm:1.0.0"
- dependencies:
- global-dirs: "npm:^0.1.1"
- checksum: 10/c4e11d33e84bde7516b824503ffbe4b6cce863d5ce485680fd3db997b7c64da1df98321b1fd0703b58be8bc9bc83bc96bd83043f96194386b45eb47229efb6b6
- languageName: node
- linkType: hard
-
"resolve-workspace-root@npm:^2.0.0":
- version: 2.0.0
- resolution: "resolve-workspace-root@npm:2.0.0"
- checksum: 10/c2de02d213ca327964bd2a1e6cbb17d96d2adbd738b6aa737129ed952ef4f7e52b79452599e1ef99c6cf4f109c937866b7f3abf34f8f41af376e1b08a03523a4
+ version: 2.0.1
+ resolution: "resolve-workspace-root@npm:2.0.1"
+ checksum: 10/d10b1897018c291a8c0c6d6a36d174830bc004b7aa2a9e416b9c1e0ea4d8575a68bc4ed9d6f28be5859a3b0d5f70f0ffdc12e6ef0af010f487d91cf7d4ce8ff0
languageName: node
linkType: hard
@@ -14859,7 +13992,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.22.10, resolve@npm:^1.22.2":
+"resolve@npm:^1.22.11, resolve@npm:^1.22.2":
version: 1.22.11
resolution: "resolve@npm:1.22.11"
dependencies:
@@ -14873,15 +14006,18 @@ __metadata:
linkType: hard
"resolve@npm:^2.0.0-next.5":
- version: 2.0.0-next.5
- resolution: "resolve@npm:2.0.0-next.5"
+ version: 2.0.0-next.6
+ resolution: "resolve@npm:2.0.0-next.6"
dependencies:
- is-core-module: "npm:^2.13.0"
+ es-errors: "npm:^1.3.0"
+ is-core-module: "npm:^2.16.1"
+ node-exports-info: "npm:^1.6.0"
+ object-keys: "npm:^1.1.1"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10/2d6fd28699f901744368e6f2032b4268b4c7b9185fd8beb64f68c93ac6b22e52ae13560ceefc96241a665b985edf9ffd393ae26d2946a7d3a07b7007b7d51e79
+ checksum: 10/c95cb98b8d3f9e2a979e6eb8b7e0b0e13f08da62607a45207275f151d640152244568a9a9cd01662a21e3746792177cbf9be1dacb88f7355edf4db49d9ee27e5
languageName: node
linkType: hard
@@ -14894,7 +14030,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin":
+"resolve@patch:resolve@npm%3A^1.22.11#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin":
version: 1.22.11
resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d"
dependencies:
@@ -14908,15 +14044,18 @@ __metadata:
linkType: hard
"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin":
- version: 2.0.0-next.5
- resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d"
+ version: 2.0.0-next.6
+ resolution: "resolve@patch:resolve@npm%3A2.0.0-next.6#optional!builtin::version=2.0.0-next.6&hash=c3c19d"
dependencies:
- is-core-module: "npm:^2.13.0"
+ es-errors: "npm:^1.3.0"
+ is-core-module: "npm:^2.16.1"
+ node-exports-info: "npm:^1.6.0"
+ object-keys: "npm:^1.1.1"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10/05fa778de9d0347c8b889eb7a18f1f06bf0f801b0eb4610b4871a4b2f22e220900cf0ad525e94f990bb8d8921c07754ab2122c0c225ab4cdcea98f36e64fa4c2
+ checksum: 10/1b26738af76c80b341075e6bf4b202ef85f85f4a2cbf2934246c3b5f20c682cf352833fc6e32579c6967419226d3ab63e8d321328da052c87a31eaad91e3571a
languageName: node
linkType: hard
@@ -14949,10 +14088,10 @@ __metadata:
languageName: node
linkType: hard
-"retry@npm:^0.12.0":
- version: 0.12.0
- resolution: "retry@npm:0.12.0"
- checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6
+"retry@npm:^0.13.1":
+ version: 0.13.1
+ resolution: "retry@npm:0.13.1"
+ checksum: 10/6125ec2e06d6e47e9201539c887defba4e47f63471db304c59e4b82fc63c8e89ca06a77e9d34939a9a42a76f00774b2f46c0d4a4cbb3e287268bd018ed69426d
languageName: node
linkType: hard
@@ -15024,7 +14163,7 @@ __metadata:
languageName: node
linkType: hard
-"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"
checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83
@@ -15032,9 +14171,9 @@ __metadata:
linkType: hard
"sax@npm:>=0.6.0":
- version: 1.4.3
- resolution: "sax@npm:1.4.3"
- checksum: 10/99161215f23e0b13bc7f94adbaa63a6a2f188fe291c450790d92b5bc3cd7966d574a15dcd5918c30917e17ed68129e34cc3168564263b967f9b8f61869d6ccc4
+ version: 1.4.4
+ resolution: "sax@npm:1.4.4"
+ checksum: 10/00ff7b258baa37d98f8abfa0b5c8b3ee739ca37e9b6ecb83405be9e6e5b0b2856394a5eff142db1d987d589b54b139d4236f25830c1e17a2b640efa53c8fda72
languageName: node
linkType: hard
@@ -15061,7 +14200,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:7.7.3, semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.7.1":
+"semver@npm:7.7.3":
version: 7.7.3
resolution: "semver@npm:7.7.3"
bin:
@@ -15079,7 +14218,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.7.2, semver@npm:^7.7.3":
+"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3":
version: 7.7.4
resolution: "semver@npm:7.7.4"
bin:
@@ -15097,30 +14236,9 @@ __metadata:
languageName: node
linkType: hard
-"send@npm:0.19.0":
- version: 0.19.0
- resolution: "send@npm:0.19.0"
- dependencies:
- debug: "npm:2.6.9"
- depd: "npm:2.0.0"
- destroy: "npm:1.2.0"
- encodeurl: "npm:~1.0.2"
- escape-html: "npm:~1.0.3"
- etag: "npm:~1.8.1"
- fresh: "npm:0.5.2"
- http-errors: "npm:2.0.0"
- mime: "npm:1.6.0"
- ms: "npm:2.1.3"
- on-finished: "npm:2.4.1"
- range-parser: "npm:~1.2.1"
- statuses: "npm:2.0.1"
- checksum: 10/1f6064dea0ae4cbe4878437aedc9270c33f2a6650a77b56a16b62d057527f2766d96ee282997dd53ec0339082f2aad935bc7d989b46b48c82fc610800dc3a1d0
- languageName: node
- linkType: hard
-
-"send@npm:^0.19.0":
- version: 0.19.1
- resolution: "send@npm:0.19.1"
+"send@npm:^0.19.0, send@npm:~0.19.1":
+ version: 0.19.2
+ resolution: "send@npm:0.19.2"
dependencies:
debug: "npm:2.6.9"
depd: "npm:2.0.0"
@@ -15128,14 +14246,14 @@ __metadata:
encodeurl: "npm:~2.0.0"
escape-html: "npm:~1.0.3"
etag: "npm:~1.8.1"
- fresh: "npm:0.5.2"
- http-errors: "npm:2.0.0"
+ fresh: "npm:~0.5.2"
+ http-errors: "npm:~2.0.1"
mime: "npm:1.6.0"
ms: "npm:2.1.3"
- on-finished: "npm:2.4.1"
+ on-finished: "npm:~2.4.1"
range-parser: "npm:~1.2.1"
- statuses: "npm:2.0.1"
- checksum: 10/360bf50a839c7bbc181f67c3a0f3424a7ad8016dfebcd9eb90891f4b762b4377da14414c32250d67b53872e884171c27469110626f6c22765caa7c38c207ee1d
+ statuses: "npm:~2.0.2"
+ checksum: 10/e932a592f62c58560b608a402d52333a8ae98a5ada076feb5db1d03adaa77c3ca32a7befa1c4fd6dedc186e88f342725b0cb4b3d86835eaf834688b259bef18d
languageName: node
linkType: hard
@@ -15147,14 +14265,14 @@ __metadata:
linkType: hard
"serve-static@npm:^1.13.1, serve-static@npm:^1.16.2":
- version: 1.16.2
- resolution: "serve-static@npm:1.16.2"
+ version: 1.16.3
+ resolution: "serve-static@npm:1.16.3"
dependencies:
encodeurl: "npm:~2.0.0"
escape-html: "npm:~1.0.3"
parseurl: "npm:~1.3.3"
- send: "npm:0.19.0"
- checksum: 10/7fa9d9c68090f6289976b34fc13c50ac8cd7f16ae6bce08d16459300f7fc61fbc2d7ebfa02884c073ec9d6ab9e7e704c89561882bbe338e99fcacb2912fde737
+ send: "npm:~0.19.1"
+ checksum: 10/149d6718dd9e53166784d0a65535e21a7c01249d9c51f57224b786a7306354c6807e7811a9f6c143b45c863b1524721fca2f52b5c81a8b5194e3dde034a03b9c
languageName: node
linkType: hard
@@ -15209,7 +14327,7 @@ __metadata:
languageName: node
linkType: hard
-"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0":
+"setprototypeof@npm:~1.2.0":
version: 1.2.0
resolution: "setprototypeof@npm:1.2.0"
checksum: 10/fde1630422502fbbc19e6844346778f99d449986b2f9cdcceb8326730d2f3d9964dbcb03c02aaadaefffecd0f2c063315ebea8b3ad895914bf1afc1747fc172e
@@ -15487,11 +14605,11 @@ __metadata:
linkType: hard
"ssri@npm:^13.0.0":
- version: 13.0.0
- resolution: "ssri@npm:13.0.0"
+ version: 13.0.1
+ resolution: "ssri@npm:13.0.1"
dependencies:
minipass: "npm:^7.0.3"
- checksum: 10/fd59bfedf0659c1b83f6e15459162da021f08ec0f5834dd9163296f8b77ee82f9656aa1d415c3d3848484293e0e6aefdd482e863e52ddb53d520bb73da1eeec1
+ checksum: 10/ae560d0378d074006a71b06af71bfbe84a3fe1ac6e16c1f07575f69e670d40170507fe52b21bcc23399429bc6a15f4bc3ea8d9bc88e9dfd7e87de564e6da6a72
languageName: node
linkType: hard
@@ -15520,13 +14638,6 @@ __metadata:
languageName: node
linkType: hard
-"statuses@npm:2.0.1":
- version: 2.0.1
- resolution: "statuses@npm:2.0.1"
- checksum: 10/18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb
- languageName: node
- linkType: hard
-
"statuses@npm:~1.5.0":
version: 1.5.0
resolution: "statuses@npm:1.5.0"
@@ -15565,6 +14676,13 @@ __metadata:
languageName: node
linkType: hard
+"strict-url-sanitise@npm:0.0.1":
+ version: 0.0.1
+ resolution: "strict-url-sanitise@npm:0.0.1"
+ checksum: 10/cab6ae551f998f18ea7fb14176a9d835f5b304e5419c61851de897c830ccc20c2848bbb50ced242227114e06a3f6379dcc9179a84bc0a7b8cf81f5192b5b4789
+ languageName: node
+ linkType: hard
+
"string-length@npm:^4.0.2":
version: 4.0.2
resolution: "string-length@npm:4.0.2"
@@ -15701,11 +14819,11 @@ __metadata:
linkType: hard
"strip-ansi@npm:^7.0.1":
- version: 7.1.2
- resolution: "strip-ansi@npm:7.1.2"
+ version: 7.2.0
+ resolution: "strip-ansi@npm:7.2.0"
dependencies:
- ansi-regex: "npm:^6.0.1"
- checksum: 10/db0e3f9654e519c8a33c50fc9304d07df5649388e7da06d3aabf66d29e5ad65d5e6315d8519d409c15b32fa82c1df7e11ed6f8cd50b0e4404463f0c9d77c8d0b
+ ansi-regex: "npm:^6.2.2"
+ checksum: 10/96da3bc6d73cfba1218625a3d66cf7d37a69bf0920d8735b28f9eeaafcdb6c1fe8440e1ae9eb1ba0ca355dbe8702da872e105e2e939fa93e7851b3cb5dd7d316
languageName: node
linkType: hard
@@ -15737,10 +14855,10 @@ __metadata:
languageName: node
linkType: hard
-"strnum@npm:^1.1.1":
- version: 1.1.2
- resolution: "strnum@npm:1.1.2"
- checksum: 10/ccd6297a1fdaf0fc8ea0ea904acdae76878d49a4b0d98a70155df4bc081fd88eac5ec99fb150f3d1d1af065c1898d38420705259ba6c39aa850c671bcd54e35d
+"strnum@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "strnum@npm:2.1.2"
+ checksum: 10/7d894dff385e3a5c5b29c012cf0a7ea7962a92c6a299383c3d6db945ad2b6f3e770511356a9774dbd54444c56af1dc7c435dad6466c47293c48173274dd6c631
languageName: node
linkType: hard
@@ -15837,16 +14955,7 @@ __metadata:
languageName: node
linkType: hard
-"synckit@npm:^0.11.4, synckit@npm:^0.11.7":
- version: 0.11.11
- resolution: "synckit@npm:0.11.11"
- dependencies:
- "@pkgr/core": "npm:^0.2.9"
- checksum: 10/6ecd88212b5be80004376b6ea74babcba284566ff59a50d8803afcaa78c165b5d268635c1dd84532ee3f690a979409e1eda225a8a35bed2d135ffdcea06ce7b0
- languageName: node
- linkType: hard
-
-"synckit@npm:^0.11.8":
+"synckit@npm:^0.11.12, synckit@npm:^0.11.4, synckit@npm:^0.11.8":
version: 0.11.12
resolution: "synckit@npm:0.11.12"
dependencies:
@@ -15855,23 +14964,16 @@ __metadata:
languageName: node
linkType: hard
-"tar@npm:^7.5.2":
- version: 7.5.2
- resolution: "tar@npm:7.5.2"
+"tar@npm:^7.5.2, tar@npm:^7.5.4":
+ version: 7.5.9
+ resolution: "tar@npm:7.5.9"
dependencies:
"@isaacs/fs-minipass": "npm:^4.0.0"
chownr: "npm:^3.0.0"
minipass: "npm:^7.1.2"
minizlib: "npm:^3.1.0"
yallist: "npm:^5.0.0"
- checksum: 10/dbad9c9a07863cd1bdf8801d563b3280aa7dd0f4a6cead779ff7516d148dc80b4c04639ba732d47f91f04002f57e8c3c6573a717d649daecaac74ce71daa7ad3
- languageName: node
- linkType: hard
-
-"temp-dir@npm:~2.0.0":
- version: 2.0.0
- resolution: "temp-dir@npm:2.0.0"
- checksum: 10/cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa
+ checksum: 10/1213cdde9c22d6acf8809ba5d2a025212ce3517bc99c4a4c6981b7dc0489bf3b164db9c826c9517680889194c9ba57448c8ff0da35eca9a60bb7689bf0b3897d
languageName: node
linkType: hard
@@ -15886,8 +14988,8 @@ __metadata:
linkType: hard
"terser@npm:^5.15.0":
- version: 5.44.1
- resolution: "terser@npm:5.44.1"
+ version: 5.46.0
+ resolution: "terser@npm:5.46.0"
dependencies:
"@jridgewell/source-map": "npm:^0.3.3"
acorn: "npm:^8.15.0"
@@ -15895,7 +14997,7 @@ __metadata:
source-map-support: "npm:~0.5.20"
bin:
terser: bin/terser
- checksum: 10/516ece205b7db778c4eddb287a556423cb776b7ca591b06270e558a76aa2d57c8d71d9c3c4410b276d3426beb03516fff7d96ff8b517e10730a72908810c6e33
+ checksum: 10/331e4f5a165d91d16ac6a95b510d4f5ef24679e4bc9e1b4e4182e89b7245f614d24ce0def583e2ca3ca45f82ba810991e0c5b66dd4353a6e0b7082786af6bd35
languageName: node
linkType: hard
@@ -15995,7 +15097,7 @@ __metadata:
languageName: node
linkType: hard
-"toidentifier@npm:1.0.1, toidentifier@npm:~1.0.1":
+"toidentifier@npm:~1.0.1":
version: 1.0.1
resolution: "toidentifier@npm:1.0.1"
checksum: 10/952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45
@@ -16080,13 +15182,14 @@ __metadata:
languageName: node
linkType: hard
-"type-is@npm:~1.6.18":
- version: 1.6.18
- resolution: "type-is@npm:1.6.18"
+"type-is@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "type-is@npm:2.0.1"
dependencies:
- media-typer: "npm:0.3.0"
- mime-types: "npm:~2.1.24"
- checksum: 10/0bd9eeae5efd27d98fd63519f999908c009e148039d8e7179a074f105362d4fcc214c38b24f6cda79c87e563cbd12083a4691381ed28559220d4a10c2047bed4
+ content-type: "npm:^1.0.5"
+ media-typer: "npm:^1.1.0"
+ mime-types: "npm:^3.0.0"
+ checksum: 10/bacdb23c872dacb7bd40fbd9095e6b2fca2895eedbb689160c05534d7d4810a7f4b3fd1ae87e96133c505958f6d602967a68db5ff577b85dd6be76eaa75d58af
languageName: node
linkType: hard
@@ -16189,17 +15292,17 @@ __metadata:
languageName: node
linkType: hard
-"undici-types@npm:~7.16.0":
- version: 7.16.0
- resolution: "undici-types@npm:7.16.0"
- checksum: 10/db43439f69c2d94cc29f75cbfe9de86df87061d6b0c577ebe9bb3255f49b22c50162a7d7eb413b0458b6510b8ca299ac7cff38c3a29fbd31af9f504bcf7fbc0d
+"undici-types@npm:~7.18.0":
+ version: 7.18.2
+ resolution: "undici-types@npm:7.18.2"
+ checksum: 10/e61a5918f624d68420c3ca9d301e9f15b61cba6e97be39fe2ce266dd6151e4afe424d679372638826cb506be33952774e0424141200111a9857e464216c009af
languageName: node
linkType: hard
"undici@npm:^6.18.2":
- version: 6.22.0
- resolution: "undici@npm:6.22.0"
- checksum: 10/2398de2b460e05f80f994d8a64fcb603aac8f253f8e7ff737067531c1101e1d74644fe5205894b0f7356ea69602d10d6d98c554fcd8b383ec3cc07a3268ec293
+ version: 6.23.0
+ resolution: "undici@npm:6.23.0"
+ checksum: 10/56950995e7b628e62c996430445d17995ca9b70f6f2afe760a63da54205660d968bd08f0741b6f4fb008f40aa35c69cce979cd96ced399585d8c897a76a4f1d1
languageName: node
linkType: hard
@@ -16252,15 +15355,6 @@ __metadata:
languageName: node
linkType: hard
-"unique-string@npm:~2.0.0":
- version: 2.0.0
- resolution: "unique-string@npm:2.0.0"
- dependencies:
- crypto-random-string: "npm:^2.0.0"
- checksum: 10/107cae65b0b618296c2c663b8e52e4d1df129e9af04ab38d53b4f2189e96da93f599c85f4589b7ffaf1a11c9327cbb8a34f04c71b8d4950d3e385c2da2a93828
- languageName: node
- linkType: hard
-
"unist-util-stringify-position@npm:^2.0.0":
version: 2.0.3
resolution: "unist-util-stringify-position@npm:2.0.3"
@@ -16368,8 +15462,8 @@ __metadata:
linkType: hard
"update-browserslist-db@npm:^1.2.0":
- version: 1.2.2
- resolution: "update-browserslist-db@npm:1.2.2"
+ version: 1.2.3
+ resolution: "update-browserslist-db@npm:1.2.3"
dependencies:
escalade: "npm:^3.2.0"
picocolors: "npm:^1.1.1"
@@ -16377,7 +15471,7 @@ __metadata:
browserslist: ">= 4.21.0"
bin:
update-browserslist-db: cli.js
- checksum: 10/ae2102d3c83fca35e9deb012d82bfde6f734998ced937e34a3bf239a4b67577108fdd144283aafc0e5e3cf38ca1aecd7714906ba6f562896c762d2f2fa391026
+ checksum: 10/059f774300efb4b084a49293143c511f3ae946d40397b5c30914e900cd5691a12b8e61b41dd54ed73d3b56c8204165a0333107dd784ccf8f8c81790bcc423175
languageName: node
linkType: hard
@@ -16624,8 +15718,8 @@ __metadata:
linkType: hard
"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19":
- version: 1.1.19
- resolution: "which-typed-array@npm:1.1.19"
+ version: 1.1.20
+ resolution: "which-typed-array@npm:1.1.20"
dependencies:
available-typed-arrays: "npm:^1.0.7"
call-bind: "npm:^1.0.8"
@@ -16634,7 +15728,7 @@ __metadata:
get-proto: "npm:^1.0.1"
gopd: "npm:^1.2.0"
has-tostringtag: "npm:^1.0.2"
- checksum: 10/12be30fb88567f9863186bee1777f11bea09dd59ed8b3ce4afa7dd5cade75e2f4cc56191a2da165113cc7cf79987ba021dac1e22b5b62aa7e5c56949f2469a68
+ checksum: 10/e56da3fc995d330ff012f682476f7883c16b12d36c6717c87c7ca23eb5a5ef957fa89115dacb389b11a9b4e99d5dbe2d12689b4d5d08c050b5aed0eae385b840
languageName: node
linkType: hard
@@ -16650,13 +15744,13 @@ __metadata:
linkType: hard
"which@npm:^6.0.0":
- version: 6.0.0
- resolution: "which@npm:6.0.0"
+ version: 6.0.1
+ resolution: "which@npm:6.0.1"
dependencies:
- isexe: "npm:^3.1.1"
+ isexe: "npm:^4.0.0"
bin:
node-which: bin/which.js
- checksum: 10/df19b2cd8aac94b333fa29b42e8e371a21e634a742a3b156716f7752a5afe1d73fb5d8bce9b89326f453d96879e8fe626eb421e0117eb1a3ce9fd8c97f6b7db9
+ checksum: 10/dbea77c7d3058bf6c78bf9659d2dce4d2b57d39a15b826b2af6ac2e5a219b99dc8a831b79fdbc453c0598adb4f3f84cf9c2491fd52beb9f5d2dececcad117f68
languageName: node
linkType: hard
@@ -16759,8 +15853,8 @@ __metadata:
linkType: hard
"ws@npm:^8.12.1":
- version: 8.18.3
- resolution: "ws@npm:8.18.3"
+ version: 8.19.0
+ resolution: "ws@npm:8.19.0"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ">=5.0.2"
@@ -16769,7 +15863,7 @@ __metadata:
optional: true
utf-8-validate:
optional: true
- checksum: 10/725964438d752f0ab0de582cd48d6eeada58d1511c3f613485b5598a83680bedac6187c765b0fe082e2d8cc4341fc57707c813ae780feee82d0c5efe6a4c61b6
+ checksum: 10/26e4901e93abaf73af9f26a93707c95b4845e91a7a347ec8c569e6e9be7f9df066f6c2b817b2d685544e208207898a750b78461e6e8d810c11a370771450c31b
languageName: node
linkType: hard