@epilot/sdk 2.16.2 → 2.16.3

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 (137) hide show
  1. package/definitions/file-runtime.json +1 -1
  2. package/definitions/file.json +18 -1
  3. package/definitions/user.json +4 -0
  4. package/dist/apis/access-token.cjs +6 -6
  5. package/dist/apis/access-token.js +1 -1
  6. package/dist/apis/address-suggestions.cjs +6 -6
  7. package/dist/apis/address-suggestions.js +1 -1
  8. package/dist/apis/address.cjs +6 -6
  9. package/dist/apis/address.js +1 -1
  10. package/dist/apis/ai-agents.cjs +6 -6
  11. package/dist/apis/ai-agents.js +1 -1
  12. package/dist/apis/app.cjs +6 -6
  13. package/dist/apis/app.js +1 -1
  14. package/dist/apis/audit-logs.cjs +6 -6
  15. package/dist/apis/audit-logs.js +1 -1
  16. package/dist/apis/automation.cjs +6 -6
  17. package/dist/apis/automation.js +1 -1
  18. package/dist/apis/billing.cjs +6 -6
  19. package/dist/apis/billing.js +1 -1
  20. package/dist/apis/blueprint-manifest.cjs +6 -6
  21. package/dist/apis/blueprint-manifest.js +1 -1
  22. package/dist/apis/calendar.cjs +6 -6
  23. package/dist/apis/calendar.js +1 -1
  24. package/dist/apis/configuration-hub.cjs +6 -6
  25. package/dist/apis/configuration-hub.js +1 -1
  26. package/dist/apis/consent.cjs +6 -6
  27. package/dist/apis/consent.js +1 -1
  28. package/dist/apis/customer-portal.cjs +6 -6
  29. package/dist/apis/customer-portal.js +1 -1
  30. package/dist/apis/dashboard.cjs +6 -6
  31. package/dist/apis/dashboard.js +1 -1
  32. package/dist/apis/data-governance.cjs +6 -6
  33. package/dist/apis/data-governance.js +1 -1
  34. package/dist/apis/deduplication.cjs +6 -6
  35. package/dist/apis/deduplication.js +1 -1
  36. package/dist/apis/design.cjs +6 -6
  37. package/dist/apis/design.js +1 -1
  38. package/dist/apis/document.cjs +6 -6
  39. package/dist/apis/document.js +1 -1
  40. package/dist/apis/email-settings.cjs +6 -6
  41. package/dist/apis/email-settings.js +1 -1
  42. package/dist/apis/email-template.cjs +6 -6
  43. package/dist/apis/email-template.js +1 -1
  44. package/dist/apis/entity-mapping.cjs +6 -6
  45. package/dist/apis/entity-mapping.js +1 -1
  46. package/dist/apis/entity.cjs +6 -6
  47. package/dist/apis/entity.js +1 -1
  48. package/dist/apis/environments.cjs +6 -6
  49. package/dist/apis/environments.js +1 -1
  50. package/dist/apis/event-catalog.cjs +6 -6
  51. package/dist/apis/event-catalog.js +1 -1
  52. package/dist/apis/file.cjs +8 -8
  53. package/dist/apis/file.d.cts +2 -2
  54. package/dist/apis/file.d.ts +2 -2
  55. package/dist/apis/file.js +2 -2
  56. package/dist/apis/iban.cjs +6 -6
  57. package/dist/apis/iban.js +1 -1
  58. package/dist/apis/integration-toolkit.cjs +6 -6
  59. package/dist/apis/integration-toolkit.js +1 -1
  60. package/dist/apis/journey.cjs +6 -6
  61. package/dist/apis/journey.js +1 -1
  62. package/dist/apis/kanban.cjs +6 -6
  63. package/dist/apis/kanban.js +1 -1
  64. package/dist/apis/message.cjs +6 -6
  65. package/dist/apis/message.js +1 -1
  66. package/dist/apis/metering.cjs +6 -6
  67. package/dist/apis/metering.js +1 -1
  68. package/dist/apis/notes.cjs +6 -6
  69. package/dist/apis/notes.js +1 -1
  70. package/dist/apis/notification.cjs +6 -6
  71. package/dist/apis/notification.js +1 -1
  72. package/dist/apis/organization.cjs +6 -6
  73. package/dist/apis/organization.js +1 -1
  74. package/dist/apis/partner-directory.cjs +6 -6
  75. package/dist/apis/partner-directory.js +1 -1
  76. package/dist/apis/permissions.cjs +6 -6
  77. package/dist/apis/permissions.js +1 -1
  78. package/dist/apis/pricing-tier.cjs +6 -6
  79. package/dist/apis/pricing-tier.js +1 -1
  80. package/dist/apis/pricing.cjs +6 -6
  81. package/dist/apis/pricing.js +1 -1
  82. package/dist/apis/purpose.cjs +6 -6
  83. package/dist/apis/purpose.js +1 -1
  84. package/dist/apis/query.cjs +6 -6
  85. package/dist/apis/query.js +1 -1
  86. package/dist/apis/sandbox.cjs +6 -6
  87. package/dist/apis/sandbox.js +1 -1
  88. package/dist/apis/sharing.cjs +6 -6
  89. package/dist/apis/sharing.js +1 -1
  90. package/dist/apis/snapshot.cjs +6 -6
  91. package/dist/apis/snapshot.js +1 -1
  92. package/dist/apis/submission.cjs +6 -6
  93. package/dist/apis/submission.js +1 -1
  94. package/dist/apis/target.cjs +6 -6
  95. package/dist/apis/target.js +1 -1
  96. package/dist/apis/targeting.cjs +6 -6
  97. package/dist/apis/targeting.js +1 -1
  98. package/dist/apis/template-variables.cjs +6 -6
  99. package/dist/apis/template-variables.js +1 -1
  100. package/dist/apis/user.cjs +6 -6
  101. package/dist/apis/user.d.cts +2 -2
  102. package/dist/apis/user.d.ts +2 -2
  103. package/dist/apis/user.js +1 -1
  104. package/dist/apis/validation-rules.cjs +6 -6
  105. package/dist/apis/validation-rules.js +1 -1
  106. package/dist/apis/webhooks.cjs +6 -6
  107. package/dist/apis/webhooks.js +1 -1
  108. package/dist/apis/workflow-definition.cjs +6 -6
  109. package/dist/apis/workflow-definition.js +1 -1
  110. package/dist/apis/workflow.cjs +6 -6
  111. package/dist/apis/workflow.js +1 -1
  112. package/dist/{chunk-NBEPUBSZ.cjs → chunk-C7BX7FZI.cjs} +3 -3
  113. package/dist/chunk-CIPXCDZ6.js +14 -0
  114. package/dist/chunk-CO7WGRHF.cjs +14 -0
  115. package/dist/{chunk-MK6ZFMSY.js → chunk-P2WTHEWN.js} +3 -3
  116. package/dist/file-A6OZJKIS.cjs +7 -0
  117. package/dist/file-CRT7VUGQ.js +7 -0
  118. package/dist/{file-runtime-M4X5OHAJ.js → file-runtime-ASJ6YBDM.js} +1 -1
  119. package/dist/file-runtime-VQIZUOUB.cjs +5 -0
  120. package/dist/{file.d-zFneCEyY.d.cts → file.d-FYKxJ29C.d.cts} +31 -0
  121. package/dist/{file.d-zFneCEyY.d.ts → file.d-FYKxJ29C.d.ts} +31 -0
  122. package/dist/index.cjs +10 -10
  123. package/dist/index.d.cts +2 -2
  124. package/dist/index.d.ts +2 -2
  125. package/dist/index.js +2 -2
  126. package/dist/{user-5KLWGPQ2.js → user-7W5JUUKB.js} +1 -1
  127. package/dist/{user-GZLPNGIW.cjs → user-DR7IAWFI.cjs} +1 -1
  128. package/dist/{user.d-6bp0zEwE.d.cts → user.d-rqYtwsCz.d.cts} +8 -0
  129. package/dist/{user.d-6bp0zEwE.d.ts → user.d-rqYtwsCz.d.ts} +8 -0
  130. package/docs/file.md +1 -0
  131. package/docs/user.md +7 -3
  132. package/package.json +1 -1
  133. package/dist/chunk-3SZOSNO2.cjs +0 -14
  134. package/dist/chunk-G7IFFKKJ.js +0 -14
  135. package/dist/file-M7VPFJWG.js +0 -7
  136. package/dist/file-RNYEYEOK.cjs +0 -7
  137. package/dist/file-runtime-NW5B7T4M.cjs +0 -5
@@ -3671,6 +3671,9 @@ declare namespace Paths {
3671
3671
  */
3672
3672
  Components.Schemas.FileEntityId;
3673
3673
  export type Version = number;
3674
+ export interface XTrack {
3675
+ [name: string]: string;
3676
+ }
3674
3677
  }
3675
3678
  export interface PathParameters {
3676
3679
  id: Parameters.Id;
@@ -3678,6 +3681,7 @@ declare namespace Paths {
3678
3681
  export interface QueryParameters {
3679
3682
  version?: Parameters.Version;
3680
3683
  attachment?: Parameters.Attachment;
3684
+ "x-track"?: Parameters.XTrack;
3681
3685
  }
3682
3686
  namespace Responses {
3683
3687
  export interface $200 {
@@ -4447,6 +4451,15 @@ declare namespace Paths {
4447
4451
  * }
4448
4452
  */
4449
4453
  Components.Responses.UnauthorizedError;
4454
+ export type $403 = /**
4455
+ * A generic error returned by the API
4456
+ * example:
4457
+ * {
4458
+ * "status": 403,
4459
+ * "error": "Forbidden: You do not have permission to access this file"
4460
+ * }
4461
+ */
4462
+ Components.Responses.ForbiddenError;
4450
4463
  export type $404 = /**
4451
4464
  * A generic error returned by the API
4452
4465
  * example:
@@ -5103,6 +5116,15 @@ interface OperationMethods {
5103
5116
  *
5104
5117
  * The returned URL is valid for a limited time (typically 15 minutes) and can be used to download the file directly.
5105
5118
  *
5119
+ * **Download attribution (`x-track-*`):** any query parameter whose name starts with
5120
+ * `x-track-` is treated as opaque tracking metadata and signed into the returned URL, so it
5121
+ * shows up in the S3 access logs / CloudTrail data events when the link is actually opened.
5122
+ * This is a generic, service-agnostic channel — e.g. the customer portal sends
5123
+ * `x-track-portal-id` and `x-track-contact-id`. Only the `x-track-` namespace is forwarded;
5124
+ * the values cannot affect how S3 resolves or serves the object. Parameter names must match
5125
+ * `^x-track-[a-z0-9](?:[a-z0-9_-]{0,38}[a-z0-9])?$`, values are capped at 256 characters, and
5126
+ * at most 10 such parameters are honoured (see the `x-track` parameter below).
5127
+ *
5106
5128
  */
5107
5129
  'downloadFile'(
5108
5130
  parameters?: Parameters<Paths.DownloadFile.QueryParameters & Paths.DownloadFile.PathParameters> | null,
@@ -5605,6 +5627,15 @@ interface PathsDictionary {
5605
5627
  *
5606
5628
  * The returned URL is valid for a limited time (typically 15 minutes) and can be used to download the file directly.
5607
5629
  *
5630
+ * **Download attribution (`x-track-*`):** any query parameter whose name starts with
5631
+ * `x-track-` is treated as opaque tracking metadata and signed into the returned URL, so it
5632
+ * shows up in the S3 access logs / CloudTrail data events when the link is actually opened.
5633
+ * This is a generic, service-agnostic channel — e.g. the customer portal sends
5634
+ * `x-track-portal-id` and `x-track-contact-id`. Only the `x-track-` namespace is forwarded;
5635
+ * the values cannot affect how S3 resolves or serves the object. Parameter names must match
5636
+ * `^x-track-[a-z0-9](?:[a-z0-9_-]{0,38}[a-z0-9])?$`, values are capped at 256 characters, and
5637
+ * at most 10 such parameters are honoured (see the `x-track` parameter below).
5638
+ *
5608
5639
  */
5609
5640
  'get'(
5610
5641
  parameters?: Parameters<Paths.DownloadFile.QueryParameters & Paths.DownloadFile.PathParameters> | null,
@@ -3671,6 +3671,9 @@ declare namespace Paths {
3671
3671
  */
3672
3672
  Components.Schemas.FileEntityId;
3673
3673
  export type Version = number;
3674
+ export interface XTrack {
3675
+ [name: string]: string;
3676
+ }
3674
3677
  }
3675
3678
  export interface PathParameters {
3676
3679
  id: Parameters.Id;
@@ -3678,6 +3681,7 @@ declare namespace Paths {
3678
3681
  export interface QueryParameters {
3679
3682
  version?: Parameters.Version;
3680
3683
  attachment?: Parameters.Attachment;
3684
+ "x-track"?: Parameters.XTrack;
3681
3685
  }
3682
3686
  namespace Responses {
3683
3687
  export interface $200 {
@@ -4447,6 +4451,15 @@ declare namespace Paths {
4447
4451
  * }
4448
4452
  */
4449
4453
  Components.Responses.UnauthorizedError;
4454
+ export type $403 = /**
4455
+ * A generic error returned by the API
4456
+ * example:
4457
+ * {
4458
+ * "status": 403,
4459
+ * "error": "Forbidden: You do not have permission to access this file"
4460
+ * }
4461
+ */
4462
+ Components.Responses.ForbiddenError;
4450
4463
  export type $404 = /**
4451
4464
  * A generic error returned by the API
4452
4465
  * example:
@@ -5103,6 +5116,15 @@ interface OperationMethods {
5103
5116
  *
5104
5117
  * The returned URL is valid for a limited time (typically 15 minutes) and can be used to download the file directly.
5105
5118
  *
5119
+ * **Download attribution (`x-track-*`):** any query parameter whose name starts with
5120
+ * `x-track-` is treated as opaque tracking metadata and signed into the returned URL, so it
5121
+ * shows up in the S3 access logs / CloudTrail data events when the link is actually opened.
5122
+ * This is a generic, service-agnostic channel — e.g. the customer portal sends
5123
+ * `x-track-portal-id` and `x-track-contact-id`. Only the `x-track-` namespace is forwarded;
5124
+ * the values cannot affect how S3 resolves or serves the object. Parameter names must match
5125
+ * `^x-track-[a-z0-9](?:[a-z0-9_-]{0,38}[a-z0-9])?$`, values are capped at 256 characters, and
5126
+ * at most 10 such parameters are honoured (see the `x-track` parameter below).
5127
+ *
5106
5128
  */
5107
5129
  'downloadFile'(
5108
5130
  parameters?: Parameters<Paths.DownloadFile.QueryParameters & Paths.DownloadFile.PathParameters> | null,
@@ -5605,6 +5627,15 @@ interface PathsDictionary {
5605
5627
  *
5606
5628
  * The returned URL is valid for a limited time (typically 15 minutes) and can be used to download the file directly.
5607
5629
  *
5630
+ * **Download attribution (`x-track-*`):** any query parameter whose name starts with
5631
+ * `x-track-` is treated as opaque tracking metadata and signed into the returned URL, so it
5632
+ * shows up in the S3 access logs / CloudTrail data events when the link is actually opened.
5633
+ * This is a generic, service-agnostic channel — e.g. the customer portal sends
5634
+ * `x-track-portal-id` and `x-track-contact-id`. Only the `x-track-` namespace is forwarded;
5635
+ * the values cannot affect how S3 resolves or serves the object. Parameter names must match
5636
+ * `^x-track-[a-z0-9](?:[a-z0-9_-]{0,38}[a-z0-9])?$`, values are capped at 256 characters, and
5637
+ * at most 10 such parameters are honoured (see the `x-track` parameter below).
5638
+ *
5608
5639
  */
5609
5640
  'get'(
5610
5641
  parameters?: Parameters<Paths.DownloadFile.QueryParameters & Paths.DownloadFile.PathParameters> | null,
package/dist/index.cjs CHANGED
@@ -63,7 +63,7 @@ var _chunkWQBBB6BNcjs = require('./chunk-WQBBB6BN.cjs');
63
63
  var _chunkFDS727SLcjs = require('./chunk-FDS727SL.cjs');
64
64
 
65
65
 
66
- var _chunk3SZOSNO2cjs = require('./chunk-3SZOSNO2.cjs');
66
+ var _chunkCO7WGRHFcjs = require('./chunk-CO7WGRHF.cjs');
67
67
 
68
68
 
69
69
  var _chunkYO4M3BZLcjs = require('./chunk-YO4M3BZL.cjs');
@@ -158,7 +158,7 @@ var _chunkADSWGLIVcjs = require('./chunk-ADSWGLIV.cjs');
158
158
 
159
159
 
160
160
 
161
- var _chunkNBEPUBSZcjs = require('./chunk-NBEPUBSZ.cjs');
161
+ var _chunkC7BX7FZIcjs = require('./chunk-C7BX7FZI.cjs');
162
162
 
163
163
 
164
164
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -225,7 +225,7 @@ var resolveClient = (params) => {
225
225
  }
226
226
  if (!entry.instance) {
227
227
  const definition = entry.loader();
228
- entry.instance = _chunkNBEPUBSZcjs.createApiClient.call(void 0, {
228
+ entry.instance = _chunkC7BX7FZIcjs.createApiClient.call(void 0, {
229
229
  definition,
230
230
  token: state.token,
231
231
  headers: state.globalHeaders,
@@ -258,7 +258,7 @@ var resetAllClients = (registry) => {
258
258
  };
259
259
 
260
260
  // src/apis/_registry.ts
261
- var expandDef = (mod) => _chunkNBEPUBSZcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
261
+ var expandDef = (mod) => _chunkC7BX7FZIcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
262
262
  var registerBuiltinApis = (registry) => {
263
263
  registerApi({
264
264
  registry,
@@ -383,7 +383,7 @@ var registerBuiltinApis = (registry) => {
383
383
  registerApi({
384
384
  registry,
385
385
  name: "file",
386
- loader: () => expandDef(_chunk3SZOSNO2cjs.require_file_runtime.call(void 0, ))
386
+ loader: () => expandDef(_chunkCO7WGRHFcjs.require_file_runtime.call(void 0, ))
387
387
  });
388
388
  registerApi({
389
389
  registry,
@@ -601,9 +601,9 @@ var createSDK = () => {
601
601
  const available = [...registry.keys()].join(", ");
602
602
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
603
603
  }
604
- return _chunkNBEPUBSZcjs.createApiHandle.call(void 0, {
604
+ return _chunkC7BX7FZIcjs.createApiHandle.call(void 0, {
605
605
  resolveClient: () => resolveClient({ registry, name, state }),
606
- createClient: () => _chunkNBEPUBSZcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
606
+ createClient: () => _chunkC7BX7FZIcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
607
607
  apiName: name
608
608
  });
609
609
  };
@@ -651,9 +651,9 @@ var createSDK = () => {
651
651
  return interceptorUse;
652
652
  }
653
653
  case "help":
654
- return (apiName) => _chunkNBEPUBSZcjs.help.call(void 0, apiName);
654
+ return (apiName) => _chunkC7BX7FZIcjs.help.call(void 0, apiName);
655
655
  case "openapi":
656
- return (apiName) => _chunkNBEPUBSZcjs.openapi.call(void 0, apiName);
656
+ return (apiName) => _chunkC7BX7FZIcjs.openapi.call(void 0, apiName);
657
657
  case "then":
658
658
  case "catch":
659
659
  case "finally":
@@ -683,4 +683,4 @@ var epilot = createSDK();
683
683
 
684
684
 
685
685
 
686
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkNBEPUBSZcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkNBEPUBSZcjs.help; exports.openapi = _chunkNBEPUBSZcjs.openapi;
686
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkC7BX7FZIcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkC7BX7FZIcjs.help; exports.openapi = _chunkC7BX7FZIcjs.openapi;
package/dist/index.d.cts CHANGED
@@ -27,7 +27,7 @@ import { C as Client$k } from './entity.d-CaFNmDfj.cjs';
27
27
  import { C as Client$l } from './entity-mapping.d-DKSW3sfy.cjs';
28
28
  import { C as Client$m } from './environments.d-BvqvN-PD.cjs';
29
29
  import { C as Client$n } from './event-catalog.d-QIhhewVH.cjs';
30
- import { C as Client$o } from './file.d-zFneCEyY.cjs';
30
+ import { C as Client$o } from './file.d-FYKxJ29C.cjs';
31
31
  import { C as Client$p } from './iban.d-BwdiGbxi.cjs';
32
32
  import { C as Client$q } from './integration-toolkit.d-DUJR0HBY.cjs';
33
33
  import { C as Client$r } from './journey.d-B1sOeMHw.cjs';
@@ -49,7 +49,7 @@ import { C as Client$G } from './snapshot.d-DT0zg2CS.cjs';
49
49
  import { C as Client$H } from './submission.d-BamwfhXw.cjs';
50
50
  import { C as Client$I } from './targeting.d-DaK3kwZg.cjs';
51
51
  import { C as Client$J } from './template-variables.d-Ble9TSBa.cjs';
52
- import { C as Client$K } from './user.d-6bp0zEwE.cjs';
52
+ import { C as Client$K } from './user.d-rqYtwsCz.cjs';
53
53
  import { C as Client$L } from './validation-rules.d-Db5c5zTf.cjs';
54
54
  import { C as Client$M } from './webhooks.d-DqOEzFsp.cjs';
55
55
  import { C as Client$N } from './workflow.d-5cyNJgVQ.cjs';
package/dist/index.d.ts CHANGED
@@ -27,7 +27,7 @@ import { C as Client$k } from './entity.d-CaFNmDfj.js';
27
27
  import { C as Client$l } from './entity-mapping.d-DKSW3sfy.js';
28
28
  import { C as Client$m } from './environments.d-BvqvN-PD.js';
29
29
  import { C as Client$n } from './event-catalog.d-QIhhewVH.js';
30
- import { C as Client$o } from './file.d-zFneCEyY.js';
30
+ import { C as Client$o } from './file.d-FYKxJ29C.js';
31
31
  import { C as Client$p } from './iban.d-BwdiGbxi.js';
32
32
  import { C as Client$q } from './integration-toolkit.d-DUJR0HBY.js';
33
33
  import { C as Client$r } from './journey.d-B1sOeMHw.js';
@@ -49,7 +49,7 @@ import { C as Client$G } from './snapshot.d-DT0zg2CS.js';
49
49
  import { C as Client$H } from './submission.d-BamwfhXw.js';
50
50
  import { C as Client$I } from './targeting.d-DaK3kwZg.js';
51
51
  import { C as Client$J } from './template-variables.d-Ble9TSBa.js';
52
- import { C as Client$K } from './user.d-6bp0zEwE.js';
52
+ import { C as Client$K } from './user.d-rqYtwsCz.js';
53
53
  import { C as Client$L } from './validation-rules.d-Db5c5zTf.js';
54
54
  import { C as Client$M } from './webhooks.d-DqOEzFsp.js';
55
55
  import { C as Client$N } from './workflow.d-5cyNJgVQ.js';
package/dist/index.js CHANGED
@@ -63,7 +63,7 @@ import {
63
63
  } from "./chunk-M4FO2MI4.js";
64
64
  import {
65
65
  require_file_runtime
66
- } from "./chunk-G7IFFKKJ.js";
66
+ } from "./chunk-CIPXCDZ6.js";
67
67
  import {
68
68
  require_iban_runtime
69
69
  } from "./chunk-5MFHAXBT.js";
@@ -158,7 +158,7 @@ import {
158
158
  expand,
159
159
  help,
160
160
  openapi
161
- } from "./chunk-MK6ZFMSY.js";
161
+ } from "./chunk-P2WTHEWN.js";
162
162
  import {
163
163
  __require
164
164
  } from "./chunk-YPSWSI3M.js";