twenty-sdk 2.13.0 → 2.15.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 (64) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +4 -0
  3. package/dist/AllIcons-DEGfvqso-DwtvkCyL.js +1 -0
  4. package/dist/{AllIcons-BwIoyggb-DpmEuQAR.mjs → AllIcons-DEGfvqso-PUvdkUZm.mjs} +491 -492
  5. package/dist/catalog-sync-C5Bb1KSh.js +1 -0
  6. package/dist/{catalog-sync-BfaTQFam.mjs → catalog-sync-DcpUieU5.mjs} +1 -1
  7. package/dist/cli/commands/dev/dev.d.ts +1 -0
  8. package/dist/cli/operations/index.d.ts +2 -0
  9. package/dist/cli/operations/server-start.d.ts +1 -0
  10. package/dist/cli/utilities/api/api-client.d.ts +3 -1
  11. package/dist/cli/utilities/api/api-response-type.d.ts +1 -0
  12. package/dist/cli/utilities/auth/reauth-helper.d.ts +2 -0
  13. package/dist/cli/utilities/server/docker-container.d.ts +1 -0
  14. package/dist/cli/utilities/version/get-engine-version-range.d.ts +1 -0
  15. package/dist/cli/utilities/version/resolve-highest-engine-version.d.ts +1 -0
  16. package/dist/cli.cjs +34 -34
  17. package/dist/cli.mjs +1705 -1700
  18. package/dist/define/index.cjs +11 -11
  19. package/dist/define/index.cjs.map +1 -1
  20. package/dist/define/index.d.ts +127 -7
  21. package/dist/define/index.mjs +36081 -36039
  22. package/dist/define/index.mjs.map +1 -1
  23. package/dist/front-component/index.cjs +1 -1
  24. package/dist/front-component/index.cjs.map +1 -1
  25. package/dist/front-component/index.d.ts +6 -3
  26. package/dist/front-component/index.mjs +8 -8
  27. package/dist/front-component/index.mjs.map +1 -1
  28. package/dist/front-component-renderer.cjs +1 -1
  29. package/dist/get-function-input-schema-GNk3NRLJ-DMgchWCN.js +1 -0
  30. package/dist/{get-function-input-schema-NI9y_bIk-LH_O2OgF.mjs → get-function-input-schema-GNk3NRLJ-oMYSgib9.mjs} +31 -21
  31. package/dist/icon-BSeT8K5G-Cuhg-Bz6.js +1 -0
  32. package/dist/icon-BSeT8K5G-WVhoiRKN.mjs +10144 -0
  33. package/dist/logic-function/get-function-input-schema-GNk3NRLJ-D8x7FINz.js +2 -0
  34. package/dist/logic-function/get-function-input-schema-GNk3NRLJ-D8x7FINz.js.map +1 -0
  35. package/dist/logic-function/get-function-input-schema-GNk3NRLJ-DSc3lI49.mjs +75 -0
  36. package/dist/logic-function/get-function-input-schema-GNk3NRLJ-DSc3lI49.mjs.map +1 -0
  37. package/dist/logic-function/index.cjs +4 -4
  38. package/dist/logic-function/index.cjs.map +1 -1
  39. package/dist/logic-function/index.d.ts +18 -3
  40. package/dist/logic-function/index.mjs +143 -28
  41. package/dist/logic-function/index.mjs.map +1 -1
  42. package/dist/logic-function/isDefined-Dtu5EYqP-CMNeFg4z.mjs +7 -0
  43. package/dist/logic-function/isDefined-Dtu5EYqP-CMNeFg4z.mjs.map +1 -0
  44. package/dist/logic-function/isDefined-Dtu5EYqP-Dp026Ry1.js +2 -0
  45. package/dist/logic-function/isDefined-Dtu5EYqP-Dp026Ry1.js.map +1 -0
  46. package/dist/{login-oauth-BMTHndmD.mjs → login-Cm5IBGFm.mjs} +39521 -39320
  47. package/dist/login-LjERatsq.js +345 -0
  48. package/dist/operations.cjs +1 -1
  49. package/dist/operations.mjs +4 -4
  50. package/dist/ui/index.cjs +33 -6
  51. package/dist/ui/index.d.ts +18 -12
  52. package/dist/ui/index.mjs +20408 -1123
  53. package/dist/utils/index.cjs +1 -1
  54. package/dist/utils/index.cjs.map +1 -1
  55. package/dist/utils/index.d.ts +3 -1
  56. package/dist/utils/index.mjs +9 -8
  57. package/dist/utils/index.mjs.map +1 -1
  58. package/package.json +5 -3
  59. package/dist/AllIcons-BwIoyggb-Ck9DmOFs.js +0 -1
  60. package/dist/catalog-sync-MvJJHh7v.js +0 -1
  61. package/dist/display-Co0K-nTB-CPdyKmin.js +0 -83
  62. package/dist/display-Co0K-nTB-DIalVNdw.mjs +0 -54655
  63. package/dist/get-function-input-schema-NI9y_bIk-BZ2G7LIj.js +0 -1
  64. package/dist/login-oauth-DN2eTP67.js +0 -345
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`TWENTY_API_URL`,t=`TWENTY_APP_ACCESS_TOKEN`,n=e=>{let t=JSON.parse(atob(e.split(`.`)[1]));return{workspaceId:t.workspaceId,applicationId:t.applicationId}},r=r=>{let i=process.env[e],a=process.env[t];if(!i||!a)throw Error(`getPublicAssetUrl can only be called from within a logic function or front component`);let{workspaceId:o,applicationId:s}=n(a),c=r.startsWith(`/`)?r.slice(1):r;return`${i}/public-assets/${o}/${s}/${(c.startsWith(`public/`)?c:`public/${c}`).split(`/`).map(encodeURIComponent).join(`/`)}`};exports.getPublicAssetUrl=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@sniptt/guards");var t=`TWENTY_API_URL`,n=`TWENTY_APP_ACCESS_TOKEN`,r=e=>{let t=JSON.parse(atob(e.split(`.`)[1]));return{workspaceId:t.workspaceId,applicationId:t.applicationId}},i=e=>{let i=process.env[t],a=process.env[n];if(!i||!a)throw Error(`getPublicAssetUrl can only be called from within a logic function or front component`);let{workspaceId:o,applicationId:s}=r(a),c=e.startsWith(`/`)?e.slice(1):e;return`${i}/public-assets/${o}/${s}/${(c.startsWith(`public/`)?c:`public/${c}`).split(`/`).map(encodeURIComponent).join(`/`)}`},a=t=>!(0,e.isUndefined)(t)&&!(0,e.isNull)(t);exports.getPublicAssetUrl=i,exports.isDefined=a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../twenty-shared/dist/application.mjs","../../src/sdk/utils/get-public-asset-url.ts"],"sourcesContent":["//#region src/application/constants/AssetDirectory.ts\nvar e = \"public\", t = \"TWENTY_API_KEY\", n = \"TWENTY_API_URL\", r = \"TWENTY_APP_ACCESS_TOKEN\", i = \"generated\", a = { js: \"import { createRequire as __createRequire } from 'module';\\nconst require = __createRequire(import.meta.url);\" }, o = \".twenty/output\", s = \"Standard\", c = \"20202020-64aa-4b6f-b003-9c74b97cee20\", l = /* @__PURE__ */ function(e) {\n\treturn e.Object = \"object\", e.Field = \"field\", e.LogicFunction = \"logicFunction\", e.FrontComponent = \"frontComponent\", e.Role = \"role\", e.Skill = \"skill\", e.Agent = \"agent\", e.ConnectionProvider = \"connectionProvider\", e.View = \"view\", e.ViewField = \"viewField\", e.NavigationMenuItem = \"navigationMenuItem\", e.PageLayout = \"pageLayout\", e.PageLayoutTab = \"pageLayoutTab\", e.CommandMenuItem = \"commandMenuItem\", e;\n}({});\n//#endregion\nexport { e as ASSETS_DIR, t as DEFAULT_API_KEY_NAME, n as DEFAULT_API_URL_NAME, r as DEFAULT_APP_ACCESS_TOKEN_NAME, i as GENERATED_DIR, a as NODE_ESM_CJS_BANNER, o as OUTPUT_DIR, l as SyncableEntity, s as TWENTY_STANDARD_APPLICATION_NAME, c as TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER };\n","import {\n DEFAULT_API_URL_NAME,\n DEFAULT_APP_ACCESS_TOKEN_NAME,\n} from 'twenty-shared/application';\n\nconst decodeTokenPayload = (\n token: string,\n): { workspaceId: string; applicationId: string } => {\n const payload = JSON.parse(atob(token.split('.')[1]));\n\n return {\n workspaceId: payload.workspaceId,\n applicationId: payload.applicationId,\n };\n};\n\n// Returns the public URL for a file in the app's public/ directory.\n// Works in both logic functions and front components.\n// The path is relative to the public/ folder (e.g. \"images/logo.png\").\nexport const getPublicAssetUrl = (path: string): string => {\n const apiUrl = process.env[DEFAULT_API_URL_NAME];\n const token = process.env[DEFAULT_APP_ACCESS_TOKEN_NAME];\n\n if (!apiUrl || !token) {\n throw new Error(\n 'getPublicAssetUrl can only be called from within a logic function or front component',\n );\n }\n\n const { workspaceId, applicationId } = decodeTokenPayload(token);\n const withoutLeadingSlash = path.startsWith('/') ? path.slice(1) : path;\n const withPublicPrefix = withoutLeadingSlash.startsWith('public/')\n ? withoutLeadingSlash\n : `public/${withoutLeadingSlash}`;\n\n const encodedPath = withPublicPrefix\n .split('/')\n .map(encodeURIComponent)\n .join('/');\n\n return `${apiUrl}/public-assets/${workspaceId}/${applicationId}/${encodedPath}`;\n};\n"],"mappings":"mEACA,IAAwC,EAAI,iBAAkB,EAAI,0BCI5D,EACJ,GACmD,CACnD,IAAM,EAAU,KAAK,MAAM,KAAK,EAAM,MAAM,GAAG,EAAE,EAAE,CAAC,EAEpD,MAAO,CACL,YAAa,EAAQ,YACrB,cAAe,EAAQ,aACzB,CACF,EAKa,EAAqB,GAAyB,CACzD,IAAM,EAAS,QAAQ,IAAI,GACrB,EAAQ,QAAQ,IAAI,GAE1B,GAAI,CAAC,GAAU,CAAC,EACd,MAAU,MACR,sFACF,EAGF,GAAM,CAAE,cAAa,iBAAkB,EAAmB,CAAK,EACzD,EAAsB,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EAUnE,MAAO,GAAG,EAAO,iBAAiB,EAAY,GAAG,EAAc,IATtC,EAAoB,WAAW,SAAS,EAC7D,EACA,UAAU,KAGX,MAAM,GAAG,EACT,IAAI,kBAAkB,EACtB,KAAK,GAE0D,GACpE"}
1
+ {"version":3,"file":"index.cjs","names":["e","t","n"],"sources":["../../../twenty-shared/dist/application.mjs","../../src/sdk/utils/get-public-asset-url.ts","../../../twenty-shared/dist/isDefined-Dtu5EYqP.mjs"],"sourcesContent":["//#region src/application/constants/AssetDirectory.ts\nvar e = \"public\", t = \"TWENTY_API_KEY\", n = \"TWENTY_API_URL\", r = \"TWENTY_APP_ACCESS_TOKEN\", i = \"generated\", a = { js: \"import { createRequire as __createRequire } from 'module';\\nconst require = __createRequire(import.meta.url);\" }, o = \".twenty/output\", s = \"Standard\", c = \"20202020-64aa-4b6f-b003-9c74b97cee20\", l = /* @__PURE__ */ function(e) {\n\treturn e.Object = \"object\", e.Field = \"field\", e.LogicFunction = \"logicFunction\", e.FrontComponent = \"frontComponent\", e.Role = \"role\", e.Skill = \"skill\", e.Agent = \"agent\", e.ConnectionProvider = \"connectionProvider\", e.View = \"view\", e.ViewField = \"viewField\", e.NavigationMenuItem = \"navigationMenuItem\", e.PageLayout = \"pageLayout\", e.PageLayoutTab = \"pageLayoutTab\", e.CommandMenuItem = \"commandMenuItem\", e;\n}({});\n//#endregion\nexport { e as ASSETS_DIR, t as DEFAULT_API_KEY_NAME, n as DEFAULT_API_URL_NAME, r as DEFAULT_APP_ACCESS_TOKEN_NAME, i as GENERATED_DIR, a as NODE_ESM_CJS_BANNER, o as OUTPUT_DIR, l as SyncableEntity, s as TWENTY_STANDARD_APPLICATION_NAME, c as TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER };\n","import {\n DEFAULT_API_URL_NAME,\n DEFAULT_APP_ACCESS_TOKEN_NAME,\n} from 'twenty-shared/application';\n\nconst decodeTokenPayload = (\n token: string,\n): { workspaceId: string; applicationId: string } => {\n const payload = JSON.parse(atob(token.split('.')[1]));\n\n return {\n workspaceId: payload.workspaceId,\n applicationId: payload.applicationId,\n };\n};\n\n// Returns the public URL for a file in the app's public/ directory.\n// Works in both logic functions and front components.\n// The path is relative to the public/ folder (e.g. \"images/logo.png\").\nexport const getPublicAssetUrl = (path: string): string => {\n const apiUrl = process.env[DEFAULT_API_URL_NAME];\n const token = process.env[DEFAULT_APP_ACCESS_TOKEN_NAME];\n\n if (!apiUrl || !token) {\n throw new Error(\n 'getPublicAssetUrl can only be called from within a logic function or front component',\n );\n }\n\n const { workspaceId, applicationId } = decodeTokenPayload(token);\n const withoutLeadingSlash = path.startsWith('/') ? path.slice(1) : path;\n const withPublicPrefix = withoutLeadingSlash.startsWith('public/')\n ? withoutLeadingSlash\n : `public/${withoutLeadingSlash}`;\n\n const encodedPath = withPublicPrefix\n .split('/')\n .map(encodeURIComponent)\n .join('/');\n\n return `${apiUrl}/public-assets/${workspaceId}/${applicationId}/${encodedPath}`;\n};\n","import { isNull as e, isUndefined as t } from \"@sniptt/guards\";\n//#region src/utils/validation/isDefined.ts\nvar n = (n) => !t(n) && !e(n);\n//#endregion\nexport { n as t };\n"],"mappings":"mGACA,IAAwCE,EAAI,iBAAkB,EAAI,0BCI5D,EACJ,GACmD,CACnD,IAAM,EAAU,KAAK,MAAM,KAAK,EAAM,MAAM,GAAG,EAAE,EAAE,CAAC,EAEpD,MAAO,CACL,YAAa,EAAQ,YACrB,cAAe,EAAQ,aACzB,CACF,EAKa,EAAqB,GAAyB,CACzD,IAAM,EAAS,QAAQ,IAAI,GACrB,EAAQ,QAAQ,IAAI,GAE1B,GAAI,CAAC,GAAU,CAAC,EACd,MAAU,MACR,sFACF,EAGF,GAAM,CAAE,cAAa,iBAAkB,EAAmB,CAAK,EACzD,EAAsB,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EAUnE,MAAO,GAAG,EAAO,iBAAiB,EAAY,GAAG,EAAc,IATtC,EAAoB,WAAW,SAAS,EAC7D,EACA,UAAU,KAGX,MAAM,GAAG,EACT,IAAI,kBAAkB,EACtB,KAAK,GAE0D,GACpE,ECvCI,EAAK,GAAM,EAAA,EAAA,EAAA,aAAG,CAAC,GAAK,EAAA,EAAA,EAAA,QAAG,CAAC"}
@@ -1,3 +1,5 @@
1
1
  declare const getPublicAssetUrl: (path: string) => string;
2
2
 
3
- export { getPublicAssetUrl };
3
+ declare const isDefined: <T>(value: T | null | undefined) => value is NonNullable<T>;
4
+
5
+ export { getPublicAssetUrl, isDefined };
@@ -1,17 +1,18 @@
1
+ import { isNull as e, isUndefined as t } from "@sniptt/guards";
1
2
  //#region ../twenty-shared/dist/application.mjs
2
- var e = "TWENTY_API_URL", t = "TWENTY_APP_ACCESS_TOKEN", n = (e) => {
3
+ var n = "TWENTY_API_URL", r = "TWENTY_APP_ACCESS_TOKEN", i = (e) => {
3
4
  let t = JSON.parse(atob(e.split(".")[1]));
4
5
  return {
5
6
  workspaceId: t.workspaceId,
6
7
  applicationId: t.applicationId
7
8
  };
8
- }, r = (r) => {
9
- let i = process.env[e], a = process.env[t];
10
- if (!i || !a) throw Error("getPublicAssetUrl can only be called from within a logic function or front component");
11
- let { workspaceId: o, applicationId: s } = n(a), c = r.startsWith("/") ? r.slice(1) : r;
12
- return `${i}/public-assets/${o}/${s}/${(c.startsWith("public/") ? c : `public/${c}`).split("/").map(encodeURIComponent).join("/")}`;
13
- };
9
+ }, a = (e) => {
10
+ let t = process.env[n], a = process.env[r];
11
+ if (!t || !a) throw Error("getPublicAssetUrl can only be called from within a logic function or front component");
12
+ let { workspaceId: o, applicationId: s } = i(a), c = e.startsWith("/") ? e.slice(1) : e;
13
+ return `${t}/public-assets/${o}/${s}/${(c.startsWith("public/") ? c : `public/${c}`).split("/").map(encodeURIComponent).join("/")}`;
14
+ }, o = (n) => !t(n) && !e(n);
14
15
  //#endregion
15
- export { r as getPublicAssetUrl };
16
+ export { a as getPublicAssetUrl, o as isDefined };
16
17
 
17
18
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../twenty-shared/dist/application.mjs","../../src/sdk/utils/get-public-asset-url.ts"],"sourcesContent":["//#region src/application/constants/AssetDirectory.ts\nvar e = \"public\", t = \"TWENTY_API_KEY\", n = \"TWENTY_API_URL\", r = \"TWENTY_APP_ACCESS_TOKEN\", i = \"generated\", a = { js: \"import { createRequire as __createRequire } from 'module';\\nconst require = __createRequire(import.meta.url);\" }, o = \".twenty/output\", s = \"Standard\", c = \"20202020-64aa-4b6f-b003-9c74b97cee20\", l = /* @__PURE__ */ function(e) {\n\treturn e.Object = \"object\", e.Field = \"field\", e.LogicFunction = \"logicFunction\", e.FrontComponent = \"frontComponent\", e.Role = \"role\", e.Skill = \"skill\", e.Agent = \"agent\", e.ConnectionProvider = \"connectionProvider\", e.View = \"view\", e.ViewField = \"viewField\", e.NavigationMenuItem = \"navigationMenuItem\", e.PageLayout = \"pageLayout\", e.PageLayoutTab = \"pageLayoutTab\", e.CommandMenuItem = \"commandMenuItem\", e;\n}({});\n//#endregion\nexport { e as ASSETS_DIR, t as DEFAULT_API_KEY_NAME, n as DEFAULT_API_URL_NAME, r as DEFAULT_APP_ACCESS_TOKEN_NAME, i as GENERATED_DIR, a as NODE_ESM_CJS_BANNER, o as OUTPUT_DIR, l as SyncableEntity, s as TWENTY_STANDARD_APPLICATION_NAME, c as TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER };\n","import {\n DEFAULT_API_URL_NAME,\n DEFAULT_APP_ACCESS_TOKEN_NAME,\n} from 'twenty-shared/application';\n\nconst decodeTokenPayload = (\n token: string,\n): { workspaceId: string; applicationId: string } => {\n const payload = JSON.parse(atob(token.split('.')[1]));\n\n return {\n workspaceId: payload.workspaceId,\n applicationId: payload.applicationId,\n };\n};\n\n// Returns the public URL for a file in the app's public/ directory.\n// Works in both logic functions and front components.\n// The path is relative to the public/ folder (e.g. \"images/logo.png\").\nexport const getPublicAssetUrl = (path: string): string => {\n const apiUrl = process.env[DEFAULT_API_URL_NAME];\n const token = process.env[DEFAULT_APP_ACCESS_TOKEN_NAME];\n\n if (!apiUrl || !token) {\n throw new Error(\n 'getPublicAssetUrl can only be called from within a logic function or front component',\n );\n }\n\n const { workspaceId, applicationId } = decodeTokenPayload(token);\n const withoutLeadingSlash = path.startsWith('/') ? path.slice(1) : path;\n const withPublicPrefix = withoutLeadingSlash.startsWith('public/')\n ? withoutLeadingSlash\n : `public/${withoutLeadingSlash}`;\n\n const encodedPath = withPublicPrefix\n .split('/')\n .map(encodeURIComponent)\n .join('/');\n\n return `${apiUrl}/public-assets/${workspaceId}/${applicationId}/${encodedPath}`;\n};\n"],"mappings":";AACA,IAAwC,IAAI,kBAAkB,IAAI,2BCI5D,KACJ,MACmD;CACnD,IAAM,IAAU,KAAK,MAAM,KAAK,EAAM,MAAM,GAAG,EAAE,EAAE,CAAC;CAEpD,OAAO;EACL,aAAa,EAAQ;EACrB,eAAe,EAAQ;CACzB;AACF,GAKa,KAAqB,MAAyB;CACzD,IAAM,IAAS,QAAQ,IAAI,IACrB,IAAQ,QAAQ,IAAI;CAE1B,IAAI,CAAC,KAAU,CAAC,GACd,MAAU,MACR,sFACF;CAGF,IAAM,EAAE,gBAAa,qBAAkB,EAAmB,CAAK,GACzD,IAAsB,EAAK,WAAW,GAAG,IAAI,EAAK,MAAM,CAAC,IAAI;CAUnE,OAAO,GAAG,EAAO,iBAAiB,EAAY,GAAG,EAAc,IATtC,EAAoB,WAAW,SAAS,IAC7D,IACA,UAAU,KAGX,MAAM,GAAG,EACT,IAAI,kBAAkB,EACtB,KAAK,GAE0D;AACpE"}
1
+ {"version":3,"file":"index.mjs","names":["n","t","e"],"sources":["../../../twenty-shared/dist/application.mjs","../../src/sdk/utils/get-public-asset-url.ts","../../../twenty-shared/dist/isDefined-Dtu5EYqP.mjs"],"sourcesContent":["//#region src/application/constants/AssetDirectory.ts\nvar e = \"public\", t = \"TWENTY_API_KEY\", n = \"TWENTY_API_URL\", r = \"TWENTY_APP_ACCESS_TOKEN\", i = \"generated\", a = { js: \"import { createRequire as __createRequire } from 'module';\\nconst require = __createRequire(import.meta.url);\" }, o = \".twenty/output\", s = \"Standard\", c = \"20202020-64aa-4b6f-b003-9c74b97cee20\", l = /* @__PURE__ */ function(e) {\n\treturn e.Object = \"object\", e.Field = \"field\", e.LogicFunction = \"logicFunction\", e.FrontComponent = \"frontComponent\", e.Role = \"role\", e.Skill = \"skill\", e.Agent = \"agent\", e.ConnectionProvider = \"connectionProvider\", e.View = \"view\", e.ViewField = \"viewField\", e.NavigationMenuItem = \"navigationMenuItem\", e.PageLayout = \"pageLayout\", e.PageLayoutTab = \"pageLayoutTab\", e.CommandMenuItem = \"commandMenuItem\", e;\n}({});\n//#endregion\nexport { e as ASSETS_DIR, t as DEFAULT_API_KEY_NAME, n as DEFAULT_API_URL_NAME, r as DEFAULT_APP_ACCESS_TOKEN_NAME, i as GENERATED_DIR, a as NODE_ESM_CJS_BANNER, o as OUTPUT_DIR, l as SyncableEntity, s as TWENTY_STANDARD_APPLICATION_NAME, c as TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER };\n","import {\n DEFAULT_API_URL_NAME,\n DEFAULT_APP_ACCESS_TOKEN_NAME,\n} from 'twenty-shared/application';\n\nconst decodeTokenPayload = (\n token: string,\n): { workspaceId: string; applicationId: string } => {\n const payload = JSON.parse(atob(token.split('.')[1]));\n\n return {\n workspaceId: payload.workspaceId,\n applicationId: payload.applicationId,\n };\n};\n\n// Returns the public URL for a file in the app's public/ directory.\n// Works in both logic functions and front components.\n// The path is relative to the public/ folder (e.g. \"images/logo.png\").\nexport const getPublicAssetUrl = (path: string): string => {\n const apiUrl = process.env[DEFAULT_API_URL_NAME];\n const token = process.env[DEFAULT_APP_ACCESS_TOKEN_NAME];\n\n if (!apiUrl || !token) {\n throw new Error(\n 'getPublicAssetUrl can only be called from within a logic function or front component',\n );\n }\n\n const { workspaceId, applicationId } = decodeTokenPayload(token);\n const withoutLeadingSlash = path.startsWith('/') ? path.slice(1) : path;\n const withPublicPrefix = withoutLeadingSlash.startsWith('public/')\n ? withoutLeadingSlash\n : `public/${withoutLeadingSlash}`;\n\n const encodedPath = withPublicPrefix\n .split('/')\n .map(encodeURIComponent)\n .join('/');\n\n return `${apiUrl}/public-assets/${workspaceId}/${applicationId}/${encodedPath}`;\n};\n","import { isNull as e, isUndefined as t } from \"@sniptt/guards\";\n//#region src/utils/validation/isDefined.ts\nvar n = (n) => !t(n) && !e(n);\n//#endregion\nexport { n as t };\n"],"mappings":";;AACA,IAAwCA,IAAI,kBAAkB,IAAI,2BCI5D,KACJ,MACmD;CACnD,IAAM,IAAU,KAAK,MAAM,KAAK,EAAM,MAAM,GAAG,EAAE,EAAE,CAAC;CAEpD,OAAO;EACL,aAAa,EAAQ;EACrB,eAAe,EAAQ;CACzB;AACF,GAKa,KAAqB,MAAyB;CACzD,IAAM,IAAS,QAAQ,IAAI,IACrB,IAAQ,QAAQ,IAAI;CAE1B,IAAI,CAAC,KAAU,CAAC,GACd,MAAU,MACR,sFACF;CAGF,IAAM,EAAE,gBAAa,qBAAkB,EAAmB,CAAK,GACzD,IAAsB,EAAK,WAAW,GAAG,IAAI,EAAK,MAAM,CAAC,IAAI;CAUnE,OAAO,GAAG,EAAO,iBAAiB,EAAY,GAAG,EAAc,IATtC,EAAoB,WAAW,SAAS,IAC7D,IACA,UAAU,KAGX,MAAM,GAAG,EACT,IAAI,kBAAkB,EACtB,KAAK,GAE0D;AACpE,GCvCI,KAAK,MAAM,CAACC,EAAE,CAAC,KAAK,CAACC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twenty-sdk",
3
- "version": "2.13.0",
3
+ "version": "2.15.0",
4
4
  "sideEffects": false,
5
5
  "bin": {
6
6
  "twenty": "dist/cli.cjs"
@@ -85,8 +85,9 @@
85
85
  "preact": "^10.28.3",
86
86
  "react": "^19.2.0",
87
87
  "react-dom": "^19.2.0",
88
+ "semver": "7.6.3",
88
89
  "tinyglobby": "^0.2.15",
89
- "twenty-client-sdk": "2.13.0",
90
+ "twenty-client-sdk": "2.15.0",
90
91
  "typescript": "^5.9.3",
91
92
  "uuid": "^13.0.2"
92
93
  },
@@ -95,6 +96,7 @@
95
96
  "@types/node": "^24.0.0",
96
97
  "@types/react": "^19.2.0",
97
98
  "@types/react-dom": "^19.2.0",
99
+ "@types/semver": "^7.5.8",
98
100
  "@typescript/native-preview": "^7.0.0-dev.20260116.1",
99
101
  "@vitest/coverage-v8": "^4.0.18",
100
102
  "prettier": "^3.1.1",
@@ -103,7 +105,7 @@
103
105
  "tsc-alias": "^1.8.16",
104
106
  "tsx": "^4.7.0",
105
107
  "twenty-shared": "0.0.0",
106
- "twenty-ui-deprecated": "0.0.0",
108
+ "twenty-ui": "0.1.0",
107
109
  "vite": "^8.0.0",
108
110
  "vite-plugin-dts": "^4.5.4",
109
111
  "vite-tsconfig-paths": "^4.2.1",