@xano/sdk 1.0.5 → 1.0.7

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 (277) hide show
  1. package/CHANGELOG.md +35 -5
  2. package/README.md +56 -20
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-KVLR7M5Y.js → agent-file-refresh-DGGSRPJ4.js} +15 -14
  5. package/dist/agent-skill-command-37DFYS7Q.js +414 -0
  6. package/dist/{answer-shape-XGR2DGWY.js → answer-shape-RBFDCNZ7.js} +5 -5
  7. package/dist/{backend-dir-IE4RMUFH.js → backend-dir-KDD43X7K.js} +16 -15
  8. package/dist/{backend-slot-6HBWG5FN.js → backend-slot-TBOVZXDE.js} +4 -4
  9. package/dist/bin.js +63 -61
  10. package/dist/{branch-T2APKPVG.js → branch-7PIKNUD7.js} +12 -11
  11. package/dist/{branch-commands-HXXTCSOO.js → branch-commands-EGY7ZEZE.js} +32 -32
  12. package/dist/bundle.js +9 -39
  13. package/dist/{capture-HBXFXZEW.js → capture-GW5KNKMB.js} +3 -3
  14. package/dist/{chunk-3BJYQGAZ.js → chunk-26LHXLD3.js} +2 -2
  15. package/dist/{chunk-N6BWB35H.js → chunk-2ACWDSAQ.js} +3 -3
  16. package/dist/{chunk-XIABDKFQ.js → chunk-2SD4LA22.js} +2 -2
  17. package/dist/{chunk-K6PRKPFX.js → chunk-2XWVZRL6.js} +7 -7
  18. package/dist/{chunk-ES5A66IH.js → chunk-2YER2J47.js} +13 -13
  19. package/dist/{chunk-G57RYMKB.js → chunk-3FRGNBOC.js} +2 -2
  20. package/dist/{chunk-BMCZQZMI.js → chunk-46PATL23.js} +13 -9
  21. package/dist/{chunk-MYLPOVX6.js → chunk-47XT6WQL.js} +8 -8
  22. package/dist/{chunk-AWQ7BQTQ.js → chunk-4GPIOIAC.js} +6 -1
  23. package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
  24. package/dist/{chunk-QOLOQ35F.js → chunk-567KK6XF.js} +8 -8
  25. package/dist/{chunk-57HMNJGB.js → chunk-5GIOCDUM.js} +893 -922
  26. package/dist/{chunk-OKNE3TWU.js → chunk-5KJBWIDZ.js} +83 -5
  27. package/dist/{chunk-SRX6B544.js → chunk-5QMJOE2K.js} +5 -5
  28. package/dist/{chunk-AGD7F7YI.js → chunk-5SCPRXFB.js} +4 -4
  29. package/dist/{chunk-SNGFEESM.js → chunk-5ZG7V2VW.js} +3 -3
  30. package/dist/{chunk-XJU6UAFV.js → chunk-7FIMUFBP.js} +2 -2
  31. package/dist/{chunk-AESE434J.js → chunk-7M6JP3FS.js} +2 -2
  32. package/dist/{chunk-K6CB5TKM.js → chunk-7REDHC4N.js} +2 -2
  33. package/dist/chunk-7VR4IO5B.js +44 -0
  34. package/dist/{chunk-57B56I4B.js → chunk-7XXWKTCE.js} +65 -41
  35. package/dist/{chunk-PL7AIAWS.js → chunk-A4R5CAY4.js} +4 -111
  36. package/dist/{chunk-QZTJ2556.js → chunk-AKERAUNH.js} +4 -4
  37. package/dist/{chunk-JZWUAEMO.js → chunk-ARWMVNDJ.js} +6 -3
  38. package/dist/{chunk-WYS6XVZ3.js → chunk-AVS4WPPY.js} +2 -2
  39. package/dist/{chunk-KUU7T4ZE.js → chunk-B2URJBC4.js} +18 -18
  40. package/dist/chunk-B3P25SDP.js +78 -0
  41. package/dist/chunk-BRANWM4U.js +853 -0
  42. package/dist/{chunk-BBPAXOU6.js → chunk-BSVQEKHO.js} +6 -6
  43. package/dist/{chunk-3WHWOKU4.js → chunk-BZ6WTG3E.js} +4 -4
  44. package/dist/{chunk-XNZURZ7T.js → chunk-CH23ONYG.js} +77 -6
  45. package/dist/{chunk-SQPIECXD.js → chunk-CJDPSCMX.js} +45 -5
  46. package/dist/{chunk-M7GJ6YUF.js → chunk-CNZASQPL.js} +16 -2
  47. package/dist/{chunk-44CWK6YC.js → chunk-CPN6WSBH.js} +4 -4
  48. package/dist/{chunk-L3BDO2BI.js → chunk-CT3J5JRZ.js} +7 -7
  49. package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
  50. package/dist/{chunk-OGUMHW2X.js → chunk-D5OZRJ3T.js} +7 -7
  51. package/dist/{chunk-S5KQIFKJ.js → chunk-DG3APBUJ.js} +208 -112
  52. package/dist/chunk-DIWF7L33.js +995 -0
  53. package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
  54. package/dist/{chunk-LZDA6SVD.js → chunk-DXZTL7NA.js} +141 -91
  55. package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
  56. package/dist/{chunk-3VX7VAQT.js → chunk-EF4MHLEW.js} +26 -9
  57. package/dist/{chunk-AGSCOISO.js → chunk-ELPQTDW6.js} +108 -100
  58. package/dist/{chunk-Q22BMRPF.js → chunk-EPFDY5JU.js} +2 -2
  59. package/dist/{chunk-7DBM6XHR.js → chunk-EU32BC5B.js} +8 -8
  60. package/dist/{chunk-Y76ERHLK.js → chunk-FDTET7FZ.js} +6 -6
  61. package/dist/{chunk-Z3SNX45M.js → chunk-FENA7K7C.js} +3 -3
  62. package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
  63. package/dist/{chunk-FV55SRQU.js → chunk-FQ53GTII.js} +9 -9
  64. package/dist/{chunk-DEVGLLNZ.js → chunk-GHMLRFRX.js} +8 -8
  65. package/dist/{chunk-GMVW6ZZK.js → chunk-H2K4GFUS.js} +4 -4
  66. package/dist/{chunk-NUU76247.js → chunk-HTQWAQRW.js} +3 -3
  67. package/dist/{chunk-ROY4YAEQ.js → chunk-HU7F56VF.js} +22 -2
  68. package/dist/{chunk-RXCT3OCU.js → chunk-HZ6ADG3O.js} +47 -8
  69. package/dist/{chunk-Z2BRSQ6M.js → chunk-I6XRUU6U.js} +91 -64
  70. package/dist/chunk-IPNN2KRW.js +257 -0
  71. package/dist/{chunk-SF2B7MZK.js → chunk-IYXL5NYU.js} +259 -31
  72. package/dist/chunk-JI3BLXWQ.js +107 -0
  73. package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
  74. package/dist/{chunk-OVV2HXJ6.js → chunk-JOOKM7AH.js} +2 -2
  75. package/dist/{chunk-65SW2BA5.js → chunk-JOWY6HFL.js} +3 -3
  76. package/dist/{chunk-I5VEROXW.js → chunk-JX6N73H3.js} +2 -2
  77. package/dist/{chunk-5D6DGF3W.js → chunk-L472YIGG.js} +8 -8
  78. package/dist/{chunk-HLQH3AXB.js → chunk-L6HZ67P6.js} +2 -2
  79. package/dist/{chunk-TM5LRSBB.js → chunk-LBJA7IEM.js} +370 -45
  80. package/dist/chunk-LCOCRJ4K.js +116 -0
  81. package/dist/{chunk-DGWHAVRG.js → chunk-LJM5CIY4.js} +16 -1
  82. package/dist/{chunk-5RLAF6RL.js → chunk-M2C54ZBC.js} +4 -4
  83. package/dist/{chunk-U6DR6464.js → chunk-M3NEK3LT.js} +4 -4
  84. package/dist/{chunk-5XVBT6CQ.js → chunk-MBL7CXJ7.js} +2 -2
  85. package/dist/{chunk-5YBNXNKU.js → chunk-MFWF2NZJ.js} +12 -5
  86. package/dist/{chunk-TEBS7FE6.js → chunk-MYZRMSPM.js} +2 -2
  87. package/dist/{chunk-YSLMMR2U.js → chunk-N3YFCFCO.js} +14 -14
  88. package/dist/{chunk-OJPZEUPH.js → chunk-NDJAKSE7.js} +11 -8
  89. package/dist/{chunk-PIPIA7K7.js → chunk-NV37YGOV.js} +7 -7
  90. package/dist/{chunk-ZHGWR45B.js → chunk-O56DQKPL.js} +9 -9
  91. package/dist/{chunk-4QBGE3EO.js → chunk-ORGNLQN6.js} +6 -6
  92. package/dist/{chunk-NNB7VUCH.js → chunk-PEIBGH2V.js} +55 -31
  93. package/dist/{chunk-UJ6ZZJDD.js → chunk-PEX4QZVI.js} +2 -2
  94. package/dist/{chunk-LLS2WO2K.js → chunk-PV25BDCH.js} +5 -5
  95. package/dist/{chunk-F3557PVM.js → chunk-PY722CHR.js} +2 -2
  96. package/dist/{chunk-4GDEEY2U.js → chunk-QGIZLFAS.js} +4 -4
  97. package/dist/{chunk-YI76TURL.js → chunk-QRQ54LUI.js} +16 -14
  98. package/dist/{chunk-JQOX6HW4.js → chunk-RBU2YX22.js} +3 -3
  99. package/dist/{chunk-4NEBBKOP.js → chunk-RRMH7WMY.js} +7 -7
  100. package/dist/{chunk-HOOOOJJP.js → chunk-S46ODQRA.js} +2 -2
  101. package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
  102. package/dist/{chunk-4QFBEKXI.js → chunk-SDGV76HF.js} +2 -2
  103. package/dist/{chunk-CV54PASI.js → chunk-SGK3PTTM.js} +312 -132
  104. package/dist/{chunk-S5TEJIGP.js → chunk-SKEG3V2V.js} +2 -2
  105. package/dist/{chunk-VZ22VUAS.js → chunk-SLGJIWCY.js} +3 -3
  106. package/dist/{chunk-JSEVKRVJ.js → chunk-T4LJ5UR2.js} +29 -7
  107. package/dist/{chunk-JXKO6JT7.js → chunk-TWVUYS63.js} +24 -24
  108. package/dist/{chunk-UIEFE6FU.js → chunk-U5M7T6CI.js} +7 -7
  109. package/dist/{chunk-Z4VN347O.js → chunk-UYFUIHH3.js} +2 -2
  110. package/dist/{chunk-Y6NO3DLQ.js → chunk-V7MBRUK6.js} +3 -3
  111. package/dist/chunk-VAGSKUWC.js +67 -0
  112. package/dist/{chunk-A4NNCI4O.js → chunk-VIJ5D3RC.js} +3 -3
  113. package/dist/{chunk-3IYVHVM6.js → chunk-VJFMUJWZ.js} +4 -4
  114. package/dist/{chunk-V4IBHDIY.js → chunk-VNDR2T35.js} +7 -7
  115. package/dist/chunk-WAVNUTMT.js +9 -0
  116. package/dist/{chunk-KQLACS4Q.js → chunk-WNCW2RNB.js} +4 -4
  117. package/dist/chunk-WUEPP5HD.js +111 -0
  118. package/dist/{chunk-IV446ZLJ.js → chunk-Y453TW6J.js} +2 -2
  119. package/dist/{local-engine-command-73NHWD6V.js → chunk-YCUDOF6Q.js} +22 -76
  120. package/dist/{chunk-CJ76PSJT.js → chunk-YH2JVJAO.js} +12 -12
  121. package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
  122. package/dist/{chunk-AMBEITWL.js → chunk-ZGLNHA7T.js} +7 -7
  123. package/dist/{chunk-NGAODDLX.js → chunk-ZJOAWRED.js} +8 -8
  124. package/dist/{chunk-TUEFTRC2.js → chunk-ZXRDD3Q2.js} +50 -27
  125. package/dist/cli.d.ts +40 -11
  126. package/dist/cli.js +60 -56
  127. package/dist/{codegen-command-L2OO6OTE.js → codegen-command-T7TC7PQO.js} +79 -72
  128. package/dist/codegen.d.ts +2 -2
  129. package/dist/codegen.js +2 -2
  130. package/dist/{commands-2E4JB3DB.js → commands-JDENTDJS.js} +3 -3
  131. package/dist/{completion-LPJIH5VQ.js → completion-YFD5OVJW.js} +9 -5
  132. package/dist/{config-QDCRKEWD.js → config-YJFUTRJW.js} +8 -8
  133. package/dist/{deploy-command-HJZNYCUY.js → deploy-command-OEVEE6UG.js} +65 -63
  134. package/dist/deploy-source-HYVZEYXV.js +83 -0
  135. package/dist/{dev-env-sync-GZ4QQJGV.js → dev-env-sync-EFDCJ6KU.js} +63 -61
  136. package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
  137. package/dist/{display-name-hint-AHCNH6TF.js → display-name-hint-SW3GB3V7.js} +14 -13
  138. package/dist/{emit-DqG6qddr.d.ts → emit-Dov_92kn.d.ts} +66 -20
  139. package/dist/env-example-refresh-WNSOH534.js +134 -0
  140. package/dist/{env-pull-command-Z4RLVEGJ.js → env-pull-command-UYEXMQ3P.js} +53 -52
  141. package/dist/{env-target-ZHQUS5BO.js → env-target-JBSLBKNX.js} +15 -14
  142. package/dist/{env-var-command-FKQ4VVQ6.js → env-var-command-BJNRAXNV.js} +51 -49
  143. package/dist/{ephemeral-L4KUOGEU.js → ephemeral-CEOGMIEA.js} +11 -10
  144. package/dist/{ephemeral-command-GRPFI3TD.js → ephemeral-command-IPSGBCS5.js} +70 -69
  145. package/dist/{ephemeral-state-VLYU2BXR.js → ephemeral-state-MTBASPRS.js} +13 -12
  146. package/dist/{generate-command-XNODJFDQ.js → generate-command-XQXODBS6.js} +96 -86
  147. package/dist/{gitignore-VWRSZX5F.js → gitignore-RUVCIZO4.js} +21 -20
  148. package/dist/{guards-OPSGB6LG.js → guards-KYEOCVHN.js} +6 -6
  149. package/dist/{impersonate-command-AEKIZHHK.js → impersonate-command-MA27O7S5.js} +46 -44
  150. package/dist/{import-PHSSFFLA.js → import-XKRFHABE.js} +5 -5
  151. package/dist/index.d.ts +14 -20
  152. package/dist/index.js +13 -13
  153. package/dist/init-command-6RDTCMAB.js +143 -0
  154. package/dist/{init-modules-SGSX7XEY.js → init-modules-DHTBOCQT.js} +10 -9
  155. package/dist/{init-web-6HX3YLQP.js → init-web-ELBXSXDL.js} +3 -3
  156. package/dist/internal.d.ts +5 -5
  157. package/dist/internal.js +47 -20
  158. package/dist/{io-TAF4WXYQ.js → io-PGTCBSIQ.js} +6 -4
  159. package/dist/{keep-data-merge-GUGF7MVZ.js → keep-data-merge-TDJOIAVT.js} +33 -34
  160. package/dist/{lambda-config-reconcile-65U6I4KU.js → lambda-config-reconcile-47X5C2E4.js} +6 -5
  161. package/dist/{landed-QA6PRTV2.js → landed-F7PCHGCK.js} +3 -3
  162. package/dist/{landing-record-FCAWLCZU.js → landing-record-TPPYFQAS.js} +26 -25
  163. package/dist/{live-diff-IM4W3ELT.js → live-diff-5E2BQWQ7.js} +9 -8
  164. package/dist/local-engine-choice-S6VHPJRU.js +81 -0
  165. package/dist/local-engine-command-4EZCGZ6M.js +85 -0
  166. package/dist/{local-engine-config-W3KB7RWM.js → local-engine-config-2EBL3QKA.js} +3 -2
  167. package/dist/{local-engine-deploy-Y4OAWL7K.js → local-engine-deploy-FOPNWU7X.js} +18 -16
  168. package/dist/local-engine-lookup-GM3E3NPP.js +43 -0
  169. package/dist/local-engine-mcp-bridge-QKZHUGW3.js +423 -0
  170. package/dist/local-engine-mcp-command-BFQVLXZC.js +181 -0
  171. package/dist/{local-engine-process-6YPJHKYM.js → local-engine-process-XUQPQENQ.js} +12 -9
  172. package/dist/{local-engine-state-OCW5YDD7.js → local-engine-state-JQPKGB65.js} +4 -3
  173. package/dist/{local-engine-update-check-X7TZGRFL.js → local-engine-update-check-S7UF6ZF5.js} +7 -6
  174. package/dist/{lock-WXXC3QHL.js → lock-HDCHD2ON.js} +4 -2
  175. package/dist/{lock-commands-PKDBNRSD.js → lock-commands-HJ6Y5QVS.js} +66 -64
  176. package/dist/{login-command-V4U4FA5G.js → login-command-JO55NZAS.js} +34 -33
  177. package/dist/{logout-command-TV3P545Z.js → logout-command-MPRIRSJA.js} +18 -17
  178. package/dist/{loop-VKHGQ6MP.js → loop-SUB6C2LK.js} +8 -9
  179. package/dist/{marketplace-command-LEFOAEAV.js → marketplace-command-BM6G257N.js} +90 -54
  180. package/dist/{marketplace-resolve-ME7O7JBJ.js → marketplace-resolve-AWH3RG57.js} +7 -6
  181. package/dist/{meta-client-TEEECA5W.js → meta-client-AOSWODQQ.js} +16 -15
  182. package/dist/{module-manifest-7YLGIRCY.js → module-manifest-GXI46PEF.js} +7 -4
  183. package/dist/node.d.ts +5 -5
  184. package/dist/node.js +68 -67
  185. package/dist/operation-outcome-4UKPXTNC.js +53 -0
  186. package/dist/{output-target-5FWX3NGZ.js → output-target-RAZ4KN5J.js} +22 -21
  187. package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
  188. package/dist/{plan-disclosure-QGL5UYQR.js → plan-disclosure-JR52DWXN.js} +21 -21
  189. package/dist/{plugin-contributions-GNFTWDEB.js → plugin-contributions-E6XHLQWK.js} +6 -6
  190. package/dist/{plugin-prompt-VEQGMZ4T.js → plugin-prompt-IODX5EU6.js} +5 -5
  191. package/dist/{plugin-questions-BGRL23GO.js → plugin-questions-AAAJ7POP.js} +4 -4
  192. package/dist/plugin.d.ts +254 -10
  193. package/dist/{preflight-command-VKJKXRRI.js → preflight-command-7GKJBWOQ.js} +71 -70
  194. package/dist/{profile-command-P7A3BH26.js → profile-command-CM6J7E2M.js} +35 -34
  195. package/dist/{profile-pointer-HG7IXE4I.js → profile-pointer-KTYXL6FU.js} +5 -4
  196. package/dist/{project-dependency-Z4CKOCJI.js → project-dependency-OQ5575QQ.js} +11 -8
  197. package/dist/{project-sdk-JWZWGXXR.js → project-sdk-2ESHHZVL.js} +4 -4
  198. package/dist/promote-command-BDRPG6UU.js +147 -0
  199. package/dist/{prompt-SURZOUUW.js → prompt-MQPGU4ZI.js} +4 -4
  200. package/dist/{publish-command-HGAB3H4A.js → publish-command-IEMYZ7LF.js} +69 -67
  201. package/dist/pull-command-S5E2ABZ4.js +169 -0
  202. package/dist/{pull-superseded-TOT5S4QU.js → pull-superseded-E34BZVLH.js} +4 -4
  203. package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
  204. package/dist/release-command-7F5TBKO2.js +151 -0
  205. package/dist/{release-ns-command-WOQE2BDQ.js → release-ns-command-EK2ZQ4CC.js} +101 -100
  206. package/dist/{retry-command-JRGMZZAC.js → retry-command-GL5HCMVB.js} +10 -9
  207. package/dist/{routes-manifest-URFMAWJE.js → routes-manifest-YR4ZIMLM.js} +15 -7
  208. package/dist/routes-manifest-file-LCIKPDAG.js +41 -0
  209. package/dist/scaffold.js +4 -4
  210. package/dist/secrets-IV4N5HYI.js +20 -0
  211. package/dist/{secrets-file-YWZWVJ52.js → secrets-file-LXREYU3M.js} +21 -20
  212. package/dist/{secrets-fill-command-HIHK3VH2.js → secrets-fill-command-QHZS3KWM.js} +64 -62
  213. package/dist/{seed-24DTEY5S.js → seed-FRKMDN2Z.js} +9 -9
  214. package/dist/{source-resolve-OWD3MIEO.js → source-resolve-BBHYTOXI.js} +26 -24
  215. package/dist/{static-host-UIR2OLPQ.js → static-host-7LC7OZR4.js} +5 -5
  216. package/dist/{status-command-JKTHH5QE.js → status-command-TY253MJT.js} +54 -52
  217. package/dist/{store-zxw2go0f.d.ts → store-Boba9OOh.d.ts} +2 -2
  218. package/dist/{store-5YAQS6KU.js → store-VJ3OS6VO.js} +8 -7
  219. package/dist/sync-baseline-DOV5AGIO.js +36 -0
  220. package/dist/{sync-contributions-RBB6JVOL.js → sync-contributions-63542VE4.js} +20 -12
  221. package/dist/sync-record-RGHK7EAL.js +43 -0
  222. package/dist/{table-MQFVYA4K.js → table-OAYGFGEN.js} +8 -8
  223. package/dist/{tables-command-5Q4BSUNO.js → tables-command-PZIVDAH3.js} +45 -43
  224. package/dist/{tenant-Q3LPVSSM.js → tenant-Y3II4VY3.js} +12 -11
  225. package/dist/{tenant-command-BFVU2PEX.js → tenant-command-G6XON7CF.js} +113 -107
  226. package/dist/{test-command-F4VUU4QR.js → test-command-3FZOX7O3.js} +44 -42
  227. package/dist/{tests-5ZSDFVIJ.js → tests-KF6N6BZ7.js} +6 -6
  228. package/dist/{token-TERSTNU4.js → token-DJJUW5HY.js} +14 -13
  229. package/dist/toolchain-hooks-7PWCFLSU.js +46 -0
  230. package/dist/{toolchain-modules-FD5ANV2U.js → toolchain-modules-OTNSKK52.js} +8 -5
  231. package/dist/toolchain-peers-KQ7TQ2AR.js +28 -0
  232. package/dist/tracked-backend-AJCGTO5Y.js +82 -0
  233. package/dist/{update-check-O4C2LCZH.js → update-check-4E5L6GAW.js} +61 -59
  234. package/dist/{upgrade-command-NVFWLMTA.js → upgrade-command-BXMSQN4C.js} +68 -64
  235. package/dist/{whoami-command-YKNTISIV.js → whoami-command-NLCCIEUM.js} +17 -16
  236. package/dist/{workspace-GGVGE2S5.js → workspace-PNMJOXE4.js} +5 -5
  237. package/dist/{workspace-binding-OS4ZOX4S.js → workspace-binding-J5GWDFRI.js} +16 -15
  238. package/dist/{workspace-command-GTUNVN7K.js → workspace-command-MHIIY352.js} +125 -93
  239. package/dist/{workspace-env-467C5KHM.js → workspace-env-LLRWCHSA.js} +17 -16
  240. package/dist/{workspace-export-3XTVGQVM.js → workspace-export-BIKAYHWJ.js} +5 -5
  241. package/dist/{writable-7SSWUQJ3.js → writable-UOTO4WWC.js} +4 -4
  242. package/dist/{xano-6RS5XQZE.js → xano-LCI7VWPS.js} +8 -8
  243. package/dist/{xanosdk-import-E3WSIYUE.js → xanosdk-import-S7A3CVBN.js} +8 -8
  244. package/dist/{xanosdk-project-KH5TZ2KI.js → xanosdk-project-J4VCFRHP.js} +18 -17
  245. package/guides/README.md +2 -2
  246. package/guides/cli.md +73 -4
  247. package/guides/codegen.md +23 -5
  248. package/guides/codes.md +8 -2
  249. package/guides/coverage.md +5 -0
  250. package/guides/deploying.md +80 -0
  251. package/guides/marketplace.md +21 -0
  252. package/guides/module-contract.md +80 -4
  253. package/guides/scaffold.md +61 -10
  254. package/guides/typed-frontend.md +37 -0
  255. package/llms/client.md +11 -1
  256. package/llms/filters.md +4 -0
  257. package/llms/kinds-core.md +1 -1
  258. package/llms/statements-data.md +3 -2
  259. package/llms/toolchain.md +12 -0
  260. package/llms-full.txt +34 -7
  261. package/llms.txt +3 -3
  262. package/manifest.json +63 -5
  263. package/package.json +5 -2
  264. package/skills/xano-backend/SKILL.md +119 -0
  265. package/dist/chunk-F6IKWAIU.js +0 -664
  266. package/dist/chunk-M6ZFSTIZ.js +0 -630
  267. package/dist/chunk-MEIJDRHU.js +0 -243
  268. package/dist/deploy-source-5COWTBOC.js +0 -81
  269. package/dist/env-example-refresh-DWQIOQYR.js +0 -127
  270. package/dist/init-command-TI3HCKXZ.js +0 -126
  271. package/dist/local-engine-choice-FPJAZSSD.js +0 -79
  272. package/dist/operation-outcome-GNDD35WL.js +0 -51
  273. package/dist/promote-command-KHTIK44I.js +0 -141
  274. package/dist/pull-command-EUEWBRXZ.js +0 -162
  275. package/dist/release-command-WOVQAMUY.js +0 -147
  276. package/dist/toolchain-hooks-QVUZ6HZ4.js +0 -96
  277. package/dist/tracked-backend-B4HTME4S.js +0 -80
@@ -3,7 +3,7 @@ import {
3
3
  HEADER_NAME,
4
4
  generated,
5
5
  literalText
6
- } from "./chunk-JSEVKRVJ.js";
6
+ } from "./chunk-T4LJ5UR2.js";
7
7
  import {
8
8
  fl
9
9
  } from "./chunk-BEXZ4XRV.js";
@@ -238,4 +238,4 @@ export {
238
238
  TEST_EXPECT_TYPES,
239
239
  expect
240
240
  };
241
- //# sourceMappingURL=chunk-S5TEJIGP.js.map
241
+ //# sourceMappingURL=chunk-SKEG3V2V.js.map
@@ -13,7 +13,7 @@ import {
13
13
  emitDiagnostic,
14
14
  numberedList,
15
15
  problemCount
16
- } from "./chunk-GPI3OWRE.js";
16
+ } from "./chunk-YHB34BN6.js";
17
17
  import {
18
18
  isHostedFile
19
19
  } from "./chunk-VQPDATQT.js";
@@ -32,7 +32,7 @@ import {
32
32
  authoredFieldType,
33
33
  encodeField,
34
34
  isListColumn
35
- } from "./chunk-4DJTQ6W4.js";
35
+ } from "./chunk-JIKGT7DO.js";
36
36
  import {
37
37
  argsOrEmpty,
38
38
  assertArg,
@@ -1272,4 +1272,4 @@ export {
1272
1272
  assertSeedUnique,
1273
1273
  isNonPublicColumn
1274
1274
  };
1275
- //# sourceMappingURL=chunk-VZ22VUAS.js.map
1275
+ //# sourceMappingURL=chunk-SLGJIWCY.js.map
@@ -37,7 +37,7 @@ import {
37
37
  tableColumns,
38
38
  tableIndexes,
39
39
  unusableColumns
40
- } from "./chunk-VZ22VUAS.js";
40
+ } from "./chunk-SLGJIWCY.js";
41
41
  import {
42
42
  brandDef
43
43
  } from "./chunk-ERVIASGL.js";
@@ -63,7 +63,7 @@ import {
63
63
  } from "./chunk-WTPZRR4I.js";
64
64
  import {
65
65
  DiagnosticError
66
- } from "./chunk-GPI3OWRE.js";
66
+ } from "./chunk-YHB34BN6.js";
67
67
  import {
68
68
  orNames,
69
69
  suggest,
@@ -74,7 +74,7 @@ import {
74
74
  identityNamesByGuid,
75
75
  lockNameForObject,
76
76
  sdkKindName
77
- } from "./chunk-OKNE3TWU.js";
77
+ } from "./chunk-5KJBWIDZ.js";
78
78
  import {
79
79
  annotate,
80
80
  encodeStatement,
@@ -110,7 +110,7 @@ import {
110
110
  } from "./chunk-LL6ED5IB.js";
111
111
  import {
112
112
  isListColumn
113
- } from "./chunk-4DJTQ6W4.js";
113
+ } from "./chunk-JIKGT7DO.js";
114
114
  import {
115
115
  argsOrEmpty,
116
116
  assertArg,
@@ -1645,7 +1645,7 @@ function dbQuery(args) {
1645
1645
  })
1646
1646
  }, args);
1647
1647
  }
1648
- var DB_TRANSACTION_KEYS = Object.keys({ disabled: 1, description: 1, mock: 1, body: 1, as: 1 });
1648
+ var DB_TRANSACTION_KEYS = Object.keys({ disabled: 1, description: 1, mock: 1, body: 1 });
1649
1649
  function dbTransaction(args) {
1650
1650
  args = argsOrEmpty(args);
1651
1651
  assertKnownKeys(`Statement "s.db.transaction"`, args, DB_TRANSACTION_KEYS);
@@ -1655,7 +1655,6 @@ function dbTransaction(args) {
1655
1655
  context: { run: args.body.map(encodeStatement) },
1656
1656
  input: []
1657
1657
  };
1658
- if (args.as !== void 0) stmt.as = args.as;
1659
1658
  return annotate(stmt, args);
1660
1659
  }
1661
1660
  var EXTERNAL_SQL_NAME = {
@@ -6894,6 +6893,13 @@ function checkNonJsonValues(sections, bag, workspaceConfig) {
6894
6893
  obj
6895
6894
  );
6896
6895
  }
6896
+ for (const off of payloadKey === "trigger" ? [] : findRequiredInputDefaults(obj)) {
6897
+ bag.warn(
6898
+ "field.input-required-default-ignored",
6899
+ `The \`default\` at ${owner}, input "${off.name}" is ${JSON.stringify(off.text)}, but the input is \`required: true\` \u2014 the engine refuses a request that leaves a required input out ("Missing param") before it reads the default, so the default is never applied. Drop \`required\` to use the default, or drop the \`default\`.`,
6900
+ obj
6901
+ );
6902
+ }
6897
6903
  }
6898
6904
  const found = findNonJson(obj);
6899
6905
  if (found === void 0) continue;
@@ -6975,6 +6981,22 @@ function findInputDefaultsRefused(root) {
6975
6981
  });
6976
6982
  return hits;
6977
6983
  }
6984
+ function findRequiredInputDefaults(root) {
6985
+ const hits = [];
6986
+ const visit = (fields, prefix) => {
6987
+ if (!Array.isArray(fields)) return;
6988
+ for (const node of fields) {
6989
+ const field = node;
6990
+ if (typeof field?.name !== "string" || typeof field.type !== "string") continue;
6991
+ const name = `${prefix}${field.name}`;
6992
+ const text = typeof field.default === "string" || typeof field.default === "number" ? String(field.default) : "";
6993
+ if (field.required === true && text !== "") hits.push({ name, text });
6994
+ visit(field.children, `${name}.`);
6995
+ }
6996
+ };
6997
+ visit(root?.input, "");
6998
+ return hits;
6999
+ }
6978
7000
  function isNumericText(text) {
6979
7001
  return /^\s*[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?\s*$/.test(text);
6980
7002
  }
@@ -8195,4 +8217,4 @@ export {
8195
8217
  checkToolOutputSchema,
8196
8218
  checkAgentArgPlaceholders
8197
8219
  };
8198
- //# sourceMappingURL=chunk-JSEVKRVJ.js.map
8220
+ //# sourceMappingURL=chunk-T4LJ5UR2.js.map
@@ -1,13 +1,21 @@
1
1
  import {
2
2
  findRelease,
3
3
  listReleases
4
- } from "./chunk-3BJYQGAZ.js";
4
+ } from "./chunk-26LHXLD3.js";
5
5
  import {
6
6
  isSignatureRefusal
7
- } from "./chunk-5XVBT6CQ.js";
7
+ } from "./chunk-MBL7CXJ7.js";
8
8
  import {
9
9
  resolveEphemeralName
10
- } from "./chunk-V4IBHDIY.js";
10
+ } from "./chunk-VNDR2T35.js";
11
+ import {
12
+ clearEngineRecordsNamed,
13
+ getEngineRecord,
14
+ listEngineRecords
15
+ } from "./chunk-EPFDY5JU.js";
16
+ import {
17
+ assertLoopbackUrl
18
+ } from "./chunk-LCOCRJ4K.js";
11
19
  import {
12
20
  displayNameHint,
13
21
  displayNameOwner,
@@ -17,34 +25,26 @@ import {
17
25
  selectorFix,
18
26
  sentenceCase,
19
27
  sharedDisplayHint
20
- } from "./chunk-KQLACS4Q.js";
28
+ } from "./chunk-WNCW2RNB.js";
21
29
  import {
22
30
  getTenant,
23
31
  tenantHasWorkspace
24
- } from "./chunk-4GDEEY2U.js";
25
- import {
26
- clearEngineRecordsNamed,
27
- getEngineRecord,
28
- listEngineRecords
29
- } from "./chunk-Q22BMRPF.js";
32
+ } from "./chunk-QGIZLFAS.js";
30
33
  import {
31
- assertLoopbackUrl
32
- } from "./chunk-PL7AIAWS.js";
34
+ getEphemeral,
35
+ isExpired
36
+ } from "./chunk-AKERAUNH.js";
33
37
  import {
34
38
  clearEnvironment,
35
39
  getEnvironment,
36
40
  readEphemeralState
37
- } from "./chunk-4QBGE3EO.js";
38
- import {
39
- getEphemeral,
40
- isExpired
41
- } from "./chunk-QZTJ2556.js";
41
+ } from "./chunk-ORGNLQN6.js";
42
42
  import {
43
43
  pipedYes
44
- } from "./chunk-Z4VN347O.js";
44
+ } from "./chunk-UYFUIHH3.js";
45
45
  import {
46
46
  contextFlags
47
- } from "./chunk-G57RYMKB.js";
47
+ } from "./chunk-3FRGNBOC.js";
48
48
  import {
49
49
  TransportError,
50
50
  UNTRUSTED_CERTIFICATE,
@@ -52,12 +52,12 @@ import {
52
52
  certificateFailureCode,
53
53
  isTimeoutError,
54
54
  lastRateLimitRetryAfter
55
- } from "./chunk-HLQH3AXB.js";
55
+ } from "./chunk-L6HZ67P6.js";
56
56
  import {
57
57
  CliError,
58
58
  EXIT_SOURCE_UNRESOLVABLE,
59
59
  safeText
60
- } from "./chunk-XNZURZ7T.js";
60
+ } from "./chunk-CH23ONYG.js";
61
61
  import {
62
62
  suggest,
63
63
  suggestAll
@@ -561,13 +561,13 @@ function engineNotRunning(name, clearedProjects, deployFallback = true, nearest,
561
561
  }
562
562
  function defaultSweep(env) {
563
563
  return async () => {
564
- const { stopOrphanedEngineProcesses } = await import("./local-engine-process-6YPJHKYM.js");
564
+ const { stopOrphanedEngineProcesses } = await import("./local-engine-process-XUQPQENQ.js");
565
565
  return stopOrphanedEngineProcesses({ env }).stopped;
566
566
  };
567
567
  }
568
568
  function defaultEnumeration(env, cwd) {
569
569
  return async () => {
570
- const { cachedEngineEntry, listEngines } = await import("./local-engine-process-6YPJHKYM.js");
570
+ const { cachedEngineEntry, listEngines } = await import("./local-engine-process-XUQPQENQ.js");
571
571
  const entry = cachedEngineEntry(env, cwd);
572
572
  return entry === void 0 ? void 0 : listEngines({ entry, env });
573
573
  };
@@ -598,4 +598,4 @@ export {
598
598
  releaseNames,
599
599
  resolveSource
600
600
  };
601
- //# sourceMappingURL=chunk-JXKO6JT7.js.map
601
+ //# sourceMappingURL=chunk-TWVUYS63.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ENV_WORKSPACE
3
- } from "./chunk-CJ76PSJT.js";
3
+ } from "./chunk-YH2JVJAO.js";
4
4
  import {
5
5
  credentialFileOf
6
- } from "./chunk-G57RYMKB.js";
6
+ } from "./chunk-3FRGNBOC.js";
7
7
  import {
8
8
  credentialFileFlag,
9
9
  globalAuthFilePath,
@@ -12,14 +12,14 @@ import {
12
12
  readProfile,
13
13
  recordedCredentialPath,
14
14
  sameOriginAs
15
- } from "./chunk-OJPZEUPH.js";
15
+ } from "./chunk-NDJAKSE7.js";
16
16
  import {
17
17
  readEnvVar
18
18
  } from "./chunk-X2NL4KUO.js";
19
19
  import {
20
20
  CliError,
21
21
  UsageError
22
- } from "./chunk-XNZURZ7T.js";
22
+ } from "./chunk-CH23ONYG.js";
23
23
  import {
24
24
  shellQuote
25
25
  } from "./chunk-5ZSO4T2G.js";
@@ -65,7 +65,7 @@ async function readReachableWorkspaces(auth, timeoutMs = 3e4) {
65
65
  }
66
66
  }
67
67
  async function whereaboutsOf(auth, name, kinds) {
68
- const { listAllEphemeral } = await import("./ephemeral-L4KUOGEU.js");
68
+ const { listAllEphemeral } = await import("./ephemeral-CEOGMIEA.js");
69
69
  const failures = [];
70
70
  const reason = (err) => (err instanceof Error ? err.message : String(err)).split("\n")[0].replace(/[.:]$/, "");
71
71
  const [all, ephemerals] = await Promise.all([
@@ -78,7 +78,7 @@ async function whereaboutsOf(auth, name, kinds) {
78
78
  const listed = ephemerals?.some((r) => r.name === name) === true;
79
79
  if (kinds === "ephemeral" && ephemerals !== void 0 && !listed) return { at: "nowhere" };
80
80
  if (all === void 0) failures.push("the workspace list could not be read");
81
- const { getTenant } = await import("./tenant-Q3LPVSSM.js");
81
+ const { getTenant } = await import("./tenant-Y3II4VY3.js");
82
82
  const others = (all ?? []).filter((w) => w.id !== auth.workspaceId);
83
83
  const found = await Promise.all(
84
84
  others.map(
@@ -162,4 +162,4 @@ export {
162
162
  rerunInWorkspace,
163
163
  heldElsewhereError
164
164
  };
165
- //# sourceMappingURL=chunk-UIEFE6FU.js.map
165
+ //# sourceMappingURL=chunk-U5M7T6CI.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  contextFlags,
6
6
  isCredentialStoreCommand
7
- } from "./chunk-G57RYMKB.js";
7
+ } from "./chunk-3FRGNBOC.js";
8
8
  import {
9
9
  shellQuote
10
10
  } from "./chunk-5ZSO4T2G.js";
@@ -106,4 +106,4 @@ export {
106
106
  pipedYes,
107
107
  withheldNote
108
108
  };
109
- //# sourceMappingURL=chunk-Z4VN347O.js.map
109
+ //# sourceMappingURL=chunk-UYFUIHH3.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  questionOrCancel
3
- } from "./chunk-AESE434J.js";
3
+ } from "./chunk-7M6JP3FS.js";
4
4
  import {
5
5
  style,
6
6
  terminalText
7
- } from "./chunk-XNZURZ7T.js";
7
+ } from "./chunk-CH23ONYG.js";
8
8
 
9
9
  // src/emit/plugin-prompt.ts
10
10
  import { createInterface } from "readline/promises";
@@ -54,4 +54,4 @@ export {
54
54
  promptPluginQuestion,
55
55
  pluginPrompter
56
56
  };
57
- //# sourceMappingURL=chunk-Y6NO3DLQ.js.map
57
+ //# sourceMappingURL=chunk-V7MBRUK6.js.map
@@ -0,0 +1,67 @@
1
+ import {
2
+ findBranch,
3
+ listBranches,
4
+ liveBranchLabel
5
+ } from "./chunk-M2C54ZBC.js";
6
+ import {
7
+ readLockFile,
8
+ recordSyncInLockFile,
9
+ syncedOn
10
+ } from "./chunk-CJDPSCMX.js";
11
+ import {
12
+ destinationKey
13
+ } from "./chunk-MFWF2NZJ.js";
14
+ import {
15
+ displayPath,
16
+ info,
17
+ warn
18
+ } from "./chunk-CH23ONYG.js";
19
+
20
+ // src/emit/sync-record.ts
21
+ import { existsSync } from "fs";
22
+ function readSyncBaseline(lockPath, target) {
23
+ if (lockPath === void 0 || !existsSync(lockPath)) return void 0;
24
+ try {
25
+ const key = destinationKey(target.instance, { kind: "workspace", workspaceId: target.workspaceId });
26
+ return syncedOn(readLockFile(lockPath), key, target.branch);
27
+ } catch {
28
+ return void 0;
29
+ }
30
+ }
31
+ function recordSync(opts) {
32
+ if (opts.lockPath === void 0) return null;
33
+ const destination = destinationKey(opts.target.instance, { kind: "workspace", workspaceId: opts.target.workspaceId });
34
+ const shown = displayPath(opts.lockPath);
35
+ let result;
36
+ try {
37
+ result = recordSyncInLockFile(opts.lockPath, destination, opts.target.branch, { digests: opts.digests, by: opts.by, complete: opts.complete });
38
+ } catch (err) {
39
+ warn(
40
+ `The ${opts.by} succeeded, but its sync baseline could not be recorded in ${shown}: ${err instanceof Error ? err.message : String(err)}`,
41
+ "sync.record-failed",
42
+ ["`xanosdk workspace diff` reads the older baseline, so it may say the wrong side changed until the next deploy or pull records one."]
43
+ );
44
+ return null;
45
+ }
46
+ if (result === void 0) return null;
47
+ if (result.changed) {
48
+ info(`Recorded the sync baseline for branch "${opts.target.branch}" in ${shown}. Commit it: \`workspace diff\` reads it to say which side changed.`);
49
+ }
50
+ return { destination, branch: opts.target.branch, file: shown, objects: Object.keys(opts.digests.objects).length, changed: result.changed };
51
+ }
52
+ function storedBranchLabel(branches, typed) {
53
+ if (typed !== void 0) return (branches === void 0 ? void 0 : findBranch(branches, typed)?.label) ?? typed.trim();
54
+ return branches === void 0 ? void 0 : liveBranchLabel(branches);
55
+ }
56
+ async function syncBranchLabel(auth, typed) {
57
+ const branches = await listBranches(auth, { baseUrl: auth.instance, workspaceId: auth.workspaceId }).catch(() => void 0);
58
+ return storedBranchLabel(branches, typed);
59
+ }
60
+
61
+ export {
62
+ readSyncBaseline,
63
+ recordSync,
64
+ storedBranchLabel,
65
+ syncBranchLabel
66
+ };
67
+ //# sourceMappingURL=chunk-VAGSKUWC.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  retryCommand,
3
3
  withheldNote
4
- } from "./chunk-Z4VN347O.js";
4
+ } from "./chunk-UYFUIHH3.js";
5
5
  import {
6
6
  checkOneName,
7
7
  setRunNameContext
8
- } from "./chunk-XNZURZ7T.js";
8
+ } from "./chunk-CH23ONYG.js";
9
9
  import {
10
10
  shellQuote
11
11
  } from "./chunk-5ZSO4T2G.js";
@@ -46,4 +46,4 @@ export {
46
46
  assertOneName,
47
47
  noteRunArgs
48
48
  };
49
- //# sourceMappingURL=chunk-A4NNCI4O.js.map
49
+ //# sourceMappingURL=chunk-VIJ5D3RC.js.map
@@ -20,10 +20,10 @@ import {
20
20
  } from "./chunk-VTMTIBKP.js";
21
21
  import {
22
22
  emitDiagnostic
23
- } from "./chunk-GPI3OWRE.js";
23
+ } from "./chunk-YHB34BN6.js";
24
24
  import {
25
25
  lockKey
26
- } from "./chunk-OKNE3TWU.js";
26
+ } from "./chunk-5KJBWIDZ.js";
27
27
  import {
28
28
  rawResponseItems
29
29
  } from "./chunk-UDZX2ZL4.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-A2AOUBJS.js";
33
33
  import {
34
34
  encodeInput
35
- } from "./chunk-37FBPMNE.js";
35
+ } from "./chunk-S56YBYMN.js";
36
36
  import {
37
37
  deriveGuid,
38
38
  deriveQueryGuid,
@@ -454,4 +454,4 @@ export {
454
454
  toSearchParams,
455
455
  query
456
456
  };
457
- //# sourceMappingURL=chunk-3IYVHVM6.js.map
457
+ //# sourceMappingURL=chunk-VJFMUJWZ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  environmentKey,
3
3
  getEnvironment,
4
4
  readEphemeralState
5
- } from "./chunk-4QBGE3EO.js";
5
+ } from "./chunk-ORGNLQN6.js";
6
6
  import {
7
7
  andList
8
8
  } from "./chunk-622HUCZT.js";
@@ -12,17 +12,17 @@ import {
12
12
  credentialFileFlagFor,
13
13
  credentialFileOf,
14
14
  recordedByEnvCredential
15
- } from "./chunk-G57RYMKB.js";
15
+ } from "./chunk-3FRGNBOC.js";
16
16
  import {
17
17
  loginCommand,
18
18
  profileAddCommand,
19
19
  recordedCredentialPath,
20
20
  recordedProfileStored
21
- } from "./chunk-OJPZEUPH.js";
21
+ } from "./chunk-NDJAKSE7.js";
22
22
  import {
23
23
  findPointerFile,
24
24
  readPointerFile
25
- } from "./chunk-JZWUAEMO.js";
25
+ } from "./chunk-ARWMVNDJ.js";
26
26
  import {
27
27
  DEFAULT_PROFILE
28
28
  } from "./chunk-MF4W6FHU.js";
@@ -33,7 +33,7 @@ import {
33
33
  CliError,
34
34
  EXIT_SOURCE_UNRESOLVABLE,
35
35
  UsageError
36
- } from "./chunk-XNZURZ7T.js";
36
+ } from "./chunk-CH23ONYG.js";
37
37
 
38
38
  // src/emit/env-target.ts
39
39
  var ENV_CREDENTIAL_NAMES = ["XANO_INSTANCE_URL", "XANO_WORKSPACE_ID", "XANO_META_TOKEN", "XANO_REFRESH_TOKEN", "XANO_CLIENT_ID"];
@@ -142,7 +142,7 @@ var SENDS_ELSEWHERE = /* @__PURE__ */ new WeakSet();
142
142
  async function reachableFirst(refusal, auth) {
143
143
  if (!(refusal instanceof Error) || !SENDS_ELSEWHERE.has(refusal)) return refusal;
144
144
  if (auth === void 0 || !("access_token" in auth)) return refusal;
145
- const { refuseUnreachableWorkspace } = await import("./workspace-binding-OS4ZOX4S.js");
145
+ const { refuseUnreachableWorkspace } = await import("./workspace-binding-J5GWDFRI.js");
146
146
  try {
147
147
  await refuseUnreachableWorkspace(auth);
148
148
  } catch (unreachable) {
@@ -167,4 +167,4 @@ export {
167
167
  otherCredentialRefusal,
168
168
  reachableFirst
169
169
  };
170
- //# sourceMappingURL=chunk-V4IBHDIY.js.map
170
+ //# sourceMappingURL=chunk-VNDR2T35.js.map
@@ -0,0 +1,9 @@
1
+ // src/util/code-unit.ts
2
+ function byCodeUnit(a, b) {
3
+ return a < b ? -1 : a > b ? 1 : 0;
4
+ }
5
+
6
+ export {
7
+ byCodeUnit
8
+ };
9
+ //# sourceMappingURL=chunk-WAVNUTMT.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  listTenants
3
- } from "./chunk-4GDEEY2U.js";
3
+ } from "./chunk-QGIZLFAS.js";
4
4
  import {
5
5
  listEphemeral
6
- } from "./chunk-QZTJ2556.js";
6
+ } from "./chunk-AKERAUNH.js";
7
7
  import {
8
8
  shellWord
9
9
  } from "./chunk-FWD7AL6N.js";
10
10
  import {
11
11
  safeText
12
- } from "./chunk-XNZURZ7T.js";
12
+ } from "./chunk-CH23ONYG.js";
13
13
 
14
14
  // src/emit/display-name-hint.ts
15
15
  function isShared(owner) {
@@ -117,4 +117,4 @@ export {
117
117
  displayNameHint,
118
118
  selectorFix
119
119
  };
120
- //# sourceMappingURL=chunk-KQLACS4Q.js.map
120
+ //# sourceMappingURL=chunk-WNCW2RNB.js.map
@@ -0,0 +1,111 @@
1
+ import {
2
+ satisfiesRange
3
+ } from "./chunk-2TFRR6JV.js";
4
+ import {
5
+ addDependencies
6
+ } from "./chunk-EF4MHLEW.js";
7
+ import {
8
+ condenseNpmError
9
+ } from "./chunk-ZFDZKNGG.js";
10
+ import {
11
+ shellWord
12
+ } from "./chunk-FWD7AL6N.js";
13
+ import {
14
+ readProjectManifest
15
+ } from "./chunk-DXUICABI.js";
16
+ import {
17
+ addCommandFor
18
+ } from "./chunk-DNBP4GJN.js";
19
+ import {
20
+ moduleKind,
21
+ packageNameOf,
22
+ readInstalledManifest,
23
+ readInstalledManifestState,
24
+ requiredPeersOf
25
+ } from "./chunk-CNZASQPL.js";
26
+ import {
27
+ spinner,
28
+ style,
29
+ success,
30
+ terminalText,
31
+ warn
32
+ } from "./chunk-CH23ONYG.js";
33
+
34
+ // src/emit/toolchain-peers.ts
35
+ async function addToolchainPeers(dir, pkg, rerun) {
36
+ const state = readInstalledManifestState(dir, pkg);
37
+ if (state.kind !== "ok" || !isToolchainModule(pkg, state.manifest)) return [];
38
+ const declared = projectDeclaredRanges(readProjectManifest(dir));
39
+ const missing = [];
40
+ for (const [peer, range] of requiredPeersOf(state.manifest)) {
41
+ const has = declared.get(peer);
42
+ if (has === void 0) {
43
+ missing.push(`${peer}@${range}`);
44
+ continue;
45
+ }
46
+ const version = readInstalledManifest(dir, peer)?.["version"];
47
+ if (typeof version === "string" && satisfiesRange(version, range) === false) {
48
+ warn(
49
+ `${pkg} needs ${peer} ${range}, and this project has ${version} (declared ${has}) \u2014 left as it is.`,
50
+ "module.peer-mismatch",
51
+ [`Move it into range with \`${addCommandFor(dir, shellWord(`${peer}@${range}`))}\`, or keep it and expect ${pkg}'s output not to compile.`]
52
+ );
53
+ }
54
+ }
55
+ if (missing.length === 0) return [];
56
+ const spin = spinner(`Adding ${missing.map((m) => style.bold(m)).join(", ")}`);
57
+ let result;
58
+ try {
59
+ result = await addDependencies(dir, missing, {
60
+ rerun,
61
+ onRetry: () => spin.update(`Adding ${missing.join(", ")} (retrying with --legacy-peer-deps)`)
62
+ });
63
+ } finally {
64
+ spin.stop();
65
+ }
66
+ const command = addCommandFor(dir, missing.map(shellWord).join(" "));
67
+ if (result.status !== 0 || result.unrecorded.length > 0) {
68
+ process.stderr.write(terminalText(result.output.trimEnd()) + "\n");
69
+ warn(
70
+ `${pkg} needs ${missing.join(", ")}, and ${result.status !== 0 ? `\`${command}\` failed (exit ${result.status})` : `\`${command}\` did not add ${result.unrecorded.join(", ")}`}.`,
71
+ "module.peer-not-added",
72
+ [`Run \`${command}\` once that is fixed \u2014 code ${pkg} generates imports ${missing.length === 1 ? "it" : "them"}.`]
73
+ );
74
+ return missing.filter((m) => !result.unrecorded.includes(packageNameOf(m)));
75
+ }
76
+ if (result.peerConflict !== null) {
77
+ const refused = condenseNpmError(result.peerConflict);
78
+ warn(
79
+ `${missing.join(", ")} ${missing.length === 1 ? "declares" : "declare"} a peer range this project does not satisfy \u2014 installed with --legacy-peer-deps.`,
80
+ "module.legacy-peer-deps",
81
+ ["npm refused the tree it would otherwise have installed:", ...refused !== "" ? [refused] : []]
82
+ );
83
+ }
84
+ success(
85
+ `Added ${missing.join(", ")}, ${missing.length === 1 ? "a peer" : "peers"} ${pkg} needs, as ${missing.length === 1 ? "a direct dependency" : "direct dependencies"}.`
86
+ );
87
+ return missing;
88
+ }
89
+ function isToolchainModule(pkg, manifest) {
90
+ try {
91
+ return moduleKind(pkg, manifest) === "toolchain";
92
+ } catch {
93
+ return false;
94
+ }
95
+ }
96
+ function projectDeclaredRanges(manifest) {
97
+ const ranges = /* @__PURE__ */ new Map();
98
+ for (const block of ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]) {
99
+ const deps = manifest?.[block];
100
+ if (typeof deps !== "object" || deps === null) continue;
101
+ for (const [name, range] of Object.entries(deps)) {
102
+ if (!ranges.has(name)) ranges.set(name, typeof range === "string" ? range : String(range));
103
+ }
104
+ }
105
+ return ranges;
106
+ }
107
+
108
+ export {
109
+ addToolchainPeers
110
+ };
111
+ //# sourceMappingURL=chunk-WUEPP5HD.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  appNamesByGuid,
3
3
  lockNameForObject
4
- } from "./chunk-OKNE3TWU.js";
4
+ } from "./chunk-5KJBWIDZ.js";
5
5
 
6
6
  // src/validate/kinds.ts
7
7
  var ROUND_TRIP_KINDS = [
@@ -106,4 +106,4 @@ export {
106
106
  kindIsRunnable,
107
107
  identityMatcher
108
108
  };
109
- //# sourceMappingURL=chunk-IV446ZLJ.js.map
109
+ //# sourceMappingURL=chunk-Y453TW6J.js.map