@supernova-studio/supernova-sdk-beta 2.0.38 → 2.1.2

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 (29) hide show
  1. package/build/sdk-typescript/src/core/SDKSupernova.d.ts +9 -2
  2. package/build/sdk-typescript/src/core/areas/SDKAreaAI.d.ts +49 -25
  3. package/build/sdk-typescript/src/core/areas/SDKAreaBulkOperations.d.ts +9 -0
  4. package/build/sdk-typescript/src/core/areas/SDKAreaCodeComponents.d.ts +13 -0
  5. package/build/sdk-typescript/src/core/areas/SDKAreaRawData.d.ts +5 -0
  6. package/build/sdk-typescript/src/core/data/SDKConfiguration.d.ts +2 -0
  7. package/build/sdk-typescript/src/core/data/SDKDataBridge.d.ts +7 -4
  8. package/build/sdk-typescript/src/core/data/SDKDataCore.d.ts +29 -11
  9. package/build/sdk-typescript/src/core/data/requests/SDKDataCoreAIRequests.d.ts +23 -10
  10. package/build/sdk-typescript/src/core/data/requests/SDKDataCoreReadRequests.d.ts +3 -0
  11. package/build/sdk-typescript/src/core/data/requests/SDKDataCoreWriteRequests.d.ts +6 -1
  12. package/build/sdk-typescript/src/exports.d.ts +6 -0
  13. package/build/sdk-typescript/src/model/code-components/SDKCodeComponent.d.ts +15 -0
  14. package/build/sdk-typescript/src/model/code-components/SDKCodeComponentPropertyControlDefinition.d.ts +17 -0
  15. package/build/sdk-typescript/src/model/code-components/SDKCodeComponentPropertyDefinition.d.ts +12 -0
  16. package/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockStorybookProperty.d.ts +2 -0
  17. package/build/sdk-typescript/src/model/elements/SDKElementPropertyOption.d.ts +24 -12
  18. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyArray.d.ts +7 -0
  19. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyBase.d.ts +1 -1
  20. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyCode.d.ts +8 -0
  21. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyDefinition.d.ts +3 -1
  22. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyObject.d.ts +1 -1
  23. package/build/sdk-typescript/src/model/exporters/custom_properties/SDKExporterPropertyString.d.ts +1 -0
  24. package/build/sdk-typescript/src/model/exporters/exporter_builds/SDKExportBuildResults.d.ts +0 -6
  25. package/build/sdk-typescript/src/tests/Areas/AreaAI.spec.d.ts +1 -0
  26. package/build/sdk-typescript/src/tests/Areas/AreaResources.spec.d.ts +1 -0
  27. package/build/supernova-sdk-typescript.js +1 -1
  28. package/build/supernova-sdk-typescript.js.map +1 -1
  29. package/package.json +3 -3
@@ -3,6 +3,7 @@ import { AreaAssets } from "./areas/SDKAreaAssets";
3
3
  import { AreaAutomation } from "./areas/SDKAreaAutomation";
4
4
  import { AreaBrands } from "./areas/SDKAreaBrands";
5
5
  import { AreaBulkOperations } from "./areas/SDKAreaBulkOperations";
6
+ import { AreaCodeComponents } from "./areas/SDKAreaCodeComponents";
6
7
  import { AreaComponents } from "./areas/SDKAreaComponents";
7
8
  import { AreaDataSources } from "./areas/SDKAreaDataSources";
8
9
  import { AreaDesignSystems } from "./areas/SDKAreaDesignSystems";
@@ -24,6 +25,7 @@ import { DataBridgeRequestHook } from "./data/SDKDataBridge";
24
25
  export declare class Supernova {
25
26
  private apiKey;
26
27
  private apiUrl;
28
+ private aiApiUrl;
27
29
  private apiVersion;
28
30
  private requestHook;
29
31
  private dataCore;
@@ -39,6 +41,8 @@ export declare class Supernova {
39
41
  tokens: AreaTokens;
40
42
  /** Get, create, update, manipulate or delete components */
41
43
  components: AreaComponents;
44
+ /** Get, create, update, manipulate or delete code components */
45
+ codeComponents: AreaCodeComponents;
42
46
  /** Get, create, update, manipulate or delete assets */
43
47
  assets: AreaAssets;
44
48
  /** Get, create, update, manipulate or delete resources */
@@ -75,12 +79,15 @@ export declare class Supernova {
75
79
  * @param options Options for SDK
76
80
  * @param options.url URL of the Supernova.io instance to connect to. Defaults to production environment
77
81
  * @param options.requestHook Hook for observing requests
78
- * @param options.bypassEnvFetch When enabled, internal node-fetch lib will be used in environments when fetch is not available. Defaults to false
82
+ * @param options.customFetchLib When provided, network requests will run through custom provided, fetch-like. Use in environments where fetch is not available or you want to provide your own implementation.
83
+ * @param options.customProxyLib When provided, proxy will be used to route network requests.
79
84
  */
80
85
  constructor(apiKey: string, options?: {
81
86
  apiUrl?: string;
87
+ aiApiUrl?: string;
82
88
  requestHook?: DataBridgeRequestHook;
83
- bypassEnvFetch?: boolean;
89
+ customFetchLib?: any;
90
+ customProxyLib?: any;
84
91
  proxyUrl?: string;
85
92
  isPreview?: boolean;
86
93
  jobId?: string;
@@ -1,34 +1,58 @@
1
1
  import { DataCore } from "../data/SDKDataCore";
2
- import { RemoteVersionIdentifier, RemoteWorkspaceVersionIdentifier } from "./SDKRemoteIdentifiers";
2
+ import { RemoteWorkspaceVersionIdentifier } from "./SDKRemoteIdentifiers";
3
3
  export declare class AreaAI {
4
4
  /** Internal: Engine */
5
5
  private dataCore;
6
6
  constructor(dataCore: DataCore);
7
- /** Generates code for the associated design system components for provided user prompt
8
- * @param from - Design system to use
9
- * @param prompt - Prompt to generate code for
10
- * @param components - Components to generate code for
11
- * @returns Forged component code
7
+ /** Summarizes a prompt into a title. Response is not streamed.
8
+ * @param from - Version identifier
9
+ * @param text - Text to summarize
10
+ * @param options - Summarization options
11
+ * @returns Summarized title
12
+ * @disclaimer This method will throw if the user is not authorized to use AI features (if you are reading this, you are not authorized).
12
13
  */
13
- forgeCode(from: RemoteVersionIdentifier, prompt: string, components: Array<any>): Promise<string>;
14
- /** Reforges code for the associated design system components for provided user prompt, taking into account existing code
15
- * @param from - Design system to use
16
- * @param prompt - Prompt to generate code for
17
- * @param components - Components to generate code for
18
- * @param existingCode - Existing code to reforge
19
- * @returns Reforged component code
14
+ summarizeIntoTitle(from: RemoteWorkspaceVersionIdentifier, text: string, options?: {
15
+ maxWordCount: number;
16
+ strategy: "noun" | "verb";
17
+ }): Promise<string>;
18
+ /** Autocompletes a prompt into a full text. Response is not streamed.
19
+ * @param from - Version identifier
20
+ * @param text - Text to autocomplete
21
+ * @param options - Autocomplete options
22
+ * @returns Autocompleted text
23
+ * @disclaimer This method will throw if the user is not authorized to use AI features (if you are reading this, you are not authorized).
20
24
  */
21
- reforgeCode(from: RemoteVersionIdentifier, prompt: string, components: Array<any>, existingCode: string): Promise<string>;
22
- /** Reforges code for the associated design system components for provided user prompt, taking into account existing code
23
- * @param from - Design system to use
24
- * @param prompt - Prompt to generate code for
25
- * @param components - Components to generate code for
26
- * @param existingCode - Existing code to reforge
27
- * @returns Reforged component code
25
+ autocompleteText(from: RemoteWorkspaceVersionIdentifier, text: string, options?: {
26
+ maximumLength: number;
27
+ }): Promise<string>;
28
+ /** Answers question based on the data of design system in natural language. This method is non-streaming.
29
+ * @param from - Version identifier
30
+ * @param prompt - Question to answer
31
+ * @param options - Answering options
32
+ * @returns Answer to the question
33
+ * @disclaimer This method will throw if the user is not authorized to use AI features (if you are reading this, you are not authorized).
28
34
  */
29
- proposeTitle(from: RemoteVersionIdentifier, firstForgeQuery: string): Promise<string>;
30
- /** Answers question based on the data of design system in natural language */
31
- answerQuestion(from: RemoteWorkspaceVersionIdentifier, persona: "designer" | "developer" | "code", askQuery: string): Promise<string>;
32
- /** Indexes a design system so it can be asked in natural language */
33
- indexDS(from: RemoteWorkspaceVersionIdentifier): Promise<string>;
35
+ answer(from: RemoteWorkspaceVersionIdentifier, prompt: string, options?: {
36
+ persona: "designer" | "developer";
37
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
38
+ density: "compact" | "full";
39
+ }): Promise<string>;
40
+ /** Answers question based on the data of design system in natural language. This method streams answer.
41
+ * @param from - Version identifier
42
+ * @param prompt - Question to answer
43
+ * @param options - Answering options
44
+ * @returns Answer to the question
45
+ * @disclaimer This method will throw if the user is not authorized to use AI features (if you are reading this, you are not authorized).
46
+ */
47
+ answerAsStream(from: RemoteWorkspaceVersionIdentifier, prompt: string, options?: {
48
+ persona: "designer" | "developer";
49
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
50
+ density: "compact" | "full";
51
+ }): Promise<ReadableStream<Uint8Array>>;
52
+ /** Indexes or reindexes a design system to prepare it for QA engine
53
+ * @param from - Version identifier
54
+ * @returns Indexing status
55
+ * @disclaimer This method will throw if the user is not authorized to use AI features (if you are reading this, you are not authorized).
56
+ */
57
+ rebuildAnswerIndex(from: RemoteWorkspaceVersionIdentifier): Promise<string>;
34
58
  }
@@ -1,3 +1,4 @@
1
+ import { DTOElementPropertyValuesEditActionInput } from "@supernova-studio/client";
1
2
  import { BootstrapData } from "../../model/base/SDKBootstrapData";
2
3
  import { Component } from "../../model/components/SDKComponent";
3
4
  import { ElementProperty } from "../../model/elements/SDKElementProperty";
@@ -58,6 +59,14 @@ export declare class AreaBulkOperations {
58
59
  * @returns Nothing
59
60
  */
60
61
  updateTokenData(to: RemoteVersionIdentifier, data: TokenUpdateTransactionData): Promise<void>;
62
+ /** Batch updates element properties into Supernova at once. Use this method to perform bulk change instead of chaining single update operations. Batch routine runs everything in a single transaction, so either all updates succeed or all fail.
63
+ *
64
+ * @param to - Remote version to write to
65
+ * @param data - Update information. All keys except component and its parent are optional and any combination of optional properties is allowed.
66
+ * @returns Nothing
67
+ */
68
+ /** Bulk update properties */
69
+ updateElementProperties(to: RemoteVersionIdentifier, data: DTOElementPropertyValuesEditActionInput["values"]): Promise<any>;
61
70
  /** Batch updates, creates or deletes component data from Supernova at once. Use this method to perform multiple operations at once instead of chaining single update operations. Batch routine runs everything in a single transaction, so either all operations succeed or all fail.
62
71
  *
63
72
  * WARNING: This method is not yet complete and only supports limited set of operations. Also, doesn't work as transation just yet.
@@ -0,0 +1,13 @@
1
+ import { CodeComponent } from "../../model/code-components/SDKCodeComponent";
2
+ import { DataCore } from "../data/SDKDataCore";
3
+ import { RemoteVersionIdentifier } from "./SDKRemoteIdentifiers";
4
+ export declare class AreaCodeComponents {
5
+ /** Internal: Engine */
6
+ private dataCore;
7
+ constructor(dataCore: DataCore);
8
+ /** Fetches all remote code components in the version
9
+ * @param from - Remote version to fetch from
10
+ * @returns All components in the specified version
11
+ */
12
+ getCodeComponents(from: RemoteVersionIdentifier): Promise<Array<CodeComponent>>;
13
+ }
@@ -13,6 +13,7 @@ import { ComponentGroup, ComponentGroupRemoteModel } from "../../model/groups/SD
13
13
  import { DesignComponentGroupRemoteModel } from "../../model/groups/SDKDesignComponentGroup";
14
14
  import { TokenGroup, TokenGroupRemoteModel } from "../../model/groups/SDKTokenGroup";
15
15
  import { Membership, MembershipRemoteModel } from "../../model/membership/SDKMembership";
16
+ import { ResourceFont, ResourceFontModel } from "../../model/resources/SDKResourceFont";
16
17
  import { Source, SourceRemoteModel } from "../../model/support/SDKSource";
17
18
  import { Token } from "../../model/tokens/SDKToken";
18
19
  import { TokenRemoteModel } from "../../model/tokens/remote/SDKRemoteTokenModel";
@@ -41,6 +42,8 @@ export declare class AreaRawData {
41
42
  }>;
42
43
  /** Fetches raw source data */
43
44
  getRawSourceModelData(designSystemId: string): Promise<Array<SourceRemoteModel>>;
45
+ /** Fetches raw font resources data */
46
+ getRawFontResourcesModelData(designSystemId: string, versionId: string): Promise<Array<ResourceFontModel>>;
44
47
  /** Fetches raw membership */
45
48
  getRawMembershipModelData(userId: string): Promise<Array<MembershipRemoteModel>>;
46
49
  /** Fetches raw design systems */
@@ -73,6 +76,8 @@ export declare class AreaRawData {
73
76
  };
74
77
  /** Build sources */
75
78
  buildSourcesFromRaw(rawData: Array<SourceRemoteModel>): Array<Source>;
79
+ /** Build font resources */
80
+ buildFontResourcesFromRaw(rawData: Array<ResourceFontModel>): Array<ResourceFont>;
76
81
  /** Builds memberships */
77
82
  buildMembershipsFromRaw(rawData: Array<MembershipRemoteModel>): Array<Membership>;
78
83
  /** Builds design systems */
@@ -1,6 +1,8 @@
1
1
  export declare class Configuration {
2
2
  /** Retrieve API URL for default target */
3
3
  static apiUrlForDefaultEnvironment(): string;
4
+ /** Retrieve API URL for default AI target */
5
+ static aiApiUrlForDefaultEnvironment(): string;
4
6
  /** Retrieve API version for the specific environment accesse */
5
7
  static apiVersionForDefaultEnvironment(): string;
6
8
  }
@@ -15,26 +15,28 @@ export type DebugRequestObserver = (info: {
15
15
  }) => void;
16
16
  export type DataBridgeConfiguration = {
17
17
  apiUrl: string;
18
+ aiApiUrl: string;
18
19
  apiVersion: string;
19
20
  accessToken: string;
20
21
  target: string | null;
21
- bypassEnvFetch: boolean;
22
+ customFetchLib: any | null;
23
+ customProxyLib: any | null;
22
24
  requestHook: DataBridgeRequestHook | null;
23
25
  debugRequestObserver?: DebugRequestObserver | null;
24
26
  debugResponseObserver?: DebugResponseObserver | null;
25
- proxyUrl?: string | null;
26
27
  jobId?: string | null;
27
28
  isPreview?: boolean;
28
29
  };
29
30
  export declare class DataBridge {
30
31
  authToken: string;
31
32
  apiUrl: string;
33
+ aiApiUrl: string;
32
34
  apiVersion: string;
33
35
  target: string | null;
34
- bypassEnvFetch: boolean;
36
+ customFetchLib: any | null;
37
+ customProxyLib: any | null;
35
38
  isPreview: boolean;
36
39
  jobId: string | null;
37
- proxyUrl: string | undefined;
38
40
  requestHook: DataBridgeRequestHook | null;
39
41
  debugRequestObserver: DebugRequestObserver | null;
40
42
  debugResponseObserver: DebugResponseObserver | null;
@@ -50,6 +52,7 @@ export declare class DataBridge {
50
52
  private buildRequestConfig;
51
53
  private getProxyAgent;
52
54
  private getFetchInvoker;
55
+ getApiEndpoint(fragment: string | null): string;
53
56
  getBaseEndpoint(fragment: string | null): string;
54
57
  getPublicEndpoint(fragment: string): string;
55
58
  getAclEndpoint(resource?: string): string;
@@ -1,4 +1,4 @@
1
- import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignElementsDataDiffResponse, DTODocumentationLinkPreviewRequest, DTODocumentationPageAnchor, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOElementActionInput, DTOExporterPropertyValueMap, DTOFigmaNode, DTOFigmaNodeRenderIdInput, DTOFigmaNodeRenderInput, DTOFigmaNodeV2, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPageRedirectCreateBody, DTOPageRedirectUpdateBody, DTOPipelineCreateBody, DTOPipelineUpdateBody, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
1
+ import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignElementsDataDiffResponse, DTODocumentationLinkPreviewRequest, DTODocumentationPageAnchor, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOElementActionInput, DTOElementPropertyValuesEditActionInput, DTOExporterPropertyValueMap, DTOFigmaNode, DTOFigmaNodeRenderIdInput, DTOFigmaNodeRenderInput, DTOFigmaNodeV2, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPageRedirectCreateBody, DTOPageRedirectUpdateBody, DTOPipelineCreateBody, DTOPipelineUpdateBody, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
2
2
  import { DesignSystemInvite, DesignSystemInviteUpdate, DesignSystemMemberUpdate, DesignSystemPendingMemberInvite, DesignSystemUserInvitation } from "@supernova-studio/model";
3
3
  import { DesignSystemAccessMode, DocsBlockDefinition, ExportBuildStatus, ExporterJobDestination, ResourceFont, TokenThemeOverrideTranserObject, UserRole } from "../../exports";
4
4
  import { Acl } from "../../model/acl/SDKAcl";
@@ -13,6 +13,7 @@ import { DesignSystemMemberList } from "../../model/base/SDKDesignSystemMemberLi
13
13
  import { DesignSystemVersion, DesignSystemVersionCreate, DesignSystemVersionCreationJob, DesignSystemVersionUpdateModel } from "../../model/base/SDKDesignSystemVersion";
14
14
  import { DesignSystemVersionStats } from "../../model/base/SDKDesignSystemVersionStats";
15
15
  import { DocumentationLegacy, DocumentationLegacyModel } from "../../model/base/SDKDocumentationLegacy";
16
+ import { CodeComponent } from "../../model/code-components/SDKCodeComponent";
16
17
  import { Component } from "../../model/components/SDKComponent";
17
18
  import { DesignComponent } from "../../model/components/SDKDesignComponent";
18
19
  import { DocsEntityGroupModel } from "../../model/docs/entities/SDKDocsEntityGroup";
@@ -95,16 +96,29 @@ export declare class DataCore {
95
96
  multiplayerToken(room: string | undefined): Promise<{
96
97
  token: string;
97
98
  }>;
98
- /** Remote: Forges code based on user prompt */
99
- forgeCode(designSystemId: string, versionId: string, prompt: string, components: Array<any>): Promise<string>;
100
- /** Remote: Reforges code based on user prompt */
101
- reforgeCode(designSystemId: string, versionId: string, prompt: string, components: Array<any>, existingCode: string): Promise<string>;
102
- /** Remote: Proposes title for generated code */
103
- proposeTitle(designSystemId: string, versionId: string, firstForgeQuery: string): Promise<string>;
104
- /** Remote: Answers question based on the data of design system in natural language */
105
- answerQuestion(workspaceId: string, designSystemId: string, versionId: string, persona: "designer" | "developer" | "code", askQuery: string): Promise<string>;
106
- /** Remote: Index a design system so it can be asked in natural language */
107
- indexDS(workspaceId: string, designSystemId: string, versionId: string): Promise<string>;
99
+ /** Remote: Summarizes a prompt into a title. Response is not streamed */
100
+ aiSummarizeIntoTitle(workspaceId: string, designSystemId: string, versionId: string, text: string, options: {
101
+ maxWordCount: number;
102
+ strategy: "noun" | "verb";
103
+ }): Promise<string>;
104
+ /** Remote: Autocompletes a prompt into a full text. Response is not streamed. */
105
+ aiAutocompleteText(workspaceId: string, designSystemId: string, versionId: string, text: string, options: {
106
+ maximumLength: number;
107
+ }): Promise<string>;
108
+ /** Remote: Answers question based on the data of design system in natural language. This method is non-streaming. */
109
+ aiAnswer(workspaceId: string, designSystemId: string, versionId: string, prompt: string, options: {
110
+ persona: "designer" | "developer";
111
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
112
+ density: "compact" | "full";
113
+ }): Promise<string>;
114
+ /** Remote: Answers question based on the data of design system in natural language. This method streams answer. */
115
+ aiAnswerAsStream(workspaceId: string, designSystemId: string, versionId: string, prompt: string, options: {
116
+ persona: "designer" | "developer";
117
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
118
+ density: "compact" | "full";
119
+ }): Promise<ReadableStream<Uint8Array>>;
120
+ /** Indexes or reindexes a design system to prepare it for QA engine */
121
+ aiRebuildAnswerIndex(workspaceId: string, designSystemId: string, versionId: string): Promise<string>;
108
122
  /** Remote: Get information about currently logged in user */
109
123
  currentUser(): Promise<User>;
110
124
  /** Remote: Get information about a specific user */
@@ -203,6 +217,8 @@ export declare class DataCore {
203
217
  createDocumentationPage(designSystemId: string, versionId: string, payload: Omit<DTOCreateDocumentationPageInputV2, "persistentId">): Promise<string>;
204
218
  /** General element action */
205
219
  elementAction(designSystemId: string, versionId: string, data: DTOElementActionInput): Promise<any>;
220
+ /** Bulk update properties */
221
+ updateElementProperties(designSystemId: string, versionId: string, data: DTOElementPropertyValuesEditActionInput): Promise<any>;
206
222
  /** Update page approval state */
207
223
  updateApprovalState(designSystemId: string, versionId: string, payload: DTODocumentationPageApprovalStateChangeInput): Promise<string>;
208
224
  /** Update design system's access mode and, if switching to invite-only, also the member list */
@@ -300,6 +316,8 @@ export declare class DataCore {
300
316
  deleteComponentGroup(designSystemId: string, versionId: string, componentGroupToDelete: ComponentGroup, components: Array<Component>, componentGroups: Array<ComponentGroup>): Promise<void>;
301
317
  /** Write the component to remote */
302
318
  writeComponentData(designSystemId: string, versionId: string, components: Array<Component>, groups: Array<ComponentGroup>, deleteComponents: Array<Component>, deleteGroups: Array<ComponentGroup>): Promise<void>;
319
+ /** Download all necessary data for code components and retrieve them resolved */
320
+ codeComponents(designSystemId: string, versionId: string): Promise<Array<CodeComponent>>;
303
321
  /** Download all necessary data for assets and retrieve them resolved */
304
322
  assets(designSystemId: string, versionId: string): Promise<Array<Asset>>;
305
323
  /** Download all necessary data for asset groups and retrieve them resolved */
@@ -2,14 +2,27 @@ import { DataBridge } from "../SDKDataBridge";
2
2
  export declare class DataCoreAIRequests {
3
3
  private bridge;
4
4
  constructor(bridge: DataBridge);
5
- /** Remote: Forges code based on user prompt */
6
- forgeCode(designSystemId: string, versionId: string, prompt: string, components: Array<any>): Promise<string>;
7
- /** Remote: Reforges code based on user prompt */
8
- reforgeCode(designSystemId: string, versionId: string, prompt: string, components: Array<any>, existingCode: string): Promise<string>;
9
- /** Remote: Proposes title for the forged code */
10
- proposeTitle(designSystemId: string, versionId: string, firstForgeQuery: string): Promise<string>;
11
- /** Remote: Answers question based on the data of design system in natural language */
12
- answerQuestion(workspaceId: string, designSystemId: string, versionId: string, persona: "designer" | "developer" | "code", askQuery: string): Promise<string>;
13
- /** Remote: Index a design system so it can be asked in natural language */
14
- indexDS(workspaceId: string, designSystemId: string, versionId: string): Promise<string>;
5
+ /** Remote: Summarizes a prompt into a title. Response is not streamed */
6
+ summarizeIntoTitle(workspaceId: string, designSystemId: string, versionId: string, text: string, options: {
7
+ maxWordCount: number;
8
+ strategy: "noun" | "verb";
9
+ }): Promise<string>;
10
+ /** Remote: Autocompletes a prompt into a full text. Response is not streamed. */
11
+ autocompleteText(workspaceId: string, designSystemId: string, versionId: string, text: string, options: {
12
+ maximumLength: number;
13
+ }): Promise<string>;
14
+ /** Remote: Answers question based on the data of design system in natural language. This method is non-streaming. */
15
+ answer(workspaceId: string, designSystemId: string, versionId: string, question: string, options: {
16
+ persona: "designer" | "developer";
17
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
18
+ density: "compact" | "full";
19
+ }): Promise<string>;
20
+ /** Remote: Answers question based on the data of design system in natural language. This method streams answer. */
21
+ answerAsStream(workspaceId: string, designSystemId: string, versionId: string, question: string, options: {
22
+ persona: "designer" | "developer";
23
+ scope: "all" | "tokens" | "components" | "assets" | "docs";
24
+ density: "compact" | "full";
25
+ }): Promise<ReadableStream<Uint8Array>>;
26
+ /** Indexes or reindexes a design system to prepare it for QA engine */
27
+ rebuildAnswerIndex(workspaceId: string, designSystemId: string, versionId: string): Promise<string>;
15
28
  }
@@ -4,6 +4,7 @@ import { BootstrapDataRemoteModel } from "../../../model/base/SDKBootstrapData";
4
4
  import { BrandRemoteModel } from "../../../model/base/SDKBrand";
5
5
  import { DesignSystemVersionCreationJobRemoteModel, DesignSystemVersionRemoteModel } from "../../../model/base/SDKDesignSystemVersion";
6
6
  import { DocumentationLegacyModel } from "../../../model/base/SDKDocumentationLegacy";
7
+ import { CodeComponentRemoteModel } from "../../../model/code-components/SDKCodeComponent";
7
8
  import { ComponentRemoteModel } from "../../../model/components/SDKComponent";
8
9
  import { DesignComponentRemoteModel } from "../../../model/components/SDKDesignComponent";
9
10
  import { DocsBlockDefinitionModel } from "../../../model/docs/blocks/definition/SDKDocsBlockDefinition";
@@ -226,6 +227,8 @@ export declare class DataCoreReadRequests {
226
227
  getRemoteDesignComponentGroups(designSystemId: string, versionId: string, filter?: {
227
228
  brandId?: string;
228
229
  }): Promise<Array<DesignComponentGroupRemoteModel>>;
230
+ /** Remote: Get code components */
231
+ getRemoteCodeComponents(designSystemId: string, versionId: string): Promise<Array<CodeComponentRemoteModel>>;
229
232
  /** Remote: Get assets (right now, those are only components coming from Figma, but this will change in the future) */
230
233
  getRemoteAssets(designSystemId: string, versionId: string): Promise<Array<DesignComponentRemoteModel>>;
231
234
  /** Remote: Get design component groups (right now, those are only components coming from Figma, but this will change in the future) */
@@ -1,4 +1,4 @@
1
- import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignSystem, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOElementActionInput, DTOExporterPropertyValueMap, DTOFigmaNode, DTOFigmaNodeRenderIdInput, DTOFigmaNodeRenderInput, DTOFigmaNodeV2, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPageRedirectCreateBody, DTOPageRedirectUpdateBody, DTOPipelineCreateBody, DTOPipelineUpdateBody, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
1
+ import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignSystem, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOElementActionInput, DTOElementPropertyValuesEditActionInput, DTOExporterPropertyValueMap, DTOFigmaNode, DTOFigmaNodeRenderIdInput, DTOFigmaNodeRenderInput, DTOFigmaNodeV2, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPageRedirectCreateBody, DTOPageRedirectUpdateBody, DTOPipelineCreateBody, DTOPipelineUpdateBody, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
2
2
  import { DesignSystemInvite, DesignSystemInviteUpdate, DesignSystemMemberUpdate, DesignSystemPendingMemberInvite, DesignSystemUserInvitation } from "@supernova-studio/model";
3
3
  import { DesignSystemAccessMode, ExporterJobDestination, TokenThemeOverrideTranserObject, UserRole } from "../../../exports";
4
4
  import { Brand, BrandRemoteModel, BrandUpdateModel } from "../../../model/base/SDKBrand";
@@ -140,6 +140,7 @@ export declare class DataCoreWriteRequests {
140
140
  /** Remote: Deletes a design system */
141
141
  deleteDesignSystem(designSystemId: string): Promise<void>;
142
142
  elementAction(designSystemId: string, versionId: string, data: DTOElementActionInput): Promise<any>;
143
+ updateElementProperties(designSystemId: string, versionId: string, data: DTOElementPropertyValuesEditActionInput): Promise<any>;
143
144
  createRemoteDocumentationPage(designSystemId: string, versionId: string, data: DTOCreateDocumentationPageInputV2): Promise<any>;
144
145
  updateApprovalState(designSystemId: string, versionId: string, data: DTODocumentationPageApprovalStateChangeInput): Promise<any>;
145
146
  /** Remote: create a group within documentation */
@@ -276,6 +277,7 @@ export declare class DataCoreWriteRequests {
276
277
  workspaceSlug: string;
277
278
  projectKey: string;
278
279
  repoSlug: string;
280
+ url?: string | undefined;
279
281
  userId?: number | undefined;
280
282
  relativePath?: string | undefined;
281
283
  purgeDirectory?: boolean | undefined;
@@ -444,6 +446,7 @@ export declare class DataCoreWriteRequests {
444
446
  workspaceSlug: string;
445
447
  projectKey: string;
446
448
  repoSlug: string;
449
+ url?: string | undefined;
447
450
  userId?: number | undefined;
448
451
  relativePath?: string | undefined;
449
452
  purgeDirectory?: boolean | undefined;
@@ -501,6 +504,7 @@ export declare class DataCoreWriteRequests {
501
504
  workspaceSlug: string;
502
505
  projectKey: string;
503
506
  repoSlug: string;
507
+ url?: string | undefined;
504
508
  userId?: number | undefined;
505
509
  relativePath?: string | undefined;
506
510
  purgeDirectory?: boolean | undefined;
@@ -669,6 +673,7 @@ export declare class DataCoreWriteRequests {
669
673
  workspaceSlug: string;
670
674
  projectKey: string;
671
675
  repoSlug: string;
676
+ url?: string | undefined;
672
677
  userId?: number | undefined;
673
678
  relativePath?: string | undefined;
674
679
  purgeDirectory?: boolean | undefined;
@@ -42,7 +42,9 @@ export type { DesignSystemVersionCreate, DesignSystemVersionUpdateModel, DesignS
42
42
  export { Membership } from "./model/membership/SDKMembership";
43
43
  export { Exporter, type NewExporterPayload, type ExporterProvider, } from "./model/exporters/SDKExporter";
44
44
  export type { ExporterPropertyDefinition } from "./model/exporters/custom_properties/SDKExporterPropertyDefinition";
45
+ export { ExporterPropertyDefinitionArray } from "./model/exporters/custom_properties/SDKExporterPropertyArray";
45
46
  export { ExporterPropertyDefinitionBoolean } from "./model/exporters/custom_properties/SDKExporterPropertyBoolean";
47
+ export { ExporterPropertyDefinitionCode } from "./model/exporters/custom_properties/SDKExporterPropertyCode";
46
48
  export { ExporterPropertyDefinitionEnum } from "./model/exporters/custom_properties/SDKExporterPropertyEnum";
47
49
  export { ExporterPropertyDefinitionNumber } from "./model/exporters/custom_properties/SDKExporterPropertyNumber";
48
50
  export { ExporterPropertyDefinitionObject } from "./model/exporters/custom_properties/SDKExporterPropertyObject";
@@ -66,6 +68,9 @@ export { ElementDataViewColumn, ElementDataViewColumnBasePropertyType, ElementDa
66
68
  export { DesignComponent } from "./model/components/SDKDesignComponent";
67
69
  export { DesignComponentVariant } from "./model/components/SDKDesignComponentVariant";
68
70
  export { DesignComponentPropertyBoolean, DesignComponentPropertyDefinition, DesignComponentPropertyInstanceSwap, DesignComponentPropertyText, DesignComponentPropertyVariant, DesignComponentPropertyType, } from "./model/components/SDKDesignComponentPropertyDefinition";
71
+ export { CodeComponent } from './model/code-components/SDKCodeComponent';
72
+ export { CodeComponentPropertyControlType, CodeComponentPropertyControlDefinition } from './model/code-components/SDKCodeComponentPropertyControlDefinition';
73
+ export { CodeComponentPropertyDefinition } from './model/code-components/SDKCodeComponentPropertyDefinition';
69
74
  export { DocsBlockBehavior } from "./model/docs/blocks/definition/SDKDocsBlockBehavior";
70
75
  export { DocsBlockDefinition } from "./model/docs/blocks/definition/SDKDocsBlockDefinition";
71
76
  export { DocsBlockItemDefinition } from "./model/docs/blocks/definition/SDKDocsBlockItemDefinition";
@@ -276,6 +281,7 @@ export { BorderToken } from "./model/tokens/SDKBorderToken";
276
281
  export { ColorToken } from "./model/tokens/SDKColorToken";
277
282
  export { GradientToken } from "./model/tokens/SDKGradientToken";
278
283
  export { DimensionToken, SizeToken, SpaceToken, OpacityToken, FontSizeToken, LineHeightToken, LetterSpacingToken, ParagraphSpacingToken, BorderWidthToken, RadiusToken, DurationToken, ZIndexToken, } from "./model/tokens/SDKDimensionToken";
284
+ export type { TokenUtilPreviewResolvedStyle } from "./tools/token-preview/TokenUtilPreviewTypes";
279
285
  export type { AnyDimensionToken } from "./model/tokens/SDKDimensionToken";
280
286
  export { ShadowToken } from "./model/tokens/SDKShadowToken";
281
287
  export { TypographyToken } from "./model/tokens/SDKTypographyToken";
@@ -0,0 +1,15 @@
1
+ import { DTOCodeComponent } from "@supernova-studio/client";
2
+ import { CodeComponentPropertyDefinition } from "./SDKCodeComponentPropertyDefinition";
3
+ export type CodeComponentRemoteModel = DTOCodeComponent;
4
+ export declare class CodeComponent {
5
+ idInVersion: string;
6
+ id: string;
7
+ designSystemVersionId: string;
8
+ exportName: string;
9
+ createdAt: Date | null;
10
+ updatedAt: Date | null;
11
+ properties: {
12
+ [key: string]: CodeComponentPropertyDefinition;
13
+ };
14
+ constructor(model: CodeComponentRemoteModel);
15
+ }
@@ -0,0 +1,17 @@
1
+ import { DTOCodeComponentProperty } from "@supernova-studio/client";
2
+ export declare enum CodeComponentPropertyControlType {
3
+ Boolean = "Boolean",
4
+ Function = "Function",
5
+ Number = "Number",
6
+ Object = "Object",
7
+ Slot = "Slot",
8
+ String = "String",
9
+ Unknown = "Unknown"
10
+ }
11
+ type CodeComponentPropertyControlDefinitionRemoteType = DTOCodeComponentProperty['control'];
12
+ export declare class CodeComponentPropertyControlDefinition {
13
+ isArray: boolean;
14
+ type: CodeComponentPropertyControlType;
15
+ constructor(model: CodeComponentPropertyControlDefinitionRemoteType);
16
+ }
17
+ export {};
@@ -0,0 +1,12 @@
1
+ import { DTOCodeComponentProperty } from "@supernova-studio/client";
2
+ import { CodeComponentPropertyControlDefinition } from "./SDKCodeComponentPropertyControlDefinition";
3
+ type CodeComponentPropertyDefinitionRemoteType = DTOCodeComponentProperty;
4
+ export declare class CodeComponentPropertyDefinition {
5
+ control: CodeComponentPropertyControlDefinition;
6
+ defaultValue: string | null;
7
+ name: string;
8
+ required: boolean;
9
+ type: string;
10
+ constructor(model: CodeComponentPropertyDefinitionRemoteType);
11
+ }
12
+ export {};
@@ -9,6 +9,8 @@ export type DocsBlockStorybookPropertyOptions = {
9
9
  allowResize?: boolean;
10
10
  /** Defined how to validate the embed URL */
11
11
  urlValidationRegex?: string;
12
+ /** Defines how the storybook should be rendered in the editor */
13
+ renderLayoutAs?: "Playground" | "Iframe";
12
14
  };
13
15
  /** Storybook property - Data */
14
16
  export type DocsBlockStorybookPropertyData = DocsBlockPropertyData<string | undefined> & {
@@ -1,16 +1,28 @@
1
1
  declare const badgeColorValues: {
2
- readonly blue: "#EDF5FF";
3
- readonly cyan: "#D5FBFE";
4
- readonly fuchsia: "#FCF0FF";
5
- readonly green: "#EBFEF6";
6
- readonly grey: "#EDEFF3";
7
- readonly lightGrey: "#F6F7F9";
8
- readonly orange: "#FFF2E1";
9
- readonly pink: "#FDF0F7";
10
- readonly purple: "#F5F2FD";
11
- readonly red: "#FEF1F2";
12
- readonly teal: "#DFFDF6";
13
- readonly yellow: "#FEF9C3";
2
+ readonly blue: "#EFF7FF";
3
+ readonly cyan: "#E8FCFF";
4
+ readonly fuchsia: "#FFECFF";
5
+ readonly green: "#EAFDEF";
6
+ readonly grey: "#F5F9FF";
7
+ readonly lightGrey: "#F9F9F9";
8
+ readonly orange: "#FFF4E8";
9
+ readonly pink: "#FFEDFA";
10
+ readonly purple: "#FAF3FF";
11
+ readonly red: "#FFEDED";
12
+ readonly teal: "#E8FDFA";
13
+ readonly yellow: "#FFFEE8";
14
+ readonly blueSolid: "#2B7FFF";
15
+ readonly cyanSolid: "#00D3F2";
16
+ readonly fuchsiaSolid: "#E12AFB";
17
+ readonly greenSolid: "#31DE69";
18
+ readonly greySolid: "#62748E";
19
+ readonly lightGreySolid: "#D4D4D4";
20
+ readonly orangeSolid: "#FF8904";
21
+ readonly pinkSolid: "#F6339A";
22
+ readonly purpleSolid: "#8E51FF";
23
+ readonly redSolid: "#FB2E27";
24
+ readonly tealSolid: "#00D5BE";
25
+ readonly yellowSolid: "#FCC801";
14
26
  readonly custom: null;
15
27
  };
16
28
  export type ElementPropertyOptionBadgeColor = keyof typeof badgeColorValues;
@@ -0,0 +1,7 @@
1
+ import { DTOExporterPropertyDefinitionArray } from "@supernova-studio/client";
2
+ import { ExporterPropertyBase, ExporterPropertyType } from "./SDKExporterPropertyBase";
3
+ export declare class ExporterPropertyDefinitionArray extends ExporterPropertyBase {
4
+ type: ExporterPropertyType;
5
+ defaultValues: string[];
6
+ constructor(model: DTOExporterPropertyDefinitionArray);
7
+ }
@@ -1,5 +1,5 @@
1
1
  import { DTOExporterPropertyDefinition } from "@supernova-studio/client";
2
- export type ExporterPropertyType = "Boolean" | "Number" | "String" | "Enum" | "Array" | "Object";
2
+ export type ExporterPropertyType = "Array" | "Boolean" | "Code" | "Enum" | "Number" | "Object" | "String";
3
3
  export declare class ExporterPropertyBase {
4
4
  key: string;
5
5
  title: string;
@@ -0,0 +1,8 @@
1
+ import { DTOExporterPropertyDefinitionCode } from "@supernova-studio/client";
2
+ import { ExporterPropertyBase, ExporterPropertyType } from "./SDKExporterPropertyBase";
3
+ export declare class ExporterPropertyDefinitionCode extends ExporterPropertyBase {
4
+ type: ExporterPropertyType;
5
+ language: string;
6
+ defaultValue: string;
7
+ constructor(model: DTOExporterPropertyDefinitionCode);
8
+ }
@@ -1,6 +1,8 @@
1
+ import { ExporterPropertyDefinitionArray } from "./SDKExporterPropertyArray";
1
2
  import { ExporterPropertyDefinitionBoolean } from "./SDKExporterPropertyBoolean";
3
+ import { ExporterPropertyDefinitionCode } from "./SDKExporterPropertyCode";
2
4
  import { ExporterPropertyDefinitionEnum } from "./SDKExporterPropertyEnum";
3
5
  import { ExporterPropertyDefinitionNumber } from "./SDKExporterPropertyNumber";
4
6
  import { ExporterPropertyDefinitionObject } from "./SDKExporterPropertyObject";
5
7
  import { ExporterPropertyDefinitionString } from "./SDKExporterPropertyString";
6
- export type ExporterPropertyDefinition = ExporterPropertyDefinitionBoolean | ExporterPropertyDefinitionEnum | ExporterPropertyDefinitionNumber | ExporterPropertyDefinitionObject | ExporterPropertyDefinitionString;
8
+ export type ExporterPropertyDefinition = ExporterPropertyDefinitionArray | ExporterPropertyDefinitionBoolean | ExporterPropertyDefinitionCode | ExporterPropertyDefinitionEnum | ExporterPropertyDefinitionNumber | ExporterPropertyDefinitionObject | ExporterPropertyDefinitionString;
@@ -5,7 +5,7 @@ type AllowedKeys = {
5
5
  };
6
6
  export declare class ExporterPropertyDefinitionObject extends ExporterPropertyBase {
7
7
  type: ExporterPropertyType;
8
- allowedKeys: AllowedKeys;
8
+ allowedKeys: AllowedKeys | null;
9
9
  defaultValues: Record<string, string>;
10
10
  constructor(model: DTOExporterPropertyDefinitionObject);
11
11
  }
@@ -2,6 +2,7 @@ import { DTOExporterPropertyDefinitionString } from "@supernova-studio/client";
2
2
  import { ExporterPropertyBase, ExporterPropertyType } from "./SDKExporterPropertyBase";
3
3
  export declare class ExporterPropertyDefinitionString extends ExporterPropertyBase {
4
4
  type: ExporterPropertyType;
5
+ isMultiline: boolean;
5
6
  defaultValue: string;
6
7
  constructor(model: DTOExporterPropertyDefinitionString);
7
8
  }