@vibesdotdev/media 0.0.0-stage → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +18 -0
- package/README.md +95 -2
- package/dist/analyzers/frame-guard.d.ts +6 -0
- package/dist/analyzers/frame-guard.d.ts.map +1 -0
- package/dist/analyzers/frame-guard.js +10 -0
- package/dist/analyzers/frame-guard.js.map +1 -0
- package/dist/analyzers/motion-math.d.ts +66 -0
- package/dist/analyzers/motion-math.d.ts.map +1 -0
- package/dist/analyzers/motion-math.js +356 -0
- package/dist/analyzers/motion-math.js.map +1 -0
- package/dist/analyzers/reference-motion-analyzer.impl.d.ts +23 -0
- package/dist/analyzers/reference-motion-analyzer.impl.d.ts.map +1 -0
- package/dist/analyzers/reference-motion-analyzer.impl.js +69 -0
- package/dist/analyzers/reference-motion-analyzer.impl.js.map +1 -0
- package/dist/analyzers/reference-motion.descriptor.d.ts +11 -0
- package/dist/analyzers/reference-motion.descriptor.d.ts.map +1 -0
- package/dist/analyzers/reference-motion.descriptor.js +21 -0
- package/dist/analyzers/reference-motion.descriptor.js.map +1 -0
- package/dist/capture-client.d.ts +34 -0
- package/dist/capture-client.d.ts.map +1 -0
- package/dist/capture-client.js +163 -0
- package/dist/capture-client.js.map +1 -0
- package/dist/config/media.uploads.config.descriptor.d.ts +27 -0
- package/dist/config/media.uploads.config.descriptor.d.ts.map +1 -0
- package/dist/config/media.uploads.config.descriptor.js +46 -0
- package/dist/config/media.uploads.config.descriptor.js.map +1 -0
- package/dist/config/uploads.d.ts +11 -0
- package/dist/config/uploads.d.ts.map +1 -0
- package/dist/config/uploads.js +25 -0
- package/dist/config/uploads.js.map +1 -0
- package/dist/docs/artifact-references.docs.descriptor.d.ts +4 -0
- package/dist/docs/artifact-references.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/artifact-references.docs.descriptor.js +69 -0
- package/dist/docs/artifact-references.docs.descriptor.js.map +1 -0
- package/dist/docs/image-transform.docs.descriptor.d.ts +4 -0
- package/dist/docs/image-transform.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/image-transform.docs.descriptor.js +52 -0
- package/dist/docs/image-transform.docs.descriptor.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/capture-provider.d.ts +33 -0
- package/dist/interfaces/capture-provider.d.ts.map +1 -0
- package/dist/interfaces/capture-provider.js +10 -0
- package/dist/interfaces/capture-provider.js.map +1 -0
- package/dist/interfaces/image-transformer.d.ts +7 -0
- package/dist/interfaces/image-transformer.d.ts.map +1 -0
- package/dist/interfaces/image-transformer.js +2 -0
- package/dist/interfaces/image-transformer.js.map +1 -0
- package/dist/interfaces/index.d.ts +7 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/motion-analyzer.d.ts +55 -0
- package/dist/interfaces/motion-analyzer.d.ts.map +1 -0
- package/dist/interfaces/motion-analyzer.js +14 -0
- package/dist/interfaces/motion-analyzer.js.map +1 -0
- package/dist/kinds/capture.d.ts +58 -0
- package/dist/kinds/capture.d.ts.map +1 -0
- package/dist/kinds/capture.js +34 -0
- package/dist/kinds/capture.js.map +1 -0
- package/dist/kinds/image-transform.d.ts +91 -0
- package/dist/kinds/image-transform.d.ts.map +1 -0
- package/dist/kinds/image-transform.js +12 -0
- package/dist/kinds/image-transform.js.map +1 -0
- package/dist/kinds/index.d.ts +10 -0
- package/dist/kinds/index.d.ts.map +1 -0
- package/dist/kinds/index.js +7 -0
- package/dist/kinds/index.js.map +1 -0
- package/dist/kinds/motion.d.ts +57 -0
- package/dist/kinds/motion.d.ts.map +1 -0
- package/dist/kinds/motion.js +34 -0
- package/dist/kinds/motion.js.map +1 -0
- package/dist/media.plugin.d.ts +23 -0
- package/dist/media.plugin.d.ts.map +1 -0
- package/dist/media.plugin.js +48 -0
- package/dist/media.plugin.js.map +1 -0
- package/dist/schemas/artifact-reference.d.ts +59 -0
- package/dist/schemas/artifact-reference.d.ts.map +1 -0
- package/dist/schemas/artifact-reference.js +77 -0
- package/dist/schemas/artifact-reference.js.map +1 -0
- package/dist/schemas/capture-descriptor.d.ts +71 -0
- package/dist/schemas/capture-descriptor.d.ts.map +1 -0
- package/dist/schemas/capture-descriptor.js +74 -0
- package/dist/schemas/capture-descriptor.js.map +1 -0
- package/dist/schemas/capture-options.d.ts +51 -0
- package/dist/schemas/capture-options.d.ts.map +1 -0
- package/dist/schemas/capture-options.js +68 -0
- package/dist/schemas/capture-options.js.map +1 -0
- package/dist/schemas/capture-parse.d.ts +10 -0
- package/dist/schemas/capture-parse.d.ts.map +1 -0
- package/dist/schemas/capture-parse.js +30 -0
- package/dist/schemas/capture-parse.js.map +1 -0
- package/dist/schemas/capture-state.d.ts +77 -0
- package/dist/schemas/capture-state.d.ts.map +1 -0
- package/dist/schemas/capture-state.js +25 -0
- package/dist/schemas/capture-state.js.map +1 -0
- package/dist/schemas/image-transform.d.ts +269 -0
- package/dist/schemas/image-transform.d.ts.map +1 -0
- package/dist/schemas/image-transform.js +161 -0
- package/dist/schemas/image-transform.js.map +1 -0
- package/dist/schemas/index.d.ts +20 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +17 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/motion-analysis.d.ts +187 -0
- package/dist/schemas/motion-analysis.d.ts.map +1 -0
- package/dist/schemas/motion-analysis.js +213 -0
- package/dist/schemas/motion-analysis.js.map +1 -0
- package/dist/schemas/motion-descriptor.d.ts +53 -0
- package/dist/schemas/motion-descriptor.d.ts.map +1 -0
- package/dist/schemas/motion-descriptor.js +47 -0
- package/dist/schemas/motion-descriptor.js.map +1 -0
- package/dist/schemas/motion-frame.d.ts +63 -0
- package/dist/schemas/motion-frame.d.ts.map +1 -0
- package/dist/schemas/motion-frame.js +86 -0
- package/dist/schemas/motion-frame.js.map +1 -0
- package/dist/schemas/opaque-id.d.ts +10 -0
- package/dist/schemas/opaque-id.d.ts.map +1 -0
- package/dist/schemas/opaque-id.js +24 -0
- package/dist/schemas/opaque-id.js.map +1 -0
- package/dist/schemas/sharing-state.d.ts +43 -0
- package/dist/schemas/sharing-state.d.ts.map +1 -0
- package/dist/schemas/sharing-state.js +11 -0
- package/dist/schemas/sharing-state.js.map +1 -0
- package/dist/svelte/CaptureLoader.svelte +29 -0
- package/dist/svelte/CaptureLoader.svelte.d.ts +11 -0
- package/dist/svelte/CaptureLoader.svelte.d.ts.map +1 -0
- package/dist/svelte/CapturePanel.svelte +189 -0
- package/dist/svelte/CapturePanel.svelte.d.ts +12 -0
- package/dist/svelte/CapturePanel.svelte.d.ts.map +1 -0
- package/dist/svelte/MediaUploader.svelte +109 -0
- package/dist/svelte/MediaUploader.svelte.d.ts +5 -0
- package/dist/svelte/MediaUploader.svelte.d.ts.map +1 -0
- package/dist/svelte/capture-parse.d.ts +2 -0
- package/dist/svelte/capture-parse.d.ts.map +1 -0
- package/dist/svelte/capture-parse.js +1 -0
- package/dist/svelte/failure-message.d.ts +2 -0
- package/dist/svelte/failure-message.d.ts.map +1 -0
- package/dist/svelte/failure-message.js +1 -0
- package/dist/svelte/index.d.ts +8 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +6 -0
- package/dist/svelte/runtime-log.d.ts +14 -0
- package/dist/svelte/runtime-log.d.ts.map +1 -0
- package/dist/svelte/runtime-log.js +19 -0
- package/dist/svelte/runtime.d.ts +9 -0
- package/dist/svelte/runtime.d.ts.map +1 -0
- package/dist/svelte/runtime.js +27 -0
- package/dist/svelte/sharing/README.md +38 -0
- package/dist/svelte/sharing/components/ShareButton.svelte +57 -0
- package/dist/svelte/sharing/components/ShareButton.svelte.d.ts +11 -0
- package/dist/svelte/sharing/components/ShareButton.svelte.d.ts.map +1 -0
- package/dist/svelte/sharing/components/ShareDialog.svelte +222 -0
- package/dist/svelte/sharing/components/ShareDialog.svelte.d.ts +8 -0
- package/dist/svelte/sharing/components/ShareDialog.svelte.d.ts.map +1 -0
- package/dist/svelte/sharing/components/ShareLoader.svelte +19 -0
- package/dist/svelte/sharing/components/ShareLoader.svelte.d.ts +7 -0
- package/dist/svelte/sharing/components/ShareLoader.svelte.d.ts.map +1 -0
- package/dist/svelte/sharing/index.d.ts +20 -0
- package/dist/svelte/sharing/index.d.ts.map +1 -0
- package/dist/svelte/sharing/index.js +19 -0
- package/dist/svelte/sharing/runtime.d.ts +44 -0
- package/dist/svelte/sharing/runtime.d.ts.map +1 -0
- package/dist/svelte/sharing/runtime.js +81 -0
- package/dist/svelte/sharing/state.svelte.d.ts +28 -0
- package/dist/svelte/sharing/state.svelte.d.ts.map +1 -0
- package/dist/svelte/sharing/state.svelte.js +101 -0
- package/dist/svelte/sharing/styles.css +8 -0
- package/dist/svelte/state.svelte.d.ts +38 -0
- package/dist/svelte/state.svelte.d.ts.map +1 -0
- package/dist/svelte/state.svelte.js +102 -0
- package/dist/svelte/styles.css +2 -0
- package/dist/svelte/uploader.d.ts +17 -0
- package/dist/svelte/uploader.d.ts.map +1 -0
- package/dist/svelte/uploader.js +9 -0
- package/dist/uploads/adapters/local/index.d.ts +9 -0
- package/dist/uploads/adapters/local/index.d.ts.map +1 -0
- package/dist/uploads/adapters/local/index.js +12 -0
- package/dist/uploads/adapters/local/index.js.map +1 -0
- package/dist/uploads/adapters/local/local-storage.descriptor.d.ts +24 -0
- package/dist/uploads/adapters/local/local-storage.descriptor.d.ts.map +1 -0
- package/dist/uploads/adapters/local/local-storage.descriptor.js +20 -0
- package/dist/uploads/adapters/local/local-storage.descriptor.js.map +1 -0
- package/dist/uploads/adapters/local/local-storage.impl.d.ts +123 -0
- package/dist/uploads/adapters/local/local-storage.impl.d.ts.map +1 -0
- package/dist/uploads/adapters/local/local-storage.impl.js +231 -0
- package/dist/uploads/adapters/local/local-storage.impl.js.map +1 -0
- package/dist/uploads/adapters/local/uploads-adapter-local.plugin.d.ts +9 -0
- package/dist/uploads/adapters/local/uploads-adapter-local.plugin.d.ts.map +1 -0
- package/dist/uploads/adapters/local/uploads-adapter-local.plugin.js +41 -0
- package/dist/uploads/adapters/local/uploads-adapter-local.plugin.js.map +1 -0
- package/dist/uploads/client/helper.d.ts +26 -0
- package/dist/uploads/client/helper.d.ts.map +1 -0
- package/dist/uploads/client/helper.js +27 -0
- package/dist/uploads/client/helper.js.map +1 -0
- package/dist/uploads/client/index.d.ts +11 -0
- package/dist/uploads/client/index.d.ts.map +1 -0
- package/dist/uploads/client/index.js +9 -0
- package/dist/uploads/client/index.js.map +1 -0
- package/dist/uploads/client/sharing-client.d.ts +45 -0
- package/dist/uploads/client/sharing-client.d.ts.map +1 -0
- package/dist/uploads/client/sharing-client.js +153 -0
- package/dist/uploads/client/sharing-client.js.map +1 -0
- package/dist/uploads/client/uploads-client.d.ts +200 -0
- package/dist/uploads/client/uploads-client.d.ts.map +1 -0
- package/dist/uploads/client/uploads-client.js +487 -0
- package/dist/uploads/client/uploads-client.js.map +1 -0
- package/dist/uploads/docs/uploads.docs.descriptor.d.ts +4 -0
- package/dist/uploads/docs/uploads.docs.descriptor.d.ts.map +1 -0
- package/dist/uploads/docs/uploads.docs.descriptor.js +65 -0
- package/dist/uploads/docs/uploads.docs.descriptor.js.map +1 -0
- package/dist/uploads/docs/uploads.share-links.docs.descriptor.d.ts +22 -0
- package/dist/uploads/docs/uploads.share-links.docs.descriptor.d.ts.map +1 -0
- package/dist/uploads/docs/uploads.share-links.docs.descriptor.js +86 -0
- package/dist/uploads/docs/uploads.share-links.docs.descriptor.js.map +1 -0
- package/dist/uploads/index.d.ts +12 -0
- package/dist/uploads/index.d.ts.map +1 -0
- package/dist/uploads/index.js +13 -0
- package/dist/uploads/index.js.map +1 -0
- package/dist/uploads/schemas/common.d.ts +135 -0
- package/dist/uploads/schemas/common.d.ts.map +1 -0
- package/dist/uploads/schemas/common.js +152 -0
- package/dist/uploads/schemas/common.js.map +1 -0
- package/dist/uploads/schemas/forms.d.ts +59 -0
- package/dist/uploads/schemas/forms.d.ts.map +1 -0
- package/dist/uploads/schemas/forms.js +41 -0
- package/dist/uploads/schemas/forms.js.map +1 -0
- package/dist/uploads/schemas/index.d.ts +18 -0
- package/dist/uploads/schemas/index.d.ts.map +1 -0
- package/dist/uploads/schemas/index.js +13 -0
- package/dist/uploads/schemas/index.js.map +1 -0
- package/dist/uploads/schemas/records.d.ts +81 -0
- package/dist/uploads/schemas/records.d.ts.map +1 -0
- package/dist/uploads/schemas/records.js +82 -0
- package/dist/uploads/schemas/records.js.map +1 -0
- package/dist/uploads/schemas/requests.d.ts +32 -0
- package/dist/uploads/schemas/requests.d.ts.map +1 -0
- package/dist/uploads/schemas/requests.js +30 -0
- package/dist/uploads/schemas/requests.js.map +1 -0
- package/dist/uploads/schemas/shares.d.ts +67 -0
- package/dist/uploads/schemas/shares.d.ts.map +1 -0
- package/dist/uploads/schemas/shares.js +39 -0
- package/dist/uploads/schemas/shares.js.map +1 -0
- package/dist/uploads/server/backend.d.ts +8 -0
- package/dist/uploads/server/backend.d.ts.map +1 -0
- package/dist/uploads/server/backend.js +11 -0
- package/dist/uploads/server/backend.js.map +1 -0
- package/dist/uploads/server/config.d.ts +5 -0
- package/dist/uploads/server/config.d.ts.map +1 -0
- package/dist/uploads/server/config.js +38 -0
- package/dist/uploads/server/config.js.map +1 -0
- package/dist/uploads/server/service.d.ts +77 -0
- package/dist/uploads/server/service.d.ts.map +1 -0
- package/dist/uploads/server/service.js +152 -0
- package/dist/uploads/server/service.js.map +1 -0
- package/dist/uploads/server/storage-client.d.ts +11 -0
- package/dist/uploads/server/storage-client.d.ts.map +1 -0
- package/dist/uploads/server/storage-client.js +23 -0
- package/dist/uploads/server/storage-client.js.map +1 -0
- package/dist/uploads/server/storage.d.ts +40 -0
- package/dist/uploads/server/storage.d.ts.map +1 -0
- package/dist/uploads/server/storage.js +59 -0
- package/dist/uploads/server/storage.js.map +1 -0
- package/dist/uploads/uploads.plugin.d.ts +11 -0
- package/dist/uploads/uploads.plugin.d.ts.map +1 -0
- package/dist/uploads/uploads.plugin.js +89 -0
- package/dist/uploads/uploads.plugin.js.map +1 -0
- package/dist/utils/attempt.d.ts +27 -0
- package/dist/utils/attempt.d.ts.map +1 -0
- package/dist/utils/attempt.js +39 -0
- package/dist/utils/attempt.js.map +1 -0
- package/dist/utils/failure-message.d.ts +8 -0
- package/dist/utils/failure-message.d.ts.map +1 -0
- package/dist/utils/failure-message.js +28 -0
- package/dist/utils/failure-message.js.map +1 -0
- package/package.json +257 -4
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/media
|
|
3
|
+
*
|
|
4
|
+
* Universal media contracts: stable artifact revision identity plus runtime
|
|
5
|
+
* kinds for capture, image transformation, and motion. Pure TypeScript: no FS,
|
|
6
|
+
* no native deps, no SvelteKit. Owners resolve artifact references; providers
|
|
7
|
+
* implement environment capabilities.
|
|
8
|
+
*
|
|
9
|
+
* @example Provider package declares a capture surface:
|
|
10
|
+
* ```ts
|
|
11
|
+
* // bridge/src/media/bridge.screen.descriptor.ts
|
|
12
|
+
* import { createRuntimeAsset } from '@vibesdotdev/kernel/factory';
|
|
13
|
+
*
|
|
14
|
+
* export default createRuntimeAsset({
|
|
15
|
+
* kind: 'media/capture',
|
|
16
|
+
* id: 'bridge.screen',
|
|
17
|
+
* surface: 'screen',
|
|
18
|
+
* hardware: ['consumer'],
|
|
19
|
+
* enabled: true
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example Consumer resolves a provider and captures:
|
|
24
|
+
* ```ts
|
|
25
|
+
* import type { CaptureProvider } from '@vibesdotdev/media';
|
|
26
|
+
*
|
|
27
|
+
* const provider = (await runtime
|
|
28
|
+
* .query('media/capture')
|
|
29
|
+
* .withId('bridge.screen')
|
|
30
|
+
* .resolve()) as CaptureProvider;
|
|
31
|
+
*
|
|
32
|
+
* const shot = await provider.capture({ format: 'png' });
|
|
33
|
+
* // shot.data is Uint8Array, shot.format === 'png'
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export { default as mediaPlugin } from './media.plugin.ts';
|
|
37
|
+
export { OpaqueMediaIdSchema } from './schemas/opaque-id.ts';
|
|
38
|
+
export { MediaArtifactTypeSchema, MediaArtifactOwnerSchema, MediaArtifactReferenceSchema, createMediaArtifactReference, CaptureSurfaceSchema, CaptureHardwareSchema, CaptureFormatSchema, CaptureDescriptorSchema, CaptureOptionsSchema, CaptureResultSchema, CaptureSourceSchema, ImageDecodeFormatSchema, ImageEncodeFormatSchema, ImageTransformOperationSchema, ImageResizeFilterSchema, ImageTransformStabilitySchema, ImagePlatformDependentFormatsSchema, ImageTransformDescriptorSchema, ImageResizeSchema, ImageOutputSchema, ImageTransformRequestSchema, ImageTransformResultSchema } from './schemas/index.ts';
|
|
39
|
+
export type { MediaArtifactType, MediaArtifactOwner, MediaArtifactReference, CaptureSurface, CaptureHardware, CaptureFormat, CaptureDescriptor, CaptureOptions, CaptureResult, CaptureSource, ImageDecodeFormat, ImageEncodeFormat, ImageTransformOperation, ImageResizeFilter, ImageTransformStability, ImagePlatformDependentFormats, ImageTransformDescriptor, ImageResize, ImageOutput, ImageTransformRequest, ParsedImageTransformRequest, ImageTransformResult } from './schemas/index.ts';
|
|
40
|
+
export type { CaptureProvider, ImageTransformer } from './interfaces/index.ts';
|
|
41
|
+
export { MEDIA_CAPTURE_KIND_ID, MEDIA_IMAGE_TRANSFORM_KIND_ID } from './kinds/index.ts';
|
|
42
|
+
export { FrameSchema, FrameSequenceSchema, PixelBufferSchema, FrameChannelsSchema, MotionAnalyzerDescriptorSchema, MotionCapabilitySchema, MotionHardwareSchema, RegionSchema, FrameDiffOptionsSchema, FrameDiffResultSchema, TemporalStatsOptionsSchema, TemporalStatsResultSchema, OpticalFlowOptionsSchema, OpticalFlowResultSchema, FlowVectorSchema, MotionDirectionSchema, MotionEnergyOptionsSchema, MotionEnergyResultSchema, DirectionStrengthSchema, MotionVerdictSchema, MotionSummaryOptionsSchema, MotionSummarySchema } from './schemas/index.ts';
|
|
43
|
+
export type { Frame, FrameSequence, PixelBuffer, FrameChannels, MotionAnalyzerDescriptor, MotionCapability, MotionHardware, Region, FrameDiffOptions, FrameDiffResult, TemporalStatsOptions, TemporalStatsResult, OpticalFlowOptions, OpticalFlowResult, FlowVector, MotionDirection, MotionEnergyOptions, MotionEnergyResult, DirectionStrength, MotionVerdict, MotionSummaryOptions, MotionSummary } from './schemas/index.ts';
|
|
44
|
+
export type { MotionAnalyzer } from './interfaces/index.ts';
|
|
45
|
+
export { MEDIA_MOTION_KIND_ID, MEDIA_MOTION_REFERENCE_ID } from './kinds/index.ts';
|
|
46
|
+
export { MediaCaptureClient } from './capture-client.ts';
|
|
47
|
+
export type { CaptureSession } from './capture-client.ts';
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAKxF,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,8BAA8B,EAC9B,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACX,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vibesdotdev/media
|
|
3
|
+
*
|
|
4
|
+
* Universal media contracts: stable artifact revision identity plus runtime
|
|
5
|
+
* kinds for capture, image transformation, and motion. Pure TypeScript: no FS,
|
|
6
|
+
* no native deps, no SvelteKit. Owners resolve artifact references; providers
|
|
7
|
+
* implement environment capabilities.
|
|
8
|
+
*
|
|
9
|
+
* @example Provider package declares a capture surface:
|
|
10
|
+
* ```ts
|
|
11
|
+
* // bridge/src/media/bridge.screen.descriptor.ts
|
|
12
|
+
* import { createRuntimeAsset } from '@vibesdotdev/kernel/factory';
|
|
13
|
+
*
|
|
14
|
+
* export default createRuntimeAsset({
|
|
15
|
+
* kind: 'media/capture',
|
|
16
|
+
* id: 'bridge.screen',
|
|
17
|
+
* surface: 'screen',
|
|
18
|
+
* hardware: ['consumer'],
|
|
19
|
+
* enabled: true
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example Consumer resolves a provider and captures:
|
|
24
|
+
* ```ts
|
|
25
|
+
* import type { CaptureProvider } from '@vibesdotdev/media';
|
|
26
|
+
*
|
|
27
|
+
* const provider = (await runtime
|
|
28
|
+
* .query('media/capture')
|
|
29
|
+
* .withId('bridge.screen')
|
|
30
|
+
* .resolve()) as CaptureProvider;
|
|
31
|
+
*
|
|
32
|
+
* const shot = await provider.capture({ format: 'png' });
|
|
33
|
+
* // shot.data is Uint8Array, shot.format === 'png'
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
// Plugin
|
|
37
|
+
export { default as mediaPlugin } from "./media.plugin.js";
|
|
38
|
+
// Schemas
|
|
39
|
+
export { OpaqueMediaIdSchema } from "./schemas/opaque-id.js";
|
|
40
|
+
export { MediaArtifactTypeSchema, MediaArtifactOwnerSchema, MediaArtifactReferenceSchema, createMediaArtifactReference, CaptureSurfaceSchema, CaptureHardwareSchema, CaptureFormatSchema, CaptureDescriptorSchema, CaptureOptionsSchema, CaptureResultSchema, CaptureSourceSchema, ImageDecodeFormatSchema, ImageEncodeFormatSchema, ImageTransformOperationSchema, ImageResizeFilterSchema, ImageTransformStabilitySchema, ImagePlatformDependentFormatsSchema, ImageTransformDescriptorSchema, ImageResizeSchema, ImageOutputSchema, ImageTransformRequestSchema, ImageTransformResultSchema } from "./schemas/index.js";
|
|
41
|
+
// Kind constant
|
|
42
|
+
export { MEDIA_CAPTURE_KIND_ID, MEDIA_IMAGE_TRANSFORM_KIND_ID } from "./kinds/index.js";
|
|
43
|
+
// ── Motion perception (`media/motion`) ──────────────────────────────────────
|
|
44
|
+
// Motion schemas
|
|
45
|
+
export { FrameSchema, FrameSequenceSchema, PixelBufferSchema, FrameChannelsSchema, MotionAnalyzerDescriptorSchema, MotionCapabilitySchema, MotionHardwareSchema, RegionSchema, FrameDiffOptionsSchema, FrameDiffResultSchema, TemporalStatsOptionsSchema, TemporalStatsResultSchema, OpticalFlowOptionsSchema, OpticalFlowResultSchema, FlowVectorSchema, MotionDirectionSchema, MotionEnergyOptionsSchema, MotionEnergyResultSchema, DirectionStrengthSchema, MotionVerdictSchema, MotionSummaryOptionsSchema, MotionSummarySchema } from "./schemas/index.js";
|
|
46
|
+
// Motion kind constants
|
|
47
|
+
export { MEDIA_MOTION_KIND_ID, MEDIA_MOTION_REFERENCE_ID } from "./kinds/index.js";
|
|
48
|
+
export { MediaCaptureClient } from "./capture-client.js";
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE3D,UAAU;AACV,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,MAAM,oBAAoB,CAAC;AA8B5B,gBAAgB;AAChB,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAExF,+EAA+E;AAE/E,iBAAiB;AACjB,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,8BAA8B,EAC9B,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AA8B5B,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CaptureProvider Interface
|
|
3
|
+
*
|
|
4
|
+
* The contract every `media/capture` implementation must satisfy. The
|
|
5
|
+
* runtime resolves implementations from descriptors of kind
|
|
6
|
+
* `media/capture`; consumers obtain a `CaptureProvider` via
|
|
7
|
+
* `runtime.query('media/capture').withId(...).resolve()`.
|
|
8
|
+
*/
|
|
9
|
+
import type { CaptureOptions, CaptureResult, CaptureSource } from '../schemas/capture-options.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Provider for a single capturable surface.
|
|
12
|
+
*
|
|
13
|
+
* An implementation owns one descriptor (one `id`, one `surface`). When a
|
|
14
|
+
* caller has access to multiple displays / cameras / mics, the provider's
|
|
15
|
+
* `listSources()` enumerates them and `capture({ sourceId })` selects one.
|
|
16
|
+
*/
|
|
17
|
+
export interface CaptureProvider {
|
|
18
|
+
/**
|
|
19
|
+
* Capture a single frame / clip / snapshot from this provider.
|
|
20
|
+
*
|
|
21
|
+
* Throws on hard failures (no permission, native bridge unreachable,
|
|
22
|
+
* unsupported format requested for this surface). Successful captures
|
|
23
|
+
* return the encoded payload plus metadata.
|
|
24
|
+
*/
|
|
25
|
+
capture(options?: CaptureOptions): Promise<CaptureResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Enumerate the sources this provider can capture from. May return an
|
|
28
|
+
* empty list when the underlying system has no sources of this kind
|
|
29
|
+
* (e.g. no displays attached on a headless box).
|
|
30
|
+
*/
|
|
31
|
+
listSources(): Promise<CaptureSource[]>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=capture-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-provider.d.ts","sourceRoot":"","sources":["../../src/interfaces/capture-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,+BAA+B,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1D;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACxC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CaptureProvider Interface
|
|
3
|
+
*
|
|
4
|
+
* The contract every `media/capture` implementation must satisfy. The
|
|
5
|
+
* runtime resolves implementations from descriptors of kind
|
|
6
|
+
* `media/capture`; consumers obtain a `CaptureProvider` via
|
|
7
|
+
* `runtime.query('media/capture').withId(...).resolve()`.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=capture-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-provider.js","sourceRoot":"","sources":["../../src/interfaces/capture-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ImageTransformRequest, ImageTransformResult } from '../schemas/image-transform.ts';
|
|
2
|
+
/** Runtime implementation contract for `media/image-transform`. */
|
|
3
|
+
export interface ImageTransformer {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
transform(request: ImageTransformRequest): Promise<ImageTransformResult>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=image-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-transformer.d.ts","sourceRoot":"","sources":["../../src/interfaces/image-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,MAAM,+BAA+B,CAAC;AAEvC,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-transformer.js","sourceRoot":"","sources":["../../src/interfaces/image-transformer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MotionAnalyzer Interface
|
|
3
|
+
*
|
|
4
|
+
* The contract every `media/motion` implementation satisfies. Consumers
|
|
5
|
+
* obtain a `MotionAnalyzer` via
|
|
6
|
+
* `runtime.query('media/motion').withId('media.motion.reference').resolve()`
|
|
7
|
+
* and feed it decoded frame sequences.
|
|
8
|
+
*
|
|
9
|
+
* Methods are async by contract even though the reference provider computes
|
|
10
|
+
* synchronously — that leaves room for a provider to offload to a worker,
|
|
11
|
+
* WASM module, or native/GPU backend without changing consumer code.
|
|
12
|
+
*/
|
|
13
|
+
import type { Frame } from '../schemas/motion-frame.ts';
|
|
14
|
+
import type { FrameDiffOptions, FrameDiffResult, TemporalStatsOptions, TemporalStatsResult, OpticalFlowOptions, OpticalFlowResult, MotionEnergyOptions, MotionEnergyResult, MotionSummaryOptions, MotionSummary } from '../schemas/motion-analysis.ts';
|
|
15
|
+
export interface MotionAnalyzer {
|
|
16
|
+
/**
|
|
17
|
+
* Absolute luma difference between two frames — "what changed between these
|
|
18
|
+
* two screenshots". Returns overall magnitude, the fraction of pixels that
|
|
19
|
+
* changed, and a bounding box of the changed region.
|
|
20
|
+
*/
|
|
21
|
+
frameDiff(a: Frame, b: Frame, options?: FrameDiffOptions): Promise<FrameDiffResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Per-pixel temporal mean + standard deviation over a sequence. The std map
|
|
24
|
+
* is the cheapest "does anything vary here" signal and needs no motion
|
|
25
|
+
* model — it already leaks a ghost of hidden temporal structure.
|
|
26
|
+
*
|
|
27
|
+
* Requires at least two frames; throws otherwise.
|
|
28
|
+
*/
|
|
29
|
+
temporalStats(frames: Frame[], options?: TemporalStatsOptions): Promise<TemporalStatsResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Block-matching optical flow between two frames — "what moved and where",
|
|
32
|
+
* as a coarse grid of displacement vectors plus confidence-weighted means.
|
|
33
|
+
*/
|
|
34
|
+
opticalFlow(a: Frame, b: Frame, options?: OpticalFlowOptions): Promise<OpticalFlowResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Reichardt / lag-1 opponent motion energy over a sequence. Separates
|
|
37
|
+
* coherently drifting structure (high `coherence`, a clear dominant
|
|
38
|
+
* direction) from temporally independent twinkle (coherence ≈ 0) — the
|
|
39
|
+
* exact asymmetry a motion-carrier scheme exploits and that naive
|
|
40
|
+
* frame-sampling pipelines miss.
|
|
41
|
+
*
|
|
42
|
+
* Requires at least two frames; throws otherwise.
|
|
43
|
+
*/
|
|
44
|
+
motionEnergy(frames: Frame[], options?: MotionEnergyOptions): Promise<MotionEnergyResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Compact classification of a whole sequence — `static`,
|
|
47
|
+
* `coherent-motion`, or `incoherent-change` — with the supporting scalars.
|
|
48
|
+
* Composed from the primitives above; the payload a vision model or planner
|
|
49
|
+
* consumes instead of raw maps.
|
|
50
|
+
*
|
|
51
|
+
* Requires at least two frames; throws otherwise.
|
|
52
|
+
*/
|
|
53
|
+
summarize(frames: Frame[], options?: MotionSummaryOptions): Promise<MotionSummary>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=motion-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion-analyzer.d.ts","sourceRoot":"","sources":["../../src/interfaces/motion-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEpF;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE7F;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1F;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE1F;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACnF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MotionAnalyzer Interface
|
|
3
|
+
*
|
|
4
|
+
* The contract every `media/motion` implementation satisfies. Consumers
|
|
5
|
+
* obtain a `MotionAnalyzer` via
|
|
6
|
+
* `runtime.query('media/motion').withId('media.motion.reference').resolve()`
|
|
7
|
+
* and feed it decoded frame sequences.
|
|
8
|
+
*
|
|
9
|
+
* Methods are async by contract even though the reference provider computes
|
|
10
|
+
* synchronously — that leaves room for a provider to offload to a worker,
|
|
11
|
+
* WASM module, or native/GPU backend without changing consumer code.
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=motion-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion-analyzer.js","sourceRoot":"","sources":["../../src/interfaces/motion-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `media/capture` Kind
|
|
3
|
+
*
|
|
4
|
+
* Runtime-kind definition for capturable media providers. Descriptors are
|
|
5
|
+
* resolved by `id` and filtered by `hardware` scope; surface is metadata
|
|
6
|
+
* for consumers to filter on but not part of resolution.
|
|
7
|
+
*/
|
|
8
|
+
import { type CaptureDescriptor } from '../schemas/capture-descriptor.ts';
|
|
9
|
+
import type { CaptureProvider } from '../interfaces/capture-provider.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Kind id consumers pass to `runtime.query()`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const MEDIA_CAPTURE_KIND_ID: "media/capture";
|
|
14
|
+
/**
|
|
15
|
+
* Runtime-kind shape for `media/capture`.
|
|
16
|
+
*
|
|
17
|
+
* Resolution strategy: filter candidates to those whose `hardware` list
|
|
18
|
+
* includes the active scope's hardware. Prefer descriptors that explicitly
|
|
19
|
+
* declare the requested hardware over those that omit it. If multiple
|
|
20
|
+
* candidates remain, pick the first — callers should disambiguate by `id`
|
|
21
|
+
* via `runtime.query('media/capture').withId('...')`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const mediaCaptureKind: {
|
|
24
|
+
id: "media/capture";
|
|
25
|
+
descriptorSchema: import("zod/v4").ZodObject<{
|
|
26
|
+
id: import("zod/v4").ZodString;
|
|
27
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
28
|
+
description: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
29
|
+
tags: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
30
|
+
priority: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
31
|
+
capabilityId: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
32
|
+
requiredContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
33
|
+
optionalContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
34
|
+
config: import("zod/v4").ZodOptional<import("zod/v4").ZodUnknown>;
|
|
35
|
+
retention: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodObject<{
|
|
36
|
+
maxAgeDays: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
37
|
+
maxEntries: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
38
|
+
maxBytes: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
39
|
+
cascadeFrom: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
40
|
+
ageField: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
41
|
+
reason: import("zod/v4").ZodString;
|
|
42
|
+
enforcedBy: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
43
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
44
|
+
kind: import("zod/v4").ZodLiteral<"media/capture">;
|
|
45
|
+
surface: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<"screen">, import("zod/v4").ZodLiteral<"camera">, import("zod/v4").ZodLiteral<"microphone-snapshot">, import("zod/v4").ZodString]>;
|
|
46
|
+
hardware: import("zod/v4").ZodArray<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<"consumer">, import("zod/v4").ZodLiteral<"cloud">, import("zod/v4").ZodString]>>;
|
|
47
|
+
enabled: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
48
|
+
}, import("zod/v4/core").$strip>;
|
|
49
|
+
resolve(candidates: CaptureDescriptor[], scope: {
|
|
50
|
+
hardware: string;
|
|
51
|
+
}): CaptureDescriptor | undefined;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Type re-export so consumers can `import type { CaptureProvider } from
|
|
55
|
+
* '@vibesdotdev/media/kinds/capture'` if they want kind-co-located types.
|
|
56
|
+
*/
|
|
57
|
+
export type { CaptureProvider };
|
|
58
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/kinds/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAG,eAAwB,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;wBAIR,iBAAiB,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,GAAG,SAAS;CAMpG,CAAC;AAEF;;;GAGG;AACH,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `media/capture` Kind
|
|
3
|
+
*
|
|
4
|
+
* Runtime-kind definition for capturable media providers. Descriptors are
|
|
5
|
+
* resolved by `id` and filtered by `hardware` scope; surface is metadata
|
|
6
|
+
* for consumers to filter on but not part of resolution.
|
|
7
|
+
*/
|
|
8
|
+
import { CaptureDescriptorSchema } from "../schemas/capture-descriptor.js";
|
|
9
|
+
/**
|
|
10
|
+
* Kind id consumers pass to `runtime.query()`.
|
|
11
|
+
*/
|
|
12
|
+
export const MEDIA_CAPTURE_KIND_ID = 'media/capture';
|
|
13
|
+
/**
|
|
14
|
+
* Runtime-kind shape for `media/capture`.
|
|
15
|
+
*
|
|
16
|
+
* Resolution strategy: filter candidates to those whose `hardware` list
|
|
17
|
+
* includes the active scope's hardware. Prefer descriptors that explicitly
|
|
18
|
+
* declare the requested hardware over those that omit it. If multiple
|
|
19
|
+
* candidates remain, pick the first — callers should disambiguate by `id`
|
|
20
|
+
* via `runtime.query('media/capture').withId('...')`.
|
|
21
|
+
*/
|
|
22
|
+
export const mediaCaptureKind = {
|
|
23
|
+
id: MEDIA_CAPTURE_KIND_ID,
|
|
24
|
+
descriptorSchema: CaptureDescriptorSchema,
|
|
25
|
+
resolve(candidates, scope) {
|
|
26
|
+
if (candidates.length === 0)
|
|
27
|
+
return undefined;
|
|
28
|
+
const matching = candidates.filter((d) => d.hardware.includes(scope.hardware));
|
|
29
|
+
if (matching.length === 0)
|
|
30
|
+
return undefined;
|
|
31
|
+
return matching[0];
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/kinds/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAA0B,MAAM,kCAAkC,CAAC;AAGnG;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAwB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,EAAE,EAAE,qBAAqB;IACzB,gBAAgB,EAAE,uBAAuB;IAEzC,OAAO,CAAC,UAA+B,EAAE,KAA2B;QACnE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type ImageTransformDescriptor } from '../schemas/image-transform.ts';
|
|
2
|
+
import type { ImageTransformer } from '../interfaces/image-transformer.ts';
|
|
3
|
+
export declare const MEDIA_IMAGE_TRANSFORM_KIND_ID: "media/image-transform";
|
|
4
|
+
export declare const mediaImageTransformKind: {
|
|
5
|
+
id: "media/image-transform";
|
|
6
|
+
descriptorSchema: import("zod/v4").ZodObject<{
|
|
7
|
+
id: import("zod/v4").ZodString;
|
|
8
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
9
|
+
description: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
10
|
+
tags: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
11
|
+
capabilityId: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
12
|
+
requiredContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
13
|
+
optionalContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
14
|
+
config: import("zod/v4").ZodOptional<import("zod/v4").ZodUnknown>;
|
|
15
|
+
retention: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodObject<{
|
|
16
|
+
maxAgeDays: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
17
|
+
maxEntries: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
18
|
+
maxBytes: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
19
|
+
cascadeFrom: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
20
|
+
ageField: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
21
|
+
reason: import("zod/v4").ZodString;
|
|
22
|
+
enforcedBy: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
23
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
24
|
+
kind: import("zod/v4").ZodLiteral<"media/image-transform">;
|
|
25
|
+
decodeFormats: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
26
|
+
png: "png";
|
|
27
|
+
jpeg: "jpeg";
|
|
28
|
+
webp: "webp";
|
|
29
|
+
heic: "heic";
|
|
30
|
+
avif: "avif";
|
|
31
|
+
bmp: "bmp";
|
|
32
|
+
tiff: "tiff";
|
|
33
|
+
gif: "gif";
|
|
34
|
+
}>>;
|
|
35
|
+
encodeFormats: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
36
|
+
png: "png";
|
|
37
|
+
jpeg: "jpeg";
|
|
38
|
+
webp: "webp";
|
|
39
|
+
heic: "heic";
|
|
40
|
+
avif: "avif";
|
|
41
|
+
}>>;
|
|
42
|
+
platformDependentFormats: import("zod/v4").ZodDefault<import("zod/v4").ZodObject<{
|
|
43
|
+
decode: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
44
|
+
png: "png";
|
|
45
|
+
jpeg: "jpeg";
|
|
46
|
+
webp: "webp";
|
|
47
|
+
heic: "heic";
|
|
48
|
+
avif: "avif";
|
|
49
|
+
bmp: "bmp";
|
|
50
|
+
tiff: "tiff";
|
|
51
|
+
gif: "gif";
|
|
52
|
+
}>>>;
|
|
53
|
+
encode: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
54
|
+
png: "png";
|
|
55
|
+
jpeg: "jpeg";
|
|
56
|
+
webp: "webp";
|
|
57
|
+
heic: "heic";
|
|
58
|
+
avif: "avif";
|
|
59
|
+
}>>>;
|
|
60
|
+
}, import("zod/v4/core").$strip>>;
|
|
61
|
+
operations: import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
62
|
+
rotate: "rotate";
|
|
63
|
+
"auto-orient": "auto-orient";
|
|
64
|
+
resize: "resize";
|
|
65
|
+
flip: "flip";
|
|
66
|
+
flop: "flop";
|
|
67
|
+
modulate: "modulate";
|
|
68
|
+
}>>;
|
|
69
|
+
hardware: import("zod/v4").ZodArray<import("zod/v4").ZodString>;
|
|
70
|
+
stability: import("zod/v4").ZodEnum<{
|
|
71
|
+
stable: "stable";
|
|
72
|
+
experimental: "experimental";
|
|
73
|
+
}>;
|
|
74
|
+
preservesIccProfileFor: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
|
|
75
|
+
png: "png";
|
|
76
|
+
jpeg: "jpeg";
|
|
77
|
+
webp: "webp";
|
|
78
|
+
heic: "heic";
|
|
79
|
+
avif: "avif";
|
|
80
|
+
}>>>;
|
|
81
|
+
maxInputBytes: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
82
|
+
maxPixels: import("zod/v4").ZodNumber;
|
|
83
|
+
priority: import("zod/v4").ZodDefault<import("zod/v4").ZodNumber>;
|
|
84
|
+
enabled: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
85
|
+
}, import("zod/v4/core").$strip>;
|
|
86
|
+
resolve(candidates: ImageTransformDescriptor[], scope: {
|
|
87
|
+
hardware: string;
|
|
88
|
+
}): ImageTransformDescriptor | undefined;
|
|
89
|
+
};
|
|
90
|
+
export type { ImageTransformer };
|
|
91
|
+
//# sourceMappingURL=image-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-transform.d.ts","sourceRoot":"","sources":["../../src/kinds/image-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,eAAO,MAAM,6BAA6B,EAAG,uBAAgC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAKtB,wBAAwB,EAAE,SAC/B;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACzB,wBAAwB,GAAG,SAAS;CAKvC,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ImageTransformDescriptorSchema } from "../schemas/image-transform.js";
|
|
2
|
+
export const MEDIA_IMAGE_TRANSFORM_KIND_ID = 'media/image-transform';
|
|
3
|
+
export const mediaImageTransformKind = {
|
|
4
|
+
id: MEDIA_IMAGE_TRANSFORM_KIND_ID,
|
|
5
|
+
descriptorSchema: ImageTransformDescriptorSchema,
|
|
6
|
+
resolve(candidates, scope) {
|
|
7
|
+
return candidates
|
|
8
|
+
.filter((descriptor) => descriptor.enabled && descriptor.hardware.includes(scope.hardware))
|
|
9
|
+
.sort((left, right) => right.priority - left.priority)[0];
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=image-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-transform.js","sourceRoot":"","sources":["../../src/kinds/image-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,8BAA8B,EAE9B,MAAM,+BAA+B,CAAC;AAGvC,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAgC,CAAC;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,EAAE,EAAE,6BAA6B;IACjC,gBAAgB,EAAE,8BAA8B;IAEhD,OAAO,CACN,UAAsC,EACtC,KAA2B;QAE3B,OAAO,UAAU;aACf,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC1F,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media Kinds
|
|
3
|
+
*/
|
|
4
|
+
export { mediaCaptureKind, MEDIA_CAPTURE_KIND_ID } from './capture.ts';
|
|
5
|
+
export type { CaptureProvider } from './capture.ts';
|
|
6
|
+
export { mediaMotionKind, MEDIA_MOTION_KIND_ID, MEDIA_MOTION_REFERENCE_ID } from './motion.ts';
|
|
7
|
+
export type { MotionAnalyzer } from './motion.ts';
|
|
8
|
+
export { mediaImageTransformKind, MEDIA_IMAGE_TRANSFORM_KIND_ID } from './image-transform.ts';
|
|
9
|
+
export type { ImageTransformer } from './image-transform.ts';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kinds/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media Kinds
|
|
3
|
+
*/
|
|
4
|
+
export { mediaCaptureKind, MEDIA_CAPTURE_KIND_ID } from "./capture.js";
|
|
5
|
+
export { mediaMotionKind, MEDIA_MOTION_KIND_ID, MEDIA_MOTION_REFERENCE_ID } from "./motion.js";
|
|
6
|
+
export { mediaImageTransformKind, MEDIA_IMAGE_TRANSFORM_KIND_ID } from "./image-transform.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kinds/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGvE,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `media/motion` Kind
|
|
3
|
+
*
|
|
4
|
+
* Runtime-kind definition for temporal-perception providers. Descriptors are
|
|
5
|
+
* resolved by `id` and filtered by `hardware` scope, mirroring `media/capture`.
|
|
6
|
+
* The reference provider (pure TS) declares both `consumer` and `cloud`, so a
|
|
7
|
+
* bare `runtime.query('media/motion')` resolves it in any scope; an accelerated
|
|
8
|
+
* provider registered for a narrower scope wins there.
|
|
9
|
+
*/
|
|
10
|
+
import { type MotionAnalyzerDescriptor } from '../schemas/motion-descriptor.ts';
|
|
11
|
+
import type { MotionAnalyzer } from '../interfaces/motion-analyzer.ts';
|
|
12
|
+
/** Kind id consumers pass to `runtime.query()`. */
|
|
13
|
+
export declare const MEDIA_MOTION_KIND_ID: "media/motion";
|
|
14
|
+
/** Id of the built-in pure-TS reference analyzer that ships with this package. */
|
|
15
|
+
export declare const MEDIA_MOTION_REFERENCE_ID: "media.motion.reference";
|
|
16
|
+
/**
|
|
17
|
+
* Runtime-kind shape for `media/motion`.
|
|
18
|
+
*
|
|
19
|
+
* Resolution: keep candidates whose `hardware` includes the active scope's
|
|
20
|
+
* hardware; return the first. Callers disambiguate by `id` via
|
|
21
|
+
* `runtime.query('media/motion').withId('...')`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const mediaMotionKind: {
|
|
24
|
+
id: "media/motion";
|
|
25
|
+
descriptorSchema: import("zod/v4").ZodObject<{
|
|
26
|
+
id: import("zod/v4").ZodString;
|
|
27
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
28
|
+
description: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
29
|
+
tags: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
30
|
+
priority: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
31
|
+
capabilityId: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
32
|
+
requiredContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
33
|
+
optionalContext: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
34
|
+
config: import("zod/v4").ZodOptional<import("zod/v4").ZodUnknown>;
|
|
35
|
+
retention: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodObject<{
|
|
36
|
+
maxAgeDays: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
37
|
+
maxEntries: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
38
|
+
maxBytes: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
39
|
+
cascadeFrom: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
40
|
+
ageField: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
41
|
+
reason: import("zod/v4").ZodString;
|
|
42
|
+
enforcedBy: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
43
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
44
|
+
kind: import("zod/v4").ZodLiteral<"media/motion">;
|
|
45
|
+
capabilities: import("zod/v4").ZodArray<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<"frame-diff">, import("zod/v4").ZodLiteral<"temporal-stats">, import("zod/v4").ZodLiteral<"optical-flow">, import("zod/v4").ZodLiteral<"motion-energy">, import("zod/v4").ZodLiteral<"summarize">, import("zod/v4").ZodString]>>;
|
|
46
|
+
hardware: import("zod/v4").ZodArray<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<"consumer">, import("zod/v4").ZodLiteral<"cloud">, import("zod/v4").ZodString]>>;
|
|
47
|
+
enabled: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
48
|
+
}, import("zod/v4/core").$strip>;
|
|
49
|
+
resolve(candidates: MotionAnalyzerDescriptor[], scope: {
|
|
50
|
+
hardware: string;
|
|
51
|
+
}): MotionAnalyzerDescriptor | undefined;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Type re-export so consumers can co-locate the interface type with the kind.
|
|
55
|
+
*/
|
|
56
|
+
export type { MotionAnalyzer };
|
|
57
|
+
//# sourceMappingURL=motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/kinds/motion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAG,cAAuB,CAAC;AAE5D,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAG,wBAAiC,CAAC;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;wBAKd,wBAAwB,EAAE,SAC/B;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACzB,wBAAwB,GAAG,SAAS;CAMvC,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,cAAc,EAAE,CAAC"}
|