@walkeros/server-destination-mparticle 3.4.0-next-1776749829492

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.
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/examples/index.ts
21
+ var examples_exports = {};
22
+ __export(examples_exports, {
23
+ env: () => env_exports,
24
+ step: () => step_exports
25
+ });
26
+ module.exports = __toCommonJS(examples_exports);
27
+
28
+ // src/examples/env.ts
29
+ var env_exports = {};
30
+ __export(env_exports, {
31
+ push: () => push,
32
+ simulation: () => simulation
33
+ });
34
+ var mockSendServer = async () => {
35
+ return {
36
+ ok: true,
37
+ data: {}
38
+ };
39
+ };
40
+ var push = {
41
+ sendServer: mockSendServer
42
+ };
43
+ var simulation = ["sendServer"];
44
+
45
+ // src/examples/step.ts
46
+ var step_exports = {};
47
+ __export(step_exports, {
48
+ commercePurchase: () => commercePurchase,
49
+ customEvent: () => customEvent,
50
+ identityAndAttributes: () => identityAndAttributes,
51
+ screenView: () => screenView
52
+ });
53
+ var import_core = require("@walkeros/core");
54
+ var ENDPOINT = "https://s2s.mparticle.com/v2/events";
55
+ var OPTIONS = {
56
+ headers: {
57
+ // Basic base64('key:secret')
58
+ Authorization: "Basic a2V5OnNlY3JldA==",
59
+ "Content-Type": "application/json"
60
+ }
61
+ };
62
+ var customEvent = {
63
+ in: (0, import_core.getEvent)("product view", {
64
+ timestamp: 17000001e5,
65
+ data: { id: "SKU-A1", name: "Shoe", price: 129.99 },
66
+ user: { id: "user-123" },
67
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
68
+ }),
69
+ mapping: void 0,
70
+ out: [
71
+ [
72
+ "sendServer",
73
+ ENDPOINT,
74
+ JSON.stringify({
75
+ events: [
76
+ {
77
+ event_type: "custom_event",
78
+ data: {
79
+ event_name: "product view",
80
+ custom_event_type: "other",
81
+ timestamp_unixtime_ms: 17000001e5,
82
+ source_message_id: "1700000100000-gr0up-1"
83
+ }
84
+ }
85
+ ],
86
+ environment: "production",
87
+ user_identities: {
88
+ customer_id: "user-123"
89
+ },
90
+ source_request_id: "1700000100000-gr0up-1"
91
+ }),
92
+ OPTIONS
93
+ ]
94
+ ]
95
+ };
96
+ var screenView = {
97
+ in: (0, import_core.getEvent)("page view", {
98
+ timestamp: 17000002e5,
99
+ data: { title: "Checkout", path: "/checkout" },
100
+ user: { id: "user-123" },
101
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
102
+ }),
103
+ mapping: {
104
+ settings: { eventType: "screen_view" }
105
+ },
106
+ out: [
107
+ [
108
+ "sendServer",
109
+ ENDPOINT,
110
+ JSON.stringify({
111
+ events: [
112
+ {
113
+ event_type: "screen_view",
114
+ data: {
115
+ screen_name: "page view",
116
+ timestamp_unixtime_ms: 17000002e5,
117
+ source_message_id: "1700000200000-gr0up-1"
118
+ }
119
+ }
120
+ ],
121
+ environment: "production",
122
+ user_identities: {
123
+ customer_id: "user-123"
124
+ },
125
+ source_request_id: "1700000200000-gr0up-1"
126
+ }),
127
+ OPTIONS
128
+ ]
129
+ ]
130
+ };
131
+ var commercePurchase = {
132
+ in: (0, import_core.getEvent)("order complete", {
133
+ timestamp: 17000003e5,
134
+ data: { id: "ORD-300", total: 249.99, currency: "EUR" },
135
+ user: { id: "user-123" },
136
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
137
+ }),
138
+ mapping: {
139
+ settings: {
140
+ eventType: "commerce_event",
141
+ commerce: {
142
+ map: {
143
+ currency_code: "data.currency",
144
+ product_action: {
145
+ map: {
146
+ action: { value: "purchase" },
147
+ transaction_id: "data.id",
148
+ total_amount: "data.total"
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ },
155
+ out: [
156
+ [
157
+ "sendServer",
158
+ ENDPOINT,
159
+ JSON.stringify({
160
+ events: [
161
+ {
162
+ event_type: "commerce_event",
163
+ data: {
164
+ currency_code: "EUR",
165
+ product_action: {
166
+ action: "purchase",
167
+ transaction_id: "ORD-300",
168
+ total_amount: 249.99
169
+ },
170
+ timestamp_unixtime_ms: 17000003e5,
171
+ source_message_id: "1700000300000-gr0up-1"
172
+ }
173
+ }
174
+ ],
175
+ environment: "production",
176
+ user_identities: {
177
+ customer_id: "user-123"
178
+ },
179
+ source_request_id: "1700000300000-gr0up-1"
180
+ }),
181
+ OPTIONS
182
+ ]
183
+ ]
184
+ };
185
+ var identityAndAttributes = {
186
+ in: (0, import_core.getEvent)("form submit", {
187
+ timestamp: 17000004e5,
188
+ data: { type: "newsletter" },
189
+ user: {
190
+ id: "user-123",
191
+ email: "user@example.com"
192
+ },
193
+ source: { type: "server", id: "https://example.com", previous_id: "" }
194
+ }),
195
+ mapping: void 0,
196
+ out: [
197
+ [
198
+ "sendServer",
199
+ ENDPOINT,
200
+ JSON.stringify({
201
+ events: [
202
+ {
203
+ event_type: "custom_event",
204
+ data: {
205
+ event_name: "form submit",
206
+ custom_event_type: "other",
207
+ timestamp_unixtime_ms: 17000004e5,
208
+ source_message_id: "1700000400000-gr0up-1"
209
+ }
210
+ }
211
+ ],
212
+ environment: "production",
213
+ user_identities: {
214
+ customer_id: "user-123",
215
+ email: "user@example.com"
216
+ },
217
+ source_request_id: "1700000400000-gr0up-1"
218
+ }),
219
+ OPTIONS
220
+ ]
221
+ ]
222
+ };
223
+ // Annotate the CommonJS export names for ESM import in node:
224
+ 0 && (module.exports = {
225
+ env,
226
+ step
227
+ });
@@ -0,0 +1,205 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ // src/examples/env.ts
8
+ var env_exports = {};
9
+ __export(env_exports, {
10
+ push: () => push,
11
+ simulation: () => simulation
12
+ });
13
+ var mockSendServer = async () => {
14
+ return {
15
+ ok: true,
16
+ data: {}
17
+ };
18
+ };
19
+ var push = {
20
+ sendServer: mockSendServer
21
+ };
22
+ var simulation = ["sendServer"];
23
+
24
+ // src/examples/step.ts
25
+ var step_exports = {};
26
+ __export(step_exports, {
27
+ commercePurchase: () => commercePurchase,
28
+ customEvent: () => customEvent,
29
+ identityAndAttributes: () => identityAndAttributes,
30
+ screenView: () => screenView
31
+ });
32
+ import { getEvent } from "@walkeros/core";
33
+ var ENDPOINT = "https://s2s.mparticle.com/v2/events";
34
+ var OPTIONS = {
35
+ headers: {
36
+ // Basic base64('key:secret')
37
+ Authorization: "Basic a2V5OnNlY3JldA==",
38
+ "Content-Type": "application/json"
39
+ }
40
+ };
41
+ var customEvent = {
42
+ in: getEvent("product view", {
43
+ timestamp: 17000001e5,
44
+ data: { id: "SKU-A1", name: "Shoe", price: 129.99 },
45
+ user: { id: "user-123" },
46
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
47
+ }),
48
+ mapping: void 0,
49
+ out: [
50
+ [
51
+ "sendServer",
52
+ ENDPOINT,
53
+ JSON.stringify({
54
+ events: [
55
+ {
56
+ event_type: "custom_event",
57
+ data: {
58
+ event_name: "product view",
59
+ custom_event_type: "other",
60
+ timestamp_unixtime_ms: 17000001e5,
61
+ source_message_id: "1700000100000-gr0up-1"
62
+ }
63
+ }
64
+ ],
65
+ environment: "production",
66
+ user_identities: {
67
+ customer_id: "user-123"
68
+ },
69
+ source_request_id: "1700000100000-gr0up-1"
70
+ }),
71
+ OPTIONS
72
+ ]
73
+ ]
74
+ };
75
+ var screenView = {
76
+ in: getEvent("page view", {
77
+ timestamp: 17000002e5,
78
+ data: { title: "Checkout", path: "/checkout" },
79
+ user: { id: "user-123" },
80
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
81
+ }),
82
+ mapping: {
83
+ settings: { eventType: "screen_view" }
84
+ },
85
+ out: [
86
+ [
87
+ "sendServer",
88
+ ENDPOINT,
89
+ JSON.stringify({
90
+ events: [
91
+ {
92
+ event_type: "screen_view",
93
+ data: {
94
+ screen_name: "page view",
95
+ timestamp_unixtime_ms: 17000002e5,
96
+ source_message_id: "1700000200000-gr0up-1"
97
+ }
98
+ }
99
+ ],
100
+ environment: "production",
101
+ user_identities: {
102
+ customer_id: "user-123"
103
+ },
104
+ source_request_id: "1700000200000-gr0up-1"
105
+ }),
106
+ OPTIONS
107
+ ]
108
+ ]
109
+ };
110
+ var commercePurchase = {
111
+ in: getEvent("order complete", {
112
+ timestamp: 17000003e5,
113
+ data: { id: "ORD-300", total: 249.99, currency: "EUR" },
114
+ user: { id: "user-123" },
115
+ source: { type: "server", id: "https://shop.example.com", previous_id: "" }
116
+ }),
117
+ mapping: {
118
+ settings: {
119
+ eventType: "commerce_event",
120
+ commerce: {
121
+ map: {
122
+ currency_code: "data.currency",
123
+ product_action: {
124
+ map: {
125
+ action: { value: "purchase" },
126
+ transaction_id: "data.id",
127
+ total_amount: "data.total"
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ },
134
+ out: [
135
+ [
136
+ "sendServer",
137
+ ENDPOINT,
138
+ JSON.stringify({
139
+ events: [
140
+ {
141
+ event_type: "commerce_event",
142
+ data: {
143
+ currency_code: "EUR",
144
+ product_action: {
145
+ action: "purchase",
146
+ transaction_id: "ORD-300",
147
+ total_amount: 249.99
148
+ },
149
+ timestamp_unixtime_ms: 17000003e5,
150
+ source_message_id: "1700000300000-gr0up-1"
151
+ }
152
+ }
153
+ ],
154
+ environment: "production",
155
+ user_identities: {
156
+ customer_id: "user-123"
157
+ },
158
+ source_request_id: "1700000300000-gr0up-1"
159
+ }),
160
+ OPTIONS
161
+ ]
162
+ ]
163
+ };
164
+ var identityAndAttributes = {
165
+ in: getEvent("form submit", {
166
+ timestamp: 17000004e5,
167
+ data: { type: "newsletter" },
168
+ user: {
169
+ id: "user-123",
170
+ email: "user@example.com"
171
+ },
172
+ source: { type: "server", id: "https://example.com", previous_id: "" }
173
+ }),
174
+ mapping: void 0,
175
+ out: [
176
+ [
177
+ "sendServer",
178
+ ENDPOINT,
179
+ JSON.stringify({
180
+ events: [
181
+ {
182
+ event_type: "custom_event",
183
+ data: {
184
+ event_name: "form submit",
185
+ custom_event_type: "other",
186
+ timestamp_unixtime_ms: 17000004e5,
187
+ source_message_id: "1700000400000-gr0up-1"
188
+ }
189
+ }
190
+ ],
191
+ environment: "production",
192
+ user_identities: {
193
+ customer_id: "user-123",
194
+ email: "user@example.com"
195
+ },
196
+ source_request_id: "1700000400000-gr0up-1"
197
+ }),
198
+ OPTIONS
199
+ ]
200
+ ]
201
+ };
202
+ export {
203
+ env_exports as env,
204
+ step_exports as step
205
+ };
@@ -0,0 +1,240 @@
1
+ import { Mapping as Mapping$1, Destination as Destination$1 } from '@walkeros/core';
2
+ import { DestinationServer, sendServer } from '@walkeros/server-core';
3
+
4
+ /**
5
+ * mParticle data pod. Determines the regional endpoint used for the Events
6
+ * API. Defaults to `us1`. See {@link buildEndpoint} in `batch.ts`.
7
+ */
8
+ type Pod = 'us1' | 'us2' | 'eu1' | 'au1';
9
+ /**
10
+ * mParticle environment for the batch. `production` routes to production
11
+ * data streams; `development` sends to debug/verify streams.
12
+ */
13
+ type Environment = 'production' | 'development';
14
+ /**
15
+ * Event type used for the outgoing mParticle event. Defaults to
16
+ * `custom_event` when not explicitly mapped via rule settings.
17
+ */
18
+ type EventType = 'custom_event' | 'screen_view' | 'commerce_event';
19
+ /**
20
+ * mParticle custom event type (category) for `custom_event`s. Defaults to
21
+ * `other` when not specified.
22
+ */
23
+ type CustomEventType = 'navigation' | 'location' | 'search' | 'transaction' | 'user_content' | 'user_preference' | 'social' | 'media' | 'attribution' | 'other';
24
+ /**
25
+ * mParticle product action verbs for commerce events.
26
+ */
27
+ type ProductActionType = 'add_to_cart' | 'remove_from_cart' | 'checkout' | 'checkout_option' | 'click' | 'view_detail' | 'purchase' | 'refund' | 'add_to_wishlist' | 'remove_from_wishlist';
28
+ interface Settings {
29
+ /** mParticle input feed API key. */
30
+ apiKey: string;
31
+ /** mParticle input feed API secret. */
32
+ apiSecret: string;
33
+ /** Data pod selecting the regional endpoint. Default: `us1`. */
34
+ pod?: Pod;
35
+ /** Environment the batch targets. Default: `production`. */
36
+ environment?: Environment;
37
+ /**
38
+ * Mapping that resolves to `user_identities` per batch. Each entry value
39
+ * is a walkerOS mapping value; the resolved object is placed into the
40
+ * mParticle batch `user_identities` envelope.
41
+ */
42
+ userIdentities?: Mapping$1.Map;
43
+ /**
44
+ * Mapping that resolves to `user_attributes` per batch.
45
+ */
46
+ userAttributes?: Mapping$1.Value;
47
+ /**
48
+ * Optional static consent state passthrough — shape is forwarded verbatim
49
+ * to `consent_state` on the batch.
50
+ */
51
+ consent?: ConsentState;
52
+ /** walkerOS mapping value resolving to the client IP for the batch. */
53
+ ip?: Mapping$1.Value;
54
+ /**
55
+ * Optional request correlation id. When omitted, falls back to `event.id`.
56
+ */
57
+ sourceRequestId?: Mapping$1.Value;
58
+ }
59
+ type InitSettings = Partial<Settings>;
60
+ /**
61
+ * Per-rule mapping settings. Determines which mParticle event shape is
62
+ * produced for this walkerOS event and allows per-event identity overrides.
63
+ */
64
+ interface Mapping {
65
+ /** Event type. Default: `custom_event`. */
66
+ eventType?: EventType;
67
+ /** Custom event type category for `custom_event`. Default: `other`. */
68
+ customEventType?: CustomEventType;
69
+ /** Commerce mapping resolving to ProductAction and related fields. */
70
+ commerce?: Mapping$1.Value;
71
+ /** Per-event override for `user_identities`. Merged over settings. */
72
+ userIdentities?: Mapping$1.Map;
73
+ /** Per-event override for `user_attributes`. */
74
+ userAttributes?: Mapping$1.Value;
75
+ }
76
+ interface Env extends DestinationServer.Env {
77
+ sendServer?: typeof sendServer;
78
+ }
79
+ type Types = Destination$1.Types<Settings, Mapping, Env, InitSettings>;
80
+ interface Destination extends DestinationServer.Destination<Types> {
81
+ init: DestinationServer.InitFn<Types>;
82
+ }
83
+ type Config = {
84
+ settings: Settings;
85
+ } & DestinationServer.Config<Types>;
86
+ type InitFn = DestinationServer.InitFn<Types>;
87
+ type PushFn = DestinationServer.PushFn<Types>;
88
+ type PartialConfig = DestinationServer.PartialConfig<Types>;
89
+ type PushEvents = DestinationServer.PushEvents<Mapping>;
90
+ type Rule = Mapping$1.Rule<Mapping>;
91
+ type Rules = Mapping$1.Rules<Rule>;
92
+ /**
93
+ * Top-level mParticle batch payload posted to
94
+ * `https://s2s.{pod}.mparticle.com/v2/events`.
95
+ * https://docs.mparticle.com/developers/server/http/
96
+ */
97
+ interface MParticleBatch {
98
+ events: MParticleEvent[];
99
+ user_identities?: Record<string, string | number>;
100
+ user_attributes?: Record<string, unknown>;
101
+ environment: Environment;
102
+ schema_version?: number;
103
+ ip?: string;
104
+ source_request_id?: string;
105
+ consent_state?: ConsentState;
106
+ context?: Record<string, unknown>;
107
+ }
108
+ type MParticleEvent = {
109
+ event_type: 'custom_event';
110
+ data: CustomEventData;
111
+ } | {
112
+ event_type: 'screen_view';
113
+ data: ScreenViewEventData;
114
+ } | {
115
+ event_type: 'commerce_event';
116
+ data: CommerceEventData;
117
+ };
118
+ interface CommonEventData {
119
+ timestamp_unixtime_ms?: number;
120
+ source_message_id?: string;
121
+ session_uuid?: string;
122
+ custom_attributes?: Record<string, unknown>;
123
+ custom_flags?: Record<string, unknown>;
124
+ location?: Record<string, unknown>;
125
+ }
126
+ interface CustomEventData extends CommonEventData {
127
+ event_name: string;
128
+ custom_event_type: CustomEventType;
129
+ }
130
+ interface ScreenViewEventData extends CommonEventData {
131
+ screen_name?: string;
132
+ }
133
+ interface CommerceEventData extends CommonEventData {
134
+ product_action?: ProductAction;
135
+ promotion_action?: PromotionAction;
136
+ product_impressions?: ProductImpression[];
137
+ currency_code?: string;
138
+ is_non_interactive?: boolean;
139
+ }
140
+ interface ProductAction {
141
+ action: ProductActionType;
142
+ transaction_id?: string;
143
+ total_amount?: number;
144
+ tax_amount?: number;
145
+ shipping_amount?: number;
146
+ coupon_code?: string;
147
+ affiliation?: string;
148
+ checkout_step?: number;
149
+ checkout_options?: string;
150
+ products?: Product[];
151
+ }
152
+ interface Product {
153
+ id?: string;
154
+ name?: string;
155
+ brand?: string;
156
+ category?: string;
157
+ variant?: string;
158
+ position?: number;
159
+ price?: number;
160
+ quantity?: number;
161
+ coupon_code?: string;
162
+ total_product_amount?: number;
163
+ custom_attributes?: Record<string, unknown>;
164
+ }
165
+ interface PromotionAction {
166
+ action: 'view' | 'click';
167
+ promotions?: Array<{
168
+ id?: string;
169
+ name?: string;
170
+ creative?: string;
171
+ position?: string;
172
+ }>;
173
+ }
174
+ interface ProductImpression {
175
+ product_impression_list?: string;
176
+ products?: Product[];
177
+ }
178
+ /**
179
+ * mParticle consent state envelope forwarded verbatim on the batch.
180
+ * https://docs.mparticle.com/developers/server/http/#consent-state
181
+ */
182
+ interface ConsentState {
183
+ gdpr?: Record<string, GDPRConsentState>;
184
+ ccpa?: {
185
+ data_sale_opt_out?: CCPAConsentState;
186
+ };
187
+ }
188
+ interface GDPRConsentState {
189
+ consented: boolean;
190
+ document?: string;
191
+ timestamp_unixtime_ms?: number;
192
+ location?: string;
193
+ hardware_id?: string;
194
+ }
195
+ interface CCPAConsentState {
196
+ consented: boolean;
197
+ document?: string;
198
+ timestamp_unixtime_ms?: number;
199
+ location?: string;
200
+ hardware_id?: string;
201
+ }
202
+
203
+ type index_CCPAConsentState = CCPAConsentState;
204
+ type index_CommerceEventData = CommerceEventData;
205
+ type index_CommonEventData = CommonEventData;
206
+ type index_Config = Config;
207
+ type index_ConsentState = ConsentState;
208
+ type index_CustomEventData = CustomEventData;
209
+ type index_CustomEventType = CustomEventType;
210
+ type index_Destination = Destination;
211
+ type index_Env = Env;
212
+ type index_Environment = Environment;
213
+ type index_EventType = EventType;
214
+ type index_GDPRConsentState = GDPRConsentState;
215
+ type index_InitFn = InitFn;
216
+ type index_InitSettings = InitSettings;
217
+ type index_MParticleBatch = MParticleBatch;
218
+ type index_MParticleEvent = MParticleEvent;
219
+ type index_Mapping = Mapping;
220
+ type index_PartialConfig = PartialConfig;
221
+ type index_Pod = Pod;
222
+ type index_Product = Product;
223
+ type index_ProductAction = ProductAction;
224
+ type index_ProductActionType = ProductActionType;
225
+ type index_ProductImpression = ProductImpression;
226
+ type index_PromotionAction = PromotionAction;
227
+ type index_PushEvents = PushEvents;
228
+ type index_PushFn = PushFn;
229
+ type index_Rule = Rule;
230
+ type index_Rules = Rules;
231
+ type index_ScreenViewEventData = ScreenViewEventData;
232
+ type index_Settings = Settings;
233
+ type index_Types = Types;
234
+ declare namespace index {
235
+ export type { index_CCPAConsentState as CCPAConsentState, index_CommerceEventData as CommerceEventData, index_CommonEventData as CommonEventData, index_Config as Config, index_ConsentState as ConsentState, index_CustomEventData as CustomEventData, index_CustomEventType as CustomEventType, index_Destination as Destination, index_Env as Env, index_Environment as Environment, index_EventType as EventType, index_GDPRConsentState as GDPRConsentState, index_InitFn as InitFn, index_InitSettings as InitSettings, index_MParticleBatch as MParticleBatch, index_MParticleEvent as MParticleEvent, index_Mapping as Mapping, index_PartialConfig as PartialConfig, index_Pod as Pod, index_Product as Product, index_ProductAction as ProductAction, index_ProductActionType as ProductActionType, index_ProductImpression as ProductImpression, index_PromotionAction as PromotionAction, index_PushEvents as PushEvents, index_PushFn as PushFn, index_Rule as Rule, index_Rules as Rules, index_ScreenViewEventData as ScreenViewEventData, index_Settings as Settings, index_Types as Types };
236
+ }
237
+
238
+ declare const destinationMParticle: Destination;
239
+
240
+ export { index as DestinationMParticle, destinationMParticle as default, destinationMParticle };