@xano/sdk 1.0.9 → 1.0.11

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 (158) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +85 -86
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-XXCQOTWN.js → agent-file-refresh-CKLYJRIS.js} +6 -6
  5. package/dist/{agent-skill-command-VDSMXH4M.js → agent-skill-command-QKQG5NIZ.js} +26 -26
  6. package/dist/{backend-dir-G44PETFO.js → backend-dir-V2FELHYM.js} +5 -5
  7. package/dist/bin.js +26 -26
  8. package/dist/{branch-commands-Q6E66PMM.js → branch-commands-ZY2W3ICB.js} +14 -14
  9. package/dist/bundle.d.ts +2 -2
  10. package/dist/bundle.js +5 -5
  11. package/dist/{chunk-HTP2CLRQ.js → chunk-3BI62SPQ.js} +2 -2
  12. package/dist/{chunk-QGDT52FA.js → chunk-3Q43PZGI.js} +17 -17
  13. package/dist/{chunk-XLQT3CCF.js → chunk-4BR5TEXI.js} +15 -15
  14. package/dist/{chunk-QTMXJQZN.js → chunk-4WBZ6T76.js} +2 -2
  15. package/dist/{chunk-FFB3YCUO.js → chunk-4ZTXYT3T.js} +2 -2
  16. package/dist/{chunk-WKCA66SH.js → chunk-64ODZADR.js} +7 -7
  17. package/dist/{chunk-OHTHG3LL.js → chunk-6LECAG3Y.js} +4 -4
  18. package/dist/{chunk-7KPKDHHI.js → chunk-76SBT7KS.js} +2 -2
  19. package/dist/{chunk-XPLBTV77.js → chunk-7FPFYYCW.js} +4 -4
  20. package/dist/{chunk-KDS4PDFD.js → chunk-7YSZSEZL.js} +5 -5
  21. package/dist/{chunk-DDUOMOIP.js → chunk-AM5T76NQ.js} +6 -6
  22. package/dist/{chunk-BEXZ4XRV.js → chunk-AXNX4NWN.js} +2 -2
  23. package/dist/{chunk-3XSTC3TM.js → chunk-B7JRCM2S.js} +2 -2
  24. package/dist/{chunk-BRANWM4U.js → chunk-C2SAVXAB.js} +2 -2
  25. package/dist/{chunk-SSOTLVOJ.js → chunk-D2PSNKZD.js} +2 -2
  26. package/dist/{chunk-6IOQRBRX.js → chunk-D5NAWB4P.js} +2 -2
  27. package/dist/{chunk-NI56XX5Z.js → chunk-DRWUMFSP.js} +4 -4
  28. package/dist/{chunk-ETAZIGNT.js → chunk-F2NFNYCB.js} +2 -2
  29. package/dist/{chunk-OYRQLU66.js → chunk-FDPW2M3S.js} +2 -2
  30. package/dist/{chunk-5BEK7YKY.js → chunk-FGNDJBT4.js} +2 -2
  31. package/dist/{chunk-HETQSTGG.js → chunk-FNA5CUVN.js} +2 -2
  32. package/dist/{chunk-4XHAT7C5.js → chunk-HJZUI2ZU.js} +2 -2
  33. package/dist/{chunk-DSD2NNTX.js → chunk-HUEFVPYW.js} +2 -2
  34. package/dist/{chunk-HVSIS47X.js → chunk-HW2JPR5W.js} +22 -22
  35. package/dist/{chunk-UZUY6VPB.js → chunk-HXRXQAZE.js} +29 -29
  36. package/dist/{chunk-S5RZYUP2.js → chunk-I5XSXMJQ.js} +2 -2
  37. package/dist/{chunk-3P35HT64.js → chunk-IDOVZLPK.js} +2 -2
  38. package/dist/{chunk-6NEV2PEC.js → chunk-IEDQT4Z3.js} +6 -6
  39. package/dist/{chunk-6JAEMMZ7.js → chunk-IFXPHVPY.js} +3 -3
  40. package/dist/{chunk-5GIOCDUM.js → chunk-IZI3SYXH.js} +3 -3
  41. package/dist/{chunk-Y3FM4BSZ.js → chunk-J746QNTP.js} +1 -1
  42. package/dist/{chunk-6YOH2L3G.js → chunk-JFPLHK6Y.js} +3 -3
  43. package/dist/{chunk-I53OTC3O.js → chunk-JHQAVWHW.js} +3 -3
  44. package/dist/{chunk-HBFXR4OJ.js → chunk-KCCZCIDJ.js} +2 -2
  45. package/dist/{chunk-GAU2FCT7.js → chunk-KDPXO5PO.js} +5 -5
  46. package/dist/{chunk-SGYDFEXD.js → chunk-KI6U2GD2.js} +7 -7
  47. package/dist/{chunk-6ZFJEJXZ.js → chunk-KICERNAP.js} +5 -5
  48. package/dist/{chunk-BUTGFWWA.js → chunk-KSBUHLNF.js} +2 -2
  49. package/dist/{chunk-WLFANUXE.js → chunk-KYTQW3YT.js} +2 -2
  50. package/dist/{chunk-U7XSQXOA.js → chunk-LYN3XNDE.js} +74 -68
  51. package/dist/{chunk-YMVCKGY2.js → chunk-NHXBKFHG.js} +42 -42
  52. package/dist/{chunk-GHPC52TD.js → chunk-NPW6DSZB.js} +3 -3
  53. package/dist/{chunk-XTUYIX5H.js → chunk-NU7EME32.js} +30 -30
  54. package/dist/{chunk-6BOKCTCM.js → chunk-NZ7ML6LG.js} +4 -4
  55. package/dist/{chunk-T3ZVNOJC.js → chunk-ONNSFD73.js} +10 -10
  56. package/dist/{chunk-Y2LKSXFK.js → chunk-QAY4RW2E.js} +3 -3
  57. package/dist/{chunk-5VOGPS5O.js → chunk-RNKP5TA2.js} +2 -2
  58. package/dist/{chunk-O376UAZS.js → chunk-SFOUFU4C.js} +110 -6
  59. package/dist/{chunk-ZYPEH64F.js → chunk-SNKABK5L.js} +2 -2
  60. package/dist/{chunk-EOIJ7MVW.js → chunk-T3HNISBN.js} +3 -3
  61. package/dist/{chunk-IFCQCM2Q.js → chunk-U4LRDTIM.js} +3 -3
  62. package/dist/{chunk-CXWCWYX3.js → chunk-UUYKEIHP.js} +2 -2
  63. package/dist/{chunk-S56YBYMN.js → chunk-VIRFG3WG.js} +2 -2
  64. package/dist/{chunk-2VWSUG2B.js → chunk-VTZF3ZNR.js} +2 -2
  65. package/dist/{chunk-LTPF25L2.js → chunk-W2QFR3ZJ.js} +2 -2
  66. package/dist/{chunk-INAM6KR6.js → chunk-WM7Y3MDE.js} +2 -2
  67. package/dist/{chunk-EKTIGGFO.js → chunk-WZXEQUIM.js} +4 -4
  68. package/dist/{chunk-YVXUYDHC.js → chunk-YKCDUHBR.js} +2 -2
  69. package/dist/{chunk-UVF45BVU.js → chunk-Z6N5N4MN.js} +1 -1
  70. package/dist/{chunk-ADKC3EII.js → chunk-ZS7VI7RK.js} +3 -3
  71. package/dist/cli.d.ts +3 -3
  72. package/dist/cli.js +25 -25
  73. package/dist/{codegen-command-KZJ7LYHW.js → codegen-command-6AB3REIV.js} +40 -40
  74. package/dist/codegen.d.ts +3 -3
  75. package/dist/{deploy-command-RXPJAM7M.js → deploy-command-LRJBO4LX.js} +29 -29
  76. package/dist/{deploy-source-TD77W4SA.js → deploy-source-JTPMMO3B.js} +8 -8
  77. package/dist/{dev-env-sync-2UCNSIJL.js → dev-env-sync-ODJYGSWT.js} +26 -26
  78. package/dist/{emit-D-a6JznN.d.ts → emit-YLt3GfsZ.d.ts} +3 -3
  79. package/dist/{env-example-refresh-QKZI26F2.js → env-example-refresh-DR44A6YZ.js} +41 -41
  80. package/dist/{env-pull-command-72PQOMKW.js → env-pull-command-47XQO5J2.js} +21 -21
  81. package/dist/{env-target-AZJ4JXT7.js → env-target-HBY2LQUA.js} +2 -2
  82. package/dist/{env-var-command-ALJITZDL.js → env-var-command-HTKKTBOC.js} +14 -14
  83. package/dist/{ephemeral-command-T276HQBO.js → ephemeral-command-T5EFYCEY.js} +22 -22
  84. package/dist/{generate-command-M6LAT4XU.js → generate-command-36OWZF23.js} +44 -44
  85. package/dist/{gitignore-V6QHYKIR.js → gitignore-NLLQURLD.js} +7 -7
  86. package/dist/{guards-4VPSEOAI.js → guards-RU4C7TFG.js} +5 -5
  87. package/dist/{impersonate-command-S6PYDMHQ.js → impersonate-command-HJYBQV6X.js} +10 -10
  88. package/dist/index.d.ts +8 -8
  89. package/dist/index.js +14 -14
  90. package/dist/{init-command-ENAZKPZA.js → init-command-54M3AA27.js} +29 -29
  91. package/dist/{init-modules-AIKWWTVQ.js → init-modules-MVULNRKR.js} +2 -2
  92. package/dist/internal.d.ts +6 -6
  93. package/dist/internal.js +33 -21
  94. package/dist/{keep-data-merge-3WPUPPTY.js → keep-data-merge-Y6PYJOPW.js} +15 -15
  95. package/dist/{lambda-config-reconcile-47X5C2E4.js → lambda-config-reconcile-FXPDH2U5.js} +3 -3
  96. package/dist/{landing-record-SJ5HG7T5.js → landing-record-LBJMKORB.js} +6 -6
  97. package/dist/{live-diff-CGTGOH3S.js → live-diff-HARRGFV4.js} +8 -8
  98. package/dist/{local-engine-choice-BD5O7SAU.js → local-engine-choice-SXSWNCZT.js} +9 -9
  99. package/dist/{local-engine-command-MXQUXXAA.js → local-engine-command-3GICPJPL.js} +10 -10
  100. package/dist/{local-engine-mcp-command-6G3TDWDI.js → local-engine-mcp-command-ZUS7LQ7F.js} +10 -10
  101. package/dist/{lock-commands-SUPQOEVU.js → lock-commands-PTBKQE72.js} +26 -26
  102. package/dist/{login-command-LTYO3EK7.js → login-command-HH4FA65C.js} +10 -10
  103. package/dist/{logout-command-QRRT36DY.js → logout-command-WPUWLZSW.js} +3 -3
  104. package/dist/{loop-XFDS65OD.js → loop-QHZD37KX.js} +8 -8
  105. package/dist/{marketplace-command-POQH5GVT.js → marketplace-command-ISG2U5NA.js} +14 -14
  106. package/dist/{meta-client-PDUP4EOW.js → meta-client-P7E6PCB7.js} +2 -2
  107. package/dist/node.d.ts +7 -7
  108. package/dist/node.js +32 -32
  109. package/dist/{operation-outcome-IXMC5SBN.js → operation-outcome-2Z6II4HB.js} +4 -4
  110. package/dist/{output-target-4XN43WIB.js → output-target-MWYZ5HYN.js} +8 -8
  111. package/dist/{plan-disclosure-GNLDYV2A.js → plan-disclosure-PQAXSAUH.js} +12 -12
  112. package/dist/{preflight-command-QWZL4O2N.js → preflight-command-6LCPYVTV.js} +36 -36
  113. package/dist/{profile-command-V6WFDYZW.js → profile-command-74AR3FB7.js} +11 -11
  114. package/dist/{promote-command-B3QODJNT.js → promote-command-YD3YQWJG.js} +48 -48
  115. package/dist/{publish-command-JOL6LXH6.js → publish-command-7VKTBVVP.js} +29 -29
  116. package/dist/{pull-command-RPGL6LXP.js → pull-command-XIYO7WTF.js} +42 -42
  117. package/dist/{raw-where-ZMLND6AG.d.ts → raw-where-gWGr-E4t.d.ts} +1 -1
  118. package/dist/{release-command-USZAWVXO.js → release-command-NADSTRM2.js} +37 -37
  119. package/dist/{release-ns-command-3XDRQKJD.js → release-ns-command-2VUTJ4A6.js} +46 -46
  120. package/dist/{routes-manifest-RIZGSOZC.js → routes-manifest-Z7I4TZIL.js} +7 -7
  121. package/dist/{routes-manifest-file-V5JJVIPH.js → routes-manifest-file-BDJ6XQXF.js} +9 -9
  122. package/dist/scaffold.js +2 -2
  123. package/dist/{secrets-file-ZA6K4J6W.js → secrets-file-KBMEY2SS.js} +6 -6
  124. package/dist/{secrets-fill-command-MH53XR45.js → secrets-fill-command-YUAJSOZW.js} +28 -28
  125. package/dist/{source-resolve-I55GN6ZC.js → source-resolve-KB7NWL3I.js} +3 -3
  126. package/dist/{status-command-I6S2TVAY.js → status-command-YRIB6UJP.js} +13 -13
  127. package/dist/{store-xUySg-KR.d.ts → store-BM7SQcUt.d.ts} +3 -3
  128. package/dist/{sync-baseline-3CDL4PKT.js → sync-baseline-JGAAOS25.js} +10 -10
  129. package/dist/{sync-contributions-4HHBUGJ4.js → sync-contributions-LMLYV7VL.js} +2 -2
  130. package/dist/{tables-command-L4JRA7JF.js → tables-command-IONX4ZF2.js} +11 -11
  131. package/dist/{tenant-command-IZ3R4BDG.js → tenant-command-635Y2YCR.js} +54 -54
  132. package/dist/{test-command-GCKZRRSL.js → test-command-CN76VVUK.js} +11 -11
  133. package/dist/{token-XQCIFX7R.js → token-WL7SSK64.js} +2 -2
  134. package/dist/{toolchain-hooks-3ZAAAWPL.js → toolchain-hooks-VI2WOPST.js} +8 -8
  135. package/dist/{toolchain-modules-C53NXT3S.js → toolchain-modules-OXUU342N.js} +2 -2
  136. package/dist/{tracked-backend-UHKPD2JU.js → tracked-backend-ON5V2RBJ.js} +10 -10
  137. package/dist/{update-check-KMAC4VEJ.js → update-check-I75SHTAD.js} +27 -27
  138. package/dist/{upgrade-command-HQBSUFNE.js → upgrade-command-2J7P5NSX.js} +30 -30
  139. package/dist/{whoami-command-23UXAC6F.js → whoami-command-HJJK2QJS.js} +4 -4
  140. package/dist/{workspace-TZMAJ7NF.js → workspace-7QVUA7HI.js} +2 -2
  141. package/dist/{workspace-binding-RBU22BBX.js → workspace-binding-D7HZTF7N.js} +3 -3
  142. package/dist/{workspace-command-N4BTEHSW.js → workspace-command-KXTR5SOE.js} +50 -50
  143. package/dist/{workspace-env-O3RK26FR.js → workspace-env-RASIOYSN.js} +6 -6
  144. package/dist/{xano-6T6L7TTI.js → xano-2A2GT7EH.js} +7 -7
  145. package/dist/{xanosdk-import-WPCHIVP6.js → xanosdk-import-767BQ2HP.js} +2 -2
  146. package/dist/{xanosdk-project-TEAXYQZW.js → xanosdk-project-PETOFVUQ.js} +6 -6
  147. package/dist/{xdo-CxDr2Q1C.d.ts → xdo-D4OwfF2J.d.ts} +10 -4
  148. package/guides/codes.md +1 -0
  149. package/llms/client.md +2 -1
  150. package/llms/errors.md +2 -0
  151. package/llms/filters.md +2 -1
  152. package/llms/kinds-agent-mcp.md +2 -0
  153. package/llms/values.md +1 -1
  154. package/llms-full.txt +16 -9
  155. package/llms.txt +7 -6
  156. package/manifest.json +2 -2
  157. package/package.json +2 -2
  158. package/skills/xano-backend/SKILL.md +2 -2
@@ -10,10 +10,10 @@ import {
10
10
  namesInEnvExample,
11
11
  parseEnvFile,
12
12
  readWorkspaceEnvFile
13
- } from "./chunk-Y2LKSXFK.js";
13
+ } from "./chunk-QAY4RW2E.js";
14
14
  import {
15
15
  readTrackedBackend
16
- } from "./chunk-SGYDFEXD.js";
16
+ } from "./chunk-KI6U2GD2.js";
17
17
  import {
18
18
  isExpired
19
19
  } from "./chunk-PFW7WFAT.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-CJDPSCMX.js";
25
25
  import {
26
26
  isCI
27
- } from "./chunk-NI56XX5Z.js";
27
+ } from "./chunk-DRWUMFSP.js";
28
28
  import {
29
29
  backendSlotForFlag,
30
30
  slotValueMissing
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  defaultWorkspaceSecretsPath,
34
34
  readSecretsFile
35
- } from "./chunk-CXWCWYX3.js";
35
+ } from "./chunk-UUYKEIHP.js";
36
36
  import {
37
37
  allLandings,
38
38
  getEnvironment,
@@ -143,12 +143,12 @@ import {
143
143
  isOsMetadataFile,
144
144
  registerAllKinds,
145
145
  serializeBundle
146
- } from "./chunk-T3ZVNOJC.js";
146
+ } from "./chunk-ONNSFD73.js";
147
147
  import {
148
148
  Xano,
149
149
  checkFilterOperands,
150
150
  standaloneDefKind
151
- } from "./chunk-6ZFJEJXZ.js";
151
+ } from "./chunk-KICERNAP.js";
152
152
  import {
153
153
  knowledgeBodiesAllEmpty
154
154
  } from "./chunk-7FIMUFBP.js";
@@ -175,10 +175,10 @@ import {
175
175
  checkUnboundVarRefs,
176
176
  checkZipPasswordKeys,
177
177
  isQueryExpressionFilter
178
- } from "./chunk-6BOKCTCM.js";
178
+ } from "./chunk-NZ7ML6LG.js";
179
179
  import {
180
180
  FILTER_NAMES
181
- } from "./chunk-BEXZ4XRV.js";
181
+ } from "./chunk-AXNX4NWN.js";
182
182
  import {
183
183
  isRepresentableName,
184
184
  safeNames
@@ -225,7 +225,7 @@ import {
225
225
  IDENT,
226
226
  installLambdaFreeReads,
227
227
  installLambdaSyntaxCheck
228
- } from "./chunk-UVF45BVU.js";
228
+ } from "./chunk-Z6N5N4MN.js";
229
229
  import {
230
230
  rawDeriveGuid
231
231
  } from "./chunk-LL6ED5IB.js";
@@ -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-AIKWWTVQ.js");
2555
+ const { inProject } = await import("./init-modules-MVULNRKR.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-RBU22BBX.js");
3176
+ const { readReachableWorkspaces, unreachableWorkspaceMessage } = await import("./workspace-binding-D7HZTF7N.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-23UXAC6F.js");
3190
+ const { asRejectedCredential, rejectedRemedy } = await import("./whoami-command-HJJK2QJS.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-I55GN6ZC.js");
3228
+ const { LookupFailedError, rateLimitedFailure } = await import("./source-resolve-KB7NWL3I.js");
3229
3229
  const err = rateLimitedFailure(failure);
3230
3230
  if (!(err instanceof LookupFailedError)) return err;
3231
- const { retryCommand, withheldNote } = await import("./deploy-command-RXPJAM7M.js");
3231
+ const { retryCommand, withheldNote } = await import("./deploy-command-LRJBO4LX.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-TEAXYQZW.js");
3286
+ const { enterProjectRoot } = await import("./xanosdk-project-PETOFVUQ.js");
3287
3287
  const entered = enterProjectRoot(args, process.cwd(), positional);
3288
3288
  if (entered === void 0) return command(args);
3289
3289
  if (isPathlessRun(args)) {
@@ -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-KMAC4VEJ.js")).routeUpdateNoticeToDocument();
3426
+ if (isMachineOutput(args)) (await import("./update-check-I75SHTAD.js")).routeUpdateNoticeToDocument();
3427
3427
  const { command } = args;
3428
3428
  const out = args.out === "-" ? void 0 : args.out;
3429
3429
  if (command === void 0) {
@@ -3444,7 +3444,7 @@ async function dispatch(rawArgv) {
3444
3444
  return;
3445
3445
  }
3446
3446
  if (command === "init") {
3447
- const { runInitCommand } = await import("./init-command-ENAZKPZA.js");
3447
+ const { runInitCommand } = await import("./init-command-54M3AA27.js");
3448
3448
  return runInitCommand(args);
3449
3449
  }
3450
3450
  if (command === "completion") {
@@ -3467,114 +3467,114 @@ 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-VDSMXH4M.js");
3470
+ const { runAgentSkillCommand } = await import("./agent-skill-command-QKQG5NIZ.js");
3471
3471
  return runAgentSkillCommand(args);
3472
3472
  }
3473
3473
  if (command === "upgrade") {
3474
- const { runUpgradeCommand } = await import("./upgrade-command-HQBSUFNE.js");
3474
+ const { runUpgradeCommand } = await import("./upgrade-command-2J7P5NSX.js");
3475
3475
  return runUpgradeCommand(args);
3476
3476
  }
3477
3477
  if (command === "lock") {
3478
- const { runLockCommand } = await import("./lock-commands-SUPQOEVU.js");
3478
+ const { runLockCommand } = await import("./lock-commands-PTBKQE72.js");
3479
3479
  const verb = args.positionals[0];
3480
- const { isProjectDir } = await import("./xanosdk-project-TEAXYQZW.js");
3480
+ const { isProjectDir } = await import("./xanosdk-project-PETOFVUQ.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-LTYO3EK7.js");
3485
+ const { runLoginCommand } = await import("./login-command-HH4FA65C.js");
3486
3486
  return runLoginCommand(args);
3487
3487
  }
3488
3488
  if (command === "logout") {
3489
- const { runLogoutCommand } = await import("./logout-command-QRRT36DY.js");
3489
+ const { runLogoutCommand } = await import("./logout-command-WPUWLZSW.js");
3490
3490
  return runLogoutCommand(args);
3491
3491
  }
3492
3492
  if (command === "deploy") {
3493
- const { runDeployCommand } = await import("./deploy-command-RXPJAM7M.js");
3493
+ const { runDeployCommand } = await import("./deploy-command-LRJBO4LX.js");
3494
3494
  return atProjectRoot(args, runDeployCommand, entryPositional(args));
3495
3495
  }
3496
3496
  if (command === "ephemeral") {
3497
- const { runEphemeralCommand } = await import("./ephemeral-command-T276HQBO.js");
3497
+ const { runEphemeralCommand } = await import("./ephemeral-command-T5EFYCEY.js");
3498
3498
  return atProjectRoot(args, runEphemeralCommand);
3499
3499
  }
3500
3500
  if (command === "local") {
3501
- const { runLocalEngineCommand } = await import("./local-engine-command-MXQUXXAA.js");
3501
+ const { runLocalEngineCommand } = await import("./local-engine-command-3GICPJPL.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-ALJITZDL.js");
3507
+ const { runEnvVarCommand } = await import("./env-var-command-HTKKTBOC.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-72PQOMKW.js");
3511
+ const { runEnvPullCommand } = await import("./env-pull-command-47XQO5J2.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-MH53XR45.js");
3516
+ const { runSecretsFillCommand } = await import("./secrets-fill-command-YUAJSOZW.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-3XDRQKJD.js");
3520
+ const { runReleaseCommand: runReleaseNs } = await import("./release-ns-command-2VUTJ4A6.js");
3521
3521
  return atProjectRoot(args, runReleaseNs);
3522
3522
  }
3523
3523
  if (command === "pull") {
3524
- const { runPullCommand } = await import("./pull-command-RPGL6LXP.js");
3524
+ const { runPullCommand } = await import("./pull-command-XIYO7WTF.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-M6LAT4XU.js");
3530
+ const { runGenerateCommand } = await import("./generate-command-36OWZF23.js");
3531
3531
  return runGenerateCommand(args);
3532
3532
  }
3533
3533
  if (command === "tables") {
3534
- const { runTablesCommand } = await import("./tables-command-L4JRA7JF.js");
3534
+ const { runTablesCommand } = await import("./tables-command-IONX4ZF2.js");
3535
3535
  return atProjectRoot(args, runTablesCommand);
3536
3536
  }
3537
3537
  if (command === "impersonate") {
3538
- const { runImpersonateCommand } = await import("./impersonate-command-S6PYDMHQ.js");
3538
+ const { runImpersonateCommand } = await import("./impersonate-command-HJYBQV6X.js");
3539
3539
  return atProjectRoot(args, runImpersonateCommand);
3540
3540
  }
3541
3541
  if (command === "promote") {
3542
- const { runPromoteCommand } = await import("./promote-command-B3QODJNT.js");
3542
+ const { runPromoteCommand } = await import("./promote-command-YD3YQWJG.js");
3543
3543
  return atProjectRoot(args, runPromoteCommand);
3544
3544
  }
3545
3545
  if (command === "publish") {
3546
- const { runPublishCommand } = await import("./publish-command-JOL6LXH6.js");
3546
+ const { runPublishCommand } = await import("./publish-command-7VKTBVVP.js");
3547
3547
  return atProjectRoot(args, runPublishCommand, "path");
3548
3548
  }
3549
3549
  if (command === "tenant") {
3550
- const { runTenantCommand } = await import("./tenant-command-IZ3R4BDG.js");
3550
+ const { runTenantCommand } = await import("./tenant-command-635Y2YCR.js");
3551
3551
  return atProjectRoot(args, runTenantCommand);
3552
3552
  }
3553
3553
  if (command === "test") {
3554
- const { runTestCommand } = await import("./test-command-GCKZRRSL.js");
3554
+ const { runTestCommand } = await import("./test-command-CN76VVUK.js");
3555
3555
  return atProjectRoot(args, runTestCommand);
3556
3556
  }
3557
3557
  if (command === "workspace") {
3558
- const { runWorkspaceCommand } = await import("./workspace-command-N4BTEHSW.js");
3558
+ const { runWorkspaceCommand } = await import("./workspace-command-KXTR5SOE.js");
3559
3559
  return runWorkspaceCommand(args);
3560
3560
  }
3561
3561
  if (command === "status") {
3562
- const { runStatusCommand } = await import("./status-command-I6S2TVAY.js");
3562
+ const { runStatusCommand } = await import("./status-command-YRIB6UJP.js");
3563
3563
  return runStatusCommand(args);
3564
3564
  }
3565
3565
  if (command === "whoami") {
3566
- const { runWhoamiCommand } = await import("./whoami-command-23UXAC6F.js");
3566
+ const { runWhoamiCommand } = await import("./whoami-command-HJJK2QJS.js");
3567
3567
  return runWhoamiCommand(args);
3568
3568
  }
3569
3569
  if (command === "profile") {
3570
- const { runProfileCommand } = await import("./profile-command-V6WFDYZW.js");
3570
+ const { runProfileCommand } = await import("./profile-command-74AR3FB7.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-POQH5GVT.js");
3577
+ const marketplace = await import("./marketplace-command-ISG2U5NA.js");
3578
3578
  const { withCatalogueRerun } = await import("./marketplace-resolve-PWEYJ2XS.js");
3579
3579
  try {
3580
3580
  if (args.subcommand === "list") return await marketplace.runMarketplaceListCommand(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-QWZL4O2N.js");
3591
+ const { runPreflightCommand } = await import("./preflight-command-6LCPYVTV.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-C53NXT3S.js");
3606
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-OXUU342N.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-4XN43WIB.js");
3611
+ const { assertWritableTarget } = await import("./output-target-MWYZ5HYN.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-3ZAAAWPL.js");
3629
+ const { runBundleHooks } = await import("./toolchain-hooks-VI2WOPST.js");
3630
3630
  await runBundleHooks(
3631
3631
  toolchain.loaded,
3632
3632
  {
@@ -3639,8 +3639,8 @@ async function dispatch(rawArgv) {
3639
3639
  },
3640
3640
  ""
3641
3641
  );
3642
- const { refreshEnvExample, bundleEnvNames: bundleEnvNames2 } = await import("./env-example-refresh-QKZI26F2.js");
3643
- const { backendDirFor } = await import("./backend-dir-G44PETFO.js");
3642
+ const { refreshEnvExample, bundleEnvNames: bundleEnvNames2 } = await import("./env-example-refresh-DR44A6YZ.js");
3643
+ const { backendDirFor } = await import("./backend-dir-V2FELHYM.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")));
@@ -3698,15 +3698,15 @@ async function dispatch(rawArgv) {
3698
3698
  info(`${hadEnvExample ? "Updated" : "Wrote"} ${displayPath(refreshed)} to list the env names this source declares.`);
3699
3699
  }
3700
3700
  if (out) {
3701
- const { secretsCarriedBy } = await import("./live-diff-CGTGOH3S.js");
3702
- const { writeExportFile } = await import("./output-target-4XN43WIB.js");
3701
+ const { secretsCarriedBy } = await import("./live-diff-HARRGFV4.js");
3702
+ const { writeExportFile } = await import("./output-target-MWYZ5HYN.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
- const { secretsCarriedBy } = await import("./live-diff-CGTGOH3S.js");
3709
- const { secretsPhrase } = await import("./output-target-4XN43WIB.js");
3708
+ const { secretsCarriedBy } = await import("./live-diff-HARRGFV4.js");
3709
+ const { secretsPhrase } = await import("./output-target-MWYZ5HYN.js");
3710
3710
  const secrets = secretsCarriedBy(bundleObject);
3711
3711
  if (secrets.length > 0) {
3712
3712
  warn(
@@ -3729,7 +3729,7 @@ async function refreshAgentGuidance(args) {
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-XXCQOTWN.js");
3732
+ const { refreshAgentFiles } = await import("./agent-file-refresh-CKLYJRIS.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-C53NXT3S.js")).discoverToolchainPlugins(emitProjectDir(args.emit, file), {
3966
+ const toolchain = args.emit !== void 0 ? await (await import("./toolchain-modules-OXUU342N.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,14 +3985,14 @@ async function runPaths(args) {
3985
3985
  setDiagnosticSink(outerSink);
3986
3986
  }
3987
3987
  const payload = bundle.payload;
3988
- const { planRouteManifest } = await import("./routes-manifest-RIZGSOZC.js");
3988
+ const { planRouteManifest } = await import("./routes-manifest-Z7I4TZIL.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;
3991
+ const realtimeCount = plan.servers.length + plan.unresolvedServers.length + plan.mcpServers.length + plan.unresolvedMcpServers.length;
3992
3992
  const machine = isMachineOutput(args);
3993
3993
  const emptiedManifest = args.emit !== void 0 && queryCount === 0 && realtimeCount === 0 && existsSync2(args.emit);
3994
3994
  if (queryCount === 0 && !(args.emit !== void 0 && realtimeCount > 0) && !emptiedManifest) {
3995
- info("No API queries registered in this workspace.");
3995
+ if (args.emit === void 0) info("No API queries registered in this workspace.");
3996
3996
  if (machine && args.emit !== "-") writeJson(args.emit !== void 0 ? { emit: resolve2(args.emit), written: false, routes: 0, channels: 0 } : { routes: [] });
3997
3997
  return;
3998
3998
  }
@@ -4008,20 +4008,26 @@ async function runPaths(args) {
4008
4008
  "routes.realtime-unresolved"
4009
4009
  );
4010
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
+ }
4011
4017
  if (unresolved.length > 0) {
4012
- const { unresolvedCanonicalMessage } = await import("./routes-manifest-RIZGSOZC.js");
4018
+ const { unresolvedCanonicalMessage } = await import("./routes-manifest-Z7I4TZIL.js");
4013
4019
  const why = `${args.emit} was not written: ${unresolvedCanonicalMessage(unresolved, shellWord(file))}`;
4014
4020
  if (args.strict) throw new Error(`--strict: ${why}`);
4015
4021
  warn(why, "routes.not-written");
4016
4022
  if (machine && args.emit !== "-") writeJson({ emit: resolve2(args.emit), written: false, routes: 0, channels: 0 });
4017
4023
  return;
4018
4024
  }
4019
- if (resolved.length === 0 && describableServers.length === 0 && !emptiedManifest) {
4025
+ if (resolved.length === 0 && describableServers.length === 0 && plan.mcpServers.length === 0 && !emptiedManifest) {
4020
4026
  info(`Nothing to write to ${args.emit} yet.`);
4021
4027
  if (machine && args.emit !== "-") writeJson({ emit: resolve2(args.emit), written: false, routes: 0, channels: 0 });
4022
4028
  return;
4023
4029
  }
4024
- const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-V5JJVIPH.js");
4030
+ const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-BDJ6XQXF.js");
4025
4031
  const loaded = toolchain?.loaded ?? [];
4026
4032
  const skipped = toolchain?.skipped ?? [];
4027
4033
  const rendered = renderManifestFile(
@@ -4118,7 +4124,7 @@ async function runPaths(args) {
4118
4124
  }
4119
4125
  }
4120
4126
  if (unresolved.length > 0) {
4121
- const { unresolvedCanonicalMessage } = await import("./routes-manifest-RIZGSOZC.js");
4127
+ const { unresolvedCanonicalMessage } = await import("./routes-manifest-Z7I4TZIL.js");
4122
4128
  throw new UsageError(`${commandLabel(args)}: ${unresolvedCanonicalMessage(unresolved, shellWord(file))}`);
4123
4129
  }
4124
4130
  }
@@ -4126,7 +4132,7 @@ async function refreshRouteManifest(entry, emit2, projectDir) {
4126
4132
  resetLockOverrides();
4127
4133
  const lockPath = join2(dirname2(resolve2(entry)), "xano.lock");
4128
4134
  const lockModel = existsSync2(lockPath) ? readLockFile(lockPath) : void 0;
4129
- const { discoverToolchainPlugins } = await import("./toolchain-modules-C53NXT3S.js");
4135
+ const { discoverToolchainPlugins } = await import("./toolchain-modules-OXUU342N.js");
4130
4136
  const toolchain = existsSync2(emit2) ? await discoverToolchainPlugins(projectDir, { frozen: false, configuring: true, peerSkew: "skip" }) : void 0;
4131
4137
  const def = await loadDefault(entry);
4132
4138
  if (!Xano.isXano(def)) return { manifest: "absent", lockOrphans: 0 };
@@ -4138,12 +4144,12 @@ async function refreshRouteManifest(entry, emit2, projectDir) {
4138
4144
  } finally {
4139
4145
  setDiagnosticSink(previousSink);
4140
4146
  }
4141
- const { pulledIdentities } = await import("./pull-command-RPGL6LXP.js");
4147
+ const { pulledIdentities } = await import("./pull-command-XIYO7WTF.js");
4142
4148
  const live = pulledIdentities(payload);
4143
4149
  const lockOrphans = lockModel === void 0 ? 0 : Object.keys(lockModel.objects).filter((k) => k !== WORKSPACE_KEY && !live.has(k)).length;
4144
4150
  if (!existsSync2(emit2)) return { manifest: "absent", lockOrphans };
4145
- const { planRouteManifest, RouteManifestError } = await import("./routes-manifest-RIZGSOZC.js");
4146
- const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-V5JJVIPH.js");
4151
+ const { planRouteManifest, RouteManifestError } = await import("./routes-manifest-Z7I4TZIL.js");
4152
+ const { renderManifestFile, reportModuleFailures } = await import("./routes-manifest-file-BDJ6XQXF.js");
4147
4153
  const plan = planRouteManifest(payload, (kind, name) => lockModel?.objects[lockKey(kind, name)]?.canonical);
4148
4154
  if (plan.unresolved.length > 0) return { manifest: "skipped", lockOrphans };
4149
4155
  const current = readFileSync3(emit2, "utf8");
@@ -4667,7 +4673,7 @@ async function refineGonePullHint(err) {
4667
4673
  if (offer === void 0 || auth === void 0 || !(err instanceof Error) || !err.message.includes(offer.clause)) return;
4668
4674
  let gone;
4669
4675
  try {
4670
- const { lookupEphemeral } = await import("./source-resolve-I55GN6ZC.js");
4676
+ const { lookupEphemeral } = await import("./source-resolve-KB7NWL3I.js");
4671
4677
  gone = await lookupEphemeral(auth, offer.name) === null;
4672
4678
  } catch {
4673
4679
  return;
@@ -4871,4 +4877,4 @@ export {
4871
4877
  docTokenRefusalIfReplaced,
4872
4878
  envRefusalIfReplaced
4873
4879
  };
4874
- //# sourceMappingURL=chunk-U7XSQXOA.js.map
4880
+ //# sourceMappingURL=chunk-LYN3XNDE.js.map