@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
package/CHANGELOG.md CHANGED
@@ -8,6 +8,31 @@ one release and links to its full notes.
8
8
 
9
9
  ---
10
10
 
11
+ ## 1.0.10 — The v3 messaging
12
+
13
+ _2026-10-13_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.10)
14
+
15
+ The README, the project `init` writes, and the npm listing now tell the same story as xano.com: Xano is one platform to build, run and govern AI-built software. Your coding agent writes the backend in TypeScript, you run it on the Xano Engine, then deploy it to Xano. Nothing changes at runtime.
16
+
17
+ - The README leads with Write with AI · Run locally · Deploy to Xano
18
+ - The SDK docs site is linked from the README
19
+ - The deploy link opens the Xano editor
20
+ - The npm description matches the deploy default
21
+
22
+ ---
23
+
24
+ ## 1.0.9 — Agents pick the right kind
25
+
26
+ _2026-10-13_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.9)
27
+
28
+ The docs your coding agent reads now say which kind to author for a task, not just what each kind is. An MCP server gets prompts and resources where they fit, instead of only tools. The guides also describe deploys to the Xano Engine correctly. Nothing changes at runtime.
29
+
30
+ - Agents are told which kind fits each task
31
+ - MCP servers get prompts and resources, not just tools
32
+ - The deploy guides match the Xano Engine default
33
+
34
+ ---
35
+
11
36
  ## 1.0.8 — Deploys stop overwriting Xano edits
12
37
 
13
38
  _2026-10-13_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.8)
package/README.md CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  # Xano SDK
4
4
 
5
- ### The official TypeScript SDK for [Xano](https://xano.com).
5
+ ### Write your backend in TypeScript. Run it anywhere.
6
6
 
7
- **Write your app in TypeScript — the database, the APIs, even AI agents. Or let an
8
- AI write it for you. Run it on your own machine on the Xano Engine, with no account and no
9
- network. When it's ready, one command puts the same code live on Xano's cloud.**
7
+ **The official TypeScript SDK for [Xano](https://xano.com), one platform to build, run and
8
+ govern AI-built software. Your coding agent writes the database, the APIs, even AI agents.
9
+ Run it on your own machine on the Xano Engine, with no account and no network. When it's
10
+ ready, one command puts the same code live on Xano.**
10
11
 
11
12
  [![npm](https://img.shields.io/npm/v/@xano/sdk?color=%230055FF&label=%40xano%2Fsdk)](https://www.npmjs.com/package/@xano/sdk)
12
13
  [![node](https://img.shields.io/node/v/@xano/sdk)](https://nodejs.org)
@@ -21,7 +22,8 @@ network. When it's ready, one command puts the same code live on Xano's cloud.**
21
22
  [Already on Xano?](#already-have-a-xano-workspace) ·
22
23
  [Agent skill](#the-agent-skill) ·
23
24
  [Deploying](#deploying) ·
24
- [Reference](#reference)
25
+ [Reference](#reference) ·
26
+ [SDK docs](https://sdk.docs.xano.com)
25
27
 
26
28
  </div>
27
29
 
@@ -38,17 +40,18 @@ npm run dev # 3. start the frontend, already wired
38
40
  ✓ Xano Engine xanosdk-4f2a91 deployed
39
41
  ! New Xano Engine URL:
40
42
  http://127.0.0.1:53358 ← your backend, on your machine
41
- Open the builder: http://127.0.0.1:53358/signin?key=… ← Xano's visual builder, local too
43
+ Open the builder: http://127.0.0.1:53358/signin?key=… ← the Xano editor, local too
42
44
  Pointed .env.local at this deploy (VITE_XANO_HOST) ← the frontend, wired in
43
45
  ```
44
46
 
45
47
  <div align="center">
46
48
 
47
- **From an empty folder to a running full-stack app, without signing up.** `init` writes a
48
- TypeScript backend and a React or Svelte frontend. The **Xano Engine** runs that backend on
49
- your laptop: no account, no network round-trip, and your data kept between redeploys. Change
50
- your code — yourself or with an AI — and redeploy in seconds. When it's ready to share,
51
- `npm run xano:deploy:ephemeral` puts the same code on a live URL on Xano's cloud.
49
+ **From an empty folder to a running full-stack app, without signing up.**
50
+ Write with AI · Run locally · Deploy to Xano. `init` writes a TypeScript backend and a React
51
+ or Svelte frontend. The **Xano Engine** runs that backend on your laptop: no account, no
52
+ network round-trip, and your data kept between redeploys. Your agent changes the code, you
53
+ redeploy in seconds. When it's ready to share, `npm run xano:deploy:ephemeral` puts the same
54
+ code on a live URL on Xano.
52
55
 
53
56
  Outside a project the command is `npx @xano/sdk <cmd>`; inside one, `npx xanosdk <cmd>`.
54
57
 
@@ -58,16 +61,14 @@ Outside a project the command is `npx @xano/sdk <cmd>`; inside one, `npx xanosdk
58
61
 
59
62
  ## What is Xano?
60
63
 
61
- [Xano](https://xano.com) is a hosted backend platform for business-critical systems — the
62
- kind that run in production, not as prototypes. Postgres, REST APIs, auth, background tasks,
63
- realtime, file storage, MCP servers and AI agents, all run for you on Kubernetes, with
64
+ [Xano](https://xano.com) is **one backend platform to build, run and govern AI-built
65
+ software**. Your coding agent writes the database, APIs, MCP servers and agents in TypeScript
66
+ with the Xano SDK; you run them on the Xano Engine on your machine, then deploy them to Xano,
67
+ where one set of rules governs every release. It's built for business-critical systems in
68
+ production, not prototypes: Postgres, REST APIs, auth, background tasks, realtime, file
69
+ storage, MCP servers and AI agents in one place, with nothing to assemble, on Kubernetes with
64
70
  SOC 2 Type II, ISO 27001, HIPAA and GDPR coverage ([trust center](https://security.xano.com)).
65
71
 
66
- Xano's bet is simple: **AI builds software. Xano makes it trustworthy.** Everything an AI
67
- writes — a schema, an endpoint, an agent — lands somewhere you can understand, govern and
68
- run. This SDK is that idea as code in your repo: the backend is TypeScript you review, and
69
- the platform is where it runs.
70
-
71
72
  [Docs](https://docs.xano.com) ·
72
73
  [Community](https://community.xano.com) ·
73
74
  [YouTube](https://www.youtube.com/@XanoHQ) ·
@@ -79,39 +80,31 @@ the platform is where it runs.
79
80
 
80
81
  ## Why Xano SDK
81
82
 
82
- - **💻 Xano runs on your machine.** New for Xano: the Xano Engine is the platform on your
83
- laptop. It needs no account and no network. It downloads once,
84
- keeps your rows across redeploys, and opens the same visual builder you'd use in the cloud.
85
- The project pins its version in `package.json`, so everyone on the team runs the same engine.
86
- See [Xano, on your machine](#xano-on-your-machine).
87
-
88
- - **🤖 Built for AI-written code.** A deterministic, fully-typed authoring surface: an agent
89
- (or you) emits well-typed TypeScript that always compiles to a valid, importable workspace.
90
- The package ships machine-readable grounding — `llms.txt` and the topic files beside it — so
91
- a coding agent writes against the real API instead of a guess, and `init` drops an
92
- `AGENTS.md` brief into every project. See
93
- [Coverage & agent grounding](https://github.com/xano-sdk/sdk/blob/main/guides/coverage.md).
94
-
95
- - **📦 TypeScript is the source of truth.** Tables, indexes, endpoints, functions, triggers,
96
- tasks, middleware, AI toolsets — typed TS in your repo. Version it, review it in PRs, diff
97
- it, roll it back. Prod matches staging because they are the same commit.
98
-
99
- - **🚀 Deploy is built in, from laptop to production.** One `xanosdk deploy` command compiles
100
- your code and ships it, first to the Xano Engine, then to an **ephemeral** on Xano's cloud,
101
- then through a release to your **workspace**. It sends the backend **and** the static
102
- frontend and prints their URLs. There's no export/import step and no upload script to maintain.
103
-
104
- - **⚡ Disposable environments.** A Xano Engine and a cloud ephemeral are both yours to wipe
105
- and rebuild as often as you like. Deploys are identity-stable: re-running never duplicates
106
- objects, and the `xano.lock` every build writes keeps renames as renames, so your public
107
- URLs stay yours.
108
-
109
- - **🧩 The types flow to your frontend.** A generated route manifest gives it every path, verb
110
- and request type; `import type` a `query()` def for its response. Rename a column and every
111
- consumer lights up red.
83
+ - **🤖 Write with AI.** Your agent writes well-typed TypeScript that always compiles to a
84
+ valid, importable workspace. The package ships machine-readable grounding (`llms.txt` and
85
+ its topic files), `init` drops an `AGENTS.md` brief into every project, and the
86
+ [agent skill](#the-agent-skill) teaches Claude Code, Codex and Cursor the rules.
87
+
88
+ - **💻 Run locally.** The Xano Engine is your whole backend on your laptop: no account, no
89
+ network, starts in seconds, keeps your rows, and opens the Xano editor so you can see what
90
+ got built. Its version is pinned in `package.json` ([details](#xano-on-your-machine)).
91
+
92
+ - **🚀 Deploy to Xano.** One `xanosdk deploy` ships the same code, backend **and** static
93
+ frontend, to an **ephemeral** on Xano's cloud, then a release takes it to your **workspace**.
94
+
95
+ - **🛤️ Guardrails ahead of every change.** One set of rules for every person and every agent:
96
+ `export --strict` fails CI on any warning, `deploy --test` stops on a failing suite, and
97
+ `promote` refuses anything missing. Agents move fast because they can't leave the line.
98
+
99
+ - **📦 TypeScript is the source of truth.** Tables, endpoints, functions, triggers, tasks,
100
+ middleware, AI toolsets: typed TS in your repo. Review it in PRs, diff it, roll it back.
101
+ Re-running a deploy never duplicates objects, and `xano.lock` keeps renames as renames.
102
+
103
+ - **🧩 The types flow to your frontend.** A generated route manifest types every call, so a
104
+ backend rename is a compile error, not a 404.
112
105
 
113
106
  - **🔁 It works both ways.** Already have a workspace? `init --from workspace` reads it back
114
- as real, readable TypeScript — then deploys.
107
+ as real, readable TypeScript, then deploys.
115
108
 
116
109
  ---
117
110
 
@@ -129,7 +122,7 @@ npx @xano/sdk init my-app && cd my-app
129
122
  ```
130
123
 
131
124
  Theme it with a flag (`--theme zinc-blue --dark toggle`) or pick everything in a browser with
132
- `--web`. The starter backend is empty but already deploys — grow it from `xano/EXAMPLE.md`.
125
+ `--web`. The starter backend is empty but already deploys: grow it from `xano/EXAMPLE.md`.
133
126
  Flags, presets, theming and add-ons: [The scaffolded project](https://github.com/xano-sdk/sdk/blob/main/guides/scaffold.md).
134
127
 
135
128
  **Already have an app?** Run `init` inside it. In a directory that already has files, `init`
@@ -146,21 +139,21 @@ npm run xano:deploy # typecheck, then deploy the backend to an engine on this m
146
139
  npm run dev # the frontend, pointed at it through .env.local
147
140
  ```
148
141
 
149
- The deploy prints the backend URL and a link that opens Xano's visual builder on the engine.
142
+ The deploy prints the backend URL and a link that opens the Xano editor on the engine.
150
143
  That's the dev loop: edit `xano/`, redeploy, and keep `npm run dev` running. Redeploys keep
151
144
  your rows (`--keep-data`); `-- --reset` gives a clean, re-seeded slate.
152
145
 
153
146
  **3. Put it on Xano's cloud.** When you want a URL to share, sign in once and deploy to a
154
- disposable **ephemeral** — a real Xano environment with its own address. The deploy prints
147
+ disposable **ephemeral**, a real Xano environment with its own address. The deploy prints
155
148
  the backend and frontend URLs and bakes the backend one into your build as
156
149
  `window.XANO_HOST`, so the frontend never needs to know it ahead of time.
157
150
 
158
151
  ```bash
159
- npx xanosdk login # OAuth in your browser — no API keys to copy around
152
+ npx xanosdk login # OAuth in your browser, no API keys to copy around
160
153
  npm run xano:deploy:ephemeral # build the frontend, ship both → live URLs
161
154
  ```
162
155
 
163
- > No browser on this machine — a container, a Codespace, CI? `npx @xano/sdk login --paste`
156
+ > No browser on this machine (a container, a Codespace, CI)? `npx @xano/sdk login --paste`
164
157
  > prints the URL to open anywhere, and a token from your instance's settings works headless.
165
158
  > See [Signing in & deploying](https://github.com/xano-sdk/sdk/blob/main/guides/deploying.md).
166
159
 
@@ -174,16 +167,18 @@ has the two-line setup and the one rule that bites.
174
167
 
175
168
  ## Xano, on your machine
176
169
 
177
- Xano has always been a hosted platform. The **Xano Engine** is that backend packaged to run on
178
- your laptop. `xanosdk deploy` brings one up and deploys into it — it is where a deploy goes by default.
170
+ Xano has always been a hosted platform. The **Xano Engine** is the whole Xano backend,
171
+ packaged to run on your laptop: a single binary with Postgres built in. `xanosdk deploy`
172
+ brings one up and deploys into it; it is where a deploy goes by default.
179
173
 
180
174
  - **No account, no network.** A Xano Engine needs no sign-in, a cached one deploys offline,
181
- and every import runs on your machine. It's the fastest way to try Xano, and an AI agent
182
- can iterate against a real backend without credentials.
175
+ and every import runs on your machine. It's the easiest way to try Xano, and your coding
176
+ agent can iterate against a real backend without credentials.
183
177
  - **Your data stays put.** `--keep-data` merges each deploy into what the last one left, so
184
178
  rows you entered through the app survive the edit. `--reset` starts over and re-seeds.
185
- - **The builder, locally.** Every deploy prints a sign-in link to Xano's visual builder
186
- running on the engine, so you can browse your tables and see what your code compiled to.
179
+ - **The Xano editor, locally.** Every deploy prints a sign-in link to the Xano editor running
180
+ on the engine, so you can browse your tables and see what your code compiled to in Canvas
181
+ View and the Function Stack.
187
182
  - **The whole stack.** `--static ./frontend/dist` has the engine serve your built frontend
188
183
  too, and a SvelteKit app built with `@xano/sdk/sveltekit` renders on the server there.
189
184
  - **Pinned, like a dependency.** The first run pins the engine version in `package.json`;
@@ -214,7 +209,7 @@ compiles the whole thing into Xano's importable bundle.
214
209
  ```ts
215
210
  import { workspace, table, query, apiGroup, f, input, s, inp, ref, c, expr, col } from "@xano/sdk";
216
211
 
217
- // A database table — `id` + `created_at` auto-inject, so declare only your own columns.
212
+ // A database table. `id` + `created_at` auto-inject, so declare only your own columns.
218
213
  const user = table({
219
214
  name: "user",
220
215
  auth: true,
@@ -260,9 +255,9 @@ export default workspace("blog")
260
255
  .registerQueries([listPosts, createPost]);
261
256
  ```
262
257
 
263
- Tab-complete `s.` to discover the entire statement catalog — `s.db.*`, `s.math.*`,
258
+ Tab-complete `s.` to discover the entire statement catalog: `s.db.*`, `s.math.*`,
264
259
  `s.array.*`, `s.text.*`, `s.storage.*`, `s.api.*`, `s.cloud.*`, control flow, AI agent runs,
265
- and more. **All 218 engine statement surfaces are authorable** — every field name matches
260
+ and more. **All 218 engine statement surfaces are authorable**: every field name matches
266
261
  the Xano engine, and the emitted shape is checked against bytes a real engine stored. Where
267
262
  a surface has no stored instance behind it yet, it is built from the engine's own schema;
268
263
  [Coverage](https://github.com/xano-sdk/sdk/blob/main/guides/coverage.md) says which is which.
@@ -272,7 +267,7 @@ environment comes up with its lookup tables and fixtures already in place. A fil
272
267
  MCP icon takes `hostedFile("./logo.png", import.meta.url)`: the file ships with the deploy.
273
268
 
274
269
  Your workspace's own AI agents are configured the same way. `knowledge()` is the markdown
275
- they read before they act — standing instructions, a skill, or reference docs — and the body
270
+ they read before they act (standing instructions, a skill, or reference docs), and the body
276
271
  is a real `.md` file in your repo rather than a string in a def:
277
272
 
278
273
  ```ts
@@ -285,7 +280,7 @@ knowledge({
285
280
  ```
286
281
 
287
282
  So the instructions your agents follow are reviewed in a diff, versioned with the code they
288
- describe, and redeployed with it — instead of living in a console where nothing tracks them.
283
+ describe, and redeployed with it, instead of living in a console where nothing tracks them.
289
284
 
290
285
  Tables, fields, statements, values, inputs, and middleware are all in the
291
286
  [Authoring reference](https://github.com/xano-sdk/sdk/blob/main/guides/authoring.md); every
@@ -327,7 +322,7 @@ async function createPost(body: NewPost): Promise<Post> {
327
322
  (`ChannelInputs`/`MessageInputs` for realtime); `InferInput<typeof q>` is the def-side twin.
328
323
  - **`InferRow<typeof post>`** / **`InferResponse<typeof someQuery>`** → the table's row type
329
324
  and the endpoint's response type, closing the round trip. Rename or retype a column and
330
- every consumer breaks at compile time — exactly where you want it.
325
+ every consumer breaks at compile time, exactly where you want it.
331
326
  - **Runtime validation:** `npx xanosdk marketplace install zod` adds zod schemas to the file,
332
327
  keyed alike (`ROUTE_SCHEMAS["POST posts"].parse(body)`) and typechecked against the types.
333
328
 
@@ -340,7 +335,7 @@ your bundle. Bundle numbers, inference rules, and the realtime helpers are in
340
335
  ## Already have a Xano workspace?
341
336
 
342
337
  `--from` runs the loop the other way: it reads a workspace and writes it back out as
343
- readable Xano SDK source — real `s.db.query(...)`, `f.email()`, typed defs — not a JSON dump,
338
+ readable Xano SDK source (real `s.db.query(...)`, `f.email()`, typed defs), not a JSON dump,
344
339
  and inside the same runnable project `init` scaffolds. So a pull deploys:
345
340
 
346
341
  ```bash
@@ -354,8 +349,8 @@ does not model yet round-trips verbatim rather than breaking the pull. Then it c
354
349
  work: the tree it just wrote is loaded, exported, and diffed against the workspace it came
355
350
  from, so "it compiled" and "it means the same thing" are separate claims and you get both.
356
351
 
357
- > ⚠️ **After a pull, `xano/` is your source** — edit it and commit it. A pull carries schema
358
- > only — no table rows or stored files — and deploying it is a *full replace* of the target,
352
+ > ⚠️ **After a pull, `xano/` is your source**: edit it and commit it. A pull carries schema
353
+ > only (no table rows or stored files), and deploying it is a *full replace* of the target,
359
354
  > so try a change on the Xano Engine or a disposable ephemeral first.
360
355
 
361
356
  The other sources (`--from ephemeral:<name>`, `--from ./ws.json`), how env var names and
@@ -384,18 +379,18 @@ In Claude Code: `/plugin marketplace add xano-sdk/sdk`, then `/plugin install xa
384
379
 
385
380
  Code moves through three places: the **Xano Engine** on your machine, a disposable
386
381
  **ephemeral** on Xano's cloud, and your **workspace**. `deploy` reaches the first two.
387
- Reaching anything real goes through a **release** — the stored record that this code came up
382
+ Reaching anything real goes through a **release**: the stored record that this code came up
388
383
  and answered: `deploy --ephemeral --test`, then `release create v1`, then `promote v1`.
389
384
 
390
385
  | Command | Where it goes |
391
386
  |---|---|
392
- | `xanosdk deploy` | The **Xano Engine** on this machine — the default. No network round-trip per deploy, and no Xano account needed. The first run downloads the engine and pins its version in `package.json` ([details](#xano-on-your-machine)). |
393
- | `xanosdk deploy --ephemeral` | A disposable **ephemeral** on Xano's cloud — create-or-refreshed each run, auto-expiring, with its own URL. |
394
- | `xanosdk promote <release>` | Your **main Xano instance** workspace — the production target. Lands a release on a branch named for it, reads the branch back, and fails naming anything the release declared that did not arrive. `--set-live` serves it once that check passes. |
395
- | `xanosdk tenant deploy <tenant> <release>` | A **customer tenant** — the same release, on someone else's deployment. It **replaces** what the tenant serves; static hosting is kept. |
396
- | `xanosdk release transfer <release> --to-profile <profile>` | **Another workspace or instance** — copies the stored release, checked by content hash, to `promote` there. |
387
+ | `xanosdk deploy` | The **Xano Engine** on this machine, the default. No network round-trip per deploy, and no Xano account needed. The first run downloads the engine and pins its version in `package.json` ([details](#xano-on-your-machine)). |
388
+ | `xanosdk deploy --ephemeral` | A disposable **ephemeral** on Xano's cloud: create-or-refreshed each run, auto-expiring, with its own URL. |
389
+ | `xanosdk promote <release>` | Your **main Xano instance** workspace, the production target. Lands a release on a branch named for it, reads the branch back, and fails naming anything the release declared that did not arrive. `--set-live` serves it once that check passes. |
390
+ | `xanosdk tenant deploy <tenant> <release>` | A **customer tenant**: the same release, on someone else's deployment. It **replaces** what the tenant serves; static hosting is kept. |
391
+ | `xanosdk release transfer <release> --to-profile <profile>` | **Another workspace or instance**: copies the stored release, checked by content hash, to `promote` there. |
397
392
  | `xanosdk deploy --to <dest>` | The **escape hatch**: merges a local build straight into `workspace` or `tenant:<name>`, skipping the release record. |
398
- | `xanosdk publish <dir>` | **Just the frontend**: an already-built directory onto the Xano Engine or ephemeral you last deployed to, `workspace`, or `tenant:<name>` — the retry when a frontend fails after its backend landed. |
393
+ | `xanosdk publish <dir>` | **Just the frontend**: an already-built directory onto the Xano Engine or ephemeral you last deployed to, `workspace`, or `tenant:<name>`. The retry when a frontend fails after its backend landed. |
399
394
 
400
395
  Every `deploy` is a **full replace** of the disposable environment, table records included,
401
396
  unless `--keep-data` merges. Promoting is the opposite by design: it changes what your code
@@ -406,15 +401,15 @@ for a one-`set-live` rollback. A release name is refused rather than resolved wh
406
401
  `deploy --to workspace` refuses to overwrite an object edited in Xano since your last deploy or
407
402
  pull (`workspace diff` lists them); pull first, or pass `--overwrite`.
408
403
 
409
- `xanosdk status` answers where you stand in one read — who you are signed in as, which
404
+ `xanosdk status` answers where you stand in one read: who you are signed in as, which
410
405
  instance and workspace, and the backend this project last deployed to. Every flag, the
411
406
  identity model, `--json` and exit codes, and headless CI runs are in
412
407
  [Signing in & deploying](https://github.com/xano-sdk/sdk/blob/main/guides/deploying.md).
413
408
 
414
409
  ### Testing
415
410
 
416
- The tests you author — a `tests` entry on a query, function, or middleware, or a standalone
417
- `workflowTest()` — run against a deployed environment:
411
+ The tests you author (a `tests` entry on a query, function, or middleware, or a standalone
412
+ `workflowTest()`) run against a deployed environment:
418
413
 
419
414
  ```bash
420
415
  npx xanosdk test run-all # the Xano Engine or ephemeral you last deployed to
@@ -432,8 +427,9 @@ pointing one at your real workspace.
432
427
  ## Reference
433
428
 
434
429
  Every kind, statement, filter, and field type is typed, so your editor's autocomplete is
435
- the fastest lookup — tab-complete `s.`, `f.`, `c.`, `fl.`, `input.`. For the written
436
- reference, the guides carry the shape of a project and the behavior that will bite you:
430
+ the quickest lookup: tab-complete `s.`, `f.`, `c.`, `fl.`, `input.`. The
431
+ [SDK docs](https://sdk.docs.xano.com) are the full written reference; the guides carry the
432
+ shape of a project and the behavior that will bite you:
437
433
 
438
434
  | Guide | What's in it |
439
435
  |---|---|
@@ -453,7 +449,7 @@ reference, the guides carry the shape of a project and the behavior that will bi
453
449
  | [Coverage & agent grounding](https://github.com/xano-sdk/sdk/blob/main/guides/coverage.md) | What is covered, what is out of scope, and the files agents read |
454
450
 
455
451
  The package also ships two machine-readable descriptions of the same surface, generated from
456
- the SDK's own sources so they cannot drift from it: `llms.txt` (the router — the mental model
452
+ the SDK's own sources so they cannot drift from it: `llms.txt` (the router: the mental model
457
453
  and the gotchas, plus a map of the `llms/*.md` topic files) and `manifest.json` (per-entry
458
454
  detail: field schemas, filter arguments, stored names; its `cli` array plus `version` is the
459
455
  [compatibility contract](https://github.com/xano-sdk/sdk/blob/main/guides/cli.md#checking-what-an-installed-sdk-can-do)
@@ -463,15 +459,18 @@ for tools that drive the CLI).
463
459
 
464
460
  <div align="center">
465
461
 
466
- **Write TypeScript. Run it on the Xano Engine. Ship it to Xano's cloud.**
462
+ **Build in TypeScript with AI. Run it on the Xano Engine. Ship it to Xano.**
463
+
464
+ AI builds software. Xano makes it trustworthy.
467
465
 
466
+ [SDK docs](https://sdk.docs.xano.com) ·
468
467
  [npm](https://www.npmjs.com/package/@xano/sdk) ·
469
468
  [GitHub](https://github.com/xano-sdk/sdk) ·
470
469
  [Issues](https://github.com/xano-sdk/sdk/issues) ·
471
470
  [Changelog](CHANGELOG.md) ·
472
- [`llms.txt`](llms.txt) — the agent-facing router, mapping the `llms/` topic files
471
+ [`llms.txt`](llms.txt): the agent-facing router, mapping the `llms/` topic files
473
472
 
474
- Xano SDK is the official TypeScript SDK for [Xano](https://xano.com) —
473
+ Xano SDK is the official TypeScript SDK for [Xano](https://xano.com):
475
474
  [docs](https://docs.xano.com) · [community](https://community.xano.com). MIT licensed.
476
475
 
477
476
  </div>
@@ -1 +1 @@
1
- 653b17388ca6f82e9072ccb016f4ef740d147742e0a3e504ee4ad438ff480c41
1
+ 0413e5ba5b129f982055a327bf1870bcac9e9e48c6bc58480be6c16c6467a115
@@ -3,9 +3,9 @@ import {
3
3
  codingAgentDetected,
4
4
  isCI,
5
5
  refreshAgentFiles
6
- } from "./chunk-NI56XX5Z.js";
7
- import "./chunk-KDS4PDFD.js";
8
- import "./chunk-5BEK7YKY.js";
6
+ } from "./chunk-DRWUMFSP.js";
7
+ import "./chunk-7YSZSEZL.js";
8
+ import "./chunk-FGNDJBT4.js";
9
9
  import "./chunk-B3NH5UBI.js";
10
10
  import "./chunk-ZFDZKNGG.js";
11
11
  import "./chunk-FWD7AL6N.js";
@@ -19,8 +19,8 @@ import "./chunk-WAVNUTMT.js";
19
19
  import "./chunk-LLNZGEFK.js";
20
20
  import "./chunk-MF4W6FHU.js";
21
21
  import "./chunk-X2NL4KUO.js";
22
- import "./chunk-BRANWM4U.js";
23
- import "./chunk-5GIOCDUM.js";
22
+ import "./chunk-C2SAVXAB.js";
23
+ import "./chunk-IZI3SYXH.js";
24
24
  import "./chunk-LJM5CIY4.js";
25
25
  import "./chunk-C6KBZH7M.js";
26
26
  import "./chunk-YEH5OIPF.js";
@@ -36,4 +36,4 @@ export {
36
36
  isCI,
37
37
  refreshAgentFiles
38
38
  };
39
- //# sourceMappingURL=agent-file-refresh-XXCQOTWN.js.map
39
+ //# sourceMappingURL=agent-file-refresh-CKLYJRIS.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  readVersion
3
- } from "./chunk-U7XSQXOA.js";
3
+ } from "./chunk-LYN3XNDE.js";
4
4
  import "./chunk-XQO4A4Q4.js";
5
- import "./chunk-Y2LKSXFK.js";
6
- import "./chunk-SGYDFEXD.js";
5
+ import "./chunk-QAY4RW2E.js";
6
+ import "./chunk-KI6U2GD2.js";
7
7
  import "./chunk-PBK257CI.js";
8
- import "./chunk-INAM6KR6.js";
8
+ import "./chunk-WM7Y3MDE.js";
9
9
  import "./chunk-7JKNWDYN.js";
10
- import "./chunk-5VOGPS5O.js";
10
+ import "./chunk-RNKP5TA2.js";
11
11
  import "./chunk-VJTTTIIB.js";
12
- import "./chunk-IFCQCM2Q.js";
13
- import "./chunk-2VWSUG2B.js";
12
+ import "./chunk-U4LRDTIM.js";
13
+ import "./chunk-VTZF3ZNR.js";
14
14
  import "./chunk-5Y5HWQ2P.js";
15
15
  import "./chunk-F3IA3YWI.js";
16
16
  import "./chunk-LCOCRJ4K.js";
@@ -19,9 +19,9 @@ import "./chunk-YE7MHW45.js";
19
19
  import "./chunk-2MNLRIOX.js";
20
20
  import "./chunk-PFW7WFAT.js";
21
21
  import "./chunk-CJDPSCMX.js";
22
- import "./chunk-NI56XX5Z.js";
22
+ import "./chunk-DRWUMFSP.js";
23
23
  import "./chunk-VD7YTLWL.js";
24
- import "./chunk-CXWCWYX3.js";
24
+ import "./chunk-UUYKEIHP.js";
25
25
  import "./chunk-S42TFTM5.js";
26
26
  import "./chunk-ZYJP6BOO.js";
27
27
  import "./chunk-QO6BVGS5.js";
@@ -34,11 +34,11 @@ import "./chunk-IB6SKACE.js";
34
34
  import {
35
35
  expandHome
36
36
  } from "./chunk-EUUUMY7J.js";
37
- import "./chunk-6IOQRBRX.js";
37
+ import "./chunk-D5NAWB4P.js";
38
38
  import {
39
39
  AGENT_RULE_BACKENDS
40
- } from "./chunk-KDS4PDFD.js";
41
- import "./chunk-5BEK7YKY.js";
40
+ } from "./chunk-7YSZSEZL.js";
41
+ import "./chunk-FGNDJBT4.js";
42
42
  import "./chunk-B3NH5UBI.js";
43
43
  import "./chunk-ZFDZKNGG.js";
44
44
  import "./chunk-FWD7AL6N.js";
@@ -59,8 +59,8 @@ import {
59
59
  readEnvVar
60
60
  } from "./chunk-X2NL4KUO.js";
61
61
  import "./chunk-4GPIOIAC.js";
62
- import "./chunk-BRANWM4U.js";
63
- import "./chunk-5GIOCDUM.js";
62
+ import "./chunk-C2SAVXAB.js";
63
+ import "./chunk-IZI3SYXH.js";
64
64
  import "./chunk-LJM5CIY4.js";
65
65
  import "./chunk-7REDHC4N.js";
66
66
  import {
@@ -71,17 +71,17 @@ import {
71
71
  unknownSubcommand,
72
72
  writeJson
73
73
  } from "./chunk-C6KBZH7M.js";
74
- import "./chunk-T3ZVNOJC.js";
75
- import "./chunk-OHTHG3LL.js";
76
- import "./chunk-6JAEMMZ7.js";
77
- import "./chunk-6ZFJEJXZ.js";
74
+ import "./chunk-ONNSFD73.js";
75
+ import "./chunk-6LECAG3Y.js";
76
+ import "./chunk-IFXPHVPY.js";
77
+ import "./chunk-KICERNAP.js";
78
78
  import "./chunk-45ZUMF4E.js";
79
- import "./chunk-7KPKDHHI.js";
79
+ import "./chunk-76SBT7KS.js";
80
80
  import "./chunk-7FIMUFBP.js";
81
- import "./chunk-6BOKCTCM.js";
81
+ import "./chunk-NZ7ML6LG.js";
82
82
  import "./chunk-ICK36EGF.js";
83
- import "./chunk-BEXZ4XRV.js";
84
- import "./chunk-ETAZIGNT.js";
83
+ import "./chunk-AXNX4NWN.js";
84
+ import "./chunk-F2NFNYCB.js";
85
85
  import "./chunk-GSGDWJB5.js";
86
86
  import "./chunk-B5N6EWOM.js";
87
87
  import "./chunk-ERVIASGL.js";
@@ -98,9 +98,9 @@ import "./chunk-UDZX2ZL4.js";
98
98
  import "./chunk-ZY55DO5P.js";
99
99
  import "./chunk-A2AOUBJS.js";
100
100
  import "./chunk-TFFGOFVZ.js";
101
- import "./chunk-4XHAT7C5.js";
102
- import "./chunk-S56YBYMN.js";
103
- import "./chunk-UVF45BVU.js";
101
+ import "./chunk-HJZUI2ZU.js";
102
+ import "./chunk-VIRFG3WG.js";
103
+ import "./chunk-Z6N5N4MN.js";
104
104
  import "./chunk-VAX3UZOY.js";
105
105
  import "./chunk-LL6ED5IB.js";
106
106
  import "./chunk-4BW2SG2N.js";
@@ -411,4 +411,4 @@ function report(verb, outcomes, args) {
411
411
  export {
412
412
  runAgentSkillCommand
413
413
  };
414
- //# sourceMappingURL=agent-skill-command-VDSMXH4M.js.map
414
+ //# sourceMappingURL=agent-skill-command-QKQG5NIZ.js.map
@@ -2,9 +2,9 @@ import {
2
2
  backendDirFor,
3
3
  backendDirIn,
4
4
  resolveBackendDir
5
- } from "./chunk-6IOQRBRX.js";
6
- import "./chunk-KDS4PDFD.js";
7
- import "./chunk-5BEK7YKY.js";
5
+ } from "./chunk-D5NAWB4P.js";
6
+ import "./chunk-7YSZSEZL.js";
7
+ import "./chunk-FGNDJBT4.js";
8
8
  import "./chunk-B3NH5UBI.js";
9
9
  import "./chunk-ZFDZKNGG.js";
10
10
  import "./chunk-FWD7AL6N.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-HU7F56VF.js";
22
22
  import "./chunk-MF4W6FHU.js";
23
23
  import "./chunk-X2NL4KUO.js";
24
- import "./chunk-5GIOCDUM.js";
24
+ import "./chunk-IZI3SYXH.js";
25
25
  import "./chunk-LJM5CIY4.js";
26
26
  import "./chunk-C6KBZH7M.js";
27
27
  import "./chunk-YEH5OIPF.js";
@@ -37,4 +37,4 @@ export {
37
37
  projectRootFrom,
38
38
  resolveBackendDir
39
39
  };
40
- //# sourceMappingURL=backend-dir-G44PETFO.js.map
40
+ //# sourceMappingURL=backend-dir-V2FELHYM.js.map