@superblocksteam/shared 0.9576.2 → 0.9577.0

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 (222) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/plugins/templates/adls.d.ts.map +1 -1
  6. package/dist/plugins/templates/adls.js +2 -1
  7. package/dist/plugins/templates/adls.js.map +1 -1
  8. package/dist/plugins/templates/googleAnalytics.d.ts.map +1 -1
  9. package/dist/plugins/templates/googleAnalytics.js +2 -0
  10. package/dist/plugins/templates/googleAnalytics.js.map +1 -1
  11. package/dist/plugins/templates/googleDrive.d.ts.map +1 -1
  12. package/dist/plugins/templates/googleDrive.js +2 -0
  13. package/dist/plugins/templates/googleDrive.js.map +1 -1
  14. package/dist/plugins/templates/gsheets.d.ts.map +1 -1
  15. package/dist/plugins/templates/gsheets.js +3 -2
  16. package/dist/plugins/templates/gsheets.js.map +1 -1
  17. package/dist/plugins/templates/javascript.js +1 -1
  18. package/dist/plugins/templates/kafka.d.ts.map +1 -1
  19. package/dist/plugins/templates/kafka.js +9 -4
  20. package/dist/plugins/templates/kafka.js.map +1 -1
  21. package/dist/plugins/templates/kinesis.d.ts.map +1 -1
  22. package/dist/plugins/templates/kinesis.js +2 -1
  23. package/dist/plugins/templates/kinesis.js.map +1 -1
  24. package/dist/plugins/templates/openai_v2.d.ts.map +1 -1
  25. package/dist/plugins/templates/openai_v2.js +1 -0
  26. package/dist/plugins/templates/openai_v2.js.map +1 -1
  27. package/dist/plugins/templates/redis.d.ts.map +1 -1
  28. package/dist/plugins/templates/redis.js +2 -2
  29. package/dist/plugins/templates/redis.js.map +1 -1
  30. package/dist/plugins/templates/restApi.js +1 -1
  31. package/dist/plugins/templates/restApi.js.map +1 -1
  32. package/dist/plugins/templates/restApiIntegration.js +1 -1
  33. package/dist/plugins/templates/restApiIntegration.js.map +1 -1
  34. package/dist/plugins/templates/secrets/akeylessSecretsManager.js +1 -1
  35. package/dist/plugins/templates/secrets/akeylessSecretsManager.js.map +1 -1
  36. package/dist/plugins/templates/secrets/awsSecretsManager.js +1 -1
  37. package/dist/plugins/templates/secrets/awsSecretsManager.js.map +1 -1
  38. package/dist/plugins/templates/secrets/gcpSecretsManager.js +1 -1
  39. package/dist/plugins/templates/secrets/gcpSecretsManager.js.map +1 -1
  40. package/dist/plugins/templates/secrets/hashicorpVault.js +1 -1
  41. package/dist/plugins/templates/secrets/hashicorpVault.js.map +1 -1
  42. package/dist/plugins/templates/shared/auth.js +4 -4
  43. package/dist/plugins/templates/shared/auth.js.map +1 -1
  44. package/dist/plugins/templates/smtp.d.ts.map +1 -1
  45. package/dist/plugins/templates/smtp.js +2 -1
  46. package/dist/plugins/templates/smtp.js.map +1 -1
  47. package/dist/plugins/templates/snowflakecortex.d.ts.map +1 -1
  48. package/dist/plugins/templates/snowflakecortex.js +1 -0
  49. package/dist/plugins/templates/snowflakecortex.js.map +1 -1
  50. package/dist/plugins/templates/snowflakepostgres.js +1 -1
  51. package/dist/plugins/templates/snowflakepostgres.js.map +1 -1
  52. package/dist/plugins/templates/superblocks-ocr.d.ts.map +1 -1
  53. package/dist/plugins/templates/superblocks-ocr.js +2 -1
  54. package/dist/plugins/templates/superblocks-ocr.js.map +1 -1
  55. package/dist/types/ai/quota-paywall.d.ts +2 -2
  56. package/dist/types/ai/quota-paywall.d.ts.map +1 -1
  57. package/dist/types/ai/quota-paywall.js +10 -6
  58. package/dist/types/ai/quota-paywall.js.map +1 -1
  59. package/dist/types/audit/audit.d.ts +2 -1
  60. package/dist/types/audit/audit.d.ts.map +1 -1
  61. package/dist/types/audit/audit.js +1 -0
  62. package/dist/types/audit/audit.js.map +1 -1
  63. package/dist/types/audit/ocsf.js +1 -1
  64. package/dist/types/audit/ocsf.js.map +1 -1
  65. package/dist/types/billing/billing.d.ts +2 -0
  66. package/dist/types/billing/billing.d.ts.map +1 -1
  67. package/dist/types/billing/billing.js +15 -0
  68. package/dist/types/billing/billing.js.map +1 -1
  69. package/dist/types/datasource/index.d.ts +1 -0
  70. package/dist/types/datasource/index.d.ts.map +1 -1
  71. package/dist/types/datasource/index.js.map +1 -1
  72. package/dist/types/repository/index.d.ts +2 -1
  73. package/dist/types/repository/index.d.ts.map +1 -1
  74. package/dist/types/repository/index.js +8 -0
  75. package/dist/types/repository/index.js.map +1 -1
  76. package/dist/utils/azure-devops-workflow.d.ts +4 -0
  77. package/dist/utils/azure-devops-workflow.d.ts.map +1 -0
  78. package/dist/utils/azure-devops-workflow.js +37 -0
  79. package/dist/utils/azure-devops-workflow.js.map +1 -0
  80. package/dist/utils/git-url.d.ts +3 -0
  81. package/dist/utils/git-url.d.ts.map +1 -1
  82. package/dist/utils/git-url.js +43 -9
  83. package/dist/utils/git-url.js.map +1 -1
  84. package/dist/utils/git-url.test.js +9 -1
  85. package/dist/utils/git-url.test.js.map +1 -1
  86. package/dist/utils/pageFixtures/v6/nested_modal.js +3 -3
  87. package/dist/utils/pageFixtures/v6/nested_modal.js.map +1 -1
  88. package/dist/utils/pageFixtures/v6/with_2_modals.js +6 -6
  89. package/dist/utils/pageFixtures/v6/with_2_modals.js.map +1 -1
  90. package/dist/utils/pageFixtures/v6/with_slideouts.js +1 -1
  91. package/dist/utils/pageFixtures/v6/with_slideouts.js.map +1 -1
  92. package/dist/utils/pageFixtures/v7/canvases.js +2 -2
  93. package/dist/utils/pageFixtures/v7/canvases.js.map +1 -1
  94. package/dist-esm/index.d.ts +1 -0
  95. package/dist-esm/index.d.ts.map +1 -1
  96. package/dist-esm/index.js +1 -0
  97. package/dist-esm/index.js.map +1 -1
  98. package/dist-esm/plugins/templates/adls.d.ts.map +1 -1
  99. package/dist-esm/plugins/templates/adls.js +3 -2
  100. package/dist-esm/plugins/templates/adls.js.map +1 -1
  101. package/dist-esm/plugins/templates/googleAnalytics.d.ts.map +1 -1
  102. package/dist-esm/plugins/templates/googleAnalytics.js +2 -0
  103. package/dist-esm/plugins/templates/googleAnalytics.js.map +1 -1
  104. package/dist-esm/plugins/templates/googleDrive.d.ts.map +1 -1
  105. package/dist-esm/plugins/templates/googleDrive.js +2 -0
  106. package/dist-esm/plugins/templates/googleDrive.js.map +1 -1
  107. package/dist-esm/plugins/templates/gsheets.d.ts.map +1 -1
  108. package/dist-esm/plugins/templates/gsheets.js +4 -3
  109. package/dist-esm/plugins/templates/gsheets.js.map +1 -1
  110. package/dist-esm/plugins/templates/javascript.js +1 -1
  111. package/dist-esm/plugins/templates/kafka.d.ts.map +1 -1
  112. package/dist-esm/plugins/templates/kafka.js +10 -5
  113. package/dist-esm/plugins/templates/kafka.js.map +1 -1
  114. package/dist-esm/plugins/templates/kinesis.d.ts.map +1 -1
  115. package/dist-esm/plugins/templates/kinesis.js +3 -2
  116. package/dist-esm/plugins/templates/kinesis.js.map +1 -1
  117. package/dist-esm/plugins/templates/openai_v2.d.ts.map +1 -1
  118. package/dist-esm/plugins/templates/openai_v2.js +2 -1
  119. package/dist-esm/plugins/templates/openai_v2.js.map +1 -1
  120. package/dist-esm/plugins/templates/redis.d.ts.map +1 -1
  121. package/dist-esm/plugins/templates/redis.js +3 -3
  122. package/dist-esm/plugins/templates/redis.js.map +1 -1
  123. package/dist-esm/plugins/templates/restApi.js +1 -1
  124. package/dist-esm/plugins/templates/restApi.js.map +1 -1
  125. package/dist-esm/plugins/templates/restApiIntegration.js +1 -1
  126. package/dist-esm/plugins/templates/restApiIntegration.js.map +1 -1
  127. package/dist-esm/plugins/templates/secrets/akeylessSecretsManager.js +1 -1
  128. package/dist-esm/plugins/templates/secrets/akeylessSecretsManager.js.map +1 -1
  129. package/dist-esm/plugins/templates/secrets/awsSecretsManager.js +1 -1
  130. package/dist-esm/plugins/templates/secrets/awsSecretsManager.js.map +1 -1
  131. package/dist-esm/plugins/templates/secrets/gcpSecretsManager.js +1 -1
  132. package/dist-esm/plugins/templates/secrets/gcpSecretsManager.js.map +1 -1
  133. package/dist-esm/plugins/templates/secrets/hashicorpVault.js +1 -1
  134. package/dist-esm/plugins/templates/secrets/hashicorpVault.js.map +1 -1
  135. package/dist-esm/plugins/templates/shared/auth.js +4 -4
  136. package/dist-esm/plugins/templates/shared/auth.js.map +1 -1
  137. package/dist-esm/plugins/templates/smtp.d.ts.map +1 -1
  138. package/dist-esm/plugins/templates/smtp.js +3 -2
  139. package/dist-esm/plugins/templates/smtp.js.map +1 -1
  140. package/dist-esm/plugins/templates/snowflakecortex.d.ts.map +1 -1
  141. package/dist-esm/plugins/templates/snowflakecortex.js +2 -1
  142. package/dist-esm/plugins/templates/snowflakecortex.js.map +1 -1
  143. package/dist-esm/plugins/templates/snowflakepostgres.js +1 -1
  144. package/dist-esm/plugins/templates/snowflakepostgres.js.map +1 -1
  145. package/dist-esm/plugins/templates/superblocks-ocr.d.ts.map +1 -1
  146. package/dist-esm/plugins/templates/superblocks-ocr.js +3 -2
  147. package/dist-esm/plugins/templates/superblocks-ocr.js.map +1 -1
  148. package/dist-esm/types/ai/quota-paywall.d.ts +2 -2
  149. package/dist-esm/types/ai/quota-paywall.d.ts.map +1 -1
  150. package/dist-esm/types/ai/quota-paywall.js +9 -5
  151. package/dist-esm/types/ai/quota-paywall.js.map +1 -1
  152. package/dist-esm/types/audit/audit.d.ts +2 -1
  153. package/dist-esm/types/audit/audit.d.ts.map +1 -1
  154. package/dist-esm/types/audit/audit.js +1 -0
  155. package/dist-esm/types/audit/audit.js.map +1 -1
  156. package/dist-esm/types/audit/ocsf.js +1 -1
  157. package/dist-esm/types/audit/ocsf.js.map +1 -1
  158. package/dist-esm/types/billing/billing.d.ts +2 -0
  159. package/dist-esm/types/billing/billing.d.ts.map +1 -1
  160. package/dist-esm/types/billing/billing.js +13 -0
  161. package/dist-esm/types/billing/billing.js.map +1 -1
  162. package/dist-esm/types/datasource/index.d.ts +1 -0
  163. package/dist-esm/types/datasource/index.d.ts.map +1 -1
  164. package/dist-esm/types/datasource/index.js.map +1 -1
  165. package/dist-esm/types/repository/index.d.ts +2 -1
  166. package/dist-esm/types/repository/index.d.ts.map +1 -1
  167. package/dist-esm/types/repository/index.js +8 -0
  168. package/dist-esm/types/repository/index.js.map +1 -1
  169. package/dist-esm/utils/azure-devops-workflow.d.ts +4 -0
  170. package/dist-esm/utils/azure-devops-workflow.d.ts.map +1 -0
  171. package/dist-esm/utils/azure-devops-workflow.js +32 -0
  172. package/dist-esm/utils/azure-devops-workflow.js.map +1 -0
  173. package/dist-esm/utils/git-url.d.ts +3 -0
  174. package/dist-esm/utils/git-url.d.ts.map +1 -1
  175. package/dist-esm/utils/git-url.js +40 -7
  176. package/dist-esm/utils/git-url.js.map +1 -1
  177. package/dist-esm/utils/git-url.test.js +9 -1
  178. package/dist-esm/utils/git-url.test.js.map +1 -1
  179. package/dist-esm/utils/pageFixtures/v6/nested_modal.js +3 -3
  180. package/dist-esm/utils/pageFixtures/v6/nested_modal.js.map +1 -1
  181. package/dist-esm/utils/pageFixtures/v6/with_2_modals.js +6 -6
  182. package/dist-esm/utils/pageFixtures/v6/with_2_modals.js.map +1 -1
  183. package/dist-esm/utils/pageFixtures/v6/with_slideouts.js +1 -1
  184. package/dist-esm/utils/pageFixtures/v6/with_slideouts.js.map +1 -1
  185. package/dist-esm/utils/pageFixtures/v7/canvases.js +2 -2
  186. package/dist-esm/utils/pageFixtures/v7/canvases.js.map +1 -1
  187. package/package.json +2 -2
  188. package/src/index.ts +1 -0
  189. package/src/pageMigrations/migrations/v6to7/__snapshots__/v6to7.test.ts.snap +10 -10
  190. package/src/plugins/templates/adls.ts +3 -2
  191. package/src/plugins/templates/googleAnalytics.ts +2 -0
  192. package/src/plugins/templates/googleDrive.ts +2 -0
  193. package/src/plugins/templates/gsheets.ts +4 -3
  194. package/src/plugins/templates/javascript.ts +1 -1
  195. package/src/plugins/templates/kafka.ts +11 -6
  196. package/src/plugins/templates/kinesis.ts +3 -2
  197. package/src/plugins/templates/openai_v2.ts +2 -1
  198. package/src/plugins/templates/redis.ts +4 -5
  199. package/src/plugins/templates/restApi.ts +1 -1
  200. package/src/plugins/templates/restApiIntegration.ts +1 -1
  201. package/src/plugins/templates/secrets/akeylessSecretsManager.ts +1 -1
  202. package/src/plugins/templates/secrets/awsSecretsManager.ts +1 -1
  203. package/src/plugins/templates/secrets/gcpSecretsManager.ts +1 -1
  204. package/src/plugins/templates/secrets/hashicorpVault.ts +1 -1
  205. package/src/plugins/templates/shared/auth.ts +4 -4
  206. package/src/plugins/templates/smtp.ts +3 -2
  207. package/src/plugins/templates/snowflakecortex.ts +2 -1
  208. package/src/plugins/templates/snowflakepostgres.ts +1 -1
  209. package/src/plugins/templates/superblocks-ocr.ts +3 -2
  210. package/src/types/ai/quota-paywall.ts +16 -6
  211. package/src/types/audit/audit.ts +2 -1
  212. package/src/types/audit/ocsf.ts +1 -1
  213. package/src/types/billing/billing.ts +17 -0
  214. package/src/types/datasource/index.ts +1 -0
  215. package/src/types/repository/index.ts +9 -1
  216. package/src/utils/azure-devops-workflow.ts +36 -0
  217. package/src/utils/git-url.test.ts +12 -1
  218. package/src/utils/git-url.ts +41 -8
  219. package/src/utils/pageFixtures/v6/nested_modal.ts +3 -3
  220. package/src/utils/pageFixtures/v6/with_2_modals.ts +6 -6
  221. package/src/utils/pageFixtures/v6/with_slideouts.ts +1 -1
  222. package/src/utils/pageFixtures/v7/canvases.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import { FormItem, EditorLanguage, FormComponentType, InputDataType, Plugin, PluginResponseType, PluginType } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_LOGO_URL, DOCS_BASE_URL } from './constants.js';
2
+ import { PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
 
4
4
  const KinesisPluginVersions = {
5
5
  V1: '0.0.1'
@@ -108,7 +108,8 @@ export const KinesisPlugin: Plugin = {
108
108
  moduleName: KINESIS_MODULE_NAME,
109
109
  modulePath: 'plugins/kinesis/KinesisPlugin',
110
110
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/kinesis.png`,
111
- docsUrl: `${DOCS_BASE_URL}/kinesis`,
111
+ // TODO(docs-v2): no kinesis page exists in docs-v2; add one or remove this line
112
+ docsUrl: undefined,
112
113
  type: PluginType.API,
113
114
  responseType: PluginResponseType.JSON,
114
115
  hasRawRequest: false,
@@ -1,10 +1,11 @@
1
1
  import { ExtendedIntegrationPluginId, Plugin } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_LOGO_URL, PUBLIC_INTEGRATIONS_CDN_URL } from './constants.js';
2
+ import { DOCS_BASE_URL, PUBLIC_INTEGRATIONS_CDN_URL, PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
  import { getNativeOpenApiPlugin } from './shared/index.js';
4
4
 
5
5
  export const OpenaiV2Plugin: Plugin = getNativeOpenApiPlugin({
6
6
  name: 'OpenAI',
7
7
  id: ExtendedIntegrationPluginId.OPENAI_V2,
8
+ docsURL: `${DOCS_BASE_URL}/openai`,
8
9
  openApiSpecURL: `${PUBLIC_INTEGRATIONS_CDN_URL}/openapi/openai.yaml`,
9
10
  logoURL: `${PUBLIC_INTEGRATIONS_LOGO_URL}/openai_logo.png`,
10
11
  authMethods: {
@@ -1,5 +1,5 @@
1
1
  import { FormComponentType, InputDataType, Plugin, PluginResponseType, PluginType } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_LOGO_URL, DOCS_BASE_URL } from './constants.js';
2
+ import { PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
 
4
4
  const RedisPluginVersions = {
5
5
  V1: '0.0.1'
@@ -75,11 +75,10 @@ const makeDropdownItem = (value: string, displayName?: string, subText?: string)
75
75
  };
76
76
  };
77
77
 
78
- // NOTE: (joey) make sure these docs are done pre-release
78
+ // TODO(docs-v2): no redis page exists in docs-v2; add one and restore docsUrl
79
+ export const RedisPlugin = generateRedisPlugin('redis', 'Redis', `${PUBLIC_INTEGRATIONS_LOGO_URL}/redis.png`);
79
80
 
80
- export const RedisPlugin = generateRedisPlugin('redis', 'Redis', `${PUBLIC_INTEGRATIONS_LOGO_URL}/redis.png`, `${DOCS_BASE_URL}/redis`);
81
-
82
- function generateRedisPlugin(id: string, name: string, iconLocation: string, docsUrl: string): Plugin {
81
+ function generateRedisPlugin(id: string, name: string, iconLocation: string, docsUrl?: string): Plugin {
83
82
  return {
84
83
  id,
85
84
  name,
@@ -30,7 +30,7 @@ export const RestApiPlugin: Plugin = {
30
30
  moduleName: 'RestApiPlugin',
31
31
  modulePath: 'plugins/restApi/RestApiPlugin',
32
32
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/restapi.png`,
33
- docsUrl: `${DOCS_BASE_URL}/rest-apis`,
33
+ docsUrl: `${DOCS_BASE_URL}/rest-api`,
34
34
  isStreamable: true,
35
35
  type: PluginType.API,
36
36
  responseType: PluginResponseType.JSON,
@@ -27,7 +27,7 @@ export const RestApiIntegrationPlugin: Plugin = {
27
27
  moduleName: 'RestApiIntegrationPlugin',
28
28
  modulePath: 'plugins/restApiIntegration/RestApiIntegrationPlugin',
29
29
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/restapi.png`,
30
- docsUrl: `${DOCS_BASE_URL}/rest-apis`,
30
+ docsUrl: `${DOCS_BASE_URL}/rest-api`,
31
31
  isStreamable: true,
32
32
  type: PluginType.API,
33
33
  responseType: PluginResponseType.JSON,
@@ -11,7 +11,7 @@ export const AkeylessSecretsManagerPlugin: Plugin = {
11
11
  moduleName: 'AkeylessSecretsManagerPlugin',
12
12
  modulePath: '',
13
13
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/akeyless.png`,
14
- docsUrl: 'https://docs.superblocks.com/development-lifecycle/secrets/akeyless-secrets-manager',
14
+ docsUrl: 'https://docs-legacy.superblocks.com/development-lifecycle/secrets/akeyless-secrets-manager',
15
15
  type: PluginType.DB,
16
16
  responseType: PluginResponseType.JSON,
17
17
  hasRawRequest: false,
@@ -19,7 +19,7 @@ export const AWSSecretsManagerPlugin: Plugin = {
19
19
  moduleName: 'AWSSecretsManagerPlugin',
20
20
  modulePath: '',
21
21
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/aws_secrets_manager.psd.png`,
22
- docsUrl: 'https://docs.superblocks.com/development-lifecycle/secrets/aws-secrets-manager',
22
+ docsUrl: 'https://docs-legacy.superblocks.com/development-lifecycle/secrets/aws-secrets-manager',
23
23
  type: PluginType.DB,
24
24
  responseType: PluginResponseType.JSON,
25
25
  hasRawRequest: false,
@@ -20,7 +20,7 @@ export const GCPSecretsManagerPlugin: Plugin = {
20
20
  moduleName: 'GCPSecretsManagerPlugin',
21
21
  modulePath: '',
22
22
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/secret_manager_1.png`,
23
- docsUrl: 'https://docs.superblocks.com/development-lifecycle/secrets/google-secrets-manager',
23
+ docsUrl: 'https://docs-legacy.superblocks.com/development-lifecycle/secrets/google-secrets-manager',
24
24
  type: PluginType.DB,
25
25
  responseType: PluginResponseType.JSON,
26
26
  hasRawRequest: false,
@@ -11,7 +11,7 @@ export const HashicorpVaultPlugin: Plugin = {
11
11
  moduleName: 'HashicorpVaultPlugin',
12
12
  modulePath: '',
13
13
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/hashicorpvault.png`,
14
- docsUrl: 'https://docs.superblocks.com/development-lifecycle/secrets/hashicorp-vault',
14
+ docsUrl: 'https://docs-legacy.superblocks.com/development-lifecycle/secrets/hashicorp-vault',
15
15
  type: PluginType.DB,
16
16
  responseType: PluginResponseType.JSON,
17
17
  hasRawRequest: false,
@@ -246,7 +246,7 @@ export const authSections = ({
246
246
  {
247
247
  label: '',
248
248
  messageTemplate: `The authorization header will be automatically generated when you send requests.
249
- Learn more about [Basic Auth](https://docs.superblocks.com/integrations/authentication/#basic-authentication) authorization.`,
249
+ Learn more about [Basic Auth](https://docs.superblocks.com/integrations/auth/authentication-types) authorization.`,
250
250
  name: 'HTTPBasicAlert',
251
251
  startVersion: startVersion,
252
252
  componentType: FormComponentType.ALERT,
@@ -496,7 +496,7 @@ export const authSections = ({
496
496
  [
497
497
  {
498
498
  label: '',
499
- messageTemplate: `**Where do I get my firebase credentials and allow access to Superblocks?** [Superblocks - Firebase Docs](https://docs.superblocks.com/integrations/authenticating-apis/authenticate-using-firebase-auth)\\
499
+ messageTemplate: `**Where do I get my firebase credentials and allow access to Superblocks?** [Superblocks - Firebase Docs](https://docs.superblocks.com/integrations/auth/firebase)\\
500
500
  Note: REST APIs authenticated with firebase cannot be used in Superblocks Workflows & Scheduled Jobs since both can be called headlessly without user interaction.`,
501
501
  name: 'FirebaseAlert',
502
502
  startVersion: startVersion,
@@ -561,7 +561,7 @@ export const authSections = ({
561
561
  messageTemplate: `Use **{{firebase.token}}** below to refer to the firebase
562
562
  authentication token & use **{{firebase.userId}}** to refer to the
563
563
  currently authenticated user's ID.`,
564
- name: 'FirebaseAlert',
564
+ name: 'FirebaseAlertToken',
565
565
  startVersion: startVersion,
566
566
  componentType: FormComponentType.ALERT,
567
567
  display: {
@@ -939,7 +939,7 @@ export const authSections = ({
939
939
  {
940
940
  label: '',
941
941
  messageTemplate: `Send your token to requests by adding it to a header or parameter using **\`{{ oauth.token }}\`**.
942
- Learn more in our docs on [using OAuth2.0 in Superblocks](https://docs.superblocks.com/integrations/authentication/#oauth-20).`,
942
+ Learn more in our docs on [using OAuth2.0 in Superblocks](https://docs.superblocks.com/integrations/auth/oauth-20).`,
943
943
  name: 'OAuth2PasswordAlert',
944
944
  startVersion,
945
945
  componentType: FormComponentType.ALERT,
@@ -1,5 +1,5 @@
1
1
  import { FormComponentType, FormItem, InputDataType, Plugin, PluginResponseType, PluginType } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_LOGO_URL, DOCS_BASE_URL } from './constants.js';
2
+ import { PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
 
4
4
  // TODO (jason) change these constant values as these are pulled from Sendgrid
5
5
  // superblocksmail is set up as a verified domain in Sendgrid under a different account than superblockshq.com.
@@ -117,7 +117,8 @@ export const SmtpPlugin: Plugin = {
117
117
  moduleName: 'SmtpPlugin',
118
118
  modulePath: 'plugins/smtp/SmtpPlugin',
119
119
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/smtp.png`,
120
- docsUrl: `${DOCS_BASE_URL}/smtp`,
120
+ // TODO(docs-v2): no smtp page exists in docs-v2; add one or remove this line
121
+ docsUrl: undefined,
121
122
  type: PluginType.API,
122
123
  responseType: PluginResponseType.JSON,
123
124
  hasRawRequest: true,
@@ -1,10 +1,11 @@
1
1
  import { ExtendedIntegrationPluginId, Plugin } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_CDN_URL, PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
2
+ import { DOCS_BASE_URL, PUBLIC_INTEGRATIONS_CDN_URL, PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
  import { getNativeOpenApiPlugin } from './shared/index.js';
4
4
 
5
5
  export const SnowflakeCortexPlugin: Plugin = getNativeOpenApiPlugin({
6
6
  name: 'Snowflake Cortex',
7
7
  id: ExtendedIntegrationPluginId.SNOWFLAKE_CORTEX,
8
+ docsURL: `${DOCS_BASE_URL}/snowflake-cortex`,
8
9
  openApiSpecURL: `${PUBLIC_INTEGRATIONS_CDN_URL}/openapi/snowflake-cortex.yaml`,
9
10
  logoURL: `${PUBLIC_INTEGRATIONS_LOGO_URL}/snowflake.png`,
10
11
  authMethods: {
@@ -103,7 +103,7 @@ export const SnowflakePostgresPlugin: Plugin = {
103
103
  moduleName: 'SnowflakePostgresPlugin',
104
104
  modulePath: 'plugins/snowflakepostgres/SnowflakePostgresPlugin',
105
105
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/snowflake.png`,
106
- docsUrl: `${DOCS_BASE_URL}/snowflakepostgres`,
106
+ docsUrl: `${DOCS_BASE_URL}/snowflake-postgres`,
107
107
  type: PluginType.DB,
108
108
  responseType: PluginResponseType.TABLE,
109
109
  hasRawRequest: true,
@@ -1,5 +1,5 @@
1
1
  import { FormComponentType, Plugin, PluginResponseType, PluginType } from '../../types/index.js';
2
- import { PUBLIC_INTEGRATIONS_LOGO_URL, DOCS_BASE_URL } from './constants.js';
2
+ import { PUBLIC_INTEGRATIONS_LOGO_URL } from './constants.js';
3
3
 
4
4
  const SuperblocksOcrPluginVersions = {
5
5
  V1: '0.0.1'
@@ -28,7 +28,8 @@ export const SuperblocksOcrPlugin: Plugin = {
28
28
  moduleName: 'SuperblocksOcrPlugin',
29
29
  modulePath: 'plugins/superblocks-ocr/SuperblocksOcrPlugin',
30
30
  iconLocation: `${PUBLIC_INTEGRATIONS_LOGO_URL}/ocr_logo.png`,
31
- docsUrl: `${DOCS_BASE_URL}/superblocks-ocr`,
31
+ // TODO(docs-v2): no superblocks-ocr page exists in docs-v2; add one or remove this line
32
+ docsUrl: undefined,
32
33
  type: PluginType.API,
33
34
  responseType: PluginResponseType.JSON,
34
35
  hasRawRequest: true,
@@ -1,4 +1,9 @@
1
- export type AiQuotaPaywallReason = 'credit_limit_exceeded' | 'no_seat_assigned' | 'token_limit_exceeded' | 'trial_expired';
1
+ export type AiQuotaPaywallReason =
2
+ | 'credit_limit_exceeded'
3
+ | 'deploy_quota_exceeded'
4
+ | 'no_seat_assigned'
5
+ | 'token_limit_exceeded'
6
+ | 'trial_expired';
2
7
 
3
8
  export const getAiQuotaPaywallReasonFromMessage = (message: string): AiQuotaPaywallReason | undefined => {
4
9
  const normalizedMessage = message.toLowerCase();
@@ -28,6 +33,10 @@ export const getAiQuotaPaywallReasonFromMessage = (message: string): AiQuotaPayw
28
33
  return 'token_limit_exceeded';
29
34
  }
30
35
 
36
+ if (normalizedMessage.includes('deploy_quota_exceeded')) {
37
+ return 'deploy_quota_exceeded';
38
+ }
39
+
31
40
  if (normalizedMessage.includes('credit_limit_exceeded') || normalizedMessage.includes('organization has reached its ai usage limit')) {
32
41
  return 'credit_limit_exceeded';
33
42
  }
@@ -43,10 +52,7 @@ export const AI_QUOTA_PAYWALL_STRIPE_CHECKOUT_URL = 'https://buy.stripe.com/7sYe
43
52
 
44
53
  export const AI_QUOTA_PAYWALL_CONTACT_SALES_EMAIL = 'sales@superblockshq.com';
45
54
 
46
- // TODO: Revisit this mailto template once backend enforcement is in place.
47
- // Surface the specific reason (buy a seat vs. increase org credits) so the
48
- // email to the admin is actionable rather than generic.
49
- export const AI_QUOTA_PAYWALL_CONTACT_SALES_MAILTO = 'mailto:sales@superblockshq.com?subject=Enterprise%20inquiry';
55
+ export const AI_QUOTA_PAYWALL_CONTACT_SALES_URL = 'https://www.superblocks.com/book-a-demo';
50
56
 
51
57
  export const AI_QUOTA_PAYWALL_REASON_CONFIG: Record<AiQuotaPaywallReason, { title: string; subtitle: string }> = {
52
58
  credit_limit_exceeded: {
@@ -64,6 +70,10 @@ export const AI_QUOTA_PAYWALL_REASON_CONFIG: Record<AiQuotaPaywallReason, { titl
64
70
  trial_expired: {
65
71
  title: 'Your free trial has ended',
66
72
  subtitle: 'Upgrade to keep building with AI.'
73
+ },
74
+ deploy_quota_exceeded: {
75
+ title: 'Deploy limit reached',
76
+ subtitle: 'Your organization has reached its deployed app limit. Add more deployed apps to continue.'
67
77
  }
68
78
  };
69
79
 
@@ -90,7 +100,7 @@ export const AI_QUOTA_PAYWALL_ENTERPRISE_FEATURES = [
90
100
  'Custom app hosting'
91
101
  ];
92
102
 
93
- export const AI_QUOTA_PAYWALL_TEAMS_PLATFORM_FEATURES = ['Staging and production environments', '1 hosted app included'];
103
+ export const AI_QUOTA_PAYWALL_TEAMS_PLATFORM_FEATURES = ['Staging and production environments', '1 deployed app per team'];
94
104
 
95
105
  export const AI_QUOTA_PAYWALL_ENTERPRISE_PLATFORM_FEATURES = [
96
106
  'Deploy in your VPC (Hybrid or Cloud Prem)',
@@ -59,7 +59,8 @@ export const ABANDONED_EXECUTION_THRESH_MINUTES = 30;
59
59
 
60
60
  /** @deprecated Use OCSFClassUid / OCSFActivityId instead. */
61
61
  export enum AuditLogEventType {
62
- API_RUN
62
+ API_RUN,
63
+ INTEGRATION_QUERY
63
64
  }
64
65
 
65
66
  /** @deprecated Use OCSFAuditEvent instead. */
@@ -212,7 +212,7 @@ export const AUDIT_EVENT_TYPE_CATALOG: AuditEventTypeEntry[] = [
212
212
  category_uid: OCSFCategoryUid.APPLICATION_ACTIVITY,
213
213
  category_name: 'APPLICATION_ACTIVITY',
214
214
  resource_type: 'Integration',
215
- operations: ['integration.create', 'integration.delete', 'integration.update']
215
+ operations: ['integration.create', 'integration.delete', 'integration.secret.view', 'integration.update']
216
216
  },
217
217
  {
218
218
  class_uid: OCSFClassUid.ENTITY_MANAGEMENT,
@@ -11,6 +11,23 @@ export enum BillingPlan {
11
11
  POC = 'POC'
12
12
  }
13
13
 
14
+ const ENTERPRISE_LIKE_PLANS: ReadonlySet<BillingPlan> = new Set([
15
+ BillingPlan.ENTERPRISE,
16
+ BillingPlan.PRO,
17
+ BillingPlan.STARTER,
18
+ BillingPlan.POC
19
+ ]);
20
+
21
+ const TRIAL_LIKE_PLANS: ReadonlySet<BillingPlan> = new Set([BillingPlan.TRIAL, BillingPlan.FREE]);
22
+
23
+ export function isEnterpriseLikePlan(plan: BillingPlan | undefined | null): boolean {
24
+ return plan != null && ENTERPRISE_LIKE_PLANS.has(plan);
25
+ }
26
+
27
+ export function isTrialLikePlan(plan: BillingPlan | undefined | null): boolean {
28
+ return plan != null && TRIAL_LIKE_PLANS.has(plan);
29
+ }
30
+
14
31
  export type Billing = {
15
32
  plan: BillingPlan;
16
33
  isExpired: boolean;
@@ -341,6 +341,7 @@ export type RestApiDatasourceConfiguration = AuthenticatedHttpDatasourceConfig &
341
341
  // This is part of the in-memory form, not persisted
342
342
  AuthCodeExplanation?: string;
343
343
  FirebaseAlert?: string;
344
+ FirebaseAlertToken?: string;
344
345
  HTTPBasicAlert?: string;
345
346
  'oauth-callback-alert'?: string;
346
347
  'oauth-connect-button'?: string;
@@ -47,7 +47,8 @@ export type GitToken = {
47
47
 
48
48
  export enum VcsProvider {
49
49
  GITHUB = 'github',
50
- GITLAB = 'gitlab'
50
+ GITLAB = 'gitlab',
51
+ AZURE_DEVOPS = 'azure_devops'
51
52
  }
52
53
 
53
54
  export type GitLabInstanceType = 'cloud' | 'self-hosted';
@@ -68,6 +69,9 @@ export const getGitProviderBaseUrl = (provider?: VcsProvider, token?: GitToken)
68
69
  if (token?.instanceUrl) return token.instanceUrl;
69
70
  return 'https://gitlab.com';
70
71
  }
72
+ case VcsProvider.AZURE_DEVOPS: {
73
+ return 'https://dev.azure.com';
74
+ }
71
75
  case VcsProvider.GITHUB:
72
76
  default: {
73
77
  return 'https://github.com';
@@ -77,5 +81,9 @@ export const getGitProviderBaseUrl = (provider?: VcsProvider, token?: GitToken)
77
81
 
78
82
  export const getRepositoryUrl = (repository: RepositoryDto, token?: GitToken) => {
79
83
  const baseUrl = getGitProviderBaseUrl(repository.provider, token);
84
+ if (repository.provider === VcsProvider.AZURE_DEVOPS) {
85
+ // Azure DevOps URL format: https://dev.azure.com/{organization}/{project}/_git/{repo}
86
+ return `${baseUrl}/${repository.owner}/_git/${repository.name}`;
87
+ }
80
88
  return `${baseUrl}/${repository.owner}/${repository.name}`;
81
89
  };
@@ -0,0 +1,36 @@
1
+ import { DEFAULT_SUPERBLOCKS_DOMAIN, getSuperblocksDomainFromBaseUrl } from './github-workflow.js';
2
+
3
+ export function isAzureDevOpsRemoteUrl(remoteUrl: string): boolean {
4
+ return /(^git@ssh\.dev\.azure\.com:)|(^https?:\/\/([^@]+@)?dev\.azure\.com\/)|(^ssh:\/\/git@ssh\.dev\.azure\.com\/)/.test(
5
+ remoteUrl.trim()
6
+ );
7
+ }
8
+
9
+ export function buildAzureDevOpsSuperblocksSyncPipeline(domain: string = DEFAULT_SUPERBLOCKS_DOMAIN): string {
10
+ return `trigger:
11
+ branches:
12
+ include:
13
+ - main
14
+
15
+ pool:
16
+ vmImage: ubuntu-latest
17
+
18
+ steps:
19
+ - checkout: self
20
+ fetchDepth: 0
21
+ persistCredentials: false
22
+
23
+ - task: Bash@3
24
+ displayName: Sync to Superblocks
25
+ env:
26
+ SUPERBLOCKS_TOKEN: $(SUPERBLOCKS_TOKEN)
27
+ inputs:
28
+ targetType: inline
29
+ script: |
30
+ npx @superblocksteam/cli sync --token "$SUPERBLOCKS_TOKEN" --domain ${domain} --path . --sha $(Build.SourceVersion)
31
+ `;
32
+ }
33
+
34
+ export function buildAzureDevOpsSuperblocksSyncPipelineFromBaseUrl(superblocksBaseUrl: string): string {
35
+ return buildAzureDevOpsSuperblocksSyncPipeline(getSuperblocksDomainFromBaseUrl(superblocksBaseUrl));
36
+ }
@@ -48,11 +48,22 @@ describe('gitRemoteUrlToWeb', () => {
48
48
  ['https://github.com/org/repo', 'https://github.com/org/repo'],
49
49
  ['http://gitlab.com/org/repo.git', 'http://gitlab.com/org/repo'],
50
50
  ['git@github.com:org/repo.git', 'https://github.com/org/repo'],
51
- ['git@gitlab.com:group/sub/repo.git', 'https://gitlab.com/group/sub/repo']
51
+ ['git@gitlab.com:group/sub/repo.git', 'https://gitlab.com/group/sub/repo'],
52
+ // Azure DevOps HTTPS with userinfo (clone URL default format)
53
+ ['https://myorg@dev.azure.com/myorg/myproject/_git/myrepo', 'https://dev.azure.com/myorg/myproject/_git/myrepo'],
54
+ // Azure DevOps SSH formats
55
+ ['git@ssh.dev.azure.com:v3/myorg/myproject/myrepo', 'https://dev.azure.com/myorg/myproject/_git/myrepo'],
56
+ ['ssh://git@ssh.dev.azure.com/v3/myorg/myproject/myrepo', 'https://dev.azure.com/myorg/myproject/_git/myrepo']
52
57
  ])('converts %s → %s', (input, expected) => {
53
58
  expect(gitRemoteUrlToWeb(input)).toBe(expected);
54
59
  });
55
60
 
61
+ it('strips userinfo from HTTPS URLs', () => {
62
+ expect(gitRemoteUrlToWeb('https://myorg@dev.azure.com/myorg/myproject/_git/myrepo')).toBe(
63
+ 'https://dev.azure.com/myorg/myproject/_git/myrepo'
64
+ );
65
+ });
66
+
56
67
  it('returns null for unconvertible URLs', () => {
57
68
  expect(gitRemoteUrlToWeb('not-a-url')).toBeNull();
58
69
  });
@@ -5,14 +5,16 @@
5
5
  * Used by both the UI and the vite-plugin-file-sync AI agent tooling.
6
6
  */
7
7
 
8
- const HTTPS_GIT_URL_RE = /^https?:\/\/[^\s/$.?#]+\.[^\s/$.?#]+\/[^\s/$.?#]+(\/[^\s/$.?#]+)+(\.git)?\/?$/i;
8
+ const HTTPS_GIT_URL_RE = /^https?:\/\/[^\s/$.?#]+(?:\.[^\s/$.?#]+)+\/[^\s/$.?#]+(\/[^\s/$.?#]+)+(\.git)?\/?$/i;
9
9
  const SSH_GIT_URL_RE = /^[\w-]+@[\w.-]+:[\w./-]+(\.git)?$/;
10
+ // ssh:// protocol format: ssh://git@host/path
11
+ const SSH_PROTOCOL_RE = /^ssh:\/\/[\w-]+@[\w.-]+(\/[\w./-]+)+(\.git)?\/?$/i;
10
12
 
11
13
  export const GITHUB_PAT_SETTINGS_URL = 'https://github.com/settings/tokens';
12
14
 
13
15
  export function isValidGitUrl(url: string): boolean {
14
16
  const trimmed = url.trim();
15
- return HTTPS_GIT_URL_RE.test(trimmed) || SSH_GIT_URL_RE.test(trimmed);
17
+ return HTTPS_GIT_URL_RE.test(trimmed) || SSH_GIT_URL_RE.test(trimmed) || SSH_PROTOCOL_RE.test(trimmed);
16
18
  }
17
19
 
18
20
  export function isGitHubUrl(url: string): boolean {
@@ -44,15 +46,43 @@ export function gitRemoteUrlToWeb(url: string): string | null {
44
46
  try {
45
47
  const parsed = new URL(trimmed);
46
48
  if (parsed.protocol === 'https:' || parsed.protocol === 'http:') {
47
- return trimmed.replace(/\.git\s*$/, '');
49
+ // Strip userinfo (e.g. "org@" in Azure DevOps clone URLs) so the
50
+ // result is a plain browser-friendly URL.
51
+ parsed.username = '';
52
+ parsed.password = '';
53
+ return parsed.href.replace(/\/+$/, '').replace(/\.git\s*$/, '');
54
+ }
55
+ // ssh:// protocol format: ssh://git@host/path
56
+ if (parsed.protocol === 'ssh:') {
57
+ const host = parsed.hostname;
58
+ const path = parsed.pathname.replace(/\.git\s*$/, '');
59
+ // Azure DevOps SSH: ssh://git@ssh.dev.azure.com/v3/org/project/repo
60
+ if (host === 'ssh.dev.azure.com') {
61
+ const azureMatch = path.match(/^\/v3\/([^/]+)\/([^/]+)\/(.+?)$/);
62
+ if (azureMatch) {
63
+ return `https://dev.azure.com/${azureMatch[1]}/${azureMatch[2]}/_git/${azureMatch[3]}`;
64
+ }
65
+ }
66
+ // Generic ssh:// → https:// (GitHub, GitLab, etc.)
67
+ return `https://${host}${path}`;
48
68
  }
49
69
  } catch {
50
70
  // Not a standard URL — try SSH
51
71
  }
52
72
 
73
+ // SCP-style SSH: git@host:org/repo.git → https://host/org/repo
53
74
  const sshMatch = trimmed.match(/^[\w-]+@([\w.-]+):(.+?)(?:\.git)?\s*$/);
54
75
  if (sshMatch?.[1] && sshMatch[2]) {
55
- return `https://${sshMatch[1]}/${sshMatch[2]}`;
76
+ const host = sshMatch[1];
77
+ const path = sshMatch[2];
78
+ // Azure DevOps SSH: git@ssh.dev.azure.com:v3/org/project/repo → https://dev.azure.com/org/project/_git/repo
79
+ if (host === 'ssh.dev.azure.com') {
80
+ const azureMatch = path.match(/^v3\/([^/]+)\/([^/]+)\/(.+)$/);
81
+ if (azureMatch) {
82
+ return `https://dev.azure.com/${azureMatch[1]}/${azureMatch[2]}/_git/${azureMatch[3]}`;
83
+ }
84
+ }
85
+ return `https://${host}/${path}`;
56
86
  }
57
87
 
58
88
  return null;
@@ -90,15 +120,17 @@ export function getGitHubCompareUrl({
90
120
  return `${base}?${params.toString()}`;
91
121
  }
92
122
 
93
- type GitProvider = 'github' | 'gitlab' | 'bitbucket' | 'unknown';
123
+ export type GitProvider = 'github' | 'gitlab' | 'bitbucket' | 'azure_devops' | 'unknown';
94
124
 
95
- const HOST_TO_PROVIDER: Record<string, GitProvider> = {
125
+ export const HOST_TO_PROVIDER: Record<string, GitProvider> = {
96
126
  'bitbucket.org': 'bitbucket',
127
+ 'dev.azure.com': 'azure_devops',
97
128
  'github.com': 'github',
98
- 'gitlab.com': 'gitlab'
129
+ 'gitlab.com': 'gitlab',
130
+ 'ssh.dev.azure.com': 'azure_devops'
99
131
  };
100
132
 
101
- function detectGitProvider(url: string): GitProvider {
133
+ export function detectGitProvider(url: string): GitProvider {
102
134
  const trimmed = url.trim();
103
135
 
104
136
  try {
@@ -123,6 +155,7 @@ function getCommitPathForProvider(params: { hash: string; provider: GitProvider
123
155
  return `/commits/${hash}`;
124
156
  case 'gitlab':
125
157
  return `/-/commit/${hash}`;
158
+ case 'azure_devops':
126
159
  case 'github':
127
160
  case 'unknown':
128
161
  return `/commit/${hash}`;
@@ -58,7 +58,7 @@ export default Object.freeze({
58
58
  isVisible: true,
59
59
  animateLoading: true,
60
60
  isDefaultClickDisabled: true,
61
- docsUrl: 'https://docs.superblocks.com/components/button',
61
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
62
62
  type: 'BUTTON_WIDGET',
63
63
  widgetId: 'bbwoxnsscs',
64
64
  isLoading: false,
@@ -90,7 +90,7 @@ export default Object.freeze({
90
90
  isVisible: true,
91
91
  animateLoading: true,
92
92
  isDefaultClickDisabled: true,
93
- docsUrl: 'https://docs.superblocks.com/components/button',
93
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
94
94
  type: 'BUTTON_WIDGET',
95
95
  widgetId: '29zprbh4ka',
96
96
  isLoading: false,
@@ -153,7 +153,7 @@ export default Object.freeze({
153
153
  isVisible: true,
154
154
  animateLoading: true,
155
155
  isDefaultClickDisabled: true,
156
- docsUrl: 'https://docs.superblocks.com/components/button',
156
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
157
157
  dynamicTriggerPathList: [
158
158
  {
159
159
  key: 'onClick'
@@ -46,7 +46,7 @@ export default Object.freeze({
46
46
  isVisible: true,
47
47
  animateLoading: true,
48
48
  isDefaultClickDisabled: true,
49
- docsUrl: 'https://docs.superblocks.com/components/button',
49
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
50
50
  type: 'BUTTON_WIDGET',
51
51
  widgetId: 'h6ixkdhufq',
52
52
  isLoading: false,
@@ -78,7 +78,7 @@ export default Object.freeze({
78
78
  isVisible: true,
79
79
  animateLoading: true,
80
80
  isDefaultClickDisabled: true,
81
- docsUrl: 'https://docs.superblocks.com/components/button',
81
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
82
82
  type: 'BUTTON_WIDGET',
83
83
  widgetId: 'nd41xermdw',
84
84
  isLoading: false,
@@ -141,7 +141,7 @@ export default Object.freeze({
141
141
  isVisible: true,
142
142
  animateLoading: true,
143
143
  isDefaultClickDisabled: true,
144
- docsUrl: 'https://docs.superblocks.com/components/button',
144
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
145
145
  dynamicTriggerPathList: [
146
146
  {
147
147
  key: 'onClick'
@@ -208,7 +208,7 @@ export default Object.freeze({
208
208
  isVisible: true,
209
209
  animateLoading: true,
210
210
  isDefaultClickDisabled: true,
211
- docsUrl: 'https://docs.superblocks.com/components/button',
211
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
212
212
  type: 'BUTTON_WIDGET',
213
213
  widgetId: 'x5qbntpl1n',
214
214
  isLoading: false,
@@ -240,7 +240,7 @@ export default Object.freeze({
240
240
  isVisible: true,
241
241
  animateLoading: true,
242
242
  isDefaultClickDisabled: true,
243
- docsUrl: 'https://docs.superblocks.com/components/button',
243
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
244
244
  type: 'BUTTON_WIDGET',
245
245
  widgetId: '4f3izb5tna',
246
246
  isLoading: false,
@@ -303,7 +303,7 @@ export default Object.freeze({
303
303
  isVisible: true,
304
304
  animateLoading: true,
305
305
  isDefaultClickDisabled: true,
306
- docsUrl: 'https://docs.superblocks.com/components/button',
306
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
307
307
  dynamicTriggerPathList: [
308
308
  {
309
309
  key: 'onClick'
@@ -164,7 +164,7 @@ export default Object.freeze({
164
164
  isVisible: true,
165
165
  animateLoading: true,
166
166
  isDefaultClickDisabled: true,
167
- docsUrl: 'https://docs.superblocks.com/components/button',
167
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
168
168
  dynamicTriggerPathList: [
169
169
  {
170
170
  key: 'onClick'
@@ -219,7 +219,7 @@ export default Object.freeze({
219
219
  mode: 'gridUnit',
220
220
  value: 3
221
221
  },
222
- docsUrl: 'https://docs.superblocks.com/components/button',
222
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
223
223
  onClick: [
224
224
  {
225
225
  id: 'b17e1cgp85',
@@ -263,7 +263,7 @@ export default Object.freeze({
263
263
  mode: 'gridUnit',
264
264
  value: 3
265
265
  },
266
- docsUrl: 'https://docs.superblocks.com/components/button',
266
+ docsUrl: 'https://docs-legacy.superblocks.com/components/button',
267
267
  parentId: 'mbp6dkndpg',
268
268
  widgetId: 'usn4tzfc45',
269
269
  isLoading: false,