@supernova-studio/supernova-sdk-beta 2.2.50 → 2.2.52

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.
package/README.md CHANGED
@@ -111,26 +111,43 @@ With cache disabled, every request will download all necessary information for e
111
111
 
112
112
  ### Release
113
113
 
114
- SDK should be released via CI by opening PR `develop -> publish-sdk` branch once we need to release it.
114
+ **Before releasing:**
115
115
 
116
- Please, in this PR:
116
+ - Bump version in `sdk-typescript/scripts/packages/**.json` files
117
+ - Ensure versions of `@supernova-studio/client` and `@supernova-studio/model` are:
118
+ - Up-to-date with main `package.json` in root folder of whole repository
119
+ - The same version is present in `package.json` and `sdk-typescript/scripts/packages/**.json` files
117
120
 
118
- - bump a version in `sdk-typescript/scripts/packages/**.json` files
119
- - check that versions of `@supernova-studio/client` and `@supernova-studio/model` are:
120
- - - up-to-date with main `package.json` in root folder of whole repository
121
- - - the same version is present in `package.json` and `sdk-typescript/scripts/packages/**.json` files.
121
+ SDK can be released via CI in two ways:
122
122
 
123
- Several packages are released:
123
+ #### 1. Manual Release (via GitHub Actions)
124
124
 
125
- - `@supernovaio/sdk` - main SDK used by customers, Pulsar etc
125
+ You can trigger the SDK publish workflow manually:
126
+
127
+ 1. Go to the [GitHub Actions page](https://github.com/Supernova-Studio/cloud-ji/actions)
128
+ 2. Select the "Publish SDK & SDK-Exporters to NPM" workflow
129
+ 3. Click "Run workflow"
130
+ 4. Select the branch (typically `develop`)
131
+ 5. Click "Run workflow" button
132
+
133
+ **Note:** Manual release does not run tests automatically.
134
+
135
+ #### 2. Standard Release (via Pull Request)
136
+
137
+ Open a PR from `develop` → `publish-sdk` branch when you need to release. This will automatically trigger the publish workflow when the PR is merged.
138
+
139
+ #### 3. **Emergency release (from CLI)**
140
+
141
+ Can be done manually via scripts like `npm run publish-package-sdk`, but CI is preferred.
142
+
143
+ **Packages released:**
144
+
145
+ - `@supernovaio/sdk` - Main SDK used by customers, Pulsar etc
126
146
  - `@supernovaio/sdk-exporters` - SDK used by exporters helpers
127
147
  - `@supernova-studio/supernova-sdk-beta` - SDK used by old BE during Token Studio import only
128
148
 
129
149
  Having separate version for old BE makes it simpler to release BE without necessity to update & release Pulsar, when we only need changes/fixes in SDK for Token Studio (which happens more often than changes we need for Pulsar).
130
150
 
131
- Emergency release could be done manually via scripts, like `npm run publish-package-sdk`.
132
- Please, avoid this and try using CI instead, and it helps you with ensuring tests are passed.
133
-
134
151
  ## What's next
135
152
 
136
153
  As this is still beta, we are working hard on improving it before the first official release. The following are areas we'd like to solve before general release:
@@ -2117,9 +2117,11 @@ export declare class AreaProjects {
2117
2117
  }[] | undefined;
2118
2118
  }>;
2119
2119
  deleteProjectContext(id: string): Promise<void>;
2120
- updateProjectContextOverride(projectId: string, data: {
2120
+ updateProjectContextOverride(wsId: string, projectId: string, data: {
2121
2121
  theme: Partial<ForgeProjectTheme> | null;
2122
- }): Promise<void>;
2122
+ }, options?: {
2123
+ updateSharedContext?: boolean;
2124
+ }): Promise<import("../../model/projects/SDKForgeProjectContextOverride").ForgeProjectContextOverrideResponse>;
2123
2125
  getProjectTrailEvents(projectId: string): Promise<import("../..").TrailEvent[]>;
2124
2126
  constructor(dataCore: DataCore);
2125
2127
  }
@@ -2075,7 +2075,7 @@ export declare class AreaRawData {
2075
2075
  tokenThemeIds: string[];
2076
2076
  }[] | undefined;
2077
2077
  }[]>;
2078
- getRawForgeProjectContextOverride(projectId: string): Promise<import("../../model/projects/SDKForgeProjectContextOverride").ForgeProjectContextOverrideRemoteModel>;
2078
+ getRawForgeProjectContextOverride(wsId: string, projectId: string): Promise<import("../../model/projects/SDKForgeProjectContextOverride").ForgeProjectContextOverrideResponse>;
2079
2079
  getRawForgeAgents(workspaceId: string, projectId: string): Promise<Array<DTOForgeAgent>>;
2080
2080
  getRawChatThreads(workspaceId: string, limit?: number, offset?: number): Promise<DTOForgeChatThreadListResponse>;
2081
2081
  getRawChatThreadMessages(workspaceId: string, threadId: string): Promise<DTOForgeChatMessageListResponse>;
@@ -2665,9 +2665,11 @@ export declare class DataCore {
2665
2665
  workspaceId: string;
2666
2666
  }): Promise<ForgeProjectContext[]>;
2667
2667
  getForgeProjectContext(contextId: string): Promise<ForgeProjectContext>;
2668
- updateForgeProjectContextOverride(projectId: string, data: {
2668
+ updateForgeProjectContextOverride(wsId: string, projectId: string, data: {
2669
2669
  theme: Partial<ForgeProjectTheme> | null;
2670
- }): Promise<void>;
2670
+ }, options?: {
2671
+ updateSharedContext?: boolean;
2672
+ }): Promise<import("../../model/projects/SDKForgeProjectContextOverride").ForgeProjectContextOverrideResponse>;
2671
2673
  createForgeProjectSection(workspaceId: string, projectId: string, input: DTOForgeSectionCreateInput, tId?: string): Promise<void>;
2672
2674
  updateForgeProjectSection(workspaceId: string, projectId: string, input: DTOForgeSectionUpdateInput, tId?: string): Promise<void>;
2673
2675
  deleteForgeProjectSection(workspaceId: string, projectId: string, input: DTOForgeSectionDeleteInput, tId?: string): Promise<void>;
@@ -29,7 +29,7 @@ import { ImportJobRemoteModel } from "../../../model/jobs/SDKImportJob";
29
29
  import { MembershipRemoteModel } from "../../../model/membership/SDKMembership";
30
30
  import { ForgeProjectRemoteModel } from "../../../model/projects/SDKForgeProject";
31
31
  import { ForgeProjectContextRemoteModel } from "../../../model/projects/SDKForgeProjectContext";
32
- import type { ForgeProjectContextOverrideRemoteModel } from "../../../model/projects/SDKForgeProjectContextOverride";
32
+ import type { ForgeProjectContextOverrideResponse } from "../../../model/projects/SDKForgeProjectContextOverride";
33
33
  import { ResourceAssetModel } from "../../../model/resources/SDKResourceAsset";
34
34
  import { ResourceFontModel } from "../../../model/resources/SDKResourceFont";
35
35
  import { RemoteStorybookEntry } from "../../../model/storybook/SDKStorybookEntry";
@@ -1317,7 +1317,7 @@ export declare class DataCoreReadRequests {
1317
1317
  /**
1318
1318
  * Remote: Get Forge Project Context Override
1319
1319
  */
1320
- getRemoteForgeProjectContextOverride(projectId: string): Promise<ForgeProjectContextOverrideRemoteModel>;
1320
+ getRemoteForgeProjectContextOverride(wsId: string, projectId: string): Promise<ForgeProjectContextOverrideResponse>;
1321
1321
  getRemoteForgeAgents(workspaceId: string, projectId: string): Promise<Array<DTOForgeAgent>>;
1322
1322
  getRemoteForgeProjectFeature(workspaceId: string, projectId: string, featureId: string): Promise<DTOForgeProjectFeature>;
1323
1323
  getRemoteForgeProjectFeatures(workspaceId: string, projectId: string): Promise<Array<DTOForgeProjectFeature>>;
@@ -19,6 +19,7 @@ import { TokenGroup, TokenGroupRemoteModel } from "../../../model/groups/SDKToke
19
19
  import { ImportJobRemoteModel } from "../../../model/jobs/SDKImportJob";
20
20
  import { ChatThreadMessageInput } from "../../../model/messaging/SDKChatThreadMessage";
21
21
  import { ForgeProjectRemoteModel } from "../../../model/projects/SDKForgeProject";
22
+ import type { ForgeProjectContextOverrideResponse } from "../../../model/projects/SDKForgeProjectContextOverride";
22
23
  import { ResourceAssetModel } from "../../../model/resources/SDKResourceAsset";
23
24
  import { ResourceFontModel } from "../../../model/resources/SDKResourceFont";
24
25
  import { StorybookUpdate } from "../../../model/storybook/SDKStorybookUpdate";
@@ -2851,9 +2852,11 @@ export declare class DataCoreWriteRequests {
2851
2852
  }>;
2852
2853
  deleteForgeProjectContext(contextId: string): Promise<void>;
2853
2854
  /** Remote: Updates a Forge Project Context Override */
2854
- updateForgeProjectContextOverride(projectId: string, data: {
2855
+ updateForgeProjectContextOverride(wsId: string, projectId: string, data: {
2855
2856
  theme: Partial<ForgeProjectTheme> | null;
2856
- }): Promise<void>;
2857
+ }, options?: {
2858
+ updateSharedContext?: boolean;
2859
+ }): Promise<ForgeProjectContextOverrideResponse>;
2857
2860
  /** Remote: Create a new exporter build */
2858
2861
  createExporterBuild(workspaceId: string, designSystemId: string, versionId: string, exporterId: string, destinations: ExporterJobDestination, brandId: string | undefined, themePersistentIds: Array<string> | undefined, exporterConfigurationProperties: DTOExporterPropertyValueMap | undefined, previewMode: boolean | undefined): Promise<ExportBuildModel>;
2859
2862
  createRemoteThreadMessage(threadId: string, input: DTOThreadMessageCreateInput): Promise<DTOThreadMessageResponse>;
@@ -39,6 +39,8 @@ export declare class DesignSystem {
39
39
  /** Flag which determines if the design system is available to the user.
40
40
  * If `false` then the user doesn't have access to the design system, but knows about its existence (e.g. Owners). */
41
41
  isAvailableToUser: boolean;
42
+ /** Unique identifier of the shared draft version of the design system */
43
+ sharedDraftId: string;
42
44
  constructor(model: Omit<DTODesignSystem, "isPublic"> & {
43
45
  isPublic: boolean;
44
46
  });
@@ -1,20 +1,17 @@
1
+ import { DTOProjectContextOverrideInput, DTOProjectContextOverride, type DTOForgeProjectContextV2 } from "@supernova-studio/client";
1
2
  import type { ForgeProjectTheme } from "./SDKForgeProjectContext";
2
- export type ForgeProjectContextOverrideRemoteModel = {
3
- projectContextId: string;
4
- theme: Partial<ForgeProjectTheme>;
5
- };
6
- export type ForgeProjectContextOverrideUpdateInput = {
7
- theme: Partial<ForgeProjectTheme>;
3
+ export type ForgeProjectContextOverrideRemoteModel = DTOProjectContextOverride;
4
+ export type ForgeProjectContextOverrideInput = DTOProjectContextOverrideInput;
5
+ export type ForgeProjectContextOverrideResponse = {
6
+ override: DTOProjectContextOverride;
7
+ resolvedContext: DTOForgeProjectContextV2;
8
8
  };
9
9
  export declare class ForgeProjectContextOverride {
10
- projectContextId: string;
10
+ projectId: string;
11
11
  theme: Partial<ForgeProjectTheme>;
12
12
  constructor(data: {
13
- projectContextId: string;
13
+ projectId: string;
14
14
  theme: Partial<ForgeProjectTheme>;
15
15
  });
16
- toRemote(): {
17
- projectContextId: string;
18
- theme: Partial<ForgeProjectTheme>;
19
- };
16
+ toRemote(): ForgeProjectContextOverrideRemoteModel;
20
17
  }