@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
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  applyLanding,
3
3
  withoutPrunedObjects
4
- } from "./chunk-5YBNXNKU.js";
4
+ } from "./chunk-MFWF2NZJ.js";
5
5
  import {
6
6
  atomicWrite
7
7
  } from "./chunk-LLNZGEFK.js";
8
8
  import {
9
9
  parseLockReport,
10
- serializeLock
11
- } from "./chunk-OKNE3TWU.js";
10
+ serializeLock,
11
+ withSyncedOf
12
+ } from "./chunk-5KJBWIDZ.js";
12
13
  import {
13
14
  tagLockSource
14
15
  } from "./chunk-4BW2SG2N.js";
@@ -16,6 +17,37 @@ import {
16
17
  // src/lock/io.ts
17
18
  import { readFileSync, existsSync } from "fs";
18
19
  import { resolve } from "path";
20
+
21
+ // src/lock/synced.ts
22
+ function syncedOn(lock, destKey, branch) {
23
+ const record = lock?.synced?.[destKey];
24
+ return record !== void 0 && Object.hasOwn(record, branch) ? record[branch] : void 0;
25
+ }
26
+ function withSyncBaseline(lock, destKey, branch, baseline) {
27
+ const synced = { ...lock.synced ?? {} };
28
+ synced[destKey] = { ...synced[destKey] ?? {}, [branch]: baseline };
29
+ const { synced: _old, ...rest } = lock;
30
+ return withSyncedOf(rest, { synced });
31
+ }
32
+ function nextBaseline(previous, digests, by, complete, now = () => /* @__PURE__ */ new Date()) {
33
+ if (previous !== void 0 && previous.complete === complete && previous.scheme === digests.scheme && sameDigests(previous.objects, digests.objects) && sameDigests(previous.others ?? {}, digests.others)) {
34
+ return previous;
35
+ }
36
+ return {
37
+ at: now().toISOString(),
38
+ by,
39
+ scheme: digests.scheme,
40
+ complete,
41
+ objects: { ...digests.objects },
42
+ ...Object.keys(digests.others).length > 0 ? { others: { ...digests.others } } : {}
43
+ };
44
+ }
45
+ function sameDigests(a, b) {
46
+ const keys = Object.keys(a);
47
+ return keys.length === Object.keys(b).length && keys.every((k) => Object.hasOwn(b, k) && a[k] === b[k]);
48
+ }
49
+
50
+ // src/lock/io.ts
19
51
  function readLockFile(path, opts = {}) {
20
52
  return readLockFileReport(path, opts).lock;
21
53
  }
@@ -62,12 +94,20 @@ function forgetPrunedInLockFile(path, update) {
62
94
  writeLockFile(path, { ...lock, objects });
63
95
  return Object.keys(lock.objects).filter((key) => !(key in objects));
64
96
  }
97
+ function recordSyncInLockFile(path, destKey, branch, sync) {
98
+ if (!existsSync(path)) return void 0;
99
+ const lock = readLockFile(path);
100
+ const baseline = nextBaseline(syncedOn(lock, destKey, branch), sync.digests, sync.by, sync.complete);
101
+ return { changed: writeLockFile(path, withSyncBaseline(lock, destKey, branch, baseline)) };
102
+ }
65
103
 
66
104
  export {
105
+ syncedOn,
67
106
  readLockFile,
68
107
  readLockFileReport,
69
108
  writeLockFile,
70
109
  recordLandingInLockFile,
71
- forgetPrunedInLockFile
110
+ forgetPrunedInLockFile,
111
+ recordSyncInLockFile
72
112
  };
73
- //# sourceMappingURL=chunk-SQPIECXD.js.map
113
+ //# sourceMappingURL=chunk-CJDPSCMX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  impliedInputs
3
- } from "./chunk-7GX445AE.js";
3
+ } from "./chunk-4XHAT7C5.js";
4
4
 
5
5
  // src/validate/normalize.ts
6
6
  var STRIP_KEYS = /* @__PURE__ */ new Set([
@@ -1062,4 +1062,4 @@ export {
1062
1062
  filledContext,
1063
1063
  normalize
1064
1064
  };
1065
- //# sourceMappingURL=chunk-3HOGFGKG.js.map
1065
+ //# sourceMappingURL=chunk-D3KEPRRN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  setDiagnosticSink
3
- } from "./chunk-GPI3OWRE.js";
3
+ } from "./chunk-YHB34BN6.js";
4
4
  import {
5
5
  suggest
6
6
  } from "./chunk-UTI5G6OJ.js";
@@ -3040,4 +3040,4 @@ export {
3040
3040
  movedVerb,
3041
3041
  installCliDiagnosticSink
3042
3042
  };
3043
- //# sourceMappingURL=chunk-XNZURZ7T.js.map
3043
+ //# sourceMappingURL=chunk-D7BUMOKU.js.map
@@ -201,8 +201,9 @@ function removeArgs(manager, pkg) {
201
201
  return [manager === "npm" ? "uninstall" : "remove", pkg];
202
202
  }
203
203
  function addArgs(manager, spec, dev = false) {
204
- if (manager === "npm") return ["install", spec, ...dev ? ["--save-dev"] : []];
205
- return ["add", spec, ...dev ? [manager === "pnpm" ? "--save-dev" : "--dev"] : []];
204
+ const specs = typeof spec === "string" ? [spec] : [...spec];
205
+ if (manager === "npm") return ["install", ...specs, ...dev ? ["--save-dev"] : []];
206
+ return ["add", ...specs, ...dev ? [manager === "pnpm" ? "--save-dev" : "--dev"] : []];
206
207
  }
207
208
 
208
209
  export {
@@ -221,4 +222,4 @@ export {
221
222
  removeArgs,
222
223
  addArgs
223
224
  };
224
- //# sourceMappingURL=chunk-WRBKLYSJ.js.map
225
+ //# sourceMappingURL=chunk-DNBP4GJN.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-A2AOUBJS.js";
10
10
  import {
11
11
  RAW_FIELD
12
- } from "./chunk-4DJTQ6W4.js";
12
+ } from "./chunk-JIKGT7DO.js";
13
13
  import {
14
14
  describeEntry
15
15
  } from "./chunk-4MIV244X.js";
@@ -139,4 +139,4 @@ export {
139
139
  rawField,
140
140
  codegen_entry_exports
141
141
  };
142
- //# sourceMappingURL=chunk-XMDDBEEM.js.map
142
+ //# sourceMappingURL=chunk-E763QI3G.js.map
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  retryCommand,
3
3
  withheldNote
4
- } from "./chunk-Z4VN347O.js";
4
+ } from "./chunk-6X3MY2JP.js";
5
5
  import {
6
6
  contextFlags
7
- } from "./chunk-G57RYMKB.js";
7
+ } from "./chunk-N5I37JFB.js";
8
8
  import {
9
9
  READ_AFTERMATH,
10
10
  SENT_AFTERMATH,
11
11
  closeSentence
12
- } from "./chunk-HLQH3AXB.js";
12
+ } from "./chunk-YR2I5HGE.js";
13
13
  import {
14
14
  UsageError,
15
15
  detail,
16
16
  pastePath,
17
17
  warn
18
- } from "./chunk-XNZURZ7T.js";
18
+ } from "./chunk-D7BUMOKU.js";
19
19
  import {
20
20
  shellQuote
21
21
  } from "./chunk-5ZSO4T2G.js";
22
22
 
23
23
  // src/emit/static-teardown.ts
24
24
  async function readStaticTeardown(auth, target, recorded) {
25
- const { listServingStaticHosts } = await import("./static-host-UIR2OLPQ.js");
25
+ const { listServingStaticHosts } = await import("./static-host-ONEHA4LI.js");
26
26
  try {
27
27
  const serving = await listServingStaticHosts({ ...target, accessToken: auth.access_token });
28
28
  const urls = serving.map((s) => s.url);
@@ -130,7 +130,7 @@ function survivingRemedy(args, command) {
130
130
  async function assertStaticHostExists(args, auth, target) {
131
131
  const host = namedStaticHost(args);
132
132
  if (host === void 0) return;
133
- const { listStaticHostNames, StaticHostNotFoundError } = await import("./static-host-UIR2OLPQ.js");
133
+ const { listStaticHostNames, StaticHostNotFoundError } = await import("./static-host-ONEHA4LI.js");
134
134
  let names;
135
135
  try {
136
136
  names = await listStaticHostNames({ ...target, accessToken: auth.access_token });
@@ -215,4 +215,4 @@ export {
215
215
  EXIT_STATIC_FAILED,
216
216
  unknownStaticOutcome
217
217
  };
218
- //# sourceMappingURL=chunk-4NEBBKOP.js.map
218
+ //# sourceMappingURL=chunk-EADVVTDK.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ensureExportGitignored
3
- } from "./chunk-3WHWOKU4.js";
3
+ } from "./chunk-UD2Z7K6W.js";
4
4
  import {
5
5
  andList
6
6
  } from "./chunk-622HUCZT.js";
7
7
  import {
8
8
  UsageError,
9
9
  warn
10
- } from "./chunk-XNZURZ7T.js";
10
+ } from "./chunk-D7BUMOKU.js";
11
11
 
12
12
  // src/emit/output-target.ts
13
13
  import { accessSync, chmodSync, constants, mkdirSync, statSync, writeFileSync } from "fs";
@@ -125,4 +125,4 @@ export {
125
125
  secretsPhrase,
126
126
  assertWritableTarget
127
127
  };
128
- //# sourceMappingURL=chunk-N6BWB35H.js.map
128
+ //# sourceMappingURL=chunk-ENMBEXOP.js.map
@@ -4,10 +4,12 @@ import {
4
4
  reactPreset
5
5
  } from "./chunk-M6ZFSTIZ.js";
6
6
  import {
7
+ blockVersion,
7
8
  composeBlock,
8
9
  gitattributesSpec,
10
+ htmlDialect,
9
11
  upsertBlock
10
- } from "./chunk-DGWHAVRG.js";
12
+ } from "./chunk-3EDSPMXN.js";
11
13
  import {
12
14
  colorTokens,
13
15
  defaultThemeChoice,
@@ -412,25 +414,45 @@ VITE_XANO_HOST=https://your-instance.xano.io
412
414
  `;
413
415
  }
414
416
  var XANO_BADGE = "[![Built on Xano](https://img.shields.io/badge/built_on-Xano-0055FF)](https://xano.com)";
415
- function renderReadmeLearnMore() {
416
- return `## Learn more
417
+ var README_PATH = "README.md";
418
+ var README_BUILT_WITH_BLOCK = {
419
+ dialect: htmlDialect("xanosdk-built-with"),
420
+ pkg: "xanosdk-built-with",
421
+ file: README_PATH
422
+ };
423
+ var README_BUILT_WITH_BODY = `## Built with
417
424
 
418
- - [Xano SDK guides](https://github.com/xano-sdk/sdk/blob/main/guides/README.md) \u2014 signing in
419
- and deploying, releasing to production, the typed frontend, every CLI command.
420
- - [Xano](https://xano.com) is the platform this app deploys to: the database, APIs, auth,
421
- background tasks, realtime, file storage and AI agents behind \`xano/\`, with
422
- [docs](https://docs.xano.com) and a [community](https://community.xano.com).`;
425
+ - [Xano](https://xano.com) hosts everything under [\`xano/\`](xano/): the database, APIs,
426
+ auth, background tasks, realtime, file storage and AI agents. It runs on your machine as
427
+ the Xano Engine and in the cloud from the same command. [Docs](https://docs.xano.com) \xB7
428
+ [Community](https://community.xano.com)
429
+ - [Xano SDK](https://github.com/xano-sdk/sdk) is the TypeScript the backend is authored in.
430
+ The [guides](https://github.com/xano-sdk/sdk/blob/main/guides/README.md) cover signing in
431
+ and deploying, releasing to production, the typed frontend, and every CLI command.`;
432
+ function renderReadmeBuiltWith(sdkVersion) {
433
+ return composeBlock(README_BUILT_WITH_BLOCK, [README_BUILT_WITH_BODY], sdkVersion);
434
+ }
435
+ function readmeBuiltWithVersion(text) {
436
+ return blockVersion(text, README_BUILT_WITH_BLOCK);
437
+ }
438
+ function refreshReadmeBuiltWith(existing, sdkVersion) {
439
+ return upsertBlock(existing, README_BUILT_WITH_BLOCK, renderReadmeBuiltWith(sdkVersion)).text;
423
440
  }
424
- function renderReadme({ appName, install }, preset, choice = defaultThemeChoice()) {
441
+ function renderReadmeDescriptionSlot(appName) {
442
+ return `_Describe ${appName} here: what it does and who it is for._`;
443
+ }
444
+ function renderReadme({ appName, install, sdkVersion }, preset, choice = defaultThemeChoice()) {
425
445
  return `# ${appName}
426
446
 
427
447
  ${XANO_BADGE}
428
448
 
429
- A full-stack app on [Xano](https://xano.com). The backend is TypeScript under
430
- [\`xano/\`](xano/), authored with the [Xano SDK](https://github.com/xano-sdk/sdk). It runs on
431
- your machine on the **Xano Engine**, and one command deploys it to Xano's cloud. The
449
+ ${renderReadmeDescriptionSlot(appName)}
450
+
451
+ The backend under [\`xano/\`](xano/) is TypeScript, authored with the
452
+ [Xano SDK](https://github.com/xano-sdk/sdk) and running on [Xano](https://xano.com). It runs
453
+ on your machine as the **Xano Engine** and ships to Xano's cloud with the same command. The
432
454
  ${preset.label} frontend under [\`frontend/\`](frontend/) takes its request paths and types
433
- from the backend defs, so the two can't drift.
455
+ from the backend defs rather than hand-typing them.
434
456
 
435
457
  ## Quick start
436
458
 
@@ -529,8 +551,9 @@ export again. Every \`lock\` subcommand finds \`xano/xano.lock\` from the projec
529
551
  ## The one contract
530
552
 
531
553
  [\`frontend/src/lib/api.ts\`](frontend/src/lib/api.ts) takes request paths from
532
- \`xano/routes.gen.ts\` (\`routePath("GET notes/{id}", { id })\`) and request/response
533
- types from the query defs (\`import type\` + \`InferInput\` / \`InferResponse\`).
554
+ \`xano/routes.gen.ts\` (\`routePath("GET notes/{id}", { id })\`), request types from the
555
+ same file (\`RouteInputs["POST create_note"]\`, \`MessageInputs[...]\` for realtime), and
556
+ response types from the query defs (\`import type\` + \`InferResponse\`).
534
557
  Never hand-type a URL or a request body \u2014 change a def and the frontend follows.
535
558
 
536
559
  \`npm run xano:routes\` writes \`xano/routes.gen.ts\` from the defs; \`dev\`, \`build\`
@@ -572,7 +595,7 @@ Xano SDK is composable with other \`@xano-sdk/*\` packages:
572
595
  None of these ship with the scaffold. Install one only when you need it \u2014 an
573
596
  add-on you never register is weight in \`package.json\` for nothing.
574
597
 
575
- ${renderReadmeLearnMore()}
598
+ ${renderReadmeBuiltWith(sdkVersion)}
576
599
  `;
577
600
  }
578
601
  function renderXanoIndex({ appName }) {
@@ -743,8 +766,11 @@ URL or a request body:
743
766
  groups share is keyed \`"<group>:<VERB> <name>"\`). Run
744
767
  \`npm run xano:routes\` after adding or renaming an endpoint (\`dev\`, \`build\` and
745
768
  \`typecheck\` also run it) and commit the file.
746
- - **Shapes** come from the defs with \`import type\` \u2014 \`InferInput\`/\`InferResponse\`
747
- erase to nothing.
769
+ - **Request types** come from the same file: \`RouteInputs["POST create_note"]\`
770
+ (\`ChannelInputs\`/\`MessageInputs\` for realtime). For runtime validation,
771
+ \`npx xanosdk marketplace install zod\` adds zod schemas under the same keys.
772
+ - **Response types** come from the defs with \`import type\` \u2014 \`InferResponse\`
773
+ erases to nothing.
748
774
  - Never import a def as a value in the frontend. Its \`s.*\`/\`c.*\` stack calls run
749
775
  at module load, so one import for its \`getPath()\` pulls the backend graph it
750
776
  references and the SDK runtime into the bundle.
@@ -785,7 +811,7 @@ function renderCodegenMarker({ sdkVersion }, origin, generatedAt, report, files)
785
811
  };
786
812
  return JSON.stringify(files === void 0 ? head : decodeMarkerWith(head, files), null, 2) + "\n";
787
813
  }
788
- function renderCodegenReadme({ appName }, origin, envNames, preset) {
814
+ function renderCodegenReadme({ appName, sdkVersion }, origin, envNames, preset) {
789
815
  const secrets = envNames.length === 0 ? "" : `
790
816
  ## Fill in the backend env values
791
817
 
@@ -814,10 +840,12 @@ cleartext, which is why it is gitignored too.
814
840
 
815
841
  ${XANO_BADGE}
816
842
 
817
- A full-stack app on [Xano](https://xano.com), pulled from
818
- ${describeCommittedOrigin(origin)} with the [Xano SDK](https://github.com/xano-sdk/sdk). The Xano
819
- backend lives in [\`xano/\`](xano/) as readable TypeScript; the ${preset.label} frontend
820
- under [\`frontend/\`](frontend/) is a starter \u2014 the pull carries a backend, not a UI.
843
+ ${renderReadmeDescriptionSlot(appName)}
844
+
845
+ The backend under [\`xano/\`](xano/) is TypeScript pulled from ${describeCommittedOrigin(origin)}
846
+ with the [Xano SDK](https://github.com/xano-sdk/sdk), and runs on [Xano](https://xano.com). The
847
+ ${preset.label} frontend under [\`frontend/\`](frontend/) is a starter \u2014 the pull carries a
848
+ backend, not a UI.
821
849
 
822
850
  ## Run it
823
851
 
@@ -851,13 +879,13 @@ ${secrets}
851
879
  npm run dev # run the starter frontend
852
880
  npm run typecheck # the whole project, both halves
853
881
  npm run xano:export # compile the backend to workspace.json (don't commit it)
854
- npm run xano:routes # regenerate xano/routes.gen.ts, the frontend's paths
882
+ npm run xano:routes # regenerate xano/routes.gen.ts: the frontend's paths and request types
855
883
  \`\`\`
856
884
 
857
885
  [\`frontend/src/lib/api.ts\`](frontend/src/lib/api.ts) shows the one contract: paths
858
- from \`routePath()\` in \`xano/routes.gen.ts\`, types from the query defs in \`xano/\`.
886
+ and request types from \`xano/routes.gen.ts\`, response types from the query defs in \`xano/\`.
859
887
 
860
- ${renderReadmeLearnMore()}
888
+ ${renderReadmeBuiltWith(sdkVersion)}
861
889
  `;
862
890
  }
863
891
  function renderReadmeThemingSection(choice) {
@@ -1107,9 +1135,9 @@ export function cn(...inputs: ClassValue[]) {
1107
1135
  ${extra}`;
1108
1136
  }
1109
1137
  function renderApiTs() {
1110
- return `// The one contract: endpoint paths come from the generated route manifest, and
1111
- // request/response *types* from your xanosdk query defs. Never hand-type a URL
1112
- // or a request body: change a def and everything here follows.
1138
+ return `// The one contract: endpoint paths and request types come from the generated
1139
+ // route manifest, and response *types* from your xanosdk query defs. Never
1140
+ // hand-type a URL or a request body: change a def and everything here follows.
1113
1141
  //
1114
1142
  // Keep the backend out of the browser bundle:
1115
1143
  // \u2022 Paths and verbs: \`routePath()\` / \`ROUTES\` from xano/routes.gen.ts, plain data
@@ -1117,16 +1145,20 @@ function renderApiTs() {
1117
1145
  // regenerate it). Never import a def as a VALUE for its getPath()/verb:
1118
1146
  // its s.*/c.* factory calls run at module load, so one import pulls in the
1119
1147
  // backend graph it references and the SDK runtime that builds it.
1120
- // \u2022 Shapes: \`import type\` only. InferInput/InferResponse erase to nothing.
1148
+ // \u2022 Request types: \`RouteInputs["<VERB> <name>"]\` from the same file
1149
+ // (\`ChannelInputs\` / \`MessageInputs\` for realtime), types only. For
1150
+ // runtime validation, \`npx xanosdk marketplace install zod\` adds zod
1151
+ // schemas under the same keys.
1152
+ // \u2022 Response types: \`import type\` the def. InferResponse erases to nothing.
1121
1153
  //
1122
1154
  // Nothing here imports the manifest yet \u2014 an add-on's endpoints may already be
1123
1155
  // in it. Wire an endpoint (one in xano/, or an add-on's) like:
1124
1156
  //
1125
- // import type { InferInput, InferResponse } from "@xano/sdk";
1157
+ // import type { InferResponse } from "@xano/sdk";
1126
1158
  // import type { createNoteQuery } from "../../../xano/api/create-note.js";
1127
- // import { ROUTES, routePath } from "../../../xano/routes.gen.js";
1159
+ // import { ROUTES, routePath, type RouteInputs } from "../../../xano/routes.gen.js";
1128
1160
  //
1129
- // export type CreateNoteBody = InferInput<typeof createNoteQuery>;
1161
+ // export type CreateNoteBody = RouteInputs["POST create_note"];
1130
1162
  // export type Note = InferResponse<typeof createNoteQuery>;
1131
1163
  //
1132
1164
  // export async function createNote(body: CreateNoteBody): Promise<Note> {
@@ -2013,6 +2045,9 @@ export {
2013
2045
  checkWorkflowPath,
2014
2046
  renderCheckWorkflow,
2015
2047
  renderEnvExample,
2048
+ README_PATH,
2049
+ readmeBuiltWithVersion,
2050
+ refreshReadmeBuiltWith,
2016
2051
  renderReadme,
2017
2052
  renderXanoIndex,
2018
2053
  renderXanoExampleMd,
@@ -2031,4 +2066,4 @@ export {
2031
2066
  allFrontendPresets,
2032
2067
  resolveFrameworkFlag
2033
2068
  };
2034
- //# sourceMappingURL=chunk-57HMNJGB.js.map
2069
+ //# sourceMappingURL=chunk-EQFYOOO6.js.map
@@ -25,11 +25,11 @@ import {
25
25
  isDeadResultItem,
26
26
  isEmptyCustomize,
27
27
  normalize
28
- } from "./chunk-3HOGFGKG.js";
28
+ } from "./chunk-D3KEPRRN.js";
29
29
  import {
30
30
  f,
31
31
  input
32
- } from "./chunk-37FBPMNE.js";
32
+ } from "./chunk-S56YBYMN.js";
33
33
  import {
34
34
  TAGS,
35
35
  auth,
@@ -59,7 +59,7 @@ import {
59
59
  defaultNullable,
60
60
  encodeField,
61
61
  parseMethod
62
- } from "./chunk-4DJTQ6W4.js";
62
+ } from "./chunk-JIKGT7DO.js";
63
63
 
64
64
  // src/codegen/report.ts
65
65
  var AUDIENCE_ORDER = [
@@ -505,11 +505,6 @@ var DecodeContext = class {
505
505
  * for `generate --out`. Only the caller knows the directory.
506
506
  */
507
507
  secretsFile = WORKSPACE_SECRETS_FILE;
508
- /**
509
- * Whether the caller writes that sidecar at all. `--no-secrets` does not, and
510
- * the report has to say so rather than promise a file and a restored gate.
511
- */
512
- writesSecrets = true;
513
508
  /** The barrel's `workspace("…")` name when the payload carries no workspace object. */
514
509
  fallbackWorkspaceName = "workspace";
515
510
  /** The import block of the file currently being generated. */
@@ -2026,4 +2021,4 @@ export {
2026
2021
  decodeTableSchema,
2027
2022
  decodeResponse
2028
2023
  };
2029
- //# sourceMappingURL=chunk-WOGJB2F6.js.map
2024
+ //# sourceMappingURL=chunk-FNLTFOUD.js.map
@@ -7,7 +7,7 @@ import {
7
7
  parsePathParams,
8
8
  queryKind,
9
9
  warnUnboundReturn
10
- } from "./chunk-3IYVHVM6.js";
10
+ } from "./chunk-VJFMUJWZ.js";
11
11
  import {
12
12
  workspaceKind
13
13
  } from "./chunk-6JAEMMZ7.js";
@@ -16,7 +16,7 @@ import {
16
16
  encodeMcpOauth,
17
17
  refuseUnknown,
18
18
  standaloneDefKind
19
- } from "./chunk-SRX6B544.js";
19
+ } from "./chunk-5QMJOE2K.js";
20
20
  import {
21
21
  resolveAuthRef
22
22
  } from "./chunk-45ZUMF4E.js";
@@ -68,7 +68,7 @@ import {
68
68
  registerSpec,
69
69
  resolveEnumValue,
70
70
  throwError
71
- } from "./chunk-JSEVKRVJ.js";
71
+ } from "./chunk-T4LJ5UR2.js";
72
72
  import {
73
73
  assertCanonical,
74
74
  assertStoredName,
@@ -83,7 +83,7 @@ import {
83
83
  encodeExpression,
84
84
  encodeRuntimeCondition,
85
85
  tableKind
86
- } from "./chunk-VZ22VUAS.js";
86
+ } from "./chunk-SLGJIWCY.js";
87
87
  import {
88
88
  brandDef
89
89
  } from "./chunk-ERVIASGL.js";
@@ -99,10 +99,10 @@ import {
99
99
  } from "./chunk-WTPZRR4I.js";
100
100
  import {
101
101
  emitDiagnostic
102
- } from "./chunk-GPI3OWRE.js";
102
+ } from "./chunk-YHB34BN6.js";
103
103
  import {
104
104
  lockKey
105
- } from "./chunk-OKNE3TWU.js";
105
+ } from "./chunk-5KJBWIDZ.js";
106
106
  import {
107
107
  HOSTED_FILE_SCHEME,
108
108
  isHostedFile,
@@ -121,10 +121,10 @@ import {
121
121
  import {
122
122
  impliedInputs,
123
123
  isTriggerObjType
124
- } from "./chunk-7GX445AE.js";
124
+ } from "./chunk-4XHAT7C5.js";
125
125
  import {
126
126
  encodeInput
127
- } from "./chunk-37FBPMNE.js";
127
+ } from "./chunk-S56YBYMN.js";
128
128
  import {
129
129
  barePatternRefusal,
130
130
  c,
@@ -3058,4 +3058,4 @@ export {
3058
3058
  serializeBundle,
3059
3059
  emitBundle
3060
3060
  };
3061
- //# sourceMappingURL=chunk-FV55SRQU.js.map
3061
+ //# sourceMappingURL=chunk-FQ53GTII.js.map
@@ -4,13 +4,16 @@ import {
4
4
  managedBlockVersion,
5
5
  renderAgentsMd,
6
6
  upsertManagedBlock
7
- } from "./chunk-F6IKWAIU.js";
7
+ } from "./chunk-LL7SGTRC.js";
8
8
  import {
9
9
  detectPackageManager
10
- } from "./chunk-WRBKLYSJ.js";
10
+ } from "./chunk-DNBP4GJN.js";
11
11
  import {
12
- allFrontendPresets
13
- } from "./chunk-57HMNJGB.js";
12
+ README_PATH,
13
+ allFrontendPresets,
14
+ readmeBuiltWithVersion,
15
+ refreshReadmeBuiltWith
16
+ } from "./chunk-EQFYOOO6.js";
14
17
  import {
15
18
  allIconLibraries
16
19
  } from "./chunk-M6ZFSTIZ.js";
@@ -18,7 +21,7 @@ import {
18
21
  projectFileCli,
19
22
  projectSdkDir,
20
23
  warn
21
- } from "./chunk-XNZURZ7T.js";
24
+ } from "./chunk-D7BUMOKU.js";
22
25
  import {
23
26
  DEFAULT_DARK_MODE
24
27
  } from "./chunk-TFFGOFVZ.js";
@@ -149,33 +152,49 @@ function appNameFor(projectDir) {
149
152
  }
150
153
  return basename(projectDir);
151
154
  }
155
+ function managedFiles(opts) {
156
+ return [
157
+ {
158
+ path: AGENTS_MD_PATH,
159
+ stampedVersion: managedBlockVersion,
160
+ refreshed: (existing) => {
161
+ const manager = detectPackageManager(opts.projectDir);
162
+ return upsertManagedBlock(
163
+ existing,
164
+ renderAgentsMd(opts.appName ?? appNameFor(opts.projectDir), opts.mode ?? guidanceModeFor(opts.projectDir), {
165
+ version: opts.sdkVersion,
166
+ frontend: opts.frontend ?? detectFrontendGuidance(opts.projectDir),
167
+ cli: projectFileCli(opts.projectDir, manager),
168
+ sdkDir: projectSdkDir(opts.projectDir, manager)
169
+ })
170
+ );
171
+ }
172
+ },
173
+ {
174
+ path: README_PATH,
175
+ stampedVersion: readmeBuiltWithVersion,
176
+ refreshed: (existing) => refreshReadmeBuiltWith(existing, opts.sdkVersion)
177
+ }
178
+ ];
179
+ }
152
180
  function refreshAgentFiles(opts) {
153
181
  const env = opts.env ?? process.env;
154
182
  if (opts.explicit !== true && (isCI(env) || !codingAgentDetected(env))) return [];
155
- const path = AGENTS_MD_PATH;
156
- const absolute = join2(opts.projectDir, path);
157
- if (!existsSync2(absolute)) return [];
183
+ return managedFiles(opts).filter((file) => refreshFile(opts, file)).map((file) => file.path);
184
+ }
185
+ function refreshFile(opts, file) {
186
+ const absolute = join2(opts.projectDir, file.path);
187
+ if (!existsSync2(absolute)) return false;
158
188
  try {
159
189
  const existing = readFileSync2(absolute, "utf8");
160
- if (managedBlockVersion(existing) === null) return [];
161
- const manager = detectPackageManager(opts.projectDir);
162
- const rendered = renderAgentsMd(
163
- opts.appName ?? appNameFor(opts.projectDir),
164
- opts.mode ?? guidanceModeFor(opts.projectDir),
165
- {
166
- version: opts.sdkVersion,
167
- frontend: opts.frontend ?? detectFrontendGuidance(opts.projectDir),
168
- cli: projectFileCli(opts.projectDir, manager),
169
- sdkDir: projectSdkDir(opts.projectDir, manager)
170
- }
171
- );
172
- const updated = upsertManagedBlock(existing, rendered);
173
- if (updated === existing) return [];
190
+ if (file.stampedVersion(existing) === null) return false;
191
+ const updated = file.refreshed(existing);
192
+ if (updated === existing) return false;
174
193
  if (opts.write !== false) writeFileSync(absolute, updated);
175
- return [path];
194
+ return true;
176
195
  } catch (err) {
177
- warn(`could not refresh ${path}: ${err instanceof Error ? err.message : String(err)}`, "agents.refresh-failed");
178
- return [];
196
+ warn(`could not refresh ${file.path}: ${err instanceof Error ? err.message : String(err)}`, "agents.refresh-failed");
197
+ return false;
179
198
  }
180
199
  }
181
200
 
@@ -186,4 +205,4 @@ export {
186
205
  isCI,
187
206
  refreshAgentFiles
188
207
  };
189
- //# sourceMappingURL=chunk-TUEFTRC2.js.map
208
+ //# sourceMappingURL=chunk-FU3VCE5A.js.map