twenty 2.46.0 → 2.49.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.
- package/CONTRIBUTING.md +25 -17
- package/dist/app-template/yarn.lock +165 -191
- package/dist/app-worker.cjs +1 -1
- package/dist/chunks/application-BE-X21OV.cjs +5 -0
- package/dist/chunks/build-pull-entities-caP3XupC.cjs +5 -0
- package/dist/chunks/{build-source-manifest-CLKH5vzc.cjs → build-source-manifest-DWRbCMVq.cjs} +1 -1
- package/dist/chunks/{build-source-snapshot-CbGsy1-v.cjs → build-source-snapshot-CtgBQfSx.cjs} +816 -157
- package/dist/chunks/{check-node-requirement-mqwNPktb.cjs → check-node-requirement-CGBKvEqH.cjs} +1 -1
- package/dist/chunks/cli-node-version-range.constant-D7fE8edk.cjs +1 -0
- package/dist/chunks/cli-version.constant-BBeYll5N.cjs +1 -0
- package/dist/chunks/collect-translatable-strings-GBVXMoaX.cjs +1 -0
- package/dist/chunks/{collect-watch-inputs-B9jWG4W0.cjs → collect-watch-inputs-CJVgCTo5.cjs} +1 -1
- package/dist/chunks/compile-application-translations-B4jILjGc.cjs +1 -0
- package/dist/chunks/{constants-CL6mrTMT-B748cNNG.cjs → constants-CemcuPi_-D7dbw2cv.cjs} +1 -1
- package/dist/chunks/{convert-to-label-BPBLtc_O.cjs → convert-to-label-DH4ArWop.cjs} +1 -1
- package/dist/chunks/create-app-not-installed-error-DY-iuPPx.cjs +1 -0
- package/dist/chunks/{create-http-status-error-D3gy3DzB.cjs → create-http-status-error-C6gJS0JS.cjs} +1 -1
- package/dist/chunks/create-metadata-client-BRD2ys8z.cjs +6 -0
- package/dist/chunks/create-pull-base-write-CX9yftCd.cjs +1 -0
- package/dist/chunks/create-rest-client-Cc5Cmakp.cjs +60 -0
- package/dist/chunks/create-tooling-failure-B2FmNwR2.cjs +1 -0
- package/dist/chunks/extract-manifest-from-file-mvb6OhWm.cjs +1 -0
- package/dist/chunks/extract-source-translations-Bd_030qL.cjs +1 -0
- package/dist/chunks/{fetch-metadata-inspection-Dp034TpK.cjs → fetch-metadata-inspection-CAmEp-xl.cjs} +1 -1
- package/dist/chunks/{fetch-signed-in-identity-BhvaL3zp.cjs → fetch-signed-in-identity-b_LbRuL-.cjs} +1 -1
- package/dist/chunks/{fetch-workspace-id-DJStmf_V.cjs → fetch-workspace-id-C9kY0s84.cjs} +1 -1
- package/dist/chunks/{format-body-VcKL4WXt.cjs → format-body-BIv-9Sd5.cjs} +1 -1
- package/dist/chunks/{format-data-value-B6rIbpJv.cjs → format-data-value-C7Njc7Sb.cjs} +1 -1
- package/dist/chunks/format-display-path-gEepVJDg.cjs +1 -0
- package/dist/chunks/{format-metadata-fields-DJnTg1R9.cjs → format-metadata-fields-BOG2kj2h.cjs} +1 -1
- package/dist/chunks/{format-metadata-owner-yUeocnwY.cjs → format-metadata-owner-CyEMvoQr.cjs} +1 -1
- package/dist/chunks/format-progress-line-DgxG_7p2.cjs +1 -0
- package/dist/chunks/generate-application-client-BOLnv8nr.cjs +1 -0
- package/dist/chunks/{get-app-plan-summary-B0uwHXbO.cjs → get-app-plan-summary-D1Dsd34P.cjs} +2 -2
- package/dist/chunks/get-client-generation-skip-reason-CUn0Y2Vu.cjs +1 -0
- package/dist/chunks/get-client-sdk-package-path-2U3kDCRq.cjs +1 -0
- package/dist/chunks/{get-function-input-schema-GNk3NRLJ-Bfph1o9z.cjs → get-function-input-schema-GNk3NRLJ-CWNFoyKh.cjs} +1 -1
- package/dist/chunks/global-flags.constant-0k222fHC.cjs +1 -0
- package/dist/chunks/{is-access-token-expiring-gICPXsbO.cjs → is-access-token-expiring-D-YfufId.cjs} +1 -1
- package/dist/chunks/{is-application-not-found-error-mNeGbxmT.cjs → is-application-not-found-error-4vnGlYbm.cjs} +1 -1
- package/dist/chunks/is-exported-manifest-dsiWCcjx.cjs +1 -0
- package/dist/chunks/is-inside-directory-DHVCQE5C.cjs +1 -0
- package/dist/chunks/{is-interaction-allowed-ycbAFMIj.cjs → is-interaction-allowed-CF-ko1KI.cjs} +1 -1
- package/dist/chunks/is-locale-catalog-CRn-mKHj.cjs +1 -0
- package/dist/chunks/is-supported-locale-BOZxTj7r.cjs +1 -0
- package/dist/chunks/{is-supported-locale-BAjnKnKj.cjs → locale-catalog-format-rg5FMb7l.cjs} +5 -5
- package/dist/chunks/metadata-Vepr2xeA.cjs +1 -0
- package/dist/chunks/{metadata-page.constant-BkG4ndrO.cjs → metadata-page.constant-thBSPIZT.cjs} +1 -1
- package/dist/chunks/{parse-api-url-BllxRdpE.cjs → parse-api-url-CEfjRyid.cjs} +1 -1
- package/dist/chunks/{parse-app-export-BkfflyUY.cjs → parse-app-export-DUZ2dQJ8.cjs} +1 -1
- package/dist/chunks/parse-extraction-locale-fg7K8vps.cjs +1 -0
- package/dist/chunks/{parse-graphql-response-CtP9KTS2.cjs → parse-graphql-response-DvoRiFPV.cjs} +1 -1
- package/dist/chunks/{parse-json-input-CvMTKAWw.cjs → parse-json-input-DE451WQG.cjs} +1 -1
- package/dist/chunks/{print-typescript-value-DhElcFzI.cjs → print-typescript-value-DaEFmMda.cjs} +1 -1
- package/dist/chunks/pull-source-D9QUEAsK.cjs +1 -0
- package/dist/chunks/read-app-identity-DtEnxiEF.cjs +1 -0
- package/dist/chunks/read-application-identifier-DyZcsUV4.cjs +1 -0
- package/dist/chunks/{read-application-identity-BFg_p84F.cjs → read-application-identity-CMJ-W5D8.cjs} +1 -1
- package/dist/chunks/{read-config-DUJ27809.cjs → read-config-DdtXhdPp.cjs} +1 -1
- package/dist/chunks/read-json-object-CgaXuNS0.cjs +1 -0
- package/dist/chunks/read-snapshot-file-dvWjVexO.cjs +1 -0
- package/dist/chunks/{read-source-identity-C8LG1v6U.cjs → read-source-identity-Ca7QkuwC.cjs} +1 -1
- package/dist/chunks/record-pull-base-Dfqth7Uy.cjs +1 -0
- package/dist/chunks/{record-typecheck-config-inputs-BDqkKCrj.cjs → record-typecheck-config-inputs-DZy2PhMY.cjs} +1 -1
- package/dist/chunks/{request-oauth-tokens-C4KKlTQT.cjs → request-oauth-tokens-BY5ew3aM.cjs} +1 -1
- package/dist/chunks/require-approval-D0FfoHhF.cjs +1 -0
- package/dist/chunks/resolve-app-project-dftvbB2P.cjs +1 -0
- package/dist/chunks/resolve-command-target-0k6iitOZ.cjs +1 -0
- package/dist/chunks/resolve-inside-sdk-6M8jy9bi.cjs +1 -0
- package/dist/chunks/{resolve-metadata-object-QoDi-Aik.cjs → resolve-metadata-object-DzDTQF_T.cjs} +1 -1
- package/dist/chunks/resolve-project-typescript-Cw2kvn6E.cjs +1 -0
- package/dist/chunks/{resolve-request-url-jC5kYwkn.cjs → resolve-request-url-Cnuxu_nj.cjs} +1 -1
- package/dist/chunks/resolve-source-sdk-B1Fxlsmt.cjs +1 -0
- package/dist/chunks/{run-api-graphql-command-Biy0WqXa.cjs → run-api-graphql-command-CzQ4IH4l.cjs} +1 -1
- package/dist/chunks/{run-api-rest-command-D9kdQceV.cjs → run-api-rest-command-BtXv11uz.cjs} +1 -1
- package/dist/chunks/{run-app-add-command-DcTQg7Si.cjs → run-app-add-command-DsgrCsEl.cjs} +5 -5
- package/dist/chunks/run-app-apply-command-X_XGAwRN.cjs +2 -0
- package/dist/chunks/{run-app-build-command-BRYb0one.cjs → run-app-build-command--t8qRNsn.cjs} +1 -1
- package/dist/chunks/run-app-dev-command-Cc-nhH2t.cjs +2 -0
- package/dist/chunks/run-app-exec-command-mdXCYmUn.cjs +3 -0
- package/dist/chunks/run-app-generate-client-command-3DMg-WyX.cjs +2 -0
- package/dist/chunks/run-app-init-command-BfS8IFmY.cjs +2 -0
- package/dist/chunks/run-app-install-command-DMbwFvtE.cjs +1 -0
- package/dist/chunks/run-app-logs-command-B7_iDOj1.cjs +9 -0
- package/dist/chunks/run-app-operation-DFCj0sG_.cjs +1 -0
- package/dist/chunks/run-app-plan-command-Dh_DFA7H.cjs +1 -0
- package/dist/chunks/run-app-publish-command-eJcYGb8S.cjs +3 -0
- package/dist/chunks/run-app-pull-command-BV2cMuLU.cjs +3 -0
- package/dist/chunks/run-app-translations-extract-command-CBBbk_vJ.cjs +2 -0
- package/dist/chunks/{run-app-typecheck-command-C8LqpOej.cjs → run-app-typecheck-command-pAHhuBGo.cjs} +1 -1
- package/dist/chunks/run-app-uninstall-command-C5um6udQ.cjs +2 -0
- package/dist/chunks/{run-auth-login-command-_zDgRcth.cjs → run-auth-login-command-C4VI44Xu.cjs} +1 -1
- package/dist/chunks/{run-auth-logout-command-BO6O7GVi.cjs → run-auth-logout-command-5Tvqclki.cjs} +1 -1
- package/dist/chunks/{run-auth-status-command-Cj-vqoHg.cjs → run-auth-status-command-CLH1bylR.cjs} +1 -1
- package/dist/chunks/{run-cli-c9TOR0zj.cjs → run-cli-BA0FsxzB.cjs} +8 -8
- package/dist/chunks/{run-commands-command-C6gvMpQ_.cjs → run-commands-command-CjzkTcrO.cjs} +1 -1
- package/dist/chunks/{run-data-get-command-jDEU4EG1.cjs → run-data-get-command-DoZIpf8O.cjs} +1 -1
- package/dist/chunks/{run-data-list-command-EnCdbuzc.cjs → run-data-list-command-DAoplyqj.cjs} +1 -1
- package/dist/chunks/{run-doctor-command-DnJ6io-m.cjs → run-doctor-command-D8cpt7FI.cjs} +2 -2
- package/dist/chunks/{run-metadata-field-describe-command-vJngpw2S.cjs → run-metadata-field-describe-command-BrZYIhjH.cjs} +1 -1
- package/dist/chunks/{run-metadata-field-list-command-CR4w7fI6.cjs → run-metadata-field-list-command-C9-pHXbx.cjs} +1 -1
- package/dist/chunks/{run-metadata-object-describe-command-CHP8K-W2.cjs → run-metadata-object-describe-command-WFdGu1Iq.cjs} +1 -1
- package/dist/chunks/{run-metadata-object-list-command-BqXMcAp6.cjs → run-metadata-object-list-command-8UKU3cMW.cjs} +1 -1
- package/dist/chunks/{run-open-command-DKl8acw0.cjs → run-open-command-B1pdHp36.cjs} +1 -1
- package/dist/chunks/{run-remote-list-command-DeAzr5Mn.cjs → run-remote-list-command-BRPcCOKx.cjs} +1 -1
- package/dist/chunks/{run-remote-remove-command-D0C5sWjP.cjs → run-remote-remove-command-CS6za2Pm.cjs} +1 -1
- package/dist/chunks/{run-remote-rename-command-Byq9WRHd.cjs → run-remote-rename-command-BOqWQUR4.cjs} +1 -1
- package/dist/chunks/{run-remote-use-command-B6VVDlMG.cjs → run-remote-use-command-BANiokD-.cjs} +1 -1
- package/dist/chunks/{run-version-command-BmSk8PUV.cjs → run-version-command-C0xgcPP6.cjs} +1 -1
- package/dist/chunks/{select-target-C1VZjf-A.cjs → select-target-CfuNLCQL.cjs} +1 -1
- package/dist/chunks/sign-in-to-remote-again-DYCWIDa9.cjs +1 -0
- package/dist/chunks/{sign-in-with-browser-C3kC6uP2.cjs → sign-in-with-browser-Ck4tOxtA.cjs} +1 -1
- package/dist/chunks/to-public-target-C0POrVoG.cjs +1 -0
- package/dist/chunks/{to-worker-output-diagnostics-lprh9b0l.cjs → to-worker-output-diagnostics-Bt_acI26.cjs} +1 -1
- package/dist/chunks/{typecheck-application-DGrovgX9.cjs → typecheck-application-DEO1SVdO.cjs} +2 -2
- package/dist/chunks/{update-config-BkKBEfAp.cjs → update-config-FzOzO3wZ.cjs} +1 -1
- package/dist/chunks/utils-ZOESAfF8-ub6jPiZ-.cjs +35 -0
- package/dist/chunks/with-phase-details-Dof8Ao9R.cjs +1 -0
- package/dist/chunks/{write-config-atomically-DRWTukU-.cjs → write-config-atomically-C-YMKq3P.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/docs/commands.md +93 -5
- package/package.json +6 -6
- package/src/app/source/README.md +1 -1
- package/dist/chunks/application-DuIJE2qG.cjs +0 -5
- package/dist/chunks/build-pull-entities-zwArrVMk.cjs +0 -5
- package/dist/chunks/cli-version.constant-aSp8WZDh.cjs +0 -1
- package/dist/chunks/compile-application-translations-B59jYVWc.cjs +0 -1
- package/dist/chunks/create-app-not-installed-error-Cc8YZqI7.cjs +0 -1
- package/dist/chunks/create-metadata-client-ChjDalSi.cjs +0 -6
- package/dist/chunks/create-pull-base-write-rxjcKtD-.cjs +0 -1
- package/dist/chunks/create-rest-client-eAfOFfDA.cjs +0 -58
- package/dist/chunks/create-tooling-failure-DLI5FlQP.cjs +0 -1
- package/dist/chunks/extract-manifest-from-file-j-Y9wNas.cjs +0 -1
- package/dist/chunks/generate-application-client-CCVLjxTj.cjs +0 -1
- package/dist/chunks/global-flags.constant-8GfW0sNU.cjs +0 -1
- package/dist/chunks/is-exported-manifest-CriNOWvx.cjs +0 -1
- package/dist/chunks/is-inside-directory-t3ixLQDr.cjs +0 -1
- package/dist/chunks/metadata-D9sQOTRK.cjs +0 -1
- package/dist/chunks/package-CdYv4LEx.cjs +0 -1
- package/dist/chunks/pull-source-eoiJwFb9.cjs +0 -1
- package/dist/chunks/read-app-identity-SeleQ_D6.cjs +0 -1
- package/dist/chunks/record-pull-base-BbxvlnU8.cjs +0 -1
- package/dist/chunks/require-approval-fhegB1ap.cjs +0 -1
- package/dist/chunks/resolve-app-project-D5ZXIpsG.cjs +0 -1
- package/dist/chunks/resolve-inside-sdk-p-16gKb4.cjs +0 -1
- package/dist/chunks/resolve-project-typescript-CDY8BbmP.cjs +0 -1
- package/dist/chunks/resolve-source-sdk-mK-f4q55.cjs +0 -1
- package/dist/chunks/run-app-apply-command-DwLPPJ-Y.cjs +0 -2
- package/dist/chunks/run-app-dev-command-CVeh9Gab.cjs +0 -2
- package/dist/chunks/run-app-exec-command-DKLNLbL5.cjs +0 -3
- package/dist/chunks/run-app-init-command-CJj8_spC.cjs +0 -2
- package/dist/chunks/run-app-logs-command-Dusb8K-W.cjs +0 -9
- package/dist/chunks/run-app-operation-BWrY9YZK.cjs +0 -1
- package/dist/chunks/run-app-plan-command-C0_3e332.cjs +0 -1
- package/dist/chunks/run-app-pull-command-DcZqs8gR.cjs +0 -3
- package/dist/chunks/run-app-uninstall-command-ncWS_k-p.cjs +0 -2
- package/dist/chunks/sign-in-to-remote-again-CW8HPSTP.cjs +0 -1
- package/dist/chunks/to-public-target-CIAwoOKL.cjs +0 -1
- package/dist/chunks/utils-B8EXJeaX-DK3gCslL.cjs +0 -33
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./cli-error-CSsayo0u.cjs"),t=require("./create-cancelled-error-DgrNfOv2.cjs");var n=({error:n,diagnostics:r,sdkVersion:i,operation:a=`build`})=>{if(n.code===`CANCELLED`)return t.t();let o=r.filter(e=>e.severity===`error`).length,s=o===1?`error`:`errors`,c={...n.details,toolingErrorCode:n.code,sdkVersion:i,diagnostics:r};switch(n.code){case`SDK_SOURCE_UNSUPPORTED`:case`TYPESCRIPT_NOT_INSTALLED`:case`TOOLING_UNSUPPORTED`:case`NODE_VERSION_UNSUPPORTED`:return new e.t({code:n.code,message:n.message,hint:n.hint,details:c})}return n.code===`TYPECHECK_FAILED`?new e.t({code:`TYPECHECK_FAILED`,message:o>0?`Typecheck failed with ${o} ${s}.`:`Typecheck failed: ${n.message}`,hint:n.hint,details:c}):new e.t({code:a===`generateClient`?`CLIENT_GENERATION_FAILED`:`BUILD_FAILED`,message:a===`generateClient`?n.message:`The build failed: ${n.message}`,hint:n.hint,details:c})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./collect-watch-inputs-B9jWG4W0.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./fs-utils-Bl1fQcaJ.cjs");let a=require("node:crypto"),o=require("node:fs/promises");o=e.i(o);let s=require("node:path");s=e.i(s);let c=require("node:module"),l=require("esbuild");l=e.i(l);let u=require("typescript");u=e.i(u);let d=require("node:vm");d=e.i(d);var f={defineApplication:`application`,defineApplicationRole:`roles`,defineField:`fields`,defineIndex:`indexes`,defineLogicFunction:`logicFunctions`,definePostInstallLogicFunction:`logicFunctions`,definePreInstallLogicFunction:`logicFunctions`,defineUninstallLogicFunction:`logicFunctions`,defineHealthCheck:`logicFunctions`,defineObject:`objects`,definePermissionFlag:`permissionFlags`,defineRole:`roles`,defineSkill:`skills`,defineAgent:`agents`,defineConnectionProvider:`connectionProviders`,defineFrontComponent:`frontComponents`,defineSettingsFrontComponent:`frontComponents`,defineView:`views`,defineViewField:`viewFields`,defineNavigationMenuItem:`navigationMenuItems`,definePageLayout:`pageLayouts`,definePageLayoutTab:`pageLayoutTabs`,definePageLayoutWidget:`pageLayoutWidgets`,defineCommandMenuItem:`commandMenuItems`,defineTimelineActivityType:`timelineActivityTypes`,defineSettingsMenuItem:`settingsMenuItems`},p=e=>Object.hasOwn(f,e),m=e=>{let t=u.createSourceFile(`temp.ts`,e,u.ScriptTarget.Latest,!0);for(let e of t.statements){if(!u.isExportAssignment(e))continue;if(e.isExportEquals)return;let t=e.expression;if(u.isCallExpression(t)&&u.isIdentifier(t.expression)&&p(t.expression.text))return t.expression.text}},h=e.t(),g=[[/\bfavoriteRecordIds\.length\b/g,`arrayLength(favoriteRecordIds)`],[/\bselectedRecords\.length\b/g,`arrayLength(selectedRecords)`]],_=e=>g.reduce((e,[t,n])=>e.replace(t,n),e.replace(/!==/g,`!=`).replace(/===/g,`==`).replace(/&&/g,`and`).replace(/\|\|/g,`or`).replace(/!(?!=)/g,`not `).replace(/,(\s*\))/g,`$1`)),v=/(conditionalAvailabilityExpression\s*:\s*)(?!['"`])((?:[^,}()]|\([^()]*\))+)/g,y=e=>e.replace(v,(e,t,n)=>t+JSON.stringify(_(n.trim()))),b={name:`conditional-availability-transform`,setup:e=>{e.onLoad({filter:/\.tsx?$/,namespace:`file`},async e=>{let t=await o.readFile(e.path,`utf8`);if(!t.includes(`conditionalAvailabilityExpression`))return null;let n=y(t);return n===t?null:{contents:n,loader:e.path.endsWith(`.tsx`)?`tsx`:`ts`}})}},x=new Map,S=(e,n)=>{let r=(0,a.createHash)(`sha1`).update(e).digest(`hex`),i=x.get(n);if(t.zt(i)&&i.outputHash===r)return i.wrapper;let o=d.default.compileFunction(e,[`exports`,`require`,`module`,`__filename`,`__dirname`],{filename:n});return x.set(n,{outputHash:r,wrapper:o}),o},C=[`twenty-ui`,`twenty-client-sdk/core`,`twenty-client-sdk/metadata`],w=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),T={name:`manifest-mock`,setup:e=>{let t=C.map(w),n=RegExp(`^(${t.join(`|`)})(/.*)?$`);e.onResolve({filter:n},({path:e})=>e.endsWith(`.css`)?null:{path:e,namespace:`manifest-mock`}),e.onLoad({filter:/.*/,namespace:`manifest-mock`},()=>({contents:`module.exports = new Proxy({}, { get: () => () => {} });`,loader:`js`}))}},E=async({filePath:e,appPath:t})=>O(await D({filePath:e,appPath:t}),e),D=async({filePath:e,appPath:t})=>{let r=s.default.join(t,`tsconfig.json`),a=await i.i(r),o=(0,c.createRequire)(s.default.join(t,`package.json`)),u,d;try{u=s.default.dirname(o.resolve(`react/package.json`)),d=s.default.dirname(o.resolve(`react-dom/package.json`))}catch{}let f=(await l.build({entryPoints:[e],bundle:!0,write:!1,format:`cjs`,platform:`node`,target:`node18`,jsx:`automatic`,tsconfig:a?r:void 0,loader:{".css":`empty`},alias:{...u&&{react:u},...d&&{"react-dom":d}},plugins:[...n.n(),b,T],logLevel:`silent`})).outputFiles[0].text,p=S(f,e),m={exports:{}};return p(m.exports,o,m,e,s.default.dirname(e)),m.exports},O=(e,n)=>{let i=e.default;if(t.d(i)&&(0,h.isBoolean)(i.success)&&t.d(i.config)&&(0,h.isArray)(i.errors)&&i.errors.every(h.isString)&&(!t.zt(i.warnings)||(0,h.isArray)(i.warnings)&&i.warnings.every(h.isString)))return{success:i.success,config:i.config,errors:i.errors,...t.zt(i.warnings)?{warnings:i.warnings}:{}};throw new r.t({code:`SDK_SOURCE_UNSUPPORTED`,message:`The definition in ${n} must export a twenty-sdk ValidationResult with success, config and errors.`,hint:`Use the SDK define functions, rename local helpers with the same names, or install a compatible twenty-sdk version.`})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./is-inside-directory-t3ixLQDr.cjs"),r=require("./resolve-inside-sdk-p-16gKb4.cjs"),i=require("./validate-app-path-Dau-PC0a.cjs");let a=require("node:fs/promises"),o=require("node:path"),s=require("node:module");var c=e.t(),l=async({appPath:e,schema:l,signal:u})=>{let d=await i.t(e);if(!d.success)return d;try{if(u?.throwIfAborted(),!(0,c.isNonEmptyString)(l))throw Error(`schema must be a non-empty GraphQL schema string.`);let i=(0,o.join)(e,`node_modules`,`twenty-client-sdk`);if((await n.n((0,o.join)(i,`package.json`)))?.name!==`twenty-client-sdk`)throw Error(`Expected twenty-client-sdk in the app node_modules directory.`);let d=(0,s.createRequire)((0,o.join)(i,`package.json`)),f=r.t({resolveFromApp:d.resolve,specifier:`twenty-client-sdk/generate`,sdkPath:await(0,a.realpath)(i)});if(!t.zt(f))throw Error(`The app's twenty-client-sdk does not provide its own generate entry point. Install a compatible twenty-client-sdk version in this app.`);u?.throwIfAborted();let p=d(f);if(!t.d(p)||!(0,c.isFunction)(p.replaceCoreClient))throw Error(`The app's twenty-client-sdk/generate must export replaceCoreClient.`);return u?.throwIfAborted(),await p.replaceCoreClient({packageRoot:i,schema:l}),u?.throwIfAborted(),{success:!0,data:null,diagnostics:[]}}catch(e){return{success:!1,error:{code:u?.aborted&&Object.is(e,u.reason)?`CANCELLED`:`CLIENT_GENERATION_FAILED`,message:e instanceof Error?e.message:String(e)},diagnostics:[]}}};exports.generateApplicationClient=l;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={path:[`app`,`dev`],description:`Watch app source, build complete snapshots and sync changes to the workspace`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--no-delete`,description:`Keep remote entities missing from the app source`},{flags:`--create`,description:`Allow registering and installing an app with no registration`},{flags:`--yes`,description:`Allow object and field deletions without asking`}],examples:[`twenty app dev --remote dev`,`twenty app dev --create --no-delete`,`twenty app dev --format ndjson --no-delete`],outputModes:[`human`,`ndjson`],writes:!0,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`,`UPLOAD_FILE`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-dev-command-CVeh9Gab.cjs"))).runAppDevCommand},t={path:[`app`,`add`],description:`Add an object, field, logic function or front component to an app`,arguments:[{name:`entity`,description:`object, field, logic-function or front-component (prompted when omitted)`,required:!1}],options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--name <name>`,description:`Definition name; also determines the generated filename`},{flags:`--create-view`,description:`Create a table view for the new object`},{flags:`--create-navigation-menu-item`,description:`Create a navigation menu item for the new object`},{flags:`--create-page-layout`,description:`Create a record page layout and its fields view for the new object`},{flags:`--name-plural <name>`,description:`Plural API name (object)`},{flags:`--label <label>`,description:`Display label (object or field; default: derived from name)`},{flags:`--label-plural <label>`,description:`Plural display label (object; default: derived from plural name)`},{flags:`--type <type>`,description:`Field type, for example TEXT, NUMBER or RELATION (default: TEXT)`},{flags:`--object <uuid>`,description:`Parent object universal identifier (field)`},{flags:`--description <text>`,description:`Field description`},{flags:`--target-object <uuid>`,description:`Target object universal identifier (relation field)`},{flags:`--target-field <uuid>`,description:`Target field universal identifier (relation field)`},{flags:`--relation-type <type>`,description:`ONE_TO_MANY or MANY_TO_ONE (relation field; default: ONE_TO_MANY)`},{flags:`--on-delete <action>`,description:`CASCADE, RESTRICT, SET_NULL, NO_ACTION or None (relation field; default: CASCADE)`}],examples:[`twenty app add`,`twenty app add object --name invoice --name-plural invoices --no-input`,`twenty app add object --name invoice --name-plural invoices --create-view --create-navigation-menu-item --create-page-layout --no-input`,`twenty app add field --name amount --type NUMBER --object <object-universal-identifier> --json`,`twenty app add logic-function --name send-invoice --no-input`,`twenty app add front-component --name invoice-panel --no-input`],outputModes:[`human`,`json`],writes:!0,needsProject:!0,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-app-add-command-DcTQg7Si.cjs"))).runAppAddCommand},n={path:[`app`,`exec`],description:`Execute a deployed app logic function as the signed-in user`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--name <name>`,description:`Exact deployed function name`},{flags:`--universal-identifier <id>`,description:`Function universal identifier`},{flags:`--post-install`,description:`Execute the post-install hook without installing the app`},{flags:`--pre-install`,description:`Execute the pre-install hook without installing the app`},{flags:`--uninstall-hook`,description:`Execute the uninstall hook without uninstalling the app`},{flags:`--payload <json>`,description:`JSON object, @file or - for stdin (default: {})`}],examples:[`twenty app exec --name add-numbers --remote dev`,`twenty app exec --name add-numbers --payload @payload.json --json`,`twenty app exec --post-install --payload '{}'`],outputModes:[`human`,`json`],writes:!0,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`,`WORKFLOWS`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-exec-command-DKLNLbL5.cjs"))).runAppExecCommand},r={path:[`app`,`logs`],description:`Watch new logic-function logs from this app`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--name <name>`,description:`Filter all functions with this exact name within the app`},{flags:`--universal-identifier <id>`,description:`Filter one function by universal identifier`}],examples:[`twenty app logs --remote dev`,`twenty app logs --name add-numbers --remote dev`,`twenty app logs --format ndjson`],outputModes:[`human`,`ndjson`],writes:!1,needsProject:!0,needsTarget:!0,requiredPermissions:[`WORKFLOWS`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-logs-command-Dusb8K-W.cjs"))).runAppLogsCommand},i={path:[`app`,`apply`],description:`Build the app, preview the changes, then upload and sync it to the workspace`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--no-delete`,description:`Keep remote entities missing from the app source`},{flags:`--create`,description:`Register the app and install it in the workspace if it has no registration yet`},{flags:`--yes`,description:`Apply object and field deletions without asking; does not change which entities are deleted`}],examples:[`twenty app apply --remote dev`,`twenty app apply --create --json`,`twenty app apply --no-delete`],outputModes:[`human`,`json`],writes:!0,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`,`UPLOAD_FILE`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-apply-command-DwLPPJ-Y.cjs"))).runAppApplyCommand},a={path:[`app`,`build`],description:`Build the app with the CLI and report the artifacts`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`}],examples:[`twenty app build`,`twenty app build --path ./apps/billing --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!0,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-app-build-command-BRYb0one.cjs"))).runAppBuildCommand},o={path:[`app`,`init`],description:`Create an app from the template bundled with this CLI, without installing anything`,arguments:[{name:`name`,description:`Package name of the app, for example my-app`,required:!0}],options:[{flags:`--path <directory>`,description:`Directory to create (default: ./<name>)`},{flags:`--display-name <name>`,description:`Name shown in Twenty (default: derived from the package name)`},{flags:`--description <text>`,description:`Description shown in Twenty`}],examples:[`twenty app init my-app`,`twenty app init billing --path ./apps/billing --display-name Billing --json`],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-app-init-command-CJj8_spC.cjs"))).runAppInitCommand},s={path:[`app`,`pull`],description:`Pull workspace metadata into an existing app project`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--universal-identifier <uuid>`,description:`Application to pull when this project has no application definition`},{flags:`--verbose`,description:`List coverage details`}],examples:[`twenty app pull --remote dev`,`twenty app pull --path ./apps/billing --json`],outputModes:[`human`,`json`],writes:!0,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-pull-command-DcZqs8gR.cjs"))).runAppPullCommand},c={path:[`app`,`plan`],description:`Build the app and preview metadata changes without applying them`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--no-delete`,description:`Keep remote entities missing from the app source`}],examples:[`twenty app plan --remote dev`,`twenty app plan --path ./apps/billing --no-delete --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-plan-command-C0_3e332.cjs"))).runAppPlanCommand},l={path:[`app`,`typecheck`],description:`Typecheck the app with its project TypeScript, without building`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`}],examples:[`twenty app typecheck`,`twenty app typecheck --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!0,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-app-typecheck-command-C8LqpOej.cjs"))).runAppTypecheckCommand},u={path:[`app`,`uninstall`],description:`Uninstall the app from the workspace, deleting its objects, fields and their data`,options:[{flags:`--path <directory>`,description:`App directory (default: the app containing the current folder)`},{flags:`--universal-identifier <id>`,description:`Uninstall the app with this universal identifier without building the project, for example when the build is broken`},{flags:`--yes`,description:`Uninstall without asking`}],examples:[`twenty app uninstall --remote dev`,`twenty app uninstall --yes --json`,`twenty app uninstall --universal-identifier <id> --yes`],outputModes:[`human`,`json`],writes:!0,needsProject:!0,needsTarget:!0,requiredPermissions:[`APPLICATIONS`],load:async()=>(await Promise.resolve().then(()=>require("./run-app-uninstall-command-ncWS_k-p.cjs"))).runAppUninstallCommand},d={path:[`auth`,`login`],description:`Sign in with your browser or an API key, and save the remote`,options:[{flags:`--with-token`,description:`Read an API key from standard input`},{flags:`--url <url>`,description:`Twenty server URL, for example https://acme.twenty.com`},{flags:`--name <name>`,description:`Name of the remote to save (defaults to "default")`},{flags:`--use`,description:`Make this remote the default`},{flags:`--replace`,description:`Point an existing remote at a different URL`}],examples:[`twenty auth login --url https://acme.twenty.com`,`twenty auth login --url https://acme.twenty.com --name prod`,`printf '%s' "$TWENTY_API_KEY" | twenty auth login --with-token --url https://acme.twenty.com --name prod`,`twenty auth login --with-token --remote prod < api-key.txt`],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-auth-login-command-_zDgRcth.cjs"))).runAuthLoginCommand},f={path:[`auth`,`logout`],description:`Forget the credentials of a saved remote, keeping the remote`,examples:[`twenty auth logout --remote staging`],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-auth-logout-command-BO6O7GVi.cjs"))).runAuthLogoutCommand},p={path:[`auth`,`status`],description:`Show which workspace commands use and check its credentials`,outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-auth-status-command-Cj-vqoHg.cjs"))).runAuthStatusCommand},m={path:[`auth`,`token`],description:`Print the credential commands send, for scripts`,examples:[`curl -H "Authorization: Bearer $(twenty auth token)" https://acme.twenty.com/rest/companies`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-auth-token-command-D4geJ-rx.cjs"))).runAuthTokenCommand},h={path:[`api`,`graphql`],description:`Send a GraphQL query or mutation`,options:[{flags:`--query <query>`,description:`GraphQL document: inline, @file.graphql, or - for standard input`,required:!0},{flags:`--variables <json>`,description:`Variables as a JSON object: inline, @file.json, or - for standard input`},{flags:`--metadata`,description:`Send to the metadata API instead of the core API`}],examples:[`twenty api graphql --query '{ companies(first: 2) { edges { node { name } } } }'`,`twenty api graphql --metadata --query '{ currentWorkspace { displayName } }'`,`twenty api graphql --query @create-company.graphql --variables @variables.json`],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-api-graphql-command-Biy0WqXa.cjs"))).runApiGraphqlCommand},g={path:[`api`,`rest`],description:`Send a request to the REST API`,arguments:[{name:`path`,description:`Path under the API URL, for example /rest/companies`,required:!0}],options:[{flags:`-X, --method <method>`,description:`HTTP method, defaults to GET; required with --body`,choices:[`GET`,`POST`,`PATCH`,`PUT`,`DELETE`]},{flags:`--body <json>`,description:`Request body: JSON, @file.json, or - for standard input`}],examples:[`twenty api rest '/rest/companies?limit=5'`,`twenty api rest /rest/companies --method POST --body '{"name":"Linear"}'`,`twenty api rest /rest/companies/<id> --method PATCH --body @changes.json`],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-api-rest-command-D9kdQceV.cjs"))).runApiRestCommand},_={WORKSPACE:`Workspace:`,APP:`App development:`,TOOLS:`Tools:`},v={path:[`commands`],description:`List the available commands`,helpGroup:_.TOOLS,outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-commands-command-C6gvMpQ_.cjs"))).runCommandsCommand},y={path:[`data`,`get`],description:`Inspect a record by id`,arguments:[{name:`object`,description:`Exact singular or plural API name`,required:!0},{name:`id`,description:`Record id`,required:!0}],examples:[`twenty data get companies <id>`,`twenty data get people <id> --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-data-get-command-jDEU4EG1.cjs"))).runDataGetCommand},b={path:[`data`,`list`],description:`List records with REST filters and pagination`,arguments:[{name:`object`,description:`Exact singular or plural API name`,required:!0}],options:[{flags:`--filter <expression>`,description:`REST filter expression, passed through unchanged`},{flags:`--order-by <expression>`,description:`REST order_by expression, passed through unchanged`},{flags:`--fields <names>`,description:`Comma-separated human table columns; JSON and NDJSON retain full records`},{flags:`--limit <count>`,description:`Records per page, 1–200 (default: 50)`},{flags:`--cursor <cursor>`,description:`Start after this opaque REST cursor`},{flags:`--all`,description:`Read every remaining page, bounded unless --format ndjson is used`}],examples:[`twenty data list companies --limit 20`,`twenty data list companies --filter 'employees[gte]:5000' --order-by 'employees[DescNullsLast]'`,`twenty data list people --all --format ndjson`],outputModes:[`human`,`json`,`ndjson`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-data-list-command-EnCdbuzc.cjs"))).runDataListCommand},x={path:[`doctor`],description:`Diagnose CLI, app SDK and workspace connection problems`,helpGroup:_.TOOLS,options:[{flags:`--path <directory>`,description:`App directory to inspect`},{flags:`--offline`,description:`Skip network checks`}],examples:[`twenty doctor`,`twenty doctor --remote staging --path ./my-app --json`,`twenty doctor --offline`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-doctor-command-DnJ6io-m.cjs"))).runDoctorCommand},S={path:[`metadata`,`object`,`describe`],description:`Describe an object`,arguments:[{name:`object`,description:`Exact singular or plural API name`,required:!0}],examples:[`twenty metadata object describe companies`,`twenty metadata object describe person --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-metadata-object-describe-command-CHP8K-W2.cjs"))).runMetadataObjectDescribeCommand},C={path:[`metadata`,`field`,`list`],description:`List fields and who owns each one`,arguments:[{name:`object`,description:`Exact singular or plural API name`,required:!0}],options:[{flags:`--all`,description:`Include system fields`}],examples:[`twenty metadata field list companies`,`twenty metadata field list companies --all --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-metadata-field-list-command-CR4w7fI6.cjs"))).runMetadataFieldListCommand},w={path:[`metadata`,`field`,`describe`],description:`Describe a field, its constraints, options and relations`,arguments:[{name:`object`,description:`Exact singular or plural object API name`,required:!0},{name:`field`,description:`Exact field API name, including system fields`,required:!0}],examples:[`twenty metadata field describe companies tier`,`twenty metadata field describe people company --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-metadata-field-describe-command-vJngpw2S.cjs"))).runMetadataFieldDescribeCommand},T={path:[`metadata`,`object`,`list`],description:`List objects and who owns each one`,options:[{flags:`--all`,description:`Include system objects`}],examples:[`twenty metadata object list`,`twenty metadata object list --all --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-metadata-object-list-command-BqXMcAp6.cjs"))).runMetadataObjectListCommand},E={path:[`open`],description:`Open the workspace in your browser`,helpGroup:_.WORKSPACE,arguments:[{name:`page`,description:`Page to open, for example settings/applications`,required:!1}],options:[{flags:`--url-only`,description:`Print the address instead of opening a browser`}],examples:[`twenty open`,`twenty open settings/applications`,`twenty open --remote staging --url-only --json`],outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!0,load:async()=>(await Promise.resolve().then(()=>require("./run-open-command-DKl8acw0.cjs"))).runOpenCommand},D={path:[`remote`,`list`],description:`List saved remotes`,outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-remote-list-command-DeAzr5Mn.cjs"))).runRemoteListCommand},O={path:[`remote`,`remove`],description:`Remove a saved remote and its credentials`,arguments:[{name:`name`,description:`Saved remote`,required:!0}],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-remote-remove-command-D0C5sWjP.cjs"))).runRemoteRemoveCommand},k={path:[`remote`,`rename`],description:`Rename a saved remote`,arguments:[{name:`current`,description:`Current name`,required:!0},{name:`new`,description:`New name`,required:!0}],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-remote-rename-command-Byq9WRHd.cjs"))).runRemoteRenameCommand},A={path:[`remote`,`use`],description:`Make a saved remote the default`,arguments:[{name:`name`,description:`Saved remote`,required:!0}],outputModes:[`human`,`json`],writes:!0,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-remote-use-command-B6VVDlMG.cjs"))).runRemoteUseCommand},j={path:[`version`],description:`Print version information`,helpGroup:_.TOOLS,outputModes:[`human`,`json`],writes:!1,needsProject:!1,needsTarget:!1,load:async()=>(await Promise.resolve().then(()=>require("./run-version-command-BmSk8PUV.cjs"))).runVersionCommand},M=[t,i,e,n,r,a,o,c,s,l,u,d,f,p,m,D,A,k,O,h,g,v,b,y,x,T,S,C,w,E,j],N=e=>e.path.join(` `),P={JSON:`--json`,FORMAT:`--format <format>`,REMOTE:`-r, --remote <name>`,NO_INPUT:`--no-input`,HELP:`-h, --help`,VERSION:`-v, --version`};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs");var n=e.t(),r={application:`application`,object:`objects`,field:`fields`,index:`indexes`,permissionFlag:`permissionFlags`,role:`roles`,view:`views`,viewField:`viewFields`,pageLayout:`pageLayouts`,pageLayoutTab:`pageLayoutTabs`,navigationMenuItem:`navigationMenuItems`,pageLayoutWidget:`pageLayoutWidgets`},i=e=>t.zt(e)&&typeof e==`object`&&!Array.isArray(e)&&Object.values(e).every(e=>typeof e==`string`),a=(e,r=[])=>!t.zt(e)||(0,n.isArray)(e)&&e.every(e=>t.d(e)&&(0,n.isString)(e.universalIdentifier)&&r.every(t=>a(e[t],t===`tabs`?[`widgets`]:[]))),o=e=>t.d(e)&&t.d(e.application)&&(0,n.isString)(e.application.universalIdentifier)&&(!t.zt(e.translations)||t.d(e.translations)&&Object.values(e.translations).every(i))&&Object.values(r).filter(e=>e!==`application`).every(t=>a(e[t],t===`objects`||t===`views`?[`fields`]:t===`pageLayouts`?[`tabs`]:t===`pageLayoutTabs`?[`widgets`]:[]))&&(!(0,n.isArray)(e.objects)||e.objects.every(e=>t.d(e)&&(0,n.isString)(e.nameSingular)));Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs");let n=require("node:fs/promises"),r=require("node:path");var i=async e=>{try{let r=JSON.parse(await(0,n.readFile)(e,`utf8`));return t.d(r)?r:void 0}catch{return}},a=e.t(),o=({filePath:e,directory:t})=>{let n=(0,r.relative)(t,e);return(0,a.isNonEmptyString)(n)&&n!==`..`&&!n.startsWith(`..${r.sep}`)&&!(0,r.isAbsolute)(n)};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require("./build-CX6FBrbu.cjs"),require("./constants-CL6mrTMT-B748cNNG.cjs");const e=require("./application-DuIJE2qG.cjs"),t=require("./utils-B8EXJeaX-DK3gCslL.cjs");t.l(),t.c();var n=[`id`,`createdAt`,`updatedAt`,`deletedAt`,`createdBy`,`updatedBy`,`position`,`searchVector`],r=t=>Object.fromEntries(n.map(n=>[n,{universalIdentifier:e.h({applicationUniversalIdentifier:e._,objectUniversalIdentifier:t,name:n})}])),i=e=>{let{id:t,createdAt:n,updatedAt:i,deletedAt:a}=r(e);return{id:t,createdAt:n,updatedAt:i,deletedAt:a}},a={agentChatThread:`fab0fff8-0c90-4116-9bb0-7dbc07392633`,agentChatThreadTarget:`9f2a5bf4-3a57-4e61-b561-eaf5a5b86973`,agentChatThreadParticipant:`a043622a-48ef-426f-b55d-3fdcf4ae52f2`,agentTurn:`63697477-8606-415e-86cb-be078d7fcf7e`,agentMessage:`62d0354c-3b99-4769-b0f5-4e2651c2ca7d`,agentMessagePart:`214bacb0-df89-494e-be42-e5b11c99cff6`,campaignDelivery:`0c76066d-26f7-4f57-b0bd-0eb61465fb1a`,messageSuppression:`41410724-723c-48ab-8312-9b85131b4d84`,timelineActivity:`20202020-6736-4337-b5c4-8b39fae325a5`,attachment:`20202020-bd3d-4c60-8dca-571c71d4447a`,blocklist:`20202020-0408-4f38-b8a8-4d5e3e26e24d`,calendarChannelEventAssociation:`20202020-491b-4aaa-9825-afd1bae6ae00`,calendarEvent:`20202020-8f1d-4eef-9f85-0d1965e27221`,calendarEventTarget:`6a9b9656-3e23-4234-94a4-b913c5dde668`,calendarEventParticipant:`20202020-a1c3-47a6-9732-27e5b1e8436d`,callRecording:`ce19efb9-710f-45b2-b141-473abbeea60b`,noteTarget:`20202020-fff0-4b44-be82-bda313884400`,taskTarget:`20202020-5a9a-44e8-95df-771cd06d0fb1`,person:`20202020-e674-48e5-a542-72570eee7213`,recordShare:`fecdb92c-d150-4544-81f8-f1158d18a7a2`,company:`20202020-b374-4779-a561-80086cb2e17f`,opportunity:`20202020-9549-49dd-b2b2-883999db8938`,note:`20202020-0b00-45cd-b6f6-6cd806fc6804`,task:`20202020-1ba1-48ba-bc83-ef7e5990ed10`,workflow:`20202020-62be-406c-b9ca-8caa50d51392`,workflowAutomatedTrigger:`20202020-3319-4234-a34c-7f3b9d2e4d1f`,workflowVersion:`20202020-d65d-4ab9-9344-d77bfb376a3d`,workflowRun:`20202020-4e28-4e95-a9d7-6c00874f843c`,workspaceMember:`20202020-3319-4234-a34c-82d5c0e881a6`,dashboard:`20202020-3840-4b6d-9425-0c5188b05ca8`,message:`20202020-3f6b-4425-80ab-e468899ab4b2`,messageChannelMessageAssociation:`20202020-ad1e-4127-bccb-d83ae04d2ccb`,messageChannelMessageAssociationMessageFolder:`20202020-a1b0-40b0-8ab0-5b6c7d8e9f0a`,messageList:`826561ea-4816-411c-baa0-eec5e6ca8866`,messageListMember:`27773d24-8ce3-40f8-aa6c-1f590f2c08d2`,messageCampaign:`238acb94-dd4c-4036-bc55-19b99d821efd`,shortLink:`22c96608-d1b1-49a2-b328-3e738d61d82d`,messageParticipant:`20202020-a433-4456-aa2d-fd9cb26b774a`,messageThread:`20202020-849a-4c3e-84f5-a25a7d802271`,messageThreadTarget:`378ad1b0-592d-4084-80ee-86fef44725b9`},o={agentChatThread:{...i(a.agentChatThread),archivedAt:{universalIdentifier:`b42eaf6f-240f-41ef-af61-51d5ac9cde7d`},userWorkspaceId:{universalIdentifier:`bf830886-b6dc-46e9-a229-eecbb0e66032`},workspaceMember:{universalIdentifier:`6f3ed3b5-0642-4a2a-9558-98376adb60f4`},title:{universalIdentifier:`9283c05e-127c-46ec-82e9-6424a7c0a2f1`},totalInputTokens:{universalIdentifier:`2705f4af-24b8-4660-a8a8-8eff689298d1`},totalOutputTokens:{universalIdentifier:`77790c9c-0e91-4142-8482-d70576b8093b`},contextWindowTokens:{universalIdentifier:`c58dc0b0-bd0e-4ee2-8a80-615a2d8fc7c8`},conversationSize:{universalIdentifier:`f34617ff-a0de-4116-a5ad-7cfd1d0c6d5a`},totalInputCredits:{universalIdentifier:`3c0a9aa3-01b8-4191-bce4-dc9e77e2fe7a`},totalOutputCredits:{universalIdentifier:`40b2f6e5-eced-44f7-b391-0278ea7df7ef`},totalCacheReadTokens:{universalIdentifier:`494abfc8-d2f6-452c-913e-1f55d148f47f`},totalCacheCreationTokens:{universalIdentifier:`68bdb978-5ccb-4f64-9df2-8203b100c76a`},activeStreamId:{universalIdentifier:`bcead20f-75b3-45be-92b9-ea7ec4bddfcd`},pendingQuestionMessageId:{universalIdentifier:`51a9b421-7d90-4a59-9712-036ea9721e65`},lastStreamError:{universalIdentifier:`2e389238-ba5c-4951-83d4-b14f94592c5c`},turns:{universalIdentifier:`d5c88fbc-d318-4ee1-b70a-751a925bef5b`},messages:{universalIdentifier:`5c851a60-e5d9-4b1e-9926-c2eab6fc9e62`},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.agentChatThread,relationTargetObjectUniversalIdentifier:a.attachment})},recordTargets:{universalIdentifier:`5b37eceb-2992-4d27-9897-14af3e3ce9b2`},participants:{universalIdentifier:`2ede85e4-216b-4308-8556-b045971414e7`},assignee:{universalIdentifier:`e77858ef-4b01-4a32-b921-8b88b1fd3020`},lastActivityAt:{universalIdentifier:`b3847509-8e98-4038-88de-dd891767d6fc`},lastMessageText:{universalIdentifier:`1c16eaef-172b-4778-b14b-f302bc6021e4`},lastMessageSenderWorkspaceMemberId:{universalIdentifier:`5c3611a7-7324-472e-9b43-4c7779e5e7cf`},writerWorkspaceMemberIds:{universalIdentifier:`c8fe2406-ad9c-4274-aeb5-9beb74d4b353`}},agentChatThreadParticipant:{...i(a.agentChatThreadParticipant),thread:{universalIdentifier:`7d0282a5-11ce-4da8-a165-30909ffdf383`},workspaceMember:{universalIdentifier:`4345764d-878b-4a3a-b1c9-822378f868e6`},lastReadAt:{universalIdentifier:`7e3a8319-c127-4c4f-add4-6feac37ea555`},archivedAt:{universalIdentifier:`ee092c9d-f27e-4fbc-8dad-9ec950936216`},snoozedUntil:{universalIdentifier:`65bc5785-877d-4363-b65c-95175ba20fd0`},isSubscribed:{universalIdentifier:`146b1d5e-6603-4493-944b-c3bd2817569b`},lastMentionedAt:{universalIdentifier:`52a54602-633f-496a-966a-9a70437fa887`}},agentChatThreadTarget:{...i(a.agentChatThreadTarget),thread:{universalIdentifier:`54664c16-3c3d-4d5e-904c-59e1b3707cfb`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.agentChatThreadTarget,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.agentChatThreadTarget,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.agentChatThreadTarget,relationTargetObjectUniversalIdentifier:a.opportunity})}},agentTurn:{...i(a.agentTurn),agentId:{universalIdentifier:`4ac55a9a-95e8-4fd9-8c03-47ee3b618ae7`},thread:{universalIdentifier:`4e9b4f1f-c1bb-42d0-bb38-eb2b2f830e64`},messages:{universalIdentifier:`737c3559-ea1a-4269-aea4-e672b17afbb1`},status:{universalIdentifier:`c17a4d49-f4f5-40e2-b084-11c5c4bae431`},error:{universalIdentifier:`b0ed90f6-5953-4c85-aff8-407a28ec8cc7`},startedAt:{universalIdentifier:`578977d7-b0d9-48d1-83f7-29ad6215a6f0`},endedAt:{universalIdentifier:`2b13f528-738b-402c-a033-7bbb0cce73a4`},modelId:{universalIdentifier:`b1e1c27b-03dc-40b1-8052-4474c15b8233`},inputTokens:{universalIdentifier:`0e419986-4255-4858-b252-e6a161d55f58`},outputTokens:{universalIdentifier:`3e7f5fb8-f9cf-45b2-b1a7-b36c1e8ff2fd`},cacheReadTokens:{universalIdentifier:`c2bcbbf5-81ce-4679-8f08-f6a3cc00569c`},cacheCreationTokens:{universalIdentifier:`4d9feae2-2a80-43b2-965d-8ad40f129503`},inputCredits:{universalIdentifier:`740456a7-c0be-4bc9-8429-52dc3e3a3707`},outputCredits:{universalIdentifier:`1ca5da82-b797-43a8-a2ee-d1a062a24ca5`},createdBy:{universalIdentifier:`c3d5e8a2-fde8-452d-a74d-04436aaf17bc`}},agentMessage:{...i(a.agentMessage),agentId:{universalIdentifier:`880a91ad-4ab1-4067-87f6-970a53aa2234`},senderWorkspaceMember:{universalIdentifier:`69bea8e1-451d-4c3c-9d34-505b5a67e06e`},senderUserWorkspaceId:{universalIdentifier:`f4184c3a-b85c-4cef-8181-b2fefdf98fda`},senderApplicationId:{universalIdentifier:`d204d45a-6ccc-40cb-8281-b6ed635c247b`},role:{universalIdentifier:`5dc985f3-edad-4ebf-9844-b34ca686855b`},status:{universalIdentifier:`3845ccfa-9394-4cb9-a75c-4ca704414b83`},isHidden:{universalIdentifier:`be06f3d5-edb4-4243-89ad-71810b79b319`},processedAt:{universalIdentifier:`b1a72274-095e-41f6-95d3-e5b407ff3f0b`},thread:{universalIdentifier:`48ea202f-ed6d-4ad9-8c9b-71a419b96237`},turn:{universalIdentifier:`b36513fc-ffaf-4e99-8686-b1aefca70b76`},parts:{universalIdentifier:`017e4930-118d-4624-8ce4-4e574f89f86d`}},agentMessagePart:{...i(a.agentMessagePart),orderIndex:{universalIdentifier:`d2b3e277-380c-4133-977d-f23f8092aebc`},type:{universalIdentifier:`16a59a7f-dc43-4483-84be-19c8ffd6c7a7`},textContent:{universalIdentifier:`d66ed60a-6c09-4427-a62a-1735e31b02de`},reasoningContent:{universalIdentifier:`34c24bb6-a34a-4373-b8b3-8be22fea3325`},toolName:{universalIdentifier:`ed705120-349b-4fce-afd4-15b8cab0df07`},toolCallId:{universalIdentifier:`151b6115-7071-4a1b-920d-43818907c69b`},toolInput:{universalIdentifier:`14476bb3-8b73-4428-b138-37bd7931e1d6`},toolOutput:{universalIdentifier:`5fe8ca78-52ab-466f-8fe7-cbfa618c5463`},state:{universalIdentifier:`6fa1fb8e-2335-4b48-838b-dd227958cab2`},providerExecuted:{universalIdentifier:`cbfee5eb-748e-4296-88be-ddc13393d88d`},errorMessage:{universalIdentifier:`f910bb7a-d1f8-4893-ad97-40342af62c21`},errorDetails:{universalIdentifier:`b9e6f2cf-b2ce-44fe-9507-d47805582654`},sourceUrlSourceId:{universalIdentifier:`cb66237e-f48a-4858-a882-2330978dcfdc`},sourceUrlUrl:{universalIdentifier:`31a94d35-03f2-41b7-aa2b-5615f286d2bb`},sourceUrlTitle:{universalIdentifier:`ad17f626-17fc-45e0-a09f-a61790a0f906`},sourceDocumentSourceId:{universalIdentifier:`a2afae35-4e3e-4fe5-bc96-9bb654adb810`},sourceDocumentMediaType:{universalIdentifier:`44a4e4f9-d005-493d-9832-3a217730eaf8`},sourceDocumentTitle:{universalIdentifier:`2951cfaa-d05e-47be-af17-c7af4685e4c0`},sourceDocumentFilename:{universalIdentifier:`2cdea0b3-0a4d-4fa8-b713-c0fbf0e0a2d4`},fileFilename:{universalIdentifier:`e908f82c-88d0-477b-a5f2-1798fc4090b8`},fileId:{universalIdentifier:`060b366e-bb3d-40b5-83e6-166629a40444`},providerMetadata:{universalIdentifier:`689d988e-3883-4ab6-9cf3-c36a3002f865`},message:{universalIdentifier:`efd41407-a49d-4a3a-97b4-94fd180e7652`}},campaignDelivery:{...i(a.campaignDelivery),campaignId:{universalIdentifier:`5b3b48cd-71ec-4ff6-bd4f-8ea99965d611`},personId:{universalIdentifier:`d12ac3bc-7d2c-4317-9c80-663e58ffbea2`},recipientEmail:{universalIdentifier:`28e61664-054b-4b41-b33b-d06b2fc7618f`},state:{universalIdentifier:`668eb863-852e-4846-b3f6-f74fc5d25cf9`},skipReason:{universalIdentifier:`86e995b9-467f-4570-a8f8-a647772e0944`},failureReason:{universalIdentifier:`5a080f14-de17-41a8-a2d7-e9287628db30`},claimToken:{universalIdentifier:`66b78eb0-7a53-4ad6-929a-156183490eb3`},claimExpiresAt:{universalIdentifier:`ba84a4ba-65ca-43dd-b72c-4b0f2f5b2f44`},providerMessageId:{universalIdentifier:`a560bd1a-716b-4fc3-b931-a34ff46bca6f`},sentAt:{universalIdentifier:`c4db7935-d927-49bd-80bd-01a6f39685a4`},deliveredAt:{universalIdentifier:`2cba1c4e-df5c-496d-8d0d-9f43fc371b5f`},bouncedAt:{universalIdentifier:`c3db41d4-3c48-4110-b3b3-a68cb82a1a78`},complainedAt:{universalIdentifier:`322301c5-62d6-428a-bc33-89f8eee75a47`},rejectedAt:{universalIdentifier:`de3599c8-d91b-42fb-a76f-34cd1826dd04`},renderingFailedAt:{universalIdentifier:`eca2b84e-a8d0-4641-bf16-48005e1826bd`}},messageSuppression:{...i(a.messageSuppression),emailAddress:{universalIdentifier:`d44cd615-c3ff-4ac5-a0cc-bfbda700df8e`},reason:{universalIdentifier:`2829a0be-f463-423c-810f-abf7b7a38454`},source:{universalIdentifier:`c0111315-babb-44ab-b4bb-8393ca7a4f98`},providerEventId:{universalIdentifier:`4959b0da-3ce2-42f7-8cc0-36fd20799a20`},unsubscribeTopicId:{universalIdentifier:`42c74315-d6d3-47f7-8f72-d7d40e41cc84`}},timelineActivity:{...r(a.timelineActivity),timelineActivityTypeId:{universalIdentifier:`20202020-e5f8-4839-9dcf-781e260624ee`},timelineActivityTypeSnapshot:{universalIdentifier:`20202020-e006-493a-9b07-f2a768a204ca`},happensAt:{universalIdentifier:`20202020-9526-4993-b339-c4318c4d39f0`},properties:{universalIdentifier:`20202020-f142-4b04-b91b-6a2b4af3bf11`},workspaceMember:{universalIdentifier:`20202020-af23-4479-9a30-868edc474b36`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.opportunity})},targetTask:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.task})},targetNote:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.note})},targetWorkflow:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.workflow})},targetWorkflowVersion:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.workflowVersion})},targetWorkflowRun:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.workflowRun})},targetDashboard:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.dashboard})},targetMessageList:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.messageList})},targetMessageCampaign:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.timelineActivity,relationTargetObjectUniversalIdentifier:a.messageCampaign})},linkedRecordCachedName:{universalIdentifier:`20202020-cfdb-4bef-bbce-a29f41230934`},linkedRecordId:{universalIdentifier:`20202020-2e0e-48c0-b445-ee6c1e61687d`},linkedObjectMetadataId:{universalIdentifier:`20202020-c595-449d-9f89-562758c9ee69`}},attachment:{...r(a.attachment),name:{universalIdentifier:`20202020-87a5-48f8-bbf7-ade388825a57`},file:{universalIdentifier:`20202020-15db-460e-8166-c7b5d87ad4be`},fullPath:{universalIdentifier:`20202020-0d19-453d-8e8d-fbcda8ca3747`},fileCategory:{universalIdentifier:`20202020-8c3f-4d9e-9a1b-2e5f7a8c9d0e`},targetTask:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.task})},targetNote:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.note})},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.opportunity})},targetDashboard:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.dashboard})},targetWorkflow:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.workflow})},targetAgentChatThread:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.attachment,relationTargetObjectUniversalIdentifier:a.agentChatThread})}},blocklist:{...r(a.blocklist),handle:{universalIdentifier:`20202020-eef3-44ed-aa32-4641d7fd4a3e`},scope:{universalIdentifier:`20202020-1a5f-4c9e-9b3e-7d2a6f4c8e11`},workspaceMember:{universalIdentifier:`20202020-548d-4084-a947-fa20a39f7c06`}},calendarChannelEventAssociation:{...r(a.calendarChannelEventAssociation),calendarChannelId:{universalIdentifier:`20202020-93ee-4da4-8d58-0282c4a9cb7d`},calendarEvent:{universalIdentifier:`20202020-5aa5-437e-bb86-f42d457783e3`},eventExternalId:{universalIdentifier:`20202020-9ec8-48bb-b279-21d0734a75a1`},recurringEventExternalId:{universalIdentifier:`20202020-c58f-4c69-9bf8-9518fa31aa50`}},calendarEventParticipant:{...r(a.calendarEventParticipant),calendarEvent:{universalIdentifier:`20202020-fe3a-401c-b889-af4f4657a861`},handle:{universalIdentifier:`20202020-8692-4580-8210-9e09cbd031a7`},displayName:{universalIdentifier:`20202020-ee1e-4f9f-8ac1-5c0b2f69691e`},isOrganizer:{universalIdentifier:`20202020-66e7-4e00-9e06-d06c92650580`},responseStatus:{universalIdentifier:`20202020-cec0-4be8-8fba-c366abc23147`},person:{universalIdentifier:`20202020-5761-4842-8186-e1898ef93966`},workspaceMember:{universalIdentifier:`20202020-20e4-4591-93ed-aeb17a4dcbd2`}},calendarEvent:{...r(a.calendarEvent),title:{universalIdentifier:`20202020-080e-49d1-b21d-9702a7e2525c`},isCanceled:{universalIdentifier:`20202020-335b-4e04-b470-43b84b64863c`},isFullDay:{universalIdentifier:`20202020-551c-402c-bb6d-dfe9efe86bcb`},startsAt:{universalIdentifier:`20202020-2c57-4c75-93c5-2ac950a6ed67`},endsAt:{universalIdentifier:`20202020-2554-4ee1-a617-17907f6bab21`},externalCreatedAt:{universalIdentifier:`20202020-9f03-4058-a898-346c62181599`},externalUpdatedAt:{universalIdentifier:`20202020-b355-4c18-8825-ef42c8a5a755`},description:{universalIdentifier:`20202020-52c4-4266-a98f-e90af0b4d271`},location:{universalIdentifier:`20202020-641a-4ffe-960d-c3c186d95b17`},iCalUid:{universalIdentifier:`20202020-f24b-45f4-b6a3-d2f9fcb98714`},conferenceSolution:{universalIdentifier:`20202020-1c3f-4b5a-b526-5411a82179eb`},conferenceLink:{universalIdentifier:`20202020-35da-43ef-9ca0-e936e9dc237b`},calendarChannelEventAssociations:{universalIdentifier:`20202020-bdf8-4572-a2cc-ecbb6bcc3a02`},calendarEventParticipants:{universalIdentifier:`20202020-e07e-4ccb-88f5-6f3d00458eec`},calendarEventTargets:{universalIdentifier:`2b4a0785-3462-485f-b1a8-79ebb2078eab`},callRecordings:{universalIdentifier:`48d6d151-18e2-4111-b405-d85fb9d860d8`}},calendarEventTarget:{...r(a.calendarEventTarget),calendarEvent:{universalIdentifier:`a47824b0-0e64-4c1f-bbad-ce45209d119b`},isAutomaticallyAssigned:{universalIdentifier:`b6374fed-9cf2-49ef-b45a-1d6814c16264`},isManuallyAssigned:{universalIdentifier:`6afbd5b8-25b5-4c04-82e5-281e6f90f453`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.calendarEventTarget,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.calendarEventTarget,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.calendarEventTarget,relationTargetObjectUniversalIdentifier:a.opportunity})}},callRecording:{...r(a.callRecording),title:{universalIdentifier:`4cff8863-a1d1-45fd-a370-4eb6aa1f2a5b`},status:{universalIdentifier:`3e617680-d93e-4309-a54f-90f69528bfd7`},recordingRequestStatus:{universalIdentifier:`7fd681c9-244c-4e98-8939-7b175d472638`},applicationId:{universalIdentifier:`24ec1239-1240-42cb-8a2d-302632378e09`},externalBotId:{universalIdentifier:`0a2da128-9bcc-488b-bc31-65318c41bdf9`},externalRecordingId:{universalIdentifier:`6d17fb71-324b-4625-a5be-b3580607e2c7`},startedAt:{universalIdentifier:`6c56c23f-1987-410a-860a-df3b2b3f9a33`},endedAt:{universalIdentifier:`7a38a9cf-8424-4d6e-b80a-6883d3c662ef`},video:{universalIdentifier:`bb9523d3-457e-4f4b-8c79-27a77afb87da`},audio:{universalIdentifier:`2eafc2d0-8fec-430c-a939-65ca5fbc0f08`},transcript:{universalIdentifier:`27b86d68-57d1-4607-aca0-191896b1ad43`},summary:{universalIdentifier:`adb0f472-756b-4d3f-b21e-ea32bf73a5e4`},calendarEvent:{universalIdentifier:`49e64b28-bd98-4775-80ea-4781bdd45e35`}},company:{...r(a.company),name:{universalIdentifier:`20202020-4d99-4e2e-a84c-4a27837b1ece`},domainName:{universalIdentifier:`20202020-0c28-43d8-8ba5-3659924d3489`},address:{universalIdentifier:`20202020-c5ce-4adc-b7b6-9c0979fc55e7`},linkedinLink:{universalIdentifier:`20202020-ebeb-4beb-b9ad-6848036fb451`},annualRevenue:{universalIdentifier:`60f533b7-2166-4071-a767-ceb0286822fd`},people:{universalIdentifier:`20202020-3213-4ddf-9494-6422bcff8d7c`},accountOwner:{universalIdentifier:`20202020-95b8-4e10-9881-edb5d4765f9d`},taskTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.taskTarget})},noteTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.noteTarget})},agentChatThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.agentChatThreadTarget})},calendarEventTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.calendarEventTarget})},messageThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.messageThreadTarget})},opportunities:{universalIdentifier:`20202020-add3-4658-8e23-d70dccb6d0ec`},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.attachment})},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.company,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},dashboard:{...r(a.dashboard),title:{universalIdentifier:`20202020-20ee-4091-95dc-44b57eda3a89`},pageLayoutId:{universalIdentifier:`20202020-bb53-4648-aa36-1d9d54e6f7f2`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.dashboard,relationTargetObjectUniversalIdentifier:a.timelineActivity})},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.dashboard,relationTargetObjectUniversalIdentifier:a.attachment})}},messageCampaign:{...r(a.messageCampaign),name:{universalIdentifier:`dc8bca0e-37c4-4b78-814d-2e91124274e3`},subject:{universalIdentifier:`7251544c-b07a-4f0d-9d0a-48514367f230`},bodyTemplate:{universalIdentifier:`b3a69d08-31ca-4a8d-8359-5ca462899342`},fromAddress:{universalIdentifier:`91e1a33c-c1ff-411a-b720-9085e13c05db`},status:{universalIdentifier:`c7117256-3de6-48e1-87df-c99c32bad610`},scheduledAt:{universalIdentifier:`0b281092-f5a5-4dd6-969b-5229f6620071`},sentAt:{universalIdentifier:`e2315b4f-9edf-4df2-96b9-961e76368671`},sentCount:{universalIdentifier:`2f333d2b-37b8-4ddc-ad0d-c07c6ce066ad`},deliveredCount:{universalIdentifier:`f4ee1d33-7379-42fe-ad63-e023449baea6`},failedCount:{universalIdentifier:`d373fcd7-b1ce-4c77-8031-a5785c475028`},bouncedCount:{universalIdentifier:`20d884a9-34dd-4667-8ecb-ceec224258e2`},complainedCount:{universalIdentifier:`82842cfa-f12a-4bab-bbde-b2cf587d0406`},skippedCount:{universalIdentifier:`a1f4c6d2-5e8b-4a37-9c60-31b7f0d2a984`},unsubscribeTopicId:{universalIdentifier:`0648e7ad-1769-4ff6-a4d5-72da79ef169c`},list:{universalIdentifier:`cb24dcdf-f0e8-4c71-8cff-70b714e86530`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.messageCampaign,relationTargetObjectUniversalIdentifier:a.timelineActivity})},messages:{universalIdentifier:`e5a177a7-512b-4778-928e-69777a528f7c`},recipients:{universalIdentifier:`05a3271c-5b91-493c-8f30-2d27b31d019e`}},messageList:{...r(a.messageList),name:{universalIdentifier:`69b9ed8b-7b26-4108-894f-05700ef7e8ee`},description:{universalIdentifier:`2484463a-12e0-411e-9586-81892bd7721c`},members:{universalIdentifier:`92df3493-91cf-4665-8587-1b08917d299b`},campaigns:{universalIdentifier:`e098d838-31ab-4812-91a8-f055f45a6832`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.messageList,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},messageListMember:{...r(a.messageListMember),person:{universalIdentifier:`34288425-8805-42fb-8b98-ee13d09be3d3`},list:{universalIdentifier:`d5402005-e8f9-4fbe-8696-b6723cd85018`}},messageChannelMessageAssociation:{...r(a.messageChannelMessageAssociation),messageChannelId:{universalIdentifier:`20202020-b658-408f-bd46-3bd2d15d7e52`},message:{universalIdentifier:`20202020-da5d-4ac5-8743-342ab0a0336b`},messageExternalId:{universalIdentifier:`20202020-37d6-438f-b6fd-6503596c8f34`},messageThread:{universalIdentifier:`20202020-fac8-42a8-94dd-44dbc920ae16`},messageThreadExternalId:{universalIdentifier:`20202020-35fb-421e-afa0-0b8e8f7f9018`},direction:{universalIdentifier:`75c9b0f7-9e76-44d4-a2f9-47051e61eec7`},messageFolders:{universalIdentifier:`9bfc9da7-ae2d-44fd-9563-ede90c5d6222`}},messageChannelMessageAssociationMessageFolder:{...r(a.messageChannelMessageAssociationMessageFolder),messageChannelMessageAssociation:{universalIdentifier:`7411cfa3-4fd9-4b90-a636-940015fd7243`},messageFolderId:{universalIdentifier:`b3369d31-3856-4a7a-b007-ee353918127c`}},messageParticipant:{...r(a.messageParticipant),message:{universalIdentifier:`20202020-985b-429a-9db9-9e55f4898a2a`},role:{universalIdentifier:`20202020-65d1-42f4-8729-c9ec1f52aecd`},handle:{universalIdentifier:`20202020-2456-464e-b422-b965a4db4a0b`},displayName:{universalIdentifier:`20202020-36dd-4a4f-ac02-228425be9fac`},person:{universalIdentifier:`20202020-249d-4e0f-82cd-1b9df5cd3da2`},workspaceMember:{universalIdentifier:`20202020-77a7-4845-99ed-1bcbb478be6f`},messageCampaign:{universalIdentifier:`5bc768db-919f-41da-8c43-df08084d526f`}},messageThread:{...r(a.messageThread),messages:{universalIdentifier:`20202020-3115-404f-aade-e1154b28e35a`},messageChannelMessageAssociations:{universalIdentifier:`20202020-314e-40a4-906d-a5d5d6c285f6`},subject:{universalIdentifier:`a8ddbf8c-1137-45d1-b89e-5ffbd83f67c8`},messageThreadTargets:{universalIdentifier:`8d7c8b17-b835-4082-96bd-de704c491d49`}},messageThreadTarget:{...r(a.messageThreadTarget),messageThread:{universalIdentifier:`23ca09e6-149d-452f-bed7-a4aad24d1314`},isAutomaticallyAssigned:{universalIdentifier:`04403730-e960-415a-8790-f0c0f82f3477`},isManuallyAssigned:{universalIdentifier:`16efa36f-d195-42e9-959f-6928164f2395`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.messageThreadTarget,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.messageThreadTarget,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.messageThreadTarget,relationTargetObjectUniversalIdentifier:a.opportunity})}},message:{...r(a.message),headerMessageId:{universalIdentifier:`20202020-72b5-416d-aed8-b55609067d01`},messageThread:{universalIdentifier:`20202020-30f2-4ccd-9f5c-e41bb9d26214`},subject:{universalIdentifier:`20202020-52d1-4036-b9ae-84bd722bb37a`},text:{universalIdentifier:`20202020-d2ee-4e7e-89de-9a0a9044a143`},receivedAt:{universalIdentifier:`20202020-140a-4a2a-9f86-f13b6a979afc`},messageParticipants:{universalIdentifier:`20202020-7cff-4a74-b63c-73228448cbd9`},messageChannelMessageAssociations:{universalIdentifier:`20202020-3cef-43a3-82c6-50e7cfbc9ae4`},messageCampaign:{universalIdentifier:`77cff00b-a0ba-48d6-80de-0d5ccf14e45b`},isDraft:{universalIdentifier:`20202020-4d3a-4b6e-9c1f-2a5e7b9d0c34`}},note:{...r(a.note),title:{universalIdentifier:`20202020-faeb-4c76-8ba6-ccbb0b4a965f`},bodyV2:{universalIdentifier:`20202020-a7bb-4d94-be51-8f25181502c8`},noteTargets:{universalIdentifier:`20202020-1f25-43fe-8b00-af212fdde823`},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.note,relationTargetObjectUniversalIdentifier:a.attachment})},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.note,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},noteTarget:{...r(a.noteTarget),note:{universalIdentifier:`20202020-57f3-4f50-9599-fc0f671df003`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.noteTarget,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.noteTarget,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.noteTarget,relationTargetObjectUniversalIdentifier:a.opportunity})}},opportunity:{...r(a.opportunity),name:{universalIdentifier:`20202020-8609-4f65-a2d9-44009eb422b5`},amount:{universalIdentifier:`20202020-583e-4642-8533-db761d5fa82f`},closeDate:{universalIdentifier:`20202020-527e-44d6-b1ac-c4158d307b97`},stage:{universalIdentifier:`20202020-6f76-477d-8551-28cd65b2b4b9`},pointOfContact:{universalIdentifier:`20202020-8dfb-42fc-92b6-01afb759ed16`},company:{universalIdentifier:`20202020-cbac-457e-b565-adece5fc815f`},owner:{universalIdentifier:`20202020-be7e-4d1e-8e19-3d5c7c4b9f2a`},taskTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.taskTarget})},noteTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.noteTarget})},agentChatThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.agentChatThreadTarget})},calendarEventTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.calendarEventTarget})},messageThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.messageThreadTarget})},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.attachment})},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.opportunity,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},person:{...r(a.person),name:{universalIdentifier:`20202020-3875-44d5-8c33-a6239011cab8`},emails:{universalIdentifier:`20202020-3c51-43fa-8b6e-af39e29368ab`},linkedinLink:{universalIdentifier:`20202020-f1af-48f7-893b-2007a73dd508`},jobTitle:{universalIdentifier:`20202020-b0d0-415a-bef9-640a26dacd9b`},phones:{universalIdentifier:`20202020-0638-448e-8825-439134618022`},avatarUrl:{universalIdentifier:`20202020-b8a6-40df-961c-373dc5d2ec21`},avatarFile:{universalIdentifier:`20202020-a7c9-4e3d-8f1b-2d5a6b7c8e9f`},company:{universalIdentifier:`20202020-e2f3-448e-b34c-2d625f0025fd`},pointOfContactForOpportunities:{universalIdentifier:`20202020-911b-4a7d-b67b-918aa9a5b33a`},taskTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.taskTarget})},noteTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.noteTarget})},agentChatThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.agentChatThreadTarget})},calendarEventTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.calendarEventTarget})},messageThreadTargets:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.messageThreadTarget})},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.attachment})},messageParticipants:{universalIdentifier:`20202020-498e-4c61-8158-fa04f0638334`},calendarEventParticipants:{universalIdentifier:`20202020-52ee-45e9-a702-b64b3753e3a9`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.person,relationTargetObjectUniversalIdentifier:a.timelineActivity})},listMemberships:{universalIdentifier:`8b8d1be0-4c94-4413-a2c9-c7ede205a81d`}},recordShare:{...r(a.recordShare),recordId:{universalIdentifier:`01edb657-6339-475c-b581-784a0c3e0509`},objectMetadataId:{universalIdentifier:`504cec47-6aae-4e5b-85fd-1581b62602e3`},principalId:{universalIdentifier:`c1849ee2-1d2a-409e-800d-16fc16621257`},principalType:{universalIdentifier:`556161f6-1a01-478e-8f01-acc413102e44`},accessLevel:{universalIdentifier:`943b9926-9620-43de-8a46-8ebfee74dea3`},rowCause:{universalIdentifier:`be27640e-f739-4d07-8979-dba4526e406a`},sourceId:{universalIdentifier:`534a2244-9feb-4d21-afd9-c9a20052b300`}},shortLink:{...r(a.shortLink),authoredTemplateUrl:{universalIdentifier:`6f588340-ddff-4113-984b-c37c045d496c`},resolvedDestinationUrl:{universalIdentifier:`5ba068eb-0594-4945-9183-7174a37a9406`},templateAndResolvedUrlHash:{universalIdentifier:`175f7743-b027-4374-b577-6503679d00fc`}},task:{...r(a.task),title:{universalIdentifier:`20202020-b386-4cb7-aa5a-08d4a4d92680`},bodyV2:{universalIdentifier:`20202020-4aa0-4ae8-898d-7df0afd47ab1`},dueAt:{universalIdentifier:`20202020-fd99-40da-951b-4cb9a352fce3`},status:{universalIdentifier:`20202020-70bc-48f9-89c5-6aa730b151e0`},taskTargets:{universalIdentifier:`20202020-de9c-4d0e-a452-713d4a3e5fc7`},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.task,relationTargetObjectUniversalIdentifier:a.attachment})},assignee:{universalIdentifier:`20202020-065a-4f42-a906-e20422c1753f`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.task,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},taskTarget:{...r(a.taskTarget),task:{universalIdentifier:`20202020-e881-457a-8758-74aaef4ae78a`},targetPerson:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.taskTarget,relationTargetObjectUniversalIdentifier:a.person})},targetCompany:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.taskTarget,relationTargetObjectUniversalIdentifier:a.company})},targetOpportunity:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.taskTarget,relationTargetObjectUniversalIdentifier:a.opportunity})}},workflow:{...r(a.workflow),name:{universalIdentifier:`20202020-b3d3-478f-acc0-5d901e725b20`},lastPublishedVersionId:{universalIdentifier:`20202020-326a-4fba-8639-3456c0a169e8`},coreWorkflowId:{universalIdentifier:`20202020-058a-42ad-8eb8-0662a5552aad`},statuses:{universalIdentifier:`20202020-357c-4432-8c50-8c31b4a552d9`},versions:{universalIdentifier:`20202020-9432-416e-8f3c-27ee3153d099`},runs:{universalIdentifier:`20202020-759b-4340-b58b-e73595c4df4f`},automatedTriggers:{universalIdentifier:`20202020-3319-4234-a34c-117ecad2b8a9`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.workflow,relationTargetObjectUniversalIdentifier:a.timelineActivity})},attachments:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.workflow,relationTargetObjectUniversalIdentifier:a.attachment})}},workflowAutomatedTrigger:{...r(a.workflowAutomatedTrigger),type:{universalIdentifier:`20202020-3319-4234-a34c-3f92c1ab56e7`},settings:{universalIdentifier:`20202020-3319-4234-a34c-bac8f903de12`},workflow:{universalIdentifier:`20202020-3319-4234-a34c-8e1a4d2f7c03`}},workflowRun:{...r(a.workflowRun),name:{universalIdentifier:`20202020-b840-4253-aef9-4e5013694587`},workflowVersion:{universalIdentifier:`20202020-2f52-4ba8-8dc4-d0d6adb9578d`},workflow:{universalIdentifier:`20202020-8c57-4e7f-84f5-f373f68e1b82`},enqueuedAt:{universalIdentifier:`20202020-f1e3-4de1-a461-b5c4fdbc861d`},startedAt:{universalIdentifier:`20202020-a234-4e2d-bd15-85bcea6bb183`},endedAt:{universalIdentifier:`20202020-e1c1-4b6b-bbbd-b2beaf2e159e`},status:{universalIdentifier:`20202020-6b3e-4f9c-8c2b-2e5b8e6d6f3b`},state:{universalIdentifier:`20202020-611f-45f3-9cde-d64927e8ec57`},stepLogs:{universalIdentifier:`20202020-7c4e-4e1a-8fc1-1e3a55d6c2a1`},coreWorkflowId:{universalIdentifier:`e07d8ac0-6b6e-4685-81fa-50d82ae7f880`},coreWorkflowVersionId:{universalIdentifier:`58e3f476-425d-4c66-b391-779d0412e107`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.workflowRun,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},workflowVersion:{...r(a.workflowVersion),name:{universalIdentifier:`20202020-a12f-4cca-9937-a2e40cc65509`},workflow:{universalIdentifier:`20202020-afa3-46c3-91b0-0631ca6aa1c8`},trigger:{universalIdentifier:`20202020-4eae-43e7-86e0-212b41a30b48`},status:{universalIdentifier:`20202020-5a34-440e-8a25-39d8c3d1d4cf`},runs:{universalIdentifier:`20202020-1d08-46df-901a-85045f18099a`},steps:{universalIdentifier:`20202020-5988-4a64-b94a-1f9b7b989039`},coreWorkflowVersionId:{universalIdentifier:`20202020-58b4-46e8-b6d2-f1f3c74cf7f4`},timelineActivities:{universalIdentifier:e.g({applicationUniversalIdentifier:e._,objectUniversalIdentifier:a.workflowVersion,relationTargetObjectUniversalIdentifier:a.timelineActivity})}},workspaceMember:{...r(a.workspaceMember),name:{universalIdentifier:`20202020-e914-43a6-9c26-3603c59065f4`},colorScheme:{universalIdentifier:`20202020-66bc-47f2-adac-f2ef7c598b63`},uiScale:{universalIdentifier:`20202020-1581-4bfb-b87d-58fa9cd5b817`},openRecordIn:{universalIdentifier:`20202020-1b16-419d-9323-6f3ea850e5d9`},locale:{universalIdentifier:`20202020-402e-4695-b169-794fa015afbe`},avatarUrl:{universalIdentifier:`20202020-0ced-4c4f-a376-c98a966af3f6`},userEmail:{universalIdentifier:`20202020-4c5f-4e09-bebc-9e624e21ecf4`},jobTitle:{universalIdentifier:`20202020-4dd4-4619-826e-08f6c06b374d`},userId:{universalIdentifier:`20202020-75a9-4dfc-bf25-2e4b43e89820`},assignedTasks:{universalIdentifier:`20202020-61dc-4a1c-99e8-38ebf8d2bbeb`},ownedOpportunities:{universalIdentifier:`20202020-9e4d-4b3a-8c1f-6d7e8f9a0b1c`},accountOwnerForCompanies:{universalIdentifier:`20202020-dc29-4bd4-a3c1-29eafa324bee`},messageParticipants:{universalIdentifier:`20202020-8f99-48bc-a5eb-edd33dd54188`},blocklist:{universalIdentifier:`20202020-6cb2-4161-9f29-a4b7f1283859`},calendarEventParticipants:{universalIdentifier:`20202020-0dbc-4841-9ce1-3e793b5b3512`},timelineActivities:{universalIdentifier:`20202020-e15b-47b8-94fe-8200e3c66615`},agentMessages:{universalIdentifier:`211b2717-450a-4f5f-808f-39695c819319`},agentChatThreads:{universalIdentifier:`fbaf92a6-44ae-4b6d-9d10-2c15d84eaea1`},agentChatThreadParticipants:{universalIdentifier:`d1de909f-a0eb-4e94-8903-abec012864c9`},assignedAgentChatThreads:{universalIdentifier:`a89c46f5-cdb7-40e9-9a87-a8ecf0818c3c`},timeZone:{universalIdentifier:`20202020-2d33-4c21-a86e-5943b050dd54`},dateFormat:{universalIdentifier:`20202020-af13-4e11-b1e7-b8cf5ea13dc0`},timeFormat:{universalIdentifier:`20202020-8acb-4cf8-a851-a6ed443c8d81`},calendarStartDay:{universalIdentifier:`20202020-1ecc-4562-84c9-ff3a2f6cce85`},numberFormat:{universalIdentifier:`20202020-7f40-4e7f-b126-11c0eda6b141`}}},s=({objectUniversalIdentifier:t,fields:n,viewFieldNames:r})=>{let i=e.y({objectMetadataApplicationUniversalIdentifier:e._,objectUniversalIdentifier:t,viewKey:e.m.INDEX});return{universalIdentifier:i,viewFields:Object.fromEntries(r.map(r=>{let a=n[r];if(a===void 0)throw Error(`Missing field "${r}" for the INDEX view of object ${t}`);return[r,{universalIdentifier:e.p({fieldMetadataApplicationUniversalIdentifier:e._,viewUniversalIdentifier:i,fieldMetadataUniversalIdentifier:a.universalIdentifier})}]}))}},c=({objectUniversalIdentifier:t,fields:n,viewFieldNames:r,viewFieldGroupNames:i})=>{let a=e.y({objectMetadataApplicationUniversalIdentifier:e._,objectUniversalIdentifier:t,viewKey:e.m.FIELDS_WIDGET});return{universalIdentifier:a,viewFields:Object.fromEntries(r.map(r=>{let i=n[r];if(i===void 0)throw Error(`Missing field "${r}" for the record-page view of object ${t}`);return[r,{universalIdentifier:e.p({fieldMetadataApplicationUniversalIdentifier:e._,viewUniversalIdentifier:a,fieldMetadataUniversalIdentifier:i.universalIdentifier})}]})),viewFieldGroups:Object.fromEntries(Object.entries(i).map(([t,n])=>[t,{universalIdentifier:e.x({objectMetadataApplicationUniversalIdentifier:e._,viewUniversalIdentifier:a,name:n})}]))}},l={attachment:{universalIdentifier:a.attachment,fields:o.attachment,morphIds:{targetMorphId:{morphId:`20202020-f634-435d-ab8d-e1168b375c69`}},indexes:{taskIdIndex:{universalIdentifier:`b8d4f9a3-0c25-4e7b-9f6a-2d3e4c5b6f70`},noteIdIndex:{universalIdentifier:`9d31ea73-13b6-4e06-84ee-c66c72bf7787`},personIdIndex:{universalIdentifier:`55637a5a-1edc-4351-8d76-d40020bf8944`},companyIdIndex:{universalIdentifier:`4137ba06-184d-438f-b484-080f02a97659`},opportunityIdIndex:{universalIdentifier:`8cc162d1-c127-4981-878d-f78622f8f12d`},dashboardIdIndex:{universalIdentifier:`c10eba2d-ff1a-4eab-9285-50481c12a003`},workflowIdIndex:{universalIdentifier:`fadeab4b-79ee-4173-af79-72c51fbad888`},agentChatThreadIdIndex:{universalIdentifier:`69857371-6ff9-48fa-a9de-db4f71593431`}},views:{allAttachments:s({objectUniversalIdentifier:a.attachment,fields:o.attachment,viewFieldNames:[`name`,`file`,`createdBy`,`createdAt`,`targetPerson`,`targetCompany`,`targetOpportunity`,`targetTask`,`targetNote`,`targetDashboard`,`targetWorkflow`]}),attachmentRecordPageFields:c({objectUniversalIdentifier:a.attachment,fields:o.attachment,viewFieldNames:[`createdBy`,`createdAt`],viewFieldGroupNames:{}})}},blocklist:{universalIdentifier:a.blocklist,fields:o.blocklist,indexes:{workspaceMemberIdIndex:{universalIdentifier:`4daf320e-74d0-4f24-a45a-af3a09d741cb`}},views:{allBlocklists:s({objectUniversalIdentifier:a.blocklist,fields:o.blocklist,viewFieldNames:[`handle`,`workspaceMember`,`createdAt`]}),blocklistRecordPageFields:c({objectUniversalIdentifier:a.blocklist,fields:o.blocklist,viewFieldNames:[`workspaceMember`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},calendarChannelEventAssociation:{universalIdentifier:a.calendarChannelEventAssociation,fields:o.calendarChannelEventAssociation,indexes:{calendarChannelIdIndex:{universalIdentifier:`ff6b86c1-3112-4dfa-b734-c4789111a716`},calendarEventIdIndex:{universalIdentifier:`47a3c8d2-9f14-4b6e-8c5d-1a2b3f4e5c69`}},views:{allCalendarChannelEventAssociations:s({objectUniversalIdentifier:a.calendarChannelEventAssociation,fields:o.calendarChannelEventAssociation,viewFieldNames:[`calendarChannelId`,`calendarEvent`,`eventExternalId`,`createdAt`]}),calendarChannelEventAssociationRecordPageFields:c({objectUniversalIdentifier:a.calendarChannelEventAssociation,fields:o.calendarChannelEventAssociation,viewFieldNames:[`calendarChannelId`,`calendarEvent`,`eventExternalId`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},calendarEventParticipant:{universalIdentifier:a.calendarEventParticipant,fields:o.calendarEventParticipant,indexes:{calendarEventIdIndex:{universalIdentifier:`c458ad97-8b95-43de-9003-88eb68576049`},personIdIndex:{universalIdentifier:`30e9b75a-881f-4a85-aaf1-f2d2464be1cf`},workspaceMemberIdIndex:{universalIdentifier:`898aa202-428f-4a7a-a3b3-8f0a17a6658e`}},views:{allCalendarEventParticipants:s({objectUniversalIdentifier:a.calendarEventParticipant,fields:o.calendarEventParticipant,viewFieldNames:[`calendarEvent`,`handle`,`displayName`,`isOrganizer`,`responseStatus`,`person`,`workspaceMember`,`createdAt`]}),calendarEventParticipantRecordPageFields:c({objectUniversalIdentifier:a.calendarEventParticipant,fields:o.calendarEventParticipant,viewFieldNames:[`calendarEvent`,`handle`,`displayName`,`isOrganizer`,`responseStatus`,`person`,`workspaceMember`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},calendarEvent:{universalIdentifier:a.calendarEvent,fields:o.calendarEvent,indexes:{},views:{allCalendarEvents:s({objectUniversalIdentifier:a.calendarEvent,fields:o.calendarEvent,viewFieldNames:[`title`,`startsAt`,`endsAt`,`isFullDay`,`location`,`conferenceLink`,`isCanceled`,`createdAt`]}),calendarEventRecordPageFields:c({objectUniversalIdentifier:a.calendarEvent,fields:o.calendarEvent,viewFieldNames:[`title`,`startsAt`,`endsAt`,`isFullDay`,`isCanceled`,`conferenceLink`,`location`,`description`,`calendarEventTargets`,`externalCreatedAt`,`externalUpdatedAt`,`iCalUid`,`conferenceSolution`],viewFieldGroupNames:{general:`General`,system:`System`}})}},calendarEventTarget:{universalIdentifier:a.calendarEventTarget,fields:o.calendarEventTarget,morphIds:{targetMorphId:{morphId:`676e9f68-7b5c-41e6-b46d-2fb9527b7051`}},indexes:{calendarEventIdIndex:{universalIdentifier:`ce1c180c-0236-4673-ad1d-359dddf59f93`},personIdIndex:{universalIdentifier:`f151bc84-ba45-40cb-b064-02ef359ac17b`},companyIdIndex:{universalIdentifier:`30413277-505d-4f08-be38-a56257460f9f`},opportunityIdIndex:{universalIdentifier:`7920092d-281f-473a-8ea4-53c209b36a37`},calendarEventPersonUniqueIndex:{universalIdentifier:`15b9e394-d451-4186-aaf0-612f6be1ea91`},calendarEventCompanyUniqueIndex:{universalIdentifier:`3fa22398-6e7d-47a5-95eb-4971f9d62135`},calendarEventOpportunityUniqueIndex:{universalIdentifier:`c8183b17-5dfe-4e02-8d9d-aef8e54ef07d`}},views:{}},callRecording:{universalIdentifier:a.callRecording,fields:o.callRecording,indexes:{calendarEventIdIndex:{universalIdentifier:`8be3cc47-9352-4a1b-ad19-bb186bc0865d`}},views:{allCallRecordings:s({objectUniversalIdentifier:a.callRecording,fields:o.callRecording,viewFieldNames:[`status`,`recordingRequestStatus`,`title`,`startedAt`]}),callRecordingRecordPageFields:c({objectUniversalIdentifier:a.callRecording,fields:o.callRecording,viewFieldNames:[`title`,`status`,`recordingRequestStatus`,`startedAt`,`endedAt`,`video`,`audio`,`transcript`,`summary`],viewFieldGroupNames:{general:`General`}})}},company:{universalIdentifier:a.company,fields:o.company,indexes:{accountOwnerIdIndex:{universalIdentifier:`ec2ebfc9-0c9b-4597-a87d-aa295e2d8bfe`},domainNameUniqueIndex:{universalIdentifier:`dd300c61-f422-467a-91f4-de4f83c4175b`},searchVectorGinIndex:{universalIdentifier:`c3eb62df-2cc1-4cc3-b7aa-e96a4d65c633`}},views:{allCompanies:s({objectUniversalIdentifier:a.company,fields:o.company,viewFieldNames:[`name`,`domainName`,`createdBy`,`accountOwner`,`createdAt`,`linkedinLink`,`address`]}),companyRecordPageFields:c({objectUniversalIdentifier:a.company,fields:o.company,viewFieldNames:[`domainName`,`accountOwner`,`annualRevenue`,`linkedinLink`,`address`,`createdAt`,`createdBy`,`updatedAt`,`updatedBy`,`people`,`taskTargets`,`noteTargets`,`opportunities`,`attachments`,`timelineActivities`],viewFieldGroupNames:{general:`General`,business:`Business`,contact:`Contact`,system:`System`}})}},dashboard:{universalIdentifier:a.dashboard,fields:o.dashboard,indexes:{searchVectorGinIndex:{universalIdentifier:`e69f71aa-de0f-4b70-845f-7a8369c47928`}},views:{allDashboards:s({objectUniversalIdentifier:a.dashboard,fields:o.dashboard,viewFieldNames:[`title`,`createdBy`,`createdAt`,`updatedAt`]})}},messageCampaign:{universalIdentifier:a.messageCampaign,fields:o.messageCampaign,indexes:{unsubscribeTopicIdIndex:{universalIdentifier:`efe8c20e-d12b-4475-969e-e86e0bbfe444`},listIdIndex:{universalIdentifier:`17bffd6a-714a-458d-a547-f9e2183d9520`},searchVectorGinIndex:{universalIdentifier:`975823ad-9b97-4f39-b2c7-fbd7d77f4bd1`}},views:{allMessageCampaigns:s({objectUniversalIdentifier:a.messageCampaign,fields:o.messageCampaign,viewFieldNames:[`name`,`subject`,`status`,`list`,`fromAddress`,`scheduledAt`,`sentAt`,`sentCount`,`deliveredCount`,`failedCount`,`skippedCount`,`bouncedCount`,`complainedCount`,`recipients`,`createdAt`]}),messageCampaignRecordPageFields:c({objectUniversalIdentifier:a.messageCampaign,fields:o.messageCampaign,viewFieldNames:[`status`,`scheduledAt`,`sentAt`,`sentCount`,`deliveredCount`,`failedCount`,`skippedCount`,`bouncedCount`,`complainedCount`],viewFieldGroupNames:{stats:`Stats`}})}},messageList:{universalIdentifier:a.messageList,fields:o.messageList,indexes:{searchVectorGinIndex:{universalIdentifier:`8e205171-ed74-4620-b7d2-674aab85033a`}},views:{allMessageLists:s({objectUniversalIdentifier:a.messageList,fields:o.messageList,viewFieldNames:[`name`,`description`,`members`,`campaigns`,`createdAt`]})}},messageListMember:{universalIdentifier:a.messageListMember,fields:o.messageListMember,indexes:{listIdIndex:{universalIdentifier:`61188470-6dcb-4b2a-b1a9-baeb688bccae`},personListUniqueIndex:{universalIdentifier:`e5497dc2-1d72-418c-a389-a0645ca0195a`}},views:{allMessageListMembers:s({objectUniversalIdentifier:a.messageListMember,fields:o.messageListMember,viewFieldNames:[`id`,`person`,`list`,`createdAt`]})}},messageChannelMessageAssociation:{universalIdentifier:a.messageChannelMessageAssociation,fields:o.messageChannelMessageAssociation,indexes:{messageChannelIdIndex:{universalIdentifier:`9894f9a3-0225-4e7b-9f6a-23d4e2576784`},messageIdIndex:{universalIdentifier:`9bb24d40-60dd-4beb-8c64-a74e8c67f9ee`},messageChannelIdMessageIdUniqueIndex:{universalIdentifier:`1b86ece8-7ce3-4df3-8771-fd4b5d45b2f2`}},views:{allMessageChannelMessageAssociations:s({objectUniversalIdentifier:a.messageChannelMessageAssociation,fields:o.messageChannelMessageAssociation,viewFieldNames:[`messageChannelId`,`message`,`messageExternalId`,`direction`,`createdAt`]}),messageChannelMessageAssociationRecordPageFields:c({objectUniversalIdentifier:a.messageChannelMessageAssociation,fields:o.messageChannelMessageAssociation,viewFieldNames:[`messageChannelId`,`message`,`messageExternalId`,`direction`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},messageChannelMessageAssociationMessageFolder:{universalIdentifier:a.messageChannelMessageAssociationMessageFolder,fields:o.messageChannelMessageAssociationMessageFolder,indexes:{messageChannelMessageAssociationIdIndex:{universalIdentifier:`8e6038aa-1f79-4a84-87b5-f33caa172e98`},messageFolderIdIndex:{universalIdentifier:`905299c3-ca81-435d-901c-f68b87562516`},messageChannelMessageAssociationIdMessageFolderIdUniqueIndex:{universalIdentifier:`a3de1788-5dff-4849-ac5a-0dabe5fab216`}},views:{allMessageChannelMessageAssociationMessageFolders:s({objectUniversalIdentifier:a.messageChannelMessageAssociationMessageFolder,fields:o.messageChannelMessageAssociationMessageFolder,viewFieldNames:[`messageChannelMessageAssociation`,`messageFolderId`,`createdAt`]}),messageChannelMessageAssociationMessageFolderRecordPageFields:c({objectUniversalIdentifier:a.messageChannelMessageAssociationMessageFolder,fields:o.messageChannelMessageAssociationMessageFolder,viewFieldNames:[`messageChannelMessageAssociation`,`messageFolderId`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},messageParticipant:{universalIdentifier:a.messageParticipant,fields:o.messageParticipant,indexes:{messageIdIndex:{universalIdentifier:`ab0863ba-f95e-493c-b86c-56e1bc7e5bc2`},personIdIndex:{universalIdentifier:`df805c2e-3bfe-4d51-8309-75e5eb4052fe`},workspaceMemberIdIndex:{universalIdentifier:`ce1e3a9e-afe9-439d-abb7-6cc98a6fa405`},messageCampaignIdIndex:{universalIdentifier:`e9bcdd77-cc8b-4532-833c-124dfdc8e5ff`}},views:{allMessageParticipants:s({objectUniversalIdentifier:a.messageParticipant,fields:o.messageParticipant,viewFieldNames:[`message`,`role`,`handle`,`displayName`,`person`,`workspaceMember`,`createdAt`]}),messageParticipantRecordPageFields:c({objectUniversalIdentifier:a.messageParticipant,fields:o.messageParticipant,viewFieldNames:[`message`,`role`,`displayName`,`person`,`workspaceMember`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},messageThread:{universalIdentifier:a.messageThread,fields:o.messageThread,indexes:{},views:{allMessageThreads:s({objectUniversalIdentifier:a.messageThread,fields:o.messageThread,viewFieldNames:[`subject`,`messages`,`updatedAt`,`createdAt`]})}},messageThreadTarget:{universalIdentifier:a.messageThreadTarget,fields:o.messageThreadTarget,morphIds:{targetMorphId:{morphId:`e85e853d-c26e-41b3-bec0-7afc4bdbc2f7`}},indexes:{messageThreadIdIndex:{universalIdentifier:`222fdd8b-0863-4f2a-816a-29745537b6b6`},personIdIndex:{universalIdentifier:`280ee419-ac3c-4599-bd62-3e5cb268342c`},companyIdIndex:{universalIdentifier:`b98005e4-3811-41b6-82d0-3ccd27757eba`},opportunityIdIndex:{universalIdentifier:`7679ee05-cf6c-40a7-9ee6-c3e8053caca5`},messageThreadPersonUniqueIndex:{universalIdentifier:`087f97cb-8c3c-4ea1-9556-933acde6c83b`},messageThreadCompanyUniqueIndex:{universalIdentifier:`30d4f1af-8b6f-4685-802f-8a7cf29f318b`},messageThreadOpportunityUniqueIndex:{universalIdentifier:`1dc0e37e-afb1-4e90-90b4-052374126a6a`}},views:{}},message:{universalIdentifier:a.message,fields:o.message,indexes:{messageThreadIdIndex:{universalIdentifier:`7a05b45e-7aa6-4a7e-9bbc-299cbed53c96`},messageCampaignIdIndex:{universalIdentifier:`79e777ca-7008-46c5-b3a6-3108b7c7dfb6`},headerMessageIdIndex:{universalIdentifier:`0904b3e4-6052-4a8d-bf41-f12a27c7e34a`}},views:{allMessages:s({objectUniversalIdentifier:a.message,fields:o.message,viewFieldNames:[`subject`,`messageThread`,`messageParticipants`,`receivedAt`,`headerMessageId`,`text`,`createdAt`]}),messageRecordPageFields:c({objectUniversalIdentifier:a.message,fields:o.message,viewFieldNames:[`messageThread`,`messageParticipants`,`receivedAt`,`text`,`headerMessageId`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},note:{universalIdentifier:a.note,fields:o.note,indexes:{searchVectorGinIndex:{universalIdentifier:`8183c8d2-9114-4b6e-8c5d-12a3b14a5a13`}},views:{allNotes:s({objectUniversalIdentifier:a.note,fields:o.note,viewFieldNames:[`title`,`noteTargets`,`bodyV2`,`createdBy`,`createdAt`]}),noteRecordPageFields:c({objectUniversalIdentifier:a.note,fields:o.note,viewFieldNames:[`noteTargets`,`attachments`,`timelineActivities`],viewFieldGroupNames:{general:`General`}})}},noteTarget:{universalIdentifier:a.noteTarget,fields:o.noteTarget,morphIds:{targetMorphId:{morphId:`20202020-f635-435d-ab8d-e1168b375c70`}},indexes:{noteIdIndex:{universalIdentifier:`9294d9e3-0225-4c7f-9d6e-23b4c25b6b24`},personIdIndex:{universalIdentifier:`7c069dc0-e83b-4cd5-aaa2-cac7f3e00d80`},companyIdIndex:{universalIdentifier:`2d83909a-a383-4e82-b00a-8b7739f3f906`},opportunityIdIndex:{universalIdentifier:`0d1a59b4-cc87-4b7d-804a-656e8504f371`},notePersonUniqueIndex:{universalIdentifier:`29be76d1-ff4f-4f0f-b05c-f679a234e90a`},noteCompanyUniqueIndex:{universalIdentifier:`e3b92659-04cf-4496-8fd4-4f32c747c26a`},noteOpportunityUniqueIndex:{universalIdentifier:`58002741-8aa7-4812-b7af-f4cf98dd2433`}},views:{allNoteTargets:s({objectUniversalIdentifier:a.noteTarget,fields:o.noteTarget,viewFieldNames:[`id`,`note`,`targetPerson`,`targetCompany`,`targetOpportunity`]})}},opportunity:{universalIdentifier:a.opportunity,fields:o.opportunity,indexes:{pointOfContactIdIndex:{universalIdentifier:`b8c2a673-a981-4357-a43d-313a358e4daa`},companyIdIndex:{universalIdentifier:`e161072d-37b1-477a-b944-ef0d65289574`},stageIndex:{universalIdentifier:`ae60d580-b562-44f2-a24d-7b8040063f83`},searchVectorGinIndex:{universalIdentifier:`f53fdd28-a26b-47ba-81b5-6813ad622720`}},views:{allOpportunities:s({objectUniversalIdentifier:a.opportunity,fields:o.opportunity,viewFieldNames:[`name`,`amount`,`createdBy`,`closeDate`,`company`,`pointOfContact`]}),byStage:{universalIdentifier:`20202020-a004-4a04-8a04-0aa0b1ca1ba0`,viewFields:{name:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2baf`},amount:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2bb0`},createdBy:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2bb1`},closeDate:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2bb2`},company:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2bb3`},pointOfContact:{universalIdentifier:`20202020-af04-4a04-8a04-0aa0b2ca2bb4`}},viewGroups:{new:{universalIdentifier:`20202020-af14-4a04-8a04-0aa0b2ca2bf1`},screening:{universalIdentifier:`20202020-af14-4a04-8a04-0aa0b2ca2bf2`},meeting:{universalIdentifier:`20202020-af14-4a04-8a04-0aa0b2ca2bf3`},proposal:{universalIdentifier:`20202020-af14-4a04-8a04-0aa0b2ca2bf4`},customer:{universalIdentifier:`20202020-af14-4a04-8a04-0aa0b2ca2bf5`}}},opportunityRecordPageFields:c({objectUniversalIdentifier:a.opportunity,fields:o.opportunity,viewFieldNames:[`amount`,`closeDate`,`stage`,`company`,`pointOfContact`,`owner`,`createdAt`,`createdBy`,`updatedAt`,`updatedBy`,`taskTargets`,`noteTargets`,`attachments`,`timelineActivities`],viewFieldGroupNames:{deal:`Deal`,relations:`Relations`,system:`System`}})}},person:{universalIdentifier:a.person,fields:o.person,indexes:{companyIdIndex:{universalIdentifier:`8a265a5c-d3ae-47dc-bdf9-b42cfa2ba639`},emailsUniqueIndex:{universalIdentifier:`8183a8b2-9114-4f6c-8a5b-12e3f14e5e13`},searchVectorGinIndex:{universalIdentifier:`9294b9c3-0225-4a7d-9b6c-23f4a25f6f24`}},views:{allPeople:s({objectUniversalIdentifier:a.person,fields:o.person,viewFieldNames:[`name`,`emails`,`createdBy`,`company`,`phones`,`createdAt`,`jobTitle`,`linkedinLink`]}),personRecordPageFields:c({objectUniversalIdentifier:a.person,fields:o.person,viewFieldNames:[`emails`,`phones`,`company`,`jobTitle`,`linkedinLink`,`avatarUrl`,`createdAt`,`createdBy`,`updatedAt`,`updatedBy`,`avatarFile`,`pointOfContactForOpportunities`,`taskTargets`,`noteTargets`,`attachments`,`messageParticipants`,`calendarEventParticipants`,`timelineActivities`],viewFieldGroupNames:{general:`General`,work:`Work`,social:`Social`,system:`System`}}),messageListRecordPageMembers:{universalIdentifier:`bef79e8e-9ef3-4458-81ed-78a299e2566f`,viewFields:{name:{universalIdentifier:`a4f0d7b4-3956-44a6-8bb2-df45a699609b`},emails:{universalIdentifier:`180e9cbb-34c2-4e27-8648-2915be88a50e`},company:{universalIdentifier:`3db54119-df4d-449b-91c9-22fca1e5d599`}},viewFilters:{listMembershipsListIsCurrentRecord:{universalIdentifier:`256dceea-a9b5-42b7-8461-a6ce62e7fa6c`}}}}},recordShare:{universalIdentifier:a.recordShare,fields:o.recordShare,indexes:{recordPrincipalCauseSourceUniqueIndex:{universalIdentifier:`4580f104-47a7-4110-87a8-26cb6f63ce7b`},principalIdIndex:{universalIdentifier:`66fbc3d2-6126-4e29-a306-dbe9995bf062`},sourceIdIndex:{universalIdentifier:`21b84593-c647-40ce-bdf4-a8b4ac658f57`}},views:{}},shortLink:{universalIdentifier:a.shortLink,fields:o.shortLink,indexes:{templateAndResolvedUrlHashUniqueIndex:{universalIdentifier:`b1330e3c-bd74-4bd1-a9dc-1ecefe41f199`}},views:{}},task:{universalIdentifier:a.task,fields:o.task,indexes:{assigneeIdIndex:{universalIdentifier:`f48fa3b1-0cec-44da-a9e5-f8a5e766637e`},searchVectorGinIndex:{universalIdentifier:`a86b32b3-01d3-4302-a152-8b7f247db7b4`}},views:{allTasks:s({objectUniversalIdentifier:a.task,fields:o.task,viewFieldNames:[`title`,`status`,`taskTargets`,`createdBy`,`dueAt`,`assignee`,`bodyV2`,`createdAt`]}),assignedToMe:{universalIdentifier:`20202020-a007-4a07-8a07-ba5ca551aaed`,viewFields:{title:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaed`},taskTargets:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaee`},createdBy:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaef`},dueAt:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaf0`},assignee:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaf1`},bodyV2:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaf2`},createdAt:{universalIdentifier:`20202020-af07-4a07-8a07-ba5ca551aaf3`}},viewFilters:{assigneeIsMe:{universalIdentifier:`20202020-af17-4a07-8a07-ba5ca551abf1`}},viewGroups:{todo:{universalIdentifier:`20202020-af17-4a07-8a07-ba5ca551abf2`},inProgress:{universalIdentifier:`20202020-af17-4a07-8a07-ba5ca551abf3`},done:{universalIdentifier:`20202020-af17-4a07-8a07-ba5ca551abf4`},empty:{universalIdentifier:`20202020-af17-4a07-8a07-ba5ca551abf5`}}},byStatus:{universalIdentifier:`20202020-a008-4a08-8a08-ba5cba51aba5`,viewFields:{title:{universalIdentifier:`20202020-af08-4a08-8a08-ba5cba5babf0`},status:{universalIdentifier:`20202020-af08-4a08-8a08-ba5cba5babf1`},dueAt:{universalIdentifier:`20202020-af08-4a08-8a08-ba5cba5babf2`},assignee:{universalIdentifier:`20202020-af08-4a08-8a08-ba5cba5babf3`},createdAt:{universalIdentifier:`20202020-af08-4a08-8a08-ba5cba5babf4`}},viewGroups:{todo:{universalIdentifier:`20202020-af18-4a08-8a08-ba5cba5bbf01`},inProgress:{universalIdentifier:`20202020-af18-4a08-8a08-ba5cba5bbf02`},done:{universalIdentifier:`20202020-af18-4a08-8a08-ba5cba5bbf03`}}},taskRecordPageFields:c({objectUniversalIdentifier:a.task,fields:o.task,viewFieldNames:[`dueAt`,`status`,`assignee`,`taskTargets`,`attachments`,`timelineActivities`],viewFieldGroupNames:{general:`General`}})}},taskTarget:{universalIdentifier:a.taskTarget,fields:o.taskTarget,morphIds:{targetMorphId:{morphId:`20202020-f636-435d-ab8d-e1168b375c71`}},indexes:{taskIdIndex:{universalIdentifier:`c882f7a4-b025-4d32-aa26-5ef2595bdbf9`},personIdIndex:{universalIdentifier:`b7d305d1-6fae-4ed6-9bdc-354fe9032c0e`},companyIdIndex:{universalIdentifier:`c0af54c7-751b-4bb2-b102-677cc4e47402`},opportunityIdIndex:{universalIdentifier:`6942e0ba-90f6-4c33-bf40-7f00b1ec35ab`},taskPersonUniqueIndex:{universalIdentifier:`4adf4d5a-ad69-4c5c-bc62-2807816b3aa8`},taskCompanyUniqueIndex:{universalIdentifier:`637dce5e-f609-49f4-89e3-c0ef9e330d3a`},taskOpportunityUniqueIndex:{universalIdentifier:`eb5422ff-7a41-48d2-a2df-3de1cbf7bced`}},views:{allTaskTargets:s({objectUniversalIdentifier:a.taskTarget,fields:o.taskTarget,viewFieldNames:[`id`,`task`,`targetPerson`,`targetCompany`,`targetOpportunity`]})}},timelineActivity:{universalIdentifier:a.timelineActivity,fields:o.timelineActivity,morphIds:{targetMorphId:{morphId:`20202020-9a2b-4c3d-a4e5-f6a7b8c9d0e1`}},indexes:{workspaceMemberIdIndex:{universalIdentifier:`5e0b2391-85ca-4a66-aef4-52d74245bec2`},personIdIndex:{universalIdentifier:`3e89a914-7bec-47bd-9cf9-743c6b83d001`},companyIdIndex:{universalIdentifier:`8183e8f2-9114-4d6a-8e5f-12c3d14c5c13`},opportunityIdIndex:{universalIdentifier:`9294f9a3-0225-4e7b-9f6a-23d4e25d6d24`},noteIdIndex:{universalIdentifier:`995db1d8-0d3e-40f7-b0eb-5e6897bc9966`},taskIdIndex:{universalIdentifier:`609cf622-86ef-48d1-812b-e1cab610a46c`},workflowIdIndex:{universalIdentifier:`d6059ec2-92b0-4cfc-9fd8-78050f03108f`},workflowVersionIdIndex:{universalIdentifier:`d94329b3-5dc8-4141-ae28-31afe28f7135`},workflowRunIdIndex:{universalIdentifier:`1a2bd046-7c23-4e0a-9f8a-c3ca3a16d3b9`},dashboardIdIndex:{universalIdentifier:`e8821da9-728d-470a-bf5b-5a981fff7880`},messageListIdIndex:{universalIdentifier:`a251f71a-c698-4526-8817-0e7c803c158e`},messageCampaignIdIndex:{universalIdentifier:`e808e721-91cc-4b9b-b24b-806d64b4d5e2`}},views:{allTimelineActivities:s({objectUniversalIdentifier:a.timelineActivity,fields:o.timelineActivity,viewFieldNames:[`linkedRecordCachedName`,`happensAt`,`workspaceMember`,`targetPerson`,`targetCompany`,`targetOpportunity`,`targetTask`,`targetNote`,`targetWorkflow`,`targetWorkflowVersion`,`targetWorkflowRun`,`targetDashboard`]})}},workflow:{universalIdentifier:a.workflow,fields:o.workflow,indexes:{searchVectorGinIndex:{universalIdentifier:`c7e64c55-eb0c-4b93-b076-5cfcf2e2e042`}},views:{allWorkflows:s({objectUniversalIdentifier:a.workflow,fields:o.workflow,viewFieldNames:[`name`,`statuses`,`updatedAt`,`createdBy`,`versions`,`runs`]})}},workflowAutomatedTrigger:{universalIdentifier:a.workflowAutomatedTrigger,fields:o.workflowAutomatedTrigger,indexes:{workflowIdIndex:{universalIdentifier:`7331ff89-a3f9-4ac0-9fa9-0de5663ae7b2`}},views:{allWorkflowAutomatedTriggers:s({objectUniversalIdentifier:a.workflowAutomatedTrigger,fields:o.workflowAutomatedTrigger,viewFieldNames:[`type`,`workflow`,`createdAt`]}),workflowAutomatedTriggerRecordPageFields:c({objectUniversalIdentifier:a.workflowAutomatedTrigger,fields:o.workflowAutomatedTrigger,viewFieldNames:[`type`,`workflow`,`createdAt`,`createdBy`],viewFieldGroupNames:{general:`General`,system:`System`}})}},workflowRun:{universalIdentifier:a.workflowRun,fields:o.workflowRun,indexes:{workflowVersionIdIndex:{universalIdentifier:`8183c8d2-9114-4b6e-8c5d-12a3b14a5a14`},workflowIdIndex:{universalIdentifier:`9294d9e3-0225-4c7f-9d6e-23b4c25b6b25`},searchVectorGinIndex:{universalIdentifier:`e0ac5ad2-d0c8-4f72-b710-8e53b9dc18d9`}},views:{allWorkflowRuns:s({objectUniversalIdentifier:a.workflowRun,fields:o.workflowRun,viewFieldNames:[`name`,`workflow`,`status`]}),workflowRunRecordPageFields:c({objectUniversalIdentifier:a.workflowRun,fields:o.workflowRun,viewFieldNames:[`status`,`workflow`,`workflowVersion`,`startedAt`,`endedAt`,`createdAt`,`createdBy`,`enqueuedAt`,`state`,`updatedAt`,`updatedBy`,`timelineActivities`],viewFieldGroupNames:{general:`General`,system:`System`}})}},workflowVersion:{universalIdentifier:a.workflowVersion,fields:o.workflowVersion,indexes:{workflowIdIndex:{universalIdentifier:`8138c3b3-0b14-4ee1-be0e-debdde6b3219`},searchVectorGinIndex:{universalIdentifier:`6f3a65eb-2aee-4108-b8a0-c62da419d1dc`}},views:{allWorkflowVersions:s({objectUniversalIdentifier:a.workflowVersion,fields:o.workflowVersion,viewFieldNames:[`name`,`workflow`,`status`,`updatedAt`,`runs`]}),workflowVersionRecordPageFields:c({objectUniversalIdentifier:a.workflowVersion,fields:o.workflowVersion,viewFieldNames:[`status`,`workflow`,`trigger`,`createdAt`,`steps`,`createdBy`,`updatedAt`,`updatedBy`,`runs`,`timelineActivities`],viewFieldGroupNames:{general:`General`,system:`System`}})}},workspaceMember:{universalIdentifier:a.workspaceMember,fields:o.workspaceMember,indexes:{userEmailUniqueIndex:{universalIdentifier:`76da5f27-523c-44b6-ad06-12954f6b949f`},searchVectorGinIndex:{universalIdentifier:`8678dde9-a804-4a9e-80e3-9af35e471ec5`}},views:{allWorkspaceMembers:s({objectUniversalIdentifier:a.workspaceMember,fields:o.workspaceMember,viewFieldNames:[`name`,`createdAt`,`ownedOpportunities`,`assignedTasks`]})}},agentChatThread:{universalIdentifier:a.agentChatThread,fields:o.agentChatThread,indexes:{ownerIndex:{universalIdentifier:`c97a4c97-266b-490a-a4d6-76274f5de429`},workspaceMemberIndex:{universalIdentifier:`079f2dd7-6c11-4eae-be8a-cce2d1bee0fb`},assigneeIndex:{universalIdentifier:`a65524f8-c999-448b-b9f4-c9ecce15fd13`}}},agentChatThreadParticipant:{universalIdentifier:a.agentChatThreadParticipant,fields:o.agentChatThreadParticipant,indexes:{threadWorkspaceMemberUniqueIndex:{universalIdentifier:`e5bbe244-cf74-49a3-938a-e6fff7a8710b`},workspaceMemberIndex:{universalIdentifier:`73d8bb5d-18eb-47bb-89e6-12d8f89aecf6`}}},agentChatThreadTarget:{universalIdentifier:a.agentChatThreadTarget,fields:o.agentChatThreadTarget,morphIds:{targetMorphId:{morphId:`2c4cc537-39a2-4df9-81a1-dda26eb19658`}},indexes:{threadIdIndex:{universalIdentifier:`19291d2c-15ab-43a0-91f7-1694b34813dd`},personIdIndex:{universalIdentifier:`fe9c48d0-5b2a-4a51-bd47-f9205ea0c09d`},companyIdIndex:{universalIdentifier:`ab45593a-3614-41c8-aab1-20aa91f1095c`},opportunityIdIndex:{universalIdentifier:`b68e2031-73c6-4bc4-b062-5f795539e452`},threadPersonUniqueIndex:{universalIdentifier:`5a12050f-4de2-4076-aecc-959b863e14b2`},threadCompanyUniqueIndex:{universalIdentifier:`d9067628-fd16-4843-955b-5fd47fea52a9`},threadOpportunityUniqueIndex:{universalIdentifier:`1b9bec10-2788-40be-9435-44937b9f7018`}},views:{}},agentTurn:{universalIdentifier:a.agentTurn,fields:o.agentTurn,indexes:{agentIndex:{universalIdentifier:`606e8ba3-f322-426b-bef8-2208f67a541a`},threadIndex:{universalIdentifier:`7d351559-4546-4307-ba28-de9fc4c40ef4`}}},agentMessage:{universalIdentifier:a.agentMessage,fields:o.agentMessage,indexes:{agentIndex:{universalIdentifier:`465b20e1-d4cd-4d80-a85b-78bd1f0e70ad`},threadIndex:{universalIdentifier:`2054f1a5-554f-42ac-a41a-b8ccd6ba72ec`},turnIndex:{universalIdentifier:`dc46f804-a55f-4283-884e-9cb938741da3`},senderWorkspaceMemberIndex:{universalIdentifier:`8ecdac01-7bbe-411e-8461-6ff265c90759`},hiddenKickoffIndex:{universalIdentifier:`1d423c31-007a-4fcd-8514-dcb1f7a8fa78`}}},agentMessagePart:{universalIdentifier:a.agentMessagePart,fields:o.agentMessagePart,indexes:{messageOrderIndex:{universalIdentifier:`f5a08f6f-cf91-4996-9c21-2af64a17ca83`}}},campaignDelivery:{universalIdentifier:a.campaignDelivery,fields:o.campaignDelivery,indexes:{campaignPersonUniqueIndex:{universalIdentifier:`8d719548-d34f-4891-bbc9-e0e09f0e363b`},expiredClaimIndex:{universalIdentifier:`a4d7e8ed-0008-4f6a-a20c-a2b821487481`},countsIndex:{universalIdentifier:`1ea1ae7a-158f-436a-95a0-e9c998ad94f7`},claimTokenIndex:{universalIdentifier:`91640dcd-3f6b-4378-b284-bb02cc8b81ec`},providerMessageIdUniqueIndex:{universalIdentifier:`4de6f73d-ef3a-4c80-b71a-88739213f1c0`}}},messageSuppression:{universalIdentifier:a.messageSuppression,fields:o.messageSuppression,indexes:{emailAddressTopicUniqueIndex:{universalIdentifier:`a6c1f4dc-d925-49f9-8205-3e7f95545966`}}}},u=({objectUniversalIdentifier:t,tabs:n})=>{let r=e.f({objectMetadataApplicationUniversalIdentifier:e._,objectUniversalIdentifier:t});return{universalIdentifier:r,tabs:Object.fromEntries(Object.entries(n).map(([t,{title:n,widgets:i}])=>{let a=e.v({objectMetadataApplicationUniversalIdentifier:e._,pageLayoutUniversalIdentifier:r,title:n});return[t,{universalIdentifier:a,widgets:Object.fromEntries(Object.entries(i).map(([t,n])=>[t,{universalIdentifier:e.b({objectMetadataApplicationUniversalIdentifier:e._,pageLayoutTabUniversalIdentifier:a,title:n})}]))}]}))}},d={myFirstDashboard:{universalIdentifier:`20202020-d001-4d01-8d01-da5ab0a00001`,tabs:{tab1:{universalIdentifier:`20202020-d011-4d11-8d11-da5ab0a01001`,widgets:{welcomeRichText:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11001`},dealsByCompany:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11002`},pipelineValueByStage:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11003`},revenueTimeline:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11004`},opportunitiesByOwner:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11005`},stockMarketIframe:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11006`},dealsCreatedThisMonth:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11007`},dealValueCreatedThisMonth:{universalIdentifier:`20202020-d111-4d11-8d11-da5ab0a11008`}}}}},attachmentRecordPage:u({objectUniversalIdentifier:a.attachment,tabs:{home:{title:`Home`,widgets:{preview:`Preview`,fields:`Fields`,attachedTo:`Attached to`}}}}),companyRecordPage:u({objectUniversalIdentifier:a.company,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,people:`People`,opportunities:`Opportunities`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},tasks:{title:`Tasks`,widgets:{tasks:`Tasks`}},notes:{title:`Notes`,widgets:{notes:`Notes`}},files:{title:`Files`,widgets:{files:`Files`}},emails:{title:`Emails`,widgets:{emails:`Emails`}},conversations:{title:`Conversations`,widgets:{conversations:`Conversations`}},calendar:{title:`Calendar`,widgets:{calendar:`Calendar`}}}}),personRecordPage:u({objectUniversalIdentifier:a.person,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,company:`Company`,pointOfContactForOpportunities:`Opportunities`,listMemberships:`Lists`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},tasks:{title:`Tasks`,widgets:{tasks:`Tasks`}},notes:{title:`Notes`,widgets:{notes:`Notes`}},files:{title:`Files`,widgets:{files:`Files`}},emails:{title:`Emails`,widgets:{emails:`Emails`}},conversations:{title:`Conversations`,widgets:{conversations:`Conversations`}},calendar:{title:`Calendar`,widgets:{calendar:`Calendar`}}}}),opportunityRecordPage:u({objectUniversalIdentifier:a.opportunity,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,pointOfContact:`Point of Contact`,company:`Company`,owner:`Owner`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},tasks:{title:`Tasks`,widgets:{tasks:`Tasks`}},notes:{title:`Notes`,widgets:{notes:`Notes`}},files:{title:`Files`,widgets:{files:`Files`}},emails:{title:`Emails`,widgets:{emails:`Emails`}},conversations:{title:`Conversations`,widgets:{conversations:`Conversations`}},calendar:{title:`Calendar`,widgets:{calendar:`Calendar`}}}}),noteRecordPage:u({objectUniversalIdentifier:a.note,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,noteRichText:`Note`}},note:{title:`Note`,widgets:{noteRichText:`Note`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},files:{title:`Files`,widgets:{files:`Files`}}}}),taskRecordPage:u({objectUniversalIdentifier:a.task,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,taskRichText:`Task`}},note:{title:`Note`,widgets:{taskRichText:`Task`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},files:{title:`Files`,widgets:{files:`Files`}}}}),workflowRecordPage:u({objectUniversalIdentifier:a.workflow,tabs:{flow:{title:`Flow`,widgets:{workflow:`Flow`}}}}),workflowVersionRecordPage:u({objectUniversalIdentifier:a.workflowVersion,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,workflow:`Workflow`}},flow:{title:`Flow`,widgets:{workflowVersion:`Flow`}}}}),workflowRunRecordPage:u({objectUniversalIdentifier:a.workflowRun,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,workflow:`Workflow`}},flow:{title:`Flow`,widgets:{workflowRun:`Flow`}}}}),agentChatThreadRecordPage:u({objectUniversalIdentifier:a.agentChatThread,tabs:{chat:{title:`Chat`,widgets:{chat:`Chat`}}}}),blocklistRecordPage:u({objectUniversalIdentifier:a.blocklist,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),calendarChannelEventAssociationRecordPage:u({objectUniversalIdentifier:a.calendarChannelEventAssociation,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),calendarEventRecordPage:u({objectUniversalIdentifier:a.calendarEvent,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,participants:`Participants`,callRecordings:`Call Recordings`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},summary:{title:`Summary`,widgets:{summary:`Summary`}},callRecording:{title:`Call Recording`,widgets:{transcript:`Transcript`}}}}),calendarEventParticipantRecordPage:u({objectUniversalIdentifier:a.calendarEventParticipant,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),callRecordingRecordPage:u({objectUniversalIdentifier:a.callRecording,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}},summary:{title:`Summary`,widgets:{summary:`Summary`}},callRecording:{title:`Call Recording`,widgets:{transcript:`Transcript`}}}}),messageChannelMessageAssociationRecordPage:u({objectUniversalIdentifier:a.messageChannelMessageAssociation,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),messageChannelMessageAssociationMessageFolderRecordPage:u({objectUniversalIdentifier:a.messageChannelMessageAssociationMessageFolder,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),messageParticipantRecordPage:u({objectUniversalIdentifier:a.messageParticipant,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),workflowAutomatedTriggerRecordPage:u({objectUniversalIdentifier:a.workflowAutomatedTrigger,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}},timeline:{title:`Timeline`,widgets:{timeline:`Timeline`}}}}),messageRecordPage:u({objectUniversalIdentifier:a.message,tabs:{home:{title:`Home`,widgets:{fields:`Fields`}}}}),messageThreadRecordPage:u({objectUniversalIdentifier:a.messageThread,tabs:{home:{title:`Home`,widgets:{emailThread:`Thread`}}}}),messageListRecordPage:u({objectUniversalIdentifier:a.messageList,tabs:{home:{title:`Home`,widgets:{fields:`Fields`,members:`Members`}},members:{title:`Members`,widgets:{members:`Members`}}}}),messageCampaignRecordPage:u({objectUniversalIdentifier:a.messageCampaign,tabs:{home:{title:`Home`,widgets:{details:`Details`,list:`List`,recipients:`Recipients`,fields:`Fields`}},composer:{title:`Email`,widgets:{messageCampaign:`Email`}}}})};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`2.46.0`,t={node:`^24.5.0`};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./application-DuIJE2qG.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./fs-utils-Bl1fQcaJ.cjs"),a=require("./get-tooling-error-context-C69TBSej.cjs"),o=require("./list-application-source-files-jEau5Rie.cjs"),s=require("./extract-manifest-from-file-j-Y9wNas.cjs"),c=require("./is-supported-locale-BAjnKnKj.cjs"),l=require("./constants-Cf5-CwMu.cjs"),u=require("./is-exported-manifest-CriNOWvx.cjs"),d=require("./parse-app-export-BkfflyUY.cjs"),f=require("./assert-pull-paths-BuQ1ZRvQ.cjs"),p=require("./create-pull-base-write-rxjcKtD-.cjs"),m=require("./build-pull-entities-zwArrVMk.cjs"),h=require("./read-application-identity-BFg_p84F.cjs"),g=require("./kebab-case-D0usAzG-.cjs");let _=require("node:fs/promises"),v=require("node:path"),y=require("node:module"),b=require("esbuild"),x=require("typescript");x=e.i(x);var S=e.t(),C=({value:e,identifiers:n})=>{(0,S.isArray)(e)?e.forEach(e=>C({value:e,identifiers:n})):t.d(e)&&((0,S.isString)(e.universalIdentifier)&&n.add(e.universalIdentifier.toLowerCase()),Object.values(e).forEach(e=>C({value:e,identifiers:n})))},w=(e,t)=>t!==void 0&&t.length>0?`${t}${e}`:e,T=e=>e.replace(/\s+/g,` `).trim(),E=new Set([`t`,`msg`]),D=`Trans`,O=e=>{if(e!==void 0&&(x.isStringLiteral(e)||x.isNoSubstitutionTemplateLiteral(e)))return e.text},k=e=>{if(e===void 0)return;let t=O(e);if(t!==void 0)return{message:t};if(!x.isObjectLiteralExpression(e))return;let n=e.properties.find(e=>e.name!==void 0&&x.isIdentifier(e.name)&&e.name.text===`message`);if(n===void 0||!x.isPropertyAssignment(n))return;let r=O(n.initializer);if(r===void 0)return;let i=e.properties.find(e=>e.name!==void 0&&x.isIdentifier(e.name)&&e.name.text===`context`),a=i!==void 0&&x.isPropertyAssignment(i)?O(i.initializer):void 0;return a===void 0?{message:r}:{message:r,context:a}},A=(e,t)=>{let n=e.attributes.properties.find(e=>x.isJsxAttribute(e)&&e.name.getText()===t);if(n===void 0||!x.isJsxAttribute(n))return;let r=n.initializer;if(r!==void 0){if(x.isStringLiteral(r))return r.text;if(x.isJsxExpression(r))return O(r.expression)}},ee=e=>{let t=e.children;if(t.some(e=>x.isJsxExpression(e)||x.isJsxElement(e)||x.isJsxSelfClosingElement(e)))return;let n=T(t.filter(e=>x.isJsxText(e)).map(e=>e.getText()).join(``));return n.length>0?n:void 0},te=e=>{let t=new Map;for(let n of e)t.set(w(n.message,n.context),n);return[...t.values()]},ne=async e=>{if(e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let r;try{r=await(0,_.readFile)(e[n],`utf8`)}catch{continue}let i=x.createSourceFile(`front-component-${n}.tsx`,r,x.ScriptTarget.Latest,!0,x.ScriptKind.TSX),a=e=>{if(x.isCallExpression(e)){let n=e.expression;if(x.isIdentifier(n)&&E.has(n.text)){let n=k(e.arguments[0]);n!==void 0&&t.push(n)}return}if(x.isJsxSelfClosingElement(e)){if(e.tagName.getText()!==D)return;let n=A(e,`message`);if(n!==void 0&&n.length>0){let r=A(e,`context`);t.push(r===void 0?{message:n}:{message:n,context:r})}return}if(x.isJsxElement(e)){let n=e.openingElement;if(n.tagName.getText()!==D)return;let r=A(n,`message`)??ee(e);if(r!==void 0&&r.length>0){let e=A(n,`context`);t.push(e===void 0?{message:r}:{message:r,context:e})}}},o=e=>{a(e),x.forEachChild(e,o)};x.forEachChild(i,o)}return te(t)},j={objectMetadata:`objects`,fieldMetadata:`fields`,view:`views`,pageLayout:`pageLayouts`,pageLayoutTab:`pageLayoutTabs`,pageLayoutWidget:`pageLayoutWidgets`,commandMenuItem:`commandMenuItems`,navigationMenuItem:`navigationMenuItems`,timelineActivityType:`timelineActivityTypes`,settingsMenuItem:`settingsMenuItems`},M=e=>{let t=new Map,n=(e,n)=>{if(!(typeof e!=`object`||!e))for(let r of c.i[n]){let i=e[r];if(typeof i!=`string`||i.length===0)continue;let a=c.o(n,r);t.set(JSON.stringify([a,i]),{message:i,context:a})}};for(let[t,r]of Object.entries(j)){let i=e[r];if(Array.isArray(i))for(let e of i)n(e,t)}for(let t of e.objects??[])for(let e of t.fields??[])n(e,`fieldMetadata`);for(let t of e.pageLayouts??[])for(let e of t.tabs??[]){n(e,`pageLayoutTab`);for(let t of e.widgets??[])n(t,`pageLayoutWidget`)}for(let t of e.pageLayoutTabs??[])for(let e of t.widgets??[])n(e,`pageLayoutWidget`);return[...t.values()]},N=async({manifest:e,frontComponentSourcePaths:n})=>{let r=[...M(e),...await ne(n)],i=new Map(r.map(e=>[c.a(e.message,e.context),e]));return Object.entries(e.translations??{}).filter(e=>c.t(e[0])&&u.n(e[1])).sort(([e],[t])=>e.localeCompare(t)).map(([e,n])=>{let r=[],a={};for(let[e,o]of Object.entries(n)){let n=i.get(e);t.zt(n)?r.push({message:n.message,context:n.context,translation:o}):a[e]=o}return{locale:e,authored:c.n(r),compiled:a}})},P=e=>t.zt(e)&&typeof e==`object`&&!Array.isArray(e),F=e=>`${JSON.stringify(e,null,2)}\n`,I=e=>{if(!t.zt(e))return{};try{let n=JSON.parse(e);return t.zt(n)&&typeof n==`object`?n:{}}catch{return{}}},L=({message:e,context:t})=>JSON.stringify([t??null,e]),re=({catalog:e,existingAuthoredContent:t,existingCompiledContent:n})=>{let r=new Set(c.r(e.authored).map(e=>c.a(e.message,e.context))),i=new Set(Object.keys(I(n)).filter(t=>!(t in e.compiled)&&r.has(t)));if(i.size===0)return null;let a=c.r(I(t)),o=new Set(a.map(L)),s=c.r(e.authored).filter(e=>i.has(c.a(e.message,e.context))&&!o.has(L(e)));return c.n([...a,...s])},R=e=>`${l.n}/${e}.json`,z=e=>`${l.t}/${e}.json`,B=async e=>await i.i(e)?await(0,_.readFile)(e,`utf8`):null,V=async({appPath:e,manifest:n,baseManifest:r,frontComponentSourcePaths:a})=>{let o=[],s=[],l={},d=n.translations;if(!P(d))return{writes:o,deletions:s,compiledEntryCountByLocale:l};let f=await N({manifest:n,frontComponentSourcePaths:a}),p=new Set(Object.keys(d)),m=P(r?.translations)?r.translations:{},h=d;for(let n of f){let{locale:r,authored:i,compiled:a}=n,c=Object.keys(a).length;c>0&&(l[r]=c);let u=R(r),d=z(r),f=await B((0,v.join)(e,u)),p=await B((0,v.join)(e,d)),g=r in m&&JSON.stringify(m[r])===JSON.stringify(h[r]),_=(Object.keys(i).length===0||t.zt(f))&&(c===0||t.zt(p)),y=g&&_?re({catalog:n,existingAuthoredContent:f,existingCompiledContent:p}):null;if(g&&_&&!t.zt(y))continue;let b=[{relativePath:u,content:F(y??i),isWanted:Object.keys(y??i).length>0,existingContent:f},{relativePath:d,content:F(a),isWanted:c>0,existingContent:p}];for(let{relativePath:e,content:n,isWanted:i,existingContent:a}of b){let c=t.zt(a);if(!i){c&&e===d&&s.push({universalIdentifier:r,relativePath:e});continue}a!==n&&o.push({kind:`translation`,requiredSdkExports:[],universalIdentifier:r,relativePath:e,content:n,isRegeneration:c})}}for(let[t,n]of Object.entries(m))if(!(p.has(t)||!c.t(t)||!u.n(n)))for(let n of[R(t),z(t)])await i.i((0,v.join)(e,n))&&s.push({universalIdentifier:t,relativePath:n});return{writes:o,deletions:s,compiledEntryCountByLocale:l}},H=async({appPath:e,baseManifest:n,writes:r,deletions:i,frontComponentSourcePaths:a,sourceFingerprints:o,baseEntities:s})=>{if(!t.zt(n))return[];let c=new Map(s.map(e=>[e.universalIdentifier,m.i({definer:e.definer,config:e.config,enumBindings:e.enumBindings}).content])),l=await V({appPath:e,manifest:n,baseManifest:null,frontComponentSourcePaths:a}),u=new Map(l.writes.map(e=>[e.relativePath,e.content])),d=new Set(l.deletions.map(({relativePath:e})=>e)),f=[];for(let{universalIdentifier:n,relativePath:a}of[...r.filter(e=>e.isRegeneration),...i]){let r=o?.[a];if(t.zt(r)){p.i(await(0,_.readFile)((0,v.join)(e,a)))!==r&&f.push({universalIdentifier:n,relativePath:a});continue}let i=c.get(n)??u.get(a);(d.has(a)||t.zt(i)&&await(0,_.readFile)((0,v.join)(e,a),`utf8`)!==i)&&f.push({universalIdentifier:n,relativePath:a})}return f},U=async({appPath:e,applicationExport:n,target:r,signal:i})=>{i.throwIfAborted();let a=p.n(r);if(await f.t({appPath:e,relativePaths:[p.r]}),!t.d(JSON.parse(await(0,_.readFile)((0,v.join)(e,`package.json`),`utf8`))))throw Error(`Pull requires a project with a package.json object.`);if(n.files.length>0)throw Error(`This CLI cannot reconcile exported source or dependency files.`);let o=await h.t({appPath:e,signal:i});if(t.zt(o.application)&&o.application.universalIdentifier.toLowerCase()!==n.application.universalIdentifier.toLowerCase())throw Error(`This project declares application ${o.application.universalIdentifier}, but the export belongs to ${n.application.universalIdentifier}. Pull it into a different directory.`);return i.throwIfAborted(),{applicationExport:n,target:a}},W=({entities:e,unreconciledUniversalIdentifiers:n})=>e.map(e=>{if(e.kind!==`application`||!t.d(e.config)||!(0,S.isString)(e.config.defaultRoleUniversalIdentifier)||!n?.has(e.config.defaultRoleUniversalIdentifier.toLowerCase()))return e;let{defaultRoleUniversalIdentifier:r,...i}=e.config;return{...e,config:i}}),G=({manifest:e,baseManifest:n,scannedFiles:r,unreconciledUniversalIdentifiers:i})=>{let a=new Map;for(let e of r)e.isReadable&&t.zt(e.universalIdentifier)&&a.set(e.universalIdentifier.toLowerCase(),e);let{entities:o,skipped:s}=m.n(e,a);return{entities:o,baseEntities:W({entities:t.zt(n)?m.n(n,a).entities:[],unreconciledUniversalIdentifiers:i}),skipped:s}},K=({entities:e,baseEntities:n,protectedIdentifiers:r,writes:i,deletions:a,scannedFiles:o})=>{let s=new Set;C({value:n,identifiers:s});let c=new Map(o.map(e=>{let t=new Set;return C({value:e.config,identifiers:t}),[e.relativePath.split(`\\`).join(`/`),t]})),l=new Map(e.map(e=>[e.universalIdentifier.toLowerCase(),e.config])),u=new Map(n.map(e=>[e.universalIdentifier.toLowerCase(),e])),d=[...i.filter(e=>e.kind!==`translation`&&e.isRegeneration),...a.flatMap(e=>{let n=u.get(e.universalIdentifier.toLowerCase());return t.zt(n)?[{...e,kind:n.kind}]:[]})],f=[],p=new Set,m;do{m=p.size;let e=new Map(c);for(let t of i){if(t.kind===`translation`||p.has(t.relativePath))continue;let n=new Set;C({value:l.get(t.universalIdentifier.toLowerCase()),identifiers:n}),e.set(t.relativePath,n)}for(let t of a)p.has(t.relativePath)||e.delete(t.relativePath);let n=new Set([...e.values()].flatMap(e=>[...e]));for(let e of d){if(p.has(e.relativePath)||e.kind===`translation`)continue;let i=[...c.get(e.relativePath)??[]].find(e=>!n.has(e)&&(r.has(e)||!s.has(e)));t.zt(i)&&(p.add(e.relativePath),f.push({kind:e.kind,universalIdentifier:e.universalIdentifier,reason:`preserving ${e.relativePath}, replacement would remove nested local definition ${i} without a confirmed remote deletion`}))}}while(p.size!==m);return{writes:i.filter(e=>!p.has(e.relativePath)),deletions:a.filter(e=>!p.has(e.relativePath)),skipped:f}},q=({manifest:e,baseManifest:n,unreconciledUniversalIdentifiers:r,protectedIdentifiers:i})=>{let a=e=>t.d(e)&&(0,S.isString)(e.universalIdentifier)?e.universalIdentifier.toLowerCase():void 0,o=(e,n)=>{let o=new Map(n.map(e=>[a(e),e])),c=e.filter(e=>{let n=a(e);return!t.zt(n)||!r.has(n)}).map(e=>{let n=a(e),r=o.get(n);return!t.zt(n)||!t.d(e)||!t.d(r)?e:s(e,r)}),l=new Set(c.map(a)),u=n.filter(e=>{let n=a(e);return t.zt(n)&&!l.has(n)&&(r.has(n)||i.has(n))});return[...c,...u]},s=(e,t)=>{let n={...e};for(let r of new Set([...Object.keys(e),...Object.keys(t??{})])){let i=e[r],a=t?.[r];if(!(0,S.isArray)(i)&&!(0,S.isArray)(a))continue;let s=o((0,S.isArray)(i)?i:[],(0,S.isArray)(a)?a:[]);((0,S.isArray)(i)||s.length>0)&&(n[r]=s)}return n},c={...e,...s(e,n)};return t.zt(n)&&r.has(e.application.universalIdentifier.toLowerCase())&&(c.application=n.application),c},J=/^[0-9a-f]{64}$/,Y=e=>t.d(e)&&Object.values(e).every(e=>(0,S.isString)(e)&&J.test(e)),ie=async({appPath:e,target:i,applicationUniversalIdentifier:a})=>{await f.t({appPath:e,relativePaths:[p.r]});let o=p.n(i);try{let r=JSON.parse(await(0,_.readFile)((0,v.join)(e,p.r),`utf8`));if(t.d(r)&&r.version===1)return{status:`unbound`,manifest:null};if(!t.d(r)||r.version!==2||!t.d(r.target)||!(0,S.isString)(r.target.apiUrl)||!(0,S.isString)(r.target.workspaceId)||!(0,S.isString)(r.applicationUniversalIdentifier)||!u.t(r.manifest)||r.applicationUniversalIdentifier.toLowerCase()!==r.manifest.application.universalIdentifier.toLowerCase()||t.zt(r.unreconciledUniversalIdentifiers)&&(!(0,S.isArray)(r.unreconciledUniversalIdentifiers)||!r.unreconciledUniversalIdentifiers.every(e=>(0,S.isString)(e)&&n.s(e)))||t.zt(r.sourceFingerprints)&&!Y(r.sourceFingerprints))return{status:`unreadable`,manifest:null};let i=p.n({apiUrl:r.target.apiUrl,workspaceId:r.target.workspaceId});return i.apiUrl!==o.apiUrl||i.workspaceId!==o.workspaceId||r.applicationUniversalIdentifier.toLowerCase()!==a.toLowerCase()?{status:`other-target`,manifest:null}:{status:`used`,manifest:r.manifest,unreconciledUniversalIdentifiers:r.unreconciledUniversalIdentifiers?.filter(S.isString).map(e=>e.toLowerCase()),sourceFingerprints:Y(r.sourceFingerprints)?r.sourceFingerprints:void 0}}catch(e){return{status:r.r(e,`ENOENT`)?`missing`:`unreadable`,manifest:null}}},X=e=>e,ae=({appPath:e,writes:n})=>{let i=new Set(n.flatMap(e=>e.requiredSdkExports));if(i.size===0)return;let a=(0,y.createRequire)((0,v.join)(e,`package.json`))(`twenty-sdk/define`),o=[...i].filter(e=>!t.zt(a[e])).sort();if(o.length>0)throw new r.t({code:`SDK_SOURCE_UNSUPPORTED`,message:`The app's twenty-sdk cannot read the generated definitions. Missing exports: ${o.join(`, `)}.`,hint:`Upgrade the app to a compatible twenty-sdk version (2.40.0 or later).`,details:{missingNames:o}})},oe=`.twenty/cli`,se=async({appPath:e,writes:t,deletions:n})=>{let r=t.map(e=>e.relativePath);if(new Set(r).size!==r.length)throw Error(`Refusing to write: two entities resolved to the same file path`);let a=(0,v.resolve)(e);for(let t of[...r,...n.map(e=>e.relativePath)]){let n=(0,v.relative)(a,(0,v.resolve)(a,t));if(n.length===0||n===`..`||n.startsWith(`..${v.sep}`)||(0,v.isAbsolute)(n))throw Error(`Refusing to write: ${t} leaves the application directory`);let r=(0,v.join)(e,t);if(await i.i(r)&&(await(0,_.lstat)(r)).isDirectory())throw Error(`Refusing to write: ${t} is a directory, and pull never deletes a folder`)}},ce=async({appPath:e,backupDirectory:t,relativePath:n})=>{let r=(0,v.join)(e,n);if(!await i.i(r))return!1;let a=(0,v.join)(t,n);return await i.r((0,v.dirname)(a)),await i.t(r,a),!0},le=async({appPath:e,backupDirectory:t,backedUpRelativePaths:n,writtenRelativePaths:r})=>{for(let t of r)await(0,_.rm)((0,v.join)(e,t),{force:!0});for(let r of n){let n=(0,v.join)(e,r);await i.r((0,v.dirname)(n)),await(0,_.rm)(n,{force:!0}),await i.t((0,v.join)(t,r),n)}},ue=async({appPath:e,writes:t,deletions:n,finalWrite:a,signal:o})=>{let s=a?[...t,a]:t;o?.throwIfAborted(),await se({appPath:e,writes:s,deletions:n});let c=(0,v.join)(e,oe);await i.r(c);let l=await(0,_.mkdtemp)((0,v.join)(c,`pull-staging-`)),u=await(0,_.mkdtemp)((0,v.join)(c,`pull-backup-`)),d=[],f=[];try{for(let e of s){let t=(0,v.join)(l,e.relativePath);await i.r((0,v.dirname)(t)),await(0,_.writeFile)(t,e.content,e===a?{mode:384}:void 0)}for(let t of[...s.map(e=>e.relativePath),...n.map(e=>e.relativePath)])await ce({appPath:e,backupDirectory:u,relativePath:t})&&d.push(t);o?.throwIfAborted();for(let n of t){let t=(0,v.join)(e,n.relativePath);await i.r((0,v.dirname)(t)),f.push(n.relativePath),await i.t((0,v.join)(l,n.relativePath),t)}for(let t of n)await(0,_.rm)((0,v.join)(e,t.relativePath),{force:!0});if(a){let t=(0,v.join)(e,a.relativePath);await i.r((0,v.dirname)(t)),f.push(a.relativePath),await i.t((0,v.join)(l,a.relativePath),t)}}catch(t){try{await le({appPath:e,backupDirectory:u,backedUpRelativePaths:d,writtenRelativePaths:f.filter(e=>!d.includes(e))})}catch(e){throw await i.s(l).catch(()=>void 0),new r.t({code:`PULL_FAILED`,details:{outcome:`unknown`,backupDirectory:u},message:`Pull failed and could not restore every file it had replaced. The originals are kept in ${u}.\nOriginal failure: ${t instanceof Error?t.message:String(t)}\nRestore failure: ${e instanceof Error?e.message:String(e)}`})}throw await i.s(l),await i.s(u),o?.aborted&&Object.is(t,o.reason)?t:new r.t({code:`PULL_FAILED`,message:t instanceof Error?t.message:String(t),details:{outcome:`unchanged`}})}try{await i.s(l),await i.s(u)}catch(e){throw new r.t({code:`PULL_FAILED`,message:`Pull completed, but temporary files could not be removed: ${e instanceof Error?e.message:String(e)}`,details:{outcome:`pulled`,backupDirectory:u,stagingDirectory:l}})}},de=[`nameSingular`,`name`,`label`,`title`],fe=e=>{let n={},r=[{value:e}];for(;r.length>0;){let e=r.pop();if(!t.zt(e))break;let{value:i,parentLabel:a}=e;if(Array.isArray(i)){for(let e of[...i].reverse())r.push({value:e,parentLabel:a});continue}if(!t.d(i))continue;let o=de.map(e=>i[e]).find(S.isNonEmptyString),s=t.zt(o)&&t.zt(a)?`${a}.${o}`:o??a;t.zt(o)&&t.zt(s)&&(0,S.isNonEmptyString)(i.universalIdentifier)&&(n[i.universalIdentifier]=s);for(let e of Object.values(i).reverse())r.push({value:e,parentLabel:s})}return n},pe=e=>{let n=new Map;for(let t of e){let e=`${t.defaultFolder}/${t.fileBaseName}${t.fileSuffix}`,r=n.get(e)??[];r.push(t),n.set(e,r)}let r=new Map;for(let e of n.values()){if(e.length===1){r.set(e[0].universalIdentifier,e[0].fileBaseName);continue}let n=e.map(e=>t.zt(e.parentName)?m.r(`${g.t(e.parentName)}-${e.fileBaseName}`):e.fileBaseName),i=new Map;for(let e of n)i.set(e,(i.get(e)??0)+1);e.forEach((e,t)=>{let a=n[t],o=i.get(a)===1;r.set(e.universalIdentifier,o?a:m.r(`${e.universalIdentifier.slice(0,8)}-${a}`))})}return r},Z=e=>e.toLowerCase(),Q=e=>e.split(`\\`).join(`/`),me=({scannedFiles:e,entityKey:t})=>{let n=new Map;for(let r of e){if(r.entityKey!==t)continue;let e=Q((0,v.dirname)(r.relativePath));n.set(e,(n.get(e)??0)+1)}return[...n.entries()].sort(([e,t],[n,r])=>r-t||e.localeCompare(n))[0]?.[0]??null},$=({folder:e,fileBaseName:t,fileSuffix:n,universalIdentifier:r,takenRelativePaths:i})=>{let a=r.slice(0,8),o=[t,`${a}-${t}`,...Array.from({length:100},(e,n)=>`${a}-${t}-${n+2}`)];for(let t of o){let r=v.posix.join(e,`${t}${n}`);if(!i.has(Z(r)))return r}throw Error(`Could not find a free file name for ${r} in ${e}`)},he=({entity:e,applicationFile:t,scannedFileByUniversalIdentifier:n})=>e.kind===`application`?t:n.get(e.universalIdentifier.toLowerCase()),ge=({entities:e,baseEntities:n,scannedFiles:r,workspaceUniversalIdentifiers:i,unreconciledUniversalIdentifiers:a})=>{let o=new Set(e.map(e=>e.universalIdentifier.toLowerCase())),s=new Map(n.map(e=>[e.universalIdentifier,JSON.stringify(e.config)])),c=pe(e),l=new Map,d=r.find(e=>e.entityKey===`application`);for(let e of r)t.zt(e.universalIdentifier)&&l.set(e.universalIdentifier.toLowerCase(),e);let f=[],p=[],h=new Set,g=new Set(r.map(e=>Z(Q(e.relativePath))));for(let n of e){let e=he({entity:n,applicationFile:d,scannedFileByUniversalIdentifier:l}),i=t.zt(e)?Q(e.relativePath):void 0,_=me({scannedFiles:r,entityKey:u.r[n.kind]})??n.defaultFolder,v=c.get(n.universalIdentifier)??n.fileBaseName,y=i??$({folder:_,fileBaseName:v,fileSuffix:n.fileSuffix,universalIdentifier:n.universalIdentifier,takenRelativePaths:g});h.add(y),g.add(Z(y));let b=s.get(n.universalIdentifier),x=new Set,S=new Set;C({value:e?.config,identifiers:x}),C({value:n.config,identifiers:S});let w=[...x].some(e=>!S.has(e)&&o.has(e));if(t.zt(e)&&e.targetFunctionName===n.definer&&!w&&!a?.has(n.universalIdentifier.toLowerCase())&&t.zt(b)&&b===JSON.stringify(n.config)){p.push(n);continue}f.push({kind:n.kind,universalIdentifier:n.universalIdentifier,relativePath:y,...m.i({definer:n.definer,config:n.config,enumBindings:n.enumBindings}),isRegeneration:t.zt(i)})}let _=[];for(let e of s.keys()){if(o.has(e.toLowerCase()))continue;let n=l.get(e.toLowerCase()),r=t.zt(n)?Q(n.relativePath):void 0;!t.zt(r)||h.has(r)||_.push({universalIdentifier:e,relativePath:r})}return{writes:f,unchanged:p,deletions:_,localOnlyRelativePaths:r.filter(e=>t.zt(e.universalIdentifier)&&!o.has(e.universalIdentifier.toLowerCase())&&!s.has(e.universalIdentifier)&&!i.has(e.universalIdentifier)&&!h.has(Q(e.relativePath))).map(e=>Q(e.relativePath))}},_e=async({appPath:e,includeConfig:n=!1,signal:i})=>{i.throwIfAborted();let a=await o.t(e),c=[];for(let o of a){i.throwIfAborted();let a=(0,v.relative)(e,o),l;try{l=await(0,_.readFile)(o,`utf-8`)}catch{c.push({relativePath:a,entityKey:null,targetFunctionName:null,universalIdentifier:null,isReadable:!1});continue}let u=s.r(l);if(!t.zt(u)){c.push({relativePath:a,entityKey:null,targetFunctionName:null,universalIdentifier:null,isReadable:!0});continue}let d=s.n[u],f={},p=!0;try{f=(await s.t({appPath:e,filePath:o})).config}catch(e){if(e instanceof r.t&&e.code===`SDK_SOURCE_UNSUPPORTED`)throw e;f={},p=!1}c.push({relativePath:a,entityKey:d,targetFunctionName:u,universalIdentifier:(0,S.isString)(f.universalIdentifier)?f.universalIdentifier:null,isReadable:p,...n?{config:f}:{}})}return i.throwIfAborted(),c},ve=({sourceFingerprints:e={},writes:t,deletions:n})=>{let r=new Set(n.map(e=>e.relativePath));return{...Object.fromEntries(Object.entries(e).filter(([e])=>!r.has(e))),...Object.fromEntries(t.map(e=>[e.relativePath,p.i(e.content)]))}},ye=async e=>{let{appPath:n,signal:i}=e;try{let{applicationExport:r,target:a}=await U(e),o=X(r.manifest),s=await ie({appPath:n,target:a,applicationUniversalIdentifier:r.application.universalIdentifier}),c=t.zt(s.manifest)?X(s.manifest):null,l=await _e({appPath:n,includeConfig:!0,signal:i}),u=new Set(s.unreconciledUniversalIdentifiers),{entities:d,baseEntities:m,skipped:h}=G({manifest:o,baseManifest:c,scannedFiles:l,unreconciledUniversalIdentifiers:u});i?.throwIfAborted();let g=ge({entities:d,baseEntities:m,scannedFiles:l,workspaceUniversalIdentifiers:new Set(r.coverage.map(e=>e.universalIdentifier)),unreconciledUniversalIdentifiers:u}),_=new Set;C({value:o,identifiers:_}),C({value:r.coverage,identifiers:_});let y=l.filter(e=>e.entityKey===`frontComponents`).map(e=>(0,v.join)(n,e.relativePath)),b=await V({appPath:n,manifest:o,baseManifest:c,frontComponentSourcePaths:y}),x=K({entities:d,baseEntities:m,protectedIdentifiers:_,writes:g.writes,deletions:g.deletions.filter(e=>!_.has(e.universalIdentifier.toLowerCase())),scannedFiles:l}),S=[...x.writes,...b.writes],w=[...x.deletions,...b.deletions.filter(e=>t.zt(c?.translations)&&e.universalIdentifier in c.translations)],T=[...h,...x.skipped],E=new Set(T.map(e=>e.universalIdentifier.toLowerCase())),D=p.t({target:a,manifest:q({manifest:r.manifest,baseManifest:s.manifest,unreconciledUniversalIdentifiers:E,protectedIdentifiers:_}),unreconciledUniversalIdentifiers:[...E],sourceFingerprints:ve({sourceFingerprints:s.sourceFingerprints,writes:S,deletions:w})});await f.t({appPath:n,relativePaths:[...S.map(e=>e.relativePath),...w.map(e=>e.relativePath),D.relativePath]});let O=await H({appPath:n,baseManifest:c,writes:S,deletions:w,frontComponentSourcePaths:y,baseEntities:m,sourceFingerprints:s.sourceFingerprints}),k=fe(o);return ae({appPath:n,writes:S}),i?.throwIfAborted(),await ue({appPath:n,writes:S,deletions:w,finalWrite:D,signal:i}),{success:!0,data:{application:{universalIdentifier:r.application.universalIdentifier,displayName:r.application.displayName},base:{status:s.status},writes:S.map(({content:e,requiredSdkExports:t,...n})=>n),deletions:w,overwrittenLocalChanges:O,unchangedCount:g.unchanged.length,localOnlyRelativePaths:g.localOnlyRelativePaths,unreadableRelativePaths:l.filter(e=>!e.isReadable).map(e=>e.relativePath),skipped:T,compiledTranslationEntryCountByLocale:b.compiledEntryCountByLocale,entityLabelByUniversalIdentifier:k},diagnostics:[]}}catch(e){return{success:!1,error:{code:i?.aborted&&Object.is(e,i.reason)?`CANCELLED`:e instanceof r.t?e.code:`PULL_FAILED`,message:e instanceof Error?e.message:String(e),...a.t(e),details:{outcome:`unchanged`,...e instanceof r.t?e.details:{}}},diagnostics:[]}}},be=async e=>{try{let n=e.applicationExport,r=t.d(n)&&t.d(n.application)&&(0,S.isString)(n.application.universalIdentifier)?n.application.universalIdentifier:``;return await ye({...e,applicationExport:d.t({value:n,universalIdentifier:r})})}finally{await(0,b.stop)()}};exports.pullSource=be;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./application-DuIJE2qG.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./resolve-source-sdk-mK-f4q55.cjs"),a=require("./create-cancelled-error-DgrNfOv2.cjs"),o=require("./to-worker-output-diagnostics-lprh9b0l.cjs");var s=e.t(),c=e=>{if(!t.d(e))return;if((0,s.isNull)(e.application))return{data:{application:null}};let r=e.application;if(!(!t.d(r)||!(0,s.isString)(r.universalIdentifier)||!n.s(r.universalIdentifier)||!(0,s.isString)(r.displayName)&&!(0,s.isNull)(r.displayName)))return{data:{application:{universalIdentifier:r.universalIdentifier,displayName:r.displayName}}}},l=async({appPath:e,signal:t})=>{t.throwIfAborted();let n=await i.t({appPath:e}),s=await o.n({request:{type:`readSourceIdentity`,appPath:e},signal:t});if(t.aborted)throw a.t();let l=o.o({value:s.result,parseData:c}),u=[...l.diagnostics,...o.t(s.output)];if(!l.success)throw new r.t({code:l.error.code===`SDK_SOURCE_UNSUPPORTED`?`SDK_SOURCE_UNSUPPORTED`:`IDENTITY_READ_FAILED`,message:l.error.message,hint:l.error.hint??(l.error.code===`SDK_SOURCE_UNSUPPORTED`?`Use the SDK define functions, rename local helpers with the same names, or install a compatible twenty-sdk version.`:void 0),details:{...l.error.details,sdkVersion:n.version,diagnostics:u}});return{...l.data,diagnostics:u}};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./utils-B8EXJeaX-DK3gCslL.cjs"),r=require("./is-inside-directory-t3ixLQDr.cjs"),i=require("./cli-error-CSsayo0u.cjs"),a=require("./list-application-source-files-jEau5Rie.cjs"),o=require("./constants-Cf5-CwMu.cjs"),s=require("./is-same-universal-identifier-BCBib3RP.cjs"),c=require("./assert-pull-paths-BuQ1ZRvQ.cjs"),l=require("./create-pull-base-write-rxjcKtD-.cjs"),u=require("./parse-api-url-BllxRdpE.cjs"),d=require("./resolve-request-url-jC5kYwkn.cjs"),f=require("./create-cancelled-error-DgrNfOv2.cjs"),p=require("./is-interaction-allowed-ycbAFMIj.cjs"),m=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),h=require("./require-approval-fhegB1ap.cjs"),g=require("./to-cli-error-BBYf_wqo.cjs"),_=require("./get-app-plan-summary-B0uwHXbO.cjs"),v=require("./create-metadata-client-ChjDalSi.cjs"),y=require("./create-tooling-failure-DLI5FlQP.cjs"),b=require("./fetch-workspace-id-DJStmf_V.cjs");let x=require("node:crypto"),S=require("node:fs/promises"),C=require("node:path"),w=require("node:fs"),T=require("tinyglobby");var E=new Set([`AUTH_REQUIRED`,`PERMISSION_DENIED`]),D=new Set([`SNAPSHOT_INVALID`,`TOOLING_UNSUPPORTED`]),O=({phase:e,code:t,upload:n})=>e===`build`||e===`preview`||e===`confirmation`?`not-started`:e===`upload`&&n.fileCount>0?`partial`:e===`upload`&&n.hasCreatedTargets?`unknown`:E.has(t)||D.has(t)?`not-started`:`unknown`,k=({phase:e,outcome:t})=>t===`not-started`?`Fix the problem, then run twenty app apply again. It rebuilds the app and requests a fresh plan.`:`The ${e} step may have changed the workspace. Run twenty app plan to see where it stands before applying again.`,A=({error:e,phase:t,completedPhases:n,upload:r,signal:i})=>{let a=g.t(e,i),o=O({phase:t,code:a.code,upload:r});return h.n({error:a,phase:t,outcome:o,completedPhases:n,hint:k({phase:t,outcome:o})})},j=e.t(),M=async({application:e,target:n,signal:r})=>{let a=(await v.t({target:n,signal:r}).mutation({__name:`InstallDevelopmentApplication`,createDevelopmentApplication:{__args:{universalIdentifier:e.universalIdentifier,name:e.displayName},id:!0,universalIdentifier:!0}}))?.createDevelopmentApplication;if(!t.d(a)||!(0,j.isNonEmptyString)(a.id)||!s.t({value:a.universalIdentifier,universalIdentifier:e.universalIdentifier}))throw new i.t({code:`INVALID_RESPONSE`,message:`The server returned an invalid development installation.`});return{applicationId:a.id}},ee=async({application:e,target:n,signal:r})=>{let a=(await v.t({target:n,signal:r}).mutation({__name:`RegisterApplication`,createApplicationRegistration:{__args:{input:{name:e.displayName,universalIdentifier:e.universalIdentifier}},applicationRegistration:{id:!0,universalIdentifier:!0}}}))?.createApplicationRegistration,o=t.d(a)?a.applicationRegistration:void 0;if(!t.d(o)||!(0,j.isNonEmptyString)(o.id)||!s.t({value:o.universalIdentifier,universalIdentifier:e.universalIdentifier}))throw new i.t({code:`INVALID_RESPONSE`,message:`The server returned an invalid application registration.`});return{registrationId:o.id}},N=({build:e,appPath:n})=>{if(!t.zt(e.directory))throw new i.t({code:`SNAPSHOT_INVALID`,message:`The build did not report its snapshot directory, so the CLI cannot upload it.`});if(!r.t({filePath:e.directory,directory:(0,C.join)(n,`.twenty`,`cli`,`snapshots`)}))throw new i.t({code:`SNAPSHOT_INVALID`,message:`The build snapshot ${e.directory} is outside the app's .twenty/cli/snapshots folder.`,details:{directory:e.directory}});return e.directory},P=e=>{if(!(e instanceof i.t)||!t.d(e.details))return e;let{body:n,...r}=e.details;return new i.t({code:e.code,exitCode:e.exitCode,message:e.message,hint:e.hint,details:{...r,data:null}})},F=({value:e,applicationUniversalIdentifier:t})=>{try{return _.a({value:e,applicationUniversalIdentifier:t})}catch(e){if(e instanceof i.t)return;throw e}},I=async({build:e,inferDeletionFromMissingEntities:n,target:r,signal:a})=>{let o=e.application.universalIdentifier,c=(await v.t({target:r,signal:a}).mutation({__name:`SyncApplication`,syncApplication:{__args:{manifest:e.manifest,inferDeletionFromMissingEntities:n},applicationUniversalIdentifier:!0,actions:!0}}).catch(e=>{throw P(e)}))?.syncApplication;if(!t.d(c)||!(0,j.isString)(c.applicationUniversalIdentifier)||!s.t({value:c.applicationUniversalIdentifier,universalIdentifier:o}))throw new i.t({code:`INVALID_RESPONSE`,message:`The server did not confirm the sync of ${o}.`});return{actions:F({value:c,applicationUniversalIdentifier:o}),acknowledgedUniversalIdentifier:c.applicationUniversalIdentifier}},L={UPLOAD_CONCURRENCY:4,UPLOAD_TIMEOUT_MILLISECONDS:3e5},te={"built-logic-function":`BuiltLogicFunction`,"built-front-component":`BuiltFrontComponent`,source:`Source`,dependencies:`Dependencies`,"public-asset":`PublicAsset`},ne=async({uploadUrl:e,contentType:n,bytes:r,signal:a})=>{let o=URL.parse(e);if(!t.zt(o)||!u.r.includes(o.protocol))throw new i.t({code:`INVALID_RESPONSE`,message:`The server returned an upload URL the CLI cannot use.`});let s=await d.c(o,{method:`PUT`,headers:{"Content-Type":n},body:r,redirect:`manual`,signal:AbortSignal.any([a,AbortSignal.timeout(L.UPLOAD_TIMEOUT_MILLISECONDS)])});return await s.body?.cancel().catch(()=>void 0),s.status};async function*R(e){let t=e.stream().getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}var z=({message:e,path:t})=>new i.t({code:`SNAPSHOT_INVALID`,message:e,hint:`Build again. If it keeps happening, check that nothing else writes to the snapshot directory.`,details:{path:t}}),B=async({snapshotDirectory:e,artifact:t})=>{let n=(0,C.resolve)(e,t.path);if(!r.t({filePath:n,directory:e}))throw z({message:`The build lists a file outside its snapshot: ${t.path}`,path:t.path});let i=await(0,w.openAsBlob)(n),a=(0,x.createHash)(`sha256`);try{for await(let e of R(i))a.update(e)}catch(e){throw e instanceof DOMException&&e.name===`NotReadableError`?z({message:`${t.path} changed after the build.`,path:t.path}):e}let o=a.digest(`hex`);if(i.size!==t.size||o!==t.sha256)throw z({message:`${t.path} changed after the build.`,path:t.path});return i},V=()=>new i.t({code:`INVALID_RESPONSE`,message:`The server returned an invalid file upload response.`}),H=e=>t.d(e)&&(0,j.isNonEmptyString)(e.fileId)&&(0,j.isNonEmptyString)(e.filePath)&&(0,j.isNonEmptyString)(e.uploadUrl)&&(0,j.isNonEmptyString)(e.contentType),U=({value:e,idKey:n})=>{if(!(0,j.isArray)(e))throw V();return e.map(e=>{let r=t.d(e)?e[n]:void 0;if(!t.d(e)||!(0,j.isNonEmptyString)(r))throw V();return{id:r,message:(0,j.isNonEmptyString)(e.message)?e.message:`The server refused this file.`}})},W=e=>{let n=te[e.role];if(!t.zt(n))throw new i.t({code:`TOOLING_UNSUPPORTED`,message:`The build contains a ${e.role} file, which the CLI cannot upload.`,details:{path:e.path,role:e.role}});return{fileFolder:n,filePath:e.path,size:e.size}},G=async({items:e,run:n})=>{let r=0,i,a=async()=>{if(r>=e.length||t.zt(i))return;let o=e[r];r+=1;try{await n(o)}catch(e){i??={error:e}}await a()};if(await Promise.all(Array.from({length:Math.min(L.UPLOAD_CONCURRENCY,e.length)},a)),t.zt(i))throw i.error},K=async({artifacts:e,context:n})=>{let r=(await v.t({target:n.target,signal:n.signal}).mutation({__name:`CreateApplicationFileUploads`,createApplicationFileUploads:{__args:{applicationUniversalIdentifier:n.applicationUniversalIdentifier,files:e.map(W)},targets:{fileId:!0,filePath:!0,uploadUrl:!0,contentType:!0},errors:{filePath:!0,message:!0}}}))?.createApplicationFileUploads;if(!t.d(r)||!(0,j.isArray)(r.targets)||!r.targets.every(H))throw V();n.progress.hasCreatedTargets=!0;let i=U({value:r.errors,idKey:`filePath`}),a=new Set([...r.targets.map(e=>e.filePath),...i.map(({id:e})=>e)]);return{uploadTargets:r.targets,failures:[...i.map(({id:e,message:t})=>({path:e,message:t})),...e.filter(e=>!a.has(e.path)).map(e=>({path:e.path,message:`The server did not accept this file.`}))]}},q=async({uploadTargets:e,artifactByPath:n,context:r,failures:a})=>{let o=[];return await G({items:e,run:async e=>{let s=n.get(e.filePath);if(!t.zt(s)){a.push({path:e.filePath,message:`The server asked for a file this build does not have.`});return}let c=await B({snapshotDirectory:r.snapshotDirectory,artifact:s});try{let t=await ne({uploadUrl:e.uploadUrl,contentType:e.contentType,bytes:c,signal:r.signal});if(t<200||t>=300){a.push({path:s.path,message:`File storage answered ${t}.`});return}o.push(e)}catch(e){if(r.signal.aborted||e instanceof i.t)throw e;a.push({path:s.path,message:e instanceof Error?e.message:String(e)})}}}),o},J=async({sentTargets:e,artifactByPath:r,context:i,failures:a})=>{if(!n.r(e))return;let o=(await v.t({target:i.target,signal:i.signal}).mutation({__name:`CompleteApplicationFileUploads`,completeApplicationFileUploads:{__args:{applicationUniversalIdentifier:i.applicationUniversalIdentifier,fileIds:e.map(e=>e.fileId)},errors:{fileId:!0,message:!0}}}))?.completeApplicationFileUploads;if(!t.d(o))throw V();let s=U({value:o.errors,idKey:`fileId`}),c=new Set(s.map(({id:e})=>e)),l=new Map(e.map(e=>[e.fileId,e.filePath]));a.push(...s.map(({id:e,message:t})=>({path:l.get(e)??e,message:t})));for(let t of e)c.has(t.fileId)||(i.progress.fileCount+=1,i.progress.byteCount+=r.get(t.filePath)?.size??0)},Y=async({build:e,snapshotDirectory:t,target:r,signal:a,progress:o})=>{e.files.forEach(W);for(let n of e.files)await B({snapshotDirectory:t,artifact:n});let s={applicationUniversalIdentifier:e.application.universalIdentifier,snapshotDirectory:t,target:r,signal:a,progress:o},c=new Map(e.files.map(e=>[e.path,e])),l=[];for(let t=0;t<e.files.length;t+=100){let{uploadTargets:n,failures:r}=await K({artifacts:e.files.slice(t,t+100),context:s});l.push(...r),await J({sentTargets:await q({uploadTargets:n,artifactByPath:c,context:s,failures:l}),artifactByPath:c,context:s,failures:l})}if(n.r(l))throw new i.t({code:`UPLOAD_FAILED`,message:`${l.length} of ${e.files.length} files could not be uploaded.`,details:{failures:l}})},X=e=>e instanceof i.t&&e.code===`PLAN_UNAVAILABLE`,re=async({build:e,appPath:t,context:{target:n,signal:r,output:i,outputMode:a,options:o},inferDeletionFromMissingEntities:s,isCreationApproved:c,isDeletionApproved:l,approvalSignal:u,beforeWrite:d,flushProgress:f})=>{let m=[`build`],g={fileCount:0,byteCount:0,hasCreatedTargets:!1},v=p.t({options:o,outputMode:a}),y=e.application,b=(e,t)=>A({error:e,phase:t,completedPhases:m,upload:g,signal:r}),x=async(e,t)=>{if(await f?.().catch(e=>{throw b(e,`confirmation`)}),[`registration`,`installation`,`upload`,`sync`].includes(e))try{d?.()}catch(e){throw b(e,`confirmation`)}try{let n=await t();return m.push(e),n}catch(t){throw b(t,e)}},S=async e=>(await f?.().catch(e=>{throw b(e,`confirmation`)}),h.t({...e,canPrompt:v,declinedMessage:`Apply stopped at the confirmation prompt.`,signal:u??r}).then(()=>u?.throwIfAborted()).catch(e=>{throw b(e,`confirmation`)})),C=()=>_.i({build:e,inferDeletionFromMissingEntities:s,target:n,signal:r}),w=async()=>{try{let e=await C();return m.push(`preview`),{actions:e,isRegistrationCreated:!1}}catch(e){if(!X(e))throw b(e,`preview`)}return await S({isApproved:c,question:`${y.displayName} is not registered. Register it and install it on ${n.apiUrl}?`,code:`CREATE_REQUIRED`,message:`${y.displayName} has no registration yet. Applying it would create one.`,hint:`Run twenty app apply --create to register it and install it in this workspace.`}),i.progress(`Registering the app…`),await x(`registration`,()=>ee({application:y,target:n,signal:r})),i.progress(`Installing the development app…`),await x(`installation`,()=>M({application:y,target:n,signal:r})),i.progress(`Computing metadata plan…`),{actions:await x(`preview`,C),isRegistrationCreated:!0}},T=N({build:e,appPath:t});i.progress(`Computing metadata plan on ${n.apiUrl}…`);let{actions:E,isRegistrationCreated:D}=await w(),O=_.t(E);if(a===`human`&&i.progress(_.r({actions:E,summary:O,inferDeletionFromMissingEntities:s,stream:process.stderr})),O.destructive>0){let e=O.destructive===1?`object or field deletion that permanently deletes`:`object or field deletions that permanently delete`;await S({isApproved:l,question:`Apply ${O.destructive} ${e} stored data on ${n.apiUrl}?`,code:`CONFIRMATION_REQUIRED`,message:`The plan includes ${O.destructive} ${e} stored data.`,hint:`Review it with twenty app plan, then pass --yes to apply it, or --no-delete to keep entities missing from source.`})}D||await x(`installation`,()=>M({application:y,target:n,signal:r})),i.progress(`Uploading ${e.files.length} ${e.files.length===1?`file`:`files`}…`),await x(`upload`,()=>Y({build:e,snapshotDirectory:T,target:n,signal:r,progress:g})),i.progress(`Synchronizing the app…`);let{actions:k,acknowledgedUniversalIdentifier:j}=await x(`sync`,()=>I({build:e,inferDeletionFromMissingEntities:s,target:n,signal:r}));return{completedPhases:m,isRegistrationCreated:D,appliedActions:k,acknowledgedUniversalIdentifier:j,upload:g}},ie={pullBase:{cancelledMessage:`recording its pull base was cancelled`,failedMessage:`its pull base was not recorded`,hint:`The workspace already has this version of the app. Any previous pull base was kept. The typed API client was not regenerated. Review twenty app plan before retrying twenty app apply, which repeats the sync before recording the base and regenerating the client.`},clientGeneration:{cancelledMessage:`generating its typed API client was cancelled`,failedMessage:`its typed API client was not regenerated`,hint:`The workspace already has this version of the app, but the client files in node_modules/twenty-client-sdk may be incomplete. Fix the problem, then run twenty app apply again: it requests a fresh plan, uploads and syncs before regenerating the client. twenty app plan shows what that sync would change.`}},ae=({error:e,phase:t,applicationName:n,apiUrl:r,completedPhases:a,signal:o})=>{let s=g.t(e,o),c=ie[t],l=s.code===`CANCELLED`?`${n} was applied to ${r}, but ${c.cancelledMessage}.`:`${n} was applied to ${r}, but ${c.failedMessage}: ${s.message}`;return h.n({error:new i.t({code:s.code,exitCode:s.exitCode,message:l,hint:[c.hint,s.hint].filter(j.isNonEmptyString).join(` `),details:s.details}),phase:t,outcome:`applied`,completedPhases:a,hint:c.hint})},Z=async({applicationUniversalIdentifier:e,context:{target:t,signal:n,output:r}})=>{r.progress(`Fetching the application schema…`);let a=(await v.t({target:t,signal:n}).query({__name:`ApplicationCoreGraphqlSchema`,applicationCoreGraphqlSchema:{__args:{applicationUniversalIdentifier:e}}}))?.applicationCoreGraphqlSchema;if(!(0,j.isNonEmptyString)(a)||a.trim().length===0)throw new i.t({code:`INVALID_RESPONSE`,message:`The server did not return an application GraphQL schema.`});return a},Q=async({appPath:e,schema:t,sdk:n,context:{signal:r,output:i,outputMode:a}})=>{i.progress(`Generating the typed API client…`);let o=await m.n({request:{type:`generateSourceClient`,appPath:e,schema:t},signal:r}),s=m.o({value:o.result,parseData:m.a}),c=[...s.diagnostics,...m.t(o.output)];if(a===`human`)for(let e of c)i.progress(m.s(e));if(!s.success)throw y.t({error:s.error,diagnostics:c,sdkVersion:n.version,operation:`generateClient`});return r.throwIfAborted(),c},oe=async e=>Q({...e,schema:await Z(e)}),$=async({appPath:e})=>{if(await(0,S.lstat)((0,C.join)(e,`node_modules`,`twenty-client-sdk`)).then(()=>!1,e=>i.r(e,`ENOENT`)))return`twenty-client-sdk is not installed in the app's own node_modules.`},se=async e=>{let t=await(0,T.glob)([`${o.n}/*.json`,`${o.t}/*.json`],{cwd:e,absolute:!0,onlyFiles:!0}),n={};for(let r of[...await a.t(e),...t.sort()])n[(0,C.relative)(e,r).split(C.sep).join(`/`)]=l.i(await(0,S.readFile)(r));return n},ce=async({appPath:e,manifest:t,target:n,sourceFingerprints:r,signal:a})=>{let o=(0,C.join)(e,l.r),s=`${o}.${(0,x.randomUUID)()}.tmp`,u;try{a.throwIfAborted(),await c.t({appPath:e,relativePaths:[l.r]}),await(0,S.mkdir)((0,C.dirname)(o),{recursive:!0}),u=await(0,S.open)(s,`wx`,384),await u.writeFile(l.t({manifest:t,target:n,sourceFingerprints:r}).content),await u.sync(),await u.close(),await c.t({appPath:e,relativePaths:[l.r]}),a.throwIfAborted(),await(0,S.rename)(s,o)}catch(e){throw await u?.close().catch(()=>void 0),await(0,S.rm)(s,{force:!0}).catch(()=>void 0),a.aborted&&Object.is(e,a.reason)?e:new i.t({code:`PULL_BASE_RECORD_FAILED`,message:e instanceof Error?e.message:String(e)})}},le=async({appPath:e,universalIdentifier:t,sourceFingerprints:n,context:{target:r,signal:i,output:a}})=>{a.progress(`Recording the pull base…`);try{let a=await b.t({target:r,signal:i});return await ce({appPath:e,manifest:(await b.n({universalIdentifier:t,target:r,signal:i})).manifest,target:{apiUrl:r.apiUrl,workspaceId:a},sourceFingerprints:n,signal:i}),`recorded`}catch(e){if(i.aborted)throw f.t();let t=g.t(e);return t.code===`APP_EXPORT_UNSUPPORTED`?`unsupported`:(a.warn({code:`PULL_BASE_NOT_RECORDED`,message:`The app was applied, but its pull base was not updated: ${t.message} Any previous base was kept. A later pull may report changes from this apply as remote changes.`}),`failed`)}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return R}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./cli-error-CSsayo0u.cjs"),t=require("./confirm-in-terminal-BxEM5lxE.cjs");var n=({error:t,phase:n,outcome:r,completedPhases:i,hint:a})=>new e.t({cause:t,code:t.code,exitCode:t.exitCode,message:t.message,hint:t.hint??a,details:{...t.details,phase:n,outcome:r,completedPhases:[...i]}}),r=async({isApproved:n,canPrompt:r,question:i,code:a,message:o,hint:s,declinedMessage:c,signal:l})=>{if(!n){if(!r)throw new e.t({code:a,exitCode:e.n.USAGE,message:o,hint:s});if(!await t.t({question:i,signal:l}))throw new e.t({code:`CONFIRMATION_DECLINED`,exitCode:e.n.USAGE,message:c})}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./is-inside-directory-t3ixLQDr.cjs"),r=require("./has-yarn-plug-and-play-X3ay5Xl0.cjs"),i=require("./cli-error-CSsayo0u.cjs");let a=require("node:fs/promises"),o=require("node:path");var s=e.t(),c=[`dependencies`,`devDependencies`,`peerDependencies`],l=async e=>{let r=await n.n((0,o.join)(e,`package.json`));if(t.zt(r)&&c.some(e=>{let n=r[e];return t.d(n)&&Object.hasOwn(n,`twenty-sdk`)}))return{path:e,name:(0,s.isNonEmptyString)(r.name)?r.name:(0,o.basename)(e)}},u=async e=>{let n=await(0,a.readdir)(e,{withFileTypes:!0}).catch(()=>[]);return(await Promise.all(n.filter(e=>e.isDirectory()&&!e.name.startsWith(`.`)&&e.name!==`node_modules`).map(t=>l((0,o.join)(e,t.name))))).filter(t.zt).sort((e,t)=>e.path.localeCompare(t.path))},d=async e=>{for(let n of r.n(e)){let e=await l(n);if(t.zt(e))return e}},f=async({explicitPath:e,workingDirectory:n})=>{if(t.zt(e)){let r=(0,o.resolve)(n,e),s=await(0,a.stat)(r).catch(()=>void 0),c=t.zt(s)&&s.isDirectory()?await l(r):void 0;if(!t.zt(c))throw new i.t({code:`APP_NOT_FOUND`,exitCode:i.n.USAGE,message:`${r} is not a Twenty app: it needs a package.json that depends on twenty-sdk.`,details:{path:r}});return c}let r=await d(n);if(t.zt(r))return r;let s=await u(n),c=s.map(e=>`./${(0,o.relative)(n,e.path)}`);throw s.length>1?new i.t({code:`APP_PATH_REQUIRED`,exitCode:i.n.USAGE,message:`This folder contains ${s.length} apps. Choose one with --path.`,hint:`Apps here: ${c.join(`, `)}`,details:{candidates:s.map(e=>e.path)}}):new i.t({code:`APP_NOT_FOUND`,exitCode:i.n.USAGE,message:`No Twenty app found in this folder or its parents.`,hint:s.length===1?`Pass --path ${c[0]}`:`Run the command inside an app, or pass --path <app directory>.`,details:{workingDirectory:n}})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./constants-CL6mrTMT-B748cNNG.cjs"),t=require("./is-inside-directory-t3ixLQDr.cjs");let n=require("node:fs");var r=(e,t)=>{try{return(0,n.realpathSync)(e(t))}catch{return}},i=({resolveFromApp:n,specifier:i,sdkPath:a})=>{let o=r(n,i);return e.zt(o)&&t.t({filePath:o,directory:a})?o:void 0};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./is-inside-directory-t3ixLQDr.cjs"),r=require("./has-yarn-plug-and-play-X3ay5Xl0.cjs"),i=require("./cli-error-CSsayo0u.cjs"),a=require("./fs-utils-Bl1fQcaJ.cjs");let o=require("node:fs/promises"),s=require("node:path"),c=require("node:module");var l=e.t(),u=e=>t.d(e)&&[`readConfigFile`,`parseJsonConfigFileContent`,`createProgram`,`getPreEmitDiagnostics`,`flattenDiagnosticMessageText`].every(t=>(0,l.isFunction)(e[t]))&&t.d(e.sys)&&(0,l.isFunction)(e.sys.readFile)&&t.d(e.DiagnosticCategory)&&(0,l.isNumber)(e.DiagnosticCategory.Warning),d=async e=>{let t=(0,c.createRequire)((0,s.join)(e,`package.json`)),l=r.n(e);for(let r of l){let c=(0,s.join)(r,`node_modules/typescript`);if(!await a.i(c))continue;let l=await(0,o.realpath)(c),d=await n.n((0,s.join)(l,`package.json`)),f=()=>new i.t({code:`TOOLING_UNSUPPORTED`,message:`The TypeScript installation at ${l} does not provide the compiler API this CLI needs. Reinstall a compatible typescript version in this app.`,details:{appPath:e,compilerPath:l,compilerVersion:d?.version}});if(d?.name!==`typescript`)throw f();let p;try{p=t.resolve(l)}catch{throw f()}if(!n.t({filePath:p,directory:l}))throw f();let m=t(p);if(!u(m))throw f();return m}let d=await r.t(e);throw new i.t({code:d?`TOOLING_UNSUPPORTED`:`TYPESCRIPT_NOT_INSTALLED`,message:d?`This app uses Yarn Plug'n'Play, which the twenty CLI cannot load TypeScript from. Set nodeLinker: node-modules in .yarnrc.yml and reinstall the app's dependencies.`:`TypeScript is not installed for this app. Install typescript in the app's devDependencies, then try again.`,details:{appPath:e}})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./check-node-requirement-mqwNPktb.cjs"),n=require("./constants-CL6mrTMT-B748cNNG.cjs"),r=require("./is-inside-directory-t3ixLQDr.cjs"),i=require("./resolve-inside-sdk-p-16gKb4.cjs"),a=require("./has-yarn-plug-and-play-X3ay5Xl0.cjs"),o=require("./cli-error-CSsayo0u.cjs"),s=require("./fs-utils-Bl1fQcaJ.cjs");let c=require("node:fs/promises"),l=require("node:path"),u=require("node:module");var d=e.t(),f=e.i(t.n()),p=async e=>{for(let t of a.n(e)){let i=(0,l.join)(t,`node_modules`,`twenty-sdk`);if(!await s.i(i))continue;let a=await r.n((0,l.join)(i,`package.json`));if(!n.zt(a)||a.name!==`twenty-sdk`)throw new o.t({code:`TOOLING_UNSUPPORTED`,message:`The twenty-sdk installation at ${i} is incomplete: it has no readable twenty-sdk package.json.`,hint:`Reinstall the app's dependencies (for example with yarn install), then try again.`,details:{appPath:e,sdkPath:i}});return{path:await(0,c.realpath)(i),packageJson:a}}},m=async e=>{throw await a.t(e)?new o.t({code:`TOOLING_UNSUPPORTED`,message:`This app uses Yarn Plug'n'Play, which the twenty CLI cannot load the SDK from.`,hint:`Set nodeLinker: node-modules in .yarnrc.yml, then run yarn install.`,details:{appPath:e}}):new o.t({code:`SDK_NOT_INSTALLED`,message:`twenty-sdk is not installed for this app.`,hint:`Install the app's dependencies (for example with yarn install), then try again.`,details:{appPath:e}})},h=async e=>{let t=await p(e);return n.zt(t)?t:m(e)},g=`>=1.23.0`,_=[`twenty-sdk/define`,`twenty-sdk/front-component`],v=async({appPath:e})=>{let r=await h(e),a=(0,d.isString)(r.packageJson.version)?r.packageJson.version:`unknown`,s={appPath:e,sdkPath:r.path,sdkVersion:a},c=(0,u.createRequire)((0,l.join)(e,`package.json`)).resolve,p=_.filter(e=>!n.zt(i.t({resolveFromApp:c,specifier:e,sdkPath:r.path})));if(!(0,f.default)(a,g,{includePrerelease:!0})||p.length>0)throw new o.t({code:`SDK_SOURCE_UNSUPPORTED`,message:`twenty-sdk ${a} cannot load app source with this CLI. Source loading needs twenty-sdk ${g} with its define and front-component entry points.`,hint:`Install a compatible twenty-sdk version in this app.`,details:{...s,supportedRange:g,missingEntryPoints:p}});let m=n.d(r.packageJson.engines)?r.packageJson.engines.node:void 0;if(n.zt(m)){let e=(0,d.isString)(m)?t.t({version:process.versions.node,range:m}):`invalid`;if(e!==`satisfied`)throw new o.t({code:e===`invalid`?`SDK_SOURCE_UNSUPPORTED`:`NODE_VERSION_UNSUPPORTED`,message:`twenty-sdk ${a} declares Node ${String(m)}; this is Node ${process.versions.node}.`,hint:e===`invalid`?`Install a twenty-sdk version with a valid Node requirement.`:`Switch to a supported Node version, then try again.`,details:{...s,requiredNode:m}})}return{version:a,packagePath:r.path}};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./utils-B8EXJeaX-DK3gCslL.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./style-BR52fK4V.cjs"),o=require("./resolve-app-project-D5ZXIpsG.cjs"),s=require("./record-pull-base-BbxvlnU8.cjs"),c=require("./get-app-plan-summary-B0uwHXbO.cjs"),l=require("./format-data-value-B6rIbpJv.cjs"),u=require("./format-app-duration-gu2oRLB4.cjs"),d=require("./run-app-operation-BWrY9YZK.cjs");var f=e.t(),p=({count:e,label:t,color:n})=>{let r=`${e} ${t}`;return e===0?a.i(r):a.n(n,r)},m=({applicationName:e,apiUrl:r,summary:i,upload:o,isRegistrationCreated:s,clientGeneration:c,durationMilliseconds:d})=>{let m=t.zt(i)?[p({count:i.create,label:`added`,color:`green`}),p({count:i.update,label:`changed`,color:`yellow`}),p({count:i.delete,label:`deleted`,color:`red`})].join(a.i(` · `)):a.i(`changes not reported`),h=o.fileCount===1?`file`:`files`;return[a.o(`Applied ${l.r(e)} to ${r} ${a.i(`in ${u.t(d)}`)}`),` ${m}${a.i(` · ${o.fileCount} ${h} uploaded (${n.t(o.byteCount)})`)}`,s?a.i(` Registered the app and installed it in this workspace.`):``,c===`generated`?a.i(` Regenerated the typed API client.`):``].filter(f.isNonEmptyString).join(`
|
|
2
|
-
`)},h=async e=>{let n=performance.now(),a=e.options.delete!==!1,l,u=await s.n((await o.t({explicitPath:i.r(e.options,`path`),workingDirectory:process.cwd()})).path).catch(()=>void 0),{project:f,sdk:p,data:h,diagnostics:g}=await d.t({context:e,useHeldBuild:async t=>{l=await s.c({build:t.data,appPath:t.project.path,context:e,inferDeletionFromMissingEntities:a,isCreationApproved:i.t(e.options,`create`),isDeletionApproved:i.t(e.options,`yes`)})}});if(!t.zt(l))throw new r.t({code:`TOOLING_UNSUPPORTED`,message:`The app worker did not keep its build snapshot for upload, so nothing was applied.`});let _=t.zt(l.appliedActions)?c.t(l.appliedActions):void 0;t.zt(_)||e.output.warn({code:`SYNC_REPORT_UNAVAILABLE`,message:`The sync succeeded, but the server did not return a readable list of its changes.`});let v;try{v=await s.t({appPath:f.path,universalIdentifier:l.acknowledgedUniversalIdentifier,sourceFingerprints:u,context:e}),v===`recorded`&&l.completedPhases.push(`pullBase`)}catch(t){throw s.s({error:t,phase:`pullBase`,applicationName:h.application.displayName,apiUrl:e.target.apiUrl,completedPhases:l.completedPhases,signal:e.signal})}let y=await s.r({appPath:f.path}),b=`skipped`;if(t.zt(y))e.output.warn({code:`CLIENT_NOT_GENERATED`,message:`The app's typed API client was not regenerated: ${y}`});else try{g.push(...await s.a({appPath:f.path,applicationUniversalIdentifier:l.acknowledgedUniversalIdentifier,sdk:p,context:e})),b=`generated`,l.completedPhases.push(`clientGeneration`)}catch(t){throw s.s({error:t,phase:`clientGeneration`,applicationName:h.application.displayName,apiUrl:e.target.apiUrl,completedPhases:l.completedPhases,signal:e.signal})}let x=Math.round(performance.now()-n);return{data:{app:{path:f.path,name:f.name},sdk:{version:p.version},application:h.application,contentHash:h.contentHash,inferDeletionFromMissingEntities:a,registrationCreated:l.isRegistrationCreated,completedPhases:l.completedPhases,actions:l.appliedActions??null,summary:_??null,upload:{fileCount:l.upload.fileCount,byteCount:l.upload.byteCount},clientGeneration:b,pullBase:v,diagnostics:g,durationMilliseconds:x},human:m({applicationName:h.application.displayName,apiUrl:e.target.apiUrl,summary:_,upload:l.upload,isRegistrationCreated:l.isRegistrationCreated,clientGeneration:b,durationMilliseconds:x})}};exports.runAppApplyCommand=h;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./constants-CL6mrTMT-B748cNNG.cjs"),t=require("./is-inside-directory-t3ixLQDr.cjs"),n=require("./resolve-inside-sdk-p-16gKb4.cjs"),r=require("./read-watch-input-stamp-BxeOb0vI.cjs"),i=require("./cli-error-CSsayo0u.cjs"),a=require("./fs-utils-Bl1fQcaJ.cjs"),o=require("./resolve-source-sdk-mK-f4q55.cjs"),s=require("./create-pull-base-write-rxjcKtD-.cjs"),c=require("./read-command-values-uSJqBG_E.cjs"),l=require("./style-BR52fK4V.cjs"),u=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),d=require("./resolve-app-project-D5ZXIpsG.cjs"),f=require("./require-approval-fhegB1ap.cjs"),p=require("./to-cli-error-BBYf_wqo.cjs"),m=require("./record-pull-base-BbxvlnU8.cjs"),h=require("./create-tooling-failure-DLI5FlQP.cjs");let g=require("node:events"),_=require("node:crypto"),v=require("node:fs/promises"),y=require("node:path"),b=require("node:module"),x=require("node:timers/promises"),S=require("chokidar");var C=async({build:e,appPath:t,signal:n})=>{n.throwIfAborted();let r=m.d({build:e,appPath:t}),i=(0,y.join)(t,`.twenty`,`cli`,`snapshots`);await(0,v.mkdir)(i,{recursive:!0});let a=await(0,v.mkdtemp)((0,y.join)(i,`dev-`)),o=()=>(0,v.rm)(a,{recursive:!0,force:!0});try{for(let t of e.files){n.throwIfAborted();let e=await m.l({snapshotDirectory:r,artifact:t}),i=(0,y.join)(a,t.path);await(0,v.mkdir)((0,y.dirname)(i),{recursive:!0}),await(0,v.writeFile)(i,m.u(e),{flag:`wx`,signal:n})}return n.throwIfAborted(),{build:{...e,directory:a},release:o}}catch(e){throw await o(),e}},w=async({appPath:t,signal:n,updateWatchInputs:r})=>{let a=await o.t({appPath:t}),s=await m.n(t).catch(()=>void 0),c;try{let o=await u.n({request:{type:`bundleSnapshot`,appPath:t,holdSnapshot:!0,collectWatchInputs:!0},signal:n,useHeldSnapshot:async({result:e})=>{let r=u.o({value:e,parseData:u.i});r.success&&(c=await C({build:r.data,appPath:t,signal:n}))}});n.throwIfAborted();let l=u.o({value:o.result,parseData:u.i}),d=[...l.diagnostics,...u.t(o.output)];if(await r(o.watchInputs??[],l.success),!l.success)throw h.t({error:l.error,diagnostics:d,sdkVersion:a.version});if(!e.zt(c))throw new i.t({code:`WORKER_FAILED`,message:`The build worker did not retain its dev snapshot.`});let f=o.release;if(!e.zt(f)||!u.o({value:f,parseData:e=>e===null?{data:null}:void 0}).success)throw new i.t({code:`WORKER_FAILED`,message:`The build worker could not release its source snapshot. Stop and clean up .twenty/cli/snapshots before restarting dev.`});return{...c,contentHash:c.build.contentHash,tooling:a,diagnostics:d,sourceFingerprints:s}}catch(e){throw await c?.release(),e}},T=async e=>{let t=async e=>{try{return s.i(await(0,v.readFile)(e))}catch(e){if(i.r(e,`ENOENT`))return null;throw e}},n=[`dist/core.mjs`,`dist/core.cjs`],r=(0,y.join)(e,`dist/core/generated`);try{let t=await(0,v.readdir)(r,{recursive:!0,withFileTypes:!0});for(let r of t)(r.isFile()||r.isSymbolicLink())&&n.push((0,y.relative)(e,(0,y.join)(r.parentPath,r.name)))}catch(e){if(!i.r(e,`ENOENT`))throw e}return JSON.stringify(await Promise.all(n.sort().map(async n=>[n,await t((0,y.join)(e,n))])))},E=({appPath:t})=>{let r,i,a=()=>T((0,y.join)(t,`node_modules`,`twenty-client-sdk`));return async({snapshot:o,applied:s,context:c,withBuildsPaused:l,invalidate:u})=>{let d=await m.r({appPath:t});if(e.zt(d))return c.output.warn({code:`CLIENT_NOT_GENERATED`,message:d}),`skipped`;let h,g,x;try{h=await m.i({applicationUniversalIdentifier:s.acknowledgedUniversalIdentifier,context:c});let r=await(0,v.realpath)((0,y.join)(t,`node_modules`,`twenty-client-sdk`)),i=await(0,v.readFile)((0,y.join)(r,`package.json`)),o=n.t({resolveFromApp:(0,b.createRequire)((0,y.join)(r,`package.json`)).resolve,specifier:`twenty-client-sdk/generate`,sdkPath:r});if(!e.zt(o))throw Error(`The installed twenty-client-sdk has no compatible generate entry point.`);g=(0,_.createHash)(`sha256`).update(h).update(r).update(i).update(await(0,v.readFile)(o)).digest(`hex`),x=await a()}catch(e){if(c.signal.aborted)throw f.n({error:p.t(e,c.signal),phase:`clientGeneration`,outcome:`applied`,completedPhases:s.completedPhases,hint:`The app was synced. Client generation had not started, so the previous typed API client was kept.`});return c.output.warn({code:`CLIENT_NOT_GENERATED`,message:`The app was synced, but its client inputs could not be fetched: ${p.t(e).message} The previous client was kept.`}),`skipped`}if(g===r&&x===i)return`unchanged`;let S=!1;try{await l(async()=>{c.signal.throwIfAborted(),S=!0,await m.o({appPath:t,schema:h,sdk:o.tooling,context:c}),r=g,i=await a(),s.completedPhases.push(`clientGeneration`),u()})}catch(e){throw S?m.s({error:e,phase:`clientGeneration`,applicationName:o.build.application.displayName,apiUrl:c.target.apiUrl,completedPhases:s.completedPhases,signal:c.signal}):f.n({error:p.t(e,c.signal),phase:`clientGeneration`,outcome:`applied`,completedPhases:s.completedPhases,hint:`The app was synced. Client generation had not started, so the previous typed API client was kept.`})}return`generated`}},D=e=>{let t=[],n=Promise.resolve(),r=0;return{output:{...e.output,progress:e=>{t.length<32?t.push({message:e}):r+=1},warn:e=>{t.length<32?t.push(e):r+=1}},emit:(i,a)=>{let o=t.splice(0);r>0&&(o.push({message:`${r} additional progress messages omitted.`}),r=0);let s=n.then(async()=>{if(a.throwIfAborted(),e.outputMode===`ndjson`)await e.output.event(`progress`,{...i,messages:o},a);else{let e=[...o.map(e=>e.code?l.s(e.message):e.message),i.message].filter(e=>e.length>0).join(`
|
|
2
|
-
`);process.stderr.write(`${e}\n`)||await(0,g.once)(process.stderr,`drain`,{signal:a})}});return n=s.catch(()=>void 0),s}}},O=async({signal:t,subscribe:n,build:r,apply:i,onSkipped:a,debounceMilliseconds:o=100})=>{let s=new AbortController,c,l=e=>{s.abort(e),f()},u=()=>l(t.reason),d=new Set,f=()=>{for(let e of d)e()},p=async e=>{for(;!e();)s.signal.throwIfAborted(),await new Promise(e=>{let t=()=>{d.delete(t),e()};d.add(t)});s.signal.throwIfAborted()},m=1,h=0,g,_=!1,v=!1,y=new AbortController,b,S=()=>{m+=1,y.abort(Error(`App changed while awaiting approval.`)),f()},C=async()=>{for(;!s.signal.aborted;){await p(()=>!v&&m!==h);let n=m;if(await(0,x.setTimeout)(o,void 0,{signal:s.signal}),n!==m||v)continue;h=n,_=!0;let i;try{e.zt(g)&&(await g.snapshot.release(),g=void 0),i=await r(n,AbortSignal.any([t,s.signal])),e.zt(i)&&(n!==m||s.signal.aborted?(await i.release(),await a(n,`superseded`)):g={snapshot:i,revision:n})}finally{_=!1,f()}}},w=async()=>{for(;!s.signal.aborted;){await p(()=>e.zt(g)&&g.revision===m);let n=g;if(e.zt(n)){g=void 0,y=new AbortController;try{if(n.snapshot.contentHash===b){await a(n.revision,`unchanged`);continue}b=await i(n.snapshot,{revision:n.revision,signal:AbortSignal.any([t,s.signal]),revisionSignal:AbortSignal.any([t,s.signal,y.signal]),invalidate:S,withBuildsPaused:async e=>{v=!0;try{return await p(()=>!_),await e()}finally{v=!1,f()}}})?n.snapshot.contentHash:void 0}finally{await n.snapshot.release()}}}};t.addEventListener(`abort`,u,{once:!0});let T;try{t.throwIfAborted(),T=await n(S,l);let r=[C().catch(n=>{!t.aborted&&!e.zt(c)&&(c=n),l(n)}),w().catch(e=>{c=e,l(e)})];if(await Promise.all(r),e.zt(c))throw c;s.signal.throwIfAborted()}finally{l(t.reason),t.removeEventListener(`abort`,u);try{await T?.()}finally{await g?.snapshot.release()}}},k=(e,t)=>new Promise((n,r)=>{let i=()=>{e.off(`ready`,a),e.off(`error`,o),t.removeEventListener(`abort`,s)},a=()=>{i(),n()},o=e=>{i(),r(e)},s=()=>{i(),r(t.reason)};e.once(`ready`,a),e.once(`error`,o),t.addEventListener(`abort`,s,{once:!0}),t.aborted&&s()}),A=async({appPath:e,signal:n,onChange:i,onError:o})=>{e=await(0,v.realpath)(e);let s=(0,S.watch)(e,{ignoreInitial:!0,followSymlinks:!1,ignored:t=>(0,y.relative)(e,t).split(y.sep)[0]===`dist`||r.n((0,y.relative)(e,t)),atomic:!0}).on(`all`,i).on(`error`,o),c,l=[],u=async()=>{await Promise.all([s.close(),c?.close()])};try{await k(s,n)}catch(e){throw await u(),e}return{close:u,update:async(s,u)=>{u&&(l=s);let d=[...l,...s].filter(n=>n.path!==e&&!t.t({filePath:n.path,directory:e})),f=new Set(d.filter(e=>e.kind===`directory`).map(e=>e.path)),p=new Set(d.filter(e=>e.kind===`file`).map(e=>e.path)),m=new Set,h=new Set;for(let e of d){let t=(0,y.dirname)(e.path);for(;!a.a(t)&&(0,y.dirname)(t)!==t;)h.add(t),t=(0,y.dirname)(t);m.add(t)}let g=e=>[...f].some(t=>{let n=(0,y.relative)(t,e);return n.length>0&&n!==`..`&&!n.includes(y.sep)}),_=[...new Set([...d.map(e=>e.path),...m])].filter(a.a),v=c;if(_.length>0){let e=(0,S.watch)(_,{ignoreInitial:!0,followSymlinks:!1,depth:0,atomic:!0,ignored:e=>{let t=(0,y.resolve)(e);return r.n(e)||!(m.has(t)||f.has(t)||h.has(t)||p.has(t)||g(t))}}).on(`all`,(e,t)=>{let n=(0,y.resolve)(t);(p.has(n)||e!==`change`&&(g(n)||f.has(n)||h.has(n)))&&i()}).on(`error`,o);c=e;try{await k(e,n)}catch(e){throw await v?.close(),e}}else c=void 0;await v?.close(),s.some(e=>r.t(e)!==e.stamp)&&i()}}},j=async t=>{let n=await d.t({explicitPath:c.r(t.options,`path`),workingDirectory:process.cwd()}),{output:r,emit:a}=D(t),o=E({appPath:n.path}),s;throw await O({signal:t.signal,subscribe:async(e,r)=>{s=await A({appPath:n.path,signal:t.signal,onChange:e,onError:r});try{await a({kind:`watch-ready`,message:`Watching ${n.path}. Syncing to ${t.target.apiUrl}. Press Ctrl+C to stop.`,appPath:n.path},t.signal)}catch(e){throw await s.close(),e}return s.close},build:async(e,o)=>{await a({kind:`build-start`,message:`Building app…`,revision:e},o);try{let t=await w({appPath:n.path,signal:o,updateWatchInputs:s.update});try{return await a({kind:`build-success`,message:`Built ${t.build.application.displayName}.`,revision:e,buildId:t.build.buildId,contentHash:t.contentHash,diagnostics:t.diagnostics},o),t}catch(e){throw await t.release(),e}}catch(n){o.throwIfAborted();let s=p.t(n);if(s.code===`WORKER_FAILED`)throw new i.t({code:s.code,message:s.message,details:s.details,hint:`Fix the worker failure, then restart twenty app dev. A worker killed while building may leave folders in .twenty/cli/snapshots; remove abandoned snapshots only after stopping all dev/apply sessions for this app.`});if(![`TYPECHECK_FAILED`,`BUILD_FAILED`,`SDK_NOT_INSTALLED`,`SDK_SOURCE_UNSUPPORTED`,`TYPESCRIPT_NOT_INSTALLED`].includes(s.code))throw n;let c=s.details?.diagnostics;if(t.outputMode===`human`&&Array.isArray(c))for(let e of c.filter(u.r))r.progress(u.s(e));await a({kind:`build-failure`,message:`${s.message} Waiting for source changes.`,revision:e,error:{code:s.code,message:s.message,details:s.details}},o);return}},apply:async(i,s)=>{let{revision:l,signal:u}=s,d={...t,output:r,signal:u},f=!1;await a({kind:`sync-start`,message:`Planning changes…`,revision:l,buildId:i.build.buildId},u);let h;try{h=await m.c({build:i.build,appPath:n.path,context:d,inferDeletionFromMissingEntities:t.options.delete!==!1,isCreationApproved:c.t(t.options,`create`),isDeletionApproved:c.t(t.options,`yes`),approvalSignal:s.revisionSignal,flushProgress:()=>a({kind:`sync-progress`,message:``,revision:l},u),beforeWrite:()=>{f||s.revisionSignal.throwIfAborted(),f=!0}})}catch(e){if(u.aborted)throw e;let t=p.t(e);if(s.revisionSignal.aborted&&t.details?.phase===`confirmation`)return await a({kind:`sync-superseded`,message:`Source changed; a fresh plan is queued.`,revision:l,details:t.details},u),!1;if([`AUTH_REQUIRED`,`PERMISSION_DENIED`].includes(t.code))throw e;return await a({kind:`sync-failure`,message:`${t.message} A new source edit will request a fresh plan.`,revision:l,error:{code:t.code,message:t.message,hint:t.hint,details:t.details}},u),!1}try{await m.t({appPath:n.path,universalIdentifier:h.acknowledgedUniversalIdentifier,sourceFingerprints:i.sourceFingerprints,context:d})===`recorded`&&h.completedPhases.push(`pullBase`)}catch(e){throw m.s({error:e,phase:`pullBase`,applicationName:i.build.application.displayName,apiUrl:t.target.apiUrl,completedPhases:h.completedPhases,signal:u})}let g=await o({snapshot:i,applied:h,context:d,withBuildsPaused:s.withBuildsPaused,invalidate:s.invalidate});return e.zt(h.appliedActions)||r.warn({code:`SYNC_REPORT_UNAVAILABLE`,message:`The sync succeeded, but the server did not return a readable list of changes.`}),await a({kind:`sync-success`,message:`Synced ${i.build.application.displayName}. Watching for changes…`,revision:l,buildId:i.build.buildId,contentHash:i.contentHash,completedPhases:h.completedPhases,clientGeneration:g,actions:h.appliedActions??null},u),!0},onSkipped:(e,n)=>a({kind:`build-skipped`,message:n===`unchanged`?`Build unchanged since the last acknowledged sync.`:`Source changed during the build; rebuilding…`,revision:e,reason:n},t.signal)}),new i.t({code:`INTERNAL_ERROR`,message:`The dev session stopped unexpectedly.`})};exports.runAppDevCommand=j;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./application-DuIJE2qG.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./resolve-source-sdk-mK-f4q55.cjs"),a=require("./is-same-universal-identifier-BCBib3RP.cjs"),o=require("./is-exported-manifest-CriNOWvx.cjs"),s=require("./read-command-values-uSJqBG_E.cjs"),c=require("./read-input-value-Cxgh_r2g.cjs"),l=require("./parse-json-input-CvMTKAWw.cjs"),u=require("./request-timeout-milliseconds.constant-DtyQHrll.cjs"),d=require("./style-BR52fK4V.cjs"),f=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),p=require("./resolve-app-project-D5ZXIpsG.cjs"),m=require("./to-cli-error-BBYf_wqo.cjs"),h=require("./is-application-not-found-error-mNeGbxmT.cjs"),g=require("./create-metadata-client-ChjDalSi.cjs"),_=require("./format-data-value-B6rIbpJv.cjs"),v=require("./create-tooling-failure-DLI5FlQP.cjs"),y=require("./create-app-not-installed-error-Cc8YZqI7.cjs"),b=require("./format-details-COEwKz_M.cjs");var x=e.t(),S=e=>t.d(e)&&(0,x.isString)(e.id)&&(0,x.isString)(e.name)&&((0,x.isString)(e.universalIdentifier)||e.universalIdentifier===null)&&((0,x.isString)(e.applicationId)||e.applicationId===null)&&(0,x.isNumber)(e.timeoutSeconds)&&Number.isFinite(e.timeoutSeconds)&&e.timeoutSeconds>=0&&Math.ceil(e.timeoutSeconds*1e3)+6e4<2**31,C=()=>new r.t({code:`INVALID_RESPONSE`,message:`The server returned an invalid logic-function response.`}),w=e=>{if([`AUTH_REQUIRED`,`PERMISSION_DENIED`].includes(e.code))return!0;let n=e.details?.errors;return e.code===`GRAPHQL_ERROR`&&(0,x.isArray)(n)&&n.length>0&&n.every(e=>t.d(e)&&(0,x.isString)(e.code)&&[`NOT_FOUND`,`BAD_USER_INPUT`,`GRAPHQL_VALIDATION_FAILED`].includes(e.code))},T=async({manifest:e,selector:n,payload:i,target:o,signal:s,onExecuting:c})=>{let l=g.t({target:o,signal:s}),{applicationUniversalIdentifier:d}=e,{findOneApplication:f,findManyLogicFunctions:p}=await l.query({findOneApplication:{__args:{universalIdentifier:d},id:!0,universalIdentifier:!0},findManyLogicFunctions:{id:!0,name:!0,universalIdentifier:!0,applicationId:!0,timeoutSeconds:!0}}).catch(e=>{throw h.t({error:e,field:`findOneApplication`})?y.t({universalIdentifier:d,apiUrl:o.apiUrl}):e});if(!t.d(f)||!(0,x.isString)(f.id)||!a.t({value:f.universalIdentifier,universalIdentifier:d})||!(0,x.isArray)(p)||!p.every(S))throw C();let _=p.filter(n=>n.applicationId===f.id&&t.zt(n.universalIdentifier)&&e.universalIdentifiers.includes(n.universalIdentifier.toLowerCase())),v=n.kind===`hook`?e.hooks[n.value]:n.value,b=_.filter(e=>t.zt(v)&&(n.kind===`name`?e.name===v:e.universalIdentifier?.toLowerCase()===v));if(b.length===0)throw new r.t({code:`NOT_FOUND`,exitCode:r.n.NOT_FOUND,message:`Function "${n.value}" was not found in the deployed app.`,hint:`Check the selected workspace and function. Run twenty app apply or twenty app dev to sync local changes first.`,details:{identifier:n.value,availableFunctions:_.map(({name:e,universalIdentifier:t})=>({name:e,universalIdentifier:t}))}});if(b.length>1)throw new r.t({code:`AMBIGUOUS_RESOURCE`,exitCode:r.n.CONFLICT,message:`More than one app function matches "${n.value}".`,hint:`Select a function with --universal-identifier.`});let T=b[0],E={applicationUniversalIdentifier:d,functionName:T.name,functionUniversalIdentifier:T.universalIdentifier};c(T.name),s.throwIfAborted();let D=g.t({target:o,signal:s,timeoutMilliseconds:Math.ceil(T.timeoutSeconds*1e3)+u.t});try{let{executeOneLogicFunction:e}=await D.mutation({executeOneLogicFunction:{__args:{input:{id:T.id,payload:i}},data:!0,logs:!0,duration:!0,status:!0,error:!0}});if(!t.d(e)||!(0,x.isString)(e.status)||!(0,x.isString)(e.logs)||!(0,x.isNumber)(e.duration)||!Number.isFinite(e.duration)||e.duration<0)throw C();return{...E,status:e.status,durationMilliseconds:e.duration,data:e.data??null,logs:e.logs,error:e.error??null}}catch(e){let t=m.t(e,s),n=w(t);throw new r.t({code:t.code,exitCode:t.exitCode,message:t.message,hint:n?t.hint:`Execution may have started and may still be running. Check its effects before retrying; this command does not retry or stop server-side execution.`,details:{...t.details,...E,outcome:n?`not-started`:`unknown`}})}},E=e=>JSON.stringify(e,null,2).replace(/[\x7f-\x9f]/g,e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`),D=(e,t=process.stdout)=>[b.t([[`Function`,_.r(e.functionName)],[`Status`,d.n(e.status===`SUCCESS`?`green`:`red`,_.r(e.status),t)],[`Duration`,d.i(`${e.durationMilliseconds}ms`,t)]],t),...e.data===null?[]:[``,d.t(`Data:`,t),E(e.data)],...e.error===null?[]:[``,d.t(`Error:`,t),E(e.error)],...e.logs.length>0?[``,d.t(`Logs:`,t),...e.logs.split(`
|
|
2
|
-
`).map(_.r)]:[]].join(`
|
|
3
|
-
`),O=async({options:e,output:n,outputMode:r,signal:a})=>{let c=await p.t({explicitPath:s.r(e,`path`),workingDirectory:process.cwd()}),l=await i.t({appPath:c.path});n.progress(`Reading app definitions in ${c.path}…`);let u=await f.n({request:{type:`buildManifest`,appPath:c.path},signal:a});a.throwIfAborted();let d=f.o({value:u.result,parseData:e=>{if(!t.d(e)||!o.t(e.manifest))return;let{manifest:n}=e;if(!(0,x.isArray)(n.logicFunctions))return;let r=[];for(let e of n.logicFunctions){if(!t.d(e)||!(0,x.isString)(e.universalIdentifier))return;r.push(e.universalIdentifier.toLowerCase())}let i={};for(let e of[`postInstallLogicFunction`,`preInstallLogicFunction`,`uninstallLogicFunction`]){let r=n.application[e];if(t.zt(r)){if(!t.d(r)||!(0,x.isString)(r.universalIdentifier))return;i[e]=r.universalIdentifier.toLowerCase()}}return{data:{applicationUniversalIdentifier:n.application.universalIdentifier.toLowerCase(),universalIdentifiers:r,hooks:i}}}}),m=[...d.diagnostics,...f.t(u.output)];if(r===`human`)for(let e of m)n.progress(f.s(e));if(!d.success)throw v.t({error:d.error,diagnostics:m,sdkVersion:l.version});return{...d.data,diagnostics:m}},k=e=>{let i=[],a=s.r(e,`name`),o=s.r(e,`universalIdentifier`);if(t.zt(a)&&i.push({kind:`name`,value:a}),t.zt(o)&&i.push({kind:`universalIdentifier`,value:o.toLowerCase()}),s.t(e,`postInstall`)&&i.push({kind:`hook`,value:`postInstallLogicFunction`}),s.t(e,`preInstall`)&&i.push({kind:`hook`,value:`preInstallLogicFunction`}),s.t(e,`uninstallHook`)&&i.push({kind:`hook`,value:`uninstallLogicFunction`}),i.length!==1)throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`Choose exactly one of --name, --universal-identifier, --post-install, --pre-install or --uninstall-hook.`});let c=i[0];if(c.value.trim().length===0||c.kind===`universalIdentifier`&&!n.s(c.value))throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:c.kind===`name`?`--name cannot be empty.`:`--universal-identifier must be a UUID of version 4 or later.`});return c},A=async e=>{let{options:t,target:n,signal:i,output:a,outputMode:o}=e,u=k(t);if(n.credentialKind!==`oauth`)throw new r.t({code:`AUTH_REQUIRED`,exitCode:r.n.AUTHENTICATION,message:`Running logic functions requires a signed-in user. API keys cannot execute them.`,hint:`Sign in with twenty auth login --url ${n.apiUrl} --name dev, then use --remote dev.`,details:{credentialKind:n.credentialKind}});let d=l.n({text:await c.t({value:s.r(t,`payload`)??`{}`,optionName:`--payload`,signal:i}),optionName:`--payload`}),f=await O(e);u.kind===`hook`&&a.progress(`Executing the hook only; this does not install or uninstall the app.`);let p=await T({manifest:f,selector:u,payload:d,target:n,signal:i,onExecuting:e=>a.progress(`Executing ${_.r(e)} on ${n.apiUrl}…`)}),m=D(p,p.status===`SUCCESS`?process.stdout:process.stderr);if(p.status!==`SUCCESS`)throw o===`human`&&a.progress(m),new r.t({code:`EXECUTION_FAILED`,message:`Function ${_.r(p.functionName)} returned ${_.r(p.status)}.`,details:{...p,outcome:`completed`,diagnostics:f.diagnostics}});return{data:{...p,diagnostics:f.diagnostics},human:m}};exports.runAppExecCommand=A;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./utils-B8EXJeaX-DK3gCslL.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./print-typescript-value-DhElcFzI.cjs"),a=require("./read-command-values-uSJqBG_E.cjs"),o=require("./convert-to-label-BPBLtc_O.cjs"),s=require("./style-BR52fK4V.cjs"),c=require("./cli-version.constant-aSp8WZDh.cjs"),l=require("./select-target-C1VZjf-A.cjs"),u=require("./get-config-path-C-D-QHuX.cjs"),d=require("./read-config-DUJ27809.cjs");let f=require("node:crypto"),p=require("node:fs/promises"),m=require("node:path"),h=require("node:fs");var g=e.t(),_=`2.46.0`,v=[`twenty-client-sdk`,`twenty-sdk`,`twenty-ui`],y=()=>(0,m.join)((0,m.dirname)((0,h.realpathSync)(process.argv[1]??``)),`app-template`),b=async({appDirectory:e,appName:t,appDisplayName:n,appDescription:r})=>{await(0,p.cp)(y(),e,{recursive:!0}),await(0,p.writeFile)((0,m.join)(e,`yarn.lock`),``,{flag:`a`});for(let[t,n]of[[`gitignore`,`.gitignore`],[`github`,`.github`],[`yarnrc.yml`,`.yarnrc.yml`]])await(0,p.rename)((0,m.join)(e,t),(0,m.join)(e,n));await(0,p.cp)((0,m.join)(e,`AGENTS.md`),(0,m.join)(e,`CLAUDE.md`));let a=(0,m.join)(e,`.github`,`workflows`,`ci.yml`);await(0,p.writeFile)(a,(await(0,p.readFile)(a,`utf8`)).replace(`CLI-VERSION-TO-BE-GENERATED`,c.t));let o=(0,m.join)(e,`src/constants/universal-identifiers.ts`);await(0,p.writeFile)(o,(await(0,p.readFile)(o,`utf8`)).replace(/'DISPLAY-NAME-TO-BE-GENERATED'/g,()=>i.t({value:n})).replace(/'DESCRIPTION-TO-BE-GENERATED'/g,()=>i.t({value:r})).replace(/UUID-TO-BE-GENERATED/g,()=>(0,f.randomUUID)()));let s=(0,m.join)(e,`package.json`),l=JSON.parse(await(0,p.readFile)(s,`utf8`));l.name=t,l.engines.twenty=`>=${_}`;for(let e of v)l.devDependencies[e]=_;await(0,p.writeFile)(s,JSON.stringify(l,null,2))},x=`TO-BE-GENERATED`,S=`yarn.lock`,C=({appDirectory:e,reason:t})=>new r.t({code:`APP_PATH_UNAVAILABLE`,exitCode:r.n.CONFLICT,message:`${e} already exists and ${t}.`,hint:`Choose another app name, or pass --path with a new or empty directory.`,details:{path:e}}),w=async e=>{let i=await(0,p.stat)(e).catch(e=>{if(!r.r(e,`ENOENT`))throw e});if(!t.zt(i))return`missing`;if(!i.isDirectory())throw C({appDirectory:e,reason:`is not a directory`});if(n.r(await(0,p.readdir)(e)))throw C({appDirectory:e,reason:`is not empty`});return`empty`},T=async e=>{let t=await(0,p.readdir)(e,{recursive:!0,withFileTypes:!0}),n=[];for(let r of t){let t=(0,m.join)(r.parentPath,r.name),i=(0,m.relative)(e,t);r.isFile()&&i!==S&&(await(0,p.readFile)(t,`utf8`)).includes(x)&&n.push(i)}return n},E=async({stagingDirectory:e,appDirectory:t})=>{let n=[];try{for(let r of await(0,p.readdir)(e,{recursive:!0,withFileTypes:!0})){let i=(0,m.join)(r.parentPath,r.name),a=(0,m.join)(t,(0,m.relative)(e,i));r.isDirectory()?await(0,p.mkdir)(a):await(0,p.copyFile)(i,a,h.constants.COPYFILE_EXCL),n.push({createdPath:a,isDirectory:r.isDirectory()})}}catch(e){for(let{createdPath:e,isDirectory:t}of n.reverse())await(t?(0,p.rmdir)(e):(0,p.unlink)(e)).catch(()=>void 0);throw e}await(0,p.rm)(e,{recursive:!0,force:!0})},D=async({appDirectory:e,appName:t,appDisplayName:i,appDescription:a,signal:o})=>{await w(e);let s=(0,m.dirname)(e);await(0,p.mkdir)(s,{recursive:!0});let c=await(0,p.mkdtemp)((0,m.join)(s,`.${(0,m.basename)(e)}-`));try{await b({appName:t,appDisplayName:i,appDescription:a,appDirectory:c}),o.throwIfAborted();let s=await T(c);if(n.r(s))throw new r.t({code:`APP_INIT_FAILED`,message:`The app template still has placeholders in ${s.join(`, `)}.`,hint:`This CLI ships an app template it cannot render. Upgrade the twenty CLI.`,details:{unrenderedFiles:s}});o.throwIfAborted(),await w(e)===`empty`?await E({stagingDirectory:c,appDirectory:e}):await(0,p.rename)(c,e)}catch(t){throw await(0,p.rm)(c,{recursive:!0,force:!0}),t instanceof r.t||o.aborted?t:new r.t({code:`APP_INIT_FAILED`,message:`Could not create ${e}: ${t instanceof Error?t.message:String(t)}`,hint:`Files this command had written there were removed. Fix the cause, then run the command again.`,details:{path:e}})}},O=({appName:e,location:t,packageNames:n,packageVersion:r,nextSteps:i})=>{let a=Math.max(...i.map(({command:e})=>e.length));return[s.o(`Created ${e} in ${t}`),s.i(` ${l.n(n)} pinned to ${r}. Nothing was installed.`),``,s.t(`Next steps`),...i.map(({command:e,description:t})=>` ${s.r(e.padEnd(a))} ${s.i(`# ${t}`)}`)].join(`
|
|
2
|
-
`)},k=/^[\w./-]+$/,A=e=>k.test(e)?e:process.platform===`win32`?`'${e.replace(/'/g,`''`)}'`:`'${e.replace(/'/g,`'\\''`)}'`,j=({displayPath:e,isTargetConfigured:n,remoteName:r})=>{let i=t.zt(r)?` --remote ${A(r)}`:``;return[...e===`.`?[]:[{command:`cd ${A(e.startsWith(`-`)?`./${e}`:e)}`,description:`Enter the new app`}],{command:`yarn install`,description:`Install the pinned dependencies`},...n?[]:[{command:`twenty auth login --url <url>${t.zt(r)?` --name ${A(r)}`:``}`,description:`Connect a workspace`}],{command:`twenty app apply --create${i}`,description:`Build the app and install it in your workspace`}].map(e=>({...e,description:process.platform===`win32`?`${e.description} (PowerShell)`:e.description}))},M=/^(?:@[a-z0-9~-][a-z0-9._~-]*\/)?[a-z0-9~-][a-z0-9._~-]*$/,N=214,P=e=>e.length<=N&&![`node_modules`,`favicon.ico`].includes(e)&&M.test(e),F=({environment:e,remoteFlag:t})=>l.t({environment:e,remoteFlag:t,loadConfig:()=>d.t(u.t()),warn:()=>void 0}).then(()=>!0,()=>!1),I=({workingDirectory:e,appDirectory:t})=>{let n=(0,m.relative)(e,t);return n===``?`.`:n.startsWith(`..`)||(0,m.isAbsolute)(n)?t:n},L=async({arguments:e,options:t,output:n,signal:i})=>{let s=a.n(e,0)?.trim()??``;if(!P(s))throw new r.t({code:`INVALID_APP_NAME`,exitCode:r.n.USAGE,message:`"${s}" is not a valid package name.`,hint:`Use lowercase letters, digits, hyphens, dots or underscores, for example my-app.`});let c=process.cwd(),l=(0,m.resolve)(c,a.r(t,`path`)??(0,m.basename)(s)),u=a.r(t,`displayName`)?.trim(),d=(0,g.isNonEmptyString)(u)?u:o.t(s),f=a.r(t,`description`)?.trim()??``,p=I({workingDirectory:c,appDirectory:l}),h=p===`.`?`the current directory`:p;n.progress(`Creating ${s} in ${h}…`),await D({appDirectory:l,appName:s,appDisplayName:d,appDescription:f,signal:i});let y=a.r(t,`remote`),b=j({displayPath:p,isTargetConfigured:await F({environment:process.env,remoteFlag:y}),remoteName:y}),x=[...v];return{data:{app:{name:s,displayName:d,description:f,path:l},packages:x.map(e=>({name:e,version:_})),nextSteps:b},human:O({appName:s,location:h,packageNames:x,packageVersion:_,nextSteps:b})}};exports.runAppInitCommand=L;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./application-DuIJE2qG.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./resolve-request-url-jC5kYwkn.cjs"),o=require("./request-timeout-milliseconds.constant-DtyQHrll.cjs"),s=require("./parse-graphql-response-CtP9KTS2.cjs"),c=require("./style-BR52fK4V.cjs"),l=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),u=require("./read-app-identity-SeleQ_D6.cjs"),d=require("./resolve-app-project-D5ZXIpsG.cjs"),f=require("./to-cli-error-BBYf_wqo.cjs"),p=require("./format-data-value-B6rIbpJv.cjs"),m=require("./to-public-target-CIAwoOKL.cjs");let h=require("node:events");var g=e=>{let a=i.r(e,`name`),o=i.r(e,`universalIdentifier`);if(t.zt(a)&&t.zt(o)||t.zt(a)&&a.trim().length===0||t.zt(o)&&!n.s(o))throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`Use either a nonempty --name or a UUID of version 4 or later for --universal-identifier, or neither to watch every function in the app.`});return{...t.zt(a)?{name:a}:{},...t.zt(o)?{universalIdentifier:o.toLowerCase()}:{}}},_=e.t();async function*v({body:e,signal:t,frameByteLimit:n=a.l}){let i=e.getReader(),o=new TextDecoder,s=``,c=``,l=[],u=0,d=!1,f=e=>{if(u+=e,u>n)throw new r.t({code:`RESPONSE_LIMIT_EXCEEDED`,message:`A log stream frame exceeds ${n} bytes.`,details:{byteLimit:n}})},p=()=>{i.cancel().catch(()=>void 0)};t.addEventListener(`abort`,p,{once:!0});try{t.throwIfAborted();for(let e=await i.read();!e.done;e=await i.read()){t.throwIfAborted();let n=0;for(let r=0;r<e.value.length;r+=1){let i=e.value[r];if(d&&(d=!1,i===10)){f(1),n=r+1;continue}if(!(i!==10&&i!==13)){if(f(r-n+1),s+=o.decode(e.value.subarray(n,r),{stream:!0}),s+=o.decode(),n=r+1,d=i===13,s.length===0){let e={event:c,data:l.join(`
|
|
2
|
-
`)};c=``,l=[],u=0,(e.event.length>0||e.data.length>0)&&(yield e,t.throwIfAborted())}else{let e=s.indexOf(`:`),t=e===-1?s:s.slice(0,e),n=e===-1?``:s.slice(e+1).replace(/^ /,``);t===`event`?c=n:t===`data`&&l.push(n)}s=``}}f(e.value.length-n),s+=o.decode(e.value.subarray(n),{stream:!0})}t.throwIfAborted()}finally{t.removeEventListener(`abort`,p),await i.cancel().catch(()=>void 0),i.releaseLock()}}var y=e=>new r.t({code:`INVALID_RESPONSE`,message:e}),b=async({target:e,signal:n,query:i,variables:c,onConnected:l,onData:u})=>{let d=a.t({apiUrl:e.apiUrl,path:s.r.metadata}),f=new AbortController,p=AbortSignal.any([n,f.signal]),m=setTimeout(()=>f.abort(new DOMException(`Connection timed out`,`TimeoutError`)),o.t);try{let n=await a.c(d,{method:`POST`,headers:{Authorization:`Bearer ${e.bearerToken}`,"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify({query:i,variables:c}),redirect:`manual`,signal:p},o.t);if(n.status>=300&&n.status<400)throw await n.body?.cancel(),a.i(n,d);if(!n.ok||n.headers.get(`content-type`)?.split(`;`)[0].trim().toLowerCase()!==`text/event-stream`){let t=await a.s(n,a.l);throw await s.t({response:new Response([204,205].includes(n.status)?null:t,{status:n.status,headers:n.headers}),target:e}),y(`The server did not return a GraphQL event stream.`)}if(!t.zt(n.body))throw y(`The server returned an empty log stream.`);clearTimeout(m),await l();for await(let r of v({body:n.body,signal:p})){if(r.event===`complete`)return;if(r.event!==`next`)throw y(`The server returned an unsupported GraphQL stream event.`);let i;try{i=JSON.parse(r.data)}catch{throw y(`The log stream contains invalid JSON.`)}if(!t.d(i))throw y(`The log stream contains an invalid GraphQL result.`);if((0,_.isArray)(i.errors)&&i.errors.length>0)throw s.n({errors:i.errors,data:i.data,status:n.status,headers:n.headers,target:e});if(!(`data`in i))throw y(`The log stream contains no GraphQL data.`);await u(i.data)}throw new r.t({code:`NETWORK_ERROR`,message:`The log stream ended without a completion event.`,hint:`Restart twenty app logs to resume watching. Logs produced while disconnected cannot be replayed.`})}catch(e){throw a.o({error:e,signal:n,url:d,timeoutMilliseconds:o.t})}finally{clearTimeout(m),f.abort()}},x=e=>{if(!(e instanceof r.t)||e.code!==`GRAPHQL_ERROR`)return!1;let n=e.details?.errors;return(0,_.isArray)(n)&&n.length>0&&n.every(e=>t.d(e)&&(!t.zt(e.code)||e.code===`GRAPHQL_VALIDATION_FAILED`)&&(0,_.isString)(e.message)&&/Cannot query field "(?:name|universalIdentifier)" on type "LogicFunctionLogs"/.test(e.message))},S=async({applicationUniversalIdentifier:e,filter:n,target:i,signal:a,onConnected:o,onIdentityUnavailable:s,onRecord:c})=>{let l=0,u=s=>b({target:i,signal:a,query:`subscription SubscribeToLogs($input: LogicFunctionLogsInput!) {
|
|
3
|
-
logicFunctionLogs(input: $input) {
|
|
4
|
-
logs
|
|
5
|
-
${s?`name universalIdentifier`:``}
|
|
6
|
-
}
|
|
7
|
-
}`,variables:{input:{applicationUniversalIdentifier:e,...n}},onConnected:o,onData:async i=>{let a=t.d(i)?i.logicFunctionLogs:void 0;if(!t.d(a)||!(0,_.isString)(a.logs)||t.zt(a.name)&&!(0,_.isString)(a.name)||t.zt(a.universalIdentifier)&&!(0,_.isString)(a.universalIdentifier))throw new r.t({code:`INVALID_RESPONSE`,message:`The server returned an invalid application log record.`});l+=1,await c({applicationUniversalIdentifier:e,functionName:a.name??n.name??null,functionUniversalIdentifier:a.universalIdentifier??n.universalIdentifier??null,logs:a.logs})}});try{await u(!0)}catch(e){if(a.aborted||l>0||!x(e))throw e;await s(),await u(!1)}},C=async e=>{let{options:n,output:a,outputMode:o,signal:s,target:_}=e,v=g(n),y=await u.t({appPath:(await d.t({explicitPath:i.r(n,`path`),workingDirectory:process.cwd()})).path,signal:s});if(!t.zt(y.application))throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`This project has no application definition.`});let b=y.application.universalIdentifier.toLowerCase(),x=0;if(await a.event(`start`,{target:m.t(_),applicationUniversalIdentifier:b,filter:v,diagnostics:y.diagnostics},s),o===`human`){for(let e of y.diagnostics)a.progress(l.s(e));a.progress(`Watching ${p.r(y.application.displayName??b)} logs on ${_.apiUrl}. New executions only. Press Ctrl+C to stop.`)}try{await S({applicationUniversalIdentifier:b,filter:v,target:_,signal:s,onConnected:()=>a.event(`progress`,{kind:`connected`},s),onIdentityUnavailable:async()=>{let e={code:`LOG_IDENTITY_UNAVAILABLE`,message:`This server returns log text without function identities. Mixed logs cannot be attributed to individual functions; use --universal-identifier to isolate one, or upgrade the server.`};o===`human`?a.progress(c.s(e.message)):a.warn(e)},onRecord:async e=>{if(o===`ndjson`)await a.event(`record`,e,s);else{let n=[...t.zt(e.functionName)?[c.n(`cyan`,p.r(e.functionName))]:[],...t.zt(e.functionUniversalIdentifier)?[c.i(p.r(e.functionUniversalIdentifier))]:[]].join(` · `),r=[...n.length>0?[`[${n}]`]:[],...e.logs.replace(/\n$/,``).split(`
|
|
8
|
-
`).map(p.r)].join(`
|
|
9
|
-
`);s.throwIfAborted(),process.stdout.write(`${r}\n`)||await(0,h.once)(process.stdout,`drain`,{signal:s}),s.throwIfAborted()}x+=1}})}catch(e){let t=f.t(e,s);throw new r.t({code:t.code,exitCode:t.exitCode,message:t.message,hint:t.code===`NETWORK_ERROR`?`Restart twenty app logs to resume watching. Logs produced while disconnected cannot be replayed.`:t.hint,details:{...t.details,applicationUniversalIdentifier:b,filter:v,recordCount:x}})}return{data:{applicationUniversalIdentifier:b,filter:v,recordCount:x},human:`Log stream completed.`}};exports.runAppLogsCommand=C;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./constants-CL6mrTMT-B748cNNG.cjs"),t=require("./resolve-source-sdk-mK-f4q55.cjs"),n=require("./read-command-values-uSJqBG_E.cjs"),r=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),i=require("./resolve-app-project-D5ZXIpsG.cjs"),a=require("./create-tooling-failure-DLI5FlQP.cjs"),o=require("./cli-version.constant-aSp8WZDh.cjs");var s={build:`Building`,typecheck:`Typechecking`},c=({release:t,isSnapshotHeld:n})=>n?!e.d(t)||t.success!==!0:e.d(t)&&t.success===!1,l=async({operation:l,parseData:u,context:{options:d,output:f,outputMode:p,signal:m},useHeldBuild:h})=>{let g=await i.t({explicitPath:n.r(d,`path`),workingDirectory:process.cwd()}),_=await t.t({appPath:g.path});f.progress(`${s[l]} ${g.name} with twenty ${o.t}…`);let v=performance.now(),y=({result:e,output:t})=>{let n=r.o({value:e,parseData:u}),i=[...n.diagnostics,...r.t(t)];if(p===`human`)for(let e of i)f.progress(r.s(e));if(!n.success)throw a.t({error:n.error,diagnostics:i,sdkVersion:_.version});return{data:n.data,diagnostics:i}},b,x=await r.n({request:l===`build`?{type:`bundleSnapshot`,appPath:g.path,holdSnapshot:e.zt(h)}:{type:`typecheckSource`,appPath:g.path},signal:m,...e.zt(h)?{useHeldSnapshot:async e=>{b=y(e),await h({project:g,sdk:_,...b})}}:{}});e.zt(b)||m.throwIfAborted();let{data:S,diagnostics:C}=b??y(x);return c(x)&&f.warn({code:`SNAPSHOT_RELEASE_FAILED`,message:`The temporary build snapshot could not be removed. You can delete .twenty/cli/snapshots once no build is running.`}),{project:g,sdk:_,data:S,diagnostics:C,durationMilliseconds:Math.round(performance.now()-v)}},u=({context:e,useHeldBuild:t})=>l({operation:`build`,parseData:r.i,context:e,useHeldBuild:t}),d=({context:e})=>l({operation:`typecheck`,parseData:r.a,context:e});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./get-app-plan-summary-B0uwHXbO.cjs"),t=require("./run-app-operation-BWrY9YZK.cjs");var n=async n=>{let r=performance.now(),{project:i,sdk:a,data:o,diagnostics:s}=await t.t({context:n}),c=n.options.delete!==!1;n.output.progress(`Computing metadata plan (read-only, nothing will be applied)…`);let l=await e.i({build:o,inferDeletionFromMissingEntities:c,target:n.target,signal:n.signal}),u=e.t(l);return{data:{app:{path:i.path,name:i.name},sdk:{version:a.version},application:o.application,contentHash:o.contentHash,plan:!0,inferDeletionFromMissingEntities:c,actions:l,summary:u,diagnostics:s,durationMilliseconds:Math.round(performance.now()-r)},human:e.n({applicationName:o.application.displayName,apiUrl:n.target.apiUrl,actions:l,summary:u,inferDeletionFromMissingEntities:c})}};exports.runAppPlanCommand=n;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-CL6mrTMT-B748cNNG.cjs"),n=require("./application-DuIJE2qG.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./build-pull-entities-zwArrVMk.cjs"),a=require("./read-command-values-uSJqBG_E.cjs"),o=require("./style-BR52fK4V.cjs"),s=require("./to-worker-output-diagnostics-lprh9b0l.cjs"),c=require("./read-app-identity-SeleQ_D6.cjs"),l=require("./resolve-app-project-D5ZXIpsG.cjs"),u=require("./format-data-value-B6rIbpJv.cjs"),d=require("./fetch-workspace-id-DJStmf_V.cjs");var f=20,p=[{status:`UNSUPPORTED`,title:`Not written, unsupported by this version`},{status:`FOREIGN_OWNED`,title:`Owned by another application, not written`},{status:`EXCLUDED`,title:`Excluded as workspace runtime state`},{status:`ENGINE_DERIVED`,title:`Derived by the engine, rebuilt on apply`}],m=({title:e,relativePaths:t})=>t.length===0?[]:t.slice().sort().map(t=>` ${e.padEnd(13)}${t}`),h=e=>{let t=new Map;for(let n of e){let e=JSON.stringify([n.metadataName,n.reason]),r=t.get(e)??{metadataName:n.metadataName,reason:n.reason,identifiers:[]};r.identifiers.push(n.universalIdentifier),t.set(e,r)}return[...t.values()].sort((e,t)=>e.metadataName.localeCompare(t.metadataName)||(e.reason??``).localeCompare(t.reason??``))},g=({writes:e,deletions:n,unchangedCount:r,skipped:i,coverage:a,localOnlyRelativePaths:o,unreadableRelativePaths:s=[],compiledTranslationEntryCountByLocale:c={},entityLabelByUniversalIdentifier:l={},verbose:u=!1})=>{let d=[...m({title:`written`,relativePaths:e.filter(e=>!e.isRegeneration).map(e=>e.relativePath)}),...m({title:`regenerated`,relativePaths:e.filter(e=>e.isRegeneration).map(e=>e.relativePath)}),...m({title:`deleted`,relativePaths:n.map(e=>e.relativePath)})];if(r>0&&d.push(` unchanged ${r} file(s)`),i.length>0){d.push(``,`Not written by the writer:`);for(let e of i)d.push(` ${e.kind} ${e.reason}`)}s.length>0&&d.push(``,`Could not be read, so a second file may now define the same entity (check their diagnostics and SDK dependencies before pulling again):`,...s.slice().sort().map(e=>` ${e}`)),o.length>0&&d.push(``,`Local entities the workspace does not have (left untouched):`,...o.slice().sort().map(e=>` ${e}`));let g=a.filter(e=>e.status===`EXPORTED`&&t.zt(e.reason)).map(e=>` ${e.metadataName} ${l[e.universalIdentifier]??e.universalIdentifier}: ${e.reason}`).sort();if(g.length>0){let e=u?g:g.slice(0,f);d.push(``,`Written without their workspace-local state (${g.length} row(s)):`,...e),g.length>e.length&&d.push(` …and ${g.length-e.length} more, listed with --verbose`)}for(let e of p){let t=a.filter(t=>t.status===e.status);if(t.length!==0){d.push(``,`${e.title} (${t.length} row(s)):`);for(let{metadataName:e,reason:n,identifiers:r}of h(t))if(d.push(` ${e.padEnd(34)}${String(r.length).padEnd(6)}${n??``}`.trimEnd()),u){for(let e of r.slice(0,f))d.push(` ${e}`);r.length>f&&d.push(` …and ${r.length-f} more`)}}}let _=Object.entries(c).filter(([,e])=>e>0).sort(([e],[t])=>e.localeCompare(t));return _.length>0&&d.push(``,`Translations kept in compiled form until their source strings are in this tree (see locales/compiled/):`,..._.map(([e,t])=>` ${e.padEnd(13)}${t} ${t===1?`entry`:`entries`}`)),d.join(`
|
|
2
|
-
`)},_=e.t(),v=e=>(0,_.isString)(e)&&i.t.some(t=>t===e),y=e=>t.d(e)&&(0,_.isString)(e.universalIdentifier)&&(0,_.isString)(e.relativePath),b=e=>t.d(e)&&(v(e.kind)||e.kind===`translation`)&&(0,_.isBoolean)(e.isRegeneration)&&y(e),x=e=>t.d(e)&&v(e.kind)&&(0,_.isString)(e.universalIdentifier)&&(0,_.isString)(e.reason),S=e=>t.d(e)&&Object.values(e).every(_.isString),C=e=>t.d(e)&&Object.values(e).every(_.isNumber),w=e=>{if(!t.d(e)||!t.d(e.application)||!(0,_.isString)(e.application.universalIdentifier)||!(0,_.isString)(e.application.displayName)||!t.d(e.base)||!(0,_.isArray)(e.writes)||!e.writes.every(b)||!(0,_.isArray)(e.deletions)||!e.deletions.every(y)||!(0,_.isArray)(e.overwrittenLocalChanges)||!e.overwrittenLocalChanges.every(y)||!(0,_.isNumber)(e.unchangedCount)||!(0,_.isArray)(e.localOnlyRelativePaths)||!e.localOnlyRelativePaths.every(_.isString)||!(0,_.isArray)(e.unreadableRelativePaths)||!e.unreadableRelativePaths.every(_.isString)||!(0,_.isArray)(e.skipped)||!e.skipped.every(x)||!C(e.compiledTranslationEntryCountByLocale)||!S(e.entityLabelByUniversalIdentifier))return;let n=e.base.status;if(!(n!==`used`&&n!==`missing`&&n!==`other-target`&&n!==`unbound`&&n!==`unreadable`))return{data:{application:{universalIdentifier:e.application.universalIdentifier,displayName:e.application.displayName},base:{status:n},writes:e.writes,deletions:e.deletions,overwrittenLocalChanges:e.overwrittenLocalChanges,unchangedCount:e.unchangedCount,localOnlyRelativePaths:e.localOnlyRelativePaths,unreadableRelativePaths:e.unreadableRelativePaths,skipped:e.skipped,compiledTranslationEntryCountByLocale:e.compiledTranslationEntryCountByLocale,entityLabelByUniversalIdentifier:e.entityLabelByUniversalIdentifier}}},T=async({options:e,target:i,signal:f,output:p,outputMode:m})=>{let h=await l.t({explicitPath:a.r(e,`path`),workingDirectory:process.cwd()}),_=a.r(e,`universalIdentifier`);if(t.zt(_)&&!n.s(_))throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`--universal-identifier must be a UUID of version 4 or later.`});let v=await c.t({appPath:h.path,signal:f}),y=(_??v.application?.universalIdentifier)?.toLowerCase();if(!t.zt(y))throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`This project has no application definition.`,hint:`Pass --universal-identifier <uuid> to pull an app into this project.`});if(t.zt(v.application)&&v.application.universalIdentifier.toLowerCase()!==y)throw new r.t({code:`INVALID_INPUT`,exitCode:r.n.USAGE,message:`This project declares application ${v.application.universalIdentifier}, not ${y}. Pull it into a different directory.`});p.progress(`Exporting the app from ${i.apiUrl}…`);let[b,x]=await Promise.all([d.t({target:i,signal:f}),d.n({universalIdentifier:y,target:i,signal:f})]);p.progress(`Reconciling local definitions. Changed workspace entities replace local edits…`);let S=await s.n({request:{type:`pull`,appPath:h.path,target:{apiUrl:i.apiUrl,workspaceId:b},applicationExport:x},signal:f}).catch(e=>{throw new r.t({code:e instanceof r.t?e.code:`PULL_FAILED`,exitCode:e instanceof r.t?e.exitCode:r.n.FAILURE,message:e instanceof Error?e.message:String(e),hint:`The worker did not acknowledge completion. Inspect local changes and any backups in .twenty/cli/pull-backup-* before retrying.`,details:{...e instanceof r.t?e.details:{},outcome:`unknown`}})}),C=s.o({value:S.result,parseData:w}),T=[...v.diagnostics,...C.diagnostics,...s.t(S.output)];if(m===`human`)for(let e of T)p.progress(s.s(e));if(!C.success)throw new r.t({code:C.error.code===`CANCELLED`?`CANCELLED`:C.error.code===`SDK_SOURCE_UNSUPPORTED`?`SDK_SOURCE_UNSUPPORTED`:`PULL_FAILED`,exitCode:C.error.code===`CANCELLED`?r.n.CANCELLED:r.n.FAILURE,message:C.error.message,hint:C.error.hint??(C.error.code===`SDK_SOURCE_UNSUPPORTED`?`Upgrade the app to a compatible twenty-sdk version (2.40.0 or later).`:void 0),details:{...C.error.details,diagnostics:T}});let E=C.data;(E.skipped.length>0||E.unreadableRelativePaths.length>0||x.coverage.some(e=>![`EXPORTED`,`ENGINE_DERIVED`].includes(e.status)))&&p.warn({code:`PULL_INCOMPLETE`,message:`Some entities could not be written. See coverage, skipped entities and unreadable files in the pull report.`});let D=g({...E,writes:E.writes.map(e=>({...e,relativePath:u.r(e.relativePath)})),deletions:E.deletions.map(e=>({...e,relativePath:u.r(e.relativePath)})),skipped:E.skipped.map(e=>({...e,reason:u.r(e.reason)})),localOnlyRelativePaths:E.localOnlyRelativePaths.map(u.r),unreadableRelativePaths:E.unreadableRelativePaths.map(u.r),entityLabelByUniversalIdentifier:Object.fromEntries(Object.entries(E.entityLabelByUniversalIdentifier).map(([e,t])=>[e,u.r(t)])),coverage:x.coverage.map(e=>({...e,metadataName:u.r(e.metadataName),universalIdentifier:u.r(e.universalIdentifier),reason:e.reason===null?null:u.r(e.reason)})),verbose:a.t(e,`verbose`)}),O=x.coverage.filter(e=>![`EXPORTED`,`UNSUPPORTED`,`FOREIGN_OWNED`,`EXCLUDED`,`ENGINE_DERIVED`].includes(e.status));return{data:{app:{path:h.path,name:h.name},...E,pulled:!0,coverage:x.coverage,diagnostics:T},human:[o.o(`Pulled ${u.r(E.application.displayName)} into ${u.r(h.path)}`),D,...E.base.status===`used`?[]:[`No matching pull base (${E.base.status}); local-only definitions were kept.`],...E.overwrittenLocalChanges.length>0?[`Local edits replaced by workspace changes:`,...E.overwrittenLocalChanges.map(e=>` ${u.r(e.relativePath)}`)]:[],...O.length>0?[`Unrecognized coverage, not written:`,...O.map(e=>` ${u.r(e.metadataName)} ${u.r(e.status)}: ${u.r(e.reason)}`)]:[],`Run ${o.r(`twenty app typecheck`)} to check the generated definitions.`].filter(Boolean).join(`
|
|
3
|
-
`)}};exports.runAppPullCommand=T;
|