@slicemachine/manager 0.25.3-alpha.jp-unauthorized-error.4 → 0.25.3-alpha.jp-unauthorized-error-improvement.1

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 (27) hide show
  1. package/dist/managers/SliceMachineManager.cjs +11 -4
  2. package/dist/managers/SliceMachineManager.cjs.map +1 -1
  3. package/dist/managers/SliceMachineManager.js +11 -4
  4. package/dist/managers/SliceMachineManager.js.map +1 -1
  5. package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs +2 -0
  6. package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -1
  7. package/dist/managers/prismicRepository/PrismicRepositoryManager.js +2 -0
  8. package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -1
  9. package/dist/managers/prismicRepository/types.cjs.map +1 -1
  10. package/dist/managers/prismicRepository/types.d.ts +7 -0
  11. package/dist/managers/prismicRepository/types.js.map +1 -1
  12. package/dist/managers/slices/SlicesManager.cjs +11 -3
  13. package/dist/managers/slices/SlicesManager.cjs.map +1 -1
  14. package/dist/managers/slices/SlicesManager.d.ts +9 -2
  15. package/dist/managers/slices/SlicesManager.js +11 -3
  16. package/dist/managers/slices/SlicesManager.js.map +1 -1
  17. package/dist/managers/telemetry/types.cjs +6 -2
  18. package/dist/managers/telemetry/types.cjs.map +1 -1
  19. package/dist/managers/telemetry/types.d.ts +13 -1
  20. package/dist/managers/telemetry/types.js +6 -2
  21. package/dist/managers/telemetry/types.js.map +1 -1
  22. package/package.json +2 -2
  23. package/src/managers/SliceMachineManager.ts +10 -4
  24. package/src/managers/prismicRepository/PrismicRepositoryManager.ts +2 -0
  25. package/src/managers/prismicRepository/types.ts +7 -0
  26. package/src/managers/slices/SlicesManager.ts +22 -6
  27. package/src/managers/telemetry/types.ts +23 -1
@@ -147,9 +147,16 @@ type SliceMachineManagerUpdateSliceMocksArgsReturnType = {
147
147
  errors: HookError[];
148
148
  };
149
149
 
150
- type SlicesManagerUpsertHostedSliceScrenshotsArgs = {
150
+ type SlicesManagerUpsertHostedSliceScreenshotsArgs = {
151
151
  libraryID: string;
152
152
  model: SharedSlice;
153
+ /**
154
+ * A map of variation IDs to remote screenshot URLs. These URLs are used to
155
+ * detect if a screenshot has changed when comparing with local ones and to
156
+ * push slices with the current screenshot. If a matching screenshot is not
157
+ * found in this map, the current local screenshot is uploaded again.
158
+ */
159
+ variationImageUrlMap: Record<string, string>;
153
160
  };
154
161
 
155
162
  type SliceMachineManagerDeleteSliceArgs = {
@@ -759,8 +766,11 @@ export class SlicesManager extends BaseManager {
759
766
  if (model) {
760
767
  const modelWithScreenshots =
761
768
  await this.updateSliceModelScreenshotsInPlace({
762
- libraryID: args.libraryID,
763
769
  model,
770
+ libraryID: args.libraryID,
771
+ // We are pushing it for the first time here, no remote image URLs to
772
+ // use during the update.
773
+ variationImageUrlMap: {},
764
774
  });
765
775
 
766
776
  const authenticationToken = await this.user.getAuthenticationToken();
@@ -1003,7 +1013,7 @@ export class SlicesManager extends BaseManager {
1003
1013
  }
1004
1014
 
1005
1015
  async updateSliceModelScreenshotsInPlace(
1006
- args: SlicesManagerUpsertHostedSliceScrenshotsArgs,
1016
+ args: SlicesManagerUpsertHostedSliceScreenshotsArgs,
1007
1017
  ): Promise<SharedSlice> {
1008
1018
  const repositoryName = await this.project.getResolvedRepositoryName();
1009
1019
 
@@ -1023,13 +1033,19 @@ export class SlicesManager extends BaseManager {
1023
1033
  };
1024
1034
  }
1025
1035
 
1026
- const hasScreenshotChanged = !variation.imageUrl?.includes(
1036
+ const remoteImageUrl = args.variationImageUrlMap?.[variation.id];
1037
+ const hasScreenshotChanged = !remoteImageUrl?.includes(
1027
1038
  createContentDigest(screenshot.data),
1028
1039
  );
1029
1040
 
1030
- // If screenshot hasn't changed, do nothing
1041
+ // If screenshot hasn't changed, no need to upload it again, just use
1042
+ // the existing variation with the remote image URL if it exists.
1031
1043
  if (!hasScreenshotChanged) {
1032
- return variation;
1044
+ return {
1045
+ ...variation,
1046
+ // Keep the existing remote screenshot URL if it exists.
1047
+ imageUrl: remoteImageUrl ?? variation.imageUrl,
1048
+ };
1033
1049
  }
1034
1050
 
1035
1051
  const keyPrefix = [
@@ -46,6 +46,8 @@ export const SegmentEventType = {
46
46
  sharedOnboarding_tutorial: "shared-onboarding:follow-tutorial",
47
47
  sliceGenerationFeedback: "slice-generation-feedback",
48
48
  navigation_documentationLinkClicked: "navigation:documentation-link-clicked",
49
+ sidebar_link_clicked: "sidebar:link-clicked",
50
+ mcp_promo_link_clicked: "mcp:promo-link-clicked",
49
51
  } as const;
50
52
  type SegmentEventTypes =
51
53
  (typeof SegmentEventType)[keyof typeof SegmentEventType];
@@ -104,6 +106,8 @@ export const HumanSegmentEventType = {
104
106
  [SegmentEventType.sliceGenerationFeedback]: "Slice Generation Feedback",
105
107
  [SegmentEventType.navigation_documentationLinkClicked]:
106
108
  "SliceMachine Documentation Link Clicked",
109
+ [SegmentEventType.sidebar_link_clicked]: "Sidebar Link Clicked",
110
+ [SegmentEventType.mcp_promo_link_clicked]: "MCP Promo Link Clicked",
107
111
  } as const;
108
112
 
109
113
  export type HumanSegmentEventTypes =
@@ -424,6 +428,22 @@ type NavigationDocumentationLinkClicked = SegmentEvent<
424
428
  }
425
429
  >;
426
430
 
431
+ type SidebarLinkClicked = SegmentEvent<
432
+ typeof SegmentEventType.sidebar_link_clicked,
433
+ {
434
+ link_name: string;
435
+ source: string;
436
+ }
437
+ >;
438
+
439
+ type McpPromoLinkClicked = SegmentEvent<
440
+ typeof SegmentEventType.mcp_promo_link_clicked,
441
+ {
442
+ source: string;
443
+ target: string;
444
+ }
445
+ >;
446
+
427
447
  export type SegmentEvents =
428
448
  | CommandInitStartSegmentEvent
429
449
  | CommandInitIdentifySegmentEvent
@@ -461,4 +481,6 @@ export type SegmentEvents =
461
481
  | SliceMachinePostPushToastCtaClicked
462
482
  | SliceMachineExperimentExposure
463
483
  | SliceGenerationFeedback
464
- | NavigationDocumentationLinkClicked;
484
+ | NavigationDocumentationLinkClicked
485
+ | SidebarLinkClicked
486
+ | McpPromoLinkClicked;