twenty 2.48.0 → 2.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/app-template/AGENTS.md +16 -1
  2. package/dist/app-template/src/front-components/main-page.tsx +1 -1
  3. package/dist/app-template/yarn.lock +157 -183
  4. package/dist/app-worker.cjs +1 -1
  5. package/dist/chunks/application-C02vC9wC.cjs +5 -0
  6. package/dist/chunks/{build-pull-entities-BBNc4zkt.cjs → build-pull-entities-DUmEo3aj.cjs} +2 -2
  7. package/dist/chunks/{build-source-manifest-BMjw7BvT.cjs → build-source-manifest-BeFnnS85.cjs} +1 -1
  8. package/dist/chunks/{build-source-snapshot-BbQlyo_m.cjs → build-source-snapshot-Cqb4LMAC.cjs} +813 -154
  9. package/dist/chunks/cli-version.constant-jQjsWsAO.cjs +1 -0
  10. package/dist/chunks/{collect-translatable-strings-C3TWaO1V.cjs → collect-translatable-strings-D9iJWM3B.cjs} +1 -1
  11. package/dist/chunks/{collect-watch-inputs-Cexr5YYZ.cjs → collect-watch-inputs-CSE6DsGE.cjs} +1 -1
  12. package/dist/chunks/compile-application-translations-eYLVYoTD.cjs +1 -0
  13. package/dist/chunks/{constants-Du9J-8Ug-CD8GTrut.cjs → constants-BAi8jZf9-C7iTUxcn.cjs} +1 -1
  14. package/dist/chunks/{convert-to-label-D24GvvpW.cjs → convert-to-label-DB0PYecG.cjs} +1 -1
  15. package/dist/chunks/{create-http-status-error-Dd3336c8.cjs → create-http-status-error-CCASIoUs.cjs} +1 -1
  16. package/dist/chunks/create-metadata-client-DsTAacZG.cjs +6 -0
  17. package/dist/chunks/{create-pull-base-write-Cl1jfQ6l.cjs → create-pull-base-write-Lh9yrY5q.cjs} +1 -1
  18. package/dist/chunks/create-rest-client-C-uI61ur.cjs +1 -0
  19. package/dist/chunks/extract-manifest-from-file-yeNBn6po.cjs +1 -0
  20. package/dist/chunks/{extract-source-translations-BLQ-XFuN.cjs → extract-source-translations-CZW5S9vg.cjs} +1 -1
  21. package/dist/chunks/{fetch-metadata-inspection-BwJjaHCB.cjs → fetch-metadata-inspection-CHOmOnq5.cjs} +1 -1
  22. package/dist/chunks/{fetch-signed-in-identity-CWFlsW7e.cjs → fetch-signed-in-identity-BSx-tgUO.cjs} +1 -1
  23. package/dist/chunks/{fetch-workspace-id-DJFdCITG.cjs → fetch-workspace-id-Bg2V_cma.cjs} +1 -1
  24. package/dist/chunks/format-body-DqhC3QLB.cjs +1 -0
  25. package/dist/chunks/{format-data-value-C5itQm1i.cjs → format-data-value-Dcn0aNoJ.cjs} +1 -1
  26. package/dist/chunks/{format-metadata-fields-BozY419E.cjs → format-metadata-fields-BpiTZFjv.cjs} +1 -1
  27. package/dist/chunks/{format-metadata-owner-C6CksDIK.cjs → format-metadata-owner-c6wBFmq7.cjs} +1 -1
  28. package/dist/chunks/format-progress-line-CeE356w0.cjs +1 -0
  29. package/dist/chunks/{generate-application-client-BApuJWQO.cjs → generate-application-client-9tS8r18c.cjs} +1 -1
  30. package/dist/chunks/{get-app-plan-summary-F_MjZOGe.cjs → get-app-plan-summary-DOhqg3eL.cjs} +1 -1
  31. package/dist/chunks/{get-client-generation-skip-reason-B5f_gcok.cjs → get-client-generation-skip-reason-D3_AAZQP.cjs} +1 -1
  32. package/dist/chunks/{get-function-input-schema-GNk3NRLJ-oQ5Evald.cjs → get-function-input-schema-GNk3NRLJ-BvvX155j.cjs} +1 -1
  33. package/dist/chunks/{global-flags.constant-BPHQAhn7.cjs → global-flags.constant-DaR1vQnA.cjs} +1 -1
  34. package/dist/chunks/{is-access-token-expiring-DIimejBr.cjs → is-access-token-expiring-jLfrOp26.cjs} +1 -1
  35. package/dist/chunks/{is-application-not-found-error-D0BAcKyX.cjs → is-application-not-found-error-DxO-ftTG.cjs} +1 -1
  36. package/dist/chunks/{is-exported-manifest-RF_O2ibz.cjs → is-exported-manifest-Cq0Sjj23.cjs} +1 -1
  37. package/dist/chunks/{is-locale-catalog-Dzj6m_Xt.cjs → is-locale-catalog-DjsopIs-.cjs} +1 -1
  38. package/dist/chunks/is-supported-locale-CdAUON0G.cjs +1 -0
  39. package/dist/chunks/{locale-catalog-format-BT6ommA1.cjs → locale-catalog-format-DwZh0gOt.cjs} +2 -2
  40. package/dist/chunks/metadata-Dojezbdo.cjs +1 -0
  41. package/dist/chunks/{metadata-page.constant-CnR03vnh.cjs → metadata-page.constant-CX7U7xM8.cjs} +1 -1
  42. package/dist/chunks/{parse-api-url-C9MmGtLY.cjs → parse-api-url-BeUTFxSv.cjs} +1 -1
  43. package/dist/chunks/{parse-app-export-BT6nM7Ki.cjs → parse-app-export-CaLKxant.cjs} +1 -1
  44. package/dist/chunks/{parse-extraction-locale-CM7sARBo.cjs → parse-extraction-locale-DMjUY8zC.cjs} +1 -1
  45. package/dist/chunks/{parse-graphql-response-DbYu3YlQ.cjs → parse-graphql-response-DSSJWiGu.cjs} +1 -1
  46. package/dist/chunks/{parse-json-input-DaXTn_6C.cjs → parse-json-input-BOUh0Y2U.cjs} +1 -1
  47. package/dist/chunks/{print-typescript-value-BoxeFXca.cjs → print-typescript-value-BU2EWXuF.cjs} +1 -1
  48. package/dist/chunks/{pull-source-DNswr_80.cjs → pull-source-DqAHeLk7.cjs} +1 -1
  49. package/dist/chunks/{read-app-identity-CtO3wiSx.cjs → read-app-identity-CdFKlGlw.cjs} +1 -1
  50. package/dist/chunks/{read-application-identifier-B51ax_Q6.cjs → read-application-identifier-Cckd5Pm1.cjs} +1 -1
  51. package/dist/chunks/{read-application-identity-Bx8B9Bel.cjs → read-application-identity-B8iACpb4.cjs} +1 -1
  52. package/dist/chunks/{read-config-LKYhSPOb.cjs → read-config-DYzGn3dk.cjs} +1 -1
  53. package/dist/chunks/read-json-object-VckLNpsj.cjs +1 -0
  54. package/dist/chunks/{read-snapshot-file-ClIpemjz.cjs → read-snapshot-file-CQ_tHUot.cjs} +1 -1
  55. package/dist/chunks/{read-source-identity-C4eKC14c.cjs → read-source-identity-SwqTRFjJ.cjs} +1 -1
  56. package/dist/chunks/{record-pull-base-CdTOndSf.cjs → record-pull-base-CH-q0A8T.cjs} +1 -1
  57. package/dist/chunks/{record-typecheck-config-inputs-DcCY-_Z1.cjs → record-typecheck-config-inputs-DWzR6mUU.cjs} +1 -1
  58. package/dist/chunks/{request-oauth-tokens-CS79pVAp.cjs → request-oauth-tokens-XMt_yPua.cjs} +1 -1
  59. package/dist/chunks/{resolve-app-project-BQnFOdLH.cjs → resolve-app-project-Dc5KpCDh.cjs} +1 -1
  60. package/dist/chunks/{resolve-command-target-CKYtQQPx.cjs → resolve-command-target-Dv9k9ic2.cjs} +1 -1
  61. package/dist/chunks/{resolve-inside-sdk-Cc_y-RWT.cjs → resolve-inside-sdk-BK6jFT6V.cjs} +1 -1
  62. package/dist/chunks/{resolve-metadata-object-CRWbF9Ce.cjs → resolve-metadata-object-Dlprkb-X.cjs} +1 -1
  63. package/dist/chunks/{resolve-project-typescript-CZW_p97L.cjs → resolve-project-typescript-BWyUXLJM.cjs} +1 -1
  64. package/dist/chunks/{resolve-request-url-BrqiqInn.cjs → resolve-request-url-B6KNhoFa.cjs} +1 -1
  65. package/dist/chunks/{resolve-source-sdk-CGEJC-UH.cjs → resolve-source-sdk-C0_F9oUQ.cjs} +1 -1
  66. package/dist/chunks/{run-api-graphql-command-KlIMjpOY.cjs → run-api-graphql-command-CVdIic7q.cjs} +1 -1
  67. package/dist/chunks/{run-api-rest-command-W4gCU562.cjs → run-api-rest-command-DgF7Vh0j.cjs} +1 -1
  68. package/dist/chunks/{run-app-add-command-C6rIt02R.cjs → run-app-add-command-4wAkXDW2.cjs} +2 -2
  69. package/dist/chunks/{run-app-apply-command-BckNNni9.cjs → run-app-apply-command-DOPPX88t.cjs} +1 -1
  70. package/dist/chunks/{run-app-build-command-DW0r-w2C.cjs → run-app-build-command-VoObCeD2.cjs} +1 -1
  71. package/dist/chunks/{run-app-dev-command-C3U-3OiV.cjs → run-app-dev-command-DqY3qjVy.cjs} +1 -1
  72. package/dist/chunks/{run-app-exec-command-DNeCk5qs.cjs → run-app-exec-command-CasOptA2.cjs} +2 -2
  73. package/dist/chunks/{run-app-generate-client-command-HAgBNVFU.cjs → run-app-generate-client-command-BdOjFITA.cjs} +1 -1
  74. package/dist/chunks/{run-app-init-command-dTbY28oS.cjs → run-app-init-command-DFNSImQ4.cjs} +1 -1
  75. package/dist/chunks/{run-app-install-command-BX30OsrQ.cjs → run-app-install-command-DDkBjstj.cjs} +1 -1
  76. package/dist/chunks/{run-app-logs-command-CdAXR-XY.cjs → run-app-logs-command-DPOtBKPs.cjs} +3 -3
  77. package/dist/chunks/{run-app-operation--X_q0SAn.cjs → run-app-operation-Dt8_tKmi.cjs} +1 -1
  78. package/dist/chunks/{run-app-plan-command-Bm1eXl7V.cjs → run-app-plan-command-CusqLQ3f.cjs} +1 -1
  79. package/dist/chunks/{run-app-publish-command-Cdb3OlI2.cjs → run-app-publish-command-COhfOFpj.cjs} +2 -2
  80. package/dist/chunks/{run-app-pull-command-DljZP4Ey.cjs → run-app-pull-command-C9GHMbgF.cjs} +2 -2
  81. package/dist/chunks/{run-app-translations-extract-command-Cc053lZ6.cjs → run-app-translations-extract-command-DWEinGqX.cjs} +1 -1
  82. package/dist/chunks/{run-app-typecheck-command-B7o20_BR.cjs → run-app-typecheck-command-CGrsPEx6.cjs} +1 -1
  83. package/dist/chunks/{run-app-uninstall-command-DJsWZtoI.cjs → run-app-uninstall-command-i7a4Jem9.cjs} +1 -1
  84. package/dist/chunks/{run-auth-login-command-21pHzpvT.cjs → run-auth-login-command-DaXPK5wd.cjs} +1 -1
  85. package/dist/chunks/{run-auth-logout-command-DWOafJmL.cjs → run-auth-logout-command-W7tRzWph.cjs} +1 -1
  86. package/dist/chunks/{run-auth-status-command-BBAcouvs.cjs → run-auth-status-command-B0dAwETL.cjs} +1 -1
  87. package/dist/chunks/{run-cli-D1VWVXar.cjs → run-cli-CAoDm_W8.cjs} +1 -1
  88. package/dist/chunks/{run-commands-command-6x3V48LL.cjs → run-commands-command-ZjKeKGKY.cjs} +1 -1
  89. package/dist/chunks/{run-data-get-command-DrgvC-zi.cjs → run-data-get-command-B77up-s7.cjs} +1 -1
  90. package/dist/chunks/{run-data-list-command-Cs8GAHbD.cjs → run-data-list-command-RwomiIPV.cjs} +1 -1
  91. package/dist/chunks/{run-doctor-command-BM4pkNY0.cjs → run-doctor-command-vxHdUzhC.cjs} +2 -2
  92. package/dist/chunks/{run-metadata-field-describe-command-CrmzNFh8.cjs → run-metadata-field-describe-command-B_NgZ7Ms.cjs} +1 -1
  93. package/dist/chunks/{run-metadata-field-list-command-B2CbERvZ.cjs → run-metadata-field-list-command-BGYdnELQ.cjs} +1 -1
  94. package/dist/chunks/{run-metadata-object-describe-command-PLt5ySLJ.cjs → run-metadata-object-describe-command-J85iBAkc.cjs} +1 -1
  95. package/dist/chunks/run-metadata-object-list-command-Bql6RG8g.cjs +2 -0
  96. package/dist/chunks/{run-open-command-CzMO5wI4.cjs → run-open-command-BNX-l7r7.cjs} +1 -1
  97. package/dist/chunks/{run-remote-list-command-37zf0rSp.cjs → run-remote-list-command-D6aUDed3.cjs} +1 -1
  98. package/dist/chunks/{run-remote-remove-command-B-XUqYBY.cjs → run-remote-remove-command-D0Mb9tkZ.cjs} +1 -1
  99. package/dist/chunks/{run-remote-rename-command-Bmg3nZfB.cjs → run-remote-rename-command-BgjOFYNE.cjs} +1 -1
  100. package/dist/chunks/{run-remote-use-command-r2NUlgWw.cjs → run-remote-use-command-zGfFYq-A.cjs} +1 -1
  101. package/dist/chunks/{run-version-command-DfDcA927.cjs → run-version-command-DwZTxHuu.cjs} +1 -1
  102. package/dist/chunks/{select-target-CEy96CC9.cjs → select-target-CKoOXLSW.cjs} +1 -1
  103. package/dist/chunks/{sign-in-to-remote-again-9cHGpXda.cjs → sign-in-to-remote-again-BhpxdF8v.cjs} +1 -1
  104. package/dist/chunks/{sign-in-with-browser-StQ_Fkku.cjs → sign-in-with-browser-BrB5btVu.cjs} +1 -1
  105. package/dist/chunks/{to-public-target-T4zHrdLQ.cjs → to-public-target-DYS-Zlyh.cjs} +1 -1
  106. package/dist/chunks/{to-worker-output-diagnostics-BeJKIsDG.cjs → to-worker-output-diagnostics-eE_POlPf.cjs} +1 -1
  107. package/dist/chunks/{typecheck-application-DLdoLIDx.cjs → typecheck-application-P6akOoSs.cjs} +1 -1
  108. package/dist/chunks/{update-config-CNOHxgkF.cjs → update-config-BNB8Mkee.cjs} +1 -1
  109. package/dist/chunks/{utils-BEfQWzTA-z2Y1wZJq.cjs → utils-D6KY4-gU-rSlFwrTC.cjs} +3 -3
  110. package/dist/chunks/{write-config-atomically-gr2Ldzm8.cjs → write-config-atomically-eVpizD-t.cjs} +1 -1
  111. package/dist/cli.cjs +1 -1
  112. package/package.json +2 -2
  113. package/dist/chunks/application-VJqniwXy.cjs +0 -5
  114. package/dist/chunks/cli-version.constant-BJdY4dXs.cjs +0 -1
  115. package/dist/chunks/compile-application-translations-Dhfvrs__.cjs +0 -1
  116. package/dist/chunks/create-metadata-client-DEBMHFDo.cjs +0 -6
  117. package/dist/chunks/create-rest-client-r3OA3fUu.cjs +0 -60
  118. package/dist/chunks/extract-manifest-from-file-D3w7Ampa.cjs +0 -1
  119. package/dist/chunks/format-body-CJyi3Ukr.cjs +0 -1
  120. package/dist/chunks/format-progress-line-C5nYDVHB.cjs +0 -1
  121. package/dist/chunks/is-supported-locale-C9iuFQ39.cjs +0 -1
  122. package/dist/chunks/metadata-BtOyR6x0.cjs +0 -1
  123. package/dist/chunks/read-json-object-BONMjSVo.cjs +0 -1
  124. package/dist/chunks/run-metadata-object-list-command-BcnWKmgh.cjs +0 -2
@@ -1,3 +1,3 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-BEfQWzTA-z2Y1wZJq.cjs"),n=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./format-details-COEwKz_M.cjs"),o=require("./format-table-4drtI5sP.cjs"),s=require("./format-metadata-owner-C6CksDIK.cjs"),c=require("./fetch-metadata-inspection-BwJjaHCB.cjs"),l=require("./format-metadata-fields-BozY419E.cjs");var u=e.t(),d=e=>n.Vt(e)?String(e):`unknown`,f=async({arguments:e,target:f,signal:p,output:m})=>{let h=i.n(e,1)??``,{object:g,fields:_}=await c.t({objectName:i.n(e,0)??``,target:f,signal:p,output:m}),v=_.filter(e=>e.name===h);if(v.length>1)throw new r.t({code:`AMBIGUOUS_RESOURCE`,exitCode:r.n.USAGE,message:`More than one field has the API name ${h} on ${g.namePlural}.`});let y=v[0];if(!n.Vt(y))throw new r.t({code:`NOT_FOUND`,exitCode:r.n.NOT_FOUND,message:`No field has the API name ${h} on ${g.namePlural}.`,hint:`Use an exact API name from twenty metadata field list ${g.namePlural} --all.`});let b=l.r(y);return{data:{object:g,field:y},human:[`${y.label} (${y.name}) on ${g.namePlural}`,a.t([[`ID`,y.id],[`Type`,y.type],[`Owner`,s.t(y.owner)],[`Active`,d(y.isActive)],[`System`,d(y.isSystem)],[`Nullable`,d(y.isNullable)],[`Unique`,d(y.isUnique)],[`Default`,JSON.stringify(y.defaultValue??null)]]),y.description??``,l.n(y),t.r(b)?o.t({rows:b,columns:[{header:`OPTION`,value:e=>String(e.label??``)},{header:`VALUE`,value:e=>String(e.value??``)},{header:`COLOR`,value:e=>String(e.color??``)}]}):``].filter(u.isNonEmptyString).join(`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-D6KY4-gU-rSlFwrTC.cjs"),n=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./format-details-COEwKz_M.cjs"),o=require("./format-table-4drtI5sP.cjs"),s=require("./format-metadata-owner-c6wBFmq7.cjs"),c=require("./fetch-metadata-inspection-CHOmOnq5.cjs"),l=require("./format-metadata-fields-BpiTZFjv.cjs");var u=e.t(),d=e=>n.Vt(e)?String(e):`unknown`,f=async({arguments:e,target:f,signal:p,output:m})=>{let h=i.n(e,1)??``,{object:g,fields:_}=await c.t({objectName:i.n(e,0)??``,target:f,signal:p,output:m}),v=_.filter(e=>e.name===h);if(v.length>1)throw new r.t({code:`AMBIGUOUS_RESOURCE`,exitCode:r.n.USAGE,message:`More than one field has the API name ${h} on ${g.namePlural}.`});let y=v[0];if(!n.Vt(y))throw new r.t({code:`NOT_FOUND`,exitCode:r.n.NOT_FOUND,message:`No field has the API name ${h} on ${g.namePlural}.`,hint:`Use an exact API name from twenty metadata field list ${g.namePlural} --all.`});let b=l.r(y);return{data:{object:g,field:y},human:[`${y.label} (${y.name}) on ${g.namePlural}`,a.t([[`ID`,y.id],[`Type`,y.type],[`Owner`,s.t(y.owner)],[`Active`,d(y.isActive)],[`System`,d(y.isSystem)],[`Nullable`,d(y.isNullable)],[`Unique`,d(y.isUnique)],[`Default`,JSON.stringify(y.defaultValue??null)]]),y.description??``,l.n(y),t.r(b)?o.t({rows:b,columns:[{header:`OPTION`,value:e=>String(e.label??``)},{header:`VALUE`,value:e=>String(e.value??``)},{header:`COLOR`,value:e=>String(e.color??``)}]}):``].filter(u.isNonEmptyString).join(`
2
2
 
3
3
  `)}};exports.runMetadataFieldDescribeCommand=f;
@@ -1,3 +1,3 @@
1
- const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./fetch-metadata-inspection-BwJjaHCB.cjs"),n=require("./format-metadata-fields-BozY419E.cjs");var r=({fields:e,includeSystemFields:t})=>{let n=e.filter(e=>t||e.isSystem!==!0);return{fields:n,hiddenSystemFieldCount:e.length-n.length}},i=async({arguments:i,options:a,target:o,signal:s,output:c})=>{let l=await t.t({objectName:e.n(i,0)??``,target:o,signal:s,output:c}),{object:u}=l,{fields:d,hiddenSystemFieldCount:f}=r({fields:l.fields,includeSystemFields:e.t(a,`all`)});return{data:{object:u,fields:d,hiddenSystemFieldCount:f},human:[`${u.labelPlural} (${u.namePlural})`,n.t({fields:d,hiddenSystemFieldCount:f,labelIdentifierFieldMetadataId:u.labelIdentifierFieldMetadataId})].join(`
1
+ const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./fetch-metadata-inspection-CHOmOnq5.cjs"),n=require("./format-metadata-fields-BpiTZFjv.cjs");var r=({fields:e,includeSystemFields:t})=>{let n=e.filter(e=>t||e.isSystem!==!0);return{fields:n,hiddenSystemFieldCount:e.length-n.length}},i=async({arguments:i,options:a,target:o,signal:s,output:c})=>{let l=await t.t({objectName:e.n(i,0)??``,target:o,signal:s,output:c}),{object:u}=l,{fields:d,hiddenSystemFieldCount:f}=r({fields:l.fields,includeSystemFields:e.t(a,`all`)});return{data:{object:u,fields:d,hiddenSystemFieldCount:f},human:[`${u.labelPlural} (${u.namePlural})`,n.t({fields:d,hiddenSystemFieldCount:f,labelIdentifierFieldMetadataId:u.labelIdentifierFieldMetadataId})].join(`
2
2
 
3
3
  `)}};exports.runMetadataFieldListCommand=i;
@@ -1,3 +1,3 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./style-BR52fK4V.cjs"),r=require("./format-data-value-C5itQm1i.cjs"),i=require("./format-details-COEwKz_M.cjs"),a=require("./format-metadata-owner-C6CksDIK.cjs"),o=require("./fetch-metadata-inspection-BwJjaHCB.cjs");var s=e.t(),c=async({arguments:e,target:c,signal:l,output:u})=>{let{object:d}=await o.t({objectName:t.n(e,0)??``,target:c,signal:l,output:u});return{data:{object:d},human:[`${d.labelPlural} (${d.namePlural})`,i.t([[`ID`,d.id],[`API names`,`${d.nameSingular} / ${d.namePlural}`],...(0,s.isNonEmptyString)(d.description)?[[`Description`,r.r(d.description)]]:[],[`Owner`,a.t(d.owner)],[`Active`,String(d.isActive)],[`System`,String(d.isSystem)],[`Searchable`,String(d.isSearchable)]]),`Fields: ${n.r(`twenty metadata field list ${d.namePlural}`)}`].join(`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./style-BR52fK4V.cjs"),r=require("./format-data-value-Dcn0aNoJ.cjs"),i=require("./format-details-COEwKz_M.cjs"),a=require("./format-metadata-owner-c6wBFmq7.cjs"),o=require("./fetch-metadata-inspection-CHOmOnq5.cjs");var s=e.t(),c=async({arguments:e,target:c,signal:l,output:u})=>{let{object:d}=await o.t({objectName:t.n(e,0)??``,target:c,signal:l,output:u});return{data:{object:d},human:[`${d.labelPlural} (${d.namePlural})`,i.t([[`ID`,d.id],[`API names`,`${d.nameSingular} / ${d.namePlural}`],...(0,s.isNonEmptyString)(d.description)?[[`Description`,r.r(d.description)]]:[],[`Owner`,a.t(d.owner)],[`Active`,String(d.isActive)],[`System`,String(d.isSystem)],[`Searchable`,String(d.isSearchable)]]),`Fields: ${n.r(`twenty metadata field list ${d.namePlural}`)}`].join(`
2
2
 
3
3
  `)}};exports.runMetadataObjectDescribeCommand=c;
@@ -0,0 +1,2 @@
1
+ const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./create-metadata-client-DsTAacZG.cjs"),r=require("./format-table-4drtI5sP.cjs"),i=require("./metadata-page.constant-CX7U7xM8.cjs"),a=require("./format-metadata-owner-c6wBFmq7.cjs");var o=[`standard`,`application`,`custom`,`unknown`],s=(e,t)=>e.query({objects:{__args:{paging:{first:i.t,after:t},filter:{}},pageInfo:{hasNextPage:!0,endCursor:!0},edges:{node:{nameSingular:!0,namePlural:!0,labelSingular:!0,labelPlural:!0,isSystem:!0,isActive:!0,applicationId:!0}}},currentWorkspace:{workspaceCustomApplicationId:!0}}),c=async({options:c,output:l,target:u,signal:d})=>{let f=e.t(c,`all`),p=n.t({target:u,signal:d}),[{objects:m,currentWorkspace:h},{applications:g,areOwnersNamed:_}]=await Promise.all([s(p),a.r(p)]),v=await i.n(async e=>e===void 0?m:(await s(p,e)).objects);_||l.warn({code:`OWNERS_UNAVAILABLE`,message:`Owners other than Custom show as unknown: listing apps needs the Workspace Apps permission.`});let y=a.n({applications:g,workspaceCustomApplicationId:h.workspaceCustomApplicationId}),b=v.map(({applicationId:e,...t})=>({...t,owner:y(e)})),x=b.filter(e=>f||!e.isSystem).sort((e,t)=>{let n=o.indexOf(e.owner.kind)-o.indexOf(t.owner.kind);return n===0?e.namePlural.localeCompare(t.namePlural):n}),S=b.length-x.length;return{data:{objects:x,hiddenSystemObjectCount:S},human:[r.t({rows:x,columns:[{header:`API NAME`,value:e=>e.namePlural},{header:`LABEL`,value:e=>e.isActive?e.labelPlural:`${e.labelPlural} ${t.i(`(inactive)`)}`},{header:`OWNER`,value:e=>a.t(e.owner)}]}),t.i(S>0?`${x.length} objects · ${S} system objects hidden, show them with --all`:`${x.length} objects`)].join(`
2
+ `)}};exports.runMetadataObjectListCommand=c;
@@ -1 +1 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./parse-api-url-C9MmGtLY.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./resolve-request-url-BrqiqInn.cjs"),o=require("./is-interaction-allowed-CF-ko1KI.cjs"),s=require("./create-metadata-client-DEBMHFDo.cjs"),c=require("./open-browser-LPuVspT7.cjs");var l=({workspaceUrl:e,page:r})=>{if(!t.Vt(r))return e.href;let i=URL.parse(r,e);if(!t.Vt(i)||i.origin!==e.origin||i.pathname.startsWith(`//`))throw new n.t({code:`USAGE`,exitCode:n.n.USAGE,message:`${r} is not a page of the workspace.`,hint:`Pass a path inside the workspace, for example settings/applications.`});return i.href},u=e.t(),d=(e,i)=>{let a=(0,u.isNonEmptyString)(e)?URL.parse(e):null;if(!t.Vt(a)||!r.r.includes(a.protocol))throw new n.t({code:`INVALID_RESPONSE`,message:`${i} did not return a web address for this workspace.`});return a},f=async({target:e,signal:n})=>{let{currentWorkspace:r}=await s.t({target:e,signal:n}).query({currentWorkspace:{workspaceUrls:{customUrl:!0,subdomainUrl:!0}}}),i=r?.workspaceUrls,o=(0,u.isNonEmptyString)(i?.customUrl)?i.customUrl:i?.subdomainUrl;if((0,u.isNonEmptyString)(o))return d(o,e.apiUrl);let c=await a.r({apiUrl:e.apiUrl,signal:n})(a.t({apiUrl:e.apiUrl,path:`/.well-known/oauth-authorization-server`}),{headers:{Accept:`application/json`}}),l=await a.n(c),f=d(c.ok&&t.p(l)?l.authorization_endpoint:void 0,e.apiUrl);return new URL(f.origin)},p=async({arguments:e,options:t,outputMode:r,target:a,signal:s})=>{let u=i.t(t,`urlOnly`);if(!u&&!o.t({options:t,outputMode:r}))throw new n.t({code:`USAGE`,exitCode:n.n.USAGE,message:`twenty open only opens a browser in an interactive terminal, not with --no-input, JSON output, redirected stdin or in CI.`,hint:`Add --url-only to print the address instead.`});let d=l({workspaceUrl:await f({target:a,signal:s}),page:i.n(e,0)});return u?{data:{url:d},human:d}:(c.t(d),{data:{url:d},human:`Opening ${d} in your browser.`})};exports.runOpenCommand=p;
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./parse-api-url-BeUTFxSv.cjs"),i=require("./read-command-values-uSJqBG_E.cjs"),a=require("./resolve-request-url-B6KNhoFa.cjs"),o=require("./is-interaction-allowed-CF-ko1KI.cjs"),s=require("./create-metadata-client-DsTAacZG.cjs"),c=require("./open-browser-LPuVspT7.cjs");var l=({workspaceUrl:e,page:r})=>{if(!t.Vt(r))return e.href;let i=URL.parse(r,e);if(!t.Vt(i)||i.origin!==e.origin||i.pathname.startsWith(`//`))throw new n.t({code:`USAGE`,exitCode:n.n.USAGE,message:`${r} is not a page of the workspace.`,hint:`Pass a path inside the workspace, for example settings/applications.`});return i.href},u=e.t(),d=(e,i)=>{let a=(0,u.isNonEmptyString)(e)?URL.parse(e):null;if(!t.Vt(a)||!r.r.includes(a.protocol))throw new n.t({code:`INVALID_RESPONSE`,message:`${i} did not return a web address for this workspace.`});return a},f=async({target:e,signal:n})=>{let{currentWorkspace:r}=await s.t({target:e,signal:n}).query({currentWorkspace:{workspaceUrls:{customUrl:!0,subdomainUrl:!0}}}),i=r?.workspaceUrls,o=(0,u.isNonEmptyString)(i?.customUrl)?i.customUrl:i?.subdomainUrl;if((0,u.isNonEmptyString)(o))return d(o,e.apiUrl);let c=await a.r({apiUrl:e.apiUrl,signal:n})(a.t({apiUrl:e.apiUrl,path:`/.well-known/oauth-authorization-server`}),{headers:{Accept:`application/json`}}),l=await a.n(c),f=d(c.ok&&t.v(l)?l.authorization_endpoint:void 0,e.apiUrl);return new URL(f.origin)},p=async({arguments:e,options:t,outputMode:r,target:a,signal:s})=>{let u=i.t(t,`urlOnly`);if(!u&&!o.t({options:t,outputMode:r}))throw new n.t({code:`USAGE`,exitCode:n.n.USAGE,message:`twenty open only opens a browser in an interactive terminal, not with --no-input, JSON output, redirected stdin or in CI.`,hint:`Add --url-only to print the address instead.`});let d=l({workspaceUrl:await f({target:a,signal:s}),page:i.n(e,0)});return u?{data:{url:d},human:d}:(c.t(d),{data:{url:d},human:`Opening ${d} in your browser.`})};exports.runOpenCommand=p;
@@ -1 +1 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./read-config-LKYhSPOb.cjs"),i=require("./get-credential-kind-JI9heHe2.cjs"),a=require("./credential-kind-labels.constant-CKdoQF8o.cjs"),o=require("./format-table-4drtI5sP.cjs");var s=e.t(),c=async()=>{let e=await r.t(n.t()),c=Object.entries(e.remotes).map(([t,n])=>({name:t,apiUrl:n.apiUrl,credentials:i.t(n),workspaceName:(0,s.isString)(n.workspaceName)?n.workspaceName:null,isDefault:t===e.defaultRemote})).sort((e,t)=>e.name.localeCompare(t.name));return c.length===0?{data:{remotes:c,defaultRemote:null},human:`No saved remotes. ${t.i(`Sign in with: `)}${t.r(`twenty auth login --url <url>`)}`}:{data:{remotes:c,defaultRemote:e.defaultRemote??null},human:o.t({rows:c,columns:[{header:` `,value:e=>e.isDefault?t.n(`green`,`●`):``},{header:`NAME`,value:e=>e.name},{header:`URL`,value:e=>e.apiUrl},{header:`AUTH`,value:e=>a.t[e.credentials]},{header:`WORKSPACE`,value:e=>e.workspaceName??``}]})}};exports.runRemoteListCommand=c;
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./read-config-DYzGn3dk.cjs"),i=require("./get-credential-kind-JI9heHe2.cjs"),a=require("./credential-kind-labels.constant-CKdoQF8o.cjs"),o=require("./format-table-4drtI5sP.cjs");var s=e.t(),c=async()=>{let e=await r.t(n.t()),c=Object.entries(e.remotes).map(([t,n])=>({name:t,apiUrl:n.apiUrl,credentials:i.t(n),workspaceName:(0,s.isString)(n.workspaceName)?n.workspaceName:null,isDefault:t===e.defaultRemote})).sort((e,t)=>e.name.localeCompare(t.name));return c.length===0?{data:{remotes:c,defaultRemote:null},human:`No saved remotes. ${t.i(`Sign in with: `)}${t.r(`twenty auth login --url <url>`)}`}:{data:{remotes:c,defaultRemote:e.defaultRemote??null},human:o.t({rows:c,columns:[{header:` `,value:e=>e.isDefault?t.n(`green`,`●`):``},{header:`NAME`,value:e=>e.name},{header:`URL`,value:e=>e.apiUrl},{header:`AUTH`,value:e=>a.t[e.credentials]},{header:`WORKSPACE`,value:e=>e.workspaceName??``}]})}};exports.runRemoteListCommand=c;
@@ -1,2 +1,2 @@
1
- const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./find-remote-D48r20g0.cjs"),i=require("./update-config-CNOHxgkF.cjs");var a=async({arguments:a,signal:o})=>{let s=e.n(a,0)??``,c=await i.t({configPath:n.t(),signal:o,update:e=>{r.t(e,s);let{[s]:t,...n}=e.remotes,{defaultRemote:i,...a}=e,o=i===s;return{result:o,config:{...o?a:e,remotes:n}}}});return{data:{removed:s,wasDefault:c},human:[t.o(`Removed ${s}.`),...c?[t.i(` There is no default remote now. Pick one with: twenty remote use <name>`)]:[]].join(`
1
+ const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./find-remote-D48r20g0.cjs"),i=require("./update-config-BNB8Mkee.cjs");var a=async({arguments:a,signal:o})=>{let s=e.n(a,0)??``,c=await i.t({configPath:n.t(),signal:o,update:e=>{r.t(e,s);let{[s]:t,...n}=e.remotes,{defaultRemote:i,...a}=e,o=i===s;return{result:o,config:{...o?a:e,remotes:n}}}});return{data:{removed:s,wasDefault:c},human:[t.o(`Removed ${s}.`),...c?[t.i(` There is no default remote now. Pick one with: twenty remote use <name>`)]:[]].join(`
2
2
  `)}};exports.runRemoteRemoveCommand=a;
@@ -1 +1 @@
1
- const e=require("./cli-error-CSsayo0u.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./style-BR52fK4V.cjs"),r=require("./get-config-path-C-D-QHuX.cjs"),i=require("./find-remote-D48r20g0.cjs"),a=require("./update-config-CNOHxgkF.cjs"),o=require("./validate-remote-name-w-qnr43w.cjs");var s=async({arguments:s,signal:c})=>{let l=t.n(s,0)??``,u=o.t(t.n(s,1)??``);return{data:{previousName:l,name:u,isDefault:await a.t({configPath:r.t(),signal:c,update:t=>{let n=i.t(t,l);if(Object.hasOwn(t.remotes,u))throw new e.t({code:`REMOTE_EXISTS`,exitCode:e.n.USAGE,message:`A remote named ${u} already exists.`,hint:`Pick another name, or remove it first: twenty remote remove ${u}`});let{[l]:r,...a}=t.remotes,o=t.defaultRemote===l;return{result:o,config:{...t,remotes:{...a,[u]:n},...o?{defaultRemote:u}:{}}}}})},human:n.o(`Renamed ${l} to ${u}.`)}};exports.runRemoteRenameCommand=s;
1
+ const e=require("./cli-error-CSsayo0u.cjs"),t=require("./read-command-values-uSJqBG_E.cjs"),n=require("./style-BR52fK4V.cjs"),r=require("./get-config-path-C-D-QHuX.cjs"),i=require("./find-remote-D48r20g0.cjs"),a=require("./update-config-BNB8Mkee.cjs"),o=require("./validate-remote-name-w-qnr43w.cjs");var s=async({arguments:s,signal:c})=>{let l=t.n(s,0)??``,u=o.t(t.n(s,1)??``);return{data:{previousName:l,name:u,isDefault:await a.t({configPath:r.t(),signal:c,update:t=>{let n=i.t(t,l);if(Object.hasOwn(t.remotes,u))throw new e.t({code:`REMOTE_EXISTS`,exitCode:e.n.USAGE,message:`A remote named ${u} already exists.`,hint:`Pick another name, or remove it first: twenty remote remove ${u}`});let{[l]:r,...a}=t.remotes,o=t.defaultRemote===l;return{result:o,config:{...t,remotes:{...a,[u]:n},...o?{defaultRemote:u}:{}}}}})},human:n.o(`Renamed ${l} to ${u}.`)}};exports.runRemoteRenameCommand=s;
@@ -1 +1 @@
1
- const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./find-remote-D48r20g0.cjs"),i=require("./update-config-CNOHxgkF.cjs");var a=async({arguments:a,signal:o})=>{let s=e.n(a,0)??``,c=await i.t({configPath:n.t(),signal:o,update:e=>({result:r.t(e,s),config:{...e,defaultRemote:s}})});return{data:{defaultRemote:s,apiUrl:c.apiUrl},human:t.o(`Default remote is now ${s} ${t.i(`(${c.apiUrl})`)}`)}};exports.runRemoteUseCommand=a;
1
+ const e=require("./read-command-values-uSJqBG_E.cjs"),t=require("./style-BR52fK4V.cjs"),n=require("./get-config-path-C-D-QHuX.cjs"),r=require("./find-remote-D48r20g0.cjs"),i=require("./update-config-BNB8Mkee.cjs");var a=async({arguments:a,signal:o})=>{let s=e.n(a,0)??``,c=await i.t({configPath:n.t(),signal:o,update:e=>({result:r.t(e,s),config:{...e,defaultRemote:s}})});return{data:{defaultRemote:s,apiUrl:c.apiUrl},human:t.o(`Default remote is now ${s} ${t.i(`(${c.apiUrl})`)}`)}};exports.runRemoteUseCommand=a;
@@ -1 +1 @@
1
- const e=require("./style-BR52fK4V.cjs"),t=require("./cli-version.constant-BJdY4dXs.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-jQjsWsAO.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 +1 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-BEfQWzTA-z2Y1wZJq.cjs"),n=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./target-environment-variable.constant-D7z8AihP.cjs"),a=require("./find-remote-D48r20g0.cjs");var o=e.t(),s=e=>e.length<=1?e.join(``):`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`,c=(e,t)=>{let n=e[t]?.trim();return(0,o.isNonEmptyString)(n)?n:void 0},l=(e,t)=>({source:`remote`,remoteName:t,remote:a.t(e,t)}),u=async({environment:e,remoteFlag:a,loadConfig:o,warn:u})=>{let d=c(e,i.t.REMOTE),f=c(e,i.t.API_URL),p=c(e,i.t.API_KEY);if(n.Vt(a)){let r=Object.values(i.t).filter(t=>n.Vt(c(e,t)));return t.r(r)&&u({code:`ENVIRONMENT_TARGET_IGNORED`,message:`Using remote ${a}. Ignoring ${s(r)}.`}),l(await o(),a)}if(n.Vt(d)){if(n.Vt(f)||n.Vt(p))throw new r.t({code:`CONFLICTING_TARGET`,exitCode:r.n.USAGE,message:`${i.t.REMOTE} cannot be combined with ${i.t.API_URL} or ${i.t.API_KEY}.`,hint:`Unset one of them, or choose with --remote.`});return l(await o(),d)}if(n.Vt(f)!==n.Vt(p)){let e=n.Vt(f)?i.t.API_KEY:i.t.API_URL;throw new r.t({code:`INCOMPLETE_TARGET`,exitCode:r.n.USAGE,message:`${e} is not set.`,hint:`Set both ${i.t.API_URL} and ${i.t.API_KEY}, or neither.`})}if(n.Vt(f)&&n.Vt(p))return{source:`environment`,apiUrl:f,apiKey:p};let m=await o();if(n.Vt(m.defaultRemote))return l(m,m.defaultRemote);throw new r.t({code:`TARGET_REQUIRED`,exitCode:r.n.USAGE,message:`No workspace selected.`,hint:`Sign in with: twenty auth login --url <url>. Or set ${i.t.API_URL} and ${i.t.API_KEY}.`})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./utils-D6KY4-gU-rSlFwrTC.cjs"),n=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),r=require("./cli-error-CSsayo0u.cjs"),i=require("./target-environment-variable.constant-D7z8AihP.cjs"),a=require("./find-remote-D48r20g0.cjs");var o=e.t(),s=e=>e.length<=1?e.join(``):`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`,c=(e,t)=>{let n=e[t]?.trim();return(0,o.isNonEmptyString)(n)?n:void 0},l=(e,t)=>({source:`remote`,remoteName:t,remote:a.t(e,t)}),u=async({environment:e,remoteFlag:a,loadConfig:o,warn:u})=>{let d=c(e,i.t.REMOTE),f=c(e,i.t.API_URL),p=c(e,i.t.API_KEY);if(n.Vt(a)){let r=Object.values(i.t).filter(t=>n.Vt(c(e,t)));return t.r(r)&&u({code:`ENVIRONMENT_TARGET_IGNORED`,message:`Using remote ${a}. Ignoring ${s(r)}.`}),l(await o(),a)}if(n.Vt(d)){if(n.Vt(f)||n.Vt(p))throw new r.t({code:`CONFLICTING_TARGET`,exitCode:r.n.USAGE,message:`${i.t.REMOTE} cannot be combined with ${i.t.API_URL} or ${i.t.API_KEY}.`,hint:`Unset one of them, or choose with --remote.`});return l(await o(),d)}if(n.Vt(f)!==n.Vt(p)){let e=n.Vt(f)?i.t.API_KEY:i.t.API_URL;throw new r.t({code:`INCOMPLETE_TARGET`,exitCode:r.n.USAGE,message:`${e} is not set.`,hint:`Set both ${i.t.API_URL} and ${i.t.API_KEY}, or neither.`})}if(n.Vt(f)&&n.Vt(p))return{source:`environment`,apiUrl:f,apiKey:p};let m=await o();if(n.Vt(m.defaultRemote))return l(m,m.defaultRemote);throw new r.t({code:`TARGET_REQUIRED`,exitCode:r.n.USAGE,message:`No workspace selected.`,hint:`Sign in with: twenty auth login --url <url>. Or set ${i.t.API_URL} and ${i.t.API_KEY}.`})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
@@ -1 +1 @@
1
- const e=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),t=require("./cli-error-CSsayo0u.cjs"),n=require("./parse-api-url-C9MmGtLY.cjs"),r=require("./confirm-in-terminal-BxEM5lxE.cjs"),i=require("./read-config-LKYhSPOb.cjs"),a=require("./get-credential-kind-JI9heHe2.cjs"),o=require("./sign-in-with-browser-StQ_Fkku.cjs"),s=require("./update-config-CNOHxgkF.cjs"),c=require("./fetch-signed-in-identity-CWFlsW7e.cjs");var l=(r,i,o)=>{let s=Object.hasOwn(r.remotes,o)?r.remotes[o]:void 0;if(!e.Vt(s)||a.t(s)!==`oauth`||s.twentyCLIAccessToken!==i.bearerToken||n.t({rawUrl:s.apiUrl,sourceName:o})!==i.apiUrl)throw new t.t({code:`CONFLICT`,exitCode:t.n.CONFLICT,message:`Remote ${o} changed while signing in again. No credentials were saved.`,hint:`Run the command again.`});return s},u=async({target:e,remoteName:t,error:n,configPath:a,output:u,signal:d})=>{if(l(await i.t(a),e,t),!await r.t({question:`Your session on ${t} is no longer valid. Sign in again now?`,signal:d}))throw n;let f=await o.t({apiUrl:e.apiUrl,output:u,signal:d}),p={...e,bearerToken:f.accessToken};return await c.t({target:p,signal:d}),await s.t({configPath:a,signal:d,update:n=>{let r=l(n,e,t);return{result:void 0,config:{...n,remotes:{...n.remotes,[t]:o.n({remote:r,credentials:{kind:`oauth`,...f}})}}}}}),p};exports.signInToRemoteAgain=u;
1
+ const e=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),t=require("./cli-error-CSsayo0u.cjs"),n=require("./parse-api-url-BeUTFxSv.cjs"),r=require("./confirm-in-terminal-BxEM5lxE.cjs"),i=require("./read-config-DYzGn3dk.cjs"),a=require("./get-credential-kind-JI9heHe2.cjs"),o=require("./sign-in-with-browser-BrB5btVu.cjs"),s=require("./update-config-BNB8Mkee.cjs"),c=require("./fetch-signed-in-identity-BSx-tgUO.cjs");var l=(r,i,o)=>{let s=Object.hasOwn(r.remotes,o)?r.remotes[o]:void 0;if(!e.Vt(s)||a.t(s)!==`oauth`||s.twentyCLIAccessToken!==i.bearerToken||n.t({rawUrl:s.apiUrl,sourceName:o})!==i.apiUrl)throw new t.t({code:`CONFLICT`,exitCode:t.n.CONFLICT,message:`Remote ${o} changed while signing in again. No credentials were saved.`,hint:`Run the command again.`});return s},u=async({target:e,remoteName:t,error:n,configPath:a,output:u,signal:d})=>{if(l(await i.t(a),e,t),!await r.t({question:`Your session on ${t} is no longer valid. Sign in again now?`,signal:d}))throw n;let f=await o.t({apiUrl:e.apiUrl,output:u,signal:d}),p={...e,bearerToken:f.accessToken};return await c.t({target:p,signal:d}),await s.t({configPath:a,signal:d,update:n=>{let r=l(n,e,t);return{result:void 0,config:{...n,remotes:{...n.remotes,[t]:o.n({remote:r,credentials:{kind:`oauth`,...f}})}}}}}),p};exports.signInToRemoteAgain=u;
@@ -1 +1 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./oauth-timing.constant-BClMQcKn.cjs"),i=require("./request-oauth-tokens-CS79pVAp.cjs"),a=require("./open-browser-LPuVspT7.cjs");let o=require("node:http"),s=require("node:crypto");var c=({remote:e,credentials:n})=>{let{apiKey:r,twentyCLIAccessToken:i,twentyCLIRefreshToken:a,twentyCLIRegistrationClientId:o,...s}=e;return{...s,...n.kind===`apiKey`?{apiKey:n.apiKey}:{twentyCLIAccessToken:n.accessToken,twentyCLIRegistrationClientId:n.clientId,...t.Vt(n.refreshToken)?{twentyCLIRefreshToken:n.refreshToken}:{}}}},l=()=>{let e=(0,s.randomBytes)(32).toString(`base64url`);return{codeVerifier:e,codeChallenge:(0,s.createHash)(`sha256`).update(e).digest(`base64url`)}},u=e.t(),d=e=>{let n=e.address();if(!t.Vt(n)||(0,u.isString)(n))throw Error(`The server is not listening on a TCP port.`);return n.port},f=`/callback`,p=e=>`<!doctype html><meta charset="utf-8"><title>Twenty CLI</title><body style="margin:0;display:grid;place-items:center;min-height:100vh;font-family:system-ui,sans-serif"><p>${e}</p></body>`,m=e=>new n.t({code:`OAUTH_FAILED`,message:e,hint:`Run twenty auth login again.`}),h=({url:e,state:n,issuer:r,isIssuerInResponse:i})=>{let a=e.searchParams.get(`iss`);if(i&&!t.Vt(a))throw m(`The sign-in response does not say which server sent it.`);if(t.Vt(a)&&a!==r)throw m(`The sign-in response came from ${a} instead of ${r}.`);if(e.searchParams.get(`state`)!==n)throw m(`The sign-in response does not match this login attempt.`);let o=e.searchParams.get(`error`);if((0,u.isNonEmptyString)(o))throw m(o===`access_denied`?`Sign-in was declined in the browser.`:`Sign-in failed: ${e.searchParams.get(`error_description`)??o}`);let s=e.searchParams.get(`code`);if(!(0,u.isNonEmptyString)(s))throw m(`The sign-in response has no authorization code.`);return s},g=async({state:e,issuer:t,isIssuerInResponse:i,signal:a})=>{let{promise:s,resolve:c,reject:l}=Promise.withResolvers();s.catch(()=>void 0);let u=(0,o.createServer)((n,r)=>{let a=new URL(n.url??`/`,`http://127.0.0.1`);if(a.pathname!==f){r.writeHead(404,{Connection:`close`}).end();return}try{let n=h({url:a,state:e,issuer:t,isIssuerInResponse:i});r.writeHead(200,{"Content-Type":`text/html; charset=utf-8`,Connection:`close`}).end(p(`Signed in. You can close this tab and go back to the terminal.`)),c(n)}catch(e){r.writeHead(400,{"Content-Type":`text/html; charset=utf-8`,Connection:`close`}).end(p(`Sign-in did not complete. Go back to the terminal for details.`)),l(e)}});await new Promise((e,t)=>{u.once(`error`,t),u.listen(0,`127.0.0.1`,()=>e())});let m=d(u),g=setTimeout(()=>l(new n.t({code:`TIMEOUT`,message:`Sign-in was not completed within ${r.t.SIGN_IN_TIMEOUT_MILLISECONDS/6e4} minutes.`,hint:`Run twenty auth login again.`})),r.t.SIGN_IN_TIMEOUT_MILLISECONDS),_=()=>l(a.reason),v=()=>{clearTimeout(g),a.removeEventListener(`abort`,_),u.closeAllConnections(),u.close()};return a.aborted&&(v(),a.throwIfAborted()),a.addEventListener(`abort`,_,{once:!0}),{redirectUri:`http://127.0.0.1:${m}${f}`,waitForCode:()=>s,close:v}},_=async({apiUrl:e,output:t,signal:n})=>{let r=await i.n({apiUrl:e,signal:n}),{codeVerifier:o,codeChallenge:c}=l(),u=(0,s.randomBytes)(16).toString(`base64url`),d=await g({state:u,issuer:r.issuer,isIssuerInResponse:r.isIssuerInResponse,signal:n});try{let s=new URL(r.authorizationEndpoint);s.searchParams.set(`response_type`,`code`),s.searchParams.set(`client_id`,r.clientId),s.searchParams.set(`code_challenge`,c),s.searchParams.set(`code_challenge_method`,`S256`),s.searchParams.set(`redirect_uri`,d.redirectUri),s.searchParams.set(`state`,u),t.progress({message:`Opening your browser to sign in to ${new URL(e).host}…`}),a.t(s.href),t.progress({message:`If nothing opens, visit: ${s.href}`}),t.progress({message:`Waiting for you to approve in the browser. Press Ctrl+C to cancel.`});let l=await d.waitForCode();return{...await i.t({apiUrl:e,tokenEndpoint:r.tokenEndpoint,parameters:{grant_type:`authorization_code`,code:l,code_verifier:o,redirect_uri:d.redirectUri,client_id:r.clientId},signal:n}),clientId:r.clientId}}finally{d.close()}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./oauth-timing.constant-BClMQcKn.cjs"),i=require("./request-oauth-tokens-XMt_yPua.cjs"),a=require("./open-browser-LPuVspT7.cjs");let o=require("node:http"),s=require("node:crypto");var c=({remote:e,credentials:n})=>{let{apiKey:r,twentyCLIAccessToken:i,twentyCLIRefreshToken:a,twentyCLIRegistrationClientId:o,...s}=e;return{...s,...n.kind===`apiKey`?{apiKey:n.apiKey}:{twentyCLIAccessToken:n.accessToken,twentyCLIRegistrationClientId:n.clientId,...t.Vt(n.refreshToken)?{twentyCLIRefreshToken:n.refreshToken}:{}}}},l=()=>{let e=(0,s.randomBytes)(32).toString(`base64url`);return{codeVerifier:e,codeChallenge:(0,s.createHash)(`sha256`).update(e).digest(`base64url`)}},u=e.t(),d=e=>{let n=e.address();if(!t.Vt(n)||(0,u.isString)(n))throw Error(`The server is not listening on a TCP port.`);return n.port},f=`/callback`,p=e=>`<!doctype html><meta charset="utf-8"><title>Twenty CLI</title><body style="margin:0;display:grid;place-items:center;min-height:100vh;font-family:system-ui,sans-serif"><p>${e}</p></body>`,m=e=>new n.t({code:`OAUTH_FAILED`,message:e,hint:`Run twenty auth login again.`}),h=({url:e,state:n,issuer:r,isIssuerInResponse:i})=>{let a=e.searchParams.get(`iss`);if(i&&!t.Vt(a))throw m(`The sign-in response does not say which server sent it.`);if(t.Vt(a)&&a!==r)throw m(`The sign-in response came from ${a} instead of ${r}.`);if(e.searchParams.get(`state`)!==n)throw m(`The sign-in response does not match this login attempt.`);let o=e.searchParams.get(`error`);if((0,u.isNonEmptyString)(o))throw m(o===`access_denied`?`Sign-in was declined in the browser.`:`Sign-in failed: ${e.searchParams.get(`error_description`)??o}`);let s=e.searchParams.get(`code`);if(!(0,u.isNonEmptyString)(s))throw m(`The sign-in response has no authorization code.`);return s},g=async({state:e,issuer:t,isIssuerInResponse:i,signal:a})=>{let{promise:s,resolve:c,reject:l}=Promise.withResolvers();s.catch(()=>void 0);let u=(0,o.createServer)((n,r)=>{let a=new URL(n.url??`/`,`http://127.0.0.1`);if(a.pathname!==f){r.writeHead(404,{Connection:`close`}).end();return}try{let n=h({url:a,state:e,issuer:t,isIssuerInResponse:i});r.writeHead(200,{"Content-Type":`text/html; charset=utf-8`,Connection:`close`}).end(p(`Signed in. You can close this tab and go back to the terminal.`)),c(n)}catch(e){r.writeHead(400,{"Content-Type":`text/html; charset=utf-8`,Connection:`close`}).end(p(`Sign-in did not complete. Go back to the terminal for details.`)),l(e)}});await new Promise((e,t)=>{u.once(`error`,t),u.listen(0,`127.0.0.1`,()=>e())});let m=d(u),g=setTimeout(()=>l(new n.t({code:`TIMEOUT`,message:`Sign-in was not completed within ${r.t.SIGN_IN_TIMEOUT_MILLISECONDS/6e4} minutes.`,hint:`Run twenty auth login again.`})),r.t.SIGN_IN_TIMEOUT_MILLISECONDS),_=()=>l(a.reason),v=()=>{clearTimeout(g),a.removeEventListener(`abort`,_),u.closeAllConnections(),u.close()};return a.aborted&&(v(),a.throwIfAborted()),a.addEventListener(`abort`,_,{once:!0}),{redirectUri:`http://127.0.0.1:${m}${f}`,waitForCode:()=>s,close:v}},_=async({apiUrl:e,output:t,signal:n})=>{let r=await i.n({apiUrl:e,signal:n}),{codeVerifier:o,codeChallenge:c}=l(),u=(0,s.randomBytes)(16).toString(`base64url`),d=await g({state:u,issuer:r.issuer,isIssuerInResponse:r.isIssuerInResponse,signal:n});try{let s=new URL(r.authorizationEndpoint);s.searchParams.set(`response_type`,`code`),s.searchParams.set(`client_id`,r.clientId),s.searchParams.set(`code_challenge`,c),s.searchParams.set(`code_challenge_method`,`S256`),s.searchParams.set(`redirect_uri`,d.redirectUri),s.searchParams.set(`state`,u),t.progress({message:`Opening your browser to sign in to ${new URL(e).host}…`}),a.t(s.href),t.progress({message:`If nothing opens, visit: ${s.href}`}),t.progress({message:`Waiting for you to approve in the browser. Press Ctrl+C to cancel.`});let l=await d.waitForCode();return{...await i.t({apiUrl:e,tokenEndpoint:r.tokenEndpoint,parameters:{grant_type:`authorization_code`,code:l,code_verifier:o,redirect_uri:d.redirectUri,client_id:r.clientId},signal:n}),clientId:r.clientId}}finally{d.close()}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});
@@ -1 +1 @@
1
- const e=require("./constants-Du9J-8Ug-CD8GTrut.cjs");var t=({apiUrl:t,source:n,remoteName:r})=>({...e.Vt(r)?{remote:r}:{},apiUrl:t,source:n});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
1
+ const e=require("./constants-BAi8jZf9-C7iTUxcn.cjs");var t=({apiUrl:t,source:n,remoteName:r})=>({...e.Vt(r)?{remote:r}:{},apiUrl:t,source:n});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
@@ -1,2 +1,2 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./target-environment-variable.constant-D7z8AihP.cjs"),i=require("./create-cancelled-error-DgrNfOv2.cjs"),a=require("./style-BR52fK4V.cjs");let o=require("node:path"),s=require("node:fs"),c=require("node:child_process");var l=({severity:e,code:n,message:r,file:i,line:o,column:s})=>{let c=[t.Vt(i)?[i,o,s].filter(t.Vt).join(`:`):void 0,a.i(n,process.stderr),r].filter(t.Vt).join(` `);return e===`error`?a.a(c):a.s(c)},u=e.t(),d=e=>!t.Vt(e)||(0,u.isString)(e),f=e=>!t.Vt(e)||(0,u.isNumber)(e),p=e=>t.p(e)&&(e.severity===`error`||e.severity===`warning`)&&(0,u.isString)(e.code)&&(0,u.isString)(e.message)&&d(e.file)&&f(e.line)&&f(e.column),m=e=>t.p(e)&&(0,u.isString)(e.path)&&(0,u.isString)(e.role)&&(0,u.isString)(e.sourcePath)&&(0,u.isNumber)(e.size)&&(0,u.isString)(e.sha256),h=()=>new n.t({code:`WORKER_FAILED`,message:`The app worker returned a result this CLI cannot read.`,hint:`Check that the app and the CLI use compatible versions.`}),g=e=>{if(!(!t.p(e)||!(0,u.isString)(e.buildId)||!d(e.directory)||!(0,u.isString)(e.contentHash)||!t.p(e.application)||!(0,u.isString)(e.application.universalIdentifier)||!(0,u.isString)(e.application.name)||!(0,u.isString)(e.application.displayName)||!(0,u.isString)(e.manifestFormat)||!t.p(e.manifest)||!(0,u.isArray)(e.files)||!e.files.every(m)))return{data:{buildId:e.buildId,...(0,u.isString)(e.directory)?{directory:e.directory}:{},contentHash:e.contentHash,application:{universalIdentifier:e.application.universalIdentifier,name:e.application.name,displayName:e.application.displayName},manifestFormat:e.manifestFormat,manifest:e.manifest,files:e.files}}},_=e=>(0,u.isNull)(e)?{data:null}:void 0,v=({value:e,parseData:n})=>{if(!t.p(e)||!(0,u.isArray)(e.diagnostics)||!e.diagnostics.every(p))throw h();let r=e.diagnostics;if(e.success===!0){let i=n(e.data);if(!t.Vt(i))throw h();return{success:!0,data:i.data,diagnostics:r}}if(e.success===!1&&t.p(e.error)&&(0,u.isString)(e.error.code)&&(0,u.isString)(e.error.message))return{success:!1,error:{code:e.error.code,message:e.error.message,...(0,u.isString)(e.error.hint)?{hint:e.error.hint}:{},...t.p(e.error.details)?{details:e.error.details}:{}},diagnostics:r};throw h()},y={CANCEL_GRACE_MILLISECONDS:3e3,OUTPUT_LIMIT_BYTES:64*1024},b=new Set([...Object.values(r.t),`TWENTY_APP_ACCESS_TOKEN`,`TWENTY_APP_APPLICATION_ACCESS_TOKEN`]),x=/^TWENTY_.*(TOKEN|KEY|SECRET|PASSWORD)$/,S=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!b.has(e)&&!x.test(e))),C=e=>{let t=Buffer.alloc(e),n=0,r=!1;return{add:i=>{let a=i.copy(t,n,0,e-n);n+=a,r||=a<i.length},read:()=>({text:t.toString(`utf8`,0,n),isTruncated:r})}},w=()=>({modulePath:(0,o.join)((0,o.dirname)((0,s.realpathSync)(process.argv[1]??``)),`app-worker.cjs`),execArgv:[]}),T=e=>t.p(e)&&(e.type===`result`&&`result`in e&&(e.isSnapshotHeld===!0||e.isSnapshotHeld===!1)||e.type===`released`&&`release`in e||e.type===`failure`&&(0,u.isString)(e.message)&&(!t.Vt(e.code)||(0,u.isString)(e.code))&&(!t.Vt(e.hint)||(0,u.isString)(e.hint))&&(!t.Vt(e.details)||t.p(e.details))),E=async({request:e,signal:r,useHeldSnapshot:a})=>{r.throwIfAborted();let{modulePath:o,execArgv:s}=w(),l=(0,c.fork)(o,[],{cwd:e.appPath,env:S(process.env),execArgv:s,serialization:`json`,stdio:[`ignore`,`pipe`,`pipe`,`ipc`]}),u=C(y.OUTPUT_LIMIT_BYTES),d=C(y.OUTPUT_LIMIT_BYTES);return l.stdout?.on(`data`,u.add),l.stderr?.on(`data`,d.add),new Promise((o,s)=>{let c,f,p,m,h,g=!1,_=()=>{let e=u.read(),t=d.read();return{stdout:e.text,stderr:t.text,isTruncated:e.isTruncated||t.isTruncated}},v=e=>{l.connected&&l.send(e),h=setTimeout(()=>l.kill(`SIGKILL`),y.CANCEL_GRACE_MILLISECONDS)},b=()=>v({type:`cancel`}),x=e=>{g||(g=!0,r.removeEventListener(`abort`,b),clearTimeout(h),e())},S=e=>{r.removeEventListener(`abort`,b),clearTimeout(h),m=(t.Vt(a)?a({result:e.result,watchInputs:e.watchInputs,output:_()}):Promise.resolve()).then(()=>({isSuccessful:!0}),e=>({isSuccessful:!1,error:e})).finally(()=>v({type:`release`}))},C=({exitCode:e,exitSignal:a,heldOutcome:l})=>x(()=>{let u=_();if(t.Vt(l)&&!l.isSuccessful){s(l.error);return}if(t.Vt(c)){o({result:c.result,watchInputs:c.watchInputs,release:c.isSnapshotHeld?p?.release:c.release,isSnapshotHeld:c.isSnapshotHeld,output:u});return}if(r.aborted){s(i.t());return}let d=t.Vt(a)?`signal ${a}`:`exit code ${e}`;s(new n.t({code:`WORKER_FAILED`,message:t.Vt(f)?`The app worker failed: ${f.message}`:`The app worker stopped before finishing (${d}). App code or a dependency may have exited the process.`,hint:f?.hint,details:{...f?.details,workerErrorCode:f?.code,exitCode:e,signal:a,output:u}}))});r.addEventListener(`abort`,b,{once:!0}),l.on(`message`,e=>{if(T(e)){if(e.type===`released`){p=e;return}if(e.type===`failure`){f=e;return}c=e,e.isSnapshotHeld&&S(e)}}),l.on(`error`,e=>x(()=>s(new n.t({code:`WORKER_FAILED`,message:`The app worker could not run: ${e.message}`})))),l.on(`close`,(e,n)=>{if(!t.Vt(m)){C({exitCode:e,exitSignal:n});return}m.then(t=>C({exitCode:e,exitSignal:n,heldOutcome:t})).catch(e=>x(()=>s(e)))}),l.send(e)})},D=e=>[[`stdout`,e.stdout],[`stderr`,e.stderr]].filter(([,e])=>(0,u.isNonEmptyString)(e.trim())).map(([t,n])=>({severity:`warning`,code:`PROJECT_OUTPUT`,message:`The app or twenty-sdk wrote to ${t}:\n${n.trimEnd()}${e.isTruncated?`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./target-environment-variable.constant-D7z8AihP.cjs"),i=require("./create-cancelled-error-DgrNfOv2.cjs"),a=require("./style-BR52fK4V.cjs");let o=require("node:path"),s=require("node:fs"),c=require("node:child_process");var l=({severity:e,code:n,message:r,file:i,line:o,column:s})=>{let c=[t.Vt(i)?[i,o,s].filter(t.Vt).join(`:`):void 0,a.i(n,process.stderr),r].filter(t.Vt).join(` `);return e===`error`?a.a(c):a.s(c)},u=e.t(),d=e=>!t.Vt(e)||(0,u.isString)(e),f=e=>!t.Vt(e)||(0,u.isNumber)(e),p=e=>t.v(e)&&(e.severity===`error`||e.severity===`warning`)&&(0,u.isString)(e.code)&&(0,u.isString)(e.message)&&d(e.file)&&f(e.line)&&f(e.column),m=e=>t.v(e)&&(0,u.isString)(e.path)&&(0,u.isString)(e.role)&&(0,u.isString)(e.sourcePath)&&(0,u.isNumber)(e.size)&&(0,u.isString)(e.sha256),h=()=>new n.t({code:`WORKER_FAILED`,message:`The app worker returned a result this CLI cannot read.`,hint:`Check that the app and the CLI use compatible versions.`}),g=e=>{if(!(!t.v(e)||!(0,u.isString)(e.buildId)||!d(e.directory)||!(0,u.isString)(e.contentHash)||!t.v(e.application)||!(0,u.isString)(e.application.universalIdentifier)||!(0,u.isString)(e.application.name)||!(0,u.isString)(e.application.displayName)||!(0,u.isString)(e.manifestFormat)||!t.v(e.manifest)||!(0,u.isArray)(e.files)||!e.files.every(m)))return{data:{buildId:e.buildId,...(0,u.isString)(e.directory)?{directory:e.directory}:{},contentHash:e.contentHash,application:{universalIdentifier:e.application.universalIdentifier,name:e.application.name,displayName:e.application.displayName},manifestFormat:e.manifestFormat,manifest:e.manifest,files:e.files}}},_=e=>(0,u.isNull)(e)?{data:null}:void 0,v=({value:e,parseData:n})=>{if(!t.v(e)||!(0,u.isArray)(e.diagnostics)||!e.diagnostics.every(p))throw h();let r=e.diagnostics;if(e.success===!0){let i=n(e.data);if(!t.Vt(i))throw h();return{success:!0,data:i.data,diagnostics:r}}if(e.success===!1&&t.v(e.error)&&(0,u.isString)(e.error.code)&&(0,u.isString)(e.error.message))return{success:!1,error:{code:e.error.code,message:e.error.message,...(0,u.isString)(e.error.hint)?{hint:e.error.hint}:{},...t.v(e.error.details)?{details:e.error.details}:{}},diagnostics:r};throw h()},y={CANCEL_GRACE_MILLISECONDS:3e3,OUTPUT_LIMIT_BYTES:64*1024},b=new Set([...Object.values(r.t),`TWENTY_APP_ACCESS_TOKEN`,`TWENTY_APP_APPLICATION_ACCESS_TOKEN`]),x=/^TWENTY_.*(TOKEN|KEY|SECRET|PASSWORD)$/,S=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!b.has(e)&&!x.test(e))),C=e=>{let t=Buffer.alloc(e),n=0,r=!1;return{add:i=>{let a=i.copy(t,n,0,e-n);n+=a,r||=a<i.length},read:()=>({text:t.toString(`utf8`,0,n),isTruncated:r})}},w=()=>({modulePath:(0,o.join)((0,o.dirname)((0,s.realpathSync)(process.argv[1]??``)),`app-worker.cjs`),execArgv:[]}),T=e=>t.v(e)&&(e.type===`result`&&`result`in e&&(e.isSnapshotHeld===!0||e.isSnapshotHeld===!1)||e.type===`released`&&`release`in e||e.type===`failure`&&(0,u.isString)(e.message)&&(!t.Vt(e.code)||(0,u.isString)(e.code))&&(!t.Vt(e.hint)||(0,u.isString)(e.hint))&&(!t.Vt(e.details)||t.v(e.details))),E=async({request:e,signal:r,useHeldSnapshot:a})=>{r.throwIfAborted();let{modulePath:o,execArgv:s}=w(),l=(0,c.fork)(o,[],{cwd:e.appPath,env:S(process.env),execArgv:s,serialization:`json`,stdio:[`ignore`,`pipe`,`pipe`,`ipc`]}),u=C(y.OUTPUT_LIMIT_BYTES),d=C(y.OUTPUT_LIMIT_BYTES);return l.stdout?.on(`data`,u.add),l.stderr?.on(`data`,d.add),new Promise((o,s)=>{let c,f,p,m,h,g=!1,_=()=>{let e=u.read(),t=d.read();return{stdout:e.text,stderr:t.text,isTruncated:e.isTruncated||t.isTruncated}},v=e=>{l.connected&&l.send(e),h=setTimeout(()=>l.kill(`SIGKILL`),y.CANCEL_GRACE_MILLISECONDS)},b=()=>v({type:`cancel`}),x=e=>{g||(g=!0,r.removeEventListener(`abort`,b),clearTimeout(h),e())},S=e=>{r.removeEventListener(`abort`,b),clearTimeout(h),m=(t.Vt(a)?a({result:e.result,watchInputs:e.watchInputs,output:_()}):Promise.resolve()).then(()=>({isSuccessful:!0}),e=>({isSuccessful:!1,error:e})).finally(()=>v({type:`release`}))},C=({exitCode:e,exitSignal:a,heldOutcome:l})=>x(()=>{let u=_();if(t.Vt(l)&&!l.isSuccessful){s(l.error);return}if(t.Vt(c)){o({result:c.result,watchInputs:c.watchInputs,release:c.isSnapshotHeld?p?.release:c.release,isSnapshotHeld:c.isSnapshotHeld,output:u});return}if(r.aborted){s(i.t());return}let d=t.Vt(a)?`signal ${a}`:`exit code ${e}`;s(new n.t({code:`WORKER_FAILED`,message:t.Vt(f)?`The app worker failed: ${f.message}`:`The app worker stopped before finishing (${d}). App code or a dependency may have exited the process.`,hint:f?.hint,details:{...f?.details,workerErrorCode:f?.code,exitCode:e,signal:a,output:u}}))});r.addEventListener(`abort`,b,{once:!0}),l.on(`message`,e=>{if(T(e)){if(e.type===`released`){p=e;return}if(e.type===`failure`){f=e;return}c=e,e.isSnapshotHeld&&S(e)}}),l.on(`error`,e=>x(()=>s(new n.t({code:`WORKER_FAILED`,message:`The app worker could not run: ${e.message}`})))),l.on(`close`,(e,n)=>{if(!t.Vt(m)){C({exitCode:e,exitSignal:n});return}m.then(t=>C({exitCode:e,exitSignal:n,heldOutcome:t})).catch(e=>x(()=>s(e)))}),l.send(e)})},D=e=>[[`stdout`,e.stdout],[`stderr`,e.stderr]].filter(([,e])=>(0,u.isNonEmptyString)(e.trim())).map(([t,n])=>({severity:`warning`,code:`PROJECT_OUTPUT`,message:`The app or twenty-sdk wrote to ${t}:\n${n.trimEnd()}${e.isTruncated?`
2
2
  (output truncated)`:``}`}));Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return D}});
@@ -1,2 +1,2 @@
1
- const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),n=require("./validate-app-path-Dau-PC0a.cjs"),r=require("./collect-watch-inputs-Cexr5YYZ.cjs"),i=require("./resolve-project-typescript-CZW_p97L.cjs"),a=require("./cli-error-CSsayo0u.cjs"),o=require("./get-tooling-error-context-C69TBSej.cjs");let s=require("node:path");var c=e.r({typecheckApplication:()=>d}),l=({diagnostic:e,appPath:n,typescript:r})=>{let i=t.Vt(e.file)&&t.Vt(e.start)?e.file.getLineAndCharacterOfPosition(e.start):void 0;return{severity:e.category===r.DiagnosticCategory.Warning?`warning`:`error`,code:`TS${e.code}`,message:r.flattenDiagnosticMessageText(e.messageText,`
1
+ const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-BAi8jZf9-C7iTUxcn.cjs"),n=require("./validate-app-path-Dau-PC0a.cjs"),r=require("./collect-watch-inputs-CSE6DsGE.cjs"),i=require("./resolve-project-typescript-BWyUXLJM.cjs"),a=require("./cli-error-CSsayo0u.cjs"),o=require("./get-tooling-error-context-C69TBSej.cjs");let s=require("node:path");var c=e.r({typecheckApplication:()=>d}),l=({diagnostic:e,appPath:n,typescript:r})=>{let i=t.Vt(e.file)&&t.Vt(e.start)?e.file.getLineAndCharacterOfPosition(e.start):void 0;return{severity:e.category===r.DiagnosticCategory.Warning?`warning`:`error`,code:`TS${e.code}`,message:r.flattenDiagnosticMessageText(e.messageText,`
2
2
  `),...t.Vt(e.file)?{file:(0,s.relative)(n,e.file.fileName)}:{},...t.Vt(i)?{line:i.line+1,column:i.character+1}:{}}},u=({appPath:e,typescript:n})=>{let i=(0,s.join)(e,`tsconfig.json`),a=(e,t)=>(r.r(e),n.sys.readFile(e,t)),o=n.readConfigFile(i,a);if(t.Vt(o.error))return[o.error];let c=n.parseJsonConfigFileContent(o.config,{...n.sys,readFile:a},e,{noEmit:!0},i);if(c.errors.length>0)return c.errors;let l=n.createCompilerHost(c.options),u=l.readFile;l.readFile=e=>(r.r(e),u(e));let d=l.fileExists;l.fileExists=e=>{let t=d(e);return t||r.i(e),t};let f=n.createProgram({host:l,rootNames:c.fileNames,options:c.options,projectReferences:c.projectReferences});return n.getPreEmitDiagnostics(f)},d=async({appPath:e,signal:t})=>{let r=await n.t(e);if(!r.success)return r;try{t?.throwIfAborted();let n=await i.t(e);t?.throwIfAborted();let r=u({appPath:e,typescript:n});t?.throwIfAborted();let a=r.map(t=>l({diagnostic:t,appPath:e,typescript:n}));return a.some(e=>e.severity===`error`)?{success:!1,error:{code:`TYPECHECK_FAILED`,message:`Typecheck failed.`},diagnostics:a}:{success:!0,data:null,diagnostics:a}}catch(e){return{success:!1,error:{code:t?.aborted?`CANCELLED`:e instanceof a.t?e.code:`TYPECHECK_FAILED`,message:e instanceof Error?e.message:String(e),...o.t(e)},diagnostics:[]}}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
@@ -1 +1 @@
1
- const e=require("./read-config-LKYhSPOb.cjs"),t=require("./write-config-atomically-gr2Ldzm8.cjs");var n=({configPath:n,signal:r,update:i})=>t.n({configPath:n,signal:r,operation:async()=>{let{config:a,result:o}=i(await e.t(n));return r.throwIfAborted(),await t.t(n,a),o}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
1
+ const e=require("./read-config-DYzGn3dk.cjs"),t=require("./write-config-atomically-eVpizD-t.cjs");var n=({configPath:n,signal:r,update:i})=>t.n({configPath:n,signal:r,operation:async()=>{let{config:a,result:o}=i(await e.t(n));return r.throwIfAborted(),await t.t(n,a),o}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});