@spatialwalk/avatarkit 1.0.0-beta.7 → 1.0.0-beta.71

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.
Files changed (101) hide show
  1. package/CHANGELOG.md +602 -10
  2. package/README.md +475 -312
  3. package/dist/StreamingAudioPlayer-D8Q8WiEg.js +638 -0
  4. package/dist/animation/AnimationWebSocketClient.d.ts +6 -50
  5. package/dist/animation/utils/eventEmitter.d.ts +1 -9
  6. package/dist/animation/utils/flameConverter.d.ts +3 -24
  7. package/dist/audio/AnimationPlayer.d.ts +6 -57
  8. package/dist/audio/StreamingAudioPlayer.d.ts +2 -118
  9. package/dist/avatar_core_wasm-Dv943JJl.js +2696 -0
  10. package/dist/{avatar_core_wasm.wasm → avatar_core_wasm-e68766db.wasm} +0 -0
  11. package/dist/config/app-config.d.ts +3 -4
  12. package/dist/config/constants.d.ts +10 -18
  13. package/dist/config/sdk-config-loader.d.ts +4 -10
  14. package/dist/core/Avatar.d.ts +2 -14
  15. package/dist/core/AvatarController.d.ts +95 -85
  16. package/dist/core/AvatarDownloader.d.ts +7 -92
  17. package/dist/core/AvatarManager.d.ts +22 -12
  18. package/dist/core/AvatarSDK.d.ts +35 -0
  19. package/dist/core/AvatarView.d.ts +55 -140
  20. package/dist/core/NetworkLayer.d.ts +7 -59
  21. package/dist/generated/common/v1/models.d.ts +36 -0
  22. package/dist/generated/driveningress/v1/driveningress.d.ts +0 -1
  23. package/dist/generated/driveningress/v2/driveningress.d.ts +82 -1
  24. package/dist/generated/google/protobuf/struct.d.ts +0 -1
  25. package/dist/generated/google/protobuf/timestamp.d.ts +0 -1
  26. package/dist/index-U8QcNdma.js +16477 -0
  27. package/dist/index.d.ts +2 -4
  28. package/dist/index.js +17 -18
  29. package/dist/renderer/RenderSystem.d.ts +9 -79
  30. package/dist/renderer/covariance.d.ts +3 -11
  31. package/dist/renderer/renderer.d.ts +6 -2
  32. package/dist/renderer/sortSplats.d.ts +3 -10
  33. package/dist/renderer/webgl/reorderData.d.ts +4 -11
  34. package/dist/renderer/webgl/webglRenderer.d.ts +34 -4
  35. package/dist/renderer/webgpu/webgpuRenderer.d.ts +30 -5
  36. package/dist/types/character-settings.d.ts +1 -1
  37. package/dist/types/character.d.ts +3 -15
  38. package/dist/types/index.d.ts +123 -43
  39. package/dist/utils/animation-interpolation.d.ts +4 -15
  40. package/dist/utils/client-id.d.ts +6 -0
  41. package/dist/utils/conversationId.d.ts +10 -0
  42. package/dist/utils/error-utils.d.ts +0 -1
  43. package/dist/utils/id-manager.d.ts +34 -0
  44. package/dist/utils/logger.d.ts +2 -11
  45. package/dist/utils/posthog-tracker.d.ts +8 -0
  46. package/dist/utils/pwa-cache-manager.d.ts +17 -0
  47. package/dist/utils/usage-tracker.d.ts +6 -0
  48. package/dist/vanilla/vite.config.d.ts +2 -0
  49. package/dist/vite.d.ts +19 -0
  50. package/dist/wasm/avatarCoreAdapter.d.ts +15 -126
  51. package/dist/wasm/avatarCoreMemory.d.ts +5 -2
  52. package/package.json +19 -8
  53. package/vite.d.ts +20 -0
  54. package/vite.js +126 -0
  55. package/dist/StreamingAudioPlayer-D7s8q5h0.js +0 -319
  56. package/dist/StreamingAudioPlayer-D7s8q5h0.js.map +0 -1
  57. package/dist/animation/AnimationWebSocketClient.d.ts.map +0 -1
  58. package/dist/animation/utils/eventEmitter.d.ts.map +0 -1
  59. package/dist/animation/utils/flameConverter.d.ts.map +0 -1
  60. package/dist/audio/AnimationPlayer.d.ts.map +0 -1
  61. package/dist/audio/StreamingAudioPlayer.d.ts.map +0 -1
  62. package/dist/avatar_core_wasm-D4eEi7Eh.js +0 -1666
  63. package/dist/avatar_core_wasm-D4eEi7Eh.js.map +0 -1
  64. package/dist/config/app-config.d.ts.map +0 -1
  65. package/dist/config/constants.d.ts.map +0 -1
  66. package/dist/config/sdk-config-loader.d.ts.map +0 -1
  67. package/dist/core/Avatar.d.ts.map +0 -1
  68. package/dist/core/AvatarController.d.ts.map +0 -1
  69. package/dist/core/AvatarDownloader.d.ts.map +0 -1
  70. package/dist/core/AvatarKit.d.ts +0 -66
  71. package/dist/core/AvatarKit.d.ts.map +0 -1
  72. package/dist/core/AvatarManager.d.ts.map +0 -1
  73. package/dist/core/AvatarView.d.ts.map +0 -1
  74. package/dist/core/NetworkLayer.d.ts.map +0 -1
  75. package/dist/generated/driveningress/v1/driveningress.d.ts.map +0 -1
  76. package/dist/generated/driveningress/v2/driveningress.d.ts.map +0 -1
  77. package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
  78. package/dist/generated/google/protobuf/timestamp.d.ts.map +0 -1
  79. package/dist/index-CpSvWi6A.js +0 -6026
  80. package/dist/index-CpSvWi6A.js.map +0 -1
  81. package/dist/index.d.ts.map +0 -1
  82. package/dist/index.js.map +0 -1
  83. package/dist/renderer/RenderSystem.d.ts.map +0 -1
  84. package/dist/renderer/covariance.d.ts.map +0 -1
  85. package/dist/renderer/renderer.d.ts.map +0 -1
  86. package/dist/renderer/sortSplats.d.ts.map +0 -1
  87. package/dist/renderer/webgl/reorderData.d.ts.map +0 -1
  88. package/dist/renderer/webgl/webglRenderer.d.ts.map +0 -1
  89. package/dist/renderer/webgpu/webgpuRenderer.d.ts.map +0 -1
  90. package/dist/types/character-settings.d.ts.map +0 -1
  91. package/dist/types/character.d.ts.map +0 -1
  92. package/dist/types/index.d.ts.map +0 -1
  93. package/dist/utils/animation-interpolation.d.ts.map +0 -1
  94. package/dist/utils/cls-tracker.d.ts +0 -17
  95. package/dist/utils/cls-tracker.d.ts.map +0 -1
  96. package/dist/utils/error-utils.d.ts.map +0 -1
  97. package/dist/utils/logger.d.ts.map +0 -1
  98. package/dist/utils/reqId.d.ts +0 -20
  99. package/dist/utils/reqId.d.ts.map +0 -1
  100. package/dist/wasm/avatarCoreAdapter.d.ts.map +0 -1
  101. package/dist/wasm/avatarCoreMemory.d.ts.map +0 -1
@@ -1,10 +1,10 @@
1
- import { CameraConfig, RenderPerformanceStats, AvatarViewOptions, AvatarPlaybackMode } from '../types';
1
+ import { KeyframeData } from '../types';
2
2
  import { Avatar } from './Avatar';
3
3
  import { AvatarController } from './AvatarController';
4
4
  export declare class AvatarView {
5
5
  private readonly avatarController;
6
- readonly playbackMode: AvatarPlaybackMode;
7
6
  private readonly avatar;
7
+ onFirstRendering?: () => void;
8
8
  private canvas;
9
9
  private renderSystem;
10
10
  private isInitialized;
@@ -17,155 +17,70 @@ export declare class AvatarView {
17
17
  private realtimeAnimationLoopId;
18
18
  private resizeObserver;
19
19
  private onWindowResize;
20
+ private frameCount;
21
+ private lastFpsUpdate;
22
+ private currentFPS;
20
23
  private transitionKeyframes;
21
24
  private transitionStartTime;
22
- private readonly transitionDurationMs;
25
+ private readonly startTransitionDurationMs;
26
+ private readonly endTransitionDurationMs;
23
27
  private cachedIdleFirstFrame;
24
28
  private idleCurrentFrameIndex;
29
+ private currentPlayingFrame;
30
+ private characterHandle;
31
+ private characterId;
32
+ private isPureRenderingMode;
33
+ private avatarActiveTimer;
34
+ private readonly AVATAR_ACTIVE_INTERVAL;
25
35
  /**
26
- * 对齐两端 Flame 维度:标量统一长度,expression 取最大长度并零填充
36
+ * Constructor
37
+ * Creates a unified AvatarController, internally composes network layer based on configuration
38
+ * @param avatar - Avatar instance
39
+ * @param container - Canvas container element (required)
27
40
  */
28
- private alignFlamePair;
41
+ constructor(avatar: Avatar, container: HTMLElement);
29
42
  /**
30
- * 判断是否为空 Flame(用于跳过 isLast=true 的哨兵帧)
31
- */
32
- private isEmptyFlame;
33
- /**
34
- * 生成并对齐过渡帧,确保首尾帧与起止帧完全一致
35
- */
36
- private generateAndAlignTransitionFrames;
37
- /**
38
- * 获取缓存的 Idle 首帧,如果未缓存则获取并缓存
39
- */
40
- private getCachedIdleFirstFrame;
41
- /**
42
- * 构造函数
43
- * 创建统一的 AvatarController,内部根据配置自动组合网络层
44
- */
45
- constructor(avatar: Avatar, options?: AvatarViewOptions);
46
- /**
47
- * 获取控制器(公共接口)
43
+ * Get controller (public interface)
48
44
  */
49
45
  get controller(): AvatarController;
50
46
  /**
51
- * 创建canvas元素
52
- */
53
- private createCanvas;
54
- /**
55
- * 获取canvas元素(供外部访问)
56
- */
57
- getCanvas(): HTMLCanvasElement;
58
- /**
59
- * 初始化视图系统
60
- */
61
- private initializeView;
62
- /**
63
- * 初始化渲染系统
64
- */
65
- private initializeRenderSystem;
66
- /**
67
- * 获取默认相机配置
68
- */
69
- private getDefaultCameraConfig;
70
- /**
71
- * 根据资源解析最终的相机配置,优先使用角色设置,其次 camera.json
72
- */
73
- private resolveCameraConfig;
74
- /**
75
- * 从角色设置中推导相机配置
76
- */
77
- private deriveCameraConfigFromSettings;
78
- /**
79
- * 渲染第一帧
80
- */
81
- private renderFirstFrame;
82
- /**
83
- * 开始idle动画循环
84
- */
85
- private startIdleAnimationLoop;
86
- /**
87
- * 开始实时对话动画循环
88
- */
89
- private startRealtimeAnimationLoop;
90
- /**
91
- * 停止idle动画循环
92
- */
93
- private stopIdleAnimationLoop;
94
- /**
95
- * 停止实时对话动画循环
96
- */
97
- private stopRealtimeAnimationLoop;
98
- /**
99
- * 停止所有动画循环
100
- */
101
- private stopAllAnimationLoops;
102
- /**
103
- * 渲染实时帧(由播放层回调调用)
104
- */
105
- private renderRealtimeFrame;
106
- /**
107
- * 过渡完成回调(通知播放层启动音频)
108
- */
109
- private onTransitionComplete;
110
- /**
111
- * 状态转换方法
112
- * 统一管理状态转换,确保状态一致性
113
- */
114
- private setState;
115
- /**
116
- * 检查是否在实时播放状态(Speaking 或过渡到 Speaking)
117
- */
118
- private get isRealtimePlaying();
119
- /**
120
- * 检查是否在过渡中
121
- */
122
- private get isTransitioning();
123
- /**
124
- * 检查过渡结束后是否回到 Idle
125
- */
126
- private get endToIdleAfterTransition();
127
- /**
128
- * 处理打断
129
- * 打断时应该生成过渡动画,而不是直接跳回 Idle
130
- */
131
- private handleInterrupt;
132
- /**
133
- * 设置 AvatarController 事件监听器
134
- */
135
- private setupControllerEventListeners;
136
- /**
137
- * 准备实时渲染(生成 Idle -> Speaking 过渡)
138
- */
139
- private prepareRealtimeRendering;
140
- /**
141
- * 开始实时渲染循环
142
- */
143
- private startRealtimeRendering;
144
- /**
145
- * 停止实时对话渲染
146
- */
147
- private stopRealtimeRendering;
148
- /**
149
- * 清理视图资源
150
- * 关闭 avatarController 并清理所有相关资源
47
+ * Cleanup view resources
48
+ * Closes avatarController and cleans up all related resources
151
49
  */
152
50
  dispose(): void;
153
51
  /**
154
- * 获取相机配置
155
- */
156
- getCameraConfig(): CameraConfig | null;
157
- /**
158
- * 更新相机配置
159
- */
160
- updateCameraConfig(cameraConfig: CameraConfig): void;
161
- /**
162
- * 处理尺寸变化:通知渲染系统更新视口与投影
163
- */
164
- private handleResize;
165
- /**
166
- * 获取渲染性能统计
167
- * @returns 渲染性能统计数据,如果渲染系统未初始化则返回 null
168
- */
169
- getPerformanceStats(): RenderPerformanceStats | null;
52
+ * Render specified keyframe (pure rendering mode, no audio-animation synchronization)
53
+ * Suitable for scenarios where external application controls audio playback and animation playback
54
+ * @param keyframeData - Keyframe data
55
+ * @param enableIdleRendering - Whether to enable idle loop rendering. true: Enable idle rendering and return immediately (skip this keyframe); false: Disable idle rendering and process keyframe (default)
56
+ */
57
+ renderFlame(keyframeData: KeyframeData, enableIdleRendering?: boolean): Promise<void>;
58
+ /**
59
+ * Generate transition frame array from current idle frame to target keyframe (pure rendering mode)
60
+ * @param toKeyframeData - Target keyframe data
61
+ * @param frameCount - Number of transition frames
62
+ * @param transitionType - Transition type: 'start' means Idle -> toKeyframeData (start transition), 'end' means toKeyframeData -> Idle (end transition)
63
+ * @returns Transition frame array with length of frameCount
64
+ */
65
+ generateTransitionFromIdle(toKeyframeData: KeyframeData, frameCount: number, transitionType?: 'start' | 'end'): Promise<KeyframeData[]>;
66
+ /**
67
+ * Get or set avatar transform in canvas
68
+ *
69
+ * @example
70
+ * // Get current transform
71
+ * const current = avatarView.transform
72
+ *
73
+ * // Set transform
74
+ * avatarView.transform = { x: 0.5, y: 0, scale: 2.0 }
75
+ */
76
+ get transform(): {
77
+ x: number;
78
+ y: number;
79
+ scale: number;
80
+ };
81
+ set transform(value: {
82
+ x: number;
83
+ y: number;
84
+ scale: number;
85
+ });
170
86
  }
171
- //# sourceMappingURL=AvatarView.d.ts.map
@@ -1,59 +1,7 @@
1
- import { AvatarController } from './AvatarController';
2
- export declare class NetworkLayer {
3
- private wsClient;
4
- private dataController;
5
- private currentReqId;
6
- private hasSentEnd;
7
- private readonly audioBytesPerSecond;
8
- private audioMetrics;
9
- constructor(dataController: AvatarController);
10
- /**
11
- * 连接服务
12
- */
13
- connect(characterId: string): Promise<void>;
14
- /**
15
- * 发送音频数据到服务器
16
- */
17
- sendAudioData(audioData: ArrayBuffer, isLast: boolean): void;
18
- /**
19
- * 断开连接
20
- */
21
- disconnect(): void;
22
- /**
23
- * 获取当前请求ID
24
- */
25
- getCurrentReqId(): string | null;
26
- /**
27
- * 重置请求ID(用于打断后清理)
28
- */
29
- resetReqId(): void;
30
- /**
31
- * 设置 WebSocket 事件监听器
32
- */
33
- private setupWebSocketListeners;
34
- /**
35
- * 处理接收到的消息
36
- */
37
- private handleMessage;
38
- /**
39
- * 处理动画消息
40
- */
41
- private handleAnimationMessage;
42
- /**
43
- * 处理错误消息
44
- */
45
- private handleErrorMessage;
46
- /**
47
- * 创建音频指标
48
- */
49
- private createAudioMetrics;
50
- /**
51
- * 重置音频指标
52
- */
53
- private resetAudioMetrics;
54
- /**
55
- * 上报音频指标
56
- */
57
- private reportAudioMetrics;
58
- }
59
- //# sourceMappingURL=NetworkLayer.d.ts.map
1
+ /**
2
+ * NetworkLayer - Network communication layer
3
+ * Responsible for WebSocket connections, protocol handling, and data retrieval
4
+ * Automatically calls AvatarController (playback layer) interfaces after obtaining data
5
+ * @internal Not part of public API
6
+ */
7
+ export {};
@@ -0,0 +1,36 @@
1
+ import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
2
+ export declare const protobufPackage = "common.v1";
3
+ /**
4
+ * CustomAnimation 自定义动画配置
5
+ * 用于角色资产组的自定义动画定义
6
+ */
7
+ export interface CustomAnimation {
8
+ /** 动画唯一标识 */
9
+ key: string;
10
+ /** pb类型动画文件URL */
11
+ pbUrl: string;
12
+ /** wav类型音频文件URL(可选) */
13
+ wavUrl: string;
14
+ /** 备注说明 */
15
+ remark: string;
16
+ }
17
+ export declare const CustomAnimation: MessageFns<CustomAnimation>;
18
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
19
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
20
+ [K in keyof T]?: DeepPartial<T[K]>;
21
+ } : Partial<T>;
22
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
23
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
24
+ [K in keyof P]: Exact<P[K], I[K]>;
25
+ } & {
26
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
27
+ };
28
+ export interface MessageFns<T> {
29
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
30
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
31
+ fromJSON(object: any): T;
32
+ toJSON(message: T): unknown;
33
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
34
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
35
+ }
36
+ export {};
@@ -77,4 +77,3 @@ export interface MessageFns<T> {
77
77
  fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
78
78
  }
79
79
  export {};
80
- //# sourceMappingURL=driveningress.d.ts.map
@@ -1,6 +1,32 @@
1
1
  import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
2
+ import { CustomAnimation } from '../../common/v1/models';
2
3
  import { Timestamp } from '../../google/protobuf/timestamp';
3
4
  export declare const protobufPackage = "driveningress.v2";
5
+ export declare enum MessageType {
6
+ MESSAGE_UNSPECIFIED = 0,
7
+ /** MESSAGE_CLIENT_CONFIGURE_SESSION - 协商会话参数 */
8
+ MESSAGE_CLIENT_CONFIGURE_SESSION = 1,
9
+ /** MESSAGE_SERVER_CONFIRM_SESSION - 确认协商成功 */
10
+ MESSAGE_SERVER_CONFIRM_SESSION = 2,
11
+ MESSAGE_CLIENT_AUDIO_INPUT = 3,
12
+ MESSAGE_SERVER_ERROR = 4,
13
+ MESSAGE_SERVER_RESPONSE_ANIMATION = 5,
14
+ UNRECOGNIZED = -1
15
+ }
16
+ export declare function messageTypeFromJSON(object: any): MessageType;
17
+ export declare function messageTypeToJSON(object: MessageType): string;
18
+ export declare enum AudioFormat {
19
+ AUDIO_FORMAT_PCM_S16LE = 0,
20
+ UNRECOGNIZED = -1
21
+ }
22
+ export declare function audioFormatFromJSON(object: any): AudioFormat;
23
+ export declare function audioFormatToJSON(object: AudioFormat): string;
24
+ export declare enum TransportCompression {
25
+ TRANSPORT_COMPRESSION_NONE = 0,
26
+ UNRECOGNIZED = -1
27
+ }
28
+ export declare function transportCompressionFromJSON(object: any): TransportCompression;
29
+ export declare function transportCompressionToJSON(object: TransportCompression): string;
4
30
  export interface GetCharacterInfoRequest {
5
31
  characterId: string;
6
32
  }
@@ -18,6 +44,8 @@ export interface CharacterAsset {
18
44
  characterSettings?: {
19
45
  [key: string]: any;
20
46
  } | undefined;
47
+ /** 自定义动画列表 */
48
+ customAnimations: CustomAnimation[];
21
49
  }
22
50
  export interface Resource {
23
51
  type: string;
@@ -38,12 +66,66 @@ export interface Animations {
38
66
  frameMono?: ResourceHolder | undefined;
39
67
  audioMono?: ResourceHolder | undefined;
40
68
  }
69
+ export interface ClientConfigureSession {
70
+ sampleRate: number;
71
+ bitrate: number;
72
+ audioFormat: AudioFormat;
73
+ transportCompression: TransportCompression;
74
+ }
75
+ export interface ServerConfirmSession {
76
+ connectionId: string;
77
+ }
78
+ export interface ClientAudioInput {
79
+ reqId: string;
80
+ end: boolean;
81
+ audio: Uint8Array;
82
+ }
83
+ export interface ServerError {
84
+ connectionId: string;
85
+ reqId: string;
86
+ code: number;
87
+ message: string;
88
+ }
89
+ export interface Flame {
90
+ translation: number[];
91
+ rotation: number[];
92
+ neckPose: number[];
93
+ jawPose: number[];
94
+ eyePose: number[];
95
+ eyeLid: number[];
96
+ expression: number[];
97
+ }
98
+ export interface FlameAnimation {
99
+ keyframes: Flame[];
100
+ }
101
+ export interface ServerResponseAnimation {
102
+ connectionId: string;
103
+ reqId: string;
104
+ end: boolean;
105
+ animation?: FlameAnimation | undefined;
106
+ }
107
+ export interface Message {
108
+ type: MessageType;
109
+ clientConfigureSession?: ClientConfigureSession | undefined;
110
+ serverConfirmSession?: ServerConfirmSession | undefined;
111
+ clientAudioInput?: ClientAudioInput | undefined;
112
+ serverError?: ServerError | undefined;
113
+ serverResponseAnimation?: ServerResponseAnimation | undefined;
114
+ }
41
115
  export declare const GetCharacterInfoRequest: MessageFns<GetCharacterInfoRequest>;
42
116
  export declare const CharacterAsset: MessageFns<CharacterAsset>;
43
117
  export declare const Resource: MessageFns<Resource>;
44
118
  export declare const ResourceHolder: MessageFns<ResourceHolder>;
45
119
  export declare const Models: MessageFns<Models>;
46
120
  export declare const Animations: MessageFns<Animations>;
121
+ export declare const ClientConfigureSession: MessageFns<ClientConfigureSession>;
122
+ export declare const ServerConfirmSession: MessageFns<ServerConfirmSession>;
123
+ export declare const ClientAudioInput: MessageFns<ClientAudioInput>;
124
+ export declare const ServerError: MessageFns<ServerError>;
125
+ export declare const Flame: MessageFns<Flame>;
126
+ export declare const FlameAnimation: MessageFns<FlameAnimation>;
127
+ export declare const ServerResponseAnimation: MessageFns<ServerResponseAnimation>;
128
+ export declare const Message: MessageFns<Message>;
47
129
  export interface DrivenIngressService {
48
130
  GetCharacterInfo(request: GetCharacterInfoRequest): Promise<CharacterAsset>;
49
131
  }
@@ -78,4 +160,3 @@ export interface MessageFns<T> {
78
160
  fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
79
161
  }
80
162
  export {};
81
- //# sourceMappingURL=driveningress.d.ts.map
@@ -105,4 +105,3 @@ export interface ListValueWrapperFns {
105
105
  unwrap(message: ListValue): Array<any>;
106
106
  }
107
107
  export {};
108
- //# sourceMappingURL=struct.d.ts.map
@@ -126,4 +126,3 @@ export interface MessageFns<T> {
126
126
  fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
127
127
  }
128
128
  export {};
129
- //# sourceMappingURL=timestamp.d.ts.map