@xano/sdk 1.0.11 → 1.0.13

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 (204) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +13 -12
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-CKLYJRIS.js → agent-file-refresh-DAFGNMQX.js} +9 -9
  5. package/dist/{agent-skill-command-QKQG5NIZ.js → agent-skill-command-6M46ZGOL.js} +34 -34
  6. package/dist/{answer-shape-UMQRXMCX.js → answer-shape-CBUQRSXI.js} +4 -4
  7. package/dist/{backend-dir-V2FELHYM.js → backend-dir-J2J7JNS6.js} +9 -9
  8. package/dist/{backend-slot-TTRNOQF5.js → backend-slot-X5AUX2TT.js} +3 -3
  9. package/dist/bin.js +35 -35
  10. package/dist/{branch-Q7CDJRU6.js → branch-YS2K3VOB.js} +8 -8
  11. package/dist/{branch-commands-ZY2W3ICB.js → branch-commands-BUKVE637.js} +20 -20
  12. package/dist/{chunk-4JKXGPXB.js → chunk-2BHYGUTI.js} +2 -2
  13. package/dist/{chunk-VHV25AAO.js → chunk-373AVIL2.js} +7 -7
  14. package/dist/{chunk-YP76ZCQ5.js → chunk-3RZ4UJWV.js} +3 -3
  15. package/dist/{chunk-TG65NWUR.js → chunk-3ZVSOZZC.js} +2 -2
  16. package/dist/{chunk-76UAME77.js → chunk-4CS4DKQC.js} +2 -2
  17. package/dist/{chunk-KYTQW3YT.js → chunk-5ONWBQ2C.js} +7 -7
  18. package/dist/{chunk-NPW6DSZB.js → chunk-5SMUND4J.js} +6 -6
  19. package/dist/{chunk-B7JRCM2S.js → chunk-5XDKKE5Y.js} +4 -4
  20. package/dist/{chunk-WM7Y3MDE.js → chunk-6HTXQAMG.js} +14 -14
  21. package/dist/{chunk-NHXBKFHG.js → chunk-6OOZJQJK.js} +67 -67
  22. package/dist/{chunk-VJTTTIIB.js → chunk-6QJORUHC.js} +2 -2
  23. package/dist/{chunk-YE7MHW45.js → chunk-7NNLRNXE.js} +4 -4
  24. package/dist/{chunk-6S263KTM.js → chunk-A3CT26GX.js} +2 -2
  25. package/dist/{chunk-ULUUOUQX.js → chunk-AUYXBKGR.js} +2 -2
  26. package/dist/{chunk-4WBZ6T76.js → chunk-BXVNRUDB.js} +3 -3
  27. package/dist/{chunk-6PTITS3M.js → chunk-C4TZP5PQ.js} +5 -5
  28. package/dist/{chunk-3Q43PZGI.js → chunk-CGZSF756.js} +24 -24
  29. package/dist/{chunk-HFOGQIII.js → chunk-CTUIMNEM.js} +2 -2
  30. package/dist/{chunk-C6KBZH7M.js → chunk-D4VKPOD4.js} +2 -2
  31. package/dist/{chunk-HVPSDQJB.js → chunk-DB7P2SSK.js} +3 -3
  32. package/dist/{chunk-GN5SQMIQ.js → chunk-DFCYAEBE.js} +2 -2
  33. package/dist/{chunk-TR7EOUQE.js → chunk-DILYWJVP.js} +2 -2
  34. package/dist/{chunk-HXRXQAZE.js → chunk-DPSR5GRE.js} +43 -43
  35. package/dist/{chunk-ZO3QWFNV.js → chunk-DYGRTWAI.js} +3 -3
  36. package/dist/{chunk-VD7YTLWL.js → chunk-DZUNF7IH.js} +2 -2
  37. package/dist/{chunk-DY3EJWWH.js → chunk-EGEANMMK.js} +2 -2
  38. package/dist/{chunk-HW2JPR5W.js → chunk-EKS7SAZS.js} +40 -40
  39. package/dist/{chunk-ZS7VI7RK.js → chunk-ENAUSLMP.js} +3 -3
  40. package/dist/{chunk-QAY4RW2E.js → chunk-ENBGJJJH.js} +4 -4
  41. package/dist/{chunk-J746QNTP.js → chunk-FBWMKHLO.js} +3 -3
  42. package/dist/{chunk-QXOBZSQD.js → chunk-FLDFKG24.js} +4 -4
  43. package/dist/{chunk-D5NAWB4P.js → chunk-GRWYO2MS.js} +3 -3
  44. package/dist/{chunk-QL3ZJWGG.js → chunk-H5FAYLCR.js} +2 -2
  45. package/dist/{chunk-KSBUHLNF.js → chunk-H6VVSGKN.js} +7 -7
  46. package/dist/{chunk-7JKNWDYN.js → chunk-H7GMGZHI.js} +2 -2
  47. package/dist/{chunk-FGNDJBT4.js → chunk-HDANNK4A.js} +6 -6
  48. package/dist/{chunk-KI6U2GD2.js → chunk-HEMWBHQS.js} +13 -13
  49. package/dist/{chunk-5QOV52V4.js → chunk-I2AVVARA.js} +2 -2
  50. package/dist/{chunk-B3NH5UBI.js → chunk-JKGRQW6D.js} +4 -4
  51. package/dist/{chunk-XQO4A4Q4.js → chunk-K6BQPFRS.js} +3 -3
  52. package/dist/{chunk-NFSUGVDY.js → chunk-M7DIIJPW.js} +4 -4
  53. package/dist/{chunk-4BR5TEXI.js → chunk-MLKJUEG3.js} +21 -21
  54. package/dist/{chunk-C2GHFADU.js → chunk-N3XSXGAL.js} +2 -2
  55. package/dist/{chunk-U4LRDTIM.js → chunk-NMHTB346.js} +8 -8
  56. package/dist/{chunk-4ZTXYT3T.js → chunk-O6PWEJUV.js} +8 -8
  57. package/dist/{chunk-S42TFTM5.js → chunk-OBRMA2VK.js} +3 -3
  58. package/dist/{chunk-3UZQ5TMG.js → chunk-OCNTMJSY.js} +3 -3
  59. package/dist/{chunk-IB6SKACE.js → chunk-P5JF3U65.js} +4 -4
  60. package/dist/{chunk-AM5T76NQ.js → chunk-P6HXDOFG.js} +13 -13
  61. package/dist/{chunk-75MKIQON.js → chunk-PCHIHVX6.js} +4 -4
  62. package/dist/{chunk-PBK257CI.js → chunk-POZ6V4MU.js} +2 -2
  63. package/dist/{chunk-VTZF3ZNR.js → chunk-QWWQM4XZ.js} +7 -7
  64. package/dist/{chunk-QC3MKMDK.js → chunk-R7XZW4SB.js} +2 -2
  65. package/dist/{chunk-KDPXO5PO.js → chunk-RAGFXELQ.js} +5 -5
  66. package/dist/{chunk-DRWUMFSP.js → chunk-RQHXYL77.js} +3 -3
  67. package/dist/{chunk-OBJ7FQDX.js → chunk-RZABQ4YH.js} +2 -2
  68. package/dist/{chunk-KCCZCIDJ.js → chunk-SBS2IYTN.js} +3 -3
  69. package/dist/{chunk-LYN3XNDE.js → chunk-TANWE2ZY.js} +102 -122
  70. package/dist/{chunk-NU7EME32.js → chunk-U4BGBU3R.js} +27 -27
  71. package/dist/{chunk-SFOUFU4C.js → chunk-U4DSFCH5.js} +55 -5
  72. package/dist/{chunk-UUYKEIHP.js → chunk-UDCKYLBW.js} +4 -4
  73. package/dist/{chunk-D2PSNKZD.js → chunk-UECNKDDA.js} +8 -8
  74. package/dist/{chunk-R4NOZBOY.js → chunk-UFFIU57H.js} +4 -4
  75. package/dist/{chunk-RNKP5TA2.js → chunk-UKC65HBQ.js} +4 -4
  76. package/dist/{chunk-R3LANPQZ.js → chunk-VA4JK4TW.js} +3 -3
  77. package/dist/{chunk-I5XSXMJQ.js → chunk-VFRL4G72.js} +3 -3
  78. package/dist/{chunk-3BI62SPQ.js → chunk-W5MKVFBQ.js} +4 -4
  79. package/dist/{chunk-YKCDUHBR.js → chunk-WQZCFVAD.js} +5 -5
  80. package/dist/{chunk-HQPL34O6.js → chunk-XFQAA2SU.js} +2 -2
  81. package/dist/{chunk-SNKABK5L.js → chunk-XL7EA62X.js} +5 -5
  82. package/dist/{chunk-H3ZBAR2L.js → chunk-XM56DAM7.js} +8 -8
  83. package/dist/{chunk-PFW7WFAT.js → chunk-XVOODRNK.js} +4 -4
  84. package/dist/{chunk-FDPW2M3S.js → chunk-XYVPF63S.js} +8 -8
  85. package/dist/{chunk-7MPI7NIW.js → chunk-YJK4NPXC.js} +3 -3
  86. package/dist/{chunk-64ODZADR.js → chunk-ZACMAKZE.js} +13 -13
  87. package/dist/{chunk-7FPFYYCW.js → chunk-ZGNWMGN3.js} +7 -7
  88. package/dist/{chunk-7YSZSEZL.js → chunk-ZISPEBNM.js} +6 -3
  89. package/dist/{chunk-FNA5CUVN.js → chunk-ZSMHS7BU.js} +4 -4
  90. package/dist/cli.js +33 -33
  91. package/dist/{codegen-command-6AB3REIV.js → codegen-command-BAFON45M.js} +47 -47
  92. package/dist/{commands-FOHIPDKZ.js → commands-IFRAGWGK.js} +2 -2
  93. package/dist/{completion-XUBGMKGV.js → completion-RTXCODHS.js} +2 -2
  94. package/dist/{config-544VCRKP.js → config-EHFXNFSP.js} +3 -3
  95. package/dist/{deploy-command-LRJBO4LX.js → deploy-command-JW7R3BPW.js} +40 -40
  96. package/dist/{deploy-source-JTPMMO3B.js → deploy-source-ZUPLAL7L.js} +25 -25
  97. package/dist/{dev-env-sync-ODJYGSWT.js → dev-env-sync-W7OTV7OD.js} +34 -34
  98. package/dist/{display-name-hint-EZQK2PDU.js → display-name-hint-BKPMISQU.js} +10 -10
  99. package/dist/{env-example-refresh-DR44A6YZ.js → env-example-refresh-TS7WBVZQ.js} +48 -48
  100. package/dist/{env-pull-command-47XQO5J2.js → env-pull-command-5IYXQ2WK.js} +35 -35
  101. package/dist/{env-target-HBY2LQUA.js → env-target-TQBPLU2S.js} +9 -9
  102. package/dist/{env-var-command-HTKKTBOC.js → env-var-command-AKCWYZPB.js} +35 -35
  103. package/dist/{ephemeral-H24NF6WP.js → ephemeral-CART6DIR.js} +8 -8
  104. package/dist/{ephemeral-command-T5EFYCEY.js → ephemeral-command-SJYH6XRS.js} +36 -36
  105. package/dist/{ephemeral-state-YLZQIOBF.js → ephemeral-state-HPKSKC4Y.js} +7 -7
  106. package/dist/{generate-command-36OWZF23.js → generate-command-FSCFZPOJ.js} +52 -52
  107. package/dist/{gitignore-NLLQURLD.js → gitignore-6IJ66XME.js} +13 -13
  108. package/dist/{impersonate-command-HJYBQV6X.js → impersonate-command-IH4HMSS3.js} +31 -31
  109. package/dist/{import-TXYVFYJS.js → import-RUBCGLCA.js} +4 -4
  110. package/dist/{init-command-54M3AA27.js → init-command-STB4YSAK.js} +38 -38
  111. package/dist/{init-modules-MVULNRKR.js → init-modules-YIZYPCMM.js} +7 -7
  112. package/dist/{init-web-MSXDARRF.js → init-web-OGKACAOC.js} +2 -2
  113. package/dist/internal.js +5 -5
  114. package/dist/{keep-data-merge-Y6PYJOPW.js → keep-data-merge-VRKS64JK.js} +18 -18
  115. package/dist/{landing-record-LBJMKORB.js → landing-record-5EFK7RI6.js} +15 -15
  116. package/dist/{local-engine-choice-SXSWNCZT.js → local-engine-choice-TRTEJVMV.js} +28 -28
  117. package/dist/{local-engine-command-3GICPJPL.js → local-engine-command-2FK2PE2P.js} +33 -33
  118. package/dist/{local-engine-deploy-ID4JJXB5.js → local-engine-deploy-ZZVHBI2X.js} +11 -11
  119. package/dist/{local-engine-lookup-IC7BKAYP.js → local-engine-lookup-QFRKO35F.js} +2 -2
  120. package/dist/{local-engine-mcp-bridge-3SOJMZ5T.js → local-engine-mcp-bridge-T2EFRRAF.js} +4 -4
  121. package/dist/{local-engine-mcp-command-ZUS7LQ7F.js → local-engine-mcp-command-FB7EOGG6.js} +35 -35
  122. package/dist/{local-engine-process-HG5BGG3F.js → local-engine-process-XH35DURU.js} +6 -6
  123. package/dist/{local-engine-update-check-SKZR7YSC.js → local-engine-update-check-HAXE7BVG.js} +4 -4
  124. package/dist/{lock-commands-PTBKQE72.js → lock-commands-7PBZIRWR.js} +38 -38
  125. package/dist/{login-command-HH4FA65C.js → login-command-2O6GRMTH.js} +21 -21
  126. package/dist/{logout-command-WPUWLZSW.js → logout-command-RZXGW3O2.js} +12 -12
  127. package/dist/{marketplace-command-ISG2U5NA.js → marketplace-command-NCMLGIMS.js} +28 -28
  128. package/dist/{marketplace-resolve-PWEYJ2XS.js → marketplace-resolve-HPCRNV5O.js} +5 -5
  129. package/dist/{meta-client-P7E6PCB7.js → meta-client-DYYM5F5G.js} +10 -10
  130. package/dist/{module-manifest-KY7J63HG.js → module-manifest-EFE6JBZW.js} +3 -3
  131. package/dist/node.js +35 -35
  132. package/dist/{operation-outcome-2Z6II4HB.js → operation-outcome-SHNROAFA.js} +19 -19
  133. package/dist/{output-target-MWYZ5HYN.js → output-target-PSSR3E4N.js} +14 -14
  134. package/dist/{plan-disclosure-PQAXSAUH.js → plan-disclosure-WEMB5ZJ2.js} +11 -11
  135. package/dist/{plugin-contributions-PAGG6SUP.js → plugin-contributions-U5PAZKBE.js} +4 -4
  136. package/dist/{plugin-prompt-2MX6LF6X.js → plugin-prompt-O5PAMV5B.js} +4 -4
  137. package/dist/{plugin-questions-AP6VUTOB.js → plugin-questions-ZVYNKDRB.js} +3 -3
  138. package/dist/plugin.d.ts +2 -1
  139. package/dist/{preflight-command-6LCPYVTV.js → preflight-command-6F7JF3YQ.js} +42 -42
  140. package/dist/{profile-command-74AR3FB7.js → profile-command-5AOGD6GV.js} +22 -22
  141. package/dist/{profile-pointer-4HJQH5ZR.js → profile-pointer-VTOZDBHM.js} +3 -3
  142. package/dist/{project-dependency-ORX45I74.js → project-dependency-EZNTHMWI.js} +6 -6
  143. package/dist/{project-sdk-IYMFVQRC.js → project-sdk-ZGJM4WYQ.js} +3 -3
  144. package/dist/{promote-command-YD3YQWJG.js → promote-command-O2NRRFLK.js} +57 -57
  145. package/dist/{prompt-ZZUYWFQX.js → prompt-F7UVH4GP.js} +3 -3
  146. package/dist/{publish-command-7VKTBVVP.js → publish-command-6VVSJPLI.js} +43 -43
  147. package/dist/{pull-command-XIYO7WTF.js → pull-command-GE2WUEUF.js} +50 -50
  148. package/dist/{pull-superseded-UZ3MB53B.js → pull-superseded-77UZ7CHH.js} +3 -3
  149. package/dist/{release-command-NADSTRM2.js → release-command-55RTR674.js} +46 -46
  150. package/dist/{release-ns-command-2VUTJ4A6.js → release-ns-command-5XPZ2B6N.js} +65 -65
  151. package/dist/{retry-command-VZYLYDVX.js → retry-command-S5QALD5Z.js} +7 -7
  152. package/dist/{routes-manifest-Z7I4TZIL.js → routes-manifest-ET2TTSCL.js} +12 -2
  153. package/dist/{routes-manifest-file-BDJ6XQXF.js → routes-manifest-file-42FTJHRY.js} +5 -5
  154. package/dist/{secrets-file-KBMEY2SS.js → secrets-file-N5IF265R.js} +13 -13
  155. package/dist/{secrets-fill-command-YUAJSOZW.js → secrets-fill-command-35WKBURT.js} +37 -37
  156. package/dist/{seed-KEPIS7UZ.js → seed-5YLQRT2D.js} +3 -3
  157. package/dist/{source-resolve-KB7NWL3I.js → source-resolve-JXGOVJD3.js} +17 -17
  158. package/dist/{static-host-JAOT3N3E.js → static-host-TQP3FXPI.js} +4 -4
  159. package/dist/{status-command-YRIB6UJP.js → status-command-G3DFRMU7.js} +32 -32
  160. package/dist/{store-YFNDD6GZ.js → store-ZE5BXCOW.js} +5 -5
  161. package/dist/{sync-contributions-LMLYV7VL.js → sync-contributions-7T4CSPVQ.js} +8 -8
  162. package/dist/{sync-record-U65BCPSP.js → sync-record-ILWS44DG.js} +9 -9
  163. package/dist/{table-E5YTK7QX.js → table-V3LTQUY6.js} +5 -5
  164. package/dist/{tables-command-IONX4ZF2.js → tables-command-7NUOZBHX.js} +30 -30
  165. package/dist/{tenant-DAXJ4P4D.js → tenant-7WUS7Q6V.js} +9 -9
  166. package/dist/{tenant-command-635Y2YCR.js → tenant-command-JGEHRKN7.js} +67 -67
  167. package/dist/{test-command-CN76VVUK.js → test-command-2LNEA6GK.js} +30 -30
  168. package/dist/{tests-CLDZWLKF.js → tests-ENFUACKD.js} +5 -5
  169. package/dist/{token-WL7SSK64.js → token-DWNH44NW.js} +8 -8
  170. package/dist/{toolchain-hooks-VI2WOPST.js → toolchain-hooks-QIFGPGH2.js} +4 -4
  171. package/dist/{toolchain-modules-OXUU342N.js → toolchain-modules-F4DUMWTO.js} +4 -4
  172. package/dist/{toolchain-peers-AIKWKJH7.js → toolchain-peers-K44IINPG.js} +7 -7
  173. package/dist/{tracked-backend-ON5V2RBJ.js → tracked-backend-ZFXVLBBJ.js} +28 -28
  174. package/dist/{update-check-I75SHTAD.js → update-check-KBHT63GJ.js} +36 -36
  175. package/dist/{upgrade-command-2J7P5NSX.js → upgrade-command-CI543AZP.js} +38 -38
  176. package/dist/{whoami-command-HJJK2QJS.js → whoami-command-77DXENWD.js} +11 -11
  177. package/dist/{workspace-7QVUA7HI.js → workspace-RI5C77BZ.js} +4 -4
  178. package/dist/{workspace-binding-D7HZTF7N.js → workspace-binding-PR57NBGH.js} +10 -10
  179. package/dist/{workspace-command-KXTR5SOE.js → workspace-command-6HHVFQKW.js} +61 -61
  180. package/dist/{workspace-env-RASIOYSN.js → workspace-env-2APJEASO.js} +10 -10
  181. package/dist/{workspace-export-UHY22VBI.js → workspace-export-GHMUSX2P.js} +4 -4
  182. package/dist/{writable-2A6MBSFD.js → writable-Y6CE2CGK.js} +3 -3
  183. package/dist/{xanosdk-import-767BQ2HP.js → xanosdk-import-HBQH3ZBS.js} +5 -5
  184. package/dist/{xanosdk-project-PETOFVUQ.js → xanosdk-project-W45IR3Q7.js} +11 -11
  185. package/guides/authoring.md +13 -7
  186. package/guides/bundle.md +1 -1
  187. package/guides/cli.md +29 -19
  188. package/guides/codegen.md +3 -2
  189. package/guides/codes.md +2 -2
  190. package/guides/coverage.md +4 -3
  191. package/guides/deploying.md +17 -10
  192. package/guides/environment.md +12 -12
  193. package/guides/marketplace.md +12 -6
  194. package/guides/module-contract.md +11 -6
  195. package/guides/object-kinds.md +8 -5
  196. package/guides/scaffold.md +24 -12
  197. package/guides/typed-frontend.md +20 -5
  198. package/llms/kinds-knowledge.md +2 -2
  199. package/llms/object-kinds.md +2 -2
  200. package/llms-full.txt +6 -6
  201. package/llms.txt +2 -2
  202. package/manifest.json +3 -3
  203. package/package.json +1 -1
  204. package/skills/xano-backend/SKILL.md +2 -2
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  assertOneName,
3
3
  noteRunArgs
4
- } from "./chunk-XQO4A4Q4.js";
4
+ } from "./chunk-K6BQPFRS.js";
5
5
  import {
6
6
  WORKSPACE_ENV_FILE,
7
7
  classifyEnv,
@@ -10,13 +10,13 @@ import {
10
10
  namesInEnvExample,
11
11
  parseEnvFile,
12
12
  readWorkspaceEnvFile
13
- } from "./chunk-QAY4RW2E.js";
13
+ } from "./chunk-ENBGJJJH.js";
14
14
  import {
15
15
  readTrackedBackend
16
- } from "./chunk-KI6U2GD2.js";
16
+ } from "./chunk-HEMWBHQS.js";
17
17
  import {
18
18
  isExpired
19
- } from "./chunk-PFW7WFAT.js";
19
+ } from "./chunk-XVOODRNK.js";
20
20
  import {
21
21
  readLockFile,
22
22
  readLockFileReport,
@@ -24,28 +24,28 @@ import {
24
24
  } from "./chunk-CJDPSCMX.js";
25
25
  import {
26
26
  isCI
27
- } from "./chunk-DRWUMFSP.js";
27
+ } from "./chunk-RQHXYL77.js";
28
28
  import {
29
29
  backendSlotForFlag,
30
30
  slotValueMissing
31
- } from "./chunk-VD7YTLWL.js";
31
+ } from "./chunk-DZUNF7IH.js";
32
32
  import {
33
33
  defaultWorkspaceSecretsPath,
34
34
  readSecretsFile
35
- } from "./chunk-UUYKEIHP.js";
35
+ } from "./chunk-UDCKYLBW.js";
36
36
  import {
37
37
  allLandings,
38
38
  getEnvironment,
39
39
  readEphemeralState
40
- } from "./chunk-S42TFTM5.js";
40
+ } from "./chunk-OBRMA2VK.js";
41
41
  import {
42
42
  isUnwritableError,
43
43
  unwritableError
44
- } from "./chunk-ULUUOUQX.js";
44
+ } from "./chunk-AUYXBKGR.js";
45
45
  import {
46
46
  contextFlags,
47
47
  setHintContext
48
- } from "./chunk-6S263KTM.js";
48
+ } from "./chunk-A3CT26GX.js";
49
49
  import {
50
50
  expandHome
51
51
  } from "./chunk-EUUUMY7J.js";
@@ -56,7 +56,7 @@ import {
56
56
  inCredentialScope,
57
57
  lastResolvedAuth,
58
58
  pinnedWorkspaceMissed
59
- } from "./chunk-TR7EOUQE.js";
59
+ } from "./chunk-DILYWJVP.js";
60
60
  import {
61
61
  buildSeedContentFiles,
62
62
  collectNonPublicSeedValues,
@@ -64,7 +64,7 @@ import {
64
64
  hostedFileResolver,
65
65
  isMissingFile,
66
66
  registerSeedHostedFiles
67
- } from "./chunk-GN5SQMIQ.js";
67
+ } from "./chunk-DFCYAEBE.js";
68
68
  import {
69
69
  holdsProjectManifest,
70
70
  projectRootFrom
@@ -135,7 +135,7 @@ import {
135
135
  warn,
136
136
  withCliPrefix,
137
137
  writeJson
138
- } from "./chunk-C6KBZH7M.js";
138
+ } from "./chunk-D4VKPOD4.js";
139
139
  import {
140
140
  KNOWLEDGE_DIR,
141
141
  KNOWLEDGE_FILE,
@@ -2552,7 +2552,7 @@ async function tsxRemedy(file) {
2552
2552
  );
2553
2553
  if (!declared) return fallback;
2554
2554
  const { detectPackageManager } = await import("./package-manager-K762W7XT.js");
2555
- const { inProject } = await import("./init-modules-MVULNRKR.js");
2555
+ const { inProject } = await import("./init-modules-YIZYPCMM.js");
2556
2556
  return `This project's package.json declares it, but its dependencies are not installed \u2014 run \`${inProject(dir)}${detectPackageManager(dir)} install\` first.`;
2557
2557
  }
2558
2558
  if (dirname2(dir) === dir) return fallback;
@@ -3173,7 +3173,7 @@ async function explainUnreachableWorkspace(err) {
3173
3173
  let verdict = unreachableVerdicts.get(auth);
3174
3174
  if (verdict === void 0) {
3175
3175
  verdict = (async () => {
3176
- const { readReachableWorkspaces, unreachableWorkspaceMessage } = await import("./workspace-binding-D7HZTF7N.js");
3176
+ const { readReachableWorkspaces, unreachableWorkspaceMessage } = await import("./workspace-binding-PR57NBGH.js");
3177
3177
  const all = await readReachableWorkspaces(auth, 15e3);
3178
3178
  if (all === void 0 || all.length === 0 || all.some((w) => w.id === auth.workspaceId)) return void 0;
3179
3179
  return new UsageError(unreachableWorkspaceMessage(auth, all));
@@ -3187,7 +3187,7 @@ async function explainRejectedCredential(err) {
3187
3187
  if (!(err instanceof Error) || resolved === void 0) return err;
3188
3188
  const [first = "", ...rest] = err.message.split("\n");
3189
3189
  if (!/\(401\b[^)]*\)|\banswered (HTTP )?401\b/.test(first) || /\brejected\b/.test(err.message)) return err;
3190
- const { asRejectedCredential, rejectedRemedy } = await import("./whoami-command-HJJK2QJS.js");
3190
+ const { asRejectedCredential, rejectedRemedy } = await import("./whoami-command-77DXENWD.js");
3191
3191
  const { auth, args } = resolved;
3192
3192
  err.message = [first, rejectedRemedy(auth, args), ...rest].join("\n");
3193
3193
  if (failureCode(err) === "SDK_ERROR") asRejectedCredential(err, auth, args);
@@ -3225,10 +3225,10 @@ function withoutSecretValue(args) {
3225
3225
  }
3226
3226
  async function nameLookupRerun(failure) {
3227
3227
  if (!(failure instanceof Error) || runArgs?.argv === void 0) return failure;
3228
- const { LookupFailedError, rateLimitedFailure } = await import("./source-resolve-KB7NWL3I.js");
3228
+ const { LookupFailedError, rateLimitedFailure } = await import("./source-resolve-JXGOVJD3.js");
3229
3229
  const err = rateLimitedFailure(failure);
3230
3230
  if (!(err instanceof LookupFailedError)) return err;
3231
- const { retryCommand, withheldNote } = await import("./deploy-command-LRJBO4LX.js");
3231
+ const { retryCommand, withheldNote } = await import("./deploy-command-JW7R3BPW.js");
3232
3232
  if (runArgs.command === "env" && runArgs.subcommand === "set") {
3233
3233
  const retry2 = retryCommand(withoutSecretValue(runArgs));
3234
3234
  return err.withRerun(
@@ -3283,7 +3283,7 @@ function isPathlessRun(args) {
3283
3283
  return PATHLESS_COMMANDS.has(command) || PATHLESS_VERBS[command]?.has(args.subcommand ?? "") === true;
3284
3284
  }
3285
3285
  async function atProjectRoot(args, command, positional) {
3286
- const { enterProjectRoot } = await import("./xanosdk-project-PETOFVUQ.js");
3286
+ const { enterProjectRoot } = await import("./xanosdk-project-W45IR3Q7.js");
3287
3287
  const entered = enterProjectRoot(args, process.cwd(), positional);
3288
3288
  if (entered === void 0) return command(args);
3289
3289
  if (isPathlessRun(args)) {
@@ -3384,7 +3384,7 @@ async function dispatch(rawArgv) {
3384
3384
  if (typed[0] === "init") {
3385
3385
  const web = typed.indexOf("--web", 1);
3386
3386
  if (web !== -1) {
3387
- const { runInitWebCommand } = await import("./init-web-MSXDARRF.js");
3387
+ const { runInitWebCommand } = await import("./init-web-OGKACAOC.js");
3388
3388
  return runInitWebCommand([...typed.slice(1, web), ...typed.slice(web + 1)]);
3389
3389
  }
3390
3390
  }
@@ -3402,7 +3402,7 @@ async function dispatch(rawArgv) {
3402
3402
  throw unknownSubcommand(helpRequest.command, helpRequest.unknownSubcommand, helpRequest.positionals ?? []);
3403
3403
  }
3404
3404
  if (argv.includes("--json")) {
3405
- const { helpDocument } = await import("./commands-FOHIPDKZ.js");
3405
+ const { helpDocument } = await import("./commands-IFRAGWGK.js");
3406
3406
  writeJson({ version: readVersion(), ...helpDocument(helpRequest) });
3407
3407
  return;
3408
3408
  }
@@ -3423,7 +3423,7 @@ async function dispatch(rawArgv) {
3423
3423
  setHintContext(args);
3424
3424
  runArgs = args;
3425
3425
  noteRunArgs(args);
3426
- if (isMachineOutput(args)) (await import("./update-check-I75SHTAD.js")).routeUpdateNoticeToDocument();
3426
+ if (isMachineOutput(args)) (await import("./update-check-KBHT63GJ.js")).routeUpdateNoticeToDocument();
3427
3427
  const { command } = args;
3428
3428
  const out = args.out === "-" ? void 0 : args.out;
3429
3429
  if (command === void 0) {
@@ -3444,11 +3444,11 @@ async function dispatch(rawArgv) {
3444
3444
  return;
3445
3445
  }
3446
3446
  if (command === "init") {
3447
- const { runInitCommand } = await import("./init-command-54M3AA27.js");
3447
+ const { runInitCommand } = await import("./init-command-STB4YSAK.js");
3448
3448
  return runInitCommand(args);
3449
3449
  }
3450
3450
  if (command === "completion") {
3451
- const { isCompletionShell, runCompletionCommand, COMPLETION_SHELLS, UNSUPPORTED_SHELLS } = await import("./completion-XUBGMKGV.js");
3451
+ const { isCompletionShell, runCompletionCommand, COMPLETION_SHELLS, UNSUPPORTED_SHELLS } = await import("./completion-RTXCODHS.js");
3452
3452
  const shell = args.positionals[0];
3453
3453
  if (shell === void 0) throw missingArgument("shell", { command: "completion" });
3454
3454
  if (!isCompletionShell(shell)) {
@@ -3467,115 +3467,115 @@ async function dispatch(rawArgv) {
3467
3467
  return runCompletionCommand(shell);
3468
3468
  }
3469
3469
  if (command === "agent-skill") {
3470
- const { runAgentSkillCommand } = await import("./agent-skill-command-QKQG5NIZ.js");
3470
+ const { runAgentSkillCommand } = await import("./agent-skill-command-6M46ZGOL.js");
3471
3471
  return runAgentSkillCommand(args);
3472
3472
  }
3473
3473
  if (command === "upgrade") {
3474
- const { runUpgradeCommand } = await import("./upgrade-command-2J7P5NSX.js");
3474
+ const { runUpgradeCommand } = await import("./upgrade-command-CI543AZP.js");
3475
3475
  return runUpgradeCommand(args);
3476
3476
  }
3477
3477
  if (command === "lock") {
3478
- const { runLockCommand } = await import("./lock-commands-PTBKQE72.js");
3478
+ const { runLockCommand } = await import("./lock-commands-7PBZIRWR.js");
3479
3479
  const verb = args.positionals[0];
3480
- const { isProjectDir } = await import("./xanosdk-project-PETOFVUQ.js");
3480
+ const { isProjectDir } = await import("./xanosdk-project-W45IR3Q7.js");
3481
3481
  const here = verb !== "prune" && args.lockPath === void 0 && args.entryPath === void 0 && existsSync2("xano.lock") && !isProjectDir(process.cwd()) ? { ...args, lockPath: "xano.lock" } : args;
3482
3482
  return atProjectRoot(here, runLockCommand, verb === "prune" || verb === "import" ? "verb-path" : void 0);
3483
3483
  }
3484
3484
  if (command === "login") {
3485
- const { runLoginCommand } = await import("./login-command-HH4FA65C.js");
3485
+ const { runLoginCommand } = await import("./login-command-2O6GRMTH.js");
3486
3486
  return runLoginCommand(args);
3487
3487
  }
3488
3488
  if (command === "logout") {
3489
- const { runLogoutCommand } = await import("./logout-command-WPUWLZSW.js");
3489
+ const { runLogoutCommand } = await import("./logout-command-RZXGW3O2.js");
3490
3490
  return runLogoutCommand(args);
3491
3491
  }
3492
3492
  if (command === "deploy") {
3493
- const { runDeployCommand } = await import("./deploy-command-LRJBO4LX.js");
3493
+ const { runDeployCommand } = await import("./deploy-command-JW7R3BPW.js");
3494
3494
  return atProjectRoot(args, runDeployCommand, entryPositional(args));
3495
3495
  }
3496
3496
  if (command === "ephemeral") {
3497
- const { runEphemeralCommand } = await import("./ephemeral-command-T5EFYCEY.js");
3497
+ const { runEphemeralCommand } = await import("./ephemeral-command-SJYH6XRS.js");
3498
3498
  return atProjectRoot(args, runEphemeralCommand);
3499
3499
  }
3500
3500
  if (command === "local") {
3501
- const { runLocalEngineCommand } = await import("./local-engine-command-3GICPJPL.js");
3501
+ const { runLocalEngineCommand } = await import("./local-engine-command-2FK2PE2P.js");
3502
3502
  const readsProject = ["token", "stop", "update", "mcp"].includes(args.subcommand ?? "");
3503
3503
  return readsProject ? atProjectRoot(args, runLocalEngineCommand) : runLocalEngineCommand(args);
3504
3504
  }
3505
3505
  if (command === "env") {
3506
3506
  if (args.subcommand === "set" || args.subcommand === "unset") {
3507
- const { runEnvVarCommand } = await import("./env-var-command-HTKKTBOC.js");
3507
+ const { runEnvVarCommand } = await import("./env-var-command-AKCWYZPB.js");
3508
3508
  return atProjectRoot(args, (a) => runEnvVarCommand(a, args.subcommand));
3509
3509
  }
3510
3510
  if (args.subcommand !== "pull") throw unknownSubcommand("env", args.subcommand);
3511
- const { runEnvPullCommand } = await import("./env-pull-command-47XQO5J2.js");
3511
+ const { runEnvPullCommand } = await import("./env-pull-command-5IYXQ2WK.js");
3512
3512
  return atProjectRoot(args, runEnvPullCommand);
3513
3513
  }
3514
3514
  if (command === "secrets") {
3515
3515
  if (args.subcommand !== "fill") throw unknownSubcommand("secrets", args.subcommand);
3516
- const { runSecretsFillCommand } = await import("./secrets-fill-command-YUAJSOZW.js");
3516
+ const { runSecretsFillCommand } = await import("./secrets-fill-command-35WKBURT.js");
3517
3517
  return atProjectRoot(args, runSecretsFillCommand, entryPositional(args));
3518
3518
  }
3519
3519
  if (command === "release") {
3520
- const { runReleaseCommand: runReleaseNs } = await import("./release-ns-command-2VUTJ4A6.js");
3520
+ const { runReleaseCommand: runReleaseNs } = await import("./release-ns-command-5XPZ2B6N.js");
3521
3521
  return atProjectRoot(args, runReleaseNs);
3522
3522
  }
3523
3523
  if (command === "pull") {
3524
- const { runPullCommand } = await import("./pull-command-XIYO7WTF.js");
3524
+ const { runPullCommand } = await import("./pull-command-GE2WUEUF.js");
3525
3525
  const first = args.positionals[0];
3526
3526
  const file = first !== void 0 && !isKindShaped(first) && (/\.json$/i.test(first) || /[\\/]/.test(first));
3527
3527
  return file ? runPullCommand(args) : atProjectRoot(args, runPullCommand);
3528
3528
  }
3529
3529
  if (command === "generate") {
3530
- const { runGenerateCommand } = await import("./generate-command-36OWZF23.js");
3530
+ const { runGenerateCommand } = await import("./generate-command-FSCFZPOJ.js");
3531
3531
  return runGenerateCommand(args);
3532
3532
  }
3533
3533
  if (command === "tables") {
3534
- const { runTablesCommand } = await import("./tables-command-IONX4ZF2.js");
3534
+ const { runTablesCommand } = await import("./tables-command-7NUOZBHX.js");
3535
3535
  return atProjectRoot(args, runTablesCommand);
3536
3536
  }
3537
3537
  if (command === "impersonate") {
3538
- const { runImpersonateCommand } = await import("./impersonate-command-HJYBQV6X.js");
3538
+ const { runImpersonateCommand } = await import("./impersonate-command-IH4HMSS3.js");
3539
3539
  return atProjectRoot(args, runImpersonateCommand);
3540
3540
  }
3541
3541
  if (command === "promote") {
3542
- const { runPromoteCommand } = await import("./promote-command-YD3YQWJG.js");
3542
+ const { runPromoteCommand } = await import("./promote-command-O2NRRFLK.js");
3543
3543
  return atProjectRoot(args, runPromoteCommand);
3544
3544
  }
3545
3545
  if (command === "publish") {
3546
- const { runPublishCommand } = await import("./publish-command-7VKTBVVP.js");
3546
+ const { runPublishCommand } = await import("./publish-command-6VVSJPLI.js");
3547
3547
  return atProjectRoot(args, runPublishCommand, "path");
3548
3548
  }
3549
3549
  if (command === "tenant") {
3550
- const { runTenantCommand } = await import("./tenant-command-635Y2YCR.js");
3550
+ const { runTenantCommand } = await import("./tenant-command-JGEHRKN7.js");
3551
3551
  return atProjectRoot(args, runTenantCommand);
3552
3552
  }
3553
3553
  if (command === "test") {
3554
- const { runTestCommand } = await import("./test-command-CN76VVUK.js");
3554
+ const { runTestCommand } = await import("./test-command-2LNEA6GK.js");
3555
3555
  return atProjectRoot(args, runTestCommand);
3556
3556
  }
3557
3557
  if (command === "workspace") {
3558
- const { runWorkspaceCommand } = await import("./workspace-command-KXTR5SOE.js");
3558
+ const { runWorkspaceCommand } = await import("./workspace-command-6HHVFQKW.js");
3559
3559
  return runWorkspaceCommand(args);
3560
3560
  }
3561
3561
  if (command === "status") {
3562
- const { runStatusCommand } = await import("./status-command-YRIB6UJP.js");
3562
+ const { runStatusCommand } = await import("./status-command-G3DFRMU7.js");
3563
3563
  return runStatusCommand(args);
3564
3564
  }
3565
3565
  if (command === "whoami") {
3566
- const { runWhoamiCommand } = await import("./whoami-command-HJJK2QJS.js");
3566
+ const { runWhoamiCommand } = await import("./whoami-command-77DXENWD.js");
3567
3567
  return runWhoamiCommand(args);
3568
3568
  }
3569
3569
  if (command === "profile") {
3570
- const { runProfileCommand } = await import("./profile-command-74AR3FB7.js");
3570
+ const { runProfileCommand } = await import("./profile-command-5AOGD6GV.js");
3571
3571
  return runProfileCommand(args);
3572
3572
  }
3573
3573
  if (command === "marketplace") {
3574
3574
  if (!["list", "search", "details", "install", "reinstall", "remove"].includes(args.subcommand ?? "")) {
3575
3575
  throw unknownSubcommand("marketplace", args.subcommand);
3576
3576
  }
3577
- const marketplace = await import("./marketplace-command-ISG2U5NA.js");
3578
- const { withCatalogueRerun } = await import("./marketplace-resolve-PWEYJ2XS.js");
3577
+ const marketplace = await import("./marketplace-command-NCMLGIMS.js");
3578
+ const { withCatalogueRerun } = await import("./marketplace-resolve-HPCRNV5O.js");
3579
3579
  try {
3580
3580
  if (args.subcommand === "list") return await marketplace.runMarketplaceListCommand(args);
3581
3581
  if (args.subcommand === "search") return await marketplace.runMarketplaceSearchCommand(args);
@@ -3588,7 +3588,7 @@ async function dispatch(rawArgv) {
3588
3588
  }
3589
3589
  }
3590
3590
  if (command === "preflight") {
3591
- const { runPreflightCommand } = await import("./preflight-command-6LCPYVTV.js");
3591
+ const { runPreflightCommand } = await import("./preflight-command-6F7JF3YQ.js");
3592
3592
  return runPreflightCommand(args);
3593
3593
  }
3594
3594
  if (command !== "compile" && command !== "export" && command !== "paths" && command !== "routes") {
@@ -3603,12 +3603,12 @@ async function dispatch(rawArgv) {
3603
3603
  if (command === "paths" || command === "routes") {
3604
3604
  return runPaths(args);
3605
3605
  }
3606
- const { discoverToolchainPlugins } = await import("./toolchain-modules-OXUU342N.js");
3606
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-F4DUMWTO.js");
3607
3607
  const toolchain = await discoverToolchainPlugins(process.cwd(), {
3608
3608
  frozen: args.frozenLock === true || args.check === true
3609
3609
  });
3610
3610
  if (out && !args.check) {
3611
- const { assertWritableTarget } = await import("./output-target-MWYZ5HYN.js");
3611
+ const { assertWritableTarget } = await import("./output-target-PSSR3E4N.js");
3612
3612
  assertWritableTarget(out, "--out");
3613
3613
  }
3614
3614
  const { bundle: json, bundleObject, omittedSeedTables, lock: lockOutcome, declaredEnvNames } = await compileBundle(args);
@@ -3626,7 +3626,7 @@ async function dispatch(rawArgv) {
3626
3626
  "export.hosted-files-omitted"
3627
3627
  );
3628
3628
  }
3629
- const { runBundleHooks } = await import("./toolchain-hooks-VI2WOPST.js");
3629
+ const { runBundleHooks } = await import("./toolchain-hooks-QIFGPGH2.js");
3630
3630
  await runBundleHooks(
3631
3631
  toolchain.loaded,
3632
3632
  {
@@ -3639,15 +3639,15 @@ async function dispatch(rawArgv) {
3639
3639
  },
3640
3640
  ""
3641
3641
  );
3642
- const { refreshEnvExample, bundleEnvNames: bundleEnvNames2 } = await import("./env-example-refresh-DR44A6YZ.js");
3643
- const { backendDirFor } = await import("./backend-dir-V2FELHYM.js");
3642
+ const { refreshEnvExample, bundleEnvNames: bundleEnvNames2 } = await import("./env-example-refresh-TS7WBVZQ.js");
3643
+ const { backendDirFor } = await import("./backend-dir-J2J7JNS6.js");
3644
3644
  const declaredSet = new Set(declaredEnvNames);
3645
3645
  const templateDir = backendDirFor(args.file);
3646
3646
  const ownsTemplate = isWithin(resolve2(args.file), templateDir) && (dirname2(resolve2(args.file)) === templateDir || !existsSync2(join2(templateDir, "index.ts")));
3647
3647
  const templateEnv = Object.fromEntries(
3648
3648
  Object.entries(bundleEnvNames2(bundleObject)).filter(([name]) => declaredSet.has(name))
3649
3649
  );
3650
- const { skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-IYMFVQRC.js");
3650
+ const { skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-ZGJM4WYQ.js");
3651
3651
  const projectSdk = skewedProjectSdk(dirname2(resolve2(args.file)), readVersion());
3652
3652
  const regenerate = projectSdk === void 0 ? `xanosdk export ${shellWord(pastePath(args.file))} --out ${NULL_DEVICE}` : installedCliCommand(projectSdk.root, (path) => `export ${path(args.file)} --out ${NULL_DEVICE}`);
3653
3653
  if (args.check) {
@@ -3699,14 +3699,14 @@ async function dispatch(rawArgv) {
3699
3699
  }
3700
3700
  if (out) {
3701
3701
  const { secretsCarriedBy } = await import("./live-diff-HARRGFV4.js");
3702
- const { writeExportFile } = await import("./output-target-MWYZ5HYN.js");
3702
+ const { writeExportFile } = await import("./output-target-PSSR3E4N.js");
3703
3703
  const written = lockOutcome?.changed ? `Only ${lockOutcome.path} was written` : void 0;
3704
3704
  writeExportFile(out, json + "\n", secretsCarriedBy(bundleObject), "--out", written);
3705
3705
  reportWrote(args, out, lockOutcome);
3706
3706
  } else {
3707
3707
  process.stdout.write(json + "\n");
3708
3708
  const { secretsCarriedBy } = await import("./live-diff-HARRGFV4.js");
3709
- const { secretsPhrase } = await import("./output-target-MWYZ5HYN.js");
3709
+ const { secretsPhrase } = await import("./output-target-PSSR3E4N.js");
3710
3710
  const secrets = secretsCarriedBy(bundleObject);
3711
3711
  if (secrets.length > 0) {
3712
3712
  warn(
@@ -3725,11 +3725,11 @@ async function refreshAgentGuidance(args) {
3725
3725
  if (args.noRefresh) return;
3726
3726
  if (args.check || args.frozenLock || args.dryRun) return;
3727
3727
  try {
3728
- const { installedSdk, skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-IYMFVQRC.js");
3728
+ const { installedSdk, skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-ZGJM4WYQ.js");
3729
3729
  const entryProject = args.file === void 0 ? void 0 : installedSdk(dirname2(resolve2(args.file)))?.root;
3730
3730
  const projectDir = existsSync2(join2(process.cwd(), "AGENTS.md")) || entryProject === void 0 ? process.cwd() : entryProject;
3731
3731
  const projectSdk = skewedProjectSdk(projectDir, readVersion());
3732
- const { refreshAgentFiles } = await import("./agent-file-refresh-CKLYJRIS.js");
3732
+ const { refreshAgentFiles } = await import("./agent-file-refresh-DAFGNMQX.js");
3733
3733
  if (projectSdk !== void 0) {
3734
3734
  const stale = refreshAgentFiles({ projectDir, sdkVersion: readVersion(), write: false });
3735
3735
  const file = args.file;
@@ -3963,7 +3963,7 @@ async function runPaths(args) {
3963
3963
  const lockPath = resolveLockPath(args, file);
3964
3964
  resetLockOverrides();
3965
3965
  const lockModel = existsSync2(lockPath) ? readLockFile(lockPath) : void 0;
3966
- const toolchain = args.emit !== void 0 ? await (await import("./toolchain-modules-OXUU342N.js")).discoverToolchainPlugins(emitProjectDir(args.emit, file), {
3966
+ const toolchain = args.emit !== void 0 ? await (await import("./toolchain-modules-F4DUMWTO.js")).discoverToolchainPlugins(emitProjectDir(args.emit, file), {
3967
3967
  frozen: args.strict === true,
3968
3968
  // A module outside its SDK peer range keeps its block and is named,
3969
3969
  // as any other skip is; it does not abort every `dev` and `build`.
@@ -3985,49 +3985,49 @@ async function runPaths(args) {
3985
3985
  setDiagnosticSink(outerSink);
3986
3986
  }
3987
3987
  const payload = bundle.payload;
3988
- const { planRouteManifest } = await import("./routes-manifest-Z7I4TZIL.js");
3988
+ const { planRouteManifest, manifestCounts, describeManifestCounts, routesListing, formatRoutesListing, NO_MANIFEST_COUNTS } = await import("./routes-manifest-ET2TTSCL.js");
3989
3989
  const plan = planRouteManifest(payload, (kind, name) => lockModel?.objects[lockKey(kind, name)]?.canonical);
3990
3990
  const queryCount = plan.rows.length;
3991
- const realtimeCount = plan.servers.length + plan.unresolvedServers.length + plan.mcpServers.length + plan.unresolvedMcpServers.length;
3991
+ const serverCount = plan.servers.length + plan.unresolvedServers.length + plan.mcpServers.length + plan.unresolvedMcpServers.length;
3992
3992
  const machine = isMachineOutput(args);
3993
- const emptiedManifest = args.emit !== void 0 && queryCount === 0 && realtimeCount === 0 && existsSync2(args.emit);
3994
- if (queryCount === 0 && !(args.emit !== void 0 && realtimeCount > 0) && !emptiedManifest) {
3995
- if (args.emit === void 0) info("No API queries registered in this workspace.");
3996
- if (machine && args.emit !== "-") writeJson(args.emit !== void 0 ? { emit: resolve2(args.emit), written: false, routes: 0, channels: 0 } : { routes: [] });
3993
+ const emitDoc = (written, counts = NO_MANIFEST_COUNTS) => ({ emit: resolve2(args.emit), written, ...counts });
3994
+ const emptiedManifest = args.emit !== void 0 && queryCount === 0 && serverCount === 0 && existsSync2(args.emit);
3995
+ if (queryCount === 0 && serverCount === 0 && !emptiedManifest) {
3996
+ if (args.emit === void 0) info("No endpoints, realtime servers or MCP servers registered in this workspace.");
3997
+ if (machine && args.emit !== "-") writeJson(args.emit !== void 0 ? emitDoc(false) : routesListing(plan));
3997
3998
  return;
3998
3999
  }
3999
4000
  const unresolved = plan.unresolved;
4000
4001
  const resolved = plan.resolved;
4002
+ const leavingOut = args.emit !== void 0 ? `${args.emit}: leaving out` : "Not listing";
4003
+ if (plan.unresolvedServers.length > 0) {
4004
+ warn(
4005
+ `${leavingOut} ${countOf(plan.unresolvedServers.length, "realtime server")} \u2014 ${plan.unresolvedServers.map((name) => `"${name}"`).join(", ")} \u2014 whose canonical URL token resolves nowhere, along with their channels. Set an explicit \`realtimeServer({ canonical })\`, or run \`xanosdk export ${shellWord(file)} --out ${NULL_DEVICE}\` once (it mints a unique canonical and freezes it in xano.lock, and writes the bundle nowhere), then re-run to include them.`,
4006
+ "routes.realtime-unresolved"
4007
+ );
4008
+ }
4009
+ if (plan.unresolvedMcpServers.length > 0) {
4010
+ warn(
4011
+ `${leavingOut} ${countOf(plan.unresolvedMcpServers.length, "MCP server")} \u2014 ${plan.unresolvedMcpServers.map((name) => `"${name}"`).join(", ")} \u2014 whose canonical URL token resolves nowhere. Set an explicit \`mcpServer({ canonical })\`, or run \`xanosdk export ${shellWord(file)} --out ${NULL_DEVICE}\` once (it mints a unique canonical and freezes it in xano.lock, and writes the bundle nowhere), then re-run to include them.`,
4012
+ "routes.mcp-unresolved"
4013
+ );
4014
+ }
4001
4015
  if (args.emit !== void 0) {
4002
- const unresolvedServers = plan.unresolvedServers.map((name) => ({ name }));
4003
- const describableServers = plan.servers;
4004
- const channelRows = plan.channels;
4005
- if (unresolvedServers.length > 0) {
4006
- warn(
4007
- `${args.emit}: leaving out ${countOf(unresolvedServers.length, "realtime server")} \u2014 ${unresolvedServers.map((s) => `"${s.name}"`).join(", ")} \u2014 whose canonical URL token resolves nowhere, along with their channels. Set an explicit \`realtimeServer({ canonical })\`, or run \`xanosdk export ${shellWord(file)} --out ${NULL_DEVICE}\` once (it mints a unique canonical and freezes it in xano.lock, and writes the bundle nowhere), then re-run to include them.`,
4008
- "routes.realtime-unresolved"
4009
- );
4010
- }
4011
- if (plan.unresolvedMcpServers.length > 0) {
4012
- warn(
4013
- `${args.emit}: leaving out ${countOf(plan.unresolvedMcpServers.length, "MCP server")} \u2014 ${plan.unresolvedMcpServers.map((name) => `"${name}"`).join(", ")} \u2014 whose canonical URL token resolves nowhere. Set an explicit \`mcpServer({ canonical })\`, or run \`xanosdk export ${shellWord(file)} --out ${NULL_DEVICE}\` once (it mints a unique canonical and freezes it in xano.lock, and writes the bundle nowhere), then re-run to include them.`,
4014
- "routes.mcp-unresolved"
4015
- );
4016
- }
4016
+ const counts = manifestCounts(plan);
4017
4017
  if (unresolved.length > 0) {
4018
- const { unresolvedCanonicalMessage } = await import("./routes-manifest-Z7I4TZIL.js");
4018
+ const { unresolvedCanonicalMessage } = await import("./routes-manifest-ET2TTSCL.js");
4019
4019
  const why = `${args.emit} was not written: ${unresolvedCanonicalMessage(unresolved, shellWord(file))}`;
4020
4020
  if (args.strict) throw new Error(`--strict: ${why}`);
4021
4021
  warn(why, "routes.not-written");
4022
- if (machine && args.emit !== "-") writeJson({ emit: resolve2(args.emit), written: false, routes: 0, channels: 0 });
4022
+ if (machine && args.emit !== "-") writeJson(emitDoc(false));
4023
4023
  return;
4024
4024
  }
4025
- if (resolved.length === 0 && describableServers.length === 0 && plan.mcpServers.length === 0 && !emptiedManifest) {
4025
+ if (resolved.length === 0 && plan.servers.length === 0 && plan.mcpServers.length === 0 && !emptiedManifest) {
4026
4026
  info(`Nothing to write to ${args.emit} yet.`);
4027
- if (machine && args.emit !== "-") writeJson({ emit: resolve2(args.emit), written: false, routes: 0, channels: 0 });
4027
+ if (machine && args.emit !== "-") writeJson(emitDoc(false));
4028
4028
  return;
4029
4029
  }
4030
- const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-BDJ6XQXF.js");
4030
+ const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-42FTJHRY.js");
4031
4031
  const loaded = toolchain?.loaded ?? [];
4032
4032
  const skipped = toolchain?.skipped ?? [];
4033
4033
  const rendered = renderManifestFile(
@@ -4044,14 +4044,12 @@ async function runPaths(args) {
4044
4044
  );
4045
4045
  reportModuleFailures(rendered.failed, args.emit === "-" ? "the route manifest on stdout" : args.emit, args.strict === true);
4046
4046
  const source = rendered.source;
4047
- const routeCount = resolved.length === 1 ? "1 route" : `${resolved.length} routes`;
4048
- const channelCount = channelRows.length === 1 ? "1 channel" : `${channelRows.length} channels`;
4049
- const count = describableServers.length > 0 ? `${routeCount}, ${channelCount}` : routeCount;
4047
+ const count = describeManifestCounts(counts);
4050
4048
  if (args.emit === "-") {
4051
4049
  writeData(process.stdout, source);
4052
4050
  return;
4053
4051
  }
4054
- const { installedSdk, skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-IYMFVQRC.js");
4052
+ const { installedSdk, skewedProjectSdk, skewNote, installedCliCommand } = await import("./project-sdk-ZGJM4WYQ.js");
4055
4053
  const emitDir = dirname2(resolve2(args.emit));
4056
4054
  const projectSdk = skewedProjectSdk(installedSdk(emitDir) !== void 0 ? emitDir : dirname2(resolve2(file)), readVersion());
4057
4055
  if (projectSdk !== void 0 && existsSync2(args.emit) && readFileSync3(args.emit, "utf8") !== source) {
@@ -4067,7 +4065,7 @@ async function runPaths(args) {
4067
4065
  );
4068
4066
  }
4069
4067
  warn(skewNote(emit2, readVersion(), projectSdk.version, installed), "routes.cli-skew");
4070
- if (machine) writeJson({ emit: resolve2(emit2), written: false, routes: resolved.length, channels: 0 });
4068
+ if (machine) writeJson(emitDoc(false, counts));
4071
4069
  return;
4072
4070
  }
4073
4071
  if (args.strict) {
@@ -4098,33 +4096,15 @@ async function runPaths(args) {
4098
4096
  }
4099
4097
  }
4100
4098
  if (machine) {
4101
- writeJson({
4102
- emit: resolve2(args.emit),
4103
- written,
4104
- routes: resolved.length,
4105
- channels: describableServers.length > 0 ? channelRows.length : 0
4106
- });
4099
+ writeJson(emitDoc(written, counts));
4107
4100
  }
4108
4101
  } else if (machine) {
4109
- if (unresolved.length === 0) {
4110
- writeJson({
4111
- routes: resolved.map((r) => ({
4112
- verb: r.verb,
4113
- path: `/api:${r.canonical}/${r.name}`,
4114
- ref: `api:${r.canonical}/${r.name}`
4115
- }))
4116
- });
4117
- }
4102
+ if (unresolved.length === 0) writeJson(routesListing(plan));
4118
4103
  } else {
4119
- const verbWidth = Math.max(0, ...resolved.map((r) => r.verb.length));
4120
- for (const r of resolved) {
4121
- const path = `/api:${r.canonical}/${r.name}`;
4122
- process.stdout.write(`${r.verb.padEnd(verbWidth)} ${path} api:${r.canonical}/${r.name}
4123
- `);
4124
- }
4104
+ process.stdout.write(formatRoutesListing(routesListing(plan)));
4125
4105
  }
4126
4106
  if (unresolved.length > 0) {
4127
- const { unresolvedCanonicalMessage } = await import("./routes-manifest-Z7I4TZIL.js");
4107
+ const { unresolvedCanonicalMessage } = await import("./routes-manifest-ET2TTSCL.js");
4128
4108
  throw new UsageError(`${commandLabel(args)}: ${unresolvedCanonicalMessage(unresolved, shellWord(file))}`);
4129
4109
  }
4130
4110
  }
@@ -4132,7 +4112,7 @@ async function refreshRouteManifest(entry, emit2, projectDir) {
4132
4112
  resetLockOverrides();
4133
4113
  const lockPath = join2(dirname2(resolve2(entry)), "xano.lock");
4134
4114
  const lockModel = existsSync2(lockPath) ? readLockFile(lockPath) : void 0;
4135
- const { discoverToolchainPlugins } = await import("./toolchain-modules-OXUU342N.js");
4115
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-F4DUMWTO.js");
4136
4116
  const toolchain = existsSync2(emit2) ? await discoverToolchainPlugins(projectDir, { frozen: false, configuring: true, peerSkew: "skip" }) : void 0;
4137
4117
  const def = await loadDefault(entry);
4138
4118
  if (!Xano.isXano(def)) return { manifest: "absent", lockOrphans: 0 };
@@ -4144,12 +4124,12 @@ async function refreshRouteManifest(entry, emit2, projectDir) {
4144
4124
  } finally {
4145
4125
  setDiagnosticSink(previousSink);
4146
4126
  }
4147
- const { pulledIdentities } = await import("./pull-command-XIYO7WTF.js");
4127
+ const { pulledIdentities } = await import("./pull-command-GE2WUEUF.js");
4148
4128
  const live = pulledIdentities(payload);
4149
4129
  const lockOrphans = lockModel === void 0 ? 0 : Object.keys(lockModel.objects).filter((k) => k !== WORKSPACE_KEY && !live.has(k)).length;
4150
4130
  if (!existsSync2(emit2)) return { manifest: "absent", lockOrphans };
4151
- const { planRouteManifest, RouteManifestError } = await import("./routes-manifest-Z7I4TZIL.js");
4152
- const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-BDJ6XQXF.js");
4131
+ const { planRouteManifest, RouteManifestError } = await import("./routes-manifest-ET2TTSCL.js");
4132
+ const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-42FTJHRY.js");
4153
4133
  const plan = planRouteManifest(payload, (kind, name) => lockModel?.objects[lockKey(kind, name)]?.canonical);
4154
4134
  if (plan.unresolved.length > 0) return { manifest: "skipped", lockOrphans };
4155
4135
  const current = readFileSync3(emit2, "utf8");
@@ -4673,7 +4653,7 @@ async function refineGonePullHint(err) {
4673
4653
  if (offer === void 0 || auth === void 0 || !(err instanceof Error) || !err.message.includes(offer.clause)) return;
4674
4654
  let gone;
4675
4655
  try {
4676
- const { lookupEphemeral } = await import("./source-resolve-KB7NWL3I.js");
4656
+ const { lookupEphemeral } = await import("./source-resolve-JXGOVJD3.js");
4677
4657
  gone = await lookupEphemeral(auth, offer.name) === null;
4678
4658
  } catch {
4679
4659
  return;
@@ -4877,4 +4857,4 @@ export {
4877
4857
  docTokenRefusalIfReplaced,
4878
4858
  envRefusalIfReplaced
4879
4859
  };
4880
- //# sourceMappingURL=chunk-LYN3XNDE.js.map
4860
+ //# sourceMappingURL=chunk-TANWE2ZY.js.map