chore(version): up version to 2.2.0 CRM
This commit is contained in:
4
app/dist/index.html
vendored
4
app/dist/index.html
vendored
@@ -4,8 +4,8 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Velocity WebOS</title>
|
<title>Velocity WebOS</title>
|
||||||
<script type="module" crossorigin src="./assets/index-BYTPd1oW.js"></script>
|
<script type="module" crossorigin src="./assets/index-DbaoiOvw.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="./assets/index-UA0RXBVG.css">
|
<link rel="stylesheet" crossorigin href="./assets/index-BDvIhi37.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
12
app/node_modules/.package-lock.json
generated
vendored
12
app/node_modules/.package-lock.json
generated
vendored
@@ -2162,9 +2162,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mediapipe/tasks-vision": {
|
"node_modules/@mediapipe/tasks-vision": {
|
||||||
"version": "0.10.17",
|
"version": "0.10.34",
|
||||||
"resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
|
"resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.34.tgz",
|
||||||
"integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==",
|
"integrity": "sha512-KFGyhDsjJ+9WUMcMfjTOpcEp3LJNS3KwC7BfvKrCYELn/7G/5kmwnU7z6Spps+iWQoTGL8xW8i68r65OTa3DwA==",
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@monogrid/gainmap-js": {
|
"node_modules/@monogrid/gainmap-js": {
|
||||||
@@ -3882,6 +3882,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@react-three/drei/node_modules/@mediapipe/tasks-vision": {
|
||||||
|
"version": "0.10.17",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
|
||||||
|
"integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==",
|
||||||
|
"license": "Apache-2.0"
|
||||||
|
},
|
||||||
"node_modules/@react-three/fiber": {
|
"node_modules/@react-three/fiber": {
|
||||||
"version": "9.5.0",
|
"version": "9.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.5.0.tgz",
|
||||||
|
|||||||
2
app/node_modules/.tmp/tsconfig.app.tsbuildinfo
generated
vendored
2
app/node_modules/.tmp/tsconfig.app.tsbuildinfo
generated
vendored
@@ -1 +1 @@
|
|||||||
{"root":["../../src/app.tsx","../../src/global.d.ts","../../src/main.tsx","../../src/app/oracle/page.tsx","../../src/components/layout/loginscreen.tsx","../../src/components/layout/notificationcenter.tsx","../../src/components/layout/sidebar.tsx","../../src/components/modules/catalyst.tsx","../../src/components/modules/catalystmarketingtab.tsx","../../src/components/modules/dashboard.tsx","../../src/components/modules/groundtruthpicker.tsx","../../src/components/modules/inventory.tsx","../../src/components/modules/oracle.tsx","../../src/components/modules/sentinel.tsx","../../src/components/modules/settings.tsx","../../src/components/modules/sentinel/perceptionplayer.tsx","../../src/components/modules/sentinel/sentinellivesession.tsx","../../src/components/oracle/leadinspector.tsx","../../src/components/oracle/pipelineview.tsx","../../src/components/oracle/mockleads.ts","../../src/components/sentinel/journeyriver/inspectorpanel.tsx","../../src/components/sentinel/journeyriver/riverpath.tsx","../../src/components/sentinel/journeyriver/index.tsx","../../src/components/ui/accordion.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ui/alert.tsx","../../src/components/ui/aspect-ratio.tsx","../../src/components/ui/avatar.tsx","../../src/components/ui/badge.tsx","../../src/components/ui/breadcrumb.tsx","../../src/components/ui/button-group.tsx","../../src/components/ui/button.tsx","../../src/components/ui/calendar.tsx","../../src/components/ui/card.tsx","../../src/components/ui/carousel.tsx","../../src/components/ui/chart.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/collapsible.tsx","../../src/components/ui/command.tsx","../../src/components/ui/context-menu.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/drawer.tsx","../../src/components/ui/dropdown-menu.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/field.tsx","../../src/components/ui/form.tsx","../../src/components/ui/hover-card.tsx","../../src/components/ui/input-group.tsx","../../src/components/ui/input-otp.tsx","../../src/components/ui/input.tsx","../../src/components/ui/item.tsx","../../src/components/ui/kbd.tsx","../../src/components/ui/label.tsx","../../src/components/ui/menubar.tsx","../../src/components/ui/navigation-menu.tsx","../../src/components/ui/pagination.tsx","../../src/components/ui/popover.tsx","../../src/components/ui/progress.tsx","../../src/components/ui/radio-group.tsx","../../src/components/ui/resizable.tsx","../../src/components/ui/scroll-area.tsx","../../src/components/ui/select.tsx","../../src/components/ui/separator.tsx","../../src/components/ui/sheet.tsx","../../src/components/ui/sidebar.tsx","../../src/components/ui/skeleton.tsx","../../src/components/ui/slider.tsx","../../src/components/ui/sonner.tsx","../../src/components/ui/spinner.tsx","../../src/components/ui/switch.tsx","../../src/components/ui/table.tsx","../../src/components/ui/tabs.tsx","../../src/components/ui/textarea.tsx","../../src/components/ui/toggle-group.tsx","../../src/components/ui/toggle.tsx","../../src/components/ui/tooltip.tsx","../../src/hooks/use-mobile.ts","../../src/hooks/usecrmbootstrap.ts","../../src/hooks/usemediapipefacelandmarker.ts","../../src/hooks/usevelocitysocket.ts","../../src/lib/api.ts","../../src/lib/crmmappers.ts","../../src/lib/oraclequeryclient.ts","../../src/lib/utils.ts","../../src/oracle/components/branchbar.tsx","../../src/oracle/components/canvasviewport.tsx","../../src/oracle/components/componentregistry.tsx","../../src/oracle/components/promptrail.tsx","../../src/oracle/components/rollbackconfirmmodal.tsx","../../src/oracle/components/sharemodal.tsx","../../src/oracle/components/renderers/activitystreamrenderer.tsx","../../src/oracle/components/renderers/barchartrenderer.tsx","../../src/oracle/components/renderers/errornoticerenderer.tsx","../../src/oracle/components/renderers/geomaprenderer.tsx","../../src/oracle/components/renderers/kpitilerenderer.tsx","../../src/oracle/components/renderers/linechartrenderer.tsx","../../src/oracle/components/renderers/pipelineboardrenderer.tsx","../../src/oracle/components/renderers/rendererwrapper.tsx","../../src/oracle/components/renderers/tablerenderer.tsx","../../src/oracle/components/renderers/timelinerenderer.tsx","../../src/oracle/components/review/mergereviewdrawer.tsx","../../src/oracle/hooks/useoracleexecution.ts","../../src/oracle/hooks/useoraclepage.ts","../../src/oracle/lib/oracleapiclient.ts","../../src/oracle/lib/oracledemodata.ts","../../src/oracle/types/canvas.ts","../../src/store/usecurrencystore.ts","../../src/store/usemarketingstore.ts","../../src/store/usestore.ts","../../src/types/crm.ts","../../src/types/index.ts","../../src/utils/curvegenerator.ts","../../src/utils/landmarkpacketencoder.ts"],"version":"5.9.3"}
|
{"root":["../../src/app.tsx","../../src/main.tsx","../../src/app/admin/page.tsx","../../src/app/oracle/page.tsx","../../src/components/layout/loginscreen.tsx","../../src/components/layout/notificationcenter.tsx","../../src/components/layout/sidebar.tsx","../../src/components/modules/crm.tsx","../../src/components/modules/catalyst.tsx","../../src/components/modules/catalystmarketingtab.tsx","../../src/components/modules/dashboard.tsx","../../src/components/modules/groundtruthpicker.tsx","../../src/components/modules/inventory.tsx","../../src/components/modules/oracle.tsx","../../src/components/modules/sentinel.tsx","../../src/components/modules/settings.tsx","../../src/components/modules/sentinel/perceptionplayer.tsx","../../src/components/modules/sentinel/sentinellivesession.tsx","../../src/components/oracle/leadinspector.tsx","../../src/components/oracle/pipelineview.tsx","../../src/components/sentinel/journeyriver/inspectorpanel.tsx","../../src/components/sentinel/journeyriver/riverpath.tsx","../../src/components/sentinel/journeyriver/index.tsx","../../src/components/ui/accordion.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ui/alert.tsx","../../src/components/ui/aspect-ratio.tsx","../../src/components/ui/avatar.tsx","../../src/components/ui/badge.tsx","../../src/components/ui/breadcrumb.tsx","../../src/components/ui/button-group.tsx","../../src/components/ui/button.tsx","../../src/components/ui/calendar.tsx","../../src/components/ui/card.tsx","../../src/components/ui/carousel.tsx","../../src/components/ui/chart.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/collapsible.tsx","../../src/components/ui/command.tsx","../../src/components/ui/context-menu.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/drawer.tsx","../../src/components/ui/dropdown-menu.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/field.tsx","../../src/components/ui/form.tsx","../../src/components/ui/hover-card.tsx","../../src/components/ui/input-group.tsx","../../src/components/ui/input-otp.tsx","../../src/components/ui/input.tsx","../../src/components/ui/item.tsx","../../src/components/ui/kbd.tsx","../../src/components/ui/label.tsx","../../src/components/ui/menubar.tsx","../../src/components/ui/navigation-menu.tsx","../../src/components/ui/pagination.tsx","../../src/components/ui/popover.tsx","../../src/components/ui/progress.tsx","../../src/components/ui/radio-group.tsx","../../src/components/ui/resizable.tsx","../../src/components/ui/scroll-area.tsx","../../src/components/ui/select.tsx","../../src/components/ui/separator.tsx","../../src/components/ui/sheet.tsx","../../src/components/ui/sidebar.tsx","../../src/components/ui/skeleton.tsx","../../src/components/ui/slider.tsx","../../src/components/ui/sonner.tsx","../../src/components/ui/spinner.tsx","../../src/components/ui/switch.tsx","../../src/components/ui/table.tsx","../../src/components/ui/tabs.tsx","../../src/components/ui/textarea.tsx","../../src/components/ui/toggle-group.tsx","../../src/components/ui/toggle.tsx","../../src/components/ui/tooltip.tsx","../../src/hooks/use-mobile.ts","../../src/hooks/usecrmbootstrap.ts","../../src/hooks/usemediapipefacelandmarker.ts","../../src/hooks/usevelocitysocket.ts","../../src/lib/api.ts","../../src/lib/crmapi.ts","../../src/lib/crmmappers.ts","../../src/lib/platformmappers.ts","../../src/lib/utils.ts","../../src/lib/velocityplatformclient.ts","../../src/oracle/components/branchbar.tsx","../../src/oracle/components/canvasviewport.tsx","../../src/oracle/components/componentregistry.tsx","../../src/oracle/components/promptrail.tsx","../../src/oracle/components/rollbackconfirmmodal.tsx","../../src/oracle/components/sharemodal.tsx","../../src/oracle/components/renderers/activitystreamrenderer.tsx","../../src/oracle/components/renderers/barchartrenderer.tsx","../../src/oracle/components/renderers/errornoticerenderer.tsx","../../src/oracle/components/renderers/geomaprenderer.tsx","../../src/oracle/components/renderers/kpitilerenderer.tsx","../../src/oracle/components/renderers/linechartrenderer.tsx","../../src/oracle/components/renderers/pipelineboardrenderer.tsx","../../src/oracle/components/renderers/rendererwrapper.tsx","../../src/oracle/components/renderers/tablerenderer.tsx","../../src/oracle/components/renderers/timelinerenderer.tsx","../../src/oracle/components/review/mergereviewdrawer.tsx","../../src/oracle/hooks/useoracleexecution.ts","../../src/oracle/hooks/useoraclepage.ts","../../src/oracle/lib/oracleapiclient.ts","../../src/oracle/types/canvas.ts","../../src/store/usecurrencystore.ts","../../src/store/usemarketingstore.ts","../../src/store/usestore.ts","../../src/types/crm.ts","../../src/types/crmtypes.ts","../../src/types/index.ts","../../src/utils/curvegenerator.ts","../../src/utils/landmarkpacketencoder.ts"],"version":"5.9.3"}
|
||||||
15
app/node_modules/@mediapipe/tasks-vision/README.md
generated
vendored
15
app/node_modules/@mediapipe/tasks-vision/README.md
generated
vendored
@@ -39,21 +39,6 @@ const landmarks = faceLandmarker.detect(image);
|
|||||||
|
|
||||||
For more information, refer to the [Face Landmarker](https://developers.google.com/mediapipe/solutions/vision/face_landmarker/web_js) documentation.
|
For more information, refer to the [Face Landmarker](https://developers.google.com/mediapipe/solutions/vision/face_landmarker/web_js) documentation.
|
||||||
|
|
||||||
## Face Stylizer
|
|
||||||
|
|
||||||
The MediaPipe Face Stylizer lets you perform face stylization on images.
|
|
||||||
|
|
||||||
```
|
|
||||||
const vision = await FilesetResolver.forVisionTasks(
|
|
||||||
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision/wasm"
|
|
||||||
);
|
|
||||||
const faceStylizer = await FaceStylizer.createFromModelPath(vision,
|
|
||||||
"https://storage.googleapis.com/mediapipe-models/face_stylizer/blaze_face_stylizer/float32/1/blaze_face_stylizer.task"
|
|
||||||
);
|
|
||||||
const image = document.getElementById("image") as HTMLImageElement;
|
|
||||||
const stylizedImage = faceStylizer.stylize(image);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Gesture Recognizer
|
## Gesture Recognizer
|
||||||
|
|
||||||
The MediaPipe Gesture Recognizer task lets you recognize hand gestures in real
|
The MediaPipe Gesture Recognizer task lets you recognize hand gestures in real
|
||||||
|
|||||||
10
app/node_modules/@mediapipe/tasks-vision/package.json
generated
vendored
10
app/node_modules/@mediapipe/tasks-vision/package.json
generated
vendored
@@ -1,16 +1,24 @@
|
|||||||
{
|
{
|
||||||
"name": "@mediapipe/tasks-vision",
|
"name": "@mediapipe/tasks-vision",
|
||||||
"version": "0.10.17",
|
"version": "0.10.34",
|
||||||
"description": "MediaPipe Vision Tasks",
|
"description": "MediaPipe Vision Tasks",
|
||||||
"main": "vision_bundle.cjs",
|
"main": "vision_bundle.cjs",
|
||||||
"browser": "vision_bundle.mjs",
|
"browser": "vision_bundle.mjs",
|
||||||
"module": "vision_bundle.mjs",
|
"module": "vision_bundle.mjs",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
".": {
|
||||||
"import": "./vision_bundle.mjs",
|
"import": "./vision_bundle.mjs",
|
||||||
"require": "./vision_bundle.cjs",
|
"require": "./vision_bundle.cjs",
|
||||||
"default": "./vision_bundle.mjs",
|
"default": "./vision_bundle.mjs",
|
||||||
"types": "./vision.d.ts"
|
"types": "./vision.d.ts"
|
||||||
},
|
},
|
||||||
|
"./vision_wasm_internal.js": "./wasm/vision_wasm_internal.js",
|
||||||
|
"./vision_wasm_internal.wasm": "./wasm/vision_wasm_internal.wasm",
|
||||||
|
"./vision_wasm_nosimd_internal.js": "./wasm/vision_wasm_nosimd_internal.js",
|
||||||
|
"./vision_wasm_nosimd_internal.wasm": "./wasm/vision_wasm_nosimd_internal.wasm",
|
||||||
|
"./vision_wasm_module_internal.js": "./wasm/vision_wasm_module_internal.js",
|
||||||
|
"./vision_wasm_module_internal.wasm": "./wasm/vision_wasm_module_internal.wasm"
|
||||||
|
},
|
||||||
"author": "mediapipe@google.com",
|
"author": "mediapipe@google.com",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
159
app/node_modules/@mediapipe/tasks-vision/vision.d.ts
generated
vendored
159
app/node_modules/@mediapipe/tasks-vision/vision.d.ts
generated
vendored
@@ -299,7 +299,7 @@ export declare class DrawingUtils {
|
|||||||
*
|
*
|
||||||
* @export
|
* @export
|
||||||
* @param boundingBox The bounding box to draw.
|
* @param boundingBox The bounding box to draw.
|
||||||
* @param style The style to visualize the boundin box.
|
* @param style The style to visualize the bounding box.
|
||||||
*/
|
*/
|
||||||
drawBoundingBox(boundingBox: BoundingBox, style?: DrawingOptions): void;
|
drawBoundingBox(boundingBox: BoundingBox, style?: DrawingOptions): void;
|
||||||
/**
|
/**
|
||||||
@@ -699,133 +699,6 @@ export declare interface FaceLandmarkerResult {
|
|||||||
facialTransformationMatrixes: Matrix[];
|
facialTransformationMatrixes: Matrix[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Performs face stylization on images. */
|
|
||||||
export declare class FaceStylizer extends VisionTaskRunner {
|
|
||||||
/**
|
|
||||||
* Initializes the Wasm runtime and creates a new Face Stylizer from the
|
|
||||||
* provided options.
|
|
||||||
* @export
|
|
||||||
* @param wasmFileset A configuration object that provides the location of
|
|
||||||
* the Wasm binary and its loader.
|
|
||||||
* @param faceStylizerOptions The options for the Face Stylizer. Note
|
|
||||||
* that either a path to the model asset or a model buffer needs to be
|
|
||||||
* provided (via `baseOptions`).
|
|
||||||
*/
|
|
||||||
static createFromOptions(wasmFileset: WasmFileset, faceStylizerOptions: FaceStylizerOptions): Promise<FaceStylizer>;
|
|
||||||
/**
|
|
||||||
* Initializes the Wasm runtime and creates a new Face Stylizer based on
|
|
||||||
* the provided model asset buffer.
|
|
||||||
* @export
|
|
||||||
* @param wasmFileset A configuration object that provides the location of
|
|
||||||
* the Wasm binary and its loader.
|
|
||||||
* @param modelAssetBuffer An array or a stream containing a binary
|
|
||||||
* representation of the model.
|
|
||||||
*/
|
|
||||||
static createFromModelBuffer(wasmFileset: WasmFileset, modelAssetBuffer: Uint8Array | ReadableStreamDefaultReader): Promise<FaceStylizer>;
|
|
||||||
/**
|
|
||||||
* Initializes the Wasm runtime and creates a new Face Stylizer based on
|
|
||||||
* the path to the model asset.
|
|
||||||
* @export
|
|
||||||
* @param wasmFileset A configuration object that provides the location of
|
|
||||||
* the Wasm binary and its loader.
|
|
||||||
* @param modelAssetPath The path to the model asset.
|
|
||||||
*/
|
|
||||||
static createFromModelPath(wasmFileset: WasmFileset, modelAssetPath: string): Promise<FaceStylizer>;
|
|
||||||
private constructor();
|
|
||||||
/**
|
|
||||||
* Sets new options for the Face Stylizer.
|
|
||||||
*
|
|
||||||
* Calling `setOptions()` with a subset of options only affects those
|
|
||||||
* options. You can reset an option back to its default value by
|
|
||||||
* explicitly setting it to `undefined`.
|
|
||||||
*
|
|
||||||
* @export
|
|
||||||
* @param options The options for the Face Stylizer.
|
|
||||||
*/
|
|
||||||
setOptions(options: FaceStylizerOptions): Promise<void>;
|
|
||||||
/**
|
|
||||||
* Performs face stylization on the provided single image and invokes the
|
|
||||||
* callback with result. The method returns synchronously once the callback
|
|
||||||
* returns. Only use this method when the FaceStylizer is created with the
|
|
||||||
* image running mode.
|
|
||||||
*
|
|
||||||
* @param image An image to process.
|
|
||||||
* @param callback The callback that is invoked with the stylized image or
|
|
||||||
* `null` if no face was detected. The lifetime of the returned data is
|
|
||||||
* only guaranteed for the duration of the callback.
|
|
||||||
*/
|
|
||||||
stylize(image: ImageSource, callback: FaceStylizerCallback): void;
|
|
||||||
/**
|
|
||||||
* Performs face stylization on the provided single image and invokes the
|
|
||||||
* callback with result. The method returns synchronously once the callback
|
|
||||||
* returns. Only use this method when the FaceStylizer is created with the
|
|
||||||
* image running mode.
|
|
||||||
*
|
|
||||||
* The 'imageProcessingOptions' parameter can be used to specify one or all
|
|
||||||
* of:
|
|
||||||
* - the rotation to apply to the image before performing stylization, by
|
|
||||||
* setting its 'rotationDegrees' property.
|
|
||||||
* - the region-of-interest on which to perform stylization, by setting its
|
|
||||||
* 'regionOfInterest' property. If not specified, the full image is used.
|
|
||||||
* If both are specified, the crop around the region-of-interest is extracted
|
|
||||||
* first, then the specified rotation is applied to the crop.
|
|
||||||
*
|
|
||||||
* @param image An image to process.
|
|
||||||
* @param imageProcessingOptions the `ImageProcessingOptions` specifying how
|
|
||||||
* to process the input image before running inference.
|
|
||||||
* @param callback The callback that is invoked with the stylized image or
|
|
||||||
* `null` if no face was detected. The lifetime of the returned data is
|
|
||||||
* only guaranteed for the duration of the callback.
|
|
||||||
*/
|
|
||||||
stylize(image: ImageSource, imageProcessingOptions: ImageProcessingOptions, callback: FaceStylizerCallback): void;
|
|
||||||
/**
|
|
||||||
* Performs face stylization on the provided single image and returns the
|
|
||||||
* result. This method creates a copy of the resulting image and should not be
|
|
||||||
* used in high-throughput applications. Only use this method when the
|
|
||||||
* FaceStylizer is created with the image running mode.
|
|
||||||
*
|
|
||||||
* @param image An image to process.
|
|
||||||
* @return A stylized face or `null` if no face was detected. The result is
|
|
||||||
* copied to avoid lifetime issues.
|
|
||||||
*/
|
|
||||||
stylize(image: ImageSource): MPImage | null;
|
|
||||||
/**
|
|
||||||
* Performs face stylization on the provided single image and returns the
|
|
||||||
* result. This method creates a copy of the resulting image and should not be
|
|
||||||
* used in high-throughput applications. Only use this method when the
|
|
||||||
* FaceStylizer is created with the image running mode.
|
|
||||||
*
|
|
||||||
* The 'imageProcessingOptions' parameter can be used to specify one or all
|
|
||||||
* of:
|
|
||||||
* - the rotation to apply to the image before performing stylization, by
|
|
||||||
* setting its 'rotationDegrees' property.
|
|
||||||
* - the region-of-interest on which to perform stylization, by setting its
|
|
||||||
* 'regionOfInterest' property. If not specified, the full image is used.
|
|
||||||
* If both are specified, the crop around the region-of-interest is extracted
|
|
||||||
* first, then the specified rotation is applied to the crop.
|
|
||||||
*
|
|
||||||
* @param image An image to process.
|
|
||||||
* @param imageProcessingOptions the `ImageProcessingOptions` specifying how
|
|
||||||
* to process the input image before running inference.
|
|
||||||
* @return A stylized face or `null` if no face was detected. The result is
|
|
||||||
* copied to avoid lifetime issues.
|
|
||||||
*/
|
|
||||||
stylize(image: ImageSource, imageProcessingOptions: ImageProcessingOptions): MPImage | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A callback that receives an `MPImage` object from the face stylizer, or
|
|
||||||
* `null` if no face was detected. The lifetime of the underlying data is
|
|
||||||
* limited to the duration of the callback. If asynchronous processing is
|
|
||||||
* needed, all data needs to be copied before the callback returns (via
|
|
||||||
* `image.clone()`).
|
|
||||||
*/
|
|
||||||
export declare type FaceStylizerCallback = (image: MPImage | null) => void;
|
|
||||||
|
|
||||||
/** Options to configure the MediaPipe Face Stylizer Task */
|
|
||||||
export declare interface FaceStylizerOptions extends VisionTaskOptions {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves the files required for the MediaPipe Task APIs.
|
* Resolves the files required for the MediaPipe Task APIs.
|
||||||
*
|
*
|
||||||
@@ -841,12 +714,13 @@ export declare class FilesetResolver {
|
|||||||
*
|
*
|
||||||
* If your environment requires custom locations for the MediaPipe Wasm files,
|
* If your environment requires custom locations for the MediaPipe Wasm files,
|
||||||
* you can use `isSimdSupported()` to decide whether to load the SIMD-based
|
* you can use `isSimdSupported()` to decide whether to load the SIMD-based
|
||||||
* assets.
|
* assets. Note that for ES6 Modules, SIMD is assumed to be always supported.
|
||||||
*
|
*
|
||||||
|
* @param useModule Whether to use ES6 Modules for the Wasm files.
|
||||||
* @export
|
* @export
|
||||||
* @return Whether SIMD support was detected in the current environment.
|
* @return Whether SIMD support was detected in the current environment.
|
||||||
*/
|
*/
|
||||||
static isSimdSupported(): Promise<boolean>;
|
static isSimdSupported(useModule?: boolean): Promise<boolean>;
|
||||||
/**
|
/**
|
||||||
* Creates a fileset for the MediaPipe Audio tasks.
|
* Creates a fileset for the MediaPipe Audio tasks.
|
||||||
*
|
*
|
||||||
@@ -854,10 +728,11 @@ export declare class FilesetResolver {
|
|||||||
* @param basePath An optional base path to specify the directory the Wasm
|
* @param basePath An optional base path to specify the directory the Wasm
|
||||||
* files should be loaded from. If not specified, the Wasm files are
|
* files should be loaded from. If not specified, the Wasm files are
|
||||||
* loaded from the host's root directory.
|
* loaded from the host's root directory.
|
||||||
|
* @param useModule Whether to use ES6 Modules for the Wasm files.
|
||||||
* @return A `WasmFileset` that can be used to initialize MediaPipe Audio
|
* @return A `WasmFileset` that can be used to initialize MediaPipe Audio
|
||||||
* tasks.
|
* tasks.
|
||||||
*/
|
*/
|
||||||
static forAudioTasks(basePath?: string): Promise<WasmFileset>;
|
static forAudioTasks(basePath?: string, useModule?: boolean): Promise<WasmFileset>;
|
||||||
/**
|
/**
|
||||||
* Creates a fileset for the MediaPipe GenAI tasks.
|
* Creates a fileset for the MediaPipe GenAI tasks.
|
||||||
*
|
*
|
||||||
@@ -865,21 +740,11 @@ export declare class FilesetResolver {
|
|||||||
* @param basePath An optional base path to specify the directory the Wasm
|
* @param basePath An optional base path to specify the directory the Wasm
|
||||||
* files should be loaded from. If not specified, the Wasm files are
|
* files should be loaded from. If not specified, the Wasm files are
|
||||||
* loaded from the host's root directory.
|
* loaded from the host's root directory.
|
||||||
|
* @param useModule Whether to use ES6 Modules for the Wasm files.
|
||||||
* @return A `WasmFileset` that can be used to initialize MediaPipe GenAI
|
* @return A `WasmFileset` that can be used to initialize MediaPipe GenAI
|
||||||
* tasks.
|
* tasks.
|
||||||
*/
|
*/
|
||||||
static forGenAiTasks(basePath?: string): Promise<WasmFileset>;
|
static forGenAiTasks(basePath?: string, useModule?: boolean): Promise<WasmFileset>;
|
||||||
/**
|
|
||||||
* Creates a fileset for the MediaPipe GenAI Experimental tasks.
|
|
||||||
*
|
|
||||||
* @export
|
|
||||||
* @param basePath An optional base path to specify the directory the Wasm
|
|
||||||
* files should be loaded from. If not specified, the Wasm files are
|
|
||||||
* loaded from the host's root directory.
|
|
||||||
* @return A `WasmFileset` that can be used to initialize MediaPipe GenAI
|
|
||||||
* tasks.
|
|
||||||
*/
|
|
||||||
static forGenAiExperimentalTasks(basePath?: string): Promise<WasmFileset>;
|
|
||||||
/**
|
/**
|
||||||
* Creates a fileset for the MediaPipe Text tasks.
|
* Creates a fileset for the MediaPipe Text tasks.
|
||||||
*
|
*
|
||||||
@@ -887,10 +752,11 @@ export declare class FilesetResolver {
|
|||||||
* @param basePath An optional base path to specify the directory the Wasm
|
* @param basePath An optional base path to specify the directory the Wasm
|
||||||
* files should be loaded from. If not specified, the Wasm files are
|
* files should be loaded from. If not specified, the Wasm files are
|
||||||
* loaded from the host's root directory.
|
* loaded from the host's root directory.
|
||||||
|
* @param useModule Whether to use ES6 Modules for the Wasm files.
|
||||||
* @return A `WasmFileset` that can be used to initialize MediaPipe Text
|
* @return A `WasmFileset` that can be used to initialize MediaPipe Text
|
||||||
* tasks.
|
* tasks.
|
||||||
*/
|
*/
|
||||||
static forTextTasks(basePath?: string): Promise<WasmFileset>;
|
static forTextTasks(basePath?: string, useModule?: boolean): Promise<WasmFileset>;
|
||||||
/**
|
/**
|
||||||
* Creates a fileset for the MediaPipe Vision tasks.
|
* Creates a fileset for the MediaPipe Vision tasks.
|
||||||
*
|
*
|
||||||
@@ -898,10 +764,11 @@ export declare class FilesetResolver {
|
|||||||
* @param basePath An optional base path to specify the directory the Wasm
|
* @param basePath An optional base path to specify the directory the Wasm
|
||||||
* files should be loaded from. If not specified, the Wasm files are
|
* files should be loaded from. If not specified, the Wasm files are
|
||||||
* loaded from the host's root directory.
|
* loaded from the host's root directory.
|
||||||
|
* @param useModule Whether to use ES6 Modules for the Wasm files.
|
||||||
* @return A `WasmFileset` that can be used to initialize MediaPipe Vision
|
* @return A `WasmFileset` that can be used to initialize MediaPipe Vision
|
||||||
* tasks.
|
* tasks.
|
||||||
*/
|
*/
|
||||||
static forVisionTasks(basePath?: string): Promise<WasmFileset>;
|
static forVisionTasks(basePath?: string, useModule?: boolean): Promise<WasmFileset>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Performs hand gesture recognition on images. */
|
/** Performs hand gesture recognition on images. */
|
||||||
@@ -2080,7 +1947,7 @@ export declare class InteractiveSegmenter extends VisionTaskRunner {
|
|||||||
export declare type InteractiveSegmenterCallback = (result: InteractiveSegmenterResult) => void;
|
export declare type InteractiveSegmenterCallback = (result: InteractiveSegmenterResult) => void;
|
||||||
|
|
||||||
/** Options to configure the MediaPipe Interactive Segmenter Task */
|
/** Options to configure the MediaPipe Interactive Segmenter Task */
|
||||||
export declare interface InteractiveSegmenterOptions extends TaskRunnerOptions {
|
export declare interface InteractiveSegmenterOptions extends VisionTaskOptions {
|
||||||
/** Whether to output confidence masks. Defaults to true. */
|
/** Whether to output confidence masks. Defaults to true. */
|
||||||
outputConfidenceMasks?: boolean | undefined;
|
outputConfidenceMasks?: boolean | undefined;
|
||||||
/** Whether to output the category masks. Defaults to false. */
|
/** Whether to output the category masks. Defaults to false. */
|
||||||
|
|||||||
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.cjs
generated
vendored
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.cjs
generated
vendored
File diff suppressed because one or more lines are too long
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.cjs.map
generated
vendored
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.cjs.map
generated
vendored
File diff suppressed because one or more lines are too long
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.mjs
generated
vendored
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.mjs
generated
vendored
File diff suppressed because one or more lines are too long
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.mjs.map
generated
vendored
2
app/node_modules/@mediapipe/tasks-vision/vision_bundle.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
8844
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_internal.js
generated
vendored
8844
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_internal.js
generated
vendored
File diff suppressed because one or more lines are too long
BIN
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_internal.wasm
generated
vendored
BIN
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_internal.wasm
generated
vendored
Binary file not shown.
8835
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_nosimd_internal.js
generated
vendored
8835
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_nosimd_internal.js
generated
vendored
File diff suppressed because one or more lines are too long
BIN
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_nosimd_internal.wasm
generated
vendored
BIN
app/node_modules/@mediapipe/tasks-vision/wasm/vision_wasm_nosimd_internal.wasm
generated
vendored
Binary file not shown.
@@ -618,7 +618,7 @@ function AboutSection() {
|
|||||||
<h4 className="text-white font-semibold text-lg mb-1">Velocity WebOS</h4>
|
<h4 className="text-white font-semibold text-lg mb-1">Velocity WebOS</h4>
|
||||||
<p className="text-sm mb-4" style={{ color: 'hsl(var(--muted-fg))' }}>Real Estate Operating System</p>
|
<p className="text-sm mb-4" style={{ color: 'hsl(var(--muted-fg))' }}>Real Estate Operating System</p>
|
||||||
<div className="flex items-center justify-center gap-2 text-xs mb-6" style={{ color: 'hsl(var(--subtle-fg))' }}>
|
<div className="flex items-center justify-center gap-2 text-xs mb-6" style={{ color: 'hsl(var(--subtle-fg))' }}>
|
||||||
<span>Version 2.1.0</span>
|
<span>Version 2.2.0 CRM</span>
|
||||||
<span>•</span>
|
<span>•</span>
|
||||||
<span>{token ? 'Authenticated session active' : 'No active session'}</span>
|
<span>{token ? 'Authenticated session active' : 'No active session'}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ export const useStore = create<StoreState>()(
|
|||||||
isConnected: false,
|
isConnected: false,
|
||||||
serverStatus: 'syncing',
|
serverStatus: 'syncing',
|
||||||
lastSync: new Date(),
|
lastSync: new Date(),
|
||||||
version: '2.1.0',
|
version: '2.2.0 CRM',
|
||||||
},
|
},
|
||||||
updateStatus: (status) => set((state) => ({
|
updateStatus: (status) => set((state) => ({
|
||||||
status: { ...state.status, ...status },
|
status: { ...state.status, ...status },
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
# Delivery Log
|
|
||||||
|
|
||||||
## Multi-Surface Platform and Oracle Expansion
|
|
||||||
|
|
||||||
### Completed in this pass
|
|
||||||
|
|
||||||
- Confirmed backend route families are registered in `backend/main.py`:
|
|
||||||
- `routes_mobile_edge.py`
|
|
||||||
- `routes_inventory.py`
|
|
||||||
- `routes_admin_surface.py`
|
|
||||||
- Confirmed Oracle extension artifacts already exist in the workspace:
|
|
||||||
- `backend/oracle/schema_extension_v2.sql`
|
|
||||||
- `backend/oracle/oracle_template_seed_db.json`
|
|
||||||
- Completed iPad residual navigation and feature views:
|
|
||||||
- Added `CommunicationsView.swift`
|
|
||||||
- Added `CalendarView.swift`
|
|
||||||
- Wired both into `ContentView.swift`
|
|
||||||
- Added Android tablet scaffold under `android-tablet/`
|
|
||||||
- Compose app shell
|
|
||||||
- Navigation graph
|
|
||||||
- Dashboard, Inventory, Oracle, Sentinel, and Settings feature stubs
|
|
||||||
- Added iPhone edge app scaffold under `iOS/velocity-edge-phone/`
|
|
||||||
- SwiftUI app entry
|
|
||||||
- Alerts, Lead Summary, Communications, Notes, Transcriptions, Settings
|
|
||||||
- Added Android phone edge scaffold under `android-edge-phone/`
|
|
||||||
- Compose app shell
|
|
||||||
- Alerts, Lead Summary, Communications, Notes, Transcriptions, Settings
|
|
||||||
- Added WebOS admin panel surface at `app/src/app/admin/page.tsx`
|
|
||||||
- Added `docs/KIMI_SYNTHETIC_DATA_DOWNSTREAM_PLAN.md`
|
|
||||||
- Hardened live auth/session behavior across WebOS:
|
|
||||||
- JWT roles are normalized to uppercase in `backend/auth/dependencies.py`
|
|
||||||
- WebOS session restore now re-validates the real backend token on reload in `app/src/App.tsx`
|
|
||||||
- Top-bar identity now renders the authenticated backend user instead of hard-coded operator text
|
|
||||||
- Removed misleading mock fallback behavior from active WebOS surfaces:
|
|
||||||
- `app/src/store/useStore.ts` now starts with empty/live-only state instead of fabricated leads, visitors, metrics, and units
|
|
||||||
- `app/src/hooks/useCrmBootstrap.ts` now hydrates CRM plus inventory state from backend data and clears state on failure instead of silently preserving fake data
|
|
||||||
- `app/src/lib/oracleQueryClient.ts` now throws when `VITE_ORACLE_QUERY_URL` is missing instead of generating mock Oracle answers
|
|
||||||
- Rebuilt the investor-facing WebOS dashboard around live backend data:
|
|
||||||
- `app/src/components/modules/Dashboard.tsx` now renders CRM lead counts, real conversation volume, inventory preview, velocity trends, sync state, and mobile-edge alerts
|
|
||||||
- Removed the previous fabricated AI chat, top performer, and static KPI content from the dashboard surface
|
|
||||||
- Extended the live inventory contract and frontend mapping:
|
|
||||||
- `backend/api/routes_inventory.py` now includes `price_bands` and `unit_mix` in property summary payloads
|
|
||||||
- `app/src/lib/velocityPlatformClient.ts` and `app/src/lib/platformMappers.ts` now map inventory properties into live Inventory module cards
|
|
||||||
- Reduced fabricated marketing behavior in Catalyst:
|
|
||||||
- `app/src/store/useMarketingStore.ts` now initializes empty instead of seeded mock campaigns/assets/insights/events
|
|
||||||
- `app/src/components/modules/Catalyst.tsx` no longer auto-generates fake optimization feed events
|
|
||||||
- `app/src/components/modules/CatalystMarketingTab.tsx` no longer exposes a synthetic lead seeding path from the production shell
|
|
||||||
- `app/src/components/modules/GroundTruthPicker.tsx` now requires real operator-provided assets instead of showing built-in sample media
|
|
||||||
- Oracle v1 client auth is now aligned with the main platform session:
|
|
||||||
- `app/src/oracle/lib/oracleApiClient.ts` will reuse the live Velocity token if a dedicated `oracle_jwt` is not present
|
|
||||||
- Completed final WebOS production pass:
|
|
||||||
- `app/src/app/admin/page.tsx` now stages real bounded admin actions through `POST /api/admin-surface/actions`
|
|
||||||
- `app/src/components/modules/Settings.tsx` now reflects truthful session/config state instead of fake device pairing and hard-coded profile data
|
|
||||||
- Removed inactive demo-only WebOS files such as `app/src/lib/oracleQueryClient.ts`, `app/src/oracle/lib/oracleDemoData.ts`, and `app/src/components/oracle/mockLeads.ts`
|
|
||||||
- Confirmed the iPad residual views are now live-backend readers rather than local static arrays:
|
|
||||||
- `iOS/velocity/velocity/Features/Communications/CommunicationsView.swift`
|
|
||||||
- `iOS/velocity/velocity/Features/Calendar/CalendarView.swift`
|
|
||||||
- `iOS/velocity/velocity/Core/Networking/VelocityAPIClient.swift`
|
|
||||||
- `iOS/velocity/velocity/Core/Config/AppConfig.swift`
|
|
||||||
|
|
||||||
### MVP limits still in place
|
|
||||||
|
|
||||||
- Android projects are scaffolds only; they are not yet wired to shared API clients, auth, or install registration.
|
|
||||||
- The iPhone edge scaffold is source-first and does not yet include a dedicated `.xcodeproj` target.
|
|
||||||
- The WebOS admin page is mounted into the live Vite shell and can now stage bounded actions against the backend audit trail; auto-execution remains intentionally out of scope.
|
|
||||||
- The iPad Communications and Calendar views read live backend data, but the broader iPad app still contains other legacy mock-backed modules outside this residual slice.
|
|
||||||
- The active WebOS runtime path has been hardened away from mock/demo behavior, but deeper non-WebOS workstream items remain out of scope for this pass, especially legacy iPad modules and simulator-only inventory/AR helpers on iOS.
|
|
||||||
- Oracle template seed metadata needs correction: `_meta.total_seed_examples` does not match the actual seed example count in `backend/oracle/oracle_template_seed_db.json`.
|
|
||||||
- Sprint-1 documentation artifacts called for in the delivery pack are still missing as committed repo outputs, including the residual audit artifact and contract/package documentation.
|
|
||||||
|
|
||||||
### Verification steps run
|
|
||||||
|
|
||||||
- Python syntax compilation for backend route files
|
|
||||||
- JSON validation for Oracle seed DB
|
|
||||||
- SQL parse sanity check on extension migration
|
|
||||||
- `npx tsc --noEmit` for the WebOS app after live-auth and no-mock hardening changes
|
|
||||||
- `python3 -m py_compile` for backend auth and route modules after role/session hardening
|
|
||||||
|
|
||||||
### Recommended next implementation step
|
|
||||||
|
|
||||||
WebOS is now the strongest completed surface. The next implementation step should move fully to iOS and Android completion while preserving the live backend/auth patterns established here.
|
|
||||||
Reference in New Issue
Block a user