twenty 2.51.1 → 2.51.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/app-template/yarn.lock +93 -93
  2. package/dist/app-worker.cjs +1 -1
  3. package/dist/chunks/{build-source-manifest-BmZlsY97.cjs → build-source-manifest-Gw2TI8Xe.cjs} +1 -1
  4. package/dist/chunks/{build-source-snapshot-BWbLS2F3.cjs → build-source-snapshot-lbc2Pb7D.cjs} +1 -1
  5. package/dist/chunks/{check-node-requirement-CGBKvEqH.cjs → check-node-requirement-B_hf2E32.cjs} +1 -1
  6. package/dist/chunks/cli-version.constant-B92ETb2e.cjs +1 -0
  7. package/dist/chunks/{extract-source-translations-DeVUs6Xz.cjs → extract-source-translations-EiwJs83j.cjs} +1 -1
  8. package/dist/chunks/{global-flags.constant-CRom3uiZ.cjs → global-flags.constant-Bd-dYByR.cjs} +1 -1
  9. package/dist/chunks/{read-app-identity-dWB3NG6p.cjs → read-app-identity-Da5yI23t.cjs} +1 -1
  10. package/dist/chunks/{read-application-identifier-BlkRhC8j.cjs → read-application-identifier-C3qn6MSa.cjs} +1 -1
  11. package/dist/chunks/{resolve-source-sdk-CU1wk4bl.cjs → resolve-source-sdk-BNnltA8w.cjs} +1 -1
  12. package/dist/chunks/{run-app-add-command-wpCH-Lp9.cjs → run-app-add-command-C0ojf2K6.cjs} +1 -1
  13. package/dist/chunks/{run-app-apply-command-CPocg1Xz.cjs → run-app-apply-command-DM_46_Gl.cjs} +1 -1
  14. package/dist/chunks/{run-app-build-command-DSGpIZBT.cjs → run-app-build-command-DA7o-ebo.cjs} +1 -1
  15. package/dist/chunks/{run-app-dev-command-BOAYsAKr.cjs → run-app-dev-command-DkerkLC8.cjs} +1 -1
  16. package/dist/chunks/{run-app-exec-command-Fwi80y3g.cjs → run-app-exec-command-CpNraBBq.cjs} +1 -1
  17. package/dist/chunks/{run-app-generate-client-command-DidOpqNE.cjs → run-app-generate-client-command-a5IQE60M.cjs} +1 -1
  18. package/dist/chunks/run-app-init-command-ktxmLunJ.cjs +2 -0
  19. package/dist/chunks/{run-app-install-command-DPt8PzUS.cjs → run-app-install-command-AG25zpGx.cjs} +1 -1
  20. package/dist/chunks/{run-app-logs-command-C-9ZyGau.cjs → run-app-logs-command-Dd-OBwhF.cjs} +1 -1
  21. package/dist/chunks/{run-app-operation-Cw5M8v43.cjs → run-app-operation-BLlHL5Nk.cjs} +1 -1
  22. package/dist/chunks/{run-app-plan-command-CT1SlcdX.cjs → run-app-plan-command-7Bi90BQp.cjs} +1 -1
  23. package/dist/chunks/{run-app-publish-command-DiIlqdTg.cjs → run-app-publish-command-9zd_f_a3.cjs} +1 -1
  24. package/dist/chunks/{run-app-pull-command-r_NjC_Rk.cjs → run-app-pull-command-CdArJFPT.cjs} +1 -1
  25. package/dist/chunks/{run-app-translations-extract-command-Ba66GX7e.cjs → run-app-translations-extract-command-DrUZkCUW.cjs} +1 -1
  26. package/dist/chunks/{run-app-typecheck-command-MAxB7Yg3.cjs → run-app-typecheck-command-CQe2CTGd.cjs} +1 -1
  27. package/dist/chunks/{run-app-uninstall-command-BzYSsL5a.cjs → run-app-uninstall-command--RFHGXiH.cjs} +1 -1
  28. package/dist/chunks/{run-cli-CuxXyb__.cjs → run-cli-CwAoqiMW.cjs} +1 -1
  29. package/dist/chunks/{run-commands-command-D0P3mHHz.cjs → run-commands-command-Dp-Xzn5x.cjs} +1 -1
  30. package/dist/chunks/{run-doctor-command-ClisEoI5.cjs → run-doctor-command-C-gOPvp9.cjs} +1 -1
  31. package/dist/chunks/{run-version-command-DdKb9JL0.cjs → run-version-command-D4R17bRL.cjs} +1 -1
  32. package/dist/cli.cjs +1 -1
  33. package/package.json +2 -2
  34. package/dist/chunks/cli-version.constant-DGQXQw_V.cjs +0 -1
  35. package/dist/chunks/run-app-init-command-DRFYqMMh.cjs +0 -2
@@ -1,2 +1,2 @@
1
- const e=require("./cli-error-CSsayo0u.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./is-interaction-allowed-CF-ko1KI.cjs"),r=require("./style-BR52fK4V.cjs"),i=require("./with-phase-details-Dof8Ao9R.cjs"),a=require("./to-cli-error-BBYf_wqo.cjs"),o=require("./is-application-not-found-error-Cja7iQrL.cjs"),s=require("./create-metadata-client-9IF8ArjT.cjs"),c=require("./format-data-value-kug8Yjt2.cjs"),l=require("./require-approval-D0FfoHhF.cjs"),u=require("./create-app-not-installed-error-DY-iuPPx.cjs"),d=require("./read-application-identifier-BlkRhC8j.cjs");var f=new Set([`AUTH_REQUIRED`,`PERMISSION_DENIED`]),p=({code:e,outcome:t})=>t===`unknown`?`The uninstall may have partly run. Run twenty app uninstall again: it reports APP_NOT_INSTALLED once the app is gone.`:e===`APP_NOT_INSTALLED`?`Nothing was uninstalled. Check the target workspace and the universal identifier.`:`Fix the problem, then run twenty app uninstall again.`,m=({error:e,phase:t,completedPhases:n,signal:r})=>{let o=a.t(e,r),s=t!==`uninstall`||f.has(o.code)?`not-started`:`unknown`;return i.t({error:o,phase:t,outcome:s,completedPhases:n,hint:p({code:o.code,outcome:s})})},h=async({universalIdentifier:t,target:n,signal:r})=>{if((await s.t({target:n,signal:r}).mutation({__name:`UninstallApplication`,uninstallApplication:{__args:{universalIdentifier:t}}}).catch(e=>{throw o.t({error:e,field:`uninstallApplication`})?u.t({universalIdentifier:t,apiUrl:n.apiUrl}):e}))?.uninstallApplication!==!0)throw new e.t({code:`INVALID_RESPONSE`,message:`The server did not confirm the uninstall of ${t}.`})},g=async i=>{let{options:a,target:o,signal:s,output:u,outputMode:f}=i,p=[],g=(e,t)=>m({error:e,phase:t,completedPhases:p,signal:s}),_=await d.t({context:i,onIdentityRead:()=>p.push(`identity`)}).catch(e=>{throw g(e,`identity`)});u.progress({message:`Checking the app on ${o.apiUrl}…`});let v=await d.n({universalIdentifier:_,target:o,signal:s}).catch(e=>{throw g(e,`check`)}),y=c.r(v.name);if(!v.canBeUninstalled)throw g(new e.t({code:`APP_NOT_UNINSTALLABLE`,exitCode:e.n.CONFLICT,message:`${y} cannot be uninstalled from ${o.apiUrl}.`}),`check`);return p.push(`check`),await l.t({isApproved:t.t(a,`yes`),canPrompt:n.t({options:a,outputMode:f}),question:`Uninstall ${y} from ${o.apiUrl}? Its objects, fields and their data are permanently deleted.`,code:`CONFIRMATION_REQUIRED`,message:`Uninstalling ${y} permanently deletes its objects, fields and their data.`,hint:`Pass --yes to uninstall it.`,declinedMessage:`Uninstall stopped at the confirmation prompt.`,signal:s}).catch(e=>{throw g(e,`confirmation`)}),u.progress({message:`Uninstalling ${y}…`}),await h({universalIdentifier:_,target:o,signal:s}).catch(e=>{throw g(e,`uninstall`)}),p.push(`uninstall`),{data:{application:{universalIdentifier:_,name:v.name},uninstalled:!0,completedPhases:p},human:[r.o(`Uninstalled ${y} from ${o.apiUrl}`),r.i(` Its registration is kept, so twenty app apply can install it again.`)].join(`
1
+ const e=require("./cli-error-CSsayo0u.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./is-interaction-allowed-CF-ko1KI.cjs"),r=require("./style-BR52fK4V.cjs"),i=require("./with-phase-details-Dof8Ao9R.cjs"),a=require("./to-cli-error-BBYf_wqo.cjs"),o=require("./is-application-not-found-error-Cja7iQrL.cjs"),s=require("./create-metadata-client-9IF8ArjT.cjs"),c=require("./format-data-value-kug8Yjt2.cjs"),l=require("./require-approval-D0FfoHhF.cjs"),u=require("./create-app-not-installed-error-DY-iuPPx.cjs"),d=require("./read-application-identifier-C3qn6MSa.cjs");var f=new Set([`AUTH_REQUIRED`,`PERMISSION_DENIED`]),p=({code:e,outcome:t})=>t===`unknown`?`The uninstall may have partly run. Run twenty app uninstall again: it reports APP_NOT_INSTALLED once the app is gone.`:e===`APP_NOT_INSTALLED`?`Nothing was uninstalled. Check the target workspace and the universal identifier.`:`Fix the problem, then run twenty app uninstall again.`,m=({error:e,phase:t,completedPhases:n,signal:r})=>{let o=a.t(e,r),s=t!==`uninstall`||f.has(o.code)?`not-started`:`unknown`;return i.t({error:o,phase:t,outcome:s,completedPhases:n,hint:p({code:o.code,outcome:s})})},h=async({universalIdentifier:t,target:n,signal:r})=>{if((await s.t({target:n,signal:r}).mutation({__name:`UninstallApplication`,uninstallApplication:{__args:{universalIdentifier:t}}}).catch(e=>{throw o.t({error:e,field:`uninstallApplication`})?u.t({universalIdentifier:t,apiUrl:n.apiUrl}):e}))?.uninstallApplication!==!0)throw new e.t({code:`INVALID_RESPONSE`,message:`The server did not confirm the uninstall of ${t}.`})},g=async i=>{let{options:a,target:o,signal:s,output:u,outputMode:f}=i,p=[],g=(e,t)=>m({error:e,phase:t,completedPhases:p,signal:s}),_=await d.t({context:i,onIdentityRead:()=>p.push(`identity`)}).catch(e=>{throw g(e,`identity`)});u.progress({message:`Checking the app on ${o.apiUrl}…`});let v=await d.n({universalIdentifier:_,target:o,signal:s}).catch(e=>{throw g(e,`check`)}),y=c.r(v.name);if(!v.canBeUninstalled)throw g(new e.t({code:`APP_NOT_UNINSTALLABLE`,exitCode:e.n.CONFLICT,message:`${y} cannot be uninstalled from ${o.apiUrl}.`}),`check`);return p.push(`check`),await l.t({isApproved:t.t(a,`yes`),canPrompt:n.t({options:a,outputMode:f}),question:`Uninstall ${y} from ${o.apiUrl}? Its objects, fields and their data are permanently deleted.`,code:`CONFIRMATION_REQUIRED`,message:`Uninstalling ${y} permanently deletes its objects, fields and their data.`,hint:`Pass --yes to uninstall it.`,declinedMessage:`Uninstall stopped at the confirmation prompt.`,signal:s}).catch(e=>{throw g(e,`confirmation`)}),u.progress({message:`Uninstalling ${y}…`}),await h({universalIdentifier:_,target:o,signal:s}).catch(e=>{throw g(e,`uninstall`)}),p.push(`uninstall`),{data:{application:{universalIdentifier:_,name:v.name},uninstalled:!0,completedPhases:p},human:[r.o(`Uninstalled ${y} from ${o.apiUrl}`),r.i(` Its registration is kept, so twenty app apply can install it again.`)].join(`
2
2
  `)}};exports.runAppUninstallCommand=g;
@@ -1,4 +1,4 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-CvvLHbc4-CKDJ1YgX.cjs"),n=require("./constants-D-caeNc5-9rDzSg5B.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./is-interaction-allowed-CF-ko1KI.cjs"),a=require("./style-BR52fK4V.cjs"),o=require("./to-cli-error-BBYf_wqo.cjs"),s=require("./cli-version.constant-DGQXQw_V.cjs"),c=require("./format-progress-line-DhMnjGkz.cjs"),l=require("./to-public-target-bNT50le0.cjs"),u=require("./resolve-command-target-BWCnYRCn.cjs"),d=require("./global-flags.constant-CRom3uiZ.cjs");let f=require("node:events"),p=require("node:readline");var m=e.t();function h({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}var g=h();function _(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(g,``)}var v=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],y=[12288,12288,65281,65376,65504,65510],b=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],x=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],S=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],C=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ee=v[0],te=v.at(-1),ne=y[0],re=y.at(-1);b[0],b.at(-1),x[0],x.at(-1);var ie=S[0],ae=S.at(-1),w=19968,[oe,se]=T(S);function T(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(w>=i&&w<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}var ce=e=>e<ee||e>te?!1:C(v,e),le=e=>e<ne||e>re?!1:C(y,e),ue=e=>e>=oe&&e<=se?!0:e<ie||e>ae?!1:C(S,e);function de(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function E(e,{ambiguousAsWide:t=!1}={}){return de(e),le(e)||ue(e)||t&&ce(e)?2:1}var fe=new Intl.Segmenter,pe=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v,me=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v,he=/^\p{RGI_Emoji}$/v,ge=/^[\d#*]\u20E3$/,D=/\p{Extended_Pictographic}/gu;function O(e){if(e.length>50)return!1;if(ge.test(e))return!0;if(e.includes(`‍`)){let t=e.match(D);return t!==null&&t.length>=2}return!1}function k(e){return e.replace(me,``)}function A(e){return pe.test(e)}function j(e,t){let n=0;if(e.length>1)for(let r of e.slice(1))r>=`＀`&&r<=`￯`&&(n+=E(r.codePointAt(0),t));return n}function M(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=_(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of fe.segment(i)){if(A(e))continue;if(he.test(e)||O(e)){a+=2;continue}let t=k(e).codePointAt(0);a+=E(t,o),a+=j(e,o)}return a}var N=({stream:e,text:t})=>{e.write(t.endsWith(`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-CvvLHbc4-CKDJ1YgX.cjs"),n=require("./constants-D-caeNc5-9rDzSg5B.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./is-interaction-allowed-CF-ko1KI.cjs"),a=require("./style-BR52fK4V.cjs"),o=require("./to-cli-error-BBYf_wqo.cjs"),s=require("./cli-version.constant-B92ETb2e.cjs"),c=require("./format-progress-line-DhMnjGkz.cjs"),l=require("./to-public-target-bNT50le0.cjs"),u=require("./resolve-command-target-BWCnYRCn.cjs"),d=require("./global-flags.constant-Bd-dYByR.cjs");let f=require("node:events"),p=require("node:readline");var m=e.t();function h({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}var g=h();function _(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(g,``)}var v=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],y=[12288,12288,65281,65376,65504,65510],b=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],x=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],S=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],C=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ee=v[0],te=v.at(-1),ne=y[0],re=y.at(-1);b[0],b.at(-1),x[0],x.at(-1);var ie=S[0],ae=S.at(-1),w=19968,[oe,se]=T(S);function T(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(w>=i&&w<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}var ce=e=>e<ee||e>te?!1:C(v,e),le=e=>e<ne||e>re?!1:C(y,e),ue=e=>e>=oe&&e<=se?!0:e<ie||e>ae?!1:C(S,e);function de(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function E(e,{ambiguousAsWide:t=!1}={}){return de(e),le(e)||ue(e)||t&&ce(e)?2:1}var fe=new Intl.Segmenter,pe=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v,me=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v,he=/^\p{RGI_Emoji}$/v,ge=/^[\d#*]\u20E3$/,D=/\p{Extended_Pictographic}/gu;function O(e){if(e.length>50)return!1;if(ge.test(e))return!0;if(e.includes(`‍`)){let t=e.match(D);return t!==null&&t.length>=2}return!1}function k(e){return e.replace(me,``)}function A(e){return pe.test(e)}function j(e,t){let n=0;if(e.length>1)for(let r of e.slice(1))r>=`＀`&&r<=`￯`&&(n+=E(r.codePointAt(0),t));return n}function M(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=_(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of fe.segment(i)){if(A(e))continue;if(he.test(e)||O(e)){a+=2;continue}let t=k(e).codePointAt(0);a+=E(t,o),a+=j(e,o)}return a}var N=({stream:e,text:t})=>{e.write(t.endsWith(`
2
2
  `)?t:`${t}\n`)},P=({mode:e})=>{let t=!1,r=()=>{t&&=((0,p.cursorTo)(process.stderr,0),(0,p.clearLine)(process.stderr,0),!1)};return{write:({message:a,percentage:o})=>{let s=n.Ut(o)?`${o}%`:``,l=Math.min(20,(process.stderr.columns??80)-M(a)-s.length-5);if(r(),e!==`human`||!process.stderr.isTTY||i.n()||process.env.TERM===`dumb`||!n.Ut(o)||!Number.isFinite(o)||l<4){N({stream:process.stderr,text:c.t({message:a,percentage:o})});return}let u=Math.round(Math.min(100,Math.max(0,o))/100*l),d=`█`.repeat(u)+`░`.repeat(l-u);process.stderr.write(`${a} ${d} ${s}`),t=!0},clear:r}},F=async(e,t)=>{t.throwIfAborted(),process.stdout.write(`${JSON.stringify(e)}\n`)||await(0,f.once)(process.stdout,`drain`,{signal:t}),t.throwIfAborted()},I=e=>{N({stream:process.stdout,text:JSON.stringify(e)})},L=e=>e.split(`
3
3
  `).map(e=>(0,m.isNonEmptyString)(e)?` ${e}`:e).join(`
4
4
  `),R=e=>n.Ut(e)?{target:e}:{},z=({mode:e,command:t})=>{let r=[],i=P({mode:e}),o=0,s=(e,n)=>{o+=1,I({schemaVersion:1,command:t,type:e,sequence:o,data:n})},c=()=>{for(let e of r)N({stream:process.stderr,text:a.s(e.message)})};return{event:async(n,r,i)=>{e===`ndjson`&&(o+=1,await F({schemaVersion:1,command:t,type:n,sequence:o,data:r},i))},progress:({message:t,percentage:n})=>{if(e===`ndjson`){s(`progress`,{message:t,percentage:n});return}i.write({message:t,percentage:n})},warn:t=>{if(i.clear(),e===`ndjson`){s(`warning`,t);return}r.push(t)},succeed:({data:n,human:a},o)=>{if(i.clear(),e===`json`){I({schemaVersion:1,ok:!0,command:t,...R(o),data:n,warnings:r});return}if(e===`ndjson`){s(`result`,n);return}let l=a??JSON.stringify(n,null,2);(0,m.isNonEmptyString)(l)&&N({stream:process.stdout,text:l}),c()},fail:(o,l)=>{i.clear(),process.exitCode=o.exitCode;let u={code:o.code,message:o.message,...n.Ut(o.hint)?{hint:o.hint}:{},...n.Ut(o.details)?{details:o.details}:{}};if(e===`json`){I({schemaVersion:1,ok:!1,command:t,...R(l),error:u,warnings:r});return}if(e===`ndjson`){s(`error`,u);return}N({stream:process.stderr,text:a.a(o.message)}),n.Ut(o.hint)&&N({stream:process.stderr,text:L(o.hint)}),c()}}},B=`--format`,_e=e=>e.reduce((t,n,r)=>n.startsWith(`${B}=`)?n.slice(9):n===B?e[r+1]:t,void 0),ve=e=>{let t=e.indexOf(`--`),n=t===-1?e:e.slice(0,t),r=_e(n);return n.includes(`--json`)||r===`json`?`json`:r===`ndjson`?`ndjson`:`human`},V=class extends Error{commanderError;commandName;operands;constructor({commanderError:e,commandName:t,operands:n}){super(e.message),this.name=`CommandParseError`,this.commanderError=e,this.commandName=t,this.operands=n}},H=`twenty`,ye=()=>{let e={standardOutput:``,standardError:``};return{captured:e,configuration:{writeOut:t=>{e.standardOutput+=t},writeErr:t=>{e.standardError+=t},outputError:t=>{e.standardError+=t}}}},U=e.n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),W=e.n((e=>{var{InvalidArgumentError:t}=U(),n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),G=e.n((e=>{var{humanReadableArgName:t}=W(),n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
@@ -1,2 +1,2 @@
1
- const e=require("./constants-D-caeNc5-9rDzSg5B.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./global-flags.constant-CRom3uiZ.cjs"),r=require("./format-table-4drtI5sP.cjs");var i=async()=>{let i=n.r.map(t=>({name:n.n(t),description:t.description,arguments:(t.arguments??[]).map(({name:e,required:t})=>({name:e,required:t})),flags:(t.options??[]).filter(({hidden:e})=>e!==!0).map(({flags:e})=>e),outputs:t.outputModes,writes:t.writes,needsProject:t.needsProject,needsTarget:t.needsTarget,...e.Ut(t.requiredPermissions)?{requiredPermissions:t.requiredPermissions}:{}})).sort((e,t)=>e.name.localeCompare(t.name));return{data:{commands:i,globalFlags:Object.values(n.t)},human:[r.t({rows:i,columns:[{header:`COMMAND`,value:e=>e.name},{header:`DESCRIPTION`,value:e=>e.description}]}),`${t.i(`${i.length} commands · details: `)}${t.r(`twenty <command> --help`)}`].join(`
1
+ const e=require("./constants-D-caeNc5-9rDzSg5B.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./global-flags.constant-Bd-dYByR.cjs"),r=require("./format-table-4drtI5sP.cjs");var i=async()=>{let i=n.r.map(t=>({name:n.n(t),description:t.description,arguments:(t.arguments??[]).map(({name:e,required:t})=>({name:e,required:t})),flags:(t.options??[]).filter(({hidden:e})=>e!==!0).map(({flags:e})=>e),outputs:t.outputModes,writes:t.writes,needsProject:t.needsProject,needsTarget:t.needsTarget,...e.Ut(t.requiredPermissions)?{requiredPermissions:t.requiredPermissions}:{}})).sort((e,t)=>e.name.localeCompare(t.name));return{data:{commands:i,globalFlags:Object.values(n.t)},human:[r.t({rows:i,columns:[{header:`COMMAND`,value:e=>e.name},{header:`DESCRIPTION`,value:e=>e.description}]}),`${t.i(`${i.length} commands · details: `)}${t.r(`twenty <command> --help`)}`].join(`
2
2
  `)}};exports.runCommandsCommand=i;
@@ -1,2 +1,2 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./check-node-requirement-CGBKvEqH.cjs"),n=require("./cli-node-version-range.constant-D7fE8edk.cjs"),r=require("./utils-CvvLHbc4-CKDJ1YgX.cjs"),i=require("./constants-D-caeNc5-9rDzSg5B.cjs"),a=require("./read-json-object-BXZs97qz.cjs"),o=require("./has-yarn-plug-and-play-X3ay5Xl0.cjs"),s=require("./cli-error-CSsayo0u.cjs"),c=require("./resolve-source-sdk-CU1wk4bl.cjs"),l=require("./parse-api-url-CFCz3xUA.cjs"),u=require("./read-command-values-uSJqBG_E.cjs"),d=require("./target-environment-variable.constant-D7z8AihP.cjs"),f=require("./style-BR52fK4V.cjs"),p=require("./resolve-app-project-B0KRR-xp.cjs"),m=require("./cli-version.constant-DGQXQw_V.cjs"),h=require("./to-public-target-bNT50le0.cjs"),g=require("./select-target-DZlm8j62.cjs"),_=require("./get-config-path-C-D-QHuX.cjs"),v=require("./read-config-Qwl4pAO8.cjs"),y=require("./is-access-token-expiring-DT6D8bMy.cjs"),b=require("./config-file-mode.constant-DLBzKKUl.cjs"),x=require("./fetch-signed-in-identity-B49Tf79K.cjs");let S=require("node:fs/promises"),C=require("node:path"),w=require("node:fs");var T={pass:`green`,warning:`yellow`,fail:`red`,skipped:`yellow`},E=(e,t=process.stdout)=>e.map(e=>{let n=i.Ut(e.hint)?`\n ${e.hint}`:``;return`${f.n(T[e.status],`[${e.status.toUpperCase()}]`,t)} ${e.id}: ${e.message}${n}`}).join(`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./check-node-requirement-B_hf2E32.cjs"),n=require("./cli-node-version-range.constant-D7fE8edk.cjs"),r=require("./utils-CvvLHbc4-CKDJ1YgX.cjs"),i=require("./constants-D-caeNc5-9rDzSg5B.cjs"),a=require("./read-json-object-BXZs97qz.cjs"),o=require("./has-yarn-plug-and-play-X3ay5Xl0.cjs"),s=require("./cli-error-CSsayo0u.cjs"),c=require("./resolve-source-sdk-BNnltA8w.cjs"),l=require("./parse-api-url-CFCz3xUA.cjs"),u=require("./read-command-values-uSJqBG_E.cjs"),d=require("./target-environment-variable.constant-D7z8AihP.cjs"),f=require("./style-BR52fK4V.cjs"),p=require("./resolve-app-project-B0KRR-xp.cjs"),m=require("./cli-version.constant-B92ETb2e.cjs"),h=require("./to-public-target-bNT50le0.cjs"),g=require("./select-target-DZlm8j62.cjs"),_=require("./get-config-path-C-D-QHuX.cjs"),v=require("./read-config-Qwl4pAO8.cjs"),y=require("./is-access-token-expiring-DT6D8bMy.cjs"),b=require("./config-file-mode.constant-DLBzKKUl.cjs"),x=require("./fetch-signed-in-identity-B49Tf79K.cjs");let S=require("node:fs/promises"),C=require("node:path"),w=require("node:fs");var T={pass:`green`,warning:`yellow`,fail:`red`,skipped:`yellow`},E=(e,t=process.stdout)=>e.map(e=>{let n=i.Ut(e.hint)?`\n ${e.hint}`:``;return`${f.n(T[e.status],`[${e.status.toUpperCase()}]`,t)} ${e.id}: ${e.message}${n}`}).join(`
2
2
  `),D=e.t(),O={AUTH_REQUIRED:{message:`The metadata endpoint rejected these credentials.`,hint:`Check the configured credentials, or sign in again.`},PERMISSION_DENIED:{message:`The metadata endpoint denied access to the workspace identity.`,hint:`Check the selected remote and the permissions granted to its credentials.`},INVALID_RESPONSE:{message:`The server did not return a valid metadata API response.`,hint:`Check the API URL and base path, and whether a proxy returned another page.`},UNSUPPORTED_RESPONSE_TYPE:{message:`The metadata endpoint returned an unsupported response type.`,hint:`Check the API URL and base path, and whether a proxy returned another page.`},REDIRECT_NOT_FOLLOWED:{message:`The metadata endpoint redirected the request. No redirect was followed.`,hint:`Configure the final Twenty API URL, including the correct protocol and base path.`},TIMEOUT:{message:`The metadata endpoint did not respond before the request timed out.`,hint:`Check server availability and the network connection.`},NETWORK_ERROR:{message:`Could not connect to the metadata endpoint.`,hint:`Check the API URL, network connection, server availability and TLS configuration.`}},k={ENOTFOUND:`DNS could not resolve the metadata endpoint hostname.`,EAI_AGAIN:`DNS resolution of the metadata endpoint temporarily failed.`,ECONNREFUSED:`The metadata endpoint refused the connection.`,ECONNRESET:`The connection to the metadata endpoint was reset.`,EHOSTUNREACH:`The metadata endpoint host is unreachable.`,ENETUNREACH:`The network containing the metadata endpoint is unreachable.`,ETIMEDOUT:`The connection to the metadata endpoint timed out.`,UND_ERR_CONNECT_TIMEOUT:`The connection to the metadata endpoint timed out.`,CERT_HAS_EXPIRED:`The metadata endpoint TLS certificate has expired.`,ERR_TLS_CERT_ALTNAME_INVALID:`The metadata endpoint TLS certificate does not match its hostname.`,DEPTH_ZERO_SELF_SIGNED_CERT:`The metadata endpoint uses an untrusted self-signed TLS certificate.`,SELF_SIGNED_CERT_IN_CHAIN:`The metadata endpoint TLS certificate chain contains an untrusted self-signed certificate.`,UNABLE_TO_VERIFY_LEAF_SIGNATURE:`The metadata endpoint TLS certificate chain could not be verified.`,UNABLE_TO_GET_ISSUER_CERT_LOCALLY:`The metadata endpoint TLS certificate issuer is not trusted locally.`},A=e=>{let t=e instanceof s.t?e.code:`INTERNAL_ERROR`,n=O[t]??{message:`The metadata endpoint could not be verified (${t}).`,hint:`Check the API URL and server availability.`},r=e instanceof s.t&&t===`NETWORK_ERROR`?e.details?.networkCode:void 0,a=(0,D.isString)(r)&&Object.hasOwn(k,r)?k[r]:void 0;return{id:`metadata-api`,status:`fail`,code:t,message:a??n.message,hint:e instanceof s.t&&t===`AUTH_REQUIRED`&&i.Ut(e.hint)?e.hint:n.hint,...i.Ut(a)?{details:{networkCode:r}}:{}}},j=async({configPath:e,environment:t,remoteFlag:n,offline:r,signal:a})=>{let o=[],c,u;a.throwIfAborted();try{if(c=await v.t(e),o.push({id:`configuration`,status:`pass`,message:`CLI configuration checked at ${e}.`,details:{path:e,remoteCount:Object.keys(c.remotes).length,defaultRemote:c.defaultRemote??null}}),process.platform!==`win32`){let t=await(0,S.stat)(e).catch(()=>void 0);i.Ut(t)&&t.mode&63&&o.push({id:`configuration-permissions`,status:`warning`,message:`Other users may access the CLI configuration file.`,hint:`Review its permissions; ${b.t.PRIVATE_FILE.toString(8)} is the expected mode. Doctor does not change them.`})}}catch(t){u=t,o.push({id:`configuration`,status:`fail`,code:t instanceof s.t?t.code:`INVALID_CONFIG`,message:t instanceof s.t?t.message:`The CLI configuration is unreadable or invalid.`,hint:t instanceof s.t?t.hint:`Check ${e}. Doctor does not overwrite it.`})}let f;try{let e=await g.t({environment:t,remoteFlag:n,loadConfig:async()=>{if(!i.Ut(c))throw u;return c},warn:e=>o.push({id:`target-precedence`,status:`warning`,code:e.code,message:e.message})}),r=l.t({rawUrl:e.source===`remote`?e.remote.apiUrl:e.apiUrl,sourceName:e.source===`remote`?`The URL of remote ${e.remoteName}`:d.t.API_URL}),a={apiUrl:r,source:e.source,remote:e.source===`remote`?e.remoteName:null};o.push({id:`target`,status:`pass`,message:`Selected ${r} from ${e.source}.`,details:a});let s=e.source===`remote`?e.remote.twentyCLIAccessToken:void 0,p=(0,D.isNonEmptyString)(s)?`oauth`:`apiKey`,m=e.source===`remote`?e.remote.apiKey:e.apiKey,h=(0,D.isNonEmptyString)(s)?s:m;if(!(0,D.isNonEmptyString)(h))return o.push({id:`credentials`,status:`fail`,code:`AUTH_REQUIRED`,message:`The selected remote has no saved credentials.`,hint:`Sign in with twenty auth login, then rerun doctor.`}),[...o,{id:`metadata-api`,status:`skipped`,message:`No credentials are available.`}];let _=p===`oauth`?y.t(h):void 0;if(i.Ut(_)&&_<=Date.now()){let t=e.source===`remote`&&(0,D.isNonEmptyString)(e.remote.twentyCLIRefreshToken);return o.push({id:`credentials`,status:t?`warning`:`fail`,code:`AUTH_REQUIRED`,message:t?`The OAuth access token has expired. A refresh token is saved, but renewal has not been verified.`:`The saved OAuth access token has expired and no refresh token is available.`,hint:`Run twenty auth status with the same remote to refresh the session, or sign in again. Doctor does not refresh credentials.`}),[...o,{id:`metadata-api`,status:`skipped`,message:`The access token has expired.`}]}f={apiUrl:r,source:e.source,...e.source===`remote`?{remoteName:e.remoteName}:{},credentialKind:p,bearerToken:h},o.push({id:`credentials`,status:`pass`,message:`${p===`oauth`?`OAuth token`:`API key`} configured; acceptance is checked separately.`,details:{kind:p}})}catch(e){a.throwIfAborted();let t=e instanceof s.t?e.code:`INTERNAL_ERROR`;return o.push({id:`target`,status:t===`TARGET_REQUIRED`?`skipped`:`fail`,code:t,message:e instanceof s.t?e.message:`Could not select a workspace.`,hint:e instanceof s.t?e.hint:void 0}),[...o,{id:`credentials`,status:`skipped`,message:`No workspace was selected.`},{id:`metadata-api`,status:`skipped`,message:`No workspace was selected.`}]}if(r)return[...o,{id:`metadata-api`,status:`skipped`,message:`Network checks disabled by --offline.`}];try{a.throwIfAborted(),await x.t({target:f,signal:a}),o.push({id:`metadata-api`,status:`pass`,message:`The metadata endpoint accepted the configured credentials.`,details:{...h.t(f)}})}catch(e){a.throwIfAborted(),o.push(A(e))}return o},M=async e=>{for(let t of o.n((0,C.dirname)(e))){let n=await a.t((0,C.join)(t,`package.json`));if(!i.Ut(n))continue;let r=n.bin,o=(0,D.isString)(r)&&n.name===`twenty`?r:void 0,s=i.u(r)&&(0,D.isString)(r.twenty)?r.twenty:o;if(i.Ut(s)&&await(0,S.realpath)((0,C.resolve)(t,s)).catch(()=>void 0)===e)return{name:(0,D.isString)(n.name)?n.name:`unknown`,version:(0,D.isString)(n.version)?n.version:`unknown`}}return null},N=async({environment:e,workingDirectory:t,signal:n})=>{let a=[],o=process.platform===`win32`?[`twenty.exe`,`twenty.cmd`,`twenty.bat`,`twenty`]:[`twenty`],s=i.Ut(e.PATH)?e.PATH.split(C.delimiter):[];for(let e of new Set(s))for(let r of o){n.throwIfAborted();let i=(0,C.resolve)(t,e,r);if(!await(0,S.access)(i,w.constants.X_OK).then(()=>(0,S.stat)(i).then(e=>e.isFile()),()=>!1))continue;let o=await(0,S.realpath)(i);a.push({path:i,resolvedPath:o,owner:await M(o)})}let c=a[0],l=process.argv[1],u=i.Ut(l)?await(0,S.realpath)((0,C.resolve)(t,l)).catch(()=>void 0):void 0,d=a.filter(e=>e.owner?.name===`twenty-sdk`);return r.n(d)?{id:`path`,status:`warning`,message:`PATH contains legacy twenty-sdk executable(s) named twenty: ${d.map(e=>e.path).join(`, `)}.`,hint:`If this is a global twenty-sdk installation, remove it before installing the twenty CLI so the CLI owns the twenty name. Removing the SDK afterward can remove that executable link. Keep app-local SDK dependencies; use the intended CLI by its full path when needed. Doctor does not change installations.`,details:{candidates:a}}:i.Ut(c)?i.Ut(u)&&c.resolvedPath!==u?{id:`path`,status:`warning`,message:`${c.path} is first on PATH and differs from the running CLI.`,hint:`Use the intended executable by its full path, or review PATH order. Shell aliases, functions and command caches are not inspected.`,details:{candidates:a,runningPath:u}}:{id:`path`,status:c.owner?.name===`twenty`?`pass`:`warning`,message:i.Ut(c.owner)?`First twenty executable on PATH: ${c.path} (${c.owner.name} ${c.owner.version}).`:`First twenty executable on PATH: ${c.path}. Its package owner could not be determined.`,hint:`Shell aliases, functions and command caches are not inspected.`,details:{candidates:a}}:{id:`path`,status:`warning`,message:`No executable named twenty was found on PATH.`,hint:`Use the CLI entry point shown above, or your package manager to invoke the installed CLI.`,details:{candidates:a}}},P=async({explicitPath:e,workingDirectory:t,signal:n})=>{let r;n.throwIfAborted();try{r=await p.t({explicitPath:e,workingDirectory:t})}catch(t){return n.throwIfAborted(),[{id:`project`,status:!i.Ut(e)&&t instanceof s.t&&(t.code===`APP_NOT_FOUND`||t.code===`APP_PATH_REQUIRED`)?`skipped`:`fail`,message:t instanceof s.t?t.message:`Could not inspect the app directory.`,hint:`Use --path <app directory> to check a specific app.`},{id:`sdk`,status:`skipped`,message:`No app was selected.`}]}let a={id:`project`,status:`pass`,message:`${r.name} at ${r.path}.`,details:{name:r.name,path:r.path}};try{n.throwIfAborted();let e=[],t=await c.t({appPath:r.path,warn:t=>e.push(t)}),[o]=e,s={version:t.version,path:t.packagePath};return[a,i.Ut(o)?{id:`sdk`,status:`warning`,code:o.code,message:o.message,hint:`Builds continue. If one fails, switch to a Node version in that range.`,details:s}:{id:`sdk`,status:`pass`,message:`twenty-sdk ${t.version} provides the authoring exports required by the CLI.`,details:s}]}catch(e){return n.throwIfAborted(),[a,{id:`sdk`,status:`fail`,code:e instanceof s.t?e.code:`INTERNAL_ERROR`,message:e instanceof s.t?e.message:`Could not inspect the app SDK installation.`,hint:e instanceof s.t?e.hint:`Check that the app dependencies are installed and readable.`}]}},F=()=>{let e=t.t({version:process.versions.node,range:n.t})===`satisfied`;return[{id:`node`,status:e?`pass`:`fail`,message:`Node ${process.versions.node}, required ${n.t}.`,...e?{}:{hint:`Switch to a supported Node version and rerun doctor.`},details:{version:process.versions.node,required:n.t}},{id:`cli`,status:`pass`,message:`twenty ${m.t}, entry point ${process.argv[1]??`unknown`}.`,details:{version:m.t,nodeExecutable:process.execPath,entryPoint:process.argv[1]??null,platform:process.platform,arch:process.arch}}]},I=async({options:e,signal:t,outputMode:n})=>{let i=F(),a=process.cwd();try{i.push(await N({environment:process.env,workingDirectory:a,signal:t}))}catch{t.throwIfAborted(),i.push({id:`path`,status:`fail`,message:`Could not inspect executables on PATH.`})}i.push(...await P({explicitPath:u.r(e,`path`),workingDirectory:a,signal:t})),i.push(...await j({environment:process.env,configPath:_.t(),remoteFlag:u.r(e,`remote`),offline:u.t(e,`offline`),signal:t})),t.throwIfAborted();let o=i.filter(e=>e.status===`fail`),c=E(i,r.n(o)?process.stderr:process.stdout);if(r.n(o))throw new s.t({code:`DOCTOR_FAILED`,message:`${o.length} doctor ${o.length===1?`check`:`checks`} failed.`,hint:n===`human`?c:`Read error.details.checks for the failures and recovery hints.`,details:{checks:i}});return{data:{checks:i},human:c}};exports.runDoctorCommand=I;
@@ -1 +1 @@
1
- const e=require("./style-BR52fK4V.cjs"),t=require("./cli-version.constant-DGQXQw_V.cjs");var n=async()=>{let n={version:t.t,node:process.versions.node,platform:process.platform,arch:process.arch};return{data:n,human:`twenty ${n.version} ${e.i(`(node ${n.node}, ${n.platform}-${n.arch})`)}`}};exports.runVersionCommand=n;
1
+ const e=require("./style-BR52fK4V.cjs"),t=require("./cli-version.constant-B92ETb2e.cjs");var n=async()=>{let n={version:t.t,node:process.versions.node,platform:process.platform,arch:process.arch};return{data:n,human:`twenty ${n.version} ${e.i(`(node ${n.node}, ${n.platform}-${n.arch})`)}`}};exports.runVersionCommand=n;
package/dist/cli.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const e=require("./chunks/check-node-requirement-CGBKvEqH.cjs"),t=require("./chunks/cli-node-version-range.constant-D7fE8edk.cjs");process.stdout.on(`error`,e=>{if(e.code!==`EPIPE`)throw e;process.exit()}),(async({args:n,nodeVersion:r,loadCli:i})=>{if(e.t({version:r,range:`>=24.5.0`})!==`satisfied`){process.stderr.write(`twenty requires Node.js ${t.t}; this is Node.js ${r}. Switch to a supported Node.js version, then try again.\n`),process.exitCode=1;return}await(await i()).runCli(n)})({args:process.argv.slice(2),nodeVersion:process.versions.node,loadCli:()=>Promise.resolve().then(()=>require("./chunks/run-cli-CuxXyb__.cjs"))});
2
+ const e=require("./chunks/check-node-requirement-B_hf2E32.cjs"),t=require("./chunks/cli-node-version-range.constant-D7fE8edk.cjs");process.stdout.on(`error`,e=>{if(e.code!==`EPIPE`)throw e;process.exit()}),(async({args:n,nodeVersion:r,loadCli:i})=>{if(e.t({version:r,range:`>=24.5.0`})!==`satisfied`){process.stderr.write(`twenty requires Node.js ${t.t}; this is Node.js ${r}. Switch to a supported Node.js version, then try again.\n`),process.exitCode=1;return}await(await i()).runCli(n)})({args:process.argv.slice(2),nodeVersion:process.versions.node,loadCli:()=>Promise.resolve().then(()=>require("./chunks/run-cli-CwAoqiMW.cjs"))});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twenty",
3
- "version": "2.51.1",
3
+ "version": "2.51.3",
4
4
  "description": "The Twenty command line.",
5
5
  "homepage": "https://twenty.com",
6
6
  "repository": {
@@ -35,7 +35,7 @@
35
35
  "npm-pick-manifest": "^11.0.1",
36
36
  "semver": "7.6.3",
37
37
  "string-width": "^8.2.0",
38
- "twenty-client-sdk": "2.51.1",
38
+ "twenty-client-sdk": "2.51.3",
39
39
  "twenty-shared": "0.0.0",
40
40
  "undici": "^7.29.0",
41
41
  "uuid": "^13.0.2",
@@ -1 +0,0 @@
1
- var e=`2.51.1`;Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
@@ -1,2 +0,0 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-CvvLHbc4-CKDJ1YgX.cjs"),n=require("./constants-D-caeNc5-9rDzSg5B.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./print-typescript-value-D5kLR9wo.cjs"),a=require("./read-command-values-uSJqBG_E.cjs"),o=require("./convert-to-label-hx-g0Lvj.cjs"),s=require("./style-BR52fK4V.cjs"),c=require("./cli-version.constant-DGQXQw_V.cjs"),l=require("./format-display-path-gEepVJDg.cjs"),u=require("./select-target-DZlm8j62.cjs"),d=require("./get-config-path-C-D-QHuX.cjs"),f=require("./read-config-Qwl4pAO8.cjs");let p=require("node:crypto"),m=require("node:fs/promises"),h=require("node:path"),g=require("node:fs");var _=e.t(),v=`2.51.1`,y=[`twenty-client-sdk`,`twenty-sdk`,`twenty-ui`],b=()=>(0,h.join)((0,h.dirname)((0,g.realpathSync)(process.argv[1]??``)),`app-template`),x=async({appDirectory:e,appName:t,appDisplayName:n,appDescription:r})=>{await(0,m.cp)(b(),e,{recursive:!0}),await(0,m.writeFile)((0,h.join)(e,`yarn.lock`),``,{flag:`a`});for(let[t,n]of[[`gitignore`,`.gitignore`],[`github`,`.github`],[`yarnrc.yml`,`.yarnrc.yml`]])await(0,m.rename)((0,h.join)(e,t),(0,h.join)(e,n));await(0,m.cp)((0,h.join)(e,`AGENTS.md`),(0,h.join)(e,`CLAUDE.md`));let a=(0,h.join)(e,`.github`,`workflows`,`ci.yml`);await(0,m.writeFile)(a,(await(0,m.readFile)(a,`utf8`)).replace(`CLI-VERSION-TO-BE-GENERATED`,c.t));let o=(0,h.join)(e,`src/constants/universal-identifiers.ts`);await(0,m.writeFile)(o,(await(0,m.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,p.randomUUID)()));let s=(0,h.join)(e,`package.json`),l=JSON.parse(await(0,m.readFile)(s,`utf8`));l.name=t,l.engines.twenty=`>=${v}`;for(let e of y)l.devDependencies[e]=v;await(0,m.writeFile)(s,JSON.stringify(l,null,2))},S=`TO-BE-GENERATED`,C=`yarn.lock`,w=({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}}),T=async e=>{let i=await(0,m.stat)(e).catch(e=>{if(!r.r(e,`ENOENT`))throw e});if(!n.Ut(i))return`missing`;if(!i.isDirectory())throw w({appDirectory:e,reason:`is not a directory`});if(t.n(await(0,m.readdir)(e)))throw w({appDirectory:e,reason:`is not empty`});return`empty`},E=async e=>{let t=await(0,m.readdir)(e,{recursive:!0,withFileTypes:!0}),n=[];for(let r of t){let t=(0,h.join)(r.parentPath,r.name),i=(0,h.relative)(e,t);r.isFile()&&i!==C&&(await(0,m.readFile)(t,`utf8`)).includes(S)&&n.push(i)}return n},D=async({stagingDirectory:e,appDirectory:t})=>{let n=[];try{for(let r of await(0,m.readdir)(e,{recursive:!0,withFileTypes:!0})){let i=(0,h.join)(r.parentPath,r.name),a=(0,h.join)(t,(0,h.relative)(e,i));r.isDirectory()?await(0,m.mkdir)(a):await(0,m.copyFile)(i,a,g.constants.COPYFILE_EXCL),n.push({createdPath:a,isDirectory:r.isDirectory()})}}catch(e){for(let{createdPath:e,isDirectory:t}of n.reverse())await(t?(0,m.rmdir)(e):(0,m.unlink)(e)).catch(()=>void 0);throw e}await(0,m.rm)(e,{recursive:!0,force:!0})},O=async({appDirectory:e,appName:n,appDisplayName:i,appDescription:a,signal:o})=>{await T(e);let s=(0,h.dirname)(e);await(0,m.mkdir)(s,{recursive:!0});let c=await(0,m.mkdtemp)((0,h.join)(s,`.${(0,h.basename)(e)}-`));try{await x({appName:n,appDisplayName:i,appDescription:a,appDirectory:c}),o.throwIfAborted();let s=await E(c);if(t.n(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 T(e)===`empty`?await D({stagingDirectory:c,appDirectory:e}):await(0,m.rename)(c,e)}catch(t){throw await(0,m.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}})}},k=({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(` ${u.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
- `)},A=/^[\w./-]+$/,j=e=>A.test(e)?e:process.platform===`win32`?`'${e.replace(/'/g,`''`)}'`:`'${e.replace(/'/g,`'\\''`)}'`,M=({displayPath:e,isTargetConfigured:t,remoteName:r})=>{let i=n.Ut(r)?` --remote ${j(r)}`:``;return[...e===`.`?[]:[{command:`cd ${j(e.startsWith(`-`)?`./${e}`:e)}`,description:`Enter the new app`}],{command:`yarn install`,description:`Install the pinned dependencies`},...t?[]:[{command:`twenty auth login --url <url>${n.Ut(r)?` --name ${j(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}))},N=/^(?:@[a-z0-9~-][a-z0-9._~-]*\/)?[a-z0-9~-][a-z0-9._~-]*$/,P=214,F=e=>e.length<=P&&![`node_modules`,`favicon.ico`].includes(e)&&N.test(e),I=({environment:e,remoteFlag:t})=>u.t({environment:e,remoteFlag:t,loadConfig:()=>f.t(d.t()),warn:()=>void 0}).then(()=>!0,()=>!1),L=async({arguments:e,options:t,output:n,signal:i})=>{let s=a.n(e,0)?.trim()??``;if(!F(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(),u=(0,h.resolve)(c,a.r(t,`path`)??(0,h.basename)(s)),d=a.r(t,`displayName`)?.trim(),f=(0,_.isNonEmptyString)(d)?d:o.t(s),p=a.r(t,`description`)?.trim()??``,m=l.t({workingDirectory:c,targetPath:u}),g=m===`.`?`the current directory`:m;n.progress({message:`Creating ${s} in ${g}…`}),await O({appDirectory:u,appName:s,appDisplayName:f,appDescription:p,signal:i});let b=a.r(t,`remote`),x=M({displayPath:m,isTargetConfigured:await I({environment:process.env,remoteFlag:b}),remoteName:b}),S=[...y];return{data:{app:{name:s,displayName:f,description:p,path:u},packages:S.map(e=>({name:e,version:v})),nextSteps:x},human:k({appName:s,location:g,packageNames:S,packageVersion:v,nextSteps:x})}};exports.runAppInitCommand=L;