@xano/sdk 1.0.4 → 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 (280) hide show
  1. package/CHANGELOG.md +32 -5
  2. package/README.md +250 -342
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/agent-file-refresh-67QIX45H.js +39 -0
  5. package/dist/{answer-shape-LVV2SVBK.js → answer-shape-UCDUKPAN.js} +6 -6
  6. package/dist/{backend-dir-WZADOK3L.js → backend-dir-3LIL6SCT.js} +16 -15
  7. package/dist/{backend-slot-NSCTWCUX.js → backend-slot-JREP27UD.js} +4 -4
  8. package/dist/bin.js +59 -58
  9. package/dist/{branch-ONWPJ4V6.js → branch-2IPHOAYS.js} +10 -10
  10. package/dist/{branch-commands-ZT2MJIRS.js → branch-commands-KTKAXBAN.js} +31 -32
  11. package/dist/bundle.js +9 -39
  12. package/dist/{capture-3JNUA6C2.js → capture-GW5KNKMB.js} +4 -4
  13. package/dist/{chunk-FPBGAT5D.js → chunk-26MOFAJT.js} +3 -3
  14. package/dist/{chunk-O7QOWS6M.js → chunk-2FLIJGBZ.js} +12 -12
  15. package/dist/{chunk-QAEQGT5I.js → chunk-2WBH5HUY.js} +7 -7
  16. package/dist/{chunk-37AHZ7JX.js → chunk-3BBIDW3Y.js} +6 -6
  17. package/dist/{chunk-DGWHAVRG.js → chunk-3EDSPMXN.js} +12 -1
  18. package/dist/{chunk-2AUV6NXK.js → chunk-3II44CUJ.js} +36 -36
  19. package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
  20. package/dist/{chunk-OOXWYAA4.js → chunk-57A5ZKPO.js} +1 -1
  21. package/dist/{chunk-OOGXZL7Z.js → chunk-5KJBWIDZ.js} +84 -6
  22. package/dist/{chunk-5YL5OC2G.js → chunk-5QMJOE2K.js} +6 -6
  23. package/dist/{chunk-3H3EPMFY.js → chunk-5TVFLG3C.js} +2 -2
  24. package/dist/{chunk-WFMVKY7I.js → chunk-5YQV35C2.js} +9 -9
  25. package/dist/{chunk-NA3PXMEF.js → chunk-64WWE3EF.js} +1 -1
  26. package/dist/{chunk-FMOEVAGT.js → chunk-6X3MY2JP.js} +3 -3
  27. package/dist/{chunk-2LVTBPW2.js → chunk-6X6BJN6Y.js} +3 -3
  28. package/dist/{chunk-DYG5D3FD.js → chunk-763M6LX3.js} +16 -2
  29. package/dist/{chunk-EESV6NU2.js → chunk-7FIMUFBP.js} +2 -2
  30. package/dist/{chunk-CFSFBKHP.js → chunk-7GAIJW62.js} +2 -2
  31. package/dist/{chunk-6R7S775T.js → chunk-7REDHC4N.js} +2 -2
  32. package/dist/chunk-7VR4IO5B.js +44 -0
  33. package/dist/chunk-A7MRZ4GF.js +78 -0
  34. package/dist/{chunk-D5ZEAF4G.js → chunk-ATJ2W7DC.js} +81 -58
  35. package/dist/{chunk-BUJRS7XB.js → chunk-AVS4WPPY.js} +2 -2
  36. package/dist/{chunk-MEE5RZ6G.js → chunk-BL3AZ3AP.js} +2 -2
  37. package/dist/chunk-BTVUYHWV.js +111 -0
  38. package/dist/{chunk-T4DUFQ2S.js → chunk-CCU5CCRX.js} +5 -5
  39. package/dist/{chunk-5T2CTWTB.js → chunk-CHINR7WD.js} +6 -6
  40. package/dist/{chunk-VD32O6KZ.js → chunk-CJDPSCMX.js} +45 -5
  41. package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
  42. package/dist/{chunk-SBR2WZXG.js → chunk-D7BUMOKU.js} +60 -53
  43. package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
  44. package/dist/{chunk-JTUKLCXS.js → chunk-DXUICABI.js} +1 -1
  45. package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
  46. package/dist/{chunk-KTGRGWZW.js → chunk-EADVVTDK.js} +7 -7
  47. package/dist/{chunk-FJWZ5OVV.js → chunk-ENMBEXOP.js} +3 -3
  48. package/dist/{chunk-OPHB5ORL.js → chunk-EQFYOOO6.js} +171 -92
  49. package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
  50. package/dist/{chunk-II747OWE.js → chunk-FQ53GTII.js} +10 -10
  51. package/dist/{chunk-JP7M7OU7.js → chunk-FU3VCE5A.js} +46 -27
  52. package/dist/{chunk-OGBMUST4.js → chunk-GHQ4BVI4.js} +14 -14
  53. package/dist/{chunk-45YPFB7B.js → chunk-GLY552SI.js} +84 -57
  54. package/dist/{chunk-QV3GXQRE.js → chunk-GOLFAEUV.js} +2 -2
  55. package/dist/{chunk-L2GLOJAO.js → chunk-GW5RHGOB.js} +22 -22
  56. package/dist/{chunk-A6QTTJUI.js → chunk-GWTFI3GA.js} +2 -2
  57. package/dist/{chunk-MCTIKRMN.js → chunk-GZHLCUZ6.js} +8 -8
  58. package/dist/{chunk-664LSWE5.js → chunk-HCG7NDIL.js} +4 -4
  59. package/dist/{chunk-7PMVIHB3.js → chunk-I3H3HCPY.js} +50 -29
  60. package/dist/{chunk-LIVN53UV.js → chunk-I3VHW6XM.js} +31 -31
  61. package/dist/{chunk-C4FHQA7R.js → chunk-IF4PEGVD.js} +8 -8
  62. package/dist/{chunk-WFG67AYS.js → chunk-IMELQ2I6.js} +3 -3
  63. package/dist/{chunk-3P3HXN76.js → chunk-ITC2R2OT.js} +11 -11
  64. package/dist/{chunk-W5ONYLOP.js → chunk-IXFJORNH.js} +4 -4
  65. package/dist/{chunk-HMLGM2MW.js → chunk-IYXL5NYU.js} +260 -32
  66. package/dist/{chunk-2B22WWKL.js → chunk-JFBRXRJD.js} +59 -35
  67. package/dist/chunk-JI3BLXWQ.js +107 -0
  68. package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
  69. package/dist/{chunk-O5V3YH5P.js → chunk-JRVQ7M7W.js} +8 -8
  70. package/dist/{chunk-4APOHK7Y.js → chunk-JXVJGF3Y.js} +2 -2
  71. package/dist/chunk-KPFS3RGM.js +257 -0
  72. package/dist/{chunk-PML67X22.js → chunk-LAOMN6QQ.js} +3 -3
  73. package/dist/{chunk-TTVAHCWP.js → chunk-LBJA7IEM.js} +370 -45
  74. package/dist/{chunk-KUTFFHUM.js → chunk-LD6ARK3A.js} +2 -2
  75. package/dist/{chunk-HUSH7LRI.js → chunk-LL7SGTRC.js} +36 -33
  76. package/dist/{chunk-I2BGYNHD.js → chunk-M5CSVB23.js} +7 -7
  77. package/dist/{chunk-UCQ2VUTG.js → chunk-M6ZFSTIZ.js} +2 -2
  78. package/dist/{chunk-MNVDVR3M.js → chunk-MBDFH7XB.js} +4 -4
  79. package/dist/{chunk-QXTKSOFI.js → chunk-MF4W6FHU.js} +1 -1
  80. package/dist/{chunk-RX3EMQGN.js → chunk-MFWF2NZJ.js} +12 -5
  81. package/dist/{chunk-SEUCZZCP.js → chunk-N5I37JFB.js} +3 -3
  82. package/dist/{chunk-IJ3SXSZM.js → chunk-ND43ZOS3.js} +6 -6
  83. package/dist/chunk-NDWVJ2QZ.js +67 -0
  84. package/dist/{chunk-E65QIWOO.js → chunk-NPODGBVJ.js} +4 -4
  85. package/dist/{chunk-CYB7UQA2.js → chunk-OIKLDDYC.js} +5 -5
  86. package/dist/{chunk-MLGI2SRQ.js → chunk-PFBXSVZF.js} +4 -4
  87. package/dist/{chunk-AM4FKL4J.js → chunk-PL7AIAWS.js} +12 -12
  88. package/dist/{chunk-S7E2AHV3.js → chunk-PMMHSX4H.js} +26 -9
  89. package/dist/{chunk-WL2DSNJV.js → chunk-Q22BMRPF.js} +2 -2
  90. package/dist/{chunk-3FN2BIGB.js → chunk-QJM5XZ4K.js} +6 -6
  91. package/dist/{chunk-EWCDPFW5.js → chunk-QXYMDARD.js} +4 -4
  92. package/dist/{chunk-MLPDSGJQ.js → chunk-QZEAANWP.js} +5 -5
  93. package/dist/{chunk-ESZ2FF57.js → chunk-RIN4YY34.js} +88 -74
  94. package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
  95. package/dist/{chunk-CBYQ2ZN3.js → chunk-SKEG3V2V.js} +2 -2
  96. package/dist/{chunk-4PQHO74B.js → chunk-SLGJIWCY.js} +4 -4
  97. package/dist/{chunk-IVKRT476.js → chunk-SPITRSOF.js} +2 -2
  98. package/dist/{chunk-BUECLQXK.js → chunk-SPKA2LV6.js} +4 -4
  99. package/dist/{chunk-HHW5AWVD.js → chunk-SSITMX7I.js} +30 -30
  100. package/dist/{chunk-OPG4DYX2.js → chunk-T4LJ5UR2.js} +29 -7
  101. package/dist/{chunk-LXNQWHZM.js → chunk-TECTL2NU.js} +4 -4
  102. package/dist/{chunk-E6H5ZEV3.js → chunk-TTEIDD5Q.js} +3 -3
  103. package/dist/{chunk-6VBTPV2Y.js → chunk-U35MTOXQ.js} +3 -3
  104. package/dist/{chunk-UKUIUS3E.js → chunk-U6MTGB46.js} +5 -5
  105. package/dist/{chunk-Y2ZLKBM6.js → chunk-UD2Z7K6W.js} +4 -4
  106. package/dist/{chunk-IXUPUFCG.js → chunk-UIVMR7UK.js} +2 -2
  107. package/dist/{chunk-UDE5C2XN.js → chunk-VDHA5SSQ.js} +3 -3
  108. package/dist/{chunk-5W7DOMIU.js → chunk-VJFMUJWZ.js} +4 -4
  109. package/dist/{chunk-XNCP4KYO.js → chunk-VQPDATQT.js} +1 -1
  110. package/dist/{chunk-KCAL4QYP.js → chunk-VW4CWVYX.js} +4 -4
  111. package/dist/chunk-WAVNUTMT.js +9 -0
  112. package/dist/{chunk-DIG3NITC.js → chunk-WBH4KJWM.js} +3 -3
  113. package/dist/{chunk-HSEQYBDO.js → chunk-WZHLMU6T.js} +3 -3
  114. package/dist/{chunk-WYEQFD6A.js → chunk-XFBGXB7X.js} +173 -105
  115. package/dist/{chunk-UI4OPTYR.js → chunk-Y453TW6J.js} +2 -2
  116. package/dist/{chunk-LUTMOHOW.js → chunk-YGLMRH5U.js} +9 -9
  117. package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
  118. package/dist/{chunk-5WGVIXMD.js → chunk-YKP4ZKVO.js} +14 -10
  119. package/dist/{chunk-MN2PB6WB.js → chunk-YR2I5HGE.js} +3 -3
  120. package/dist/{chunk-ZG7E72VI.js → chunk-YYC2DZMG.js} +7 -7
  121. package/dist/{chunk-D64XUF5Q.js → chunk-YYLUBYXM.js} +16 -16
  122. package/dist/{chunk-VRVKNY4A.js → chunk-Z4ZGTCCD.js} +8 -8
  123. package/dist/{chunk-44B4V2LR.js → chunk-ZDP6GDAB.js} +142 -142
  124. package/dist/{chunk-ET5DSBAC.js → chunk-ZJSTUD6D.js} +8 -8
  125. package/dist/cli.d.ts +36 -26
  126. package/dist/cli.js +57 -56
  127. package/dist/{codegen-command-HTWIW56U.js → codegen-command-R5IASBFC.js} +78 -72
  128. package/dist/codegen.d.ts +2 -2
  129. package/dist/codegen.js +2 -2
  130. package/dist/{commands-CVFYC4GK.js → commands-H7CPMMHH.js} +3 -3
  131. package/dist/{completion-AUEQC4XJ.js → completion-W5ZAI6TN.js} +12 -12
  132. package/dist/{config-JU6OQC77.js → config-MZ5KG4EP.js} +5 -5
  133. package/dist/{deploy-command-5WTFHMBT.js → deploy-command-34T2LKQ5.js} +64 -63
  134. package/dist/deploy-source-YLQ7WMYR.js +82 -0
  135. package/dist/{dev-env-sync-X636HLMK.js → dev-env-sync-TMJTNU3U.js} +58 -57
  136. package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
  137. package/dist/{display-name-hint-DMORHANO.js → display-name-hint-ZJGFNJKQ.js} +12 -12
  138. package/dist/{emit-hOFbgzde.d.ts → emit-D125xxty.d.ts} +67 -21
  139. package/dist/env-example-refresh-CQP3ZMKM.js +133 -0
  140. package/dist/{env-pull-command-WZZ7RL2E.js → env-pull-command-UTG6IC2K.js} +53 -53
  141. package/dist/{env-target-PO3MOLH5.js → env-target-FZROWYFS.js} +14 -14
  142. package/dist/{env-var-command-YKTJZFJN.js → env-var-command-VYDBQJJW.js} +51 -50
  143. package/dist/{ephemeral-BMFY55BQ.js → ephemeral-BIE6FMJV.js} +10 -10
  144. package/dist/{ephemeral-command-VDSQCOYL.js → ephemeral-command-OZ26RGXF.js} +54 -54
  145. package/dist/{ephemeral-state-6TY4JIPA.js → ephemeral-state-SNZOX2YK.js} +12 -12
  146. package/dist/{generate-command-3NTNRQRS.js → generate-command-4HR7MR36.js} +87 -79
  147. package/dist/{gitignore-FWPEDX6C.js → gitignore-EWQBXNX2.js} +20 -19
  148. package/dist/{guards-EJU2ONAX.js → guards-KYEOCVHN.js} +7 -7
  149. package/dist/{hosted-file-PSHJB3HX.js → hosted-file-S7YUQAH6.js} +2 -2
  150. package/dist/{impersonate-command-QEJA72Q2.js → impersonate-command-WC7OGKUM.js} +44 -43
  151. package/dist/{import-TBTOTU52.js → import-7Z4GCCPO.js} +6 -6
  152. package/dist/index.d.ts +14 -20
  153. package/dist/index.js +14 -14
  154. package/dist/init-command-HAO3WXH3.js +128 -0
  155. package/dist/{init-modules-HZRQFRLE.js → init-modules-NSKD4ASY.js} +12 -11
  156. package/dist/{init-web-Y2PBNJTQ.js → init-web-MKFFOQUU.js} +3 -3
  157. package/dist/internal.d.ts +5 -5
  158. package/dist/internal.js +61 -35
  159. package/dist/{io-ZUKAGFVE.js → io-PGTCBSIQ.js} +7 -5
  160. package/dist/{keep-data-merge-X5LDDCI3.js → keep-data-merge-QR2TMKEO.js} +33 -34
  161. package/dist/{lambda-config-reconcile-OUZ4OYAB.js → lambda-config-reconcile-7FJXXV6V.js} +4 -4
  162. package/dist/{landed-6VO7CX5P.js → landed-F7PCHGCK.js} +4 -4
  163. package/dist/{landing-record-QYECWLQ5.js → landing-record-MWXFIRCP.js} +26 -25
  164. package/dist/{live-diff-2S7E3SBZ.js → live-diff-5E2BQWQ7.js} +10 -9
  165. package/dist/local-engine-choice-VD5LNXJU.js +80 -0
  166. package/dist/{local-engine-command-HMTQK7MN.js → local-engine-command-RYLGMQ2O.js} +96 -95
  167. package/dist/{local-engine-config-5U3SC434.js → local-engine-config-W3KB7RWM.js} +2 -2
  168. package/dist/{local-engine-deploy-TXAOYRGF.js → local-engine-deploy-6O7NKZCA.js} +17 -17
  169. package/dist/{local-engine-process-6VZ7JJBP.js → local-engine-process-ZLLZEIRF.js} +12 -12
  170. package/dist/{local-engine-state-TJWPWCC4.js → local-engine-state-OCW5YDD7.js} +3 -3
  171. package/dist/{local-engine-update-check-R5SPDVEJ.js → local-engine-update-check-LVX4HBBI.js} +8 -8
  172. package/dist/{lock-TS465GVY.js → lock-HDCHD2ON.js} +5 -3
  173. package/dist/{lock-commands-4VT3L5W5.js → lock-commands-X2OECR4R.js} +62 -61
  174. package/dist/{login-command-O6WA4FYL.js → login-command-RLLKD565.js} +31 -30
  175. package/dist/{logout-command-6CPWGFY2.js → logout-command-XDMSXCDO.js} +17 -17
  176. package/dist/{loop-UFHKSOQ4.js → loop-SUB6C2LK.js} +9 -10
  177. package/dist/{marketplace-command-HKACSYKS.js → marketplace-command-2NHHY2X3.js} +89 -53
  178. package/dist/{marketplace-resolve-KLFYVRWS.js → marketplace-resolve-OTZYT4FG.js} +9 -8
  179. package/dist/{meta-client-73PX6UGJ.js → meta-client-TMHVBZFY.js} +15 -15
  180. package/dist/{module-manifest-GIKFNXPE.js → module-manifest-FNMW23IX.js} +7 -4
  181. package/dist/node.d.ts +5 -5
  182. package/dist/node.js +63 -63
  183. package/dist/operation-outcome-RN62735X.js +51 -0
  184. package/dist/{output-target-SZMBNYF4.js → output-target-MOLCTPBP.js} +21 -20
  185. package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
  186. package/dist/{plan-disclosure-BHYG7TZ7.js → plan-disclosure-CY7AF6KP.js} +21 -22
  187. package/dist/{plugin-contributions-X4V22PJQ.js → plugin-contributions-WR26U7NT.js} +6 -6
  188. package/dist/{plugin-prompt-DKNQHW6Y.js → plugin-prompt-ZUYQQIX4.js} +5 -5
  189. package/dist/{plugin-questions-CQRVOWFK.js → plugin-questions-HAZOQ67R.js} +4 -4
  190. package/dist/plugin.d.ts +254 -10
  191. package/dist/{preflight-command-EBQ6XQF3.js → preflight-command-OHJXYND3.js} +70 -70
  192. package/dist/{profile-command-NPKBJYPM.js → profile-command-6JWT2BTL.js} +33 -32
  193. package/dist/{profile-pointer-UOO7JNFG.js → profile-pointer-PDA5XBIB.js} +5 -5
  194. package/dist/{profile-select-74TRDEPD.js → profile-select-45G5VPJK.js} +2 -2
  195. package/dist/{project-dependency-RRMTWOPC.js → project-dependency-GZWWGWEW.js} +13 -10
  196. package/dist/{project-sdk-FOR4IOXL.js → project-sdk-3W72H5QO.js} +4 -4
  197. package/dist/promote-command-UYAMUXKB.js +146 -0
  198. package/dist/{prompt-5GUQTCSP.js → prompt-U37K5RPQ.js} +4 -4
  199. package/dist/{publish-command-LGLZBOCB.js → publish-command-BUS27HGB.js} +138 -66
  200. package/dist/pull-command-ZGUNP27P.js +168 -0
  201. package/dist/{pull-superseded-GGURV5J3.js → pull-superseded-EZBGYRZF.js} +4 -4
  202. package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
  203. package/dist/release-command-BQ6OHS3P.js +150 -0
  204. package/dist/{release-ns-command-EIBN3JVM.js → release-ns-command-ATGVBVIU.js} +94 -94
  205. package/dist/{retry-command-Y5YJGOH3.js → retry-command-QJ57WVW7.js} +9 -9
  206. package/dist/{routes-manifest-3BNZIVST.js → routes-manifest-YR4ZIMLM.js} +16 -8
  207. package/dist/routes-manifest-file-UALYSZLY.js +41 -0
  208. package/dist/scaffold.js +3 -3
  209. package/dist/{secrets-file-FUG7WCES.js → secrets-file-LMS7KX3E.js} +20 -19
  210. package/dist/{secrets-fill-command-QEOCUOAY.js → secrets-fill-command-QNBDGCGM.js} +61 -60
  211. package/dist/{seed-GJHJSEUE.js → seed-SZ6OS5DQ.js} +9 -9
  212. package/dist/{source-resolve-DMDZVPMM.js → source-resolve-MKLNYFWG.js} +24 -24
  213. package/dist/{static-host-WM24RG25.js → static-host-ONEHA4LI.js} +10 -10
  214. package/dist/{status-command-XUH5OGQX.js → status-command-XKIFKBGM.js} +57 -56
  215. package/dist/{store-CfgPaVPO.d.ts → store-Bg4Na6Sm.d.ts} +4 -4
  216. package/dist/{store-MR7IKXKK.js → store-X6ZH7EC3.js} +7 -7
  217. package/dist/sveltekit.d.ts +5 -5
  218. package/dist/sveltekit.js +1 -1
  219. package/dist/sync-baseline-DOV5AGIO.js +36 -0
  220. package/dist/{sync-contributions-DHP7XSTX.js → sync-contributions-HNVHDIQW.js} +21 -13
  221. package/dist/sync-record-PRXHLK4S.js +42 -0
  222. package/dist/{table-ZBDPKMNH.js → table-DC36QA4Y.js} +10 -10
  223. package/dist/{tables-command-X3JK7VSK.js → tables-command-UQLKTELN.js} +44 -43
  224. package/dist/{tenant-GKXMOYLK.js → tenant-EKNQGG5A.js} +11 -11
  225. package/dist/{tenant-command-P27EQHBU.js → tenant-command-2LWP2MPB.js} +105 -100
  226. package/dist/{test-command-A4G2FP7G.js → test-command-IU5MBBXY.js} +44 -43
  227. package/dist/{tests-C55M5EQS.js → tests-RG2Y5EQ4.js} +7 -7
  228. package/dist/{token-CMAB35GD.js → token-7AWSJLKO.js} +13 -13
  229. package/dist/toolchain-hooks-4ZMQLBPQ.js +46 -0
  230. package/dist/{toolchain-modules-3M7QDJBV.js → toolchain-modules-VU7SURVJ.js} +9 -6
  231. package/dist/toolchain-peers-CIDNEEQV.js +28 -0
  232. package/dist/tracked-backend-4BHSV7NC.js +81 -0
  233. package/dist/{update-check-LNNKIMML.js → update-check-A7FXIINW.js} +60 -59
  234. package/dist/{upgrade-command-7EUXML3P.js → upgrade-command-C5KBITFI.js} +64 -63
  235. package/dist/{whoami-command-KNWFWAX6.js → whoami-command-7WQII2H4.js} +16 -16
  236. package/dist/{workspace-TGPYOODG.js → workspace-Z46PUZNI.js} +6 -6
  237. package/dist/{workspace-binding-2TWZBHQY.js → workspace-binding-JE6YNDZJ.js} +15 -15
  238. package/dist/{workspace-command-T7Z2BDHD.js → workspace-command-FC4IMLAE.js} +119 -88
  239. package/dist/{workspace-env-VA7XN3UX.js → workspace-env-N4ZPFT6A.js} +17 -16
  240. package/dist/{workspace-export-AIGM6LC7.js → workspace-export-3A5BZTPS.js} +6 -6
  241. package/dist/{writable-FYJBTJOU.js → writable-D7KCZI5N.js} +4 -4
  242. package/dist/{xano-BSHYVFSE.js → xano-LCI7VWPS.js} +9 -9
  243. package/dist/{xanosdk-import-J6SRBZHW.js → xanosdk-import-P2A2KSXM.js} +10 -10
  244. package/dist/xanosdk-project-6AGMW2SL.js +42 -0
  245. package/guides/README.md +1 -0
  246. package/guides/authoring.md +3 -5
  247. package/guides/bundle.md +45 -0
  248. package/guides/cli.md +36 -34
  249. package/guides/codegen.md +5 -4
  250. package/guides/codes.md +16 -11
  251. package/guides/deploying.md +115 -58
  252. package/guides/environment.md +13 -13
  253. package/guides/marketplace.md +21 -0
  254. package/guides/module-contract.md +80 -4
  255. package/guides/project-structure.md +14 -0
  256. package/guides/typed-frontend.md +37 -0
  257. package/llms/client.md +14 -5
  258. package/llms/errors.md +1 -1
  259. package/llms/filters.md +4 -0
  260. package/llms/kinds-core.md +1 -1
  261. package/llms/statements-data.md +3 -2
  262. package/llms/tests.md +2 -2
  263. package/llms/toolchain.md +12 -0
  264. package/llms-full.txt +47 -21
  265. package/llms.txt +10 -10
  266. package/manifest.json +110 -107
  267. package/package.json +4 -4
  268. package/dist/agent-file-refresh-LB6KIMFY.js +0 -38
  269. package/dist/chunk-XXZZGXW2.js +0 -243
  270. package/dist/deploy-source-5CET3A5D.js +0 -81
  271. package/dist/env-example-refresh-ZO6XAV44.js +0 -127
  272. package/dist/init-command-27SFBW2F.js +0 -126
  273. package/dist/local-engine-choice-6BSPEG3E.js +0 -79
  274. package/dist/operation-outcome-2P4BVSEV.js +0 -51
  275. package/dist/promote-command-4F2NAE6P.js +0 -141
  276. package/dist/pull-command-WQFPLITW.js +0 -162
  277. package/dist/release-command-2OTNVMIL.js +0 -147
  278. package/dist/toolchain-hooks-BGZBDFAT.js +0 -96
  279. package/dist/tracked-backend-PZGUWD5J.js +0 -80
  280. package/dist/xanosdk-project-6KTCO47O.js +0 -41
@@ -8,16 +8,19 @@ import {
8
8
  resolveThemeChoice,
9
9
  sanitizeAppName,
10
10
  templateVarsFor
11
- } from "./chunk-D5ZEAF4G.js";
11
+ } from "./chunk-ATJ2W7DC.js";
12
+ import {
13
+ renderManifestFile,
14
+ reportModuleFailures
15
+ } from "./chunk-A7MRZ4GF.js";
12
16
  import {
13
17
  ROUTES_MANIFEST_BASENAME,
14
18
  RouteManifestError,
15
- planRouteManifest,
16
- renderPlannedManifest
17
- } from "./chunk-TTVAHCWP.js";
19
+ planRouteManifest
20
+ } from "./chunk-LBJA7IEM.js";
18
21
  import {
19
22
  confirm
20
- } from "./chunk-4APOHK7Y.js";
23
+ } from "./chunk-JXVJGF3Y.js";
21
24
  import {
22
25
  CODEGEN_MODULE,
23
26
  DecodeContext,
@@ -53,25 +56,32 @@ import {
53
56
  spread,
54
57
  untypedKey,
55
58
  withDeclineContext
56
- } from "./chunk-WOGJB2F6.js";
59
+ } from "./chunk-FNLTFOUD.js";
60
+ import {
61
+ recordSync,
62
+ syncBranchLabel
63
+ } from "./chunk-NDWVJ2QZ.js";
64
+ import {
65
+ syncDigests
66
+ } from "./chunk-JI3BLXWQ.js";
57
67
  import {
58
68
  archiveSeedContent,
59
69
  fetchSourceArchive
60
- } from "./chunk-VRVKNY4A.js";
70
+ } from "./chunk-Z4ZGTCCD.js";
61
71
  import {
62
72
  assertBranchReadSupported,
63
73
  exportWorkspaceBundle
64
- } from "./chunk-QV3GXQRE.js";
74
+ } from "./chunk-GOLFAEUV.js";
65
75
  import {
66
76
  decodeWorkspaceArchive
67
77
  } from "./chunk-3DRXWLJ5.js";
68
78
  import {
69
79
  listBranches,
70
80
  requireBranch
71
- } from "./chunk-E65QIWOO.js";
81
+ } from "./chunk-NPODGBVJ.js";
72
82
  import {
73
83
  detectInstallMode
74
- } from "./chunk-MLPDSGJQ.js";
84
+ } from "./chunk-QZEAANWP.js";
75
85
  import {
76
86
  UNSUPPORTED_SECTIONS,
77
87
  decodedCounts,
@@ -82,47 +92,47 @@ import {
82
92
  sectionOmission,
83
93
  subtractDefaults,
84
94
  workspaceKeyOmission
85
- } from "./chunk-XXZZGXW2.js";
95
+ } from "./chunk-IYXL5NYU.js";
86
96
  import {
87
97
  ensureWorkspaceEnvGitignored,
88
98
  requireSecretPathGitignored
89
- } from "./chunk-Y2ZLKBM6.js";
99
+ } from "./chunk-UD2Z7K6W.js";
90
100
  import {
91
101
  loadDefault,
92
102
  readVersion,
93
103
  resolveKnowledge
94
- } from "./chunk-WYEQFD6A.js";
104
+ } from "./chunk-XFBGXB7X.js";
95
105
  import {
96
106
  WORKSPACE_ENV_BASENAME,
97
107
  WORKSPACE_ENV_EXAMPLE_BASENAME,
98
108
  renderWorkspaceEnvExample,
99
109
  renderWorkspaceEnvFile,
100
110
  valueProblem
101
- } from "./chunk-664LSWE5.js";
111
+ } from "./chunk-HCG7NDIL.js";
102
112
  import {
103
113
  memoCredential,
104
114
  refuseProfileForLocal
105
- } from "./chunk-LIVN53UV.js";
115
+ } from "./chunk-I3VHW6XM.js";
106
116
  import {
107
117
  getAccessToken
108
- } from "./chunk-LUTMOHOW.js";
118
+ } from "./chunk-YGLMRH5U.js";
109
119
  import {
110
120
  getEngineRecord
111
- } from "./chunk-WL2DSNJV.js";
121
+ } from "./chunk-Q22BMRPF.js";
112
122
  import {
113
123
  requireBackendSlot
114
- } from "./chunk-UDE5C2XN.js";
124
+ } from "./chunk-VDHA5SSQ.js";
115
125
  import {
116
126
  SECRETS_FILE_VERSION,
117
127
  workspaceSecretsPathIn,
118
128
  writeSecretsFile
119
- } from "./chunk-MLGI2SRQ.js";
129
+ } from "./chunk-PFBXSVZF.js";
120
130
  import {
121
131
  yesRerun
122
- } from "./chunk-FMOEVAGT.js";
132
+ } from "./chunk-6X3MY2JP.js";
123
133
  import {
124
134
  contextFlags
125
- } from "./chunk-SEUCZZCP.js";
135
+ } from "./chunk-N5I37JFB.js";
126
136
  import {
127
137
  PRESERVED_ON_REFRESH,
128
138
  SHELL_FILES_IN_BACKEND,
@@ -137,37 +147,37 @@ import {
137
147
  plannedAgentsMd,
138
148
  readDecodeRecord,
139
149
  scaffoldProject
140
- } from "./chunk-HUSH7LRI.js";
150
+ } from "./chunk-LL7SGTRC.js";
141
151
  import {
142
152
  shellWord
143
153
  } from "./chunk-FWD7AL6N.js";
144
154
  import {
145
155
  seedRowsByTableGuid
146
- } from "./chunk-37AHZ7JX.js";
156
+ } from "./chunk-3BBIDW3Y.js";
147
157
  import {
148
158
  readLockFile,
149
159
  writeLockFile
150
- } from "./chunk-VD32O6KZ.js";
160
+ } from "./chunk-CJDPSCMX.js";
151
161
  import {
152
162
  readInstalledManifest
153
- } from "./chunk-DYG5D3FD.js";
163
+ } from "./chunk-763M6LX3.js";
154
164
  import {
155
165
  atomicWrite
156
166
  } from "./chunk-LLNZGEFK.js";
157
167
  import {
158
168
  TEST_EXPECT_TYPES,
159
169
  respond
160
- } from "./chunk-CBYQ2ZN3.js";
170
+ } from "./chunk-SKEG3V2V.js";
161
171
  import {
162
172
  codegen_entry_exports,
163
173
  raw
164
- } from "./chunk-XMDDBEEM.js";
174
+ } from "./chunk-E763QI3G.js";
165
175
  import {
166
176
  codegenLanding,
167
177
  describeOrigin,
168
178
  renderCodegenMarker,
169
179
  renderCodegenReadme
170
- } from "./chunk-OPHB5ORL.js";
180
+ } from "./chunk-EQFYOOO6.js";
171
181
  import {
172
182
  SUPERSEDED_STATEMENTS,
173
183
  supersededBy
@@ -188,7 +198,7 @@ import {
188
198
  terminalText,
189
199
  warn,
190
200
  writeJson
191
- } from "./chunk-SBR2WZXG.js";
201
+ } from "./chunk-D7BUMOKU.js";
192
202
  import {
193
203
  TOOL_ANNOTATION_WIRE,
194
204
  agentTrigger,
@@ -202,11 +212,11 @@ import {
202
212
  s,
203
213
  tableTrigger,
204
214
  workspaceTrigger
205
- } from "./chunk-II747OWE.js";
215
+ } from "./chunk-FQ53GTII.js";
206
216
  import {
207
217
  parsePathParams,
208
218
  unboundPathParams
209
- } from "./chunk-5W7DOMIU.js";
219
+ } from "./chunk-VJFMUJWZ.js";
210
220
  import {
211
221
  DEFAULT_DOCUMENTATION,
212
222
  DEFAULT_PREFERENCES,
@@ -214,10 +224,10 @@ import {
214
224
  } from "./chunk-6JAEMMZ7.js";
215
225
  import {
216
226
  MCP_OAUTH_ENV_REF
217
- } from "./chunk-5YL5OC2G.js";
227
+ } from "./chunk-5QMJOE2K.js";
218
228
  import {
219
229
  PAYLOAD_ARRAY_KEYS
220
- } from "./chunk-EESV6NU2.js";
230
+ } from "./chunk-7FIMUFBP.js";
221
231
  import {
222
232
  CORS_UNMATCHABLE,
223
233
  DECODE_ONLY_STATEMENTS,
@@ -241,7 +251,7 @@ import {
241
251
  searchConstrainsRows,
242
252
  specLabel,
243
253
  unmatchableOrigins
244
- } from "./chunk-OPG4DYX2.js";
254
+ } from "./chunk-T4LJ5UR2.js";
245
255
  import {
246
256
  WORKSPACE_HISTORY_TYPES
247
257
  } from "./chunk-ETAZIGNT.js";
@@ -256,7 +266,7 @@ import {
256
266
  isRuntimeConditionOp,
257
267
  isSearchOp,
258
268
  unusableColumns
259
- } from "./chunk-4PQHO74B.js";
269
+ } from "./chunk-SLGJIWCY.js";
260
270
  import {
261
271
  AUTHOR_KIND_NAME
262
272
  } from "./chunk-VTMTIBKP.js";
@@ -271,7 +281,7 @@ import {
271
281
  DiagnosticBag,
272
282
  allowableWarnings,
273
283
  setDiagnosticSink
274
- } from "./chunk-GPI3OWRE.js";
284
+ } from "./chunk-YHB34BN6.js";
275
285
  import {
276
286
  CANONICAL_PAYLOAD_KEYS,
277
287
  adoptFromBundle,
@@ -281,13 +291,13 @@ import {
281
291
  mergeObserved,
282
292
  sdkKindName,
283
293
  withObjects
284
- } from "./chunk-OOGXZL7Z.js";
294
+ } from "./chunk-5KJBWIDZ.js";
285
295
  import {
286
296
  shellQuote
287
297
  } from "./chunk-5ZSO4T2G.js";
288
298
  import {
289
299
  HOSTED_FILE_SCHEME
290
- } from "./chunk-XNCP4KYO.js";
300
+ } from "./chunk-VQPDATQT.js";
291
301
  import {
292
302
  encodeMockMap,
293
303
  encodeStatement
@@ -305,14 +315,14 @@ import {
305
315
  normalize,
306
316
  retiredInputSuccessor,
307
317
  retiredInputs
308
- } from "./chunk-3HOGFGKG.js";
318
+ } from "./chunk-D3KEPRRN.js";
309
319
  import {
310
320
  STATEMENT_SURFACES,
311
321
  sPathOf
312
322
  } from "./chunk-Q7DGTQ5G.js";
313
323
  import {
314
324
  impliedInputs
315
- } from "./chunk-7GX445AE.js";
325
+ } from "./chunk-4XHAT7C5.js";
316
326
  import {
317
327
  LAMBDA_STATEMENTS,
318
328
  collectLambdaBodyProblems,
@@ -325,7 +335,7 @@ import {
325
335
  } from "./chunk-4BW2SG2N.js";
326
336
  import {
327
337
  INPUT_CONTEXT
328
- } from "./chunk-4DJTQ6W4.js";
338
+ } from "./chunk-JIKGT7DO.js";
329
339
  import {
330
340
  isVarName
331
341
  } from "./chunk-4MIV244X.js";
@@ -2360,14 +2370,7 @@ var dbIncrement = (a) => {
2360
2370
  };
2361
2371
  var dbTransaction = (a) => {
2362
2372
  const body = a.decodeStack(getPath2(a.stored.context, "run"));
2363
- const entries = [["body", arr(body.exprs)]];
2364
- const runtime = { body: body.statements };
2365
- const as = a.stored.as;
2366
- if (typeof as === "string" && as !== "") {
2367
- entries.push(["as", lit(as)]);
2368
- runtime.as = as;
2369
- }
2370
- return prove(a.ctx, a.stored, "db.transaction", [runtime], [obj(entries)]);
2373
+ return prove(a.ctx, a.stored, "db.transaction", [{ body: body.statements }], [obj([["body", arr(body.exprs)]])]);
2371
2374
  };
2372
2375
  function decodeWhere(a, stored, site) {
2373
2376
  const condition = decodeCondition(a.ctx, stored, { sqlWhere: true });
@@ -3706,9 +3709,10 @@ function documentationEntry(a, scope, defaulted) {
3706
3709
  }
3707
3710
  if (token !== "") {
3708
3711
  const gated = block.require_token === true;
3712
+ const sidecar = `\`${a.ctx.secretsFile}\``;
3709
3713
  a.ctx.problem(
3710
3714
  "expected-omission",
3711
- gated ? `${documentationScopeLabel(scope)} gates its documentation with a token, which is a SECRET and is not carried into the generated tree. ` + (a.ctx.writesSecrets ? `The source declares the gate and the value is written to \`${a.ctx.secretsFile}\` \u2014 gitignored, and read back by every command that builds a bundle, so a deploy restores the gate with no further step. Until it is supplied, \`deploy\` refuses rather than clearing the live token.` : `The source declares the gate; the value was NOT written anywhere (--no-secrets). Supply it at deploy time with \`--doc-token\` or \`--secrets-file\` \u2014 until then \`deploy\` refuses rather than clearing the live token.`) : `${documentationScopeLabel(scope)} stores a documentation token with \`require_token: false\` \u2014 the documentation is not gated. The token is a SECRET and is not carried into the generated tree; ` + (a.ctx.writesSecrets ? `it is written to \`${a.ctx.secretsFile}\` (gitignored) so a deploy carries it across.` : `it was NOT written anywhere (--no-secrets). A deploy does not need it.`)
3715
+ gated ? `${documentationScopeLabel(scope)} gates its documentation with a token, which is a SECRET and is not carried into the generated tree. The source declares the gate. A decode writes the value to ${sidecar} (gitignored), and every command that builds a bundle reads it back, so a deploy restores the gate with no further step. A decode run with \`--no-secrets\` does not write it: supply it at deploy time with \`--doc-token\` or \`--secrets-file\`. Until the value is supplied, \`deploy\` refuses rather than clearing the live token.` : `${documentationScopeLabel(scope)} stores a documentation token with \`require_token: false\` \u2014 the documentation is not gated. The token is a SECRET and is not carried into the generated tree. A decode writes it to ${sidecar} (gitignored) so a deploy carries it across; a decode run with \`--no-secrets\` does not. A deploy does not need it.`
3712
3716
  );
3713
3717
  }
3714
3718
  return cells.length === 0 ? null : ["documentation", obj(cells)];
@@ -5945,7 +5949,6 @@ var KNOWN_PAYLOAD_KEYS = /* @__PURE__ */ new Set([
5945
5949
  function decodeBundle(bundle, opts = {}) {
5946
5950
  const ctx = new DecodeContext();
5947
5951
  if (opts.secretsFile !== void 0) ctx.secretsFile = opts.secretsFile;
5948
- if (opts.writesSecrets !== void 0) ctx.writesSecrets = opts.writesSecrets;
5949
5952
  let raw2 = bundle.payload ?? {};
5950
5953
  if (opts.workspaceName !== void 0) {
5951
5954
  ctx.fallbackWorkspaceName = opts.workspaceName;
@@ -6258,7 +6261,7 @@ function reportMismatches(report, result) {
6258
6261
  // src/emit/codegen-command.ts
6259
6262
  var NO_BRANCH = {
6260
6263
  ephemeral: "an ephemeral environment holds the logic it was deployed with, not a branch you can choose between afterwards \u2014 deploy from the branch you want, then read the ephemeral",
6261
- "local-engine": "a local engine holds the logic it was deployed with, not a branch you can choose between afterwards \u2014 deploy from the branch you want, then read the engine",
6264
+ "local": "a Xano Engine holds the logic it was deployed with, not a branch you can choose between afterwards \u2014 deploy from the branch you want, then read the engine",
6262
6265
  tenant: "a tenant runs the release it was deployed with, not a branch you can choose between",
6263
6266
  release: "a release is one archive already cut from one branch \u2014 cut another from the branch you need",
6264
6267
  file: "a bundle file is one archive that was already exported from one branch \u2014 re-export it with `--branch` if you need a different one"
@@ -6276,13 +6279,16 @@ async function fetchBundle(args, source) {
6276
6279
  const credential = memoCredential(() => (credentialRead = true, getAccessToken(args)));
6277
6280
  if (source.kind === "workspace") {
6278
6281
  const auth = await credential();
6282
+ const bundle2 = await fetchWorkspaceBundle(auth, args.branch);
6283
+ const branch = await syncBranchLabel(auth, args.branch);
6279
6284
  return {
6280
- bundle: await fetchWorkspaceBundle(auth, args.branch),
6285
+ bundle: bundle2,
6281
6286
  origin: { source: "workspace", origin: String(auth.workspaceId), ...args.branch === void 0 ? {} : { branch: args.branch.trim() } },
6282
- credentialRead
6287
+ credentialRead,
6288
+ ...branch === void 0 ? {} : { syncTarget: { instance: auth.instance, workspaceId: auth.workspaceId, branch } }
6283
6289
  };
6284
6290
  }
6285
- const { projectDirFrom } = await import("./xanosdk-project-6KTCO47O.js");
6291
+ const { projectDirFrom } = await import("./xanosdk-project-6AGMW2SL.js");
6286
6292
  const cwd = projectDirFrom(process.cwd()) ?? process.cwd();
6287
6293
  const raw2 = "name" in source && source.name !== void 0 ? `${source.kind}:${source.name}` : source.kind;
6288
6294
  step(`Reading ${raw2}`);
@@ -6302,7 +6308,7 @@ async function fetchBundle(args, source) {
6302
6308
  function originName(source, provenance, cwd) {
6303
6309
  const colon = provenance.indexOf(":");
6304
6310
  if (colon !== -1) return provenance.slice(colon + 1);
6305
- if (source.kind === "local-engine") return getEngineRecord(cwd)?.name ?? "local-engine";
6311
+ if (source.kind === "local") return getEngineRecord(cwd)?.name ?? "local";
6306
6312
  return provenance;
6307
6313
  }
6308
6314
  async function fetchWorkspaceBundle(auth, typedBranch) {
@@ -6361,7 +6367,7 @@ function refuseDuplicateSourceGuids(project) {
6361
6367
  Nothing was written. These records come from the archive, not from anything you authored, so renaming an object or pinning a new guid here would repoint references rather than fix it \u2014 the repeat has to be resolved in the workspace this was exported from.`
6362
6368
  );
6363
6369
  }
6364
- function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backendDir || XANO_DIR, routes) {
6370
+ function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backendDir || XANO_DIR, routes, modules) {
6365
6371
  const out = [
6366
6372
  // Generated from the names the source declares, and therefore placed HERE
6367
6373
  // rather than at either call site: `init --from` and `pull` must not be able
@@ -6379,19 +6385,23 @@ function placeGeneratedFiles(project, backendDir = XANO_DIR, displayDir = backen
6379
6385
  const path = file.path === GENERATED_README ? `${backendDir}/${GENERATED_README}` : `${backendDir}/${file.path}`;
6380
6386
  out.push({ path, content: file.contents });
6381
6387
  }
6382
- const manifest = routeManifestFor(project.source, routes?.entry ?? `${displayDir}/index.ts`, routes?.deferred);
6388
+ const manifest = routeManifestFor(project.source, routes?.entry ?? `${displayDir}/index.ts`, routes?.deferred, modules);
6383
6389
  if (manifest !== void 0) out.push({ path: `${backendDir}/${ROUTES_MANIFEST_BASENAME}`, content: manifest });
6384
6390
  return out;
6385
6391
  }
6386
- function routeManifestFor(payload, entry, deferred) {
6392
+ function routeManifestFor(payload, entry, deferred, modules) {
6387
6393
  try {
6388
- return renderPlannedManifest(planRouteManifest(payload), entry);
6394
+ const file = renderManifestFile(planRouteManifest(payload), modules, entry === void 0 ? {} : { entry });
6395
+ if (file === void 0) return void 0;
6396
+ reportModuleFailures(file.failed, ROUTES_MANIFEST_BASENAME);
6397
+ return file.source;
6389
6398
  } catch (err) {
6390
6399
  if (!(err instanceof RouteManifestError)) throw err;
6391
- const line = `${ROUTES_MANIFEST_BASENAME} was not written: ${err.message}`;
6400
+ const kept = modules?.previous;
6401
+ const line = kept === void 0 ? `${ROUTES_MANIFEST_BASENAME} was not written: ${err.message}` : `${ROUTES_MANIFEST_BASENAME} was not refreshed and was kept as it was: ${err.message}`;
6392
6402
  if (deferred === void 0) warn(line, "routes.not-written");
6393
6403
  else deferred.push(line);
6394
- return void 0;
6404
+ return kept;
6395
6405
  }
6396
6406
  }
6397
6407
  function envExampleNames(env) {
@@ -6640,7 +6650,7 @@ function missingDependency(err) {
6640
6650
  return tsx ? "tsx" : void 0;
6641
6651
  }
6642
6652
  async function runInitFromCommand(args, source) {
6643
- if (source.kind === "local-engine") {
6653
+ if (source.kind === "local") {
6644
6654
  refuseProfileForLocal(args.profile, [source.kind], requireBackendSlot("init", void 0, "from"));
6645
6655
  }
6646
6656
  const pathArg = args.positionals[0] ?? ".";
@@ -6652,11 +6662,12 @@ async function runInitFromCommand(args, source) {
6652
6662
  { hintFor: { command: "init" } }
6653
6663
  );
6654
6664
  }
6655
- const { bundle, origin, credentialRead, seed } = source.kind === "file" ? {
6665
+ const { bundle, origin, credentialRead, seed, syncTarget } = source.kind === "file" ? {
6656
6666
  bundle: readBundleFile(source.path),
6657
6667
  origin: { source: "file", origin: source.path },
6658
6668
  credentialRead: void 0,
6659
- seed: void 0
6669
+ seed: void 0,
6670
+ syncTarget: void 0
6660
6671
  } : await fetchBundle(args, source);
6661
6672
  const mode = reportMode(args.report);
6662
6673
  const out = resolve(pathArg);
@@ -6668,7 +6679,6 @@ async function runInitFromCommand(args, source) {
6668
6679
  const ws = bundle.payload?.workspace;
6669
6680
  const unnamed = typeof ws?.name !== "string" || ws.name.trim() === "";
6670
6681
  const project = decodeBundle(bundle, {
6671
- writesSecrets: args.noSecrets !== true,
6672
6682
  ...unnamed ? { workspaceName: appName } : {}
6673
6683
  });
6674
6684
  refuseDuplicateSourceGuids(project);
@@ -6743,7 +6753,7 @@ async function runInitFromCommand(args, source) {
6743
6753
  for (const line of routesDeferred) warn(line, "routes.not-written");
6744
6754
  if (seed !== void 0) reportSeedRows(seed.rows, seed.label, seed.provenance, XANO_DIR, contextFlags(args));
6745
6755
  if (replace.lock !== void 0) {
6746
- const { reconciledLock } = await import("./pull-command-WQFPLITW.js");
6756
+ const { reconciledLock } = await import("./pull-command-ZGUNP27P.js");
6747
6757
  writeLockFile(
6748
6758
  replace.lock.path,
6749
6759
  reconciledLock(replace.lock.model, replace.lock.reconciliation, bundle.payload)
@@ -6794,6 +6804,9 @@ async function runInitFromCommand(args, source) {
6794
6804
  }
6795
6805
  }
6796
6806
  if (lock !== null && !hadLock) success(`Wrote ${displayPath(lock)}`);
6807
+ if (lock !== null && syncTarget !== void 0 && verified !== false) {
6808
+ recordSync({ lockPath: lock, target: syncTarget, digests: syncDigests({ held: [bundle] }), by: "init", complete: true });
6809
+ }
6797
6810
  if (verified === false) {
6798
6811
  rewriteReadmeWithReport(project, out);
6799
6812
  const cliVersion = readVersion();
@@ -6844,7 +6857,7 @@ async function planXanoReplace(out, files, payload, args, label, agentsMd) {
6844
6857
  if (shell.length > 0 && !await confirmShellOverwrite(out, shell, args, label)) return "cancelled";
6845
6858
  return { removals: void 0, removedEdited: [], rewrittenEdited: [], kept: [] };
6846
6859
  }
6847
- const { backendDirCleanliness, noneOfTheIdentities, pulledIdentities, reconcileLock } = await import("./pull-command-WQFPLITW.js");
6860
+ const { backendDirCleanliness, noneOfTheIdentities, pulledIdentities, reconcileLock } = await import("./pull-command-ZGUNP27P.js");
6848
6861
  const prefix = `${XANO_DIR}/`;
6849
6862
  const incoming = new Map(
6850
6863
  files.filter((f) => f.path.startsWith(prefix)).map((f) => [f.path.slice(prefix.length), f.content])
@@ -6892,7 +6905,7 @@ async function planXanoReplace(out, files, payload, args, label, agentsMd) {
6892
6905
  list(lock.reconciliation.dropped.map((key) => displayLockKey(key)), "")
6893
6906
  );
6894
6907
  }
6895
- const { keptDuplicates, replacedRegistrations, reportSuperseded } = await import("./pull-superseded-GGURV5J3.js");
6908
+ const { keptDuplicates, replacedRegistrations, reportSuperseded } = await import("./pull-superseded-EZBGYRZF.js");
6896
6909
  const shown = relative(process.cwd(), xanoDir).split(sep).join("/") || XANO_DIR;
6897
6910
  reportSuperseded(
6898
6911
  keptDuplicates(xanoDir, incoming, kept, shown),
@@ -7113,7 +7126,8 @@ function summarize(args, project, verified, out, origin, install, mode, scaffold
7113
7126
  const steps = cdHint + (install === "installed" || existsSync(join(out, "node_modules", "@xano", "sdk")) ? `` : ` npm install
7114
7127
  `) + // An unverified tree: the check the warning above asks for is a step.
7115
7128
  (verified === null ? ` npm run xano:check # confirm the tree compiles and the lock agrees
7116
- ` : ``) + loginNextStep(pin, out) + ` npm run xano:deploy # build the frontend, then deploy \u2192 live ephemeral URL`;
7129
+ ` : ``) + ` npm run xano:deploy # run it on the Xano Engine, on this machine
7130
+ ` + loginNextStep(pin, out) + ` npm run xano:deploy:ephemeral # build the frontend, then deploy \u2192 live ephemeral URL`;
7117
7131
  detail(`Next steps:
7118
7132
  ` + steps.replace(/^ {2}/gm, " "));
7119
7133
  for (const line of [
@@ -7133,8 +7147,8 @@ function refreshSelector(origin) {
7133
7147
  return void 0;
7134
7148
  case "workspace":
7135
7149
  return "workspace";
7136
- case "local-engine":
7137
- return origin.origin === "local-engine" ? "local-engine" : `local-engine:${origin.origin}`;
7150
+ case "local":
7151
+ return origin.origin === "local" ? "local" : `local:${origin.origin}`;
7138
7152
  default:
7139
7153
  return `${origin.source}:${origin.origin}`;
7140
7154
  }
@@ -7163,7 +7177,7 @@ function seedRowsLanding(source, flags = "") {
7163
7177
  if (release === void 0) {
7164
7178
  return `They stay on ${source}, and a table's \`seed\` option puts rows in code.`;
7165
7179
  }
7166
- return `They stay on the release: \`xanosdk deploy ${shellQuote(`release:${release}`)}${flags}\` lands them on this project's ephemeral, and \`xanosdk tenant deploy <tenant> ${shellQuote(release)}${flags}\` on a tenant (a promote writes no rows). A table's \`seed\` option puts rows in code.`;
7180
+ return `They stay on the release: \`xanosdk deploy ${shellQuote(`release:${release}`)} --ephemeral${flags}\` lands them on this project's ephemeral, and \`xanosdk tenant deploy <tenant> ${shellQuote(release)}${flags}\` on a tenant (a promote writes no rows). A table's \`seed\` option puts rows in code.`;
7167
7181
  }
7168
7182
 
7169
7183
  export {
@@ -7196,4 +7210,4 @@ export {
7196
7210
  seedRowsListed,
7197
7211
  seedRowsLanding
7198
7212
  };
7199
- //# sourceMappingURL=chunk-ESZ2FF57.js.map
7213
+ //# sourceMappingURL=chunk-RIN4YY34.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  INPUT_CONTEXT,
9
9
  encodeField
10
- } from "./chunk-4DJTQ6W4.js";
10
+ } from "./chunk-JIKGT7DO.js";
11
11
 
12
12
  // src/fields/catalog.ts
13
13
  var DEFAULTABLE_TYPES = /* @__PURE__ */ new Set([
@@ -277,6 +277,9 @@ var input = {
277
277
  * true, methods: ["lower"] } }` — where `hidden` drops them wholesale. Both
278
278
  * are read per column by the engine's expansion, and a column named in
279
279
  * `customize` with `hidden: true` is dropped exactly as the outer list does it.
280
+ * A node REPLACES the column's own `required` flag and `methods`, and an
281
+ * omitted one is stored as `false` / none: a node that only adds a method
282
+ * makes a required column optional, so restate `required: true`.
280
283
  *
281
284
  * Input-only: the engine refuses it as a column type, and a column linking a
282
285
  * whole table would be a foreign key — use
@@ -364,4 +367,4 @@ export {
364
367
  input,
365
368
  encodeInput
366
369
  };
367
- //# sourceMappingURL=chunk-37FBPMNE.js.map
370
+ //# sourceMappingURL=chunk-S56YBYMN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  HEADER_NAME,
4
4
  generated,
5
5
  literalText
6
- } from "./chunk-OPG4DYX2.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-CBYQ2ZN3.js.map
241
+ //# sourceMappingURL=chunk-SKEG3V2V.js.map
@@ -13,10 +13,10 @@ 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
- } from "./chunk-XNCP4KYO.js";
19
+ } from "./chunk-VQPDATQT.js";
20
20
  import {
21
21
  RAW_WHERE,
22
22
  isRawWhere
@@ -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-4PQHO74B.js.map
1275
+ //# sourceMappingURL=chunk-SLGJIWCY.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  pastePath,
7
7
  warn
8
- } from "./chunk-SBR2WZXG.js";
8
+ } from "./chunk-D7BUMOKU.js";
9
9
  import {
10
10
  shellQuote
11
11
  } from "./chunk-5ZSO4T2G.js";
@@ -103,4 +103,4 @@ export {
103
103
  replacedRegistrations,
104
104
  reportSuperseded
105
105
  };
106
- //# sourceMappingURL=chunk-IVKRT476.js.map
106
+ //# sourceMappingURL=chunk-SPITRSOF.js.map
@@ -4,17 +4,17 @@ import {
4
4
  listAnswer,
5
5
  recordAnswer,
6
6
  writeTransportFailure
7
- } from "./chunk-CFSFBKHP.js";
7
+ } from "./chunk-7GAIJW62.js";
8
8
  import {
9
9
  contextFlags
10
- } from "./chunk-SEUCZZCP.js";
10
+ } from "./chunk-N5I37JFB.js";
11
11
  import {
12
12
  TransportError,
13
13
  fetchOrExplain,
14
14
  httpFailure,
15
15
  readBodyText,
16
16
  withWriteStatusAftermath
17
- } from "./chunk-MN2PB6WB.js";
17
+ } from "./chunk-YR2I5HGE.js";
18
18
  import {
19
19
  shellQuote
20
20
  } from "./chunk-5ZSO4T2G.js";
@@ -283,4 +283,4 @@ export {
283
283
  waitUntilReady,
284
284
  isUnansweredPoll
285
285
  };
286
- //# sourceMappingURL=chunk-BUECLQXK.js.map
286
+ //# sourceMappingURL=chunk-SPKA2LV6.js.map