@xano/sdk 1.0.5 → 1.0.6

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 (249) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +26 -16
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-KVLR7M5Y.js → agent-file-refresh-67QIX45H.js} +14 -13
  5. package/dist/{answer-shape-XGR2DGWY.js → answer-shape-UCDUKPAN.js} +5 -5
  6. package/dist/{backend-dir-IE4RMUFH.js → backend-dir-3LIL6SCT.js} +13 -12
  7. package/dist/{backend-slot-6HBWG5FN.js → backend-slot-JREP27UD.js} +4 -4
  8. package/dist/bin.js +53 -52
  9. package/dist/{branch-T2APKPVG.js → branch-2IPHOAYS.js} +9 -9
  10. package/dist/{branch-commands-HXXTCSOO.js → branch-commands-KTKAXBAN.js} +29 -30
  11. package/dist/bundle.js +9 -39
  12. package/dist/{capture-HBXFXZEW.js → capture-GW5KNKMB.js} +3 -3
  13. package/dist/{chunk-JZWUAEMO.js → chunk-26MOFAJT.js} +2 -2
  14. package/dist/{chunk-RXCT3OCU.js → chunk-2FLIJGBZ.js} +3 -3
  15. package/dist/{chunk-UIEFE6FU.js → chunk-2WBH5HUY.js} +7 -7
  16. package/dist/{chunk-Y76ERHLK.js → chunk-3BBIDW3Y.js} +5 -5
  17. package/dist/{chunk-DGWHAVRG.js → chunk-3EDSPMXN.js} +12 -1
  18. package/dist/{chunk-JXKO6JT7.js → chunk-3II44CUJ.js} +14 -14
  19. package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
  20. package/dist/{chunk-OKNE3TWU.js → chunk-5KJBWIDZ.js} +83 -5
  21. package/dist/{chunk-SRX6B544.js → chunk-5QMJOE2K.js} +5 -5
  22. package/dist/{chunk-UJ6ZZJDD.js → chunk-5TVFLG3C.js} +2 -2
  23. package/dist/{chunk-L3BDO2BI.js → chunk-5YQV35C2.js} +7 -7
  24. package/dist/{chunk-Z4VN347O.js → chunk-6X3MY2JP.js} +2 -2
  25. package/dist/{chunk-65SW2BA5.js → chunk-6X6BJN6Y.js} +3 -3
  26. package/dist/{chunk-M7GJ6YUF.js → chunk-763M6LX3.js} +16 -2
  27. package/dist/{chunk-XJU6UAFV.js → chunk-7FIMUFBP.js} +2 -2
  28. package/dist/{chunk-TEBS7FE6.js → chunk-7GAIJW62.js} +2 -2
  29. package/dist/{chunk-K6CB5TKM.js → chunk-7REDHC4N.js} +2 -2
  30. package/dist/chunk-7VR4IO5B.js +44 -0
  31. package/dist/chunk-A7MRZ4GF.js +78 -0
  32. package/dist/{chunk-CV54PASI.js → chunk-ATJ2W7DC.js} +70 -50
  33. package/dist/{chunk-WYS6XVZ3.js → chunk-AVS4WPPY.js} +2 -2
  34. package/dist/{chunk-5XVBT6CQ.js → chunk-BL3AZ3AP.js} +2 -2
  35. package/dist/chunk-BTVUYHWV.js +111 -0
  36. package/dist/{chunk-NGAODDLX.js → chunk-CCU5CCRX.js} +4 -4
  37. package/dist/{chunk-BBPAXOU6.js → chunk-CHINR7WD.js} +6 -6
  38. package/dist/{chunk-SQPIECXD.js → chunk-CJDPSCMX.js} +45 -5
  39. package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
  40. package/dist/{chunk-XNZURZ7T.js → chunk-D7BUMOKU.js} +2 -2
  41. package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
  42. package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
  43. package/dist/{chunk-4NEBBKOP.js → chunk-EADVVTDK.js} +7 -7
  44. package/dist/{chunk-N6BWB35H.js → chunk-ENMBEXOP.js} +3 -3
  45. package/dist/{chunk-57HMNJGB.js → chunk-EQFYOOO6.js} +69 -34
  46. package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
  47. package/dist/{chunk-FV55SRQU.js → chunk-FQ53GTII.js} +9 -9
  48. package/dist/{chunk-TUEFTRC2.js → chunk-FU3VCE5A.js} +45 -26
  49. package/dist/{chunk-YSLMMR2U.js → chunk-GHQ4BVI4.js} +14 -14
  50. package/dist/{chunk-Z2BRSQ6M.js → chunk-GLY552SI.js} +84 -57
  51. package/dist/{chunk-XIABDKFQ.js → chunk-GOLFAEUV.js} +2 -2
  52. package/dist/{chunk-ZHGWR45B.js → chunk-GW5RHGOB.js} +8 -8
  53. package/dist/{chunk-3BJYQGAZ.js → chunk-GWTFI3GA.js} +2 -2
  54. package/dist/{chunk-K6PRKPFX.js → chunk-GZHLCUZ6.js} +7 -7
  55. package/dist/{chunk-LLS2WO2K.js → chunk-HCG7NDIL.js} +4 -4
  56. package/dist/{chunk-NNB7VUCH.js → chunk-I3H3HCPY.js} +47 -26
  57. package/dist/{chunk-KUU7T4ZE.js → chunk-I3VHW6XM.js} +13 -13
  58. package/dist/{chunk-ES5A66IH.js → chunk-IF4PEGVD.js} +8 -8
  59. package/dist/{chunk-Y6NO3DLQ.js → chunk-IMELQ2I6.js} +3 -3
  60. package/dist/{chunk-V4IBHDIY.js → chunk-ITC2R2OT.js} +7 -7
  61. package/dist/{chunk-KQLACS4Q.js → chunk-IXFJORNH.js} +4 -4
  62. package/dist/{chunk-SF2B7MZK.js → chunk-IYXL5NYU.js} +259 -31
  63. package/dist/{chunk-57B56I4B.js → chunk-JFBRXRJD.js} +58 -34
  64. package/dist/chunk-JI3BLXWQ.js +107 -0
  65. package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
  66. package/dist/{chunk-5D6DGF3W.js → chunk-JRVQ7M7W.js} +8 -8
  67. package/dist/{chunk-AESE434J.js → chunk-JXVJGF3Y.js} +2 -2
  68. package/dist/chunk-KPFS3RGM.js +257 -0
  69. package/dist/{chunk-SNGFEESM.js → chunk-LAOMN6QQ.js} +3 -3
  70. package/dist/{chunk-TM5LRSBB.js → chunk-LBJA7IEM.js} +370 -45
  71. package/dist/{chunk-OVV2HXJ6.js → chunk-LD6ARK3A.js} +2 -2
  72. package/dist/{chunk-F6IKWAIU.js → chunk-LL7SGTRC.js} +18 -19
  73. package/dist/{chunk-OJPZEUPH.js → chunk-M5CSVB23.js} +4 -4
  74. package/dist/{chunk-GMVW6ZZK.js → chunk-MBDFH7XB.js} +4 -4
  75. package/dist/{chunk-5YBNXNKU.js → chunk-MFWF2NZJ.js} +12 -5
  76. package/dist/{chunk-G57RYMKB.js → chunk-N5I37JFB.js} +2 -2
  77. package/dist/{chunk-QOLOQ35F.js → chunk-ND43ZOS3.js} +5 -5
  78. package/dist/chunk-NDWVJ2QZ.js +67 -0
  79. package/dist/{chunk-5RLAF6RL.js → chunk-NPODGBVJ.js} +4 -4
  80. package/dist/{chunk-JQOX6HW4.js → chunk-OIKLDDYC.js} +2 -2
  81. package/dist/{chunk-AMBEITWL.js → chunk-PFBXSVZF.js} +4 -4
  82. package/dist/{chunk-3VX7VAQT.js → chunk-PMMHSX4H.js} +26 -9
  83. package/dist/{chunk-MYLPOVX6.js → chunk-QJM5XZ4K.js} +5 -5
  84. package/dist/{chunk-U6DR6464.js → chunk-QXYMDARD.js} +4 -4
  85. package/dist/{chunk-DEVGLLNZ.js → chunk-QZEAANWP.js} +5 -5
  86. package/dist/{chunk-LZDA6SVD.js → chunk-RIN4YY34.js} +78 -65
  87. package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
  88. package/dist/{chunk-S5TEJIGP.js → chunk-SKEG3V2V.js} +2 -2
  89. package/dist/{chunk-VZ22VUAS.js → chunk-SLGJIWCY.js} +3 -3
  90. package/dist/{chunk-4QFBEKXI.js → chunk-SPITRSOF.js} +2 -2
  91. package/dist/{chunk-QZTJ2556.js → chunk-SPKA2LV6.js} +4 -4
  92. package/dist/{chunk-YI76TURL.js → chunk-SSITMX7I.js} +8 -8
  93. package/dist/{chunk-JSEVKRVJ.js → chunk-T4LJ5UR2.js} +29 -7
  94. package/dist/{chunk-44CWK6YC.js → chunk-TECTL2NU.js} +4 -4
  95. package/dist/{chunk-AGD7F7YI.js → chunk-TTEIDD5Q.js} +3 -3
  96. package/dist/{chunk-NUU76247.js → chunk-U35MTOXQ.js} +3 -3
  97. package/dist/{chunk-4QBGE3EO.js → chunk-U6MTGB46.js} +4 -4
  98. package/dist/{chunk-3WHWOKU4.js → chunk-UD2Z7K6W.js} +4 -4
  99. package/dist/{chunk-I5VEROXW.js → chunk-UIVMR7UK.js} +2 -2
  100. package/dist/{chunk-F3557PVM.js → chunk-VDHA5SSQ.js} +2 -2
  101. package/dist/{chunk-3IYVHVM6.js → chunk-VJFMUJWZ.js} +4 -4
  102. package/dist/{chunk-4GDEEY2U.js → chunk-VW4CWVYX.js} +4 -4
  103. package/dist/chunk-WAVNUTMT.js +9 -0
  104. package/dist/{chunk-A4NNCI4O.js → chunk-WBH4KJWM.js} +3 -3
  105. package/dist/{chunk-HOOOOJJP.js → chunk-WZHLMU6T.js} +2 -2
  106. package/dist/{chunk-S5KQIFKJ.js → chunk-XFBGXB7X.js} +130 -86
  107. package/dist/{chunk-IV446ZLJ.js → chunk-Y453TW6J.js} +2 -2
  108. package/dist/{chunk-CJ76PSJT.js → chunk-YGLMRH5U.js} +8 -8
  109. package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
  110. package/dist/{chunk-BMCZQZMI.js → chunk-YKP4ZKVO.js} +13 -9
  111. package/dist/{chunk-HLQH3AXB.js → chunk-YR2I5HGE.js} +2 -2
  112. package/dist/{chunk-OGUMHW2X.js → chunk-YYC2DZMG.js} +7 -7
  113. package/dist/{chunk-Z3SNX45M.js → chunk-YYLUBYXM.js} +2 -2
  114. package/dist/{chunk-PIPIA7K7.js → chunk-Z4ZGTCCD.js} +7 -7
  115. package/dist/{chunk-AGSCOISO.js → chunk-ZDP6GDAB.js} +75 -75
  116. package/dist/{chunk-7DBM6XHR.js → chunk-ZJSTUD6D.js} +8 -8
  117. package/dist/cli.d.ts +17 -9
  118. package/dist/cli.js +51 -50
  119. package/dist/{codegen-command-L2OO6OTE.js → codegen-command-R5IASBFC.js} +72 -66
  120. package/dist/codegen.d.ts +2 -2
  121. package/dist/codegen.js +2 -2
  122. package/dist/{commands-2E4JB3DB.js → commands-H7CPMMHH.js} +3 -3
  123. package/dist/{completion-LPJIH5VQ.js → completion-W5ZAI6TN.js} +3 -3
  124. package/dist/{config-QDCRKEWD.js → config-MZ5KG4EP.js} +4 -4
  125. package/dist/{deploy-command-HJZNYCUY.js → deploy-command-34T2LKQ5.js} +58 -57
  126. package/dist/{deploy-source-5COWTBOC.js → deploy-source-YLQ7WMYR.js} +32 -31
  127. package/dist/{dev-env-sync-GZ4QQJGV.js → dev-env-sync-TMJTNU3U.js} +52 -51
  128. package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
  129. package/dist/{display-name-hint-AHCNH6TF.js → display-name-hint-ZJGFNJKQ.js} +11 -11
  130. package/dist/{emit-DqG6qddr.d.ts → emit-D125xxty.d.ts} +66 -20
  131. package/dist/env-example-refresh-CQP3ZMKM.js +133 -0
  132. package/dist/{env-pull-command-Z4RLVEGJ.js → env-pull-command-UTG6IC2K.js} +46 -46
  133. package/dist/{env-target-ZHQUS5BO.js → env-target-FZROWYFS.js} +12 -12
  134. package/dist/{env-var-command-FKQ4VVQ6.js → env-var-command-VYDBQJJW.js} +41 -40
  135. package/dist/{ephemeral-L4KUOGEU.js → ephemeral-BIE6FMJV.js} +9 -9
  136. package/dist/{ephemeral-command-GRPFI3TD.js → ephemeral-command-OZ26RGXF.js} +47 -47
  137. package/dist/{ephemeral-state-VLYU2BXR.js → ephemeral-state-SNZOX2YK.js} +10 -10
  138. package/dist/{generate-command-XNODJFDQ.js → generate-command-4HR7MR36.js} +80 -72
  139. package/dist/{gitignore-VWRSZX5F.js → gitignore-EWQBXNX2.js} +17 -16
  140. package/dist/{guards-OPSGB6LG.js → guards-KYEOCVHN.js} +6 -6
  141. package/dist/{impersonate-command-AEKIZHHK.js → impersonate-command-WC7OGKUM.js} +37 -36
  142. package/dist/{import-PHSSFFLA.js → import-7Z4GCCPO.js} +5 -5
  143. package/dist/index.d.ts +14 -20
  144. package/dist/index.js +13 -13
  145. package/dist/{init-command-TI3HCKXZ.js → init-command-HAO3WXH3.js} +57 -55
  146. package/dist/{init-modules-SGSX7XEY.js → init-modules-NSKD4ASY.js} +10 -9
  147. package/dist/{init-web-6HX3YLQP.js → init-web-MKFFOQUU.js} +3 -3
  148. package/dist/internal.d.ts +5 -5
  149. package/dist/internal.js +47 -20
  150. package/dist/{io-TAF4WXYQ.js → io-PGTCBSIQ.js} +6 -4
  151. package/dist/{keep-data-merge-GUGF7MVZ.js → keep-data-merge-QR2TMKEO.js} +28 -29
  152. package/dist/{lambda-config-reconcile-65U6I4KU.js → lambda-config-reconcile-7FJXXV6V.js} +3 -3
  153. package/dist/{landed-QA6PRTV2.js → landed-F7PCHGCK.js} +3 -3
  154. package/dist/{landing-record-FCAWLCZU.js → landing-record-MWXFIRCP.js} +22 -21
  155. package/dist/{live-diff-IM4W3ELT.js → live-diff-5E2BQWQ7.js} +9 -8
  156. package/dist/{local-engine-choice-FPJAZSSD.js → local-engine-choice-VD5LNXJU.js} +35 -34
  157. package/dist/{local-engine-command-73NHWD6V.js → local-engine-command-RYLGMQ2O.js} +40 -39
  158. package/dist/{local-engine-deploy-Y4OAWL7K.js → local-engine-deploy-6O7NKZCA.js} +12 -12
  159. package/dist/{local-engine-process-6YPJHKYM.js → local-engine-process-ZLLZEIRF.js} +7 -7
  160. package/dist/{local-engine-update-check-X7TZGRFL.js → local-engine-update-check-LVX4HBBI.js} +5 -5
  161. package/dist/{lock-WXXC3QHL.js → lock-HDCHD2ON.js} +4 -2
  162. package/dist/{lock-commands-PKDBNRSD.js → lock-commands-X2OECR4R.js} +56 -55
  163. package/dist/{login-command-V4U4FA5G.js → login-command-RLLKD565.js} +27 -26
  164. package/dist/{logout-command-TV3P545Z.js → logout-command-XDMSXCDO.js} +15 -15
  165. package/dist/{loop-VKHGQ6MP.js → loop-SUB6C2LK.js} +8 -9
  166. package/dist/{marketplace-command-LEFOAEAV.js → marketplace-command-2NHHY2X3.js} +86 -50
  167. package/dist/{marketplace-resolve-ME7O7JBJ.js → marketplace-resolve-OTZYT4FG.js} +7 -6
  168. package/dist/{meta-client-TEEECA5W.js → meta-client-TMHVBZFY.js} +13 -13
  169. package/dist/{module-manifest-7YLGIRCY.js → module-manifest-FNMW23IX.js} +7 -4
  170. package/dist/node.d.ts +5 -5
  171. package/dist/node.js +57 -57
  172. package/dist/{operation-outcome-GNDD35WL.js → operation-outcome-RN62735X.js} +22 -22
  173. package/dist/{output-target-5FWX3NGZ.js → output-target-MOLCTPBP.js} +18 -17
  174. package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
  175. package/dist/{plan-disclosure-QGL5UYQR.js → plan-disclosure-CY7AF6KP.js} +19 -20
  176. package/dist/{plugin-contributions-GNFTWDEB.js → plugin-contributions-WR26U7NT.js} +6 -6
  177. package/dist/{plugin-prompt-VEQGMZ4T.js → plugin-prompt-ZUYQQIX4.js} +5 -5
  178. package/dist/{plugin-questions-BGRL23GO.js → plugin-questions-HAZOQ67R.js} +4 -4
  179. package/dist/plugin.d.ts +254 -10
  180. package/dist/{preflight-command-VKJKXRRI.js → preflight-command-OHJXYND3.js} +64 -64
  181. package/dist/{profile-command-P7A3BH26.js → profile-command-6JWT2BTL.js} +28 -27
  182. package/dist/{profile-pointer-HG7IXE4I.js → profile-pointer-PDA5XBIB.js} +4 -4
  183. package/dist/{project-dependency-Z4CKOCJI.js → project-dependency-GZWWGWEW.js} +11 -8
  184. package/dist/{project-sdk-JWZWGXXR.js → project-sdk-3W72H5QO.js} +4 -4
  185. package/dist/promote-command-UYAMUXKB.js +146 -0
  186. package/dist/{prompt-SURZOUUW.js → prompt-U37K5RPQ.js} +4 -4
  187. package/dist/{publish-command-HGAB3H4A.js → publish-command-BUS27HGB.js} +61 -60
  188. package/dist/{pull-command-EUEWBRXZ.js → pull-command-ZGUNP27P.js} +75 -69
  189. package/dist/{pull-superseded-TOT5S4QU.js → pull-superseded-EZBGYRZF.js} +4 -4
  190. package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
  191. package/dist/{release-command-WOVQAMUY.js → release-command-BQ6OHS3P.js} +69 -66
  192. package/dist/{release-ns-command-WOQE2BDQ.js → release-ns-command-ATGVBVIU.js} +85 -85
  193. package/dist/{retry-command-JRGMZZAC.js → retry-command-QJ57WVW7.js} +8 -8
  194. package/dist/{routes-manifest-URFMAWJE.js → routes-manifest-YR4ZIMLM.js} +15 -7
  195. package/dist/routes-manifest-file-UALYSZLY.js +41 -0
  196. package/dist/scaffold.js +2 -2
  197. package/dist/{secrets-file-YWZWVJ52.js → secrets-file-LMS7KX3E.js} +17 -16
  198. package/dist/{secrets-fill-command-HIHK3VH2.js → secrets-fill-command-QNBDGCGM.js} +55 -54
  199. package/dist/{seed-24DTEY5S.js → seed-SZ6OS5DQ.js} +8 -8
  200. package/dist/{source-resolve-OWD3MIEO.js → source-resolve-MKLNYFWG.js} +20 -20
  201. package/dist/{static-host-UIR2OLPQ.js → static-host-ONEHA4LI.js} +5 -5
  202. package/dist/{status-command-JKTHH5QE.js → status-command-XKIFKBGM.js} +38 -37
  203. package/dist/{store-zxw2go0f.d.ts → store-Bg4Na6Sm.d.ts} +2 -2
  204. package/dist/{store-5YAQS6KU.js → store-X6ZH7EC3.js} +6 -6
  205. package/dist/sync-baseline-DOV5AGIO.js +36 -0
  206. package/dist/{sync-contributions-RBB6JVOL.js → sync-contributions-HNVHDIQW.js} +20 -12
  207. package/dist/sync-record-PRXHLK4S.js +42 -0
  208. package/dist/{table-MQFVYA4K.js → table-DC36QA4Y.js} +8 -8
  209. package/dist/{tables-command-5Q4BSUNO.js → tables-command-UQLKTELN.js} +38 -37
  210. package/dist/{tenant-Q3LPVSSM.js → tenant-EKNQGG5A.js} +10 -10
  211. package/dist/{tenant-command-BFVU2PEX.js → tenant-command-2LWP2MPB.js} +99 -94
  212. package/dist/{test-command-F4VUU4QR.js → test-command-IU5MBBXY.js} +36 -35
  213. package/dist/{tests-5ZSDFVIJ.js → tests-RG2Y5EQ4.js} +6 -6
  214. package/dist/{token-TERSTNU4.js → token-7AWSJLKO.js} +11 -11
  215. package/dist/toolchain-hooks-4ZMQLBPQ.js +46 -0
  216. package/dist/{toolchain-modules-FD5ANV2U.js → toolchain-modules-VU7SURVJ.js} +8 -5
  217. package/dist/toolchain-peers-CIDNEEQV.js +28 -0
  218. package/dist/{tracked-backend-B4HTME4S.js → tracked-backend-4BHSV7NC.js} +34 -33
  219. package/dist/{update-check-O4C2LCZH.js → update-check-A7FXIINW.js} +54 -53
  220. package/dist/{upgrade-command-NVFWLMTA.js → upgrade-command-C5KBITFI.js} +58 -57
  221. package/dist/{whoami-command-YKNTISIV.js → whoami-command-7WQII2H4.js} +14 -14
  222. package/dist/{workspace-GGVGE2S5.js → workspace-Z46PUZNI.js} +5 -5
  223. package/dist/{workspace-binding-OS4ZOX4S.js → workspace-binding-JE6YNDZJ.js} +13 -13
  224. package/dist/{workspace-command-GTUNVN7K.js → workspace-command-FC4IMLAE.js} +113 -82
  225. package/dist/{workspace-env-467C5KHM.js → workspace-env-N4ZPFT6A.js} +14 -13
  226. package/dist/{workspace-export-3XTVGQVM.js → workspace-export-3A5BZTPS.js} +5 -5
  227. package/dist/{writable-7SSWUQJ3.js → writable-D7KCZI5N.js} +4 -4
  228. package/dist/{xano-6RS5XQZE.js → xano-LCI7VWPS.js} +8 -8
  229. package/dist/{xanosdk-import-E3WSIYUE.js → xanosdk-import-P2A2KSXM.js} +8 -8
  230. package/dist/{xanosdk-project-KH5TZ2KI.js → xanosdk-project-6AGMW2SL.js} +15 -14
  231. package/guides/cli.md +4 -4
  232. package/guides/codes.md +7 -2
  233. package/guides/deploying.md +52 -0
  234. package/guides/marketplace.md +21 -0
  235. package/guides/module-contract.md +80 -4
  236. package/guides/typed-frontend.md +37 -0
  237. package/llms/client.md +11 -1
  238. package/llms/filters.md +4 -0
  239. package/llms/kinds-core.md +1 -1
  240. package/llms/statements-data.md +3 -2
  241. package/llms/toolchain.md +12 -0
  242. package/llms-full.txt +34 -7
  243. package/llms.txt +3 -3
  244. package/manifest.json +1 -1
  245. package/package.json +1 -1
  246. package/dist/chunk-MEIJDRHU.js +0 -243
  247. package/dist/env-example-refresh-DWQIOQYR.js +0 -127
  248. package/dist/promote-command-KHTIK44I.js +0 -141
  249. package/dist/toolchain-hooks-QVUZ6HZ4.js +0 -96
@@ -0,0 +1,44 @@
1
+ import {
2
+ normalize
3
+ } from "./chunk-D3KEPRRN.js";
4
+ import {
5
+ sha1Bytes
6
+ } from "./chunk-OHX6MIUZ.js";
7
+
8
+ // src/bundle/hash.ts
9
+ var isRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
10
+ function withoutIgnoredInputs(value) {
11
+ if (Array.isArray(value)) return value.map(withoutIgnoredInputs);
12
+ if (!isRecord(value)) return value;
13
+ const out = /* @__PURE__ */ Object.create(null);
14
+ for (const [key, member] of Object.entries(value)) {
15
+ if (key === "input" && Array.isArray(member)) {
16
+ out[key] = member.filter((entry) => !(isRecord(entry) && entry.ignore === true)).map(withoutIgnoredInputs);
17
+ continue;
18
+ }
19
+ out[key] = withoutIgnoredInputs(member);
20
+ }
21
+ return out;
22
+ }
23
+ function canonicalJson(value) {
24
+ if (Array.isArray(value)) return `[${value.map(canonicalJson).join(",")}]`;
25
+ if (isRecord(value)) {
26
+ const parts = Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`);
27
+ return `{${parts.join(",")}}`;
28
+ }
29
+ return value === void 0 ? "null" : JSON.stringify(value);
30
+ }
31
+ var HEX = "0123456789abcdef";
32
+ function structuralHash(raw) {
33
+ const reduced = withoutIgnoredInputs(normalize(raw));
34
+ const bytes = sha1Bytes(canonicalJson(reduced));
35
+ let hex = "";
36
+ for (const byte of bytes) hex += HEX[byte >> 4] + HEX[byte & 15];
37
+ return hex;
38
+ }
39
+
40
+ export {
41
+ canonicalJson,
42
+ structuralHash
43
+ };
44
+ //# sourceMappingURL=chunk-7VR4IO5B.js.map
@@ -0,0 +1,78 @@
1
+ import {
2
+ composeRoutesManifest,
3
+ fireRoutesManifest,
4
+ parseModuleSections
5
+ } from "./chunk-KPFS3RGM.js";
6
+ import {
7
+ ROUTES_MANIFEST_BASENAME,
8
+ renderPlannedManifest,
9
+ renderRouteManifest
10
+ } from "./chunk-LBJA7IEM.js";
11
+ import {
12
+ warn
13
+ } from "./chunk-D7BUMOKU.js";
14
+
15
+ // src/emit/routes-manifest-file.ts
16
+ import { existsSync, readFileSync, statSync } from "fs";
17
+ async function discoverManifestModules(projectDir, manifestPath, sdkVersion) {
18
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-VU7SURVJ.js");
19
+ const { loaded, skipped } = await discoverToolchainPlugins(projectDir, { frozen: false, peerSkew: "skip" });
20
+ return {
21
+ loaded,
22
+ skipped,
23
+ // Only when a module could fail or be skipped: with none, nothing is
24
+ // carried forward and `renderManifestFile` never consults it. Only a file:
25
+ // a directory in its place is the write's to report (`generate` says the
26
+ // tree is whole without it), not this read's to fail on.
27
+ previous: loaded.length + skipped.length > 0 && existsSync(manifestPath) && statSync(manifestPath).isFile() ? readFileSync(manifestPath, "utf8") : void 0,
28
+ sdkVersion
29
+ };
30
+ }
31
+ function renderManifestFile(plan, modules, opts = {}) {
32
+ const core = renderPlannedManifest(plan, opts.entry) ?? (opts.orEmpty === true && plan.resolved.length === 0 && plan.servers.length === 0 ? renderRouteManifest([]) : void 0);
33
+ if (core === void 0) return void 0;
34
+ if (modules === void 0) return { source: core, failed: [] };
35
+ const sections = [];
36
+ const failures = [];
37
+ for (const result of fireRoutesManifest(modules.loaded, { inputs: plan.inputs, sdkVersion: modules.sdkVersion })) {
38
+ if (result.kind === "section") sections.push({ pkg: result.pkg, version: result.version, section: result.section });
39
+ else failures.push({ pkg: result.pkg, why: result.why, hook: true });
40
+ }
41
+ for (const { pkg, why } of modules.skipped) failures.push({ pkg, why, hook: false });
42
+ const previous = failures.length > 0 && modules.previous !== void 0 ? new Map(
43
+ parseModuleSections(modules.previous, new Set(failures.map((f) => f.pkg))).map((s) => [s.pkg, s])
44
+ ) : /* @__PURE__ */ new Map();
45
+ const failed = [];
46
+ for (const { pkg, why, hook } of failures) {
47
+ const carried = previous.get(pkg);
48
+ if (carried !== void 0) sections.push(carried);
49
+ if (hook || carried !== void 0) failed.push({ pkg, why, carried: carried !== void 0 });
50
+ }
51
+ return { source: composeRoutesManifest(core, sections), failed };
52
+ }
53
+ function reportModuleFailures(failed, file, strict = false) {
54
+ if (failed.length === 0) return;
55
+ const lines = failed.map(
56
+ (f) => `${f.pkg} \u2014 ${f.why} (${f.carried ? "its previous block was kept as it was" : `it has no block in ${ROUTES_MANIFEST_BASENAME} yet, so none was written`})`
57
+ );
58
+ if (strict) {
59
+ throw new Error(
60
+ `--strict: ${file} cannot be checked: ${failed.length === 1 ? "a toolchain module's section" : `${failed.length} toolchain modules' sections`} could not be generated, and a section that was not generated was not checked:
61
+ ` + lines.map((l) => ` ${l}`).join("\n") + `
62
+
63
+ Run \`xanosdk marketplace reinstall <package>\` to repair a module that should still be here, or set \`"<package>": { "enabled": false }\` in package.json's "xanosdk" block to turn it off.`
64
+ );
65
+ }
66
+ warn(
67
+ `${file}: ${failed.length === 1 ? "a toolchain module" : `${failed.length} toolchain modules`} could not generate ${failed.length === 1 ? "its section" : "their sections"}; the rest of the file was refreshed.`,
68
+ "routes.module-failed",
69
+ lines
70
+ );
71
+ }
72
+
73
+ export {
74
+ discoverManifestModules,
75
+ renderManifestFile,
76
+ reportModuleFailures
77
+ };
78
+ //# sourceMappingURL=chunk-A7MRZ4GF.js.map
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  ROUTES_MANIFEST_BASENAME
3
- } from "./chunk-TM5LRSBB.js";
3
+ } from "./chunk-LBJA7IEM.js";
4
4
  import {
5
5
  questionOrCancel
6
- } from "./chunk-AESE434J.js";
6
+ } from "./chunk-JXVJGF3Y.js";
7
7
  import {
8
8
  ensureWorkspaceEnvGitignored
9
- } from "./chunk-3WHWOKU4.js";
9
+ } from "./chunk-UD2Z7K6W.js";
10
10
  import {
11
11
  readVersion
12
- } from "./chunk-S5KQIFKJ.js";
12
+ } from "./chunk-XFBGXB7X.js";
13
13
  import {
14
14
  WORKSPACE_ENV_EXAMPLE_FILE,
15
15
  renderWorkspaceEnvExample
16
- } from "./chunk-LLS2WO2K.js";
16
+ } from "./chunk-HCG7NDIL.js";
17
17
  import {
18
18
  parseSlot,
19
19
  requireBackendSlot
20
- } from "./chunk-F3557PVM.js";
20
+ } from "./chunk-VDHA5SSQ.js";
21
21
  import {
22
22
  XANO_DIR,
23
23
  changedOnDisk,
@@ -25,7 +25,7 @@ import {
25
25
  isNonEmptyDir,
26
26
  plannedAgentsMd,
27
27
  scaffoldProject
28
- } from "./chunk-F6IKWAIU.js";
28
+ } from "./chunk-LL7SGTRC.js";
29
29
  import {
30
30
  inProject,
31
31
  installModules,
@@ -33,7 +33,7 @@ import {
33
33
  preflightPackages,
34
34
  rebaseLocalSpec,
35
35
  renderXanoIndexWithModules
36
- } from "./chunk-OGUMHW2X.js";
36
+ } from "./chunk-YYC2DZMG.js";
37
37
  import {
38
38
  npmViewVersion
39
39
  } from "./chunk-ZFDZKNGG.js";
@@ -42,25 +42,26 @@ import {
42
42
  } from "./chunk-FWD7AL6N.js";
43
43
  import {
44
44
  isLocalSpecifier
45
- } from "./chunk-MYLPOVX6.js";
45
+ } from "./chunk-QJM5XZ4K.js";
46
46
  import {
47
- readToolchainBlock
47
+ readToolchainBlock,
48
+ readToolchainConfig
48
49
  } from "./chunk-DXUICABI.js";
49
50
  import {
50
51
  detectInstallRoot,
51
52
  detectPackageManager,
52
53
  installCommandFor,
53
54
  userAgentVersion
54
- } from "./chunk-WRBKLYSJ.js";
55
+ } from "./chunk-DNBP4GJN.js";
55
56
  import {
56
57
  localPackageName,
57
58
  localPathOf,
58
59
  packageNameOf,
59
60
  readInstalledManifestState
60
- } from "./chunk-M7GJ6YUF.js";
61
+ } from "./chunk-763M6LX3.js";
61
62
  import {
62
63
  statusLabel
63
- } from "./chunk-HLQH3AXB.js";
64
+ } from "./chunk-YR2I5HGE.js";
64
65
  import {
65
66
  readEnvVar
66
67
  } from "./chunk-X2NL4KUO.js";
@@ -92,7 +93,7 @@ import {
92
93
  renderXanoIndex,
93
94
  resolveFrameworkFlag,
94
95
  sdkDep
95
- } from "./chunk-57HMNJGB.js";
96
+ } from "./chunk-EQFYOOO6.js";
96
97
  import {
97
98
  ICON_LIBRARIES,
98
99
  resolveIconsFlag
@@ -119,7 +120,7 @@ import {
119
120
  unknownFlag,
120
121
  warn,
121
122
  writeJson
122
- } from "./chunk-XNZURZ7T.js";
123
+ } from "./chunk-D7BUMOKU.js";
123
124
  import {
124
125
  suggest
125
126
  } from "./chunk-UTI5G6OJ.js";
@@ -523,8 +524,8 @@ async function confirmForcedOverwrite(targetDir, files, args, agents) {
523
524
  [...changed.slice(0, 30), ...changed.length > 30 ? [`\u2026 and ${changed.length - 30} more`] : []]
524
525
  );
525
526
  if (args.yes === true) return true;
526
- const { confirm } = await import("./prompt-SURZOUUW.js");
527
- const { yesRerun } = await import("./retry-command-JRGMZZAC.js");
527
+ const { confirm } = await import("./prompt-U37K5RPQ.js");
528
+ const { yesRerun } = await import("./retry-command-QJ57WVW7.js");
528
529
  const { rerun, note } = yesRerun(args, "init");
529
530
  const ok = await confirm(
530
531
  `Overwrite ${changed.length === 1 ? "this file" : `these ${changed.length} files`} in ${targetDir}?`,
@@ -595,7 +596,7 @@ async function runInitCommand(args) {
595
596
  }
596
597
  const source = resolveFromSource(args.from);
597
598
  if (source.kind === "file") await refuseUnknownProfileFlag(args, resolve(args.positionals[0] ?? "."));
598
- const { runInitFromCommand } = await import("./codegen-command-L2OO6OTE.js");
599
+ const { runInitFromCommand } = await import("./codegen-command-R5IASBFC.js");
599
600
  return runInitFromCommand(args, source);
600
601
  }
601
602
  rejectPullOnlyFlags(args);
@@ -614,10 +615,10 @@ async function runInitCommand(args) {
614
615
  return flagNames().includes(bare) || bare.startsWith("no-") && flagNames().includes(bare.slice(3));
615
616
  });
616
617
  if (unclaimable.length > 0) throw unknownFlag(unclaimable, { command: "init" });
617
- const { refusePlugAndPlay } = await import("./project-dependency-Z4CKOCJI.js");
618
- const { retryCommand } = await import("./retry-command-JRGMZZAC.js");
618
+ const { refusePlugAndPlay } = await import("./project-dependency-GZWWGWEW.js");
619
+ const { retryCommand } = await import("./retry-command-QJ57WVW7.js");
619
620
  refusePlugAndPlay(targetDir, retryCommand(args, { command: "init" }).command);
620
- const { resolveMarketplaceSpecs, withCatalogueRerun } = await import("./marketplace-resolve-ME7O7JBJ.js");
621
+ const { resolveMarketplaceSpecs, withCatalogueRerun } = await import("./marketplace-resolve-OTZYT4FG.js");
621
622
  const resolvedModules = typedModules.length === 0 ? [] : await resolveMarketplaceSpecs(typedModules, "xanosdk init --marketplace").catch(async (err) => {
622
623
  throw await withCatalogueRerun(err, args, "init");
623
624
  });
@@ -656,15 +657,20 @@ async function runInitCommand(args) {
656
657
  );
657
658
  blank();
658
659
  moduleOutcome = await installModules(targetDir, modules);
660
+ if (moduleOutcome.toolchain.length > 0) {
661
+ const { addToolchainPeers } = await import("./toolchain-peers-CIDNEEQV.js");
662
+ const rerun = retryCommand(args, { command: "init" }).command;
663
+ for (const pkg of moduleOutcome.toolchain) await addToolchainPeers(targetDir, pkg, rerun);
664
+ }
659
665
  }
660
666
  let scaffolded = false;
661
667
  try {
662
- const { discoverToolchainPlugins } = await import("./toolchain-modules-FD5ANV2U.js");
668
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-VU7SURVJ.js");
663
669
  const toolchain = await discoverToolchainPlugins(targetDir, { frozen: false, configuring: true });
664
670
  const preset = earlyPreset ?? await resolveFrontendPreset(args.framework);
665
671
  const choice = await resolveThemeChoice(args);
666
- const { pluginPrompter } = await import("./plugin-prompt-VEQGMZ4T.js");
667
- const { contributionOutcomes, recordedConfig, runPluginQuestionnaire } = await import("./plugin-contributions-GNFTWDEB.js");
672
+ const { pluginPrompter } = await import("./plugin-prompt-ZUYQQIX4.js");
673
+ const { contributionOutcomes, recordedConfig, runPluginQuestionnaire } = await import("./plugin-contributions-WR26U7NT.js");
668
674
  const { answers: pluginAnswers } = await runPluginQuestionnaire(toolchain.loaded, {
669
675
  host: "init",
670
676
  unknownFlags: args.unknownFlags,
@@ -757,7 +763,8 @@ async function runInitCommand(args) {
757
763
  if (result.install === "installed" && sdkResolves(targetDir)) {
758
764
  const derivation = await writeDerivedFiles(
759
765
  targetDir,
760
- (env) => spellProjectCli(renderXanoIndexWithModules(appName, outcome.registered, outcome.unwired, env), vars.cli)
766
+ (env) => spellProjectCli(renderXanoIndexWithModules(appName, outcome.registered, outcome.unwired, env), vars.cli),
767
+ toolchain
761
768
  );
762
769
  derived = derivation.written;
763
770
  entryFailed = derivation.failed === true;
@@ -782,10 +789,10 @@ async function runInitCommand(args) {
782
789
  }
783
790
  }
784
791
  if (result.install === "installed") {
785
- const { skewedProjectSdk } = await import("./project-sdk-JWZWGXXR.js");
792
+ const { skewedProjectSdk } = await import("./project-sdk-3W72H5QO.js");
786
793
  const installedSdk = skewedProjectSdk(targetDir, readVersion());
787
794
  if (installedSdk !== void 0) {
788
- const { reconcileWithInstalled } = await import("./upgrade-command-NVFWLMTA.js");
795
+ const { reconcileWithInstalled } = await import("./upgrade-command-C5KBITFI.js");
789
796
  const rendered = reconcileWithInstalled(targetDir);
790
797
  if (rendered.length > 0) {
791
798
  info(`Rendered ${rendered.join(", ")} with the installed @xano/sdk ${installedSdk.version} (this CLI is ${readVersion()}).`);
@@ -908,25 +915,27 @@ function deferredDependency(specifier, targetDir) {
908
915
  { helpFor: { command: "init" } }
909
916
  );
910
917
  }
911
- async function writeDerivedFiles(targetDir, renderIndexWithEnv) {
918
+ async function writeDerivedFiles(targetDir, renderIndexWithEnv, toolchain) {
912
919
  const written = [];
913
920
  let declaredEnv = [];
914
921
  const lockPath = join(targetDir, LOCK_REL);
915
922
  const routesPath = join(targetDir, ROUTES_REL);
916
923
  try {
917
924
  const { loadDefault, checkStandInTokens } = await import("./cli.js");
918
- const { Xano } = await import("./xano-6RS5XQZE.js");
919
- const { createLockContext, lockKey, mergeObserved } = await import("./lock-WXXC3QHL.js");
925
+ const { Xano } = await import("./xano-LCI7VWPS.js");
926
+ const { createLockContext, lockKey, mergeObserved } = await import("./lock-HDCHD2ON.js");
920
927
  const { resetLockOverrides, seedLockOverrides } = await import("./store-6VNCD4D7.js");
921
- const { readLockFile, writeLockFile } = await import("./io-TAF4WXYQ.js");
922
- const { setDiagnosticSink } = await import("./diagnostics-LSMGB4TY.js");
923
- const { planRouteManifest, renderPlannedManifest } = await import("./routes-manifest-URFMAWJE.js");
928
+ const { readLockFile, writeLockFile } = await import("./io-PGTCBSIQ.js");
929
+ const { setDiagnosticSink } = await import("./diagnostics-OMN5Y2AH.js");
930
+ const { planRouteManifest } = await import("./routes-manifest-YR4ZIMLM.js");
931
+ const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-UALYSZLY.js");
932
+ const { isEnabled } = await import("./toolchain-modules-VU7SURVJ.js");
924
933
  const existing = existsSync(lockPath) ? readLockFile(lockPath) : void 0;
925
934
  resetLockOverrides();
926
935
  if (existing !== void 0) seedLockOverrides(existing);
927
936
  const ctx = createLockContext(existing);
928
- const { envNamesRead } = await import("./guards-OPSGB6LG.js");
929
- const { refreshEnvExample } = await import("./env-example-refresh-DWQIOQYR.js");
937
+ const { envNamesRead } = await import("./guards-KYEOCVHN.js");
938
+ const { refreshEnvExample } = await import("./env-example-refresh-CQP3ZMKM.js");
930
939
  const def = await loadDefault(join(targetDir, XANO_DIR, "index.ts"));
931
940
  if (!Xano.isXano(def)) return { written, env: declaredEnv };
932
941
  const previousSink = setDiagnosticSink(() => {
@@ -950,11 +959,22 @@ async function writeDerivedFiles(targetDir, renderIndexWithEnv) {
950
959
  writeLockFile(lockPath, lock);
951
960
  written.push(LOCK_REL);
952
961
  }
953
- const manifest = renderPlannedManifest(
954
- planRouteManifest(payload, (kind, name) => lock.objects[lockKey(kind, name)]?.canonical)
962
+ const loaded = toolchain.loaded.flatMap((plugin) => {
963
+ const config = readToolchainConfig(targetDir, plugin.pkg) ?? {};
964
+ return isEnabled(config) ? [{ ...plugin, config }] : [];
965
+ });
966
+ const manifest = renderManifestFile(
967
+ planRouteManifest(payload, (kind, name) => lock.objects[lockKey(kind, name)]?.canonical),
968
+ {
969
+ loaded,
970
+ skipped: toolchain.skipped,
971
+ previous: existsSync(routesPath) ? readFileSync2(routesPath, "utf8") : void 0,
972
+ sdkVersion: readVersion()
973
+ }
955
974
  );
956
975
  if (manifest !== void 0) {
957
- writeFileSync(routesPath, manifest, "utf8");
976
+ reportModuleFailures(manifest.failed, ROUTES_REL);
977
+ writeFileSync(routesPath, manifest.source, "utf8");
958
978
  written.push(ROUTES_REL);
959
979
  }
960
980
  } catch (err) {
@@ -974,15 +994,15 @@ async function refuseUnknownProfileFlag(args, targetDir) {
974
994
  const name = args.profile ?? (fromEnv ? envRaw : void 0);
975
995
  if (name === void 0) return;
976
996
  if (fromEnv && targetDir !== void 0) {
977
- const { POINTER_FILE } = await import("./profile-pointer-HG7IXE4I.js");
997
+ const { POINTER_FILE } = await import("./profile-pointer-PDA5XBIB.js");
978
998
  if (existsSync(join(targetDir, POINTER_FILE))) return;
979
999
  }
980
- const { readCredentialFile, resolveAuthFilePath, profileNames, loginHint } = await import("./store-5YAQS6KU.js");
1000
+ const { readCredentialFile, resolveAuthFilePath, profileNames, loginHint } = await import("./store-X6ZH7EC3.js");
981
1001
  const path = resolveAuthFilePath(args, "read");
982
1002
  const file = readCredentialFile(path);
983
1003
  const stored = file === null ? [] : profileNames(file);
984
1004
  if (stored.includes(name)) return;
985
- const { ProfileNotFoundError } = await import("./token-TERSTNU4.js");
1005
+ const { ProfileNotFoundError } = await import("./token-7AWSJLKO.js");
986
1006
  const have = stored.length === 0 ? "Nothing is signed in on this machine." : `Stored profiles: ${quotedNames(stored)}.`;
987
1007
  throw new ProfileNotFoundError(
988
1008
  `No credential profile "${name}" in ${path} (from ${fromEnv ? `$${ENV_PROFILE}` : "--profile"}), so there is nothing to pin this project to. ${have} Run ${loginHint(name)} to add it, or name a stored one${fromEnv ? ` (or unset ${ENV_PROFILE})` : ""}.`,
@@ -991,7 +1011,7 @@ async function refuseUnknownProfileFlag(args, targetDir) {
991
1011
  );
992
1012
  }
993
1013
  async function envCredentialSet() {
994
- const { envMetaCredentialVarsSet } = await import("./token-TERSTNU4.js");
1014
+ const { envMetaCredentialVarsSet } = await import("./token-7AWSJLKO.js");
995
1015
  return envMetaCredentialVarsSet().length > 0;
996
1016
  }
997
1017
  function loginNextStep(pin, projectDir) {
@@ -1006,8 +1026,8 @@ function runFromHere(text, targetDir) {
1006
1026
  return text.replace(/`npx xanosdk /g, `\`${inProject(targetDir)}xanosdk `);
1007
1027
  }
1008
1028
  async function planProfilePin(args, targetDir, opts = {}) {
1009
- const { POINTER_FILE, readPointerFile } = await import("./profile-pointer-HG7IXE4I.js");
1010
- const { readCredentialFile, resolveAuthFilePath, profileNames, loginHint } = await import("./store-5YAQS6KU.js");
1029
+ const { POINTER_FILE, readPointerFile } = await import("./profile-pointer-PDA5XBIB.js");
1030
+ const { readCredentialFile, resolveAuthFilePath, profileNames, loginHint } = await import("./store-X6ZH7EC3.js");
1011
1031
  const credentialPath = resolveAuthFilePath(args, "read");
1012
1032
  const file = readCredentialFile(credentialPath);
1013
1033
  const signedIn = file !== null && profileNames(file).length > 0 || await envCredentialSet();
@@ -1037,7 +1057,7 @@ async function planProfilePin(args, targetDir, opts = {}) {
1037
1057
  };
1038
1058
  }
1039
1059
  if (opts.credentialRead === true) {
1040
- const { environmentCredentialVars } = await import("./token-TERSTNU4.js");
1060
+ const { environmentCredentialVars } = await import("./token-7AWSJLKO.js");
1041
1061
  const env = environmentCredentialVars();
1042
1062
  if (env.complete) {
1043
1063
  return {
@@ -1060,7 +1080,7 @@ async function planProfilePin(args, targetDir, opts = {}) {
1060
1080
  });
1061
1081
  const stored = file === null ? [] : profileNames(file);
1062
1082
  if (!stored.includes(selection.name)) {
1063
- const env = stored.length === 0 ? (await import("./token-TERSTNU4.js")).environmentCredentialVars() : void 0;
1083
+ const env = stored.length === 0 ? (await import("./token-7AWSJLKO.js")).environmentCredentialVars() : void 0;
1064
1084
  const storeEnv = env?.complete === true ? await storeEnvCredentialCommand(credentialPath, targetDir) : "";
1065
1085
  return {
1066
1086
  name: null,
@@ -1084,7 +1104,7 @@ async function planProfilePin(args, targetDir, opts = {}) {
1084
1104
  };
1085
1105
  }
1086
1106
  }
1087
- const { writePointerFile } = await import("./profile-pointer-HG7IXE4I.js");
1107
+ const { writePointerFile } = await import("./profile-pointer-PDA5XBIB.js");
1088
1108
  return {
1089
1109
  name: selection.name,
1090
1110
  signedIn,
@@ -1101,7 +1121,7 @@ async function envAddressesElsewhere(file, name, credentialPath) {
1101
1121
  const instance = readEnvVar("XANO_INSTANCE_URL")?.trim();
1102
1122
  const workspace = readEnvVar("XANO_WORKSPACE_ID")?.trim();
1103
1123
  if (instance === void 0 || workspace === void 0 || readEnvVar("XANO_META_TOKEN") === void 0) return null;
1104
- const { readProfile, sameOriginAs } = await import("./store-5YAQS6KU.js");
1124
+ const { readProfile, sameOriginAs } = await import("./store-X6ZH7EC3.js");
1105
1125
  let record;
1106
1126
  try {
1107
1127
  record = readProfile(file, name, credentialPath);
@@ -1117,7 +1137,7 @@ async function envAddressesElsewhere(file, name, credentialPath) {
1117
1137
  };
1118
1138
  }
1119
1139
  async function storeEnvCredentialCommand(credentialPath, targetDir) {
1120
- const { credentialFileFlag, profileAddCommand } = await import("./store-5YAQS6KU.js");
1140
+ const { credentialFileFlag, profileAddCommand } = await import("./store-X6ZH7EC3.js");
1121
1141
  const { DEFAULT_PROFILE } = await import("./profile-select-45G5VPJK.js");
1122
1142
  const instance = readEnvVar("XANO_INSTANCE_URL");
1123
1143
  const workspaceId = readEnvVar("XANO_WORKSPACE_ID");
@@ -1145,4 +1165,4 @@ export {
1145
1165
  projectCli,
1146
1166
  planProfilePin
1147
1167
  };
1148
- //# sourceMappingURL=chunk-CV54PASI.js.map
1168
+ //# sourceMappingURL=chunk-ATJ2W7DC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  encodeFunction
3
- } from "./chunk-FV55SRQU.js";
3
+ } from "./chunk-FQ53GTII.js";
4
4
  import {
5
5
  assertNoProtoKeys
6
6
  } from "./chunk-VTMTIBKP.js";
@@ -14,4 +14,4 @@ function compile(fn) {
14
14
  export {
15
15
  compile
16
16
  };
17
- //# sourceMappingURL=chunk-WYS6XVZ3.js.map
17
+ //# sourceMappingURL=chunk-AVS4WPPY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  httpFailure
3
- } from "./chunk-HLQH3AXB.js";
3
+ } from "./chunk-YR2I5HGE.js";
4
4
 
5
5
  // src/deploy/import.ts
6
6
  var ImportHttpError = class extends Error {
@@ -23,4 +23,4 @@ export {
23
23
  ImportHttpError,
24
24
  isSignatureRefusal
25
25
  };
26
- //# sourceMappingURL=chunk-5XVBT6CQ.js.map
26
+ //# sourceMappingURL=chunk-BL3AZ3AP.js.map
@@ -0,0 +1,111 @@
1
+ import {
2
+ satisfiesRange
3
+ } from "./chunk-2TFRR6JV.js";
4
+ import {
5
+ addDependencies
6
+ } from "./chunk-PMMHSX4H.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-763M6LX3.js";
26
+ import {
27
+ spinner,
28
+ style,
29
+ success,
30
+ terminalText,
31
+ warn
32
+ } from "./chunk-D7BUMOKU.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-BTVUYHWV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  backendDirIn
3
- } from "./chunk-AGD7F7YI.js";
3
+ } from "./chunk-TTEIDD5Q.js";
4
4
  import {
5
5
  shellWord
6
6
  } from "./chunk-FWD7AL6N.js";
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-EUUUMY7J.js";
10
10
  import {
11
11
  pointerRootFor
12
- } from "./chunk-JZWUAEMO.js";
12
+ } from "./chunk-26MOFAJT.js";
13
13
  import {
14
14
  UsageError,
15
15
  setTypedCwd
16
- } from "./chunk-XNZURZ7T.js";
16
+ } from "./chunk-D7BUMOKU.js";
17
17
 
18
18
  // src/emit/xanosdk-project.ts
19
19
  import { existsSync, realpathSync, statSync } from "fs";
@@ -154,4 +154,4 @@ export {
154
154
  RELATIVE_PATH_ARGS,
155
155
  enterProjectRoot
156
156
  };
157
- //# sourceMappingURL=chunk-NGAODDLX.js.map
157
+ //# sourceMappingURL=chunk-CCU5CCRX.js.map
@@ -4,25 +4,25 @@ import {
4
4
  sectionKind,
5
5
  tableAdditions,
6
6
  vectorSize
7
- } from "./chunk-SF2B7MZK.js";
7
+ } from "./chunk-IYXL5NYU.js";
8
8
  import {
9
9
  ReleaseHttpError
10
- } from "./chunk-3BJYQGAZ.js";
10
+ } from "./chunk-GWTFI3GA.js";
11
11
  import {
12
12
  TenantHttpError
13
- } from "./chunk-4GDEEY2U.js";
13
+ } from "./chunk-VW4CWVYX.js";
14
14
  import {
15
15
  CliError,
16
16
  detail,
17
17
  warn,
18
18
  withoutUrls
19
- } from "./chunk-XNZURZ7T.js";
19
+ } from "./chunk-D7BUMOKU.js";
20
20
  import {
21
21
  suggest
22
22
  } from "./chunk-UTI5G6OJ.js";
23
23
  import {
24
24
  authoredFieldType
25
- } from "./chunk-4DJTQ6W4.js";
25
+ } from "./chunk-JIKGT7DO.js";
26
26
 
27
27
  // src/emit/plan-disclosure.ts
28
28
  var NO_TABLE_EFFECTS = {
@@ -677,4 +677,4 @@ export {
677
677
  CONSTRAINT_PHRASE,
678
678
  CONSTRAINT_FIX
679
679
  };
680
- //# sourceMappingURL=chunk-BBPAXOU6.js.map
680
+ //# sourceMappingURL=chunk-CHINR7WD.js.map