@xano/sdk 1.0.5 → 1.0.7
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.
- package/CHANGELOG.md +35 -5
- package/README.md +56 -20
- package/dist/.build-fingerprint +1 -1
- package/dist/{agent-file-refresh-KVLR7M5Y.js → agent-file-refresh-DGGSRPJ4.js} +15 -14
- package/dist/agent-skill-command-37DFYS7Q.js +414 -0
- package/dist/{answer-shape-XGR2DGWY.js → answer-shape-RBFDCNZ7.js} +5 -5
- package/dist/{backend-dir-IE4RMUFH.js → backend-dir-KDD43X7K.js} +16 -15
- package/dist/{backend-slot-6HBWG5FN.js → backend-slot-TBOVZXDE.js} +4 -4
- package/dist/bin.js +63 -61
- package/dist/{branch-T2APKPVG.js → branch-7PIKNUD7.js} +12 -11
- package/dist/{branch-commands-HXXTCSOO.js → branch-commands-EGY7ZEZE.js} +32 -32
- package/dist/bundle.js +9 -39
- package/dist/{capture-HBXFXZEW.js → capture-GW5KNKMB.js} +3 -3
- package/dist/{chunk-3BJYQGAZ.js → chunk-26LHXLD3.js} +2 -2
- package/dist/{chunk-N6BWB35H.js → chunk-2ACWDSAQ.js} +3 -3
- package/dist/{chunk-XIABDKFQ.js → chunk-2SD4LA22.js} +2 -2
- package/dist/{chunk-K6PRKPFX.js → chunk-2XWVZRL6.js} +7 -7
- package/dist/{chunk-ES5A66IH.js → chunk-2YER2J47.js} +13 -13
- package/dist/{chunk-G57RYMKB.js → chunk-3FRGNBOC.js} +2 -2
- package/dist/{chunk-BMCZQZMI.js → chunk-46PATL23.js} +13 -9
- package/dist/{chunk-MYLPOVX6.js → chunk-47XT6WQL.js} +8 -8
- package/dist/{chunk-AWQ7BQTQ.js → chunk-4GPIOIAC.js} +6 -1
- package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
- package/dist/{chunk-QOLOQ35F.js → chunk-567KK6XF.js} +8 -8
- package/dist/{chunk-57HMNJGB.js → chunk-5GIOCDUM.js} +893 -922
- package/dist/{chunk-OKNE3TWU.js → chunk-5KJBWIDZ.js} +83 -5
- package/dist/{chunk-SRX6B544.js → chunk-5QMJOE2K.js} +5 -5
- package/dist/{chunk-AGD7F7YI.js → chunk-5SCPRXFB.js} +4 -4
- package/dist/{chunk-SNGFEESM.js → chunk-5ZG7V2VW.js} +3 -3
- package/dist/{chunk-XJU6UAFV.js → chunk-7FIMUFBP.js} +2 -2
- package/dist/{chunk-AESE434J.js → chunk-7M6JP3FS.js} +2 -2
- package/dist/{chunk-K6CB5TKM.js → chunk-7REDHC4N.js} +2 -2
- package/dist/chunk-7VR4IO5B.js +44 -0
- package/dist/{chunk-57B56I4B.js → chunk-7XXWKTCE.js} +65 -41
- package/dist/{chunk-PL7AIAWS.js → chunk-A4R5CAY4.js} +4 -111
- package/dist/{chunk-QZTJ2556.js → chunk-AKERAUNH.js} +4 -4
- package/dist/{chunk-JZWUAEMO.js → chunk-ARWMVNDJ.js} +6 -3
- package/dist/{chunk-WYS6XVZ3.js → chunk-AVS4WPPY.js} +2 -2
- package/dist/{chunk-KUU7T4ZE.js → chunk-B2URJBC4.js} +18 -18
- package/dist/chunk-B3P25SDP.js +78 -0
- package/dist/chunk-BRANWM4U.js +853 -0
- package/dist/{chunk-BBPAXOU6.js → chunk-BSVQEKHO.js} +6 -6
- package/dist/{chunk-3WHWOKU4.js → chunk-BZ6WTG3E.js} +4 -4
- package/dist/{chunk-XNZURZ7T.js → chunk-CH23ONYG.js} +77 -6
- package/dist/{chunk-SQPIECXD.js → chunk-CJDPSCMX.js} +45 -5
- package/dist/{chunk-M7GJ6YUF.js → chunk-CNZASQPL.js} +16 -2
- package/dist/{chunk-44CWK6YC.js → chunk-CPN6WSBH.js} +4 -4
- package/dist/{chunk-L3BDO2BI.js → chunk-CT3J5JRZ.js} +7 -7
- package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
- package/dist/{chunk-OGUMHW2X.js → chunk-D5OZRJ3T.js} +7 -7
- package/dist/{chunk-S5KQIFKJ.js → chunk-DG3APBUJ.js} +208 -112
- package/dist/chunk-DIWF7L33.js +995 -0
- package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
- package/dist/{chunk-LZDA6SVD.js → chunk-DXZTL7NA.js} +141 -91
- package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
- package/dist/{chunk-3VX7VAQT.js → chunk-EF4MHLEW.js} +26 -9
- package/dist/{chunk-AGSCOISO.js → chunk-ELPQTDW6.js} +108 -100
- package/dist/{chunk-Q22BMRPF.js → chunk-EPFDY5JU.js} +2 -2
- package/dist/{chunk-7DBM6XHR.js → chunk-EU32BC5B.js} +8 -8
- package/dist/{chunk-Y76ERHLK.js → chunk-FDTET7FZ.js} +6 -6
- package/dist/{chunk-Z3SNX45M.js → chunk-FENA7K7C.js} +3 -3
- package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
- package/dist/{chunk-FV55SRQU.js → chunk-FQ53GTII.js} +9 -9
- package/dist/{chunk-DEVGLLNZ.js → chunk-GHMLRFRX.js} +8 -8
- package/dist/{chunk-GMVW6ZZK.js → chunk-H2K4GFUS.js} +4 -4
- package/dist/{chunk-NUU76247.js → chunk-HTQWAQRW.js} +3 -3
- package/dist/{chunk-ROY4YAEQ.js → chunk-HU7F56VF.js} +22 -2
- package/dist/{chunk-RXCT3OCU.js → chunk-HZ6ADG3O.js} +47 -8
- package/dist/{chunk-Z2BRSQ6M.js → chunk-I6XRUU6U.js} +91 -64
- package/dist/chunk-IPNN2KRW.js +257 -0
- package/dist/{chunk-SF2B7MZK.js → chunk-IYXL5NYU.js} +259 -31
- package/dist/chunk-JI3BLXWQ.js +107 -0
- package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
- package/dist/{chunk-OVV2HXJ6.js → chunk-JOOKM7AH.js} +2 -2
- package/dist/{chunk-65SW2BA5.js → chunk-JOWY6HFL.js} +3 -3
- package/dist/{chunk-I5VEROXW.js → chunk-JX6N73H3.js} +2 -2
- package/dist/{chunk-5D6DGF3W.js → chunk-L472YIGG.js} +8 -8
- package/dist/{chunk-HLQH3AXB.js → chunk-L6HZ67P6.js} +2 -2
- package/dist/{chunk-TM5LRSBB.js → chunk-LBJA7IEM.js} +370 -45
- package/dist/chunk-LCOCRJ4K.js +116 -0
- package/dist/{chunk-DGWHAVRG.js → chunk-LJM5CIY4.js} +16 -1
- package/dist/{chunk-5RLAF6RL.js → chunk-M2C54ZBC.js} +4 -4
- package/dist/{chunk-U6DR6464.js → chunk-M3NEK3LT.js} +4 -4
- package/dist/{chunk-5XVBT6CQ.js → chunk-MBL7CXJ7.js} +2 -2
- package/dist/{chunk-5YBNXNKU.js → chunk-MFWF2NZJ.js} +12 -5
- package/dist/{chunk-TEBS7FE6.js → chunk-MYZRMSPM.js} +2 -2
- package/dist/{chunk-YSLMMR2U.js → chunk-N3YFCFCO.js} +14 -14
- package/dist/{chunk-OJPZEUPH.js → chunk-NDJAKSE7.js} +11 -8
- package/dist/{chunk-PIPIA7K7.js → chunk-NV37YGOV.js} +7 -7
- package/dist/{chunk-ZHGWR45B.js → chunk-O56DQKPL.js} +9 -9
- package/dist/{chunk-4QBGE3EO.js → chunk-ORGNLQN6.js} +6 -6
- package/dist/{chunk-NNB7VUCH.js → chunk-PEIBGH2V.js} +55 -31
- package/dist/{chunk-UJ6ZZJDD.js → chunk-PEX4QZVI.js} +2 -2
- package/dist/{chunk-LLS2WO2K.js → chunk-PV25BDCH.js} +5 -5
- package/dist/{chunk-F3557PVM.js → chunk-PY722CHR.js} +2 -2
- package/dist/{chunk-4GDEEY2U.js → chunk-QGIZLFAS.js} +4 -4
- package/dist/{chunk-YI76TURL.js → chunk-QRQ54LUI.js} +16 -14
- package/dist/{chunk-JQOX6HW4.js → chunk-RBU2YX22.js} +3 -3
- package/dist/{chunk-4NEBBKOP.js → chunk-RRMH7WMY.js} +7 -7
- package/dist/{chunk-HOOOOJJP.js → chunk-S46ODQRA.js} +2 -2
- package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
- package/dist/{chunk-4QFBEKXI.js → chunk-SDGV76HF.js} +2 -2
- package/dist/{chunk-CV54PASI.js → chunk-SGK3PTTM.js} +312 -132
- package/dist/{chunk-S5TEJIGP.js → chunk-SKEG3V2V.js} +2 -2
- package/dist/{chunk-VZ22VUAS.js → chunk-SLGJIWCY.js} +3 -3
- package/dist/{chunk-JSEVKRVJ.js → chunk-T4LJ5UR2.js} +29 -7
- package/dist/{chunk-JXKO6JT7.js → chunk-TWVUYS63.js} +24 -24
- package/dist/{chunk-UIEFE6FU.js → chunk-U5M7T6CI.js} +7 -7
- package/dist/{chunk-Z4VN347O.js → chunk-UYFUIHH3.js} +2 -2
- package/dist/{chunk-Y6NO3DLQ.js → chunk-V7MBRUK6.js} +3 -3
- package/dist/chunk-VAGSKUWC.js +67 -0
- package/dist/{chunk-A4NNCI4O.js → chunk-VIJ5D3RC.js} +3 -3
- package/dist/{chunk-3IYVHVM6.js → chunk-VJFMUJWZ.js} +4 -4
- package/dist/{chunk-V4IBHDIY.js → chunk-VNDR2T35.js} +7 -7
- package/dist/chunk-WAVNUTMT.js +9 -0
- package/dist/{chunk-KQLACS4Q.js → chunk-WNCW2RNB.js} +4 -4
- package/dist/chunk-WUEPP5HD.js +111 -0
- package/dist/{chunk-IV446ZLJ.js → chunk-Y453TW6J.js} +2 -2
- package/dist/{local-engine-command-73NHWD6V.js → chunk-YCUDOF6Q.js} +22 -76
- package/dist/{chunk-CJ76PSJT.js → chunk-YH2JVJAO.js} +12 -12
- package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
- package/dist/{chunk-AMBEITWL.js → chunk-ZGLNHA7T.js} +7 -7
- package/dist/{chunk-NGAODDLX.js → chunk-ZJOAWRED.js} +8 -8
- package/dist/{chunk-TUEFTRC2.js → chunk-ZXRDD3Q2.js} +50 -27
- package/dist/cli.d.ts +40 -11
- package/dist/cli.js +60 -56
- package/dist/{codegen-command-L2OO6OTE.js → codegen-command-T7TC7PQO.js} +79 -72
- package/dist/codegen.d.ts +2 -2
- package/dist/codegen.js +2 -2
- package/dist/{commands-2E4JB3DB.js → commands-JDENTDJS.js} +3 -3
- package/dist/{completion-LPJIH5VQ.js → completion-YFD5OVJW.js} +9 -5
- package/dist/{config-QDCRKEWD.js → config-YJFUTRJW.js} +8 -8
- package/dist/{deploy-command-HJZNYCUY.js → deploy-command-OEVEE6UG.js} +65 -63
- package/dist/deploy-source-HYVZEYXV.js +83 -0
- package/dist/{dev-env-sync-GZ4QQJGV.js → dev-env-sync-EFDCJ6KU.js} +63 -61
- package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
- package/dist/{display-name-hint-AHCNH6TF.js → display-name-hint-SW3GB3V7.js} +14 -13
- package/dist/{emit-DqG6qddr.d.ts → emit-Dov_92kn.d.ts} +66 -20
- package/dist/env-example-refresh-WNSOH534.js +134 -0
- package/dist/{env-pull-command-Z4RLVEGJ.js → env-pull-command-UYEXMQ3P.js} +53 -52
- package/dist/{env-target-ZHQUS5BO.js → env-target-JBSLBKNX.js} +15 -14
- package/dist/{env-var-command-FKQ4VVQ6.js → env-var-command-BJNRAXNV.js} +51 -49
- package/dist/{ephemeral-L4KUOGEU.js → ephemeral-CEOGMIEA.js} +11 -10
- package/dist/{ephemeral-command-GRPFI3TD.js → ephemeral-command-IPSGBCS5.js} +70 -69
- package/dist/{ephemeral-state-VLYU2BXR.js → ephemeral-state-MTBASPRS.js} +13 -12
- package/dist/{generate-command-XNODJFDQ.js → generate-command-XQXODBS6.js} +96 -86
- package/dist/{gitignore-VWRSZX5F.js → gitignore-RUVCIZO4.js} +21 -20
- package/dist/{guards-OPSGB6LG.js → guards-KYEOCVHN.js} +6 -6
- package/dist/{impersonate-command-AEKIZHHK.js → impersonate-command-MA27O7S5.js} +46 -44
- package/dist/{import-PHSSFFLA.js → import-XKRFHABE.js} +5 -5
- package/dist/index.d.ts +14 -20
- package/dist/index.js +13 -13
- package/dist/init-command-6RDTCMAB.js +143 -0
- package/dist/{init-modules-SGSX7XEY.js → init-modules-DHTBOCQT.js} +10 -9
- package/dist/{init-web-6HX3YLQP.js → init-web-ELBXSXDL.js} +3 -3
- package/dist/internal.d.ts +5 -5
- package/dist/internal.js +47 -20
- package/dist/{io-TAF4WXYQ.js → io-PGTCBSIQ.js} +6 -4
- package/dist/{keep-data-merge-GUGF7MVZ.js → keep-data-merge-TDJOIAVT.js} +33 -34
- package/dist/{lambda-config-reconcile-65U6I4KU.js → lambda-config-reconcile-47X5C2E4.js} +6 -5
- package/dist/{landed-QA6PRTV2.js → landed-F7PCHGCK.js} +3 -3
- package/dist/{landing-record-FCAWLCZU.js → landing-record-TPPYFQAS.js} +26 -25
- package/dist/{live-diff-IM4W3ELT.js → live-diff-5E2BQWQ7.js} +9 -8
- package/dist/local-engine-choice-S6VHPJRU.js +81 -0
- package/dist/local-engine-command-4EZCGZ6M.js +85 -0
- package/dist/{local-engine-config-W3KB7RWM.js → local-engine-config-2EBL3QKA.js} +3 -2
- package/dist/{local-engine-deploy-Y4OAWL7K.js → local-engine-deploy-FOPNWU7X.js} +18 -16
- package/dist/local-engine-lookup-GM3E3NPP.js +43 -0
- package/dist/local-engine-mcp-bridge-QKZHUGW3.js +423 -0
- package/dist/local-engine-mcp-command-BFQVLXZC.js +181 -0
- package/dist/{local-engine-process-6YPJHKYM.js → local-engine-process-XUQPQENQ.js} +12 -9
- package/dist/{local-engine-state-OCW5YDD7.js → local-engine-state-JQPKGB65.js} +4 -3
- package/dist/{local-engine-update-check-X7TZGRFL.js → local-engine-update-check-S7UF6ZF5.js} +7 -6
- package/dist/{lock-WXXC3QHL.js → lock-HDCHD2ON.js} +4 -2
- package/dist/{lock-commands-PKDBNRSD.js → lock-commands-HJ6Y5QVS.js} +66 -64
- package/dist/{login-command-V4U4FA5G.js → login-command-JO55NZAS.js} +34 -33
- package/dist/{logout-command-TV3P545Z.js → logout-command-MPRIRSJA.js} +18 -17
- package/dist/{loop-VKHGQ6MP.js → loop-SUB6C2LK.js} +8 -9
- package/dist/{marketplace-command-LEFOAEAV.js → marketplace-command-BM6G257N.js} +90 -54
- package/dist/{marketplace-resolve-ME7O7JBJ.js → marketplace-resolve-AWH3RG57.js} +7 -6
- package/dist/{meta-client-TEEECA5W.js → meta-client-AOSWODQQ.js} +16 -15
- package/dist/{module-manifest-7YLGIRCY.js → module-manifest-GXI46PEF.js} +7 -4
- package/dist/node.d.ts +5 -5
- package/dist/node.js +68 -67
- package/dist/operation-outcome-4UKPXTNC.js +53 -0
- package/dist/{output-target-5FWX3NGZ.js → output-target-RAZ4KN5J.js} +22 -21
- package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
- package/dist/{plan-disclosure-QGL5UYQR.js → plan-disclosure-JR52DWXN.js} +21 -21
- package/dist/{plugin-contributions-GNFTWDEB.js → plugin-contributions-E6XHLQWK.js} +6 -6
- package/dist/{plugin-prompt-VEQGMZ4T.js → plugin-prompt-IODX5EU6.js} +5 -5
- package/dist/{plugin-questions-BGRL23GO.js → plugin-questions-AAAJ7POP.js} +4 -4
- package/dist/plugin.d.ts +254 -10
- package/dist/{preflight-command-VKJKXRRI.js → preflight-command-7GKJBWOQ.js} +71 -70
- package/dist/{profile-command-P7A3BH26.js → profile-command-CM6J7E2M.js} +35 -34
- package/dist/{profile-pointer-HG7IXE4I.js → profile-pointer-KTYXL6FU.js} +5 -4
- package/dist/{project-dependency-Z4CKOCJI.js → project-dependency-OQ5575QQ.js} +11 -8
- package/dist/{project-sdk-JWZWGXXR.js → project-sdk-2ESHHZVL.js} +4 -4
- package/dist/promote-command-BDRPG6UU.js +147 -0
- package/dist/{prompt-SURZOUUW.js → prompt-MQPGU4ZI.js} +4 -4
- package/dist/{publish-command-HGAB3H4A.js → publish-command-IEMYZ7LF.js} +69 -67
- package/dist/pull-command-S5E2ABZ4.js +169 -0
- package/dist/{pull-superseded-TOT5S4QU.js → pull-superseded-E34BZVLH.js} +4 -4
- package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
- package/dist/release-command-7F5TBKO2.js +151 -0
- package/dist/{release-ns-command-WOQE2BDQ.js → release-ns-command-EK2ZQ4CC.js} +101 -100
- package/dist/{retry-command-JRGMZZAC.js → retry-command-GL5HCMVB.js} +10 -9
- package/dist/{routes-manifest-URFMAWJE.js → routes-manifest-YR4ZIMLM.js} +15 -7
- package/dist/routes-manifest-file-LCIKPDAG.js +41 -0
- package/dist/scaffold.js +4 -4
- package/dist/secrets-IV4N5HYI.js +20 -0
- package/dist/{secrets-file-YWZWVJ52.js → secrets-file-LXREYU3M.js} +21 -20
- package/dist/{secrets-fill-command-HIHK3VH2.js → secrets-fill-command-QHZS3KWM.js} +64 -62
- package/dist/{seed-24DTEY5S.js → seed-FRKMDN2Z.js} +9 -9
- package/dist/{source-resolve-OWD3MIEO.js → source-resolve-BBHYTOXI.js} +26 -24
- package/dist/{static-host-UIR2OLPQ.js → static-host-7LC7OZR4.js} +5 -5
- package/dist/{status-command-JKTHH5QE.js → status-command-TY253MJT.js} +54 -52
- package/dist/{store-zxw2go0f.d.ts → store-Boba9OOh.d.ts} +2 -2
- package/dist/{store-5YAQS6KU.js → store-VJ3OS6VO.js} +8 -7
- package/dist/sync-baseline-DOV5AGIO.js +36 -0
- package/dist/{sync-contributions-RBB6JVOL.js → sync-contributions-63542VE4.js} +20 -12
- package/dist/sync-record-RGHK7EAL.js +43 -0
- package/dist/{table-MQFVYA4K.js → table-OAYGFGEN.js} +8 -8
- package/dist/{tables-command-5Q4BSUNO.js → tables-command-PZIVDAH3.js} +45 -43
- package/dist/{tenant-Q3LPVSSM.js → tenant-Y3II4VY3.js} +12 -11
- package/dist/{tenant-command-BFVU2PEX.js → tenant-command-G6XON7CF.js} +113 -107
- package/dist/{test-command-F4VUU4QR.js → test-command-3FZOX7O3.js} +44 -42
- package/dist/{tests-5ZSDFVIJ.js → tests-KF6N6BZ7.js} +6 -6
- package/dist/{token-TERSTNU4.js → token-DJJUW5HY.js} +14 -13
- package/dist/toolchain-hooks-7PWCFLSU.js +46 -0
- package/dist/{toolchain-modules-FD5ANV2U.js → toolchain-modules-OTNSKK52.js} +8 -5
- package/dist/toolchain-peers-KQ7TQ2AR.js +28 -0
- package/dist/tracked-backend-AJCGTO5Y.js +82 -0
- package/dist/{update-check-O4C2LCZH.js → update-check-4E5L6GAW.js} +61 -59
- package/dist/{upgrade-command-NVFWLMTA.js → upgrade-command-BXMSQN4C.js} +68 -64
- package/dist/{whoami-command-YKNTISIV.js → whoami-command-NLCCIEUM.js} +17 -16
- package/dist/{workspace-GGVGE2S5.js → workspace-PNMJOXE4.js} +5 -5
- package/dist/{workspace-binding-OS4ZOX4S.js → workspace-binding-J5GWDFRI.js} +16 -15
- package/dist/{workspace-command-GTUNVN7K.js → workspace-command-MHIIY352.js} +125 -93
- package/dist/{workspace-env-467C5KHM.js → workspace-env-LLRWCHSA.js} +17 -16
- package/dist/{workspace-export-3XTVGQVM.js → workspace-export-BIKAYHWJ.js} +5 -5
- package/dist/{writable-7SSWUQJ3.js → writable-UOTO4WWC.js} +4 -4
- package/dist/{xano-6RS5XQZE.js → xano-LCI7VWPS.js} +8 -8
- package/dist/{xanosdk-import-E3WSIYUE.js → xanosdk-import-S7A3CVBN.js} +8 -8
- package/dist/{xanosdk-project-KH5TZ2KI.js → xanosdk-project-J4VCFRHP.js} +18 -17
- package/guides/README.md +2 -2
- package/guides/cli.md +73 -4
- package/guides/codegen.md +23 -5
- package/guides/codes.md +8 -2
- package/guides/coverage.md +5 -0
- package/guides/deploying.md +80 -0
- package/guides/marketplace.md +21 -0
- package/guides/module-contract.md +80 -4
- package/guides/scaffold.md +61 -10
- package/guides/typed-frontend.md +37 -0
- package/llms/client.md +11 -1
- package/llms/filters.md +4 -0
- package/llms/kinds-core.md +1 -1
- package/llms/statements-data.md +3 -2
- package/llms/toolchain.md +12 -0
- package/llms-full.txt +34 -7
- package/llms.txt +3 -3
- package/manifest.json +63 -5
- package/package.json +5 -2
- package/skills/xano-backend/SKILL.md +119 -0
- package/dist/chunk-F6IKWAIU.js +0 -664
- package/dist/chunk-M6ZFSTIZ.js +0 -630
- package/dist/chunk-MEIJDRHU.js +0 -243
- package/dist/deploy-source-5COWTBOC.js +0 -81
- package/dist/env-example-refresh-DWQIOQYR.js +0 -127
- package/dist/init-command-TI3HCKXZ.js +0 -126
- package/dist/local-engine-choice-FPJAZSSD.js +0 -79
- package/dist/operation-outcome-GNDD35WL.js +0 -51
- package/dist/promote-command-KHTIK44I.js +0 -141
- package/dist/pull-command-EUEWBRXZ.js +0 -162
- package/dist/release-command-WOVQAMUY.js +0 -147
- package/dist/toolchain-hooks-QVUZ6HZ4.js +0 -96
- package/dist/tracked-backend-B4HTME4S.js +0 -80
package/CHANGELOG.md
CHANGED
|
@@ -8,9 +8,39 @@ one release and links to its full notes.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## 1.0.6 — Request types reach the frontend
|
|
12
|
+
|
|
13
|
+
_2026-10-05_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.6)
|
|
14
|
+
|
|
15
|
+
This release types every request a frontend sends from `routes.gen.ts` alone, opens that file to marketplace modules so runtime validators can sit beside the types, and teaches `workspace diff` to say which side changed since the project and a workspace branch last matched. ⚠️ One behavior break: `s.db.transaction` no longer accepts `as`, which always bound `null`.
|
|
16
|
+
|
|
17
|
+
- `routes.gen.ts` types every request the frontend sends
|
|
18
|
+
- Toolchain modules add their own section to `routes.gen.ts`
|
|
19
|
+
- `workspace diff` says which side changed since the last sync
|
|
20
|
+
- ⚠️ `s.db.transaction` no longer takes `as`
|
|
21
|
+
- A required input that carries a default is flagged
|
|
22
|
+
- The scaffolded README keeps its platform section
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1.0.5 — The Xano Engine is the default
|
|
27
|
+
|
|
28
|
+
_2026-10-05_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.5)
|
|
29
|
+
|
|
30
|
+
This release makes the **Xano Engine**, the engine that runs on your machine, the default place your code goes. A bare `xanosdk deploy` now runs your backend locally with no Xano account, and `--ephemeral` sends it to Xano's cloud as the bare command used to. The engine is now called `local` everywhere in the CLI, and `publish` can put a frontend on it. ⚠️ Scripts that run a bare `deploy` expecting an ephemeral, or that use the `local-engine` spellings, need the changes below.
|
|
31
|
+
|
|
32
|
+
- ⚠️ `xanosdk deploy` goes to the Xano Engine by default
|
|
33
|
+
- ⚠️ The engine is `local` in the CLI
|
|
34
|
+
- `xanosdk publish` reaches the Xano Engine
|
|
35
|
+
- ⚠️ Scaffolded projects deploy locally first
|
|
36
|
+
- The README and scaffolded README introduce Xano
|
|
37
|
+
- The SDK lives at github.com/xano-sdk/sdk
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
11
41
|
## 1.0.4 — Marketplace moves to its new catalogue
|
|
12
42
|
|
|
13
|
-
_2026-10-
|
|
43
|
+
_2026-10-04_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.4)
|
|
14
44
|
|
|
15
45
|
This patch release moves `xanosdk marketplace` to the catalogue's new home. The CLI now reads modules from a new default host, `XANOSDK_MARKETPLACE_URL` works with a tenant or ephemeral base, and a module withdrawn from the marketplace is refused by `install` again. No call-site changes are needed.
|
|
16
46
|
|
|
@@ -22,7 +52,7 @@ This patch release moves `xanosdk marketplace` to the catalogue's new home. The
|
|
|
22
52
|
|
|
23
53
|
## 1.0.3 — Agents and MCP servers pass preflight
|
|
24
54
|
|
|
25
|
-
_2026-10-
|
|
55
|
+
_2026-10-04_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.3)
|
|
26
56
|
|
|
27
57
|
This patch release fixes `xanosdk preflight` on workspaces that have agents or MCP servers, and makes pulling an existing workspace into code more reliable. Agents and MCP servers without sign-in no longer fail the round trip. Workspaces pulled with `export`/codegen now re-export as they were stored and the generated tree typechecks, including shapes older workspaces carry.
|
|
28
58
|
|
|
@@ -36,7 +66,7 @@ This patch release fixes `xanosdk preflight` on workspaces that have agents or M
|
|
|
36
66
|
|
|
37
67
|
## 1.0.2 — Fixtures can pin accepted hazards
|
|
38
68
|
|
|
39
|
-
_2026-10-
|
|
69
|
+
_2026-10-04_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.2)
|
|
40
70
|
|
|
41
71
|
This patch release lets a def deliberately author three shapes the engine accepts but 1.0 refused outright: an active cache with `ttl: 0`, a call passing an input its target does not declare, and a lambda body that does not parse. Each is still flagged by default, and `export --strict` still fails on it, but a fixture that pins the engine's behavior for that input can now say so.
|
|
42
72
|
|
|
@@ -48,7 +78,7 @@ This patch release lets a def deliberately author three shapes the engine accept
|
|
|
48
78
|
|
|
49
79
|
## 1.0.1 — Safer local-engine records
|
|
50
80
|
|
|
51
|
-
_2026-10-
|
|
81
|
+
_2026-10-04_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.1)
|
|
52
82
|
|
|
53
83
|
This patch release makes the local engine's record file safe under concurrent use and removes the SDK's handling of its retired package names. If you run several local-engine deploys or stops at once, they no longer undo each other's bookkeeping.
|
|
54
84
|
|
|
@@ -60,7 +90,7 @@ This patch release makes the local engine's record file safe under concurrent us
|
|
|
60
90
|
|
|
61
91
|
## 1.0.0 — Xano SDK, the new name
|
|
62
92
|
|
|
63
|
-
_2026-10-
|
|
93
|
+
_2026-10-04_ · [release notes](https://github.com/xano-sdk/sdk/releases/tag/v1.0.0)
|
|
64
94
|
|
|
65
95
|
The SDK is now **Xano SDK**, published as `@xano/sdk` and restarting at 1.0.0. The CLI is `xanosdk`, and add-on modules ship as `@xano-sdk/*`. The earlier `@xanots/sdk` 0.0.x and `@xanots/core` 2.0.x lines are retired.
|
|
66
96
|
|
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@ network. When it's ready, one command puts the same code live on Xano's cloud.**
|
|
|
19
19
|
[The model](#the-model) ·
|
|
20
20
|
[Typed frontend](#a-type-safe-frontend-for-free) ·
|
|
21
21
|
[Already on Xano?](#already-have-a-xano-workspace) ·
|
|
22
|
+
[Agent skill](#the-agent-skill) ·
|
|
22
23
|
[Deploying](#deploying) ·
|
|
23
24
|
[Reference](#reference)
|
|
24
25
|
|
|
@@ -105,9 +106,9 @@ the platform is where it runs.
|
|
|
105
106
|
objects, and the `xano.lock` every build writes keeps renames as renames, so your public
|
|
106
107
|
URLs stay yours.
|
|
107
108
|
|
|
108
|
-
- **🧩 The types flow to your frontend.**
|
|
109
|
-
and
|
|
110
|
-
|
|
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.
|
|
111
112
|
|
|
112
113
|
- **🔁 It works both ways.** Already have a workspace? `init --from workspace` reads it back
|
|
113
114
|
as real, readable TypeScript — then deploys.
|
|
@@ -120,8 +121,8 @@ The three commands at the top of this page are the whole local loop. Here it is
|
|
|
120
121
|
time, then out to the cloud.
|
|
121
122
|
|
|
122
123
|
**1. Scaffold.** No sign-in needed. `init` writes a Vite frontend under `frontend/` (React 19 +
|
|
123
|
-
shadcn/ui by default,
|
|
124
|
-
`xano/`, and the `xano:deploy*` scripts already wired.
|
|
124
|
+
shadcn/ui by default, SvelteKit with `--framework svelte`, none with `--framework none`), a Xano
|
|
125
|
+
SDK backend under `xano/`, and the `xano:deploy*` scripts already wired.
|
|
125
126
|
|
|
126
127
|
```bash
|
|
127
128
|
npx @xano/sdk init my-app && cd my-app
|
|
@@ -131,6 +132,12 @@ Theme it with a flag (`--theme zinc-blue --dark toggle`) or pick everything in a
|
|
|
131
132
|
`--web`. The starter backend is empty but already deploys — grow it from `xano/EXAMPLE.md`.
|
|
132
133
|
Flags, presets, theming and add-ons: [The scaffolded project](https://github.com/xano-sdk/sdk/blob/main/guides/scaffold.md).
|
|
133
134
|
|
|
135
|
+
**Already have an app?** Run `init` inside it. In a directory that already has files, `init`
|
|
136
|
+
adds only the backend, with no prompt: it writes `xano/`, merges the `xano:*` scripts and
|
|
137
|
+
dependencies into your `package.json`, and writes no frontend. Anything it would overwrite is
|
|
138
|
+
listed and refused unless you pass `--force`
|
|
139
|
+
([details](https://github.com/xano-sdk/sdk/blob/main/guides/scaffold.md#no-frontend-and-existing-apps)).
|
|
140
|
+
|
|
134
141
|
**2. Run it on the Xano Engine.** The first deploy downloads the engine for your platform and
|
|
135
142
|
pins its version in `package.json`; every one after starts in seconds, offline.
|
|
136
143
|
|
|
@@ -183,9 +190,12 @@ your laptop. `xanosdk deploy` brings one up and deploys into it — it is where
|
|
|
183
190
|
commit it and every checkout runs the same engine. Newer ones are offered, never forced.
|
|
184
191
|
- **Every command reaches it.** After a local deploy, `test run-all`, `tables`, `env set`,
|
|
185
192
|
`impersonate` and `status` target the engine without a flag, and with no account.
|
|
193
|
+
- **An MCP server for your agent.** `init` connects Claude Code and Cursor to it: they read tables and
|
|
194
|
+
rows, seed data, and run functions and tests. Code still changes in `xano/` and ships with a deploy.
|
|
186
195
|
|
|
187
196
|
```bash
|
|
188
197
|
npx xanosdk local list # the engines running on this machine
|
|
198
|
+
npx xanosdk local mcp # how a coding agent connects to the engine's MCP server
|
|
189
199
|
npx xanosdk local stop <name> # stop one
|
|
190
200
|
npx xanosdk local update # move the pin to the latest engine
|
|
191
201
|
npx xanosdk local cache clear # reclaim the disk space
|
|
@@ -202,7 +212,7 @@ You author declarative def-objects, register them on one `Xano` instance, and Xa
|
|
|
202
212
|
compiles the whole thing into Xano's importable bundle.
|
|
203
213
|
|
|
204
214
|
```ts
|
|
205
|
-
import { workspace, table, query, apiGroup, f, s, ref, c, expr, col } from "@xano/sdk";
|
|
215
|
+
import { workspace, table, query, apiGroup, f, input, s, inp, ref, c, expr, col } from "@xano/sdk";
|
|
206
216
|
|
|
207
217
|
// A database table — `id` + `created_at` auto-inject, so declare only your own columns.
|
|
208
218
|
const user = table({
|
|
@@ -237,10 +247,17 @@ const listPosts = query({
|
|
|
237
247
|
response: ref("rows"),
|
|
238
248
|
});
|
|
239
249
|
|
|
250
|
+
const createPost = query({
|
|
251
|
+
verb: "POST", apiGroup: blog, name: "posts",
|
|
252
|
+
input: { title: input.text({ required: true }), body: input.text() },
|
|
253
|
+
stack: [s.db.add({ table: post, row: { title: inp("title"), body: inp("body") }, as: "row" })],
|
|
254
|
+
response: ref("row"),
|
|
255
|
+
});
|
|
256
|
+
|
|
240
257
|
export default workspace("blog")
|
|
241
258
|
.registerApiGroups([blog])
|
|
242
259
|
.registerTables([user, post])
|
|
243
|
-
.registerQueries([listPosts]);
|
|
260
|
+
.registerQueries([listPosts, createPost]);
|
|
244
261
|
```
|
|
245
262
|
|
|
246
263
|
Tab-complete `s.` to discover the entire statement catalog — `s.db.*`, `s.math.*`,
|
|
@@ -278,25 +295,27 @@ kind you can author is in [Object kinds](https://github.com/xano-sdk/sdk/blob/ma
|
|
|
278
295
|
|
|
279
296
|
## A type-safe frontend, for free
|
|
280
297
|
|
|
281
|
-
Because your API is a typed def, the code that *calls* it
|
|
282
|
-
|
|
283
|
-
straight from the defs:
|
|
298
|
+
Because your API is a typed def, the code that *calls* it never re-types a URL or a request
|
|
299
|
+
body: paths and request types come from a generated route manifest, responses from the defs:
|
|
284
300
|
|
|
285
301
|
```bash
|
|
286
302
|
npx xanosdk routes ./xano/index.ts --emit xano/routes.gen.ts # scaffolds run this before dev/build/typecheck
|
|
287
303
|
```
|
|
288
304
|
|
|
289
305
|
```ts
|
|
290
|
-
import { ROUTES, routePath } from "../xano/routes.gen.js"; // plain data, imports nothing
|
|
306
|
+
import { ROUTES, routePath, type RouteInputs } from "../xano/routes.gen.js"; // plain data, imports nothing
|
|
291
307
|
import type { post } from "../xano/index.js"; // the model above
|
|
292
308
|
import type { InferRow } from "@xano/sdk";
|
|
293
309
|
|
|
294
310
|
const BASE = window.XANO_HOST ?? import.meta.env.VITE_XANO_HOST; // deploy injects it; .env.local in dev
|
|
295
311
|
|
|
312
|
+
type NewPost = RouteInputs["POST posts"]; // { title: string; body?: string }
|
|
296
313
|
type Post = InferRow<typeof post>; // { id: number; created_at: number; title: string; … }
|
|
297
314
|
|
|
298
|
-
async function
|
|
299
|
-
const res = await fetch(BASE + routePath("
|
|
315
|
+
async function createPost(body: NewPost): Promise<Post> {
|
|
316
|
+
const res = await fetch(BASE + routePath("POST posts"), {
|
|
317
|
+
method: ROUTES["POST posts"].verb, headers: { "content-type": "application/json" }, body: JSON.stringify(body),
|
|
318
|
+
});
|
|
300
319
|
return res.json(); // typed end to end
|
|
301
320
|
}
|
|
302
321
|
```
|
|
@@ -304,15 +323,16 @@ async function fetchPosts(): Promise<Post[]> {
|
|
|
304
323
|
- **`routePath("GET blog/{slug}", { slug })`** → the endpoint path, resolved from your code
|
|
305
324
|
(or the frozen `xano.lock`). Keys are `"<VERB> <name>"` and are checked at compile time,
|
|
306
325
|
`{param}` names included: a backend rename is a compile error rather than a 404.
|
|
307
|
-
- **`
|
|
308
|
-
`
|
|
326
|
+
- **`RouteInputs["POST posts"]`** → the request-payload type, under the same keys
|
|
327
|
+
(`ChannelInputs`/`MessageInputs` for realtime); `InferInput<typeof q>` is the def-side twin.
|
|
309
328
|
- **`InferRow<typeof post>`** / **`InferResponse<typeof someQuery>`** → the table's row type
|
|
310
329
|
and the endpoint's response type, closing the round trip. Rename or retype a column and
|
|
311
330
|
every consumer breaks at compile time — exactly where you want it.
|
|
331
|
+
- **Runtime validation:** `npx xanosdk marketplace install zod` adds zod schemas to the file,
|
|
332
|
+
keyed alike (`ROUTE_SCHEMAS["POST posts"].parse(body)`) and typechecked against the types.
|
|
312
333
|
|
|
313
|
-
Import defs
|
|
314
|
-
|
|
315
|
-
numbers, the full response-inference rules, and the realtime helpers are in
|
|
334
|
+
Import defs with `import type` only: a def imported as a value carries the SDK runtime into
|
|
335
|
+
your bundle. Bundle numbers, inference rules, and the realtime helpers are in
|
|
316
336
|
[The typed frontend surface](https://github.com/xano-sdk/sdk/blob/main/guides/typed-frontend.md).
|
|
317
337
|
|
|
318
338
|
---
|
|
@@ -344,6 +364,22 @@ values travel, the doc-site token, and how to read the decode report are in
|
|
|
344
364
|
|
|
345
365
|
---
|
|
346
366
|
|
|
367
|
+
## The agent skill
|
|
368
|
+
|
|
369
|
+
`xano-backend` is an agent skill (`SKILL.md`) for the coding agent you already use: Claude Code,
|
|
370
|
+
Codex, Cursor, Copilot, Gemini CLI, Amp or OpenCode. When a project needs a backend and has none,
|
|
371
|
+
it has the agent confirm Xano with you, run `init`, deploy, and follow the `AGENTS.md` that `init`
|
|
372
|
+
wrote. (It is unrelated to `knowledge()`, the docs your workspace's own AI agents read.)
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
npx @xano/sdk agent-skill install # into each coding agent on this machine (also: status, uninstall)
|
|
376
|
+
npx skills add xano-sdk/sdk # or with the skills installer
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
In Claude Code: `/plugin marketplace add xano-sdk/sdk`, then `/plugin install xano@xano-sdk`.
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
347
383
|
## Deploying
|
|
348
384
|
|
|
349
385
|
Code moves through three places: the **Xano Engine** on your machine, a disposable
|
|
@@ -400,12 +436,12 @@ reference, the guides carry the shape of a project and the behavior that will bi
|
|
|
400
436
|
| Guide | What's in it |
|
|
401
437
|
|---|---|
|
|
402
438
|
| [Project structure](https://github.com/xano-sdk/sdk/blob/main/guides/project-structure.md) | How a `xano/` project is laid out, why registration is explicit, wiring one by hand |
|
|
403
|
-
| [The scaffolded project](https://github.com/xano-sdk/sdk/blob/main/guides/scaffold.md) | What `xanosdk init` writes, the two frontend presets, theming, add-ons, SvelteKit rules |
|
|
439
|
+
| [The scaffolded project](https://github.com/xano-sdk/sdk/blob/main/guides/scaffold.md) | What `xanosdk init` writes, the two frontend presets, no frontend, existing apps, theming, add-ons, SvelteKit rules |
|
|
404
440
|
| [The marketplace](https://github.com/xano-sdk/sdk/blob/main/guides/marketplace.md) | Finding add-ons, the two kinds of module, and the install/reinstall/remove lifecycle |
|
|
405
441
|
| [The module contract](https://github.com/xano-sdk/sdk/blob/main/guides/module-contract.md) | Building an add-on: the manifest fields, the plugin types, every hook, and what is refused |
|
|
406
442
|
| [Object kinds](https://github.com/xano-sdk/sdk/blob/main/guides/object-kinds.md) | Every authorable kind, and splitting a workspace across microservices |
|
|
407
443
|
| [Authoring reference](https://github.com/xano-sdk/sdk/blob/main/guides/authoring.md) | Tables and fields, statements, values, inputs, middleware, seed data |
|
|
408
|
-
| [CLI](https://github.com/xano-sdk/sdk/blob/main/guides/cli.md) | Every command, shell completion, and what failures look like |
|
|
444
|
+
| [CLI](https://github.com/xano-sdk/sdk/blob/main/guides/cli.md) | Every command, the agent skill, shell completion, and what failures look like |
|
|
409
445
|
| [Warning and error codes](https://github.com/xano-sdk/sdk/blob/main/guides/codes.md) | Every code the CLI and the build emit, with what it means |
|
|
410
446
|
| [Signing in & deploying](https://github.com/xano-sdk/sdk/blob/main/guides/deploying.md) | Auth, ephemerals, `--static`, releasing to production, `xanosdk preflight` |
|
|
411
447
|
| [Environment & identity](https://github.com/xano-sdk/sdk/blob/main/guides/environment.md) | Every environment variable, and how `xano.lock` pins identity |
|
package/dist/.build-fingerprint
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a3dac9a50b7a320b81dbb028431e66025ba401dc212eea0aa3ad9293c4f52ddf
|
|
@@ -3,26 +3,27 @@ import {
|
|
|
3
3
|
codingAgentDetected,
|
|
4
4
|
isCI,
|
|
5
5
|
refreshAgentFiles
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-ZXRDD3Q2.js";
|
|
7
|
+
import "./chunk-DIWF7L33.js";
|
|
8
|
+
import "./chunk-D5OZRJ3T.js";
|
|
9
|
+
import "./chunk-EF4MHLEW.js";
|
|
10
10
|
import "./chunk-ZFDZKNGG.js";
|
|
11
11
|
import "./chunk-FWD7AL6N.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-47XT6WQL.js";
|
|
13
13
|
import "./chunk-DXUICABI.js";
|
|
14
|
+
import "./chunk-L6HZ67P6.js";
|
|
14
15
|
import "./chunk-4KHEMC32.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-DNBP4GJN.js";
|
|
17
|
+
import "./chunk-CNZASQPL.js";
|
|
18
|
+
import "./chunk-WAVNUTMT.js";
|
|
18
19
|
import "./chunk-LLNZGEFK.js";
|
|
19
20
|
import "./chunk-MF4W6FHU.js";
|
|
20
21
|
import "./chunk-X2NL4KUO.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-BRANWM4U.js";
|
|
23
|
+
import "./chunk-5GIOCDUM.js";
|
|
24
|
+
import "./chunk-LJM5CIY4.js";
|
|
25
|
+
import "./chunk-CH23ONYG.js";
|
|
26
|
+
import "./chunk-YHB34BN6.js";
|
|
26
27
|
import "./chunk-UTI5G6OJ.js";
|
|
27
28
|
import "./chunk-5ZSO4T2G.js";
|
|
28
29
|
import "./chunk-TFFGOFVZ.js";
|
|
@@ -35,4 +36,4 @@ export {
|
|
|
35
36
|
isCI,
|
|
36
37
|
refreshAgentFiles
|
|
37
38
|
};
|
|
38
|
-
//# sourceMappingURL=agent-file-refresh-
|
|
39
|
+
//# sourceMappingURL=agent-file-refresh-DGGSRPJ4.js.map
|