@slicemachine/manager 0.24.15-beta.8 → 0.24.15

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 (195) hide show
  1. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.cjs.map +1 -1
  2. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -1
  3. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs.map +1 -1
  4. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -1
  5. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs.map +1 -1
  6. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -1
  7. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs.map +1 -1
  8. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -1
  9. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.cjs.map +1 -1
  10. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -1
  11. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs.map +1 -1
  12. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -1
  13. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs.map +1 -1
  14. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -1
  15. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs.map +1 -1
  16. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -1
  17. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs.map +1 -1
  18. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -1
  19. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs.map +1 -1
  20. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -1
  21. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs.map +1 -1
  22. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -1
  23. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs.map +1 -1
  24. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -1
  25. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs.map +1 -1
  26. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -1
  27. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs.map +1 -1
  28. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -1
  29. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs.map +1 -1
  30. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -1
  31. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs.map +1 -1
  32. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -1
  33. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs.map +1 -1
  34. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -1
  35. package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -1
  36. package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -1
  37. package/dist/_node_modules/cross-spawn/lib/enoent.cjs.map +1 -1
  38. package/dist/_node_modules/cross-spawn/lib/enoent.js.map +1 -1
  39. package/dist/_node_modules/cross-spawn/lib/parse.cjs.map +1 -1
  40. package/dist/_node_modules/cross-spawn/lib/parse.js.map +1 -1
  41. package/dist/_node_modules/cross-spawn/lib/util/escape.cjs.map +1 -1
  42. package/dist/_node_modules/cross-spawn/lib/util/escape.js.map +1 -1
  43. package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs.map +1 -1
  44. package/dist/_node_modules/cross-spawn/lib/util/readShebang.js.map +1 -1
  45. package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs.map +1 -1
  46. package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js.map +1 -1
  47. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -1
  48. package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -1
  49. package/dist/_node_modules/execa/index.cjs +2 -2
  50. package/dist/_node_modules/execa/index.cjs.map +1 -1
  51. package/dist/_node_modules/execa/index.js +2 -2
  52. package/dist/_node_modules/execa/index.js.map +1 -1
  53. package/dist/_node_modules/execa/lib/command.cjs.map +1 -1
  54. package/dist/_node_modules/execa/lib/command.js.map +1 -1
  55. package/dist/_node_modules/execa/lib/error.cjs.map +1 -1
  56. package/dist/_node_modules/execa/lib/error.js.map +1 -1
  57. package/dist/_node_modules/execa/lib/kill.cjs.map +1 -1
  58. package/dist/_node_modules/execa/lib/kill.js.map +1 -1
  59. package/dist/_node_modules/execa/lib/promise.cjs +2 -2
  60. package/dist/_node_modules/execa/lib/promise.cjs.map +1 -1
  61. package/dist/_node_modules/execa/lib/promise.js +2 -2
  62. package/dist/_node_modules/execa/lib/promise.js.map +1 -1
  63. package/dist/_node_modules/execa/lib/stdio.cjs.map +1 -1
  64. package/dist/_node_modules/execa/lib/stdio.js.map +1 -1
  65. package/dist/_node_modules/execa/lib/stream.cjs.map +1 -1
  66. package/dist/_node_modules/execa/lib/stream.js.map +1 -1
  67. package/dist/_node_modules/execa/lib/verbose.cjs.map +1 -1
  68. package/dist/_node_modules/execa/lib/verbose.js.map +1 -1
  69. package/dist/_node_modules/fetch-blob/file.cjs.map +1 -1
  70. package/dist/_node_modules/fetch-blob/file.js.map +1 -1
  71. package/dist/_node_modules/fetch-blob/index.cjs.map +1 -1
  72. package/dist/_node_modules/fetch-blob/index.js.map +1 -1
  73. package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -1
  74. package/dist/_node_modules/fetch-blob/streams.js.map +1 -1
  75. package/dist/_node_modules/file-type/core.cjs.map +1 -1
  76. package/dist/_node_modules/file-type/core.js.map +1 -1
  77. package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -1
  78. package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -1
  79. package/dist/_node_modules/get-port/index.cjs.map +1 -1
  80. package/dist/_node_modules/get-port/index.js.map +1 -1
  81. package/dist/_node_modules/get-stream/index.cjs.map +1 -1
  82. package/dist/_node_modules/get-stream/index.js.map +1 -1
  83. package/dist/_node_modules/human-signals/build/src/realtime.cjs.map +1 -1
  84. package/dist/_node_modules/human-signals/build/src/realtime.js.map +1 -1
  85. package/dist/_node_modules/isexe/index.cjs.map +1 -1
  86. package/dist/_node_modules/isexe/index.js.map +1 -1
  87. package/dist/_node_modules/mimic-fn/index.cjs.map +1 -1
  88. package/dist/_node_modules/mimic-fn/index.js.map +1 -1
  89. package/dist/_node_modules/node-domexception/index.cjs.map +1 -1
  90. package/dist/_node_modules/node-domexception/index.js.map +1 -1
  91. package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -1
  92. package/dist/_node_modules/node-fetch/src/body.js.map +1 -1
  93. package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -1
  94. package/dist/_node_modules/node-fetch/src/headers.js.map +1 -1
  95. package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -1
  96. package/dist/_node_modules/node-fetch/src/index.js.map +1 -1
  97. package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -1
  98. package/dist/_node_modules/node-fetch/src/request.js.map +1 -1
  99. package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -1
  100. package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -1
  101. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -1
  102. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -1
  103. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -1
  104. package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -1
  105. package/dist/_node_modules/npm-run-path/_node_modules/path-key/index.cjs.map +1 -0
  106. package/dist/_node_modules/npm-run-path/_node_modules/path-key/index.js.map +1 -0
  107. package/dist/_node_modules/{execa/_node_modules/npm-run-path → npm-run-path}/index.cjs +1 -1
  108. package/dist/_node_modules/npm-run-path/index.cjs.map +1 -0
  109. package/dist/_node_modules/{execa/_node_modules/npm-run-path → npm-run-path}/index.js +1 -1
  110. package/dist/_node_modules/npm-run-path/index.js.map +1 -0
  111. package/dist/_node_modules/{execa/_node_modules/onetime → onetime}/index.cjs +1 -1
  112. package/dist/_node_modules/onetime/index.cjs.map +1 -0
  113. package/dist/_node_modules/{execa/_node_modules/onetime → onetime}/index.js +1 -1
  114. package/dist/_node_modules/onetime/index.js.map +1 -0
  115. package/dist/_node_modules/p-limit/index.cjs.map +1 -1
  116. package/dist/_node_modules/p-limit/index.js.map +1 -1
  117. package/dist/_node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
  118. package/dist/_node_modules/r19/dist/handleRPCRequest.js.map +1 -1
  119. package/dist/_node_modules/shebang-command/index.cjs.map +1 -1
  120. package/dist/_node_modules/shebang-command/index.js.map +1 -1
  121. package/dist/_node_modules/signal-exit/index.cjs.map +1 -1
  122. package/dist/_node_modules/signal-exit/index.js.map +1 -1
  123. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -1
  124. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -1
  125. package/dist/_node_modules/which/which.cjs.map +1 -1
  126. package/dist/_node_modules/which/which.js.map +1 -1
  127. package/dist/_node_modules/zod/lib/index.cjs.map +1 -1
  128. package/dist/_node_modules/zod/lib/index.js.map +1 -1
  129. package/dist/_virtual/_commonjsHelpers.cjs +1 -4
  130. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
  131. package/dist/_virtual/_commonjsHelpers.js +1 -4
  132. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  133. package/dist/auth/PrismicAuthManager.cjs.map +1 -1
  134. package/dist/auth/PrismicAuthManager.js.map +1 -1
  135. package/dist/auth/createPrismicAuthManagerMiddleware.cjs.map +1 -1
  136. package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -1
  137. package/dist/constants/API_ENDPOINTS.cjs.map +1 -1
  138. package/dist/constants/API_ENDPOINTS.js.map +1 -1
  139. package/dist/constants/API_TOKENS.cjs.map +1 -1
  140. package/dist/constants/API_TOKENS.js.map +1 -1
  141. package/dist/errors.cjs.map +1 -1
  142. package/dist/errors.js.map +1 -1
  143. package/dist/getEnvironmentInfo.cjs.map +1 -1
  144. package/dist/getEnvironmentInfo.js.map +1 -1
  145. package/dist/lib/DecodeError.cjs.map +1 -1
  146. package/dist/lib/DecodeError.js.map +1 -1
  147. package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs.map +1 -1
  148. package/dist/lib/buildPrismicRepositoryAPIEndpoint.js.map +1 -1
  149. package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs.map +1 -1
  150. package/dist/lib/fetchGitHubReleaseBodyForRelease.js.map +1 -1
  151. package/dist/lib/fetchNPMPackageVersions.cjs.map +1 -1
  152. package/dist/lib/fetchNPMPackageVersions.js.map +1 -1
  153. package/dist/lib/installDependencies.cjs.map +1 -1
  154. package/dist/lib/installDependencies.js.map +1 -1
  155. package/dist/lib/locateFileUpward.cjs.map +1 -1
  156. package/dist/lib/locateFileUpward.js.map +1 -1
  157. package/dist/lib/prismicrc.cjs.map +1 -1
  158. package/dist/lib/prismicrc.js.map +1 -1
  159. package/dist/managers/SliceMachineManager.cjs.map +1 -1
  160. package/dist/managers/SliceMachineManager.js.map +1 -1
  161. package/dist/managers/customTypes/CustomTypesManager.cjs.map +1 -1
  162. package/dist/managers/customTypes/CustomTypesManager.js.map +1 -1
  163. package/dist/managers/git/GitManager.cjs.map +1 -1
  164. package/dist/managers/git/GitManager.js.map +1 -1
  165. package/dist/managers/git/buildGitRepoSpecifier.cjs.map +1 -1
  166. package/dist/managers/git/buildGitRepoSpecifier.js.map +1 -1
  167. package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -1
  168. package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -1
  169. package/dist/managers/project/ProjectManager.cjs.map +1 -1
  170. package/dist/managers/project/ProjectManager.js.map +1 -1
  171. package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
  172. package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
  173. package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs.map +1 -1
  174. package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js.map +1 -1
  175. package/dist/managers/slices/SlicesManager.cjs.map +1 -1
  176. package/dist/managers/slices/SlicesManager.js.map +1 -1
  177. package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -1
  178. package/dist/managers/telemetry/TelemetryManager.js.map +1 -1
  179. package/dist/managers/telemetry/types.cjs +4 -6
  180. package/dist/managers/telemetry/types.cjs.map +1 -1
  181. package/dist/managers/telemetry/types.d.ts +6 -7
  182. package/dist/managers/telemetry/types.js +4 -6
  183. package/dist/managers/telemetry/types.js.map +1 -1
  184. package/dist/managers/versions/VersionsManager.cjs.map +1 -1
  185. package/dist/managers/versions/VersionsManager.js.map +1 -1
  186. package/package.json +4 -5
  187. package/src/managers/telemetry/types.ts +12 -17
  188. package/dist/_node_modules/execa/_node_modules/npm-run-path/index.cjs.map +0 -1
  189. package/dist/_node_modules/execa/_node_modules/npm-run-path/index.js.map +0 -1
  190. package/dist/_node_modules/execa/_node_modules/onetime/index.cjs.map +0 -1
  191. package/dist/_node_modules/execa/_node_modules/onetime/index.js.map +0 -1
  192. package/dist/_node_modules/execa/_node_modules/path-key/index.cjs.map +0 -1
  193. package/dist/_node_modules/execa/_node_modules/path-key/index.js.map +0 -1
  194. /package/dist/_node_modules/{execa → npm-run-path}/_node_modules/path-key/index.cjs +0 -0
  195. /package/dist/_node_modules/{execa → npm-run-path}/_node_modules/path-key/index.js +0 -0
@@ -30,8 +30,6 @@ const SegmentEventType = {
30
30
  devCollab_setUpWorkflowOpened: "dev-collab:set-up-workflow-opened",
31
31
  devCollab_workflowStubDisplayed: "dev-collab:workflow-stub-displayed",
32
32
  sliceMachine_start: "slice-machine:start",
33
- sliceLibrary_beta_modalOpened: "slice-library:beta:modal-opened",
34
- sliceLibrary_beta_codeOpened: "slice-library:beta:code-opened",
35
33
  postPush_emptyStateCtaClicked: "post-push:empty-state-cta-clicked",
36
34
  postPush_toastCtaClicked: "post-push:toast-cta-clicked",
37
35
  experiment_exposure: "experiment:exposure",
@@ -39,7 +37,8 @@ const SegmentEventType = {
39
37
  sharedOnboarding_step_completed: "shared-onboarding:step-completed",
40
38
  sharedOnboarding_completed: "shared-onboarding:completed",
41
39
  sharedOnboarding_tutorial: "shared-onboarding:follow-tutorial",
42
- sliceGenerationFeedback: "slice-generation-feedback"
40
+ sliceGenerationFeedback: "slice-generation-feedback",
41
+ navigation_documentationLinkClicked: "navigation:documentation-link-clicked"
43
42
  };
44
43
  const HumanSegmentEventType = {
45
44
  [SegmentEventType.command_init_start]: "SliceMachine Init Start",
@@ -71,8 +70,6 @@ const HumanSegmentEventType = {
71
70
  [SegmentEventType.devCollab_setUpWorkflowOpened]: "SliceMachine Dev Collab Set Up Workflow Opened",
72
71
  [SegmentEventType.devCollab_workflowStubDisplayed]: "SliceMachine Dev Collab Workflow Stub Displayed",
73
72
  [SegmentEventType.sliceMachine_start]: "SliceMachine Start",
74
- [SegmentEventType.sliceLibrary_beta_modalOpened]: "SliceMachine Slice Library [BETA] CTA modal displayed",
75
- [SegmentEventType.sliceLibrary_beta_codeOpened]: "SliceMachine Slice Library [BETA] CTA example code opened",
76
73
  [SegmentEventType.postPush_emptyStateCtaClicked]: "SliceMachine Post Push Empty State CTA Clicked",
77
74
  [SegmentEventType.postPush_toastCtaClicked]: "SliceMachine Post Push Toast CTA Clicked",
78
75
  [SegmentEventType.experiment_exposure]: "$exposure",
@@ -80,7 +77,8 @@ const HumanSegmentEventType = {
80
77
  [SegmentEventType.sharedOnboarding_step_opened]: "Prismic Onboarding Guide Step Open",
81
78
  [SegmentEventType.sharedOnboarding_completed]: "Prismic Onboarding Guide Completed",
82
79
  [SegmentEventType.sharedOnboarding_tutorial]: "Prismic Onboarding Guide Follow Tutorial",
83
- [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback"
80
+ [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback",
81
+ [SegmentEventType.navigation_documentationLinkClicked]: "SliceMachine Documentation Link Clicked"
84
82
  };
85
83
  exports.HumanSegmentEventType = HumanSegmentEventType;
86
84
  exports.SegmentEventType = SegmentEventType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../../../src/managers/telemetry/types.ts"],"sourcesContent":["import { FieldType } from \"@prismicio/types-internal/lib/customtypes/widgets\";\n\nimport { CustomTypeFormat } from \"../customTypes/types\";\nimport type { PushChangesLimitType } from \"../prismicRepository/types\";\n\nexport type { Variant } from \"@amplitude/experiment-node-server\";\n\nexport const SegmentEventType = {\n\tcommand_init_start: \"command:init:start\",\n\tcommand_init_identify: \"command:init:identify\",\n\tcommand_init_end: \"command:init:end\",\n\treview: \"review\",\n\tsliceSimulator_open: \"slice-simulator:open\",\n\tsliceSimulator_isNotRunning: \"slice-simulator:is-not-running\",\n\tpageView: \"page-view\",\n\topenVideoTutorials: \"open-video-tutorials\",\n\tfield_added: \"field:added\",\n\tfield_updated: \"field:updated\",\n\tfield_settingsOpened: \"field:settings-opened\",\n\tcustomType_created: \"custom-type:created\",\n\tcustomType_sliceZoneUpdated: \"custom-type:slice-zone-updated\",\n\tcustomType_openAddFromTemplates: \"custom-type:open-add-from-templates\",\n\tcustomType_saved: \"custom-type:saved\",\n\tslice_created: \"slice:created\",\n\tlegacySlice_converted: \"legacy-slice:converted\",\n\tscreenshotTaken: \"screenshot-taken\",\n\tchanges_pushed: \"changes:pushed\",\n\tchanges_groupPushed: \"changes:group-pushed\",\n\tchanges_limitReach: \"changes:limit-reach\",\n\teditor_widgetUsed: \"editor:widget-used\",\n\topen_page_snippet: \"page-type:open-snippet\",\n\tcopy_page_snippet: \"page-type:copy-snippet\",\n\tswitch_environment: \"environment:switch\",\n\tdevCollab_joinBetaClicked: \"dev-collab:join-beta-clicked\",\n\tdevCollab_setUpWorkflowOpened: \"dev-collab:set-up-workflow-opened\",\n\tdevCollab_workflowStubDisplayed: \"dev-collab:workflow-stub-displayed\",\n\tsliceMachine_start: \"slice-machine:start\",\n\tsliceLibrary_beta_modalOpened: \"slice-library:beta:modal-opened\",\n\tsliceLibrary_beta_codeOpened: \"slice-library:beta:code-opened\",\n\tpostPush_emptyStateCtaClicked: \"post-push:empty-state-cta-clicked\",\n\tpostPush_toastCtaClicked: \"post-push:toast-cta-clicked\",\n\texperiment_exposure: \"experiment:exposure\",\n\tsharedOnboarding_step_opened: \"shared-onboarding:step-opened\",\n\tsharedOnboarding_step_completed: \"shared-onboarding:step-completed\",\n\tsharedOnboarding_completed: \"shared-onboarding:completed\",\n\tsharedOnboarding_tutorial: \"shared-onboarding:follow-tutorial\",\n\tsliceGenerationFeedback: \"slice-generation-feedback\",\n} as const;\ntype SegmentEventTypes =\n\t(typeof SegmentEventType)[keyof typeof SegmentEventType];\n\nexport const HumanSegmentEventType = {\n\t[SegmentEventType.command_init_start]: \"SliceMachine Init Start\",\n\t[SegmentEventType.command_init_identify]: \"SliceMachine Init Identify\",\n\t[SegmentEventType.command_init_end]: \"SliceMachine Init End\",\n\t[SegmentEventType.review]: \"SliceMachine Review\",\n\t[SegmentEventType.sliceSimulator_open]: \"SliceMachine Slice Simulator Open\",\n\t[SegmentEventType.sliceSimulator_isNotRunning]:\n\t\t\"SliceMachine Slice Simulator is not running\",\n\t[SegmentEventType.pageView]: \"SliceMachine Page View\",\n\t[SegmentEventType.openVideoTutorials]: \"SliceMachine Open Video Tutorials\",\n\t[SegmentEventType.field_added]: \"SliceMachine Field Added\",\n\t[SegmentEventType.field_updated]: \"SliceMachine Field Updated\",\n\t[SegmentEventType.field_settingsOpened]: \"SliceMachine Field Settings Opened\",\n\t[SegmentEventType.customType_created]: \"SliceMachine Custom Type Created\",\n\t[SegmentEventType.customType_sliceZoneUpdated]:\n\t\t\"SliceMachine Slicezone Updated\",\n\t[SegmentEventType.customType_openAddFromTemplates]:\n\t\t\"SliceMachine Open Add from templates\",\n\t[SegmentEventType.customType_saved]: \"SliceMachine Custom Type Saved\",\n\t[SegmentEventType.slice_created]: \"SliceMachine Slice Created\",\n\t[SegmentEventType.legacySlice_converted]:\n\t\t\"SliceMachine Legacy Slice Converted\",\n\t[SegmentEventType.screenshotTaken]: \"SliceMachine Screenshot Taken\",\n\t[SegmentEventType.changes_pushed]: \"SliceMachine Changes Pushed\",\n\t[SegmentEventType.changes_groupPushed]: \"SliceMachine Group Field Pushed\",\n\t[SegmentEventType.changes_limitReach]: \"SliceMachine Changes Limit Reach\",\n\t[SegmentEventType.editor_widgetUsed]: \"SliceMachine Editor Widget Used\",\n\t[SegmentEventType.open_page_snippet]:\n\t\t\"SliceMachine Opens Page Type Snippet Dialog\",\n\t[SegmentEventType.copy_page_snippet]:\n\t\t\"Slice Machine page code snippet copied\",\n\t[SegmentEventType.switch_environment]: \"SliceMachine environment switch\",\n\t[SegmentEventType.devCollab_joinBetaClicked]:\n\t\t\"SliceMachine Dev Collab Join Beta Clicked\",\n\t[SegmentEventType.devCollab_setUpWorkflowOpened]:\n\t\t\"SliceMachine Dev Collab Set Up Workflow Opened\",\n\t[SegmentEventType.devCollab_workflowStubDisplayed]:\n\t\t\"SliceMachine Dev Collab Workflow Stub Displayed\",\n\t[SegmentEventType.sliceMachine_start]: \"SliceMachine Start\",\n\t[SegmentEventType.sliceLibrary_beta_modalOpened]:\n\t\t\"SliceMachine Slice Library [BETA] CTA modal displayed\",\n\t[SegmentEventType.sliceLibrary_beta_codeOpened]:\n\t\t\"SliceMachine Slice Library [BETA] CTA example code opened\",\n\t[SegmentEventType.postPush_emptyStateCtaClicked]:\n\t\t\"SliceMachine Post Push Empty State CTA Clicked\",\n\t[SegmentEventType.postPush_toastCtaClicked]:\n\t\t\"SliceMachine Post Push Toast CTA Clicked\",\n\t[SegmentEventType.experiment_exposure]: \"$exposure\",\n\t[SegmentEventType.sharedOnboarding_step_completed]:\n\t\t\"Prismic Onboarding Guide Step Completed\",\n\t[SegmentEventType.sharedOnboarding_step_opened]:\n\t\t\"Prismic Onboarding Guide Step Open\",\n\t[SegmentEventType.sharedOnboarding_completed]:\n\t\t\"Prismic Onboarding Guide Completed\",\n\t[SegmentEventType.sharedOnboarding_tutorial]:\n\t\t\"Prismic Onboarding Guide Follow Tutorial\",\n\t[SegmentEventType.sliceGenerationFeedback]: \"Slice Generation Feedback\",\n} as const;\n\nexport type HumanSegmentEventTypes =\n\t(typeof HumanSegmentEventType)[keyof typeof HumanSegmentEventType];\n\ntype SegmentEvent<\n\tTType extends SegmentEventTypes,\n\tTProperties extends Record<string, unknown> | void = void,\n> = TProperties extends void\n\t? {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t }\n\t: {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t } & TProperties;\n\ntype CommandInitStartSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_start\n>;\n\n// This event feels off, we have a dedicated `identify` method...\ntype CommandInitIdentifySegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_identify\n>;\n\ntype CommandInitEndSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_end,\n\t{ framework: string; success: boolean; error?: string }\n>;\n\ntype ReviewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.review,\n\t{\n\t\trating: number;\n\t\tcomment: string;\n\t\ttype: \"onboarding\";\n\t}\n>;\n\ntype SliceSimulatorOpenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_open\n>;\n\ntype SliceSimulatorIsNotRunningSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_isNotRunning\n>;\n\ntype PageViewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.pageView,\n\t{\n\t\turl: string;\n\t\tpath: string;\n\t\tsearch: string;\n\t\ttitle: string;\n\t\treferrer: string;\n\t\tadapter: string;\n\t\t/*\n\t\t * We are tracking outer sizes instead of inner sizes as with the latter, we\n\t\t * can't differentiate between users with a high-density screen and those\n\t\t * zooming in/out with ⌘ + / ⌘ -. Indeed, when users zoom in/out, some\n\t\t * browsers (like Google Chrome) will update `window.devicePixelRatio` while\n\t\t * others (like Safari) will keep it unchanged so that it always reflects\n\t\t * the ratio of physical pixels to CSS pixels.\n\t\t */\n\t\touterWidth: number;\n\t\touterHeight: number;\n\t\tscreenWidth: number;\n\t\tscreenHeight: number;\n\t}\n>;\n\ntype OpenPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.open_page_snippet,\n\t{ framework: string }\n>;\n\ntype CopyPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.copy_page_snippet,\n\t{ framework: string }\n>;\n\ntype SwitchEnvironmentSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.switch_environment,\n\t{ domain: string }\n>;\n\ntype OpenVideoTutorialsSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.openVideoTutorials,\n\t{ video: string }\n>;\n\ntype FieldAddedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_added,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_updated,\n\t{\n\t\tpreviousId: string;\n\t\tid: string;\n\t\tidUpdated: boolean;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldSettingsOpenedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_settingsOpened,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t}\n>;\n\ntype CustomTypeCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t\torigin: \"onboarding\" | \"table\";\n\t}\n>;\n\ntype CustomTypeSliceZoneUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_sliceZoneUpdated,\n\t{ customTypeId: string }\n>;\n\ntype CustomTypeOpenAddFromTemplatesEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_openAddFromTemplates,\n\t{ customTypeId: string; customTypeFormat: CustomTypeFormat }\n>;\n\ntype CustomTypeSavedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_saved,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t}\n>;\n\ntype SliceCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.slice_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tlibrary: string;\n\t\tlocation: \"custom_type\" | \"page_type\" | \"slices\";\n\t} & (\n\t\t| { mode: \"ai\"; langSmithUrl?: string }\n\t\t| { mode: \"manual\" }\n\t\t| { mode: \"template\"; sliceTemplate: string }\n\t)\n>;\n\ntype LegacySliceConvertedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.legacySlice_converted,\n\t{\n\t\tid: string;\n\t\tvariation: string;\n\t\tlibrary: string;\n\t\tconversionType:\n\t\t\t| \"as_new_slice\"\n\t\t\t| \"as_new_variation\"\n\t\t\t| \"merge_with_identical\";\n\t}\n>;\n\ntype ScreenshotTakenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.screenshotTaken,\n\t{\n\t\ttype: \"custom\";\n\t\tmethod: \"upload\" | \"dragAndDrop\";\n\t}\n>;\n\ntype ChangesPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_pushed,\n\t{\n\t\tcustomTypesCreated: number;\n\t\tcustomTypesModified: number;\n\t\tcustomTypesDeleted: number;\n\t\tslicesCreated: number;\n\t\tslicesModified: number;\n\t\tslicesDeleted: number;\n\t\tmissingScreenshots: number;\n\t\ttotal: number;\n\t\tduration: number;\n\t\thasDeletedDocuments: boolean;\n\t}\n>;\n\ntype ChangesGroupPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_groupPushed,\n\t{\n\t\tisInStaticZone: boolean;\n\t\tisInSlice: boolean;\n\t} & {\n\t\t[key in FieldType]?: number;\n\t}\n>;\n\ntype ChangesLimitReachSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_limitReach,\n\t{ limitType: PushChangesLimitType }\n>;\n\ntype EditorWidgetUsedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.editor_widgetUsed,\n\t{ sliceId: string }\n>;\n\ntype DevCollabJoinBetaClicked = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_joinBetaClicked\n>;\n\ntype DevCollabSetUpWorkflowOpened = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_setUpWorkflowOpened\n>;\n\ntype DevCollabWorkflowStubDisplayed = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_workflowStubDisplayed\n>;\n\ntype SliceMachineStart = SegmentEvent<\n\ttypeof SegmentEventType.sliceMachine_start,\n\t{\n\t\tadapter?: string;\n\t\tadapterVersion?: string;\n\t\tgitProvider?: string;\n\t\tisAdapterUpdateAvailable?: boolean;\n\t\tisLoggedIn?: boolean;\n\t\tisSliceMachineUpdateAvailable?: boolean;\n\t\tisTypeScriptProject?: boolean;\n\t\tnodeVersion?: string;\n\t\tnumberOfCustomTypes?: number;\n\t\tnumberOfSlices?: number;\n\t\tosPlatform?: string;\n\t\tpackageManager?: string;\n\t\tprojectPort?: string;\n\t\tsliceMachineVersion?: string;\n\t\tversionControlSystem?: string;\n\t}\n>;\n\ntype SliceLibraryBetaModalOpened = SegmentEvent<\n\ttypeof SegmentEventType.sliceLibrary_beta_modalOpened\n>;\n\ntype SliceLibraryBetaCodeOpened = SegmentEvent<\n\ttypeof SegmentEventType.sliceLibrary_beta_codeOpened\n>;\n\ntype OnboardingCommonPayload = { stepId: string; stepTitle: string };\ntype SharedOnboardingProperties<T = Record<string, string>> = T & {\n\tsource: \"SliceMachine\";\n};\n\ntype SliceMachineSharedOnboardingStepOpened = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_opened,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingStepCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_completed,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_completed,\n\tSharedOnboardingProperties\n>;\ntype SliceMachineSharedOnboardingTutorial = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_tutorial,\n\tSharedOnboardingProperties\n>;\ntype SliceMachinePostPushEmptyStateCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_emptyStateCtaClicked\n>;\n\ntype SliceMachinePostPushToastCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_toastCtaClicked\n>;\n\ntype SliceMachineExperimentExposure = SegmentEvent<\n\ttypeof SegmentEventType.experiment_exposure,\n\t{\n\t\tflag_key: string;\n\t\tvariant: string;\n\t}\n>;\n\ntype SliceGenerationFeedback = SegmentEvent<\n\ttypeof SegmentEventType.sliceGenerationFeedback,\n\t{\n\t\ttype: \"model\";\n\t\tsliceId: string;\n\t\tvariationId: string;\n\t\tfeedback: \"up\" | \"down\";\n\t\tlangSmithUrl?: string;\n\t}\n>;\n\nexport type SegmentEvents =\n\t| CommandInitStartSegmentEvent\n\t| CommandInitIdentifySegmentEvent\n\t| CommandInitEndSegmentEvent\n\t| ReviewSegmentEvent\n\t| SliceSimulatorOpenSegmentEvent\n\t| SliceSimulatorIsNotRunningSegmentEvent\n\t| PageViewSegmentEvent\n\t| OpenVideoTutorialsSegmentEvent\n\t| FieldAddedSegmentEvent\n\t| FieldUpdatedSegmentEvent\n\t| FieldSettingsOpenedSegmentEvent\n\t| CustomTypeCreatedSegmentEvent\n\t| CustomTypeSliceZoneUpdatedSegmentEvent\n\t| CustomTypeOpenAddFromTemplatesEvent\n\t| CustomTypeSavedSegmentEvent\n\t| SliceCreatedSegmentEvent\n\t| LegacySliceConvertedSegmentEvent\n\t| ScreenshotTakenSegmentEvent\n\t| ChangesPushedSegmentEvent\n\t| ChangesGroupPushedSegmentEvent\n\t| ChangesLimitReachSegmentEvent\n\t| EditorWidgetUsedSegmentEvent\n\t| OpenPageSnippetSegmentEvent\n\t| CopyPageSnippetSegmentEvent\n\t| SwitchEnvironmentSegmentEvent\n\t| DevCollabJoinBetaClicked\n\t| DevCollabSetUpWorkflowOpened\n\t| DevCollabWorkflowStubDisplayed\n\t| SliceMachineStart\n\t| SliceLibraryBetaModalOpened\n\t| SliceLibraryBetaCodeOpened\n\t| SliceMachineSharedOnboardingStepOpened\n\t| SliceMachineSharedOnboardingStepCompleted\n\t| SliceMachineSharedOnboardingCompleted\n\t| SliceMachineSharedOnboardingTutorial\n\t| SliceMachinePostPushEmptyStateCtaClicked\n\t| SliceMachinePostPushToastCtaClicked\n\t| SliceMachineExperimentExposure\n\t| SliceGenerationFeedback;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.cjs","sources":["../../../../src/managers/telemetry/types.ts"],"sourcesContent":["import { FieldType } from \"@prismicio/types-internal/lib/customtypes/widgets\";\n\nimport { CustomTypeFormat } from \"../customTypes/types\";\nimport type { PushChangesLimitType } from \"../prismicRepository/types\";\n\nexport type { Variant } from \"@amplitude/experiment-node-server\";\n\nexport const SegmentEventType = {\n\tcommand_init_start: \"command:init:start\",\n\tcommand_init_identify: \"command:init:identify\",\n\tcommand_init_end: \"command:init:end\",\n\treview: \"review\",\n\tsliceSimulator_open: \"slice-simulator:open\",\n\tsliceSimulator_isNotRunning: \"slice-simulator:is-not-running\",\n\tpageView: \"page-view\",\n\topenVideoTutorials: \"open-video-tutorials\",\n\tfield_added: \"field:added\",\n\tfield_updated: \"field:updated\",\n\tfield_settingsOpened: \"field:settings-opened\",\n\tcustomType_created: \"custom-type:created\",\n\tcustomType_sliceZoneUpdated: \"custom-type:slice-zone-updated\",\n\tcustomType_openAddFromTemplates: \"custom-type:open-add-from-templates\",\n\tcustomType_saved: \"custom-type:saved\",\n\tslice_created: \"slice:created\",\n\tlegacySlice_converted: \"legacy-slice:converted\",\n\tscreenshotTaken: \"screenshot-taken\",\n\tchanges_pushed: \"changes:pushed\",\n\tchanges_groupPushed: \"changes:group-pushed\",\n\tchanges_limitReach: \"changes:limit-reach\",\n\teditor_widgetUsed: \"editor:widget-used\",\n\topen_page_snippet: \"page-type:open-snippet\",\n\tcopy_page_snippet: \"page-type:copy-snippet\",\n\tswitch_environment: \"environment:switch\",\n\tdevCollab_joinBetaClicked: \"dev-collab:join-beta-clicked\",\n\tdevCollab_setUpWorkflowOpened: \"dev-collab:set-up-workflow-opened\",\n\tdevCollab_workflowStubDisplayed: \"dev-collab:workflow-stub-displayed\",\n\tsliceMachine_start: \"slice-machine:start\",\n\tpostPush_emptyStateCtaClicked: \"post-push:empty-state-cta-clicked\",\n\tpostPush_toastCtaClicked: \"post-push:toast-cta-clicked\",\n\texperiment_exposure: \"experiment:exposure\",\n\tsharedOnboarding_step_opened: \"shared-onboarding:step-opened\",\n\tsharedOnboarding_step_completed: \"shared-onboarding:step-completed\",\n\tsharedOnboarding_completed: \"shared-onboarding:completed\",\n\tsharedOnboarding_tutorial: \"shared-onboarding:follow-tutorial\",\n\tsliceGenerationFeedback: \"slice-generation-feedback\",\n\tnavigation_documentationLinkClicked: \"navigation:documentation-link-clicked\",\n} as const;\ntype SegmentEventTypes =\n\t(typeof SegmentEventType)[keyof typeof SegmentEventType];\n\nexport const HumanSegmentEventType = {\n\t[SegmentEventType.command_init_start]: \"SliceMachine Init Start\",\n\t[SegmentEventType.command_init_identify]: \"SliceMachine Init Identify\",\n\t[SegmentEventType.command_init_end]: \"SliceMachine Init End\",\n\t[SegmentEventType.review]: \"SliceMachine Review\",\n\t[SegmentEventType.sliceSimulator_open]: \"SliceMachine Slice Simulator Open\",\n\t[SegmentEventType.sliceSimulator_isNotRunning]:\n\t\t\"SliceMachine Slice Simulator is not running\",\n\t[SegmentEventType.pageView]: \"SliceMachine Page View\",\n\t[SegmentEventType.openVideoTutorials]: \"SliceMachine Open Video Tutorials\",\n\t[SegmentEventType.field_added]: \"SliceMachine Field Added\",\n\t[SegmentEventType.field_updated]: \"SliceMachine Field Updated\",\n\t[SegmentEventType.field_settingsOpened]: \"SliceMachine Field Settings Opened\",\n\t[SegmentEventType.customType_created]: \"SliceMachine Custom Type Created\",\n\t[SegmentEventType.customType_sliceZoneUpdated]:\n\t\t\"SliceMachine Slicezone Updated\",\n\t[SegmentEventType.customType_openAddFromTemplates]:\n\t\t\"SliceMachine Open Add from templates\",\n\t[SegmentEventType.customType_saved]: \"SliceMachine Custom Type Saved\",\n\t[SegmentEventType.slice_created]: \"SliceMachine Slice Created\",\n\t[SegmentEventType.legacySlice_converted]:\n\t\t\"SliceMachine Legacy Slice Converted\",\n\t[SegmentEventType.screenshotTaken]: \"SliceMachine Screenshot Taken\",\n\t[SegmentEventType.changes_pushed]: \"SliceMachine Changes Pushed\",\n\t[SegmentEventType.changes_groupPushed]: \"SliceMachine Group Field Pushed\",\n\t[SegmentEventType.changes_limitReach]: \"SliceMachine Changes Limit Reach\",\n\t[SegmentEventType.editor_widgetUsed]: \"SliceMachine Editor Widget Used\",\n\t[SegmentEventType.open_page_snippet]:\n\t\t\"SliceMachine Opens Page Type Snippet Dialog\",\n\t[SegmentEventType.copy_page_snippet]:\n\t\t\"Slice Machine page code snippet copied\",\n\t[SegmentEventType.switch_environment]: \"SliceMachine environment switch\",\n\t[SegmentEventType.devCollab_joinBetaClicked]:\n\t\t\"SliceMachine Dev Collab Join Beta Clicked\",\n\t[SegmentEventType.devCollab_setUpWorkflowOpened]:\n\t\t\"SliceMachine Dev Collab Set Up Workflow Opened\",\n\t[SegmentEventType.devCollab_workflowStubDisplayed]:\n\t\t\"SliceMachine Dev Collab Workflow Stub Displayed\",\n\t[SegmentEventType.sliceMachine_start]: \"SliceMachine Start\",\n\t[SegmentEventType.postPush_emptyStateCtaClicked]:\n\t\t\"SliceMachine Post Push Empty State CTA Clicked\",\n\t[SegmentEventType.postPush_toastCtaClicked]:\n\t\t\"SliceMachine Post Push Toast CTA Clicked\",\n\t[SegmentEventType.experiment_exposure]: \"$exposure\",\n\t[SegmentEventType.sharedOnboarding_step_completed]:\n\t\t\"Prismic Onboarding Guide Step Completed\",\n\t[SegmentEventType.sharedOnboarding_step_opened]:\n\t\t\"Prismic Onboarding Guide Step Open\",\n\t[SegmentEventType.sharedOnboarding_completed]:\n\t\t\"Prismic Onboarding Guide Completed\",\n\t[SegmentEventType.sharedOnboarding_tutorial]:\n\t\t\"Prismic Onboarding Guide Follow Tutorial\",\n\t[SegmentEventType.sliceGenerationFeedback]: \"Slice Generation Feedback\",\n\t[SegmentEventType.navigation_documentationLinkClicked]:\n\t\t\"SliceMachine Documentation Link Clicked\",\n} as const;\n\nexport type HumanSegmentEventTypes =\n\t(typeof HumanSegmentEventType)[keyof typeof HumanSegmentEventType];\n\ntype SegmentEvent<\n\tTType extends SegmentEventTypes,\n\tTProperties extends Record<string, unknown> | void = void,\n> = TProperties extends void\n\t? {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t }\n\t: {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t } & TProperties;\n\ntype CommandInitStartSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_start\n>;\n\n// This event feels off, we have a dedicated `identify` method...\ntype CommandInitIdentifySegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_identify\n>;\n\ntype CommandInitEndSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_end,\n\t{ framework: string; success: boolean; error?: string }\n>;\n\ntype ReviewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.review,\n\t{\n\t\trating: number;\n\t\tcomment: string;\n\t\ttype: \"onboarding\";\n\t}\n>;\n\ntype SliceSimulatorOpenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_open\n>;\n\ntype SliceSimulatorIsNotRunningSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_isNotRunning\n>;\n\ntype PageViewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.pageView,\n\t{\n\t\turl: string;\n\t\tpath: string;\n\t\tsearch: string;\n\t\ttitle: string;\n\t\treferrer: string;\n\t\tadapter: string;\n\t\t/*\n\t\t * We are tracking outer sizes instead of inner sizes as with the latter, we\n\t\t * can't differentiate between users with a high-density screen and those\n\t\t * zooming in/out with ⌘ + / ⌘ -. Indeed, when users zoom in/out, some\n\t\t * browsers (like Google Chrome) will update `window.devicePixelRatio` while\n\t\t * others (like Safari) will keep it unchanged so that it always reflects\n\t\t * the ratio of physical pixels to CSS pixels.\n\t\t */\n\t\touterWidth: number;\n\t\touterHeight: number;\n\t\tscreenWidth: number;\n\t\tscreenHeight: number;\n\t}\n>;\n\ntype OpenPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.open_page_snippet,\n\t{ framework: string }\n>;\n\ntype CopyPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.copy_page_snippet,\n\t{ framework: string }\n>;\n\ntype SwitchEnvironmentSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.switch_environment,\n\t{ domain: string }\n>;\n\ntype OpenVideoTutorialsSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.openVideoTutorials,\n\t{ video: string }\n>;\n\ntype FieldAddedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_added,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_updated,\n\t{\n\t\tpreviousId: string;\n\t\tid: string;\n\t\tidUpdated: boolean;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldSettingsOpenedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_settingsOpened,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t}\n>;\n\ntype CustomTypeCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t\torigin: \"onboarding\" | \"table\";\n\t}\n>;\n\ntype CustomTypeSliceZoneUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_sliceZoneUpdated,\n\t{ customTypeId: string }\n>;\n\ntype CustomTypeOpenAddFromTemplatesEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_openAddFromTemplates,\n\t{ customTypeId: string; customTypeFormat: CustomTypeFormat }\n>;\n\ntype CustomTypeSavedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_saved,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t}\n>;\n\ntype SliceCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.slice_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tlibrary: string;\n\t\tlocation: \"custom_type\" | \"page_type\" | \"slices\";\n\t} & (\n\t\t| { mode: \"ai\"; langSmithUrl?: string }\n\t\t| { mode: \"manual\" }\n\t\t| { mode: \"template\"; sliceTemplate: string }\n\t)\n>;\n\ntype LegacySliceConvertedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.legacySlice_converted,\n\t{\n\t\tid: string;\n\t\tvariation: string;\n\t\tlibrary: string;\n\t\tconversionType:\n\t\t\t| \"as_new_slice\"\n\t\t\t| \"as_new_variation\"\n\t\t\t| \"merge_with_identical\";\n\t}\n>;\n\ntype ScreenshotTakenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.screenshotTaken,\n\t{\n\t\ttype: \"custom\";\n\t\tmethod: \"upload\" | \"dragAndDrop\";\n\t}\n>;\n\ntype ChangesPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_pushed,\n\t{\n\t\tcustomTypesCreated: number;\n\t\tcustomTypesModified: number;\n\t\tcustomTypesDeleted: number;\n\t\tslicesCreated: number;\n\t\tslicesModified: number;\n\t\tslicesDeleted: number;\n\t\tmissingScreenshots: number;\n\t\ttotal: number;\n\t\tduration: number;\n\t\thasDeletedDocuments: boolean;\n\t}\n>;\n\ntype ChangesGroupPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_groupPushed,\n\t{\n\t\tisInStaticZone: boolean;\n\t\tisInSlice: boolean;\n\t} & {\n\t\t[key in FieldType]?: number;\n\t}\n>;\n\ntype ChangesLimitReachSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_limitReach,\n\t{ limitType: PushChangesLimitType }\n>;\n\ntype EditorWidgetUsedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.editor_widgetUsed,\n\t{ sliceId: string }\n>;\n\ntype DevCollabJoinBetaClicked = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_joinBetaClicked\n>;\n\ntype DevCollabSetUpWorkflowOpened = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_setUpWorkflowOpened\n>;\n\ntype DevCollabWorkflowStubDisplayed = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_workflowStubDisplayed\n>;\n\ntype SliceMachineStart = SegmentEvent<\n\ttypeof SegmentEventType.sliceMachine_start,\n\t{\n\t\tadapter?: string;\n\t\tadapterVersion?: string;\n\t\tgitProvider?: string;\n\t\tisAdapterUpdateAvailable?: boolean;\n\t\tisLoggedIn?: boolean;\n\t\tisSliceMachineUpdateAvailable?: boolean;\n\t\tisTypeScriptProject?: boolean;\n\t\tnodeVersion?: string;\n\t\tnumberOfCustomTypes?: number;\n\t\tnumberOfSlices?: number;\n\t\tosPlatform?: string;\n\t\tpackageManager?: string;\n\t\tprojectPort?: string;\n\t\tsliceMachineVersion?: string;\n\t\tversionControlSystem?: string;\n\t}\n>;\n\ntype OnboardingCommonPayload = { stepId: string; stepTitle: string };\ntype SharedOnboardingProperties<T = Record<string, string>> = T & {\n\tsource: \"SliceMachine\";\n};\n\ntype SliceMachineSharedOnboardingStepOpened = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_opened,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingStepCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_completed,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_completed,\n\tSharedOnboardingProperties\n>;\ntype SliceMachineSharedOnboardingTutorial = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_tutorial,\n\tSharedOnboardingProperties\n>;\ntype SliceMachinePostPushEmptyStateCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_emptyStateCtaClicked\n>;\n\ntype SliceMachinePostPushToastCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_toastCtaClicked\n>;\n\ntype SliceMachineExperimentExposure = SegmentEvent<\n\ttypeof SegmentEventType.experiment_exposure,\n\t{\n\t\tflag_key: string;\n\t\tvariant: string;\n\t}\n>;\n\ntype SliceGenerationFeedback = SegmentEvent<\n\ttypeof SegmentEventType.sliceGenerationFeedback,\n\t{\n\t\ttype: \"model\";\n\t\tsliceId: string;\n\t\tvariationId: string;\n\t\tfeedback: \"up\" | \"down\";\n\t\tlangSmithUrl?: string;\n\t}\n>;\n\ntype NavigationDocumentationLinkClicked = SegmentEvent<\n\ttypeof SegmentEventType.navigation_documentationLinkClicked,\n\t{\n\t\tframework: string;\n\t}\n>;\n\nexport type SegmentEvents =\n\t| CommandInitStartSegmentEvent\n\t| CommandInitIdentifySegmentEvent\n\t| CommandInitEndSegmentEvent\n\t| ReviewSegmentEvent\n\t| SliceSimulatorOpenSegmentEvent\n\t| SliceSimulatorIsNotRunningSegmentEvent\n\t| PageViewSegmentEvent\n\t| OpenVideoTutorialsSegmentEvent\n\t| FieldAddedSegmentEvent\n\t| FieldUpdatedSegmentEvent\n\t| FieldSettingsOpenedSegmentEvent\n\t| CustomTypeCreatedSegmentEvent\n\t| CustomTypeSliceZoneUpdatedSegmentEvent\n\t| CustomTypeOpenAddFromTemplatesEvent\n\t| CustomTypeSavedSegmentEvent\n\t| SliceCreatedSegmentEvent\n\t| LegacySliceConvertedSegmentEvent\n\t| ScreenshotTakenSegmentEvent\n\t| ChangesPushedSegmentEvent\n\t| ChangesGroupPushedSegmentEvent\n\t| ChangesLimitReachSegmentEvent\n\t| EditorWidgetUsedSegmentEvent\n\t| OpenPageSnippetSegmentEvent\n\t| CopyPageSnippetSegmentEvent\n\t| SwitchEnvironmentSegmentEvent\n\t| DevCollabJoinBetaClicked\n\t| DevCollabSetUpWorkflowOpened\n\t| DevCollabWorkflowStubDisplayed\n\t| SliceMachineStart\n\t| SliceMachineSharedOnboardingStepOpened\n\t| SliceMachineSharedOnboardingStepCompleted\n\t| SliceMachineSharedOnboardingCompleted\n\t| SliceMachineSharedOnboardingTutorial\n\t| SliceMachinePostPushEmptyStateCtaClicked\n\t| SliceMachinePostPushToastCtaClicked\n\t| SliceMachineExperimentExposure\n\t| SliceGenerationFeedback\n\t| NavigationDocumentationLinkClicked;\n"],"names":[],"mappings":"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"}
@@ -32,8 +32,6 @@ export declare const SegmentEventType: {
32
32
  readonly devCollab_setUpWorkflowOpened: "dev-collab:set-up-workflow-opened";
33
33
  readonly devCollab_workflowStubDisplayed: "dev-collab:workflow-stub-displayed";
34
34
  readonly sliceMachine_start: "slice-machine:start";
35
- readonly sliceLibrary_beta_modalOpened: "slice-library:beta:modal-opened";
36
- readonly sliceLibrary_beta_codeOpened: "slice-library:beta:code-opened";
37
35
  readonly postPush_emptyStateCtaClicked: "post-push:empty-state-cta-clicked";
38
36
  readonly postPush_toastCtaClicked: "post-push:toast-cta-clicked";
39
37
  readonly experiment_exposure: "experiment:exposure";
@@ -42,6 +40,7 @@ export declare const SegmentEventType: {
42
40
  readonly sharedOnboarding_completed: "shared-onboarding:completed";
43
41
  readonly sharedOnboarding_tutorial: "shared-onboarding:follow-tutorial";
44
42
  readonly sliceGenerationFeedback: "slice-generation-feedback";
43
+ readonly navigation_documentationLinkClicked: "navigation:documentation-link-clicked";
45
44
  };
46
45
  type SegmentEventTypes = (typeof SegmentEventType)[keyof typeof SegmentEventType];
47
46
  export declare const HumanSegmentEventType: {
@@ -74,8 +73,6 @@ export declare const HumanSegmentEventType: {
74
73
  readonly "dev-collab:set-up-workflow-opened": "SliceMachine Dev Collab Set Up Workflow Opened";
75
74
  readonly "dev-collab:workflow-stub-displayed": "SliceMachine Dev Collab Workflow Stub Displayed";
76
75
  readonly "slice-machine:start": "SliceMachine Start";
77
- readonly "slice-library:beta:modal-opened": "SliceMachine Slice Library [BETA] CTA modal displayed";
78
- readonly "slice-library:beta:code-opened": "SliceMachine Slice Library [BETA] CTA example code opened";
79
76
  readonly "post-push:empty-state-cta-clicked": "SliceMachine Post Push Empty State CTA Clicked";
80
77
  readonly "post-push:toast-cta-clicked": "SliceMachine Post Push Toast CTA Clicked";
81
78
  readonly "experiment:exposure": "$exposure";
@@ -84,6 +81,7 @@ export declare const HumanSegmentEventType: {
84
81
  readonly "shared-onboarding:completed": "Prismic Onboarding Guide Completed";
85
82
  readonly "shared-onboarding:follow-tutorial": "Prismic Onboarding Guide Follow Tutorial";
86
83
  readonly "slice-generation-feedback": "Slice Generation Feedback";
84
+ readonly "navigation:documentation-link-clicked": "SliceMachine Documentation Link Clicked";
87
85
  };
88
86
  export type HumanSegmentEventTypes = (typeof HumanSegmentEventType)[keyof typeof HumanSegmentEventType];
89
87
  type SegmentEvent<TType extends SegmentEventTypes, TProperties extends Record<string, unknown> | void = void> = TProperties extends void ? {
@@ -248,8 +246,6 @@ type SliceMachineStart = SegmentEvent<typeof SegmentEventType.sliceMachine_start
248
246
  sliceMachineVersion?: string;
249
247
  versionControlSystem?: string;
250
248
  }>;
251
- type SliceLibraryBetaModalOpened = SegmentEvent<typeof SegmentEventType.sliceLibrary_beta_modalOpened>;
252
- type SliceLibraryBetaCodeOpened = SegmentEvent<typeof SegmentEventType.sliceLibrary_beta_codeOpened>;
253
249
  type OnboardingCommonPayload = {
254
250
  stepId: string;
255
251
  stepTitle: string;
@@ -274,4 +270,7 @@ type SliceGenerationFeedback = SegmentEvent<typeof SegmentEventType.sliceGenerat
274
270
  feedback: "up" | "down";
275
271
  langSmithUrl?: string;
276
272
  }>;
277
- export type SegmentEvents = CommandInitStartSegmentEvent | CommandInitIdentifySegmentEvent | CommandInitEndSegmentEvent | ReviewSegmentEvent | SliceSimulatorOpenSegmentEvent | SliceSimulatorIsNotRunningSegmentEvent | PageViewSegmentEvent | OpenVideoTutorialsSegmentEvent | FieldAddedSegmentEvent | FieldUpdatedSegmentEvent | FieldSettingsOpenedSegmentEvent | CustomTypeCreatedSegmentEvent | CustomTypeSliceZoneUpdatedSegmentEvent | CustomTypeOpenAddFromTemplatesEvent | CustomTypeSavedSegmentEvent | SliceCreatedSegmentEvent | LegacySliceConvertedSegmentEvent | ScreenshotTakenSegmentEvent | ChangesPushedSegmentEvent | ChangesGroupPushedSegmentEvent | ChangesLimitReachSegmentEvent | EditorWidgetUsedSegmentEvent | OpenPageSnippetSegmentEvent | CopyPageSnippetSegmentEvent | SwitchEnvironmentSegmentEvent | DevCollabJoinBetaClicked | DevCollabSetUpWorkflowOpened | DevCollabWorkflowStubDisplayed | SliceMachineStart | SliceLibraryBetaModalOpened | SliceLibraryBetaCodeOpened | SliceMachineSharedOnboardingStepOpened | SliceMachineSharedOnboardingStepCompleted | SliceMachineSharedOnboardingCompleted | SliceMachineSharedOnboardingTutorial | SliceMachinePostPushEmptyStateCtaClicked | SliceMachinePostPushToastCtaClicked | SliceMachineExperimentExposure | SliceGenerationFeedback;
273
+ type NavigationDocumentationLinkClicked = SegmentEvent<typeof SegmentEventType.navigation_documentationLinkClicked, {
274
+ framework: string;
275
+ }>;
276
+ export type SegmentEvents = CommandInitStartSegmentEvent | CommandInitIdentifySegmentEvent | CommandInitEndSegmentEvent | ReviewSegmentEvent | SliceSimulatorOpenSegmentEvent | SliceSimulatorIsNotRunningSegmentEvent | PageViewSegmentEvent | OpenVideoTutorialsSegmentEvent | FieldAddedSegmentEvent | FieldUpdatedSegmentEvent | FieldSettingsOpenedSegmentEvent | CustomTypeCreatedSegmentEvent | CustomTypeSliceZoneUpdatedSegmentEvent | CustomTypeOpenAddFromTemplatesEvent | CustomTypeSavedSegmentEvent | SliceCreatedSegmentEvent | LegacySliceConvertedSegmentEvent | ScreenshotTakenSegmentEvent | ChangesPushedSegmentEvent | ChangesGroupPushedSegmentEvent | ChangesLimitReachSegmentEvent | EditorWidgetUsedSegmentEvent | OpenPageSnippetSegmentEvent | CopyPageSnippetSegmentEvent | SwitchEnvironmentSegmentEvent | DevCollabJoinBetaClicked | DevCollabSetUpWorkflowOpened | DevCollabWorkflowStubDisplayed | SliceMachineStart | SliceMachineSharedOnboardingStepOpened | SliceMachineSharedOnboardingStepCompleted | SliceMachineSharedOnboardingCompleted | SliceMachineSharedOnboardingTutorial | SliceMachinePostPushEmptyStateCtaClicked | SliceMachinePostPushToastCtaClicked | SliceMachineExperimentExposure | SliceGenerationFeedback | NavigationDocumentationLinkClicked;
@@ -28,8 +28,6 @@ const SegmentEventType = {
28
28
  devCollab_setUpWorkflowOpened: "dev-collab:set-up-workflow-opened",
29
29
  devCollab_workflowStubDisplayed: "dev-collab:workflow-stub-displayed",
30
30
  sliceMachine_start: "slice-machine:start",
31
- sliceLibrary_beta_modalOpened: "slice-library:beta:modal-opened",
32
- sliceLibrary_beta_codeOpened: "slice-library:beta:code-opened",
33
31
  postPush_emptyStateCtaClicked: "post-push:empty-state-cta-clicked",
34
32
  postPush_toastCtaClicked: "post-push:toast-cta-clicked",
35
33
  experiment_exposure: "experiment:exposure",
@@ -37,7 +35,8 @@ const SegmentEventType = {
37
35
  sharedOnboarding_step_completed: "shared-onboarding:step-completed",
38
36
  sharedOnboarding_completed: "shared-onboarding:completed",
39
37
  sharedOnboarding_tutorial: "shared-onboarding:follow-tutorial",
40
- sliceGenerationFeedback: "slice-generation-feedback"
38
+ sliceGenerationFeedback: "slice-generation-feedback",
39
+ navigation_documentationLinkClicked: "navigation:documentation-link-clicked"
41
40
  };
42
41
  const HumanSegmentEventType = {
43
42
  [SegmentEventType.command_init_start]: "SliceMachine Init Start",
@@ -69,8 +68,6 @@ const HumanSegmentEventType = {
69
68
  [SegmentEventType.devCollab_setUpWorkflowOpened]: "SliceMachine Dev Collab Set Up Workflow Opened",
70
69
  [SegmentEventType.devCollab_workflowStubDisplayed]: "SliceMachine Dev Collab Workflow Stub Displayed",
71
70
  [SegmentEventType.sliceMachine_start]: "SliceMachine Start",
72
- [SegmentEventType.sliceLibrary_beta_modalOpened]: "SliceMachine Slice Library [BETA] CTA modal displayed",
73
- [SegmentEventType.sliceLibrary_beta_codeOpened]: "SliceMachine Slice Library [BETA] CTA example code opened",
74
71
  [SegmentEventType.postPush_emptyStateCtaClicked]: "SliceMachine Post Push Empty State CTA Clicked",
75
72
  [SegmentEventType.postPush_toastCtaClicked]: "SliceMachine Post Push Toast CTA Clicked",
76
73
  [SegmentEventType.experiment_exposure]: "$exposure",
@@ -78,7 +75,8 @@ const HumanSegmentEventType = {
78
75
  [SegmentEventType.sharedOnboarding_step_opened]: "Prismic Onboarding Guide Step Open",
79
76
  [SegmentEventType.sharedOnboarding_completed]: "Prismic Onboarding Guide Completed",
80
77
  [SegmentEventType.sharedOnboarding_tutorial]: "Prismic Onboarding Guide Follow Tutorial",
81
- [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback"
78
+ [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback",
79
+ [SegmentEventType.navigation_documentationLinkClicked]: "SliceMachine Documentation Link Clicked"
82
80
  };
83
81
  export {
84
82
  HumanSegmentEventType,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/managers/telemetry/types.ts"],"sourcesContent":["import { FieldType } from \"@prismicio/types-internal/lib/customtypes/widgets\";\n\nimport { CustomTypeFormat } from \"../customTypes/types\";\nimport type { PushChangesLimitType } from \"../prismicRepository/types\";\n\nexport type { Variant } from \"@amplitude/experiment-node-server\";\n\nexport const SegmentEventType = {\n\tcommand_init_start: \"command:init:start\",\n\tcommand_init_identify: \"command:init:identify\",\n\tcommand_init_end: \"command:init:end\",\n\treview: \"review\",\n\tsliceSimulator_open: \"slice-simulator:open\",\n\tsliceSimulator_isNotRunning: \"slice-simulator:is-not-running\",\n\tpageView: \"page-view\",\n\topenVideoTutorials: \"open-video-tutorials\",\n\tfield_added: \"field:added\",\n\tfield_updated: \"field:updated\",\n\tfield_settingsOpened: \"field:settings-opened\",\n\tcustomType_created: \"custom-type:created\",\n\tcustomType_sliceZoneUpdated: \"custom-type:slice-zone-updated\",\n\tcustomType_openAddFromTemplates: \"custom-type:open-add-from-templates\",\n\tcustomType_saved: \"custom-type:saved\",\n\tslice_created: \"slice:created\",\n\tlegacySlice_converted: \"legacy-slice:converted\",\n\tscreenshotTaken: \"screenshot-taken\",\n\tchanges_pushed: \"changes:pushed\",\n\tchanges_groupPushed: \"changes:group-pushed\",\n\tchanges_limitReach: \"changes:limit-reach\",\n\teditor_widgetUsed: \"editor:widget-used\",\n\topen_page_snippet: \"page-type:open-snippet\",\n\tcopy_page_snippet: \"page-type:copy-snippet\",\n\tswitch_environment: \"environment:switch\",\n\tdevCollab_joinBetaClicked: \"dev-collab:join-beta-clicked\",\n\tdevCollab_setUpWorkflowOpened: \"dev-collab:set-up-workflow-opened\",\n\tdevCollab_workflowStubDisplayed: \"dev-collab:workflow-stub-displayed\",\n\tsliceMachine_start: \"slice-machine:start\",\n\tsliceLibrary_beta_modalOpened: \"slice-library:beta:modal-opened\",\n\tsliceLibrary_beta_codeOpened: \"slice-library:beta:code-opened\",\n\tpostPush_emptyStateCtaClicked: \"post-push:empty-state-cta-clicked\",\n\tpostPush_toastCtaClicked: \"post-push:toast-cta-clicked\",\n\texperiment_exposure: \"experiment:exposure\",\n\tsharedOnboarding_step_opened: \"shared-onboarding:step-opened\",\n\tsharedOnboarding_step_completed: \"shared-onboarding:step-completed\",\n\tsharedOnboarding_completed: \"shared-onboarding:completed\",\n\tsharedOnboarding_tutorial: \"shared-onboarding:follow-tutorial\",\n\tsliceGenerationFeedback: \"slice-generation-feedback\",\n} as const;\ntype SegmentEventTypes =\n\t(typeof SegmentEventType)[keyof typeof SegmentEventType];\n\nexport const HumanSegmentEventType = {\n\t[SegmentEventType.command_init_start]: \"SliceMachine Init Start\",\n\t[SegmentEventType.command_init_identify]: \"SliceMachine Init Identify\",\n\t[SegmentEventType.command_init_end]: \"SliceMachine Init End\",\n\t[SegmentEventType.review]: \"SliceMachine Review\",\n\t[SegmentEventType.sliceSimulator_open]: \"SliceMachine Slice Simulator Open\",\n\t[SegmentEventType.sliceSimulator_isNotRunning]:\n\t\t\"SliceMachine Slice Simulator is not running\",\n\t[SegmentEventType.pageView]: \"SliceMachine Page View\",\n\t[SegmentEventType.openVideoTutorials]: \"SliceMachine Open Video Tutorials\",\n\t[SegmentEventType.field_added]: \"SliceMachine Field Added\",\n\t[SegmentEventType.field_updated]: \"SliceMachine Field Updated\",\n\t[SegmentEventType.field_settingsOpened]: \"SliceMachine Field Settings Opened\",\n\t[SegmentEventType.customType_created]: \"SliceMachine Custom Type Created\",\n\t[SegmentEventType.customType_sliceZoneUpdated]:\n\t\t\"SliceMachine Slicezone Updated\",\n\t[SegmentEventType.customType_openAddFromTemplates]:\n\t\t\"SliceMachine Open Add from templates\",\n\t[SegmentEventType.customType_saved]: \"SliceMachine Custom Type Saved\",\n\t[SegmentEventType.slice_created]: \"SliceMachine Slice Created\",\n\t[SegmentEventType.legacySlice_converted]:\n\t\t\"SliceMachine Legacy Slice Converted\",\n\t[SegmentEventType.screenshotTaken]: \"SliceMachine Screenshot Taken\",\n\t[SegmentEventType.changes_pushed]: \"SliceMachine Changes Pushed\",\n\t[SegmentEventType.changes_groupPushed]: \"SliceMachine Group Field Pushed\",\n\t[SegmentEventType.changes_limitReach]: \"SliceMachine Changes Limit Reach\",\n\t[SegmentEventType.editor_widgetUsed]: \"SliceMachine Editor Widget Used\",\n\t[SegmentEventType.open_page_snippet]:\n\t\t\"SliceMachine Opens Page Type Snippet Dialog\",\n\t[SegmentEventType.copy_page_snippet]:\n\t\t\"Slice Machine page code snippet copied\",\n\t[SegmentEventType.switch_environment]: \"SliceMachine environment switch\",\n\t[SegmentEventType.devCollab_joinBetaClicked]:\n\t\t\"SliceMachine Dev Collab Join Beta Clicked\",\n\t[SegmentEventType.devCollab_setUpWorkflowOpened]:\n\t\t\"SliceMachine Dev Collab Set Up Workflow Opened\",\n\t[SegmentEventType.devCollab_workflowStubDisplayed]:\n\t\t\"SliceMachine Dev Collab Workflow Stub Displayed\",\n\t[SegmentEventType.sliceMachine_start]: \"SliceMachine Start\",\n\t[SegmentEventType.sliceLibrary_beta_modalOpened]:\n\t\t\"SliceMachine Slice Library [BETA] CTA modal displayed\",\n\t[SegmentEventType.sliceLibrary_beta_codeOpened]:\n\t\t\"SliceMachine Slice Library [BETA] CTA example code opened\",\n\t[SegmentEventType.postPush_emptyStateCtaClicked]:\n\t\t\"SliceMachine Post Push Empty State CTA Clicked\",\n\t[SegmentEventType.postPush_toastCtaClicked]:\n\t\t\"SliceMachine Post Push Toast CTA Clicked\",\n\t[SegmentEventType.experiment_exposure]: \"$exposure\",\n\t[SegmentEventType.sharedOnboarding_step_completed]:\n\t\t\"Prismic Onboarding Guide Step Completed\",\n\t[SegmentEventType.sharedOnboarding_step_opened]:\n\t\t\"Prismic Onboarding Guide Step Open\",\n\t[SegmentEventType.sharedOnboarding_completed]:\n\t\t\"Prismic Onboarding Guide Completed\",\n\t[SegmentEventType.sharedOnboarding_tutorial]:\n\t\t\"Prismic Onboarding Guide Follow Tutorial\",\n\t[SegmentEventType.sliceGenerationFeedback]: \"Slice Generation Feedback\",\n} as const;\n\nexport type HumanSegmentEventTypes =\n\t(typeof HumanSegmentEventType)[keyof typeof HumanSegmentEventType];\n\ntype SegmentEvent<\n\tTType extends SegmentEventTypes,\n\tTProperties extends Record<string, unknown> | void = void,\n> = TProperties extends void\n\t? {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t }\n\t: {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t } & TProperties;\n\ntype CommandInitStartSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_start\n>;\n\n// This event feels off, we have a dedicated `identify` method...\ntype CommandInitIdentifySegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_identify\n>;\n\ntype CommandInitEndSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_end,\n\t{ framework: string; success: boolean; error?: string }\n>;\n\ntype ReviewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.review,\n\t{\n\t\trating: number;\n\t\tcomment: string;\n\t\ttype: \"onboarding\";\n\t}\n>;\n\ntype SliceSimulatorOpenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_open\n>;\n\ntype SliceSimulatorIsNotRunningSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_isNotRunning\n>;\n\ntype PageViewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.pageView,\n\t{\n\t\turl: string;\n\t\tpath: string;\n\t\tsearch: string;\n\t\ttitle: string;\n\t\treferrer: string;\n\t\tadapter: string;\n\t\t/*\n\t\t * We are tracking outer sizes instead of inner sizes as with the latter, we\n\t\t * can't differentiate between users with a high-density screen and those\n\t\t * zooming in/out with ⌘ + / ⌘ -. Indeed, when users zoom in/out, some\n\t\t * browsers (like Google Chrome) will update `window.devicePixelRatio` while\n\t\t * others (like Safari) will keep it unchanged so that it always reflects\n\t\t * the ratio of physical pixels to CSS pixels.\n\t\t */\n\t\touterWidth: number;\n\t\touterHeight: number;\n\t\tscreenWidth: number;\n\t\tscreenHeight: number;\n\t}\n>;\n\ntype OpenPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.open_page_snippet,\n\t{ framework: string }\n>;\n\ntype CopyPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.copy_page_snippet,\n\t{ framework: string }\n>;\n\ntype SwitchEnvironmentSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.switch_environment,\n\t{ domain: string }\n>;\n\ntype OpenVideoTutorialsSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.openVideoTutorials,\n\t{ video: string }\n>;\n\ntype FieldAddedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_added,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_updated,\n\t{\n\t\tpreviousId: string;\n\t\tid: string;\n\t\tidUpdated: boolean;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldSettingsOpenedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_settingsOpened,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t}\n>;\n\ntype CustomTypeCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t\torigin: \"onboarding\" | \"table\";\n\t}\n>;\n\ntype CustomTypeSliceZoneUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_sliceZoneUpdated,\n\t{ customTypeId: string }\n>;\n\ntype CustomTypeOpenAddFromTemplatesEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_openAddFromTemplates,\n\t{ customTypeId: string; customTypeFormat: CustomTypeFormat }\n>;\n\ntype CustomTypeSavedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_saved,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t}\n>;\n\ntype SliceCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.slice_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tlibrary: string;\n\t\tlocation: \"custom_type\" | \"page_type\" | \"slices\";\n\t} & (\n\t\t| { mode: \"ai\"; langSmithUrl?: string }\n\t\t| { mode: \"manual\" }\n\t\t| { mode: \"template\"; sliceTemplate: string }\n\t)\n>;\n\ntype LegacySliceConvertedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.legacySlice_converted,\n\t{\n\t\tid: string;\n\t\tvariation: string;\n\t\tlibrary: string;\n\t\tconversionType:\n\t\t\t| \"as_new_slice\"\n\t\t\t| \"as_new_variation\"\n\t\t\t| \"merge_with_identical\";\n\t}\n>;\n\ntype ScreenshotTakenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.screenshotTaken,\n\t{\n\t\ttype: \"custom\";\n\t\tmethod: \"upload\" | \"dragAndDrop\";\n\t}\n>;\n\ntype ChangesPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_pushed,\n\t{\n\t\tcustomTypesCreated: number;\n\t\tcustomTypesModified: number;\n\t\tcustomTypesDeleted: number;\n\t\tslicesCreated: number;\n\t\tslicesModified: number;\n\t\tslicesDeleted: number;\n\t\tmissingScreenshots: number;\n\t\ttotal: number;\n\t\tduration: number;\n\t\thasDeletedDocuments: boolean;\n\t}\n>;\n\ntype ChangesGroupPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_groupPushed,\n\t{\n\t\tisInStaticZone: boolean;\n\t\tisInSlice: boolean;\n\t} & {\n\t\t[key in FieldType]?: number;\n\t}\n>;\n\ntype ChangesLimitReachSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_limitReach,\n\t{ limitType: PushChangesLimitType }\n>;\n\ntype EditorWidgetUsedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.editor_widgetUsed,\n\t{ sliceId: string }\n>;\n\ntype DevCollabJoinBetaClicked = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_joinBetaClicked\n>;\n\ntype DevCollabSetUpWorkflowOpened = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_setUpWorkflowOpened\n>;\n\ntype DevCollabWorkflowStubDisplayed = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_workflowStubDisplayed\n>;\n\ntype SliceMachineStart = SegmentEvent<\n\ttypeof SegmentEventType.sliceMachine_start,\n\t{\n\t\tadapter?: string;\n\t\tadapterVersion?: string;\n\t\tgitProvider?: string;\n\t\tisAdapterUpdateAvailable?: boolean;\n\t\tisLoggedIn?: boolean;\n\t\tisSliceMachineUpdateAvailable?: boolean;\n\t\tisTypeScriptProject?: boolean;\n\t\tnodeVersion?: string;\n\t\tnumberOfCustomTypes?: number;\n\t\tnumberOfSlices?: number;\n\t\tosPlatform?: string;\n\t\tpackageManager?: string;\n\t\tprojectPort?: string;\n\t\tsliceMachineVersion?: string;\n\t\tversionControlSystem?: string;\n\t}\n>;\n\ntype SliceLibraryBetaModalOpened = SegmentEvent<\n\ttypeof SegmentEventType.sliceLibrary_beta_modalOpened\n>;\n\ntype SliceLibraryBetaCodeOpened = SegmentEvent<\n\ttypeof SegmentEventType.sliceLibrary_beta_codeOpened\n>;\n\ntype OnboardingCommonPayload = { stepId: string; stepTitle: string };\ntype SharedOnboardingProperties<T = Record<string, string>> = T & {\n\tsource: \"SliceMachine\";\n};\n\ntype SliceMachineSharedOnboardingStepOpened = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_opened,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingStepCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_completed,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_completed,\n\tSharedOnboardingProperties\n>;\ntype SliceMachineSharedOnboardingTutorial = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_tutorial,\n\tSharedOnboardingProperties\n>;\ntype SliceMachinePostPushEmptyStateCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_emptyStateCtaClicked\n>;\n\ntype SliceMachinePostPushToastCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_toastCtaClicked\n>;\n\ntype SliceMachineExperimentExposure = SegmentEvent<\n\ttypeof SegmentEventType.experiment_exposure,\n\t{\n\t\tflag_key: string;\n\t\tvariant: string;\n\t}\n>;\n\ntype SliceGenerationFeedback = SegmentEvent<\n\ttypeof SegmentEventType.sliceGenerationFeedback,\n\t{\n\t\ttype: \"model\";\n\t\tsliceId: string;\n\t\tvariationId: string;\n\t\tfeedback: \"up\" | \"down\";\n\t\tlangSmithUrl?: string;\n\t}\n>;\n\nexport type SegmentEvents =\n\t| CommandInitStartSegmentEvent\n\t| CommandInitIdentifySegmentEvent\n\t| CommandInitEndSegmentEvent\n\t| ReviewSegmentEvent\n\t| SliceSimulatorOpenSegmentEvent\n\t| SliceSimulatorIsNotRunningSegmentEvent\n\t| PageViewSegmentEvent\n\t| OpenVideoTutorialsSegmentEvent\n\t| FieldAddedSegmentEvent\n\t| FieldUpdatedSegmentEvent\n\t| FieldSettingsOpenedSegmentEvent\n\t| CustomTypeCreatedSegmentEvent\n\t| CustomTypeSliceZoneUpdatedSegmentEvent\n\t| CustomTypeOpenAddFromTemplatesEvent\n\t| CustomTypeSavedSegmentEvent\n\t| SliceCreatedSegmentEvent\n\t| LegacySliceConvertedSegmentEvent\n\t| ScreenshotTakenSegmentEvent\n\t| ChangesPushedSegmentEvent\n\t| ChangesGroupPushedSegmentEvent\n\t| ChangesLimitReachSegmentEvent\n\t| EditorWidgetUsedSegmentEvent\n\t| OpenPageSnippetSegmentEvent\n\t| CopyPageSnippetSegmentEvent\n\t| SwitchEnvironmentSegmentEvent\n\t| DevCollabJoinBetaClicked\n\t| DevCollabSetUpWorkflowOpened\n\t| DevCollabWorkflowStubDisplayed\n\t| SliceMachineStart\n\t| SliceLibraryBetaModalOpened\n\t| SliceLibraryBetaCodeOpened\n\t| SliceMachineSharedOnboardingStepOpened\n\t| SliceMachineSharedOnboardingStepCompleted\n\t| SliceMachineSharedOnboardingCompleted\n\t| SliceMachineSharedOnboardingTutorial\n\t| SliceMachinePostPushEmptyStateCtaClicked\n\t| SliceMachinePostPushToastCtaClicked\n\t| SliceMachineExperimentExposure\n\t| SliceGenerationFeedback;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/managers/telemetry/types.ts"],"sourcesContent":["import { FieldType } from \"@prismicio/types-internal/lib/customtypes/widgets\";\n\nimport { CustomTypeFormat } from \"../customTypes/types\";\nimport type { PushChangesLimitType } from \"../prismicRepository/types\";\n\nexport type { Variant } from \"@amplitude/experiment-node-server\";\n\nexport const SegmentEventType = {\n\tcommand_init_start: \"command:init:start\",\n\tcommand_init_identify: \"command:init:identify\",\n\tcommand_init_end: \"command:init:end\",\n\treview: \"review\",\n\tsliceSimulator_open: \"slice-simulator:open\",\n\tsliceSimulator_isNotRunning: \"slice-simulator:is-not-running\",\n\tpageView: \"page-view\",\n\topenVideoTutorials: \"open-video-tutorials\",\n\tfield_added: \"field:added\",\n\tfield_updated: \"field:updated\",\n\tfield_settingsOpened: \"field:settings-opened\",\n\tcustomType_created: \"custom-type:created\",\n\tcustomType_sliceZoneUpdated: \"custom-type:slice-zone-updated\",\n\tcustomType_openAddFromTemplates: \"custom-type:open-add-from-templates\",\n\tcustomType_saved: \"custom-type:saved\",\n\tslice_created: \"slice:created\",\n\tlegacySlice_converted: \"legacy-slice:converted\",\n\tscreenshotTaken: \"screenshot-taken\",\n\tchanges_pushed: \"changes:pushed\",\n\tchanges_groupPushed: \"changes:group-pushed\",\n\tchanges_limitReach: \"changes:limit-reach\",\n\teditor_widgetUsed: \"editor:widget-used\",\n\topen_page_snippet: \"page-type:open-snippet\",\n\tcopy_page_snippet: \"page-type:copy-snippet\",\n\tswitch_environment: \"environment:switch\",\n\tdevCollab_joinBetaClicked: \"dev-collab:join-beta-clicked\",\n\tdevCollab_setUpWorkflowOpened: \"dev-collab:set-up-workflow-opened\",\n\tdevCollab_workflowStubDisplayed: \"dev-collab:workflow-stub-displayed\",\n\tsliceMachine_start: \"slice-machine:start\",\n\tpostPush_emptyStateCtaClicked: \"post-push:empty-state-cta-clicked\",\n\tpostPush_toastCtaClicked: \"post-push:toast-cta-clicked\",\n\texperiment_exposure: \"experiment:exposure\",\n\tsharedOnboarding_step_opened: \"shared-onboarding:step-opened\",\n\tsharedOnboarding_step_completed: \"shared-onboarding:step-completed\",\n\tsharedOnboarding_completed: \"shared-onboarding:completed\",\n\tsharedOnboarding_tutorial: \"shared-onboarding:follow-tutorial\",\n\tsliceGenerationFeedback: \"slice-generation-feedback\",\n\tnavigation_documentationLinkClicked: \"navigation:documentation-link-clicked\",\n} as const;\ntype SegmentEventTypes =\n\t(typeof SegmentEventType)[keyof typeof SegmentEventType];\n\nexport const HumanSegmentEventType = {\n\t[SegmentEventType.command_init_start]: \"SliceMachine Init Start\",\n\t[SegmentEventType.command_init_identify]: \"SliceMachine Init Identify\",\n\t[SegmentEventType.command_init_end]: \"SliceMachine Init End\",\n\t[SegmentEventType.review]: \"SliceMachine Review\",\n\t[SegmentEventType.sliceSimulator_open]: \"SliceMachine Slice Simulator Open\",\n\t[SegmentEventType.sliceSimulator_isNotRunning]:\n\t\t\"SliceMachine Slice Simulator is not running\",\n\t[SegmentEventType.pageView]: \"SliceMachine Page View\",\n\t[SegmentEventType.openVideoTutorials]: \"SliceMachine Open Video Tutorials\",\n\t[SegmentEventType.field_added]: \"SliceMachine Field Added\",\n\t[SegmentEventType.field_updated]: \"SliceMachine Field Updated\",\n\t[SegmentEventType.field_settingsOpened]: \"SliceMachine Field Settings Opened\",\n\t[SegmentEventType.customType_created]: \"SliceMachine Custom Type Created\",\n\t[SegmentEventType.customType_sliceZoneUpdated]:\n\t\t\"SliceMachine Slicezone Updated\",\n\t[SegmentEventType.customType_openAddFromTemplates]:\n\t\t\"SliceMachine Open Add from templates\",\n\t[SegmentEventType.customType_saved]: \"SliceMachine Custom Type Saved\",\n\t[SegmentEventType.slice_created]: \"SliceMachine Slice Created\",\n\t[SegmentEventType.legacySlice_converted]:\n\t\t\"SliceMachine Legacy Slice Converted\",\n\t[SegmentEventType.screenshotTaken]: \"SliceMachine Screenshot Taken\",\n\t[SegmentEventType.changes_pushed]: \"SliceMachine Changes Pushed\",\n\t[SegmentEventType.changes_groupPushed]: \"SliceMachine Group Field Pushed\",\n\t[SegmentEventType.changes_limitReach]: \"SliceMachine Changes Limit Reach\",\n\t[SegmentEventType.editor_widgetUsed]: \"SliceMachine Editor Widget Used\",\n\t[SegmentEventType.open_page_snippet]:\n\t\t\"SliceMachine Opens Page Type Snippet Dialog\",\n\t[SegmentEventType.copy_page_snippet]:\n\t\t\"Slice Machine page code snippet copied\",\n\t[SegmentEventType.switch_environment]: \"SliceMachine environment switch\",\n\t[SegmentEventType.devCollab_joinBetaClicked]:\n\t\t\"SliceMachine Dev Collab Join Beta Clicked\",\n\t[SegmentEventType.devCollab_setUpWorkflowOpened]:\n\t\t\"SliceMachine Dev Collab Set Up Workflow Opened\",\n\t[SegmentEventType.devCollab_workflowStubDisplayed]:\n\t\t\"SliceMachine Dev Collab Workflow Stub Displayed\",\n\t[SegmentEventType.sliceMachine_start]: \"SliceMachine Start\",\n\t[SegmentEventType.postPush_emptyStateCtaClicked]:\n\t\t\"SliceMachine Post Push Empty State CTA Clicked\",\n\t[SegmentEventType.postPush_toastCtaClicked]:\n\t\t\"SliceMachine Post Push Toast CTA Clicked\",\n\t[SegmentEventType.experiment_exposure]: \"$exposure\",\n\t[SegmentEventType.sharedOnboarding_step_completed]:\n\t\t\"Prismic Onboarding Guide Step Completed\",\n\t[SegmentEventType.sharedOnboarding_step_opened]:\n\t\t\"Prismic Onboarding Guide Step Open\",\n\t[SegmentEventType.sharedOnboarding_completed]:\n\t\t\"Prismic Onboarding Guide Completed\",\n\t[SegmentEventType.sharedOnboarding_tutorial]:\n\t\t\"Prismic Onboarding Guide Follow Tutorial\",\n\t[SegmentEventType.sliceGenerationFeedback]: \"Slice Generation Feedback\",\n\t[SegmentEventType.navigation_documentationLinkClicked]:\n\t\t\"SliceMachine Documentation Link Clicked\",\n} as const;\n\nexport type HumanSegmentEventTypes =\n\t(typeof HumanSegmentEventType)[keyof typeof HumanSegmentEventType];\n\ntype SegmentEvent<\n\tTType extends SegmentEventTypes,\n\tTProperties extends Record<string, unknown> | void = void,\n> = TProperties extends void\n\t? {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t }\n\t: {\n\t\t\tevent: TType;\n\t\t\trepository?: string;\n\t } & TProperties;\n\ntype CommandInitStartSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_start\n>;\n\n// This event feels off, we have a dedicated `identify` method...\ntype CommandInitIdentifySegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_identify\n>;\n\ntype CommandInitEndSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.command_init_end,\n\t{ framework: string; success: boolean; error?: string }\n>;\n\ntype ReviewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.review,\n\t{\n\t\trating: number;\n\t\tcomment: string;\n\t\ttype: \"onboarding\";\n\t}\n>;\n\ntype SliceSimulatorOpenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_open\n>;\n\ntype SliceSimulatorIsNotRunningSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.sliceSimulator_isNotRunning\n>;\n\ntype PageViewSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.pageView,\n\t{\n\t\turl: string;\n\t\tpath: string;\n\t\tsearch: string;\n\t\ttitle: string;\n\t\treferrer: string;\n\t\tadapter: string;\n\t\t/*\n\t\t * We are tracking outer sizes instead of inner sizes as with the latter, we\n\t\t * can't differentiate between users with a high-density screen and those\n\t\t * zooming in/out with ⌘ + / ⌘ -. Indeed, when users zoom in/out, some\n\t\t * browsers (like Google Chrome) will update `window.devicePixelRatio` while\n\t\t * others (like Safari) will keep it unchanged so that it always reflects\n\t\t * the ratio of physical pixels to CSS pixels.\n\t\t */\n\t\touterWidth: number;\n\t\touterHeight: number;\n\t\tscreenWidth: number;\n\t\tscreenHeight: number;\n\t}\n>;\n\ntype OpenPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.open_page_snippet,\n\t{ framework: string }\n>;\n\ntype CopyPageSnippetSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.copy_page_snippet,\n\t{ framework: string }\n>;\n\ntype SwitchEnvironmentSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.switch_environment,\n\t{ domain: string }\n>;\n\ntype OpenVideoTutorialsSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.openVideoTutorials,\n\t{ video: string }\n>;\n\ntype FieldAddedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_added,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_updated,\n\t{\n\t\tpreviousId: string;\n\t\tid: string;\n\t\tidUpdated: boolean;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t\tallowText?: boolean;\n\t\trepeat?: boolean;\n\t\tvariants?: string[];\n\t}\n>;\n\ntype FieldSettingsOpenedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.field_settingsOpened,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\ttype: FieldType;\n\t\tisInAGroup: boolean;\n\t\tcontentType: \"page type\" | \"custom type\" | \"slice\";\n\t}\n>;\n\ntype CustomTypeCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t\torigin: \"onboarding\" | \"table\";\n\t}\n>;\n\ntype CustomTypeSliceZoneUpdatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_sliceZoneUpdated,\n\t{ customTypeId: string }\n>;\n\ntype CustomTypeOpenAddFromTemplatesEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_openAddFromTemplates,\n\t{ customTypeId: string; customTypeFormat: CustomTypeFormat }\n>;\n\ntype CustomTypeSavedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.customType_saved,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tformat: CustomTypeFormat;\n\t\ttype: \"repeatable\" | \"single\";\n\t}\n>;\n\ntype SliceCreatedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.slice_created,\n\t{\n\t\tid: string;\n\t\tname: string;\n\t\tlibrary: string;\n\t\tlocation: \"custom_type\" | \"page_type\" | \"slices\";\n\t} & (\n\t\t| { mode: \"ai\"; langSmithUrl?: string }\n\t\t| { mode: \"manual\" }\n\t\t| { mode: \"template\"; sliceTemplate: string }\n\t)\n>;\n\ntype LegacySliceConvertedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.legacySlice_converted,\n\t{\n\t\tid: string;\n\t\tvariation: string;\n\t\tlibrary: string;\n\t\tconversionType:\n\t\t\t| \"as_new_slice\"\n\t\t\t| \"as_new_variation\"\n\t\t\t| \"merge_with_identical\";\n\t}\n>;\n\ntype ScreenshotTakenSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.screenshotTaken,\n\t{\n\t\ttype: \"custom\";\n\t\tmethod: \"upload\" | \"dragAndDrop\";\n\t}\n>;\n\ntype ChangesPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_pushed,\n\t{\n\t\tcustomTypesCreated: number;\n\t\tcustomTypesModified: number;\n\t\tcustomTypesDeleted: number;\n\t\tslicesCreated: number;\n\t\tslicesModified: number;\n\t\tslicesDeleted: number;\n\t\tmissingScreenshots: number;\n\t\ttotal: number;\n\t\tduration: number;\n\t\thasDeletedDocuments: boolean;\n\t}\n>;\n\ntype ChangesGroupPushedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_groupPushed,\n\t{\n\t\tisInStaticZone: boolean;\n\t\tisInSlice: boolean;\n\t} & {\n\t\t[key in FieldType]?: number;\n\t}\n>;\n\ntype ChangesLimitReachSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.changes_limitReach,\n\t{ limitType: PushChangesLimitType }\n>;\n\ntype EditorWidgetUsedSegmentEvent = SegmentEvent<\n\ttypeof SegmentEventType.editor_widgetUsed,\n\t{ sliceId: string }\n>;\n\ntype DevCollabJoinBetaClicked = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_joinBetaClicked\n>;\n\ntype DevCollabSetUpWorkflowOpened = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_setUpWorkflowOpened\n>;\n\ntype DevCollabWorkflowStubDisplayed = SegmentEvent<\n\ttypeof SegmentEventType.devCollab_workflowStubDisplayed\n>;\n\ntype SliceMachineStart = SegmentEvent<\n\ttypeof SegmentEventType.sliceMachine_start,\n\t{\n\t\tadapter?: string;\n\t\tadapterVersion?: string;\n\t\tgitProvider?: string;\n\t\tisAdapterUpdateAvailable?: boolean;\n\t\tisLoggedIn?: boolean;\n\t\tisSliceMachineUpdateAvailable?: boolean;\n\t\tisTypeScriptProject?: boolean;\n\t\tnodeVersion?: string;\n\t\tnumberOfCustomTypes?: number;\n\t\tnumberOfSlices?: number;\n\t\tosPlatform?: string;\n\t\tpackageManager?: string;\n\t\tprojectPort?: string;\n\t\tsliceMachineVersion?: string;\n\t\tversionControlSystem?: string;\n\t}\n>;\n\ntype OnboardingCommonPayload = { stepId: string; stepTitle: string };\ntype SharedOnboardingProperties<T = Record<string, string>> = T & {\n\tsource: \"SliceMachine\";\n};\n\ntype SliceMachineSharedOnboardingStepOpened = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_opened,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingStepCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_step_completed,\n\tSharedOnboardingProperties<OnboardingCommonPayload>\n>;\ntype SliceMachineSharedOnboardingCompleted = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_completed,\n\tSharedOnboardingProperties\n>;\ntype SliceMachineSharedOnboardingTutorial = SegmentEvent<\n\ttypeof SegmentEventType.sharedOnboarding_tutorial,\n\tSharedOnboardingProperties\n>;\ntype SliceMachinePostPushEmptyStateCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_emptyStateCtaClicked\n>;\n\ntype SliceMachinePostPushToastCtaClicked = SegmentEvent<\n\ttypeof SegmentEventType.postPush_toastCtaClicked\n>;\n\ntype SliceMachineExperimentExposure = SegmentEvent<\n\ttypeof SegmentEventType.experiment_exposure,\n\t{\n\t\tflag_key: string;\n\t\tvariant: string;\n\t}\n>;\n\ntype SliceGenerationFeedback = SegmentEvent<\n\ttypeof SegmentEventType.sliceGenerationFeedback,\n\t{\n\t\ttype: \"model\";\n\t\tsliceId: string;\n\t\tvariationId: string;\n\t\tfeedback: \"up\" | \"down\";\n\t\tlangSmithUrl?: string;\n\t}\n>;\n\ntype NavigationDocumentationLinkClicked = SegmentEvent<\n\ttypeof SegmentEventType.navigation_documentationLinkClicked,\n\t{\n\t\tframework: string;\n\t}\n>;\n\nexport type SegmentEvents =\n\t| CommandInitStartSegmentEvent\n\t| CommandInitIdentifySegmentEvent\n\t| CommandInitEndSegmentEvent\n\t| ReviewSegmentEvent\n\t| SliceSimulatorOpenSegmentEvent\n\t| SliceSimulatorIsNotRunningSegmentEvent\n\t| PageViewSegmentEvent\n\t| OpenVideoTutorialsSegmentEvent\n\t| FieldAddedSegmentEvent\n\t| FieldUpdatedSegmentEvent\n\t| FieldSettingsOpenedSegmentEvent\n\t| CustomTypeCreatedSegmentEvent\n\t| CustomTypeSliceZoneUpdatedSegmentEvent\n\t| CustomTypeOpenAddFromTemplatesEvent\n\t| CustomTypeSavedSegmentEvent\n\t| SliceCreatedSegmentEvent\n\t| LegacySliceConvertedSegmentEvent\n\t| ScreenshotTakenSegmentEvent\n\t| ChangesPushedSegmentEvent\n\t| ChangesGroupPushedSegmentEvent\n\t| ChangesLimitReachSegmentEvent\n\t| EditorWidgetUsedSegmentEvent\n\t| OpenPageSnippetSegmentEvent\n\t| CopyPageSnippetSegmentEvent\n\t| SwitchEnvironmentSegmentEvent\n\t| DevCollabJoinBetaClicked\n\t| DevCollabSetUpWorkflowOpened\n\t| DevCollabWorkflowStubDisplayed\n\t| SliceMachineStart\n\t| SliceMachineSharedOnboardingStepOpened\n\t| SliceMachineSharedOnboardingStepCompleted\n\t| SliceMachineSharedOnboardingCompleted\n\t| SliceMachineSharedOnboardingTutorial\n\t| SliceMachinePostPushEmptyStateCtaClicked\n\t| SliceMachinePostPushToastCtaClicked\n\t| SliceMachineExperimentExposure\n\t| SliceGenerationFeedback\n\t| NavigationDocumentationLinkClicked;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsManager.cjs","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":["VERSION_KIND","fs","path","decodePackageJSON","BaseManager","fetchNPMPackageVersions","SLICE_MACHINE_NPM_PACKAGE_NAME","fetchGitHubReleaseBodyForRelease","SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION","SLICE_MACHINE_GITHUB_REPOSITORY_NAME","SLICE_MACHINE_GITHUB_PACKAGE_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"VersionsManager.cjs","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":["VERSION_KIND","fs","path","decodePackageJSON","BaseManager","fetchNPMPackageVersions","SLICE_MACHINE_NPM_PACKAGE_NAME","fetchGitHubReleaseBodyForRelease","SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION","SLICE_MACHINE_GITHUB_REPOSITORY_NAME","SLICE_MACHINE_GITHUB_PACKAGE_NAME"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsManager.js","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VersionsManager.js","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slicemachine/manager",
3
- "version": "0.24.15-beta.8",
3
+ "version": "0.24.15",
4
4
  "description": "Manage all aspects of a Slice Machine project.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -70,7 +70,7 @@
70
70
  "@prismicio/mocks": "2.13.0",
71
71
  "@prismicio/types-internal": "3.10.0",
72
72
  "@segment/analytics-node": "^2.1.2",
73
- "@slicemachine/plugin-kit": "0.4.77-beta.8",
73
+ "@slicemachine/plugin-kit": "0.4.77",
74
74
  "cookie": "^1.0.1",
75
75
  "cors": "^2.8.5",
76
76
  "execa": "^7.1.1",
@@ -113,7 +113,7 @@
113
113
  "prettier-plugin-jsdoc": "1.1.1",
114
114
  "size-limit": "8.2.4",
115
115
  "typescript": "4.9.5",
116
- "vite": "4.3.9",
116
+ "vite": "4.5.14",
117
117
  "vite-plugin-sdk": "0.1.1",
118
118
  "vitest": "0.32.0"
119
119
  },
@@ -130,6 +130,5 @@
130
130
  },
131
131
  "publishConfig": {
132
132
  "access": "public"
133
- },
134
- "stableVersion": "0.24.14"
133
+ }
135
134
  }
@@ -35,8 +35,6 @@ export const SegmentEventType = {
35
35
  devCollab_setUpWorkflowOpened: "dev-collab:set-up-workflow-opened",
36
36
  devCollab_workflowStubDisplayed: "dev-collab:workflow-stub-displayed",
37
37
  sliceMachine_start: "slice-machine:start",
38
- sliceLibrary_beta_modalOpened: "slice-library:beta:modal-opened",
39
- sliceLibrary_beta_codeOpened: "slice-library:beta:code-opened",
40
38
  postPush_emptyStateCtaClicked: "post-push:empty-state-cta-clicked",
41
39
  postPush_toastCtaClicked: "post-push:toast-cta-clicked",
42
40
  experiment_exposure: "experiment:exposure",
@@ -45,6 +43,7 @@ export const SegmentEventType = {
45
43
  sharedOnboarding_completed: "shared-onboarding:completed",
46
44
  sharedOnboarding_tutorial: "shared-onboarding:follow-tutorial",
47
45
  sliceGenerationFeedback: "slice-generation-feedback",
46
+ navigation_documentationLinkClicked: "navigation:documentation-link-clicked",
48
47
  } as const;
49
48
  type SegmentEventTypes =
50
49
  (typeof SegmentEventType)[keyof typeof SegmentEventType];
@@ -88,10 +87,6 @@ export const HumanSegmentEventType = {
88
87
  [SegmentEventType.devCollab_workflowStubDisplayed]:
89
88
  "SliceMachine Dev Collab Workflow Stub Displayed",
90
89
  [SegmentEventType.sliceMachine_start]: "SliceMachine Start",
91
- [SegmentEventType.sliceLibrary_beta_modalOpened]:
92
- "SliceMachine Slice Library [BETA] CTA modal displayed",
93
- [SegmentEventType.sliceLibrary_beta_codeOpened]:
94
- "SliceMachine Slice Library [BETA] CTA example code opened",
95
90
  [SegmentEventType.postPush_emptyStateCtaClicked]:
96
91
  "SliceMachine Post Push Empty State CTA Clicked",
97
92
  [SegmentEventType.postPush_toastCtaClicked]:
@@ -106,6 +101,8 @@ export const HumanSegmentEventType = {
106
101
  [SegmentEventType.sharedOnboarding_tutorial]:
107
102
  "Prismic Onboarding Guide Follow Tutorial",
108
103
  [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback",
104
+ [SegmentEventType.navigation_documentationLinkClicked]:
105
+ "SliceMachine Documentation Link Clicked",
109
106
  } as const;
110
107
 
111
108
  export type HumanSegmentEventTypes =
@@ -375,14 +372,6 @@ type SliceMachineStart = SegmentEvent<
375
372
  }
376
373
  >;
377
374
 
378
- type SliceLibraryBetaModalOpened = SegmentEvent<
379
- typeof SegmentEventType.sliceLibrary_beta_modalOpened
380
- >;
381
-
382
- type SliceLibraryBetaCodeOpened = SegmentEvent<
383
- typeof SegmentEventType.sliceLibrary_beta_codeOpened
384
- >;
385
-
386
375
  type OnboardingCommonPayload = { stepId: string; stepTitle: string };
387
376
  type SharedOnboardingProperties<T = Record<string, string>> = T & {
388
377
  source: "SliceMachine";
@@ -431,6 +420,13 @@ type SliceGenerationFeedback = SegmentEvent<
431
420
  }
432
421
  >;
433
422
 
423
+ type NavigationDocumentationLinkClicked = SegmentEvent<
424
+ typeof SegmentEventType.navigation_documentationLinkClicked,
425
+ {
426
+ framework: string;
427
+ }
428
+ >;
429
+
434
430
  export type SegmentEvents =
435
431
  | CommandInitStartSegmentEvent
436
432
  | CommandInitIdentifySegmentEvent
@@ -461,8 +457,6 @@ export type SegmentEvents =
461
457
  | DevCollabSetUpWorkflowOpened
462
458
  | DevCollabWorkflowStubDisplayed
463
459
  | SliceMachineStart
464
- | SliceLibraryBetaModalOpened
465
- | SliceLibraryBetaCodeOpened
466
460
  | SliceMachineSharedOnboardingStepOpened
467
461
  | SliceMachineSharedOnboardingStepCompleted
468
462
  | SliceMachineSharedOnboardingCompleted
@@ -470,4 +464,5 @@ export type SegmentEvents =
470
464
  | SliceMachinePostPushEmptyStateCtaClicked
471
465
  | SliceMachinePostPushToastCtaClicked
472
466
  | SliceMachineExperimentExposure
473
- | SliceGenerationFeedback;
467
+ | SliceGenerationFeedback
468
+ | NavigationDocumentationLinkClicked;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../../node_modules/execa/node_modules/npm-run-path/index.js"],"sourcesContent":["import process from 'node:process';\nimport path from 'node:path';\nimport url from 'node:url';\nimport pathKey from 'path-key';\n\nexport function npmRunPath(options = {}) {\n\tconst {\n\t\tcwd = process.cwd(),\n\t\tpath: path_ = process.env[pathKey()],\n\t\texecPath = process.execPath,\n\t} = options;\n\n\tlet previous;\n\tconst cwdString = cwd instanceof URL ? url.fileURLToPath(cwd) : cwd;\n\tlet cwdPath = path.resolve(cwdString);\n\tconst result = [];\n\n\twhile (previous !== cwdPath) {\n\t\tresult.push(path.join(cwdPath, 'node_modules/.bin'));\n\t\tprevious = cwdPath;\n\t\tcwdPath = path.resolve(cwdPath, '..');\n\t}\n\n\t// Ensure the running `node` binary is used.\n\tresult.push(path.resolve(cwdString, execPath, '..'));\n\n\treturn [...result, path_].join(path.delimiter);\n}\n\nexport function npmRunPathEnv({env = process.env, ...options} = {}) {\n\tenv = {...env};\n\n\tconst path = pathKey({env});\n\toptions.path = env[path];\n\tenv[path] = npmRunPath(options);\n\n\treturn env;\n}\n"],"names":["pathKey","path"],"mappings":";;;;;;AAKO,SAAS,WAAW,UAAU,IAAI;AACxC,QAAM;AAAA,IACL,MAAM,QAAQ,IAAK;AAAA,IACnB,MAAM,QAAQ,QAAQ,IAAIA,MAAO,CAAE;AAAA,IACnC,WAAW,QAAQ;AAAA,EACnB,IAAG;AAEJ,MAAI;AACJ,QAAM,YAAY,eAAe,MAAM,IAAI,cAAc,GAAG,IAAI;AAChE,MAAI,UAAU,KAAK,QAAQ,SAAS;AACpC,QAAM,SAAS,CAAA;AAEf,SAAO,aAAa,SAAS;AAC5B,WAAO,KAAK,KAAK,KAAK,SAAS,mBAAmB,CAAC;AACnD,eAAW;AACX,cAAU,KAAK,QAAQ,SAAS,IAAI;AAAA,EACpC;AAGD,SAAO,KAAK,KAAK,QAAQ,WAAW,UAAU,IAAI,CAAC;AAEnD,SAAO,CAAC,GAAG,QAAQ,KAAK,EAAE,KAAK,KAAK,SAAS;AAC9C;AAEO,SAAS,cAAc,EAAC,MAAM,QAAQ,KAAK,GAAG,QAAO,IAAI,IAAI;AACnE,QAAM,EAAC,GAAG,IAAG;AAEb,QAAMC,QAAOD,MAAQ,EAAC,IAAG,CAAC;AAC1B,UAAQ,OAAO,IAAIC,KAAI;AACvB,MAAIA,KAAI,IAAI,WAAW,OAAO;AAE9B,SAAO;AACR;;;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../node_modules/execa/node_modules/npm-run-path/index.js"],"sourcesContent":["import process from 'node:process';\nimport path from 'node:path';\nimport url from 'node:url';\nimport pathKey from 'path-key';\n\nexport function npmRunPath(options = {}) {\n\tconst {\n\t\tcwd = process.cwd(),\n\t\tpath: path_ = process.env[pathKey()],\n\t\texecPath = process.execPath,\n\t} = options;\n\n\tlet previous;\n\tconst cwdString = cwd instanceof URL ? url.fileURLToPath(cwd) : cwd;\n\tlet cwdPath = path.resolve(cwdString);\n\tconst result = [];\n\n\twhile (previous !== cwdPath) {\n\t\tresult.push(path.join(cwdPath, 'node_modules/.bin'));\n\t\tprevious = cwdPath;\n\t\tcwdPath = path.resolve(cwdPath, '..');\n\t}\n\n\t// Ensure the running `node` binary is used.\n\tresult.push(path.resolve(cwdString, execPath, '..'));\n\n\treturn [...result, path_].join(path.delimiter);\n}\n\nexport function npmRunPathEnv({env = process.env, ...options} = {}) {\n\tenv = {...env};\n\n\tconst path = pathKey({env});\n\toptions.path = env[path];\n\tenv[path] = npmRunPath(options);\n\n\treturn env;\n}\n"],"names":["path"],"mappings":";;;;AAKO,SAAS,WAAW,UAAU,IAAI;AACxC,QAAM;AAAA,IACL,MAAM,QAAQ,IAAK;AAAA,IACnB,MAAM,QAAQ,QAAQ,IAAI,QAAO,CAAE;AAAA,IACnC,WAAW,QAAQ;AAAA,EACnB,IAAG;AAEJ,MAAI;AACJ,QAAM,YAAY,eAAe,MAAM,IAAI,cAAc,GAAG,IAAI;AAChE,MAAI,UAAUA,cAAK,QAAQ,SAAS;AACpC,QAAM,SAAS,CAAA;AAEf,SAAO,aAAa,SAAS;AAC5B,WAAO,KAAKA,cAAK,KAAK,SAAS,mBAAmB,CAAC;AACnD,eAAW;AACX,cAAUA,cAAK,QAAQ,SAAS,IAAI;AAAA,EACpC;AAGD,SAAO,KAAKA,cAAK,QAAQ,WAAW,UAAU,IAAI,CAAC;AAEnD,SAAO,CAAC,GAAG,QAAQ,KAAK,EAAE,KAAKA,cAAK,SAAS;AAC9C;AAEO,SAAS,cAAc,EAAC,MAAM,QAAQ,KAAK,GAAG,QAAO,IAAI,IAAI;AACnE,QAAM,EAAC,GAAG,IAAG;AAEb,QAAM,OAAO,QAAQ,EAAC,IAAG,CAAC;AAC1B,UAAQ,OAAO,IAAI,IAAI;AACvB,MAAI,IAAI,IAAI,WAAW,OAAO;AAE9B,SAAO;AACR;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../../node_modules/execa/node_modules/onetime/index.js"],"sourcesContent":["import mimicFunction from 'mimic-fn';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = null;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n"],"names":["onetime","mimicFunction"],"mappings":";;AAEA,MAAM,kBAAkB,oBAAI;AAEvB,MAAC,UAAU,CAAC,WAAW,UAAU,OAAO;AAC5C,MAAI,OAAO,cAAc,YAAY;AACpC,UAAM,IAAI,UAAU,qBAAqB;AAAA,EACzC;AAED,MAAI;AACJ,MAAI,YAAY;AAChB,QAAM,eAAe,UAAU,eAAe,UAAU,QAAQ;AAEhE,QAAMA,WAAU,YAAa,YAAY;AACxC,oBAAgB,IAAIA,UAAS,EAAE,SAAS;AAExC,QAAI,cAAc,GAAG;AACpB,oBAAc,UAAU,MAAM,MAAM,UAAU;AAC9C,kBAAY;AAAA,IACf,WAAa,QAAQ,UAAU,MAAM;AAClC,YAAM,IAAI,MAAM,cAAc,wCAAwC;AAAA,IACtE;AAED,WAAO;AAAA,EACT;AAECC,QAAcD,UAAS,SAAS;AAChC,kBAAgB,IAAIA,UAAS,SAAS;AAEtC,SAAOA;AACR;AAEA,QAAQ,YAAY,eAAa;AAChC,MAAI,CAAC,gBAAgB,IAAI,SAAS,GAAG;AACpC,UAAM,IAAI,MAAM,wBAAwB,UAAU,kDAAkD;AAAA,EACpG;AAED,SAAO,gBAAgB,IAAI,SAAS;AACrC;;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../node_modules/execa/node_modules/onetime/index.js"],"sourcesContent":["import mimicFunction from 'mimic-fn';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = null;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n"],"names":["onetime"],"mappings":";AAEA,MAAM,kBAAkB,oBAAI;AAEvB,MAAC,UAAU,CAAC,WAAW,UAAU,OAAO;AAC5C,MAAI,OAAO,cAAc,YAAY;AACpC,UAAM,IAAI,UAAU,qBAAqB;AAAA,EACzC;AAED,MAAI;AACJ,MAAI,YAAY;AAChB,QAAM,eAAe,UAAU,eAAe,UAAU,QAAQ;AAEhE,QAAMA,WAAU,YAAa,YAAY;AACxC,oBAAgB,IAAIA,UAAS,EAAE,SAAS;AAExC,QAAI,cAAc,GAAG;AACpB,oBAAc,UAAU,MAAM,MAAM,UAAU;AAC9C,kBAAY;AAAA,IACf,WAAa,QAAQ,UAAU,MAAM;AAClC,YAAM,IAAI,MAAM,cAAc,wCAAwC;AAAA,IACtE;AAED,WAAO;AAAA,EACT;AAEC,gBAAcA,UAAS,SAAS;AAChC,kBAAgB,IAAIA,UAAS,SAAS;AAEtC,SAAOA;AACR;AAEA,QAAQ,YAAY,eAAa;AAChC,MAAI,CAAC,gBAAgB,IAAI,SAAS,GAAG;AACpC,UAAM,IAAI,MAAM,wBAAwB,UAAU,kDAAkD;AAAA,EACpG;AAED,SAAO,gBAAgB,IAAI,SAAS;AACrC;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../../node_modules/execa/node_modules/path-key/index.js"],"sourcesContent":["export default function pathKey(options = {}) {\n\tconst {\n\t\tenv = process.env,\n\t\tplatform = process.platform\n\t} = options;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n}\n"],"names":[],"mappings":";AAAe,SAAS,QAAQ,UAAU,IAAI;AAC7C,QAAM;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,WAAW,QAAQ;AAAA,EACnB,IAAG;AAEJ,MAAI,aAAa,SAAS;AACzB,WAAO;AAAA,EACP;AAED,SAAO,OAAO,KAAK,GAAG,EAAE,QAAO,EAAG,KAAK,SAAO,IAAI,YAAW,MAAO,MAAM,KAAK;AAChF;;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../node_modules/execa/node_modules/path-key/index.js"],"sourcesContent":["export default function pathKey(options = {}) {\n\tconst {\n\t\tenv = process.env,\n\t\tplatform = process.platform\n\t} = options;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n}\n"],"names":[],"mappings":"AAAe,SAAS,QAAQ,UAAU,IAAI;AAC7C,QAAM;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,WAAW,QAAQ;AAAA,EACnB,IAAG;AAEJ,MAAI,aAAa,SAAS;AACzB,WAAO;AAAA,EACP;AAED,SAAO,OAAO,KAAK,GAAG,EAAE,QAAO,EAAG,KAAK,SAAO,IAAI,YAAW,MAAO,MAAM,KAAK;AAChF;","x_google_ignoreList":[0]}