@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
@@ -5,6 +5,16 @@ var HASH_DIALECT = {
5
5
  stamp: (version) => `# xanosdk ${version} \u2014 generated; edits inside this block are overwritten`,
6
6
  parseStamp: (block) => /^# xanosdk (\S+) — generated/m.exec(block)?.[1] ?? null
7
7
  };
8
+ function htmlDialect(name) {
9
+ const begin = `<!-- BEGIN:${name} -->`;
10
+ const end = `<!-- END:${name} -->`;
11
+ return {
12
+ begin: () => begin,
13
+ end: () => end,
14
+ stamp: (version) => `<!-- xanosdk ${version} \u2014 generated; edits inside this block are overwritten -->`,
15
+ parseStamp: (block) => /<!-- xanosdk (\S+) — generated/.exec(block)?.[1] ?? null
16
+ };
17
+ }
8
18
  var CONFLICT_MARKERS = ["<<<<<<<", ">>>>>>>"];
9
19
  function composeBlock(spec, lines, version) {
10
20
  const body = trimBlankEdges(lines.flatMap((line) => line.split(/\r?\n/)));
@@ -28,6 +38,9 @@ function assertNoForgedMarkers(body, spec) {
28
38
  function gitattributesSpec(pkg) {
29
39
  return { dialect: HASH_DIALECT, pkg, file: ".gitattributes" };
30
40
  }
41
+ function gitignoreSpec() {
42
+ return { dialect: HASH_DIALECT, pkg: "@xano/sdk", file: ".gitignore" };
43
+ }
31
44
  function linesOutsideBlocks(text, dialect) {
32
45
  const begin = dialect.begin("");
33
46
  const end = dialect.end("");
@@ -150,8 +163,10 @@ function settle(before, after) {
150
163
 
151
164
  export {
152
165
  HASH_DIALECT,
166
+ htmlDialect,
153
167
  composeBlock,
154
168
  gitattributesSpec,
169
+ gitignoreSpec,
155
170
  linesOutsideBlocks,
156
171
  blockPackages,
157
172
  findBlock,
@@ -159,4 +174,4 @@ export {
159
174
  upsertBlock,
160
175
  removeBlock
161
176
  };
162
- //# sourceMappingURL=chunk-DGWHAVRG.js.map
177
+ //# sourceMappingURL=chunk-LJM5CIY4.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-2MNLRIOX.js";
4
4
  import {
5
5
  pipedYes
6
- } from "./chunk-Z4VN347O.js";
6
+ } from "./chunk-UYFUIHH3.js";
7
7
  import {
8
8
  contextFlags
9
- } from "./chunk-G57RYMKB.js";
9
+ } from "./chunk-3FRGNBOC.js";
10
10
  import {
11
11
  shellWord
12
12
  } from "./chunk-FWD7AL6N.js";
@@ -18,7 +18,7 @@ import {
18
18
  retryingFetch,
19
19
  transportTarget,
20
20
  withWriteStatusAftermath
21
- } from "./chunk-HLQH3AXB.js";
21
+ } from "./chunk-L6HZ67P6.js";
22
22
  import {
23
23
  suggestAll
24
24
  } from "./chunk-UTI5G6OJ.js";
@@ -288,4 +288,4 @@ export {
288
288
  freeBranchLabel,
289
289
  requireBranch
290
290
  };
291
- //# sourceMappingURL=chunk-5RLAF6RL.js.map
291
+ //# sourceMappingURL=chunk-M2C54ZBC.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  hasString,
3
3
  listAnswer
4
- } from "./chunk-TEBS7FE6.js";
4
+ } from "./chunk-MYZRMSPM.js";
5
5
  import {
6
6
  READ_AFTERMATH,
7
7
  explainFetchFailure,
8
8
  httpFailure,
9
9
  readBodyText
10
- } from "./chunk-HLQH3AXB.js";
10
+ } from "./chunk-L6HZ67P6.js";
11
11
  import {
12
12
  detail,
13
13
  info,
14
14
  warn
15
- } from "./chunk-XNZURZ7T.js";
15
+ } from "./chunk-CH23ONYG.js";
16
16
 
17
17
  // src/deploy/microservice-status.ts
18
18
  var TIMEOUT_MS = 3e4;
@@ -168,4 +168,4 @@ export {
168
168
  readyRatio,
169
169
  printMicroserviceSection
170
170
  };
171
- //# sourceMappingURL=chunk-U6DR6464.js.map
171
+ //# sourceMappingURL=chunk-M3NEK3LT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  httpFailure
3
- } from "./chunk-HLQH3AXB.js";
3
+ } from "./chunk-L6HZ67P6.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-MBL7CXJ7.js.map
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  LOCK_PAYLOAD_KEYS,
3
- lockKey
4
- } from "./chunk-OKNE3TWU.js";
3
+ lockKey,
4
+ withSyncedOf
5
+ } from "./chunk-5KJBWIDZ.js";
5
6
 
6
7
  // src/lock/landed.ts
7
8
  function destinationKey(instance, dest) {
@@ -82,7 +83,10 @@ function applyLanding(lock, destKey, update) {
82
83
  if (Object.keys(next).length > 0) landed[destKey] = next;
83
84
  else delete landed[destKey];
84
85
  const objects = withoutPrunedObjects(lock.objects, update);
85
- return Object.keys(landed).length > 0 ? { version: lock.version, objects, landed } : { version: lock.version, objects };
86
+ return withSyncedOf(
87
+ Object.keys(landed).length > 0 ? { version: lock.version, objects, landed } : { version: lock.version, objects },
88
+ lock
89
+ );
86
90
  }
87
91
  function withoutPrunedObjects(objects, update) {
88
92
  const drop = Object.entries(update.removed ?? {}).filter(
@@ -131,7 +135,10 @@ function withStoredColumns(identities, stored) {
131
135
  function withoutLanding(lock, destKey) {
132
136
  if (lock.landed?.[destKey] === void 0) return lock;
133
137
  const { [destKey]: _dropped, ...landed } = lock.landed;
134
- return Object.keys(landed).length > 0 ? { version: lock.version, objects: lock.objects, landed } : { version: lock.version, objects: lock.objects };
138
+ return withSyncedOf(
139
+ Object.keys(landed).length > 0 ? { version: lock.version, objects: lock.objects, landed } : { version: lock.version, objects: lock.objects },
140
+ lock
141
+ );
135
142
  }
136
143
  function landedOn(lock, destKey) {
137
144
  const record = lock.landed?.[destKey];
@@ -153,4 +160,4 @@ export {
153
160
  withoutLanding,
154
161
  landedOn
155
162
  };
156
- //# sourceMappingURL=chunk-5YBNXNKU.js.map
163
+ //# sourceMappingURL=chunk-MFWF2NZJ.js.map
@@ -8,7 +8,7 @@ import {
8
8
  notJsonError,
9
9
  parseJsonAnswer,
10
10
  unexpectedAnswerError
11
- } from "./chunk-HLQH3AXB.js";
11
+ } from "./chunk-L6HZ67P6.js";
12
12
 
13
13
  // src/deploy/answer-shape.ts
14
14
  function isRecord(v) {
@@ -94,4 +94,4 @@ export {
94
94
  multidocAnswer,
95
95
  writeTransportFailure
96
96
  };
97
- //# sourceMappingURL=chunk-TEBS7FE6.js.map
97
+ //# sourceMappingURL=chunk-MYZRMSPM.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  confirm
3
- } from "./chunk-AESE434J.js";
3
+ } from "./chunk-7M6JP3FS.js";
4
4
  import {
5
5
  discloseCanonicalMoves,
6
6
  movesClause,
7
7
  releaseCanonicalMoves
8
- } from "./chunk-BBPAXOU6.js";
8
+ } from "./chunk-BSVQEKHO.js";
9
9
  import {
10
10
  exportWorkspaceBundle
11
- } from "./chunk-XIABDKFQ.js";
11
+ } from "./chunk-2SD4LA22.js";
12
12
  import {
13
13
  DEFAULT_BRANCH_LABEL,
14
14
  deleteBranch,
@@ -17,22 +17,22 @@ import {
17
17
  liveBranchLabel,
18
18
  requireBranch,
19
19
  setLiveBranch
20
- } from "./chunk-5RLAF6RL.js";
20
+ } from "./chunk-M2C54ZBC.js";
21
21
  import {
22
22
  sectionKind
23
- } from "./chunk-SF2B7MZK.js";
23
+ } from "./chunk-IYXL5NYU.js";
24
24
  import {
25
25
  assertOneName
26
- } from "./chunk-A4NNCI4O.js";
26
+ } from "./chunk-VIJ5D3RC.js";
27
27
  import {
28
28
  getAccessToken
29
- } from "./chunk-CJ76PSJT.js";
29
+ } from "./chunk-YH2JVJAO.js";
30
30
  import {
31
31
  pipedYes
32
- } from "./chunk-Z4VN347O.js";
32
+ } from "./chunk-UYFUIHH3.js";
33
33
  import {
34
34
  contextFlags
35
- } from "./chunk-G57RYMKB.js";
35
+ } from "./chunk-3FRGNBOC.js";
36
36
  import {
37
37
  shellWord
38
38
  } from "./chunk-FWD7AL6N.js";
@@ -56,7 +56,7 @@ import {
56
56
  warn,
57
57
  writeJson,
58
58
  writeTargetPayload
59
- } from "./chunk-XNZURZ7T.js";
59
+ } from "./chunk-CH23ONYG.js";
60
60
  import {
61
61
  suggestAll
62
62
  } from "./chunk-UTI5G6OJ.js";
@@ -139,7 +139,7 @@ async function runBranchCommand(args) {
139
139
  const workspaceId = auth.workspaceId;
140
140
  const target = { baseUrl: auth.instance, workspaceId };
141
141
  const { branches, unaddressable } = await listBranchListing(auth, target).catch(async (err) => {
142
- const { unansweredRead } = await import("./source-resolve-OWD3MIEO.js");
142
+ const { unansweredRead } = await import("./source-resolve-BBHYTOXI.js");
143
143
  throw unansweredRead(err, `list the branches of workspace ${workspaceId}`, "workspace");
144
144
  });
145
145
  if (verb === "list") {
@@ -161,7 +161,7 @@ async function runBranchCommand(args) {
161
161
  const meant = near.map((n) => `Did you mean "${safeText(n)}"? \`xanosdk workspace branch delete ${shellWord(n)}${again}\` deletes it, after asking to confirm.`);
162
162
  const branchesLine = known !== "" ? [`Its branches: ${known}.`] : [];
163
163
  if (near.length > 0) {
164
- const { SourceError } = await import("./source-resolve-OWD3MIEO.js");
164
+ const { SourceError } = await import("./source-resolve-BBHYTOXI.js");
165
165
  throw new SourceError([missed, ...meant, ...branchesLine].join("\n"), "gone", "workspace", near[0], near.length > 1 ? near : void 0);
166
166
  }
167
167
  warn(missed, "branch.not-found", branchesLine);
@@ -280,7 +280,7 @@ Check what is serving with \`xanosdk workspace branch list${contextFlags()}\`, t
280
280
  }
281
281
  if (args.expectLive !== void 0) {
282
282
  const now = await listBranchListing(auth, target).catch(async (err) => {
283
- const { unansweredRead } = await import("./source-resolve-OWD3MIEO.js");
283
+ const { unansweredRead } = await import("./source-resolve-BBHYTOXI.js");
284
284
  throw unansweredRead(err, `list the branches of workspace ${workspaceId}`, "workspace");
285
285
  });
286
286
  const drift = liveMismatch(now, args.expectLive);
@@ -424,4 +424,4 @@ export {
424
424
  liveBranchMismatch,
425
425
  staleSchemaRefs
426
426
  };
427
- //# sourceMappingURL=chunk-YSLMMR2U.js.map
427
+ //# sourceMappingURL=chunk-N3YFCFCO.js.map
@@ -1,7 +1,3 @@
1
- import {
2
- registerSecret,
3
- tokenTextProblem
4
- } from "./chunk-AWQ7BQTQ.js";
5
1
  import {
6
2
  expandHome,
7
3
  readPathEnvVar
@@ -12,11 +8,11 @@ import {
12
8
  httpFailure,
13
9
  isTimeoutError,
14
10
  statusLabel
15
- } from "./chunk-HLQH3AXB.js";
11
+ } from "./chunk-L6HZ67P6.js";
16
12
  import {
17
13
  pointerRootFor,
18
14
  resolveProjectProfile
19
- } from "./chunk-JZWUAEMO.js";
15
+ } from "./chunk-ARWMVNDJ.js";
20
16
  import {
21
17
  atomicWrite,
22
18
  linkTarget
@@ -28,9 +24,13 @@ import {
28
24
  import {
29
25
  readEnvVar
30
26
  } from "./chunk-X2NL4KUO.js";
27
+ import {
28
+ registerSecret,
29
+ tokenTextProblem
30
+ } from "./chunk-4GPIOIAC.js";
31
31
  import {
32
32
  UsageError
33
- } from "./chunk-XNZURZ7T.js";
33
+ } from "./chunk-CH23ONYG.js";
34
34
  import {
35
35
  shellQuote
36
36
  } from "./chunk-5ZSO4T2G.js";
@@ -1099,6 +1099,9 @@ function addGitignoreRule(authFilePath, opts = {}) {
1099
1099
  fileEntry.includes("/") ? fileEntry : `/${fileEntry}`
1100
1100
  ) : relForwardSlash(root, containingDir) + "/";
1101
1101
  const gitignorePath = join2(root, ".gitignore");
1102
+ if (lstatSync(gitignorePath, { throwIfNoEntry: false })?.isSymbolicLink() === true) {
1103
+ throw new Error(`${gitignorePath} is a symlink, so it was left untouched`);
1104
+ }
1102
1105
  const existing = existsSync2(gitignorePath) ? readFileSync2(gitignorePath, "utf8") : "";
1103
1106
  if (ignoreCovers(existing, entry) || ignoreCovers(existing, fileEntry) || gitIgnores(abs)) return void 0;
1104
1107
  const prefix = existing.length === 0 || existing.endsWith("\n") ? existing : existing + "\n";
@@ -1189,4 +1192,4 @@ export {
1189
1192
  addGitignoreRule,
1190
1193
  gitSaysIgnored
1191
1194
  };
1192
- //# sourceMappingURL=chunk-OJPZEUPH.js.map
1195
+ //# sourceMappingURL=chunk-NDJAKSE7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  exportWorkspaceBundle
3
- } from "./chunk-XIABDKFQ.js";
3
+ } from "./chunk-2SD4LA22.js";
4
4
  import {
5
5
  encodeWorkspaceArchive,
6
6
  readArchiveEntries
@@ -10,23 +10,23 @@ import {
10
10
  } from "./chunk-X4DVXBFY.js";
11
11
  import {
12
12
  resolveSource
13
- } from "./chunk-JXKO6JT7.js";
13
+ } from "./chunk-TWVUYS63.js";
14
14
  import {
15
15
  downloadRelease
16
- } from "./chunk-3BJYQGAZ.js";
16
+ } from "./chunk-26LHXLD3.js";
17
17
  import {
18
18
  backendDirIn
19
- } from "./chunk-AGD7F7YI.js";
19
+ } from "./chunk-5SCPRXFB.js";
20
20
  import {
21
21
  BARE,
22
22
  UsageError,
23
23
  isKindShaped,
24
24
  parseSource,
25
25
  relForwardSlash
26
- } from "./chunk-XNZURZ7T.js";
26
+ } from "./chunk-CH23ONYG.js";
27
27
  import {
28
28
  calcSignatureJson
29
- } from "./chunk-XJU6UAFV.js";
29
+ } from "./chunk-7FIMUFBP.js";
30
30
 
31
31
  // src/emit/deploy-source.ts
32
32
  import { existsSync } from "fs";
@@ -144,4 +144,4 @@ export {
144
144
  gatedApiGroups,
145
145
  asWorkspaceArchive
146
146
  };
147
- //# sourceMappingURL=chunk-PIPIA7K7.js.map
147
+ //# sourceMappingURL=chunk-NV37YGOV.js.map
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  resolveProjectEntry
3
- } from "./chunk-PIPIA7K7.js";
3
+ } from "./chunk-NV37YGOV.js";
4
4
  import {
5
5
  isUnusablePin,
6
6
  readPin,
7
7
  writePin
8
- } from "./chunk-Z3SNX45M.js";
8
+ } from "./chunk-FENA7K7C.js";
9
9
  import {
10
10
  ENGINE_RELEASES_URL_ENV,
11
11
  EngineReleaseNotFoundError,
12
12
  usesCustomReleaseManager
13
- } from "./chunk-JQOX6HW4.js";
13
+ } from "./chunk-RBU2YX22.js";
14
14
  import {
15
15
  LOCAL_ENGINE_OVERRIDE_ENV,
16
16
  engineOverrideFromEnv,
17
17
  resolveEnginePlatform,
18
18
  resolveEngineSource
19
- } from "./chunk-PL7AIAWS.js";
19
+ } from "./chunk-A4R5CAY4.js";
20
20
  import {
21
21
  ORIGIN_READ_ONLY_BY_REFRESH
22
- } from "./chunk-G57RYMKB.js";
22
+ } from "./chunk-3FRGNBOC.js";
23
23
  import {
24
24
  UsageError,
25
25
  info,
26
26
  warn
27
- } from "./chunk-XNZURZ7T.js";
27
+ } from "./chunk-CH23ONYG.js";
28
28
 
29
29
  // src/emit/local-engine-choice.ts
30
30
  function refuseCredentialFlagsForLocal(args, kinds) {
@@ -87,7 +87,7 @@ async function chooseLocalEngine(flagValue, dir, machineOutput) {
87
87
  };
88
88
  const platform = resolveEnginePlatform();
89
89
  if (platform === void 0) return keep;
90
- const check = await import("./local-engine-update-check-X7TZGRFL.js");
90
+ const check = await import("./local-engine-update-check-S7UF6ZF5.js");
91
91
  const latest = await check.latestKnownVersion({ platform });
92
92
  if (latest === void 0) return keep;
93
93
  const decision = check.decideUpdate({
@@ -101,7 +101,7 @@ async function chooseLocalEngine(flagValue, dir, machineOutput) {
101
101
  info(check.updateNoticeText(pin, latest));
102
102
  return keep;
103
103
  }
104
- const { confirm } = await import("./prompt-SURZOUUW.js");
104
+ const { confirm } = await import("./prompt-MQPGU4ZI.js");
105
105
  const yes = await confirm(check.updatePromptText(pin, latest), {
106
106
  flag: "`xanosdk local update`",
107
107
  refusal: { details: { updated: false }, rerun: "xanosdk local update" }
@@ -170,4 +170,4 @@ export {
170
170
  pinAfterAcquire,
171
171
  pinWrittenText
172
172
  };
173
- //# sourceMappingURL=chunk-ZHGWR45B.js.map
173
+ //# sourceMappingURL=chunk-O56DQKPL.js.map
@@ -7,14 +7,14 @@ import {
7
7
  } from "./chunk-QO6BVGS5.js";
8
8
  import {
9
9
  unreadableError
10
- } from "./chunk-UJ6ZZJDD.js";
10
+ } from "./chunk-PEX4QZVI.js";
11
+ import {
12
+ ensureGitignored
13
+ } from "./chunk-NDJAKSE7.js";
11
14
  import {
12
15
  destinationKey,
13
16
  nextLandedRecord
14
- } from "./chunk-5YBNXNKU.js";
15
- import {
16
- ensureGitignored
17
- } from "./chunk-OJPZEUPH.js";
17
+ } from "./chunk-MFWF2NZJ.js";
18
18
  import {
19
19
  atomicWrite
20
20
  } from "./chunk-LLNZGEFK.js";
@@ -301,4 +301,4 @@ export {
301
301
  recordEphemeralLanding,
302
302
  clearEphemeralLanding
303
303
  };
304
- //# sourceMappingURL=chunk-4QBGE3EO.js.map
304
+ //# sourceMappingURL=chunk-ORGNLQN6.js.map
@@ -2,10 +2,10 @@ import {
2
2
  keptDuplicates,
3
3
  replacedRegistrations,
4
4
  reportSuperseded
5
- } from "./chunk-4QFBEKXI.js";
5
+ } from "./chunk-SDGV76HF.js";
6
6
  import {
7
7
  rerenderEnvExample
8
- } from "./chunk-NUU76247.js";
8
+ } from "./chunk-HTQWAQRW.js";
9
9
  import {
10
10
  carriedSeedRows,
11
11
  decodeBundle,
@@ -17,48 +17,62 @@ import {
17
17
  verifyPulledTree,
18
18
  withSourceIdentities,
19
19
  writeDocumentationTokens
20
- } from "./chunk-LZDA6SVD.js";
20
+ } from "./chunk-DXZTL7NA.js";
21
21
  import {
22
- confirm
23
- } from "./chunk-AESE434J.js";
22
+ ROUTES_MANIFEST_BASENAME
23
+ } from "./chunk-LBJA7IEM.js";
24
+ import {
25
+ syncDigests
26
+ } from "./chunk-JI3BLXWQ.js";
24
27
  import {
25
28
  fetchSourceArchive
26
- } from "./chunk-PIPIA7K7.js";
29
+ } from "./chunk-NV37YGOV.js";
30
+ import {
31
+ confirm
32
+ } from "./chunk-7M6JP3FS.js";
33
+ import {
34
+ recordSync,
35
+ syncBranchLabel
36
+ } from "./chunk-VAGSKUWC.js";
27
37
  import {
28
38
  decodeWorkspaceArchive,
29
39
  encodeWorkspaceArchive
30
40
  } from "./chunk-3DRXWLJ5.js";
31
41
  import {
32
42
  ensureSecretPathGitignored
33
- } from "./chunk-3WHWOKU4.js";
43
+ } from "./chunk-BZ6WTG3E.js";
34
44
  import {
35
45
  readVersion,
36
46
  refreshAgentGuidance
37
- } from "./chunk-S5KQIFKJ.js";
47
+ } from "./chunk-DG3APBUJ.js";
38
48
  import {
39
49
  WORKSPACE_ENV_BASENAME,
40
50
  WORKSPACE_ENV_EXAMPLE_BASENAME,
41
51
  namesInEnvExample,
42
52
  readWorkspaceEnvFile
43
- } from "./chunk-LLS2WO2K.js";
53
+ } from "./chunk-PV25BDCH.js";
44
54
  import {
45
55
  memoCredential,
46
56
  refuseProfileForLocal,
47
57
  selectBackend
48
- } from "./chunk-KUU7T4ZE.js";
58
+ } from "./chunk-B2URJBC4.js";
49
59
  import {
50
60
  getAccessToken
51
- } from "./chunk-CJ76PSJT.js";
61
+ } from "./chunk-YH2JVJAO.js";
62
+ import {
63
+ readLockFile,
64
+ writeLockFile
65
+ } from "./chunk-CJDPSCMX.js";
52
66
  import {
53
67
  requireBackendSlot
54
- } from "./chunk-F3557PVM.js";
68
+ } from "./chunk-PY722CHR.js";
55
69
  import {
56
70
  contextFlags
57
- } from "./chunk-G57RYMKB.js";
71
+ } from "./chunk-3FRGNBOC.js";
58
72
  import {
59
73
  backendDirIn,
60
74
  resolveBackendDir
61
- } from "./chunk-AGD7F7YI.js";
75
+ } from "./chunk-5SCPRXFB.js";
62
76
  import {
63
77
  CODEGEN_MARKER,
64
78
  DECODE_MARKER,
@@ -73,15 +87,14 @@ import {
73
87
  readDecodeRecord,
74
88
  removeEmptiedDirs,
75
89
  removeFiles
76
- } from "./chunk-F6IKWAIU.js";
90
+ } from "./chunk-DIWF7L33.js";
77
91
  import {
78
- readLockFile,
79
- writeLockFile
80
- } from "./chunk-SQPIECXD.js";
92
+ holdsProjectManifest
93
+ } from "./chunk-HU7F56VF.js";
81
94
  import {
82
95
  decodeMarkerHead,
83
96
  decodeMarkerWith
84
- } from "./chunk-M6ZFSTIZ.js";
97
+ } from "./chunk-5GIOCDUM.js";
85
98
  import {
86
99
  CliError,
87
100
  UsageError,
@@ -94,7 +107,7 @@ import {
94
107
  terminalText,
95
108
  warn,
96
109
  writeJson
97
- } from "./chunk-XNZURZ7T.js";
110
+ } from "./chunk-CH23ONYG.js";
98
111
  import {
99
112
  WORKSPACE_SECRETS_BASENAME
100
113
  } from "./chunk-3JDU4VRL.js";
@@ -104,7 +117,7 @@ import {
104
117
  lockKey,
105
118
  lockNameForObject,
106
119
  withObjects
107
- } from "./chunk-OKNE3TWU.js";
120
+ } from "./chunk-5KJBWIDZ.js";
108
121
  import {
109
122
  shellQuote
110
123
  } from "./chunk-5ZSO4T2G.js";
@@ -238,7 +251,7 @@ function projectBackendAbove(cwd) {
238
251
  const parent = dirname(dir);
239
252
  if (parent === dir) return void 0;
240
253
  dir = parent;
241
- const backend = existsSync(join(dir, "package.json")) ? backendDirIn(dir) : join(dir, XANO_DIR);
254
+ const backend = holdsProjectManifest(dir) ? backendDirIn(dir) : join(dir, XANO_DIR);
242
255
  if (existsSync(join(backend, "index.ts"))) return relative(cwd, backend).split(sep).join("/");
243
256
  }
244
257
  }
@@ -302,12 +315,13 @@ async function runPullCommand(args) {
302
315
  const keptName = source.kind === "workspace" || source.kind === "local" ? void 0 : projectWorkspaceName(join(cwd, backendDir, "index.ts"));
303
316
  const project = decodeBundle(bundle, {
304
317
  secretsFile: `${backendDir}/${WORKSPACE_SECRETS_BASENAME}`,
305
- writesSecrets: args.noSecrets !== true,
306
318
  ...keptName !== void 0 ? { workspaceName: keptName } : {}
307
319
  });
308
320
  refuseDuplicateSourceGuids(project);
309
321
  const seedRows = carriedSeedRows(fetched.archive, bundle.payload);
310
- const placed = placeGeneratedFiles(project, backendDir);
322
+ const { discoverManifestModules } = await import("./routes-manifest-file-LCIKPDAG.js");
323
+ const modules = await discoverManifestModules(cwd, join(cwd, backendDir, ROUTES_MANIFEST_BASENAME), readVersion());
324
+ const placed = placeGeneratedFiles(project, backendDir, void 0, void 0, modules);
311
325
  const settings = source.kind === "release" ? keepProjectSettings(placed, backendDir, join(cwd, backendDir)) : { files: placed, kept: false, lost: [], from: WORKSPACE_SETTINGS_FILE };
312
326
  const files = settings.files;
313
327
  const dirAbs = join(cwd, backendDir);
@@ -320,6 +334,12 @@ async function runPullCommand(args) {
320
334
  const lockPath = join(cwd, backendDir, "xano.lock");
321
335
  const lock = existsSync(lockPath) ? readLockFile(lockPath) : void 0;
322
336
  const reconciliation = lock === void 0 ? void 0 : reconcileLock(lock, pulledIdentities(bundle.payload));
337
+ const syncTarget = source.kind === "workspace" && lock !== void 0 ? await (async () => {
338
+ const auth = await credential();
339
+ const branch = await syncBranchLabel(auth, args.branch);
340
+ return branch === void 0 ? void 0 : { instance: auth.instance, workspaceId: auth.workspaceId, branch };
341
+ })() : void 0;
342
+ const recordPullSync = () => syncTarget === void 0 ? null : recordSync({ lockPath, target: syncTarget, digests: syncDigests({ held: [bundle] }), by: "pull", complete: true });
323
343
  if (reconciliation?.disjoint === true && args.yes !== true) {
324
344
  throw await needsYes(
325
345
  args,
@@ -333,7 +353,7 @@ async function runPullCommand(args) {
333
353
  const duplicates = keptDuplicates(dirAbs, incoming, plan.kept, backendDir);
334
354
  if (upToDate) {
335
355
  await refreshAgentGuidance({ ...args, file: join(cwd, backendDir, "index.ts") });
336
- finishUpToDate(cwd, backendDir, project, args, fetched, lock, lockPath, reconciliation, bundle.payload, files.length, plan.kept, settingsReport(settings, backendDir), seedRows, duplicates);
356
+ finishUpToDate(cwd, backendDir, project, args, fetched, lock, lockPath, reconciliation, bundle.payload, files.length, plan.kept, settingsReport(settings, backendDir), seedRows, duplicates, recordPullSync);
337
357
  return;
338
358
  }
339
359
  const cleanliness = backendDirCleanliness(cwd, backendDir);
@@ -420,7 +440,7 @@ async function runPullCommand(args) {
420
440
  );
421
441
  }
422
442
  if (args.yes !== true) {
423
- const { yesRerun } = await import("./retry-command-JRGMZZAC.js");
443
+ const { yesRerun } = await import("./retry-command-GL5HCMVB.js");
424
444
  const { rerun, note } = yesRerun(args, "pull");
425
445
  const ok = await confirm(`Replace ${backendDir}/ from ${fetched.label}?`, {
426
446
  flag: "--yes",
@@ -498,6 +518,7 @@ async function runPullCommand(args) {
498
518
  );
499
519
  }
500
520
  }
521
+ const syncBaseline = verified === false ? null : recordPullSync();
501
522
  if (isMachineOutput(args)) {
502
523
  writeJson({
503
524
  source: fetched.provenance,
@@ -517,7 +538,8 @@ async function runPullCommand(args) {
517
538
  droppedSeeds,
518
539
  keptDuplicates: duplicates,
519
540
  modulesReplaced,
520
- verified
541
+ verified,
542
+ syncBaseline
521
543
  });
522
544
  if (verified === false) throw pullVerifyFailed(cwd, backendDir);
523
545
  success(`Pulled ${fetched.label}`);
@@ -552,11 +574,12 @@ function warnTsxNeeded(entry, written, backendDir, resolvable = tsxResolvable) {
552
574
  "pull.tsx-needed"
553
575
  );
554
576
  }
555
- function finishUpToDate(cwd, backendDir, project, args, fetched, lock, lockPath, reconciliation, payload, fileCount, kept, workspaceSettings, seedRows, duplicates) {
577
+ function finishUpToDate(cwd, backendDir, project, args, fetched, lock, lockPath, reconciliation, payload, fileCount, kept, workspaceSettings, seedRows, duplicates, recordPullSync) {
556
578
  reportSeedRows(seedRows, fetched.label, fetched.provenance, backendDir, contextFlags(args));
557
579
  ensureSecretPathGitignored(join(cwd, backendDir, WORKSPACE_ENV_BASENAME));
558
580
  writeDocumentationTokens(cwd, project.documentationTokens, args, fetched.label, join(cwd, backendDir, WORKSPACE_SECRETS_BASENAME));
559
581
  if (lock !== void 0 && reconciliation !== void 0) writeLockFile(lockPath, pulledLock(lock, reconciliation, payload));
582
+ const syncBaseline = recordPullSync();
560
583
  if (isMachineOutput(args)) {
561
584
  writeJson({
562
585
  source: fetched.provenance,
@@ -579,7 +602,8 @@ function finishUpToDate(cwd, backendDir, project, args, fetched, lock, lockPath,
579
602
  keptDuplicates: duplicates,
580
603
  modulesReplaced: [],
581
604
  // Nothing was written, so there is nothing new to check.
582
- verified: null
605
+ verified: null,
606
+ syncBaseline
583
607
  });
584
608
  }
585
609
  success(`${backendDir}/ is already up to date with ${fetched.label} \u2014 nothing to replace.`);
@@ -891,7 +915,7 @@ function envFillRemedy(kind, args, one = false) {
891
915
  return `fill ${them} in, or run \`xanosdk env pull${from}${flags}\`.`;
892
916
  }
893
917
  async function needsYes(args, head, why, details) {
894
- const { yesRerun } = await import("./retry-command-JRGMZZAC.js");
918
+ const { yesRerun } = await import("./retry-command-GL5HCMVB.js");
895
919
  const { rerun, note } = yesRerun(args, "pull");
896
920
  return new CliError("SDK_USAGE", `${head} Re-run as \`${rerun}\` ${why}.${note}`, {
897
921
  exitCode: 1,
@@ -920,4 +944,4 @@ export {
920
944
  projectWorkspaceName,
921
945
  envFillRemedy
922
946
  };
923
- //# sourceMappingURL=chunk-NNB7VUCH.js.map
947
+ //# sourceMappingURL=chunk-PEIBGH2V.js.map