@xano/sdk 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -5
- package/README.md +250 -342
- package/dist/.build-fingerprint +1 -1
- package/dist/agent-file-refresh-67QIX45H.js +39 -0
- package/dist/{answer-shape-LVV2SVBK.js → answer-shape-UCDUKPAN.js} +6 -6
- package/dist/{backend-dir-WZADOK3L.js → backend-dir-3LIL6SCT.js} +16 -15
- package/dist/{backend-slot-NSCTWCUX.js → backend-slot-JREP27UD.js} +4 -4
- package/dist/bin.js +59 -58
- package/dist/{branch-ONWPJ4V6.js → branch-2IPHOAYS.js} +10 -10
- package/dist/{branch-commands-ZT2MJIRS.js → branch-commands-KTKAXBAN.js} +31 -32
- package/dist/bundle.js +9 -39
- package/dist/{capture-3JNUA6C2.js → capture-GW5KNKMB.js} +4 -4
- package/dist/{chunk-FPBGAT5D.js → chunk-26MOFAJT.js} +3 -3
- package/dist/{chunk-O7QOWS6M.js → chunk-2FLIJGBZ.js} +12 -12
- package/dist/{chunk-QAEQGT5I.js → chunk-2WBH5HUY.js} +7 -7
- package/dist/{chunk-37AHZ7JX.js → chunk-3BBIDW3Y.js} +6 -6
- package/dist/{chunk-DGWHAVRG.js → chunk-3EDSPMXN.js} +12 -1
- package/dist/{chunk-2AUV6NXK.js → chunk-3II44CUJ.js} +36 -36
- package/dist/{chunk-7GX445AE.js → chunk-4XHAT7C5.js} +2 -2
- package/dist/{chunk-OOXWYAA4.js → chunk-57A5ZKPO.js} +1 -1
- package/dist/{chunk-OOGXZL7Z.js → chunk-5KJBWIDZ.js} +84 -6
- package/dist/{chunk-5YL5OC2G.js → chunk-5QMJOE2K.js} +6 -6
- package/dist/{chunk-3H3EPMFY.js → chunk-5TVFLG3C.js} +2 -2
- package/dist/{chunk-WFMVKY7I.js → chunk-5YQV35C2.js} +9 -9
- package/dist/{chunk-NA3PXMEF.js → chunk-64WWE3EF.js} +1 -1
- package/dist/{chunk-FMOEVAGT.js → chunk-6X3MY2JP.js} +3 -3
- package/dist/{chunk-2LVTBPW2.js → chunk-6X6BJN6Y.js} +3 -3
- package/dist/{chunk-DYG5D3FD.js → chunk-763M6LX3.js} +16 -2
- package/dist/{chunk-EESV6NU2.js → chunk-7FIMUFBP.js} +2 -2
- package/dist/{chunk-CFSFBKHP.js → chunk-7GAIJW62.js} +2 -2
- package/dist/{chunk-6R7S775T.js → chunk-7REDHC4N.js} +2 -2
- package/dist/chunk-7VR4IO5B.js +44 -0
- package/dist/chunk-A7MRZ4GF.js +78 -0
- package/dist/{chunk-D5ZEAF4G.js → chunk-ATJ2W7DC.js} +81 -58
- package/dist/{chunk-BUJRS7XB.js → chunk-AVS4WPPY.js} +2 -2
- package/dist/{chunk-MEE5RZ6G.js → chunk-BL3AZ3AP.js} +2 -2
- package/dist/chunk-BTVUYHWV.js +111 -0
- package/dist/{chunk-T4DUFQ2S.js → chunk-CCU5CCRX.js} +5 -5
- package/dist/{chunk-5T2CTWTB.js → chunk-CHINR7WD.js} +6 -6
- package/dist/{chunk-VD32O6KZ.js → chunk-CJDPSCMX.js} +45 -5
- package/dist/{chunk-3HOGFGKG.js → chunk-D3KEPRRN.js} +2 -2
- package/dist/{chunk-SBR2WZXG.js → chunk-D7BUMOKU.js} +60 -53
- package/dist/{chunk-WRBKLYSJ.js → chunk-DNBP4GJN.js} +4 -3
- package/dist/{chunk-JTUKLCXS.js → chunk-DXUICABI.js} +1 -1
- package/dist/{chunk-XMDDBEEM.js → chunk-E763QI3G.js} +2 -2
- package/dist/{chunk-KTGRGWZW.js → chunk-EADVVTDK.js} +7 -7
- package/dist/{chunk-FJWZ5OVV.js → chunk-ENMBEXOP.js} +3 -3
- package/dist/{chunk-OPHB5ORL.js → chunk-EQFYOOO6.js} +171 -92
- package/dist/{chunk-WOGJB2F6.js → chunk-FNLTFOUD.js} +4 -9
- package/dist/{chunk-II747OWE.js → chunk-FQ53GTII.js} +10 -10
- package/dist/{chunk-JP7M7OU7.js → chunk-FU3VCE5A.js} +46 -27
- package/dist/{chunk-OGBMUST4.js → chunk-GHQ4BVI4.js} +14 -14
- package/dist/{chunk-45YPFB7B.js → chunk-GLY552SI.js} +84 -57
- package/dist/{chunk-QV3GXQRE.js → chunk-GOLFAEUV.js} +2 -2
- package/dist/{chunk-L2GLOJAO.js → chunk-GW5RHGOB.js} +22 -22
- package/dist/{chunk-A6QTTJUI.js → chunk-GWTFI3GA.js} +2 -2
- package/dist/{chunk-MCTIKRMN.js → chunk-GZHLCUZ6.js} +8 -8
- package/dist/{chunk-664LSWE5.js → chunk-HCG7NDIL.js} +4 -4
- package/dist/{chunk-7PMVIHB3.js → chunk-I3H3HCPY.js} +50 -29
- package/dist/{chunk-LIVN53UV.js → chunk-I3VHW6XM.js} +31 -31
- package/dist/{chunk-C4FHQA7R.js → chunk-IF4PEGVD.js} +8 -8
- package/dist/{chunk-WFG67AYS.js → chunk-IMELQ2I6.js} +3 -3
- package/dist/{chunk-3P3HXN76.js → chunk-ITC2R2OT.js} +11 -11
- package/dist/{chunk-W5ONYLOP.js → chunk-IXFJORNH.js} +4 -4
- package/dist/{chunk-HMLGM2MW.js → chunk-IYXL5NYU.js} +260 -32
- package/dist/{chunk-2B22WWKL.js → chunk-JFBRXRJD.js} +59 -35
- package/dist/chunk-JI3BLXWQ.js +107 -0
- package/dist/{chunk-4DJTQ6W4.js → chunk-JIKGT7DO.js} +2 -1
- package/dist/{chunk-O5V3YH5P.js → chunk-JRVQ7M7W.js} +8 -8
- package/dist/{chunk-4APOHK7Y.js → chunk-JXVJGF3Y.js} +2 -2
- package/dist/chunk-KPFS3RGM.js +257 -0
- package/dist/{chunk-PML67X22.js → chunk-LAOMN6QQ.js} +3 -3
- package/dist/{chunk-TTVAHCWP.js → chunk-LBJA7IEM.js} +370 -45
- package/dist/{chunk-KUTFFHUM.js → chunk-LD6ARK3A.js} +2 -2
- package/dist/{chunk-HUSH7LRI.js → chunk-LL7SGTRC.js} +36 -33
- package/dist/{chunk-I2BGYNHD.js → chunk-M5CSVB23.js} +7 -7
- package/dist/{chunk-UCQ2VUTG.js → chunk-M6ZFSTIZ.js} +2 -2
- package/dist/{chunk-MNVDVR3M.js → chunk-MBDFH7XB.js} +4 -4
- package/dist/{chunk-QXTKSOFI.js → chunk-MF4W6FHU.js} +1 -1
- package/dist/{chunk-RX3EMQGN.js → chunk-MFWF2NZJ.js} +12 -5
- package/dist/{chunk-SEUCZZCP.js → chunk-N5I37JFB.js} +3 -3
- package/dist/{chunk-IJ3SXSZM.js → chunk-ND43ZOS3.js} +6 -6
- package/dist/chunk-NDWVJ2QZ.js +67 -0
- package/dist/{chunk-E65QIWOO.js → chunk-NPODGBVJ.js} +4 -4
- package/dist/{chunk-CYB7UQA2.js → chunk-OIKLDDYC.js} +5 -5
- package/dist/{chunk-MLGI2SRQ.js → chunk-PFBXSVZF.js} +4 -4
- package/dist/{chunk-AM4FKL4J.js → chunk-PL7AIAWS.js} +12 -12
- package/dist/{chunk-S7E2AHV3.js → chunk-PMMHSX4H.js} +26 -9
- package/dist/{chunk-WL2DSNJV.js → chunk-Q22BMRPF.js} +2 -2
- package/dist/{chunk-3FN2BIGB.js → chunk-QJM5XZ4K.js} +6 -6
- package/dist/{chunk-EWCDPFW5.js → chunk-QXYMDARD.js} +4 -4
- package/dist/{chunk-MLPDSGJQ.js → chunk-QZEAANWP.js} +5 -5
- package/dist/{chunk-ESZ2FF57.js → chunk-RIN4YY34.js} +88 -74
- package/dist/{chunk-37FBPMNE.js → chunk-S56YBYMN.js} +5 -2
- package/dist/{chunk-CBYQ2ZN3.js → chunk-SKEG3V2V.js} +2 -2
- package/dist/{chunk-4PQHO74B.js → chunk-SLGJIWCY.js} +4 -4
- package/dist/{chunk-IVKRT476.js → chunk-SPITRSOF.js} +2 -2
- package/dist/{chunk-BUECLQXK.js → chunk-SPKA2LV6.js} +4 -4
- package/dist/{chunk-HHW5AWVD.js → chunk-SSITMX7I.js} +30 -30
- package/dist/{chunk-OPG4DYX2.js → chunk-T4LJ5UR2.js} +29 -7
- package/dist/{chunk-LXNQWHZM.js → chunk-TECTL2NU.js} +4 -4
- package/dist/{chunk-E6H5ZEV3.js → chunk-TTEIDD5Q.js} +3 -3
- package/dist/{chunk-6VBTPV2Y.js → chunk-U35MTOXQ.js} +3 -3
- package/dist/{chunk-UKUIUS3E.js → chunk-U6MTGB46.js} +5 -5
- package/dist/{chunk-Y2ZLKBM6.js → chunk-UD2Z7K6W.js} +4 -4
- package/dist/{chunk-IXUPUFCG.js → chunk-UIVMR7UK.js} +2 -2
- package/dist/{chunk-UDE5C2XN.js → chunk-VDHA5SSQ.js} +3 -3
- package/dist/{chunk-5W7DOMIU.js → chunk-VJFMUJWZ.js} +4 -4
- package/dist/{chunk-XNCP4KYO.js → chunk-VQPDATQT.js} +1 -1
- package/dist/{chunk-KCAL4QYP.js → chunk-VW4CWVYX.js} +4 -4
- package/dist/chunk-WAVNUTMT.js +9 -0
- package/dist/{chunk-DIG3NITC.js → chunk-WBH4KJWM.js} +3 -3
- package/dist/{chunk-HSEQYBDO.js → chunk-WZHLMU6T.js} +3 -3
- package/dist/{chunk-WYEQFD6A.js → chunk-XFBGXB7X.js} +173 -105
- package/dist/{chunk-UI4OPTYR.js → chunk-Y453TW6J.js} +2 -2
- package/dist/{chunk-LUTMOHOW.js → chunk-YGLMRH5U.js} +9 -9
- package/dist/{chunk-GPI3OWRE.js → chunk-YHB34BN6.js} +2 -1
- package/dist/{chunk-5WGVIXMD.js → chunk-YKP4ZKVO.js} +14 -10
- package/dist/{chunk-MN2PB6WB.js → chunk-YR2I5HGE.js} +3 -3
- package/dist/{chunk-ZG7E72VI.js → chunk-YYC2DZMG.js} +7 -7
- package/dist/{chunk-D64XUF5Q.js → chunk-YYLUBYXM.js} +16 -16
- package/dist/{chunk-VRVKNY4A.js → chunk-Z4ZGTCCD.js} +8 -8
- package/dist/{chunk-44B4V2LR.js → chunk-ZDP6GDAB.js} +142 -142
- package/dist/{chunk-ET5DSBAC.js → chunk-ZJSTUD6D.js} +8 -8
- package/dist/cli.d.ts +36 -26
- package/dist/cli.js +57 -56
- package/dist/{codegen-command-HTWIW56U.js → codegen-command-R5IASBFC.js} +78 -72
- package/dist/codegen.d.ts +2 -2
- package/dist/codegen.js +2 -2
- package/dist/{commands-CVFYC4GK.js → commands-H7CPMMHH.js} +3 -3
- package/dist/{completion-AUEQC4XJ.js → completion-W5ZAI6TN.js} +12 -12
- package/dist/{config-JU6OQC77.js → config-MZ5KG4EP.js} +5 -5
- package/dist/{deploy-command-5WTFHMBT.js → deploy-command-34T2LKQ5.js} +64 -63
- package/dist/deploy-source-YLQ7WMYR.js +82 -0
- package/dist/{dev-env-sync-X636HLMK.js → dev-env-sync-TMJTNU3U.js} +58 -57
- package/dist/{diagnostics-LSMGB4TY.js → diagnostics-OMN5Y2AH.js} +2 -2
- package/dist/{display-name-hint-DMORHANO.js → display-name-hint-ZJGFNJKQ.js} +12 -12
- package/dist/{emit-hOFbgzde.d.ts → emit-D125xxty.d.ts} +67 -21
- package/dist/env-example-refresh-CQP3ZMKM.js +133 -0
- package/dist/{env-pull-command-WZZ7RL2E.js → env-pull-command-UTG6IC2K.js} +53 -53
- package/dist/{env-target-PO3MOLH5.js → env-target-FZROWYFS.js} +14 -14
- package/dist/{env-var-command-YKTJZFJN.js → env-var-command-VYDBQJJW.js} +51 -50
- package/dist/{ephemeral-BMFY55BQ.js → ephemeral-BIE6FMJV.js} +10 -10
- package/dist/{ephemeral-command-VDSQCOYL.js → ephemeral-command-OZ26RGXF.js} +54 -54
- package/dist/{ephemeral-state-6TY4JIPA.js → ephemeral-state-SNZOX2YK.js} +12 -12
- package/dist/{generate-command-3NTNRQRS.js → generate-command-4HR7MR36.js} +87 -79
- package/dist/{gitignore-FWPEDX6C.js → gitignore-EWQBXNX2.js} +20 -19
- package/dist/{guards-EJU2ONAX.js → guards-KYEOCVHN.js} +7 -7
- package/dist/{hosted-file-PSHJB3HX.js → hosted-file-S7YUQAH6.js} +2 -2
- package/dist/{impersonate-command-QEJA72Q2.js → impersonate-command-WC7OGKUM.js} +44 -43
- package/dist/{import-TBTOTU52.js → import-7Z4GCCPO.js} +6 -6
- package/dist/index.d.ts +14 -20
- package/dist/index.js +14 -14
- package/dist/init-command-HAO3WXH3.js +128 -0
- package/dist/{init-modules-HZRQFRLE.js → init-modules-NSKD4ASY.js} +12 -11
- package/dist/{init-web-Y2PBNJTQ.js → init-web-MKFFOQUU.js} +3 -3
- package/dist/internal.d.ts +5 -5
- package/dist/internal.js +61 -35
- package/dist/{io-ZUKAGFVE.js → io-PGTCBSIQ.js} +7 -5
- package/dist/{keep-data-merge-X5LDDCI3.js → keep-data-merge-QR2TMKEO.js} +33 -34
- package/dist/{lambda-config-reconcile-OUZ4OYAB.js → lambda-config-reconcile-7FJXXV6V.js} +4 -4
- package/dist/{landed-6VO7CX5P.js → landed-F7PCHGCK.js} +4 -4
- package/dist/{landing-record-QYECWLQ5.js → landing-record-MWXFIRCP.js} +26 -25
- package/dist/{live-diff-2S7E3SBZ.js → live-diff-5E2BQWQ7.js} +10 -9
- package/dist/local-engine-choice-VD5LNXJU.js +80 -0
- package/dist/{local-engine-command-HMTQK7MN.js → local-engine-command-RYLGMQ2O.js} +96 -95
- package/dist/{local-engine-config-5U3SC434.js → local-engine-config-W3KB7RWM.js} +2 -2
- package/dist/{local-engine-deploy-TXAOYRGF.js → local-engine-deploy-6O7NKZCA.js} +17 -17
- package/dist/{local-engine-process-6VZ7JJBP.js → local-engine-process-ZLLZEIRF.js} +12 -12
- package/dist/{local-engine-state-TJWPWCC4.js → local-engine-state-OCW5YDD7.js} +3 -3
- package/dist/{local-engine-update-check-R5SPDVEJ.js → local-engine-update-check-LVX4HBBI.js} +8 -8
- package/dist/{lock-TS465GVY.js → lock-HDCHD2ON.js} +5 -3
- package/dist/{lock-commands-4VT3L5W5.js → lock-commands-X2OECR4R.js} +62 -61
- package/dist/{login-command-O6WA4FYL.js → login-command-RLLKD565.js} +31 -30
- package/dist/{logout-command-6CPWGFY2.js → logout-command-XDMSXCDO.js} +17 -17
- package/dist/{loop-UFHKSOQ4.js → loop-SUB6C2LK.js} +9 -10
- package/dist/{marketplace-command-HKACSYKS.js → marketplace-command-2NHHY2X3.js} +89 -53
- package/dist/{marketplace-resolve-KLFYVRWS.js → marketplace-resolve-OTZYT4FG.js} +9 -8
- package/dist/{meta-client-73PX6UGJ.js → meta-client-TMHVBZFY.js} +15 -15
- package/dist/{module-manifest-GIKFNXPE.js → module-manifest-FNMW23IX.js} +7 -4
- package/dist/node.d.ts +5 -5
- package/dist/node.js +63 -63
- package/dist/operation-outcome-RN62735X.js +51 -0
- package/dist/{output-target-SZMBNYF4.js → output-target-MOLCTPBP.js} +21 -20
- package/dist/{package-manager-PRAHUSCN.js → package-manager-K762W7XT.js} +2 -2
- package/dist/{plan-disclosure-BHYG7TZ7.js → plan-disclosure-CY7AF6KP.js} +21 -22
- package/dist/{plugin-contributions-X4V22PJQ.js → plugin-contributions-WR26U7NT.js} +6 -6
- package/dist/{plugin-prompt-DKNQHW6Y.js → plugin-prompt-ZUYQQIX4.js} +5 -5
- package/dist/{plugin-questions-CQRVOWFK.js → plugin-questions-HAZOQ67R.js} +4 -4
- package/dist/plugin.d.ts +254 -10
- package/dist/{preflight-command-EBQ6XQF3.js → preflight-command-OHJXYND3.js} +70 -70
- package/dist/{profile-command-NPKBJYPM.js → profile-command-6JWT2BTL.js} +33 -32
- package/dist/{profile-pointer-UOO7JNFG.js → profile-pointer-PDA5XBIB.js} +5 -5
- package/dist/{profile-select-74TRDEPD.js → profile-select-45G5VPJK.js} +2 -2
- package/dist/{project-dependency-RRMTWOPC.js → project-dependency-GZWWGWEW.js} +13 -10
- package/dist/{project-sdk-FOR4IOXL.js → project-sdk-3W72H5QO.js} +4 -4
- package/dist/promote-command-UYAMUXKB.js +146 -0
- package/dist/{prompt-5GUQTCSP.js → prompt-U37K5RPQ.js} +4 -4
- package/dist/{publish-command-LGLZBOCB.js → publish-command-BUS27HGB.js} +138 -66
- package/dist/pull-command-ZGUNP27P.js +168 -0
- package/dist/{pull-superseded-GGURV5J3.js → pull-superseded-EZBGYRZF.js} +4 -4
- package/dist/{raw-where-EoWl5fqY.d.ts → raw-where-ZMLND6AG.d.ts} +20 -3
- package/dist/release-command-BQ6OHS3P.js +150 -0
- package/dist/{release-ns-command-EIBN3JVM.js → release-ns-command-ATGVBVIU.js} +94 -94
- package/dist/{retry-command-Y5YJGOH3.js → retry-command-QJ57WVW7.js} +9 -9
- package/dist/{routes-manifest-3BNZIVST.js → routes-manifest-YR4ZIMLM.js} +16 -8
- package/dist/routes-manifest-file-UALYSZLY.js +41 -0
- package/dist/scaffold.js +3 -3
- package/dist/{secrets-file-FUG7WCES.js → secrets-file-LMS7KX3E.js} +20 -19
- package/dist/{secrets-fill-command-QEOCUOAY.js → secrets-fill-command-QNBDGCGM.js} +61 -60
- package/dist/{seed-GJHJSEUE.js → seed-SZ6OS5DQ.js} +9 -9
- package/dist/{source-resolve-DMDZVPMM.js → source-resolve-MKLNYFWG.js} +24 -24
- package/dist/{static-host-WM24RG25.js → static-host-ONEHA4LI.js} +10 -10
- package/dist/{status-command-XUH5OGQX.js → status-command-XKIFKBGM.js} +57 -56
- package/dist/{store-CfgPaVPO.d.ts → store-Bg4Na6Sm.d.ts} +4 -4
- package/dist/{store-MR7IKXKK.js → store-X6ZH7EC3.js} +7 -7
- package/dist/sveltekit.d.ts +5 -5
- package/dist/sveltekit.js +1 -1
- package/dist/sync-baseline-DOV5AGIO.js +36 -0
- package/dist/{sync-contributions-DHP7XSTX.js → sync-contributions-HNVHDIQW.js} +21 -13
- package/dist/sync-record-PRXHLK4S.js +42 -0
- package/dist/{table-ZBDPKMNH.js → table-DC36QA4Y.js} +10 -10
- package/dist/{tables-command-X3JK7VSK.js → tables-command-UQLKTELN.js} +44 -43
- package/dist/{tenant-GKXMOYLK.js → tenant-EKNQGG5A.js} +11 -11
- package/dist/{tenant-command-P27EQHBU.js → tenant-command-2LWP2MPB.js} +105 -100
- package/dist/{test-command-A4G2FP7G.js → test-command-IU5MBBXY.js} +44 -43
- package/dist/{tests-C55M5EQS.js → tests-RG2Y5EQ4.js} +7 -7
- package/dist/{token-CMAB35GD.js → token-7AWSJLKO.js} +13 -13
- package/dist/toolchain-hooks-4ZMQLBPQ.js +46 -0
- package/dist/{toolchain-modules-3M7QDJBV.js → toolchain-modules-VU7SURVJ.js} +9 -6
- package/dist/toolchain-peers-CIDNEEQV.js +28 -0
- package/dist/tracked-backend-4BHSV7NC.js +81 -0
- package/dist/{update-check-LNNKIMML.js → update-check-A7FXIINW.js} +60 -59
- package/dist/{upgrade-command-7EUXML3P.js → upgrade-command-C5KBITFI.js} +64 -63
- package/dist/{whoami-command-KNWFWAX6.js → whoami-command-7WQII2H4.js} +16 -16
- package/dist/{workspace-TGPYOODG.js → workspace-Z46PUZNI.js} +6 -6
- package/dist/{workspace-binding-2TWZBHQY.js → workspace-binding-JE6YNDZJ.js} +15 -15
- package/dist/{workspace-command-T7Z2BDHD.js → workspace-command-FC4IMLAE.js} +119 -88
- package/dist/{workspace-env-VA7XN3UX.js → workspace-env-N4ZPFT6A.js} +17 -16
- package/dist/{workspace-export-AIGM6LC7.js → workspace-export-3A5BZTPS.js} +6 -6
- package/dist/{writable-FYJBTJOU.js → writable-D7KCZI5N.js} +4 -4
- package/dist/{xano-BSHYVFSE.js → xano-LCI7VWPS.js} +9 -9
- package/dist/{xanosdk-import-J6SRBZHW.js → xanosdk-import-P2A2KSXM.js} +10 -10
- package/dist/xanosdk-project-6AGMW2SL.js +42 -0
- package/guides/README.md +1 -0
- package/guides/authoring.md +3 -5
- package/guides/bundle.md +45 -0
- package/guides/cli.md +36 -34
- package/guides/codegen.md +5 -4
- package/guides/codes.md +16 -11
- package/guides/deploying.md +115 -58
- package/guides/environment.md +13 -13
- package/guides/marketplace.md +21 -0
- package/guides/module-contract.md +80 -4
- package/guides/project-structure.md +14 -0
- package/guides/typed-frontend.md +37 -0
- package/llms/client.md +14 -5
- package/llms/errors.md +1 -1
- package/llms/filters.md +4 -0
- package/llms/kinds-core.md +1 -1
- package/llms/statements-data.md +3 -2
- package/llms/tests.md +2 -2
- package/llms/toolchain.md +12 -0
- package/llms-full.txt +47 -21
- package/llms.txt +10 -10
- package/manifest.json +110 -107
- package/package.json +4 -4
- package/dist/agent-file-refresh-LB6KIMFY.js +0 -38
- package/dist/chunk-XXZZGXW2.js +0 -243
- package/dist/deploy-source-5CET3A5D.js +0 -81
- package/dist/env-example-refresh-ZO6XAV44.js +0 -127
- package/dist/init-command-27SFBW2F.js +0 -126
- package/dist/local-engine-choice-6BSPEG3E.js +0 -79
- package/dist/operation-outcome-2P4BVSEV.js +0 -51
- package/dist/promote-command-4F2NAE6P.js +0 -141
- package/dist/pull-command-WQFPLITW.js +0 -162
- package/dist/release-command-2OTNVMIL.js +0 -147
- package/dist/toolchain-hooks-BGZBDFAT.js +0 -96
- package/dist/tracked-backend-PZGUWD5J.js +0 -80
- package/dist/xanosdk-project-6KTCO47O.js +0 -41
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
classifyNpmFailure
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YYC2DZMG.js";
|
|
4
4
|
import {
|
|
5
5
|
condenseNpmError,
|
|
6
6
|
runNpmQuiet,
|
|
@@ -8,17 +8,18 @@ import {
|
|
|
8
8
|
} from "./chunk-ZFDZKNGG.js";
|
|
9
9
|
import {
|
|
10
10
|
detectInstallRoot
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DNBP4GJN.js";
|
|
12
12
|
import {
|
|
13
13
|
decodeDigest,
|
|
14
14
|
reactPreset
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-M6ZFSTIZ.js";
|
|
16
16
|
import {
|
|
17
17
|
blockVersion,
|
|
18
18
|
composeBlock,
|
|
19
19
|
findBlock,
|
|
20
|
+
htmlDialect,
|
|
20
21
|
upsertBlock
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-3EDSPMXN.js";
|
|
22
23
|
import {
|
|
23
24
|
detail,
|
|
24
25
|
projectFileCli,
|
|
@@ -28,7 +29,7 @@ import {
|
|
|
28
29
|
success,
|
|
29
30
|
warn,
|
|
30
31
|
withSpinner
|
|
31
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-D7BUMOKU.js";
|
|
32
33
|
import {
|
|
33
34
|
defaultThemeChoice,
|
|
34
35
|
themeGuidanceSection
|
|
@@ -58,6 +59,8 @@ The published types and JSDoc (\`node_modules/@xano/sdk/**/*.d.ts\`) are that
|
|
|
58
59
|
same surface with the compiler attached. Author against those signatures. Do
|
|
59
60
|
**not** invent an API that isn't there \u2014 if the types don't offer something,
|
|
60
61
|
make your best typed guess from the exported signatures and note the gap.`;
|
|
62
|
+
var README_GUIDANCE = `- \`README.md\` \u2014 for a visitor to the repository: what the app does, how to run it, and
|
|
63
|
+
what it is built on. Its \`## Built with\` footer is a managed block this SDK refreshes.`;
|
|
61
64
|
var LOCK_GUIDANCE = `Object identity derives from \`(type, name)\`, so a rename
|
|
62
65
|
changes an object's guid and the engine DELETES and recreates it rather than
|
|
63
66
|
renaming in place. \`xano/xano.lock\` freezes each guid and each API group's
|
|
@@ -98,14 +101,14 @@ backend reads with \`env("NAME")\`; the VALUES live in \`xano/.env\`, which is g
|
|
|
98
101
|
- On Windows there is no ACL equivalent to the 0600 the file is created with, the
|
|
99
102
|
same exposure \`.xano/auth.json\` already carries.`;
|
|
100
103
|
var BACKENDS_GUIDANCE = `- A bare command (\`npm run xano:test\`, \`npx xanosdk env set\`, \`npx xanosdk tables\`,
|
|
101
|
-
\`npx xanosdk impersonate\`) reaches the ephemeral or
|
|
104
|
+
\`npx xanosdk impersonate\`) reaches the ephemeral or Xano Engine this project last
|
|
102
105
|
deployed to, never the workspace; the grammar that names another is **Backends**
|
|
103
|
-
in \`node_modules/@xano/sdk/llms.txt\`. After a local
|
|
104
|
-
\`
|
|
105
|
-
\`npm run xano:deploy:
|
|
106
|
-
|
|
106
|
+
in \`node_modules/@xano/sdk/llms.txt\`. After a local deploy,
|
|
107
|
+
\`npm run xano:deploy:frontend\` publishes the build to the engine. A Xano Engine
|
|
108
|
+
cannot be released from, so stand the code up with \`npm run xano:deploy:ephemeral\`
|
|
109
|
+
and cut with
|
|
107
110
|
\`npx xanosdk release create <name> --from ephemeral\`.
|
|
108
|
-
- \`npm run xano:deploy
|
|
111
|
+
- \`npm run xano:deploy\` and every bare command after it need no Xano
|
|
109
112
|
account \u2014 the local loop runs without \`npx xanosdk login\`.
|
|
110
113
|
- \`npx xanosdk impersonate\` prints a session URL: treat it as a credential. \`--guest\`
|
|
111
114
|
opens a read-only look.`;
|
|
@@ -149,9 +152,10 @@ ${LEARN_FROM_THE_LIBRARY}
|
|
|
149
152
|
|
|
150
153
|
\`frontend/src/lib/api.ts\` takes request paths from \`xano/routes.gen.ts\`
|
|
151
154
|
(\`routePath("GET notes/{id}", { id })\`), generated from the query defs by
|
|
152
|
-
\`npm run xano:routes\` and regenerated by dev, build and typecheck
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
\`npm run xano:routes\` and regenerated by dev, build and typecheck. Request types
|
|
156
|
+
come from the same file (\`RouteInputs["POST create_note"]\`, \`MessageInputs\` for
|
|
157
|
+
realtime); response types from the defs with \`import type\` (\`InferResponse\`).
|
|
158
|
+
Never hand-type a URL or a request body, and never import a
|
|
155
159
|
def as a value in the frontend: its \`getPath()\` drags the backend into the bundle.
|
|
156
160
|
|
|
157
161
|
### Layout
|
|
@@ -160,6 +164,7 @@ def as a value in the frontend: its \`getPath()\` drags the backend into the bun
|
|
|
160
164
|
groups, and endpoints. Pin each API group's canonical slug so public paths are
|
|
161
165
|
stable and \`xano:routes\` resolves without a lock file.
|
|
162
166
|
- \`xano/EXAMPLE.md\` \u2014 the walkthrough for adding your first table + endpoint.
|
|
167
|
+
${README_GUIDANCE}
|
|
163
168
|
${frontendSection(frontend)}
|
|
164
169
|
|
|
165
170
|
### Workflow
|
|
@@ -167,8 +172,10 @@ ${frontendSection(frontend)}
|
|
|
167
172
|
- \`npm run dev\` \u2014 run the frontend.
|
|
168
173
|
- \`npm run typecheck\` / \`npm run build\` \u2014 must stay green.
|
|
169
174
|
- \`npm run xano:export\` \u2014 compile the backend to \`workspace.json\` (never commit it).
|
|
170
|
-
- \`
|
|
171
|
-
|
|
175
|
+
- \`npm run xano:deploy\` \u2014 deploy the backend to the Xano Engine on this machine
|
|
176
|
+
(no account needed; redeploys keep the rows). Run it after every backend change.
|
|
177
|
+
- \`npx xanosdk login\` then \`npm run xano:deploy:ephemeral\` \u2014 ship the backend +
|
|
178
|
+
static frontend to a disposable **ephemeral** environment on Xano's cloud.
|
|
172
179
|
- \`npm run xano:test\` \u2014 run the DEPLOYED environment's unit + workflow tests
|
|
173
180
|
(exits 5 on a failure). See "Testing" below.
|
|
174
181
|
${BACKENDS_GUIDANCE}
|
|
@@ -182,7 +189,7 @@ ${ENV_GUIDANCE}
|
|
|
182
189
|
A deploy targets a throwaway environment. Reaching a real one goes through a
|
|
183
190
|
**release** \u2014 the stored record that code came up and answered:
|
|
184
191
|
|
|
185
|
-
1. \`npm run xano:deploy\` \u2014 stand the current code up on an ephemeral.
|
|
192
|
+
1. \`npm run xano:deploy:ephemeral\` \u2014 stand the current code up on an ephemeral.
|
|
186
193
|
2. \`npx xanosdk release create <name>\` \u2014 cut a release from it. An existing name is
|
|
187
194
|
refused; cut a new one.
|
|
188
195
|
3. \`npx xanosdk promote <name>\` \u2014 land it in the workspace, or
|
|
@@ -247,9 +254,10 @@ drive a Xano workspace from code.
|
|
|
247
254
|
re-running \`init --from\`) refreshes it from a backend: it lists what will change
|
|
248
255
|
and asks first, keeps files you added, and overwrites the files it decodes. Commit
|
|
249
256
|
before refreshing, so an overwritten edit is still in git.
|
|
250
|
-
- **\`npx xanosdk deploy\` is a full replace** of a
|
|
251
|
-
(\`npm run xano:deploy\`), unless \`--keep-data\`
|
|
252
|
-
|
|
257
|
+
- **\`npx xanosdk deploy\` is a full replace** of a Xano Engine or a disposable
|
|
258
|
+
**ephemeral** environment (\`npm run xano:deploy:ephemeral\`), unless \`--keep-data\`
|
|
259
|
+
merges into the one an earlier deploy filled (\`npm run xano:deploy\` passes it). A
|
|
260
|
+
real workspace is reached with \`npx xanosdk promote <release>\` or
|
|
253
261
|
\`deploy --to workspace\`, which merge and leave table rows alone.
|
|
254
262
|
|
|
255
263
|
Read \`xano/README.md\` first: it is the generated record of what did and did not
|
|
@@ -261,8 +269,9 @@ ${LEARN_FROM_THE_LIBRARY}
|
|
|
261
269
|
|
|
262
270
|
\`frontend/src/lib/api.ts\` takes request paths from \`xano/routes.gen.ts\`
|
|
263
271
|
(\`routePath("GET notes/{id}", { id })\`), generated from the query defs in
|
|
264
|
-
\`xano/\` by \`npm run xano:routes
|
|
265
|
-
\`
|
|
272
|
+
\`xano/\` by \`npm run xano:routes\`. Request types come from the same file
|
|
273
|
+
(\`RouteInputs["<VERB> <name>"]\`, \`MessageInputs\` for realtime); response types
|
|
274
|
+
from the defs with \`import type\` (\`InferResponse\`). Never hand-type a URL or a
|
|
266
275
|
request body, and never import a def as a value in the frontend.
|
|
267
276
|
|
|
268
277
|
### Layout
|
|
@@ -270,6 +279,7 @@ request body, and never import a def as a value in the frontend.
|
|
|
270
279
|
- \`xano/index.ts\` \u2014 the barrel: default-exports the \`workspace()\` with every pulled object registered.
|
|
271
280
|
- \`xano/<kind>/<name>.ts\` \u2014 one file per object (tables in \`xano/table/\`); \`xano/_shared.ts\` \u2014 anything else referenced from more than one file.
|
|
272
281
|
- \`xano/README.md\` \u2014 the decode report for this pull.
|
|
282
|
+
${README_GUIDANCE}
|
|
273
283
|
${frontendSection(frontend)}
|
|
274
284
|
|
|
275
285
|
### Workflow
|
|
@@ -277,7 +287,8 @@ ${frontendSection(frontend)}
|
|
|
277
287
|
- \`npm run dev\` \u2014 run the frontend.
|
|
278
288
|
- \`npm run typecheck\` / \`npm run build\` \u2014 must stay green.
|
|
279
289
|
- \`npm run xano:export\` \u2014 compile the backend to \`workspace.json\` (never commit it).
|
|
280
|
-
- \`
|
|
290
|
+
- \`npm run xano:deploy\` \u2014 deploy the backend to the Xano Engine on this machine (no account needed).
|
|
291
|
+
- \`npx xanosdk login\` then \`npm run xano:deploy:ephemeral\` \u2014 ship the backend + static frontend to an ephemeral env.
|
|
281
292
|
- \`npx xanosdk release create <name>\` then \`npx xanosdk promote <name>\` \u2014 the path to a real workspace.
|
|
282
293
|
- \`npx xanosdk pull [source]\` \u2014 refresh \`xano/\` from a live backend; it REPLACES the directory.
|
|
283
294
|
- \`npm run xano:test\` \u2014 run the DEPLOYED environment's unit + workflow tests (exits 5 on a failure). See "Testing" below.
|
|
@@ -302,15 +313,7 @@ Other \`@xano-sdk/*\` packages register onto the same workspace \u2014 but a
|
|
|
302
313
|
composing them from a module outside \`xano/\`.
|
|
303
314
|
`;
|
|
304
315
|
}
|
|
305
|
-
var
|
|
306
|
-
var BLOCK_END = "<!-- END:xanosdk-agent-rules -->";
|
|
307
|
-
var AGENT_DIALECT = {
|
|
308
|
-
begin: () => BLOCK_BEGIN,
|
|
309
|
-
end: () => BLOCK_END,
|
|
310
|
-
stamp: (version) => `<!-- xanosdk ${version} \u2014 generated; edits inside this block are overwritten -->`,
|
|
311
|
-
parseStamp: (block) => /<!-- xanosdk ([^\s]+) — generated/.exec(block)?.[1] ?? null
|
|
312
|
-
};
|
|
313
|
-
var AGENT_BLOCK = { dialect: AGENT_DIALECT, pkg: "xanosdk-agent-rules" };
|
|
316
|
+
var AGENT_BLOCK = { dialect: htmlDialect("xanosdk-agent-rules"), pkg: "xanosdk-agent-rules" };
|
|
314
317
|
function managedBlock(body, version) {
|
|
315
318
|
return composeBlock(AGENT_BLOCK, [body], version);
|
|
316
319
|
}
|
|
@@ -657,4 +660,4 @@ export {
|
|
|
657
660
|
changedOnDisk,
|
|
658
661
|
scaffoldProject
|
|
659
662
|
};
|
|
660
|
-
//# sourceMappingURL=chunk-
|
|
663
|
+
//# sourceMappingURL=chunk-LL7SGTRC.js.map
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
httpFailure,
|
|
13
13
|
isTimeoutError,
|
|
14
14
|
statusLabel
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YR2I5HGE.js";
|
|
16
16
|
import {
|
|
17
17
|
pointerRootFor,
|
|
18
18
|
resolveProjectProfile
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-26MOFAJT.js";
|
|
20
20
|
import {
|
|
21
21
|
atomicWrite,
|
|
22
22
|
linkTarget
|
|
@@ -24,13 +24,13 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
DEFAULT_PROFILE,
|
|
26
26
|
resolveActiveProfile
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-MF4W6FHU.js";
|
|
28
28
|
import {
|
|
29
29
|
readEnvVar
|
|
30
30
|
} from "./chunk-X2NL4KUO.js";
|
|
31
31
|
import {
|
|
32
32
|
UsageError
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-D7BUMOKU.js";
|
|
34
34
|
import {
|
|
35
35
|
shellQuote
|
|
36
36
|
} from "./chunk-5ZSO4T2G.js";
|
|
@@ -450,7 +450,7 @@ function resolveAuthFilePath(args, mode = "read") {
|
|
|
450
450
|
if (explicit !== void 0 && args.local && resolve(explicit) !== localAuthFilePath()) {
|
|
451
451
|
const named = args.authFile !== void 0 ? `\`--config ${explicit}\`` : `XANO_CONFIG=${explicit}`;
|
|
452
452
|
throw new UsageError(
|
|
453
|
-
`\`--local\` selects the project-local .xano/auth.json and ${named} names another credential file \u2014 they cannot both be the one this command uses. Drop \`--local\`` + (args.authFile !== void 0 ? `, or drop \`--config\`.` : `, or unset XANO_CONFIG.`)
|
|
453
|
+
`\`--local-auth\` selects the project-local .xano/auth.json and ${named} names another credential file \u2014 they cannot both be the one this command uses. Drop \`--local-auth\`` + (args.authFile !== void 0 ? `, or drop \`--config\`.` : `, or unset XANO_CONFIG.`)
|
|
454
454
|
);
|
|
455
455
|
}
|
|
456
456
|
if (explicit !== void 0) {
|
|
@@ -698,7 +698,7 @@ function credentialFileFlag(path) {
|
|
|
698
698
|
return abs === resolve(byEnv) ? "" : ` --config ${shellQuote(abs)}`;
|
|
699
699
|
}
|
|
700
700
|
if (abs === resolve(globalAuthFilePath())) return "";
|
|
701
|
-
if (abs === localAuthFilePath()) return " --local";
|
|
701
|
+
if (abs === localAuthFilePath()) return " --local-auth";
|
|
702
702
|
return ` --config ${shellQuote(abs)}`;
|
|
703
703
|
}
|
|
704
704
|
function loginCommand(profile, target = {}, extra = []) {
|
|
@@ -1189,4 +1189,4 @@ export {
|
|
|
1189
1189
|
addGitignoreRule,
|
|
1190
1190
|
gitSaysIgnored
|
|
1191
1191
|
};
|
|
1192
|
-
//# sourceMappingURL=chunk-
|
|
1192
|
+
//# sourceMappingURL=chunk-M5CSVB23.js.map
|
|
@@ -160,7 +160,7 @@ function decodeMarkerWith(previous, files) {
|
|
|
160
160
|
digests: Object.fromEntries(sorted.map((f) => [f.path, decodeDigest(f.content)]))
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
|
-
var SOURCE_KINDS = /* @__PURE__ */ new Set(["workspace", "ephemeral", "local
|
|
163
|
+
var SOURCE_KINDS = /* @__PURE__ */ new Set(["workspace", "ephemeral", "local", "tenant", "release"]);
|
|
164
164
|
function decodeMarkerHead(previous, command, provenance, sdkVersion, report) {
|
|
165
165
|
const colon = provenance.indexOf(":");
|
|
166
166
|
const kind = colon === -1 ? provenance : provenance.slice(0, colon);
|
|
@@ -627,4 +627,4 @@ export {
|
|
|
627
627
|
decodeMarkerWith,
|
|
628
628
|
decodeMarkerHead
|
|
629
629
|
};
|
|
630
|
-
//# sourceMappingURL=chunk-
|
|
630
|
+
//# sourceMappingURL=chunk-M6ZFSTIZ.js.map
|
|
@@ -3,17 +3,17 @@ import {
|
|
|
3
3
|
listAnswer,
|
|
4
4
|
notTheAnswer,
|
|
5
5
|
writeTransportFailure
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7GAIJW62.js";
|
|
7
7
|
import {
|
|
8
8
|
SENT_AFTERMATH,
|
|
9
9
|
fetchOrExplain,
|
|
10
10
|
readBodyText,
|
|
11
11
|
safeHttpFailure,
|
|
12
12
|
withWriteStatusAftermath
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YR2I5HGE.js";
|
|
14
14
|
import {
|
|
15
15
|
isNonPublicColumn
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SLGJIWCY.js";
|
|
17
17
|
|
|
18
18
|
// src/deploy/table.ts
|
|
19
19
|
var TIMEOUT_MS = 3e4;
|
|
@@ -184,4 +184,4 @@ export {
|
|
|
184
184
|
truncateTable,
|
|
185
185
|
insertTableRows
|
|
186
186
|
};
|
|
187
|
-
//# sourceMappingURL=chunk-
|
|
187
|
+
//# sourceMappingURL=chunk-MBDFH7XB.js.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LOCK_PAYLOAD_KEYS,
|
|
3
|
-
lockKey
|
|
4
|
-
|
|
3
|
+
lockKey,
|
|
4
|
+
withSyncedOf
|
|
5
|
+
} from "./chunk-5KJBWIDZ.js";
|
|
5
6
|
|
|
6
7
|
// src/lock/landed.ts
|
|
7
8
|
function destinationKey(instance, dest) {
|
|
@@ -82,7 +83,10 @@ function applyLanding(lock, destKey, update) {
|
|
|
82
83
|
if (Object.keys(next).length > 0) landed[destKey] = next;
|
|
83
84
|
else delete landed[destKey];
|
|
84
85
|
const objects = withoutPrunedObjects(lock.objects, update);
|
|
85
|
-
return
|
|
86
|
+
return withSyncedOf(
|
|
87
|
+
Object.keys(landed).length > 0 ? { version: lock.version, objects, landed } : { version: lock.version, objects },
|
|
88
|
+
lock
|
|
89
|
+
);
|
|
86
90
|
}
|
|
87
91
|
function withoutPrunedObjects(objects, update) {
|
|
88
92
|
const drop = Object.entries(update.removed ?? {}).filter(
|
|
@@ -131,7 +135,10 @@ function withStoredColumns(identities, stored) {
|
|
|
131
135
|
function withoutLanding(lock, destKey) {
|
|
132
136
|
if (lock.landed?.[destKey] === void 0) return lock;
|
|
133
137
|
const { [destKey]: _dropped, ...landed } = lock.landed;
|
|
134
|
-
return
|
|
138
|
+
return withSyncedOf(
|
|
139
|
+
Object.keys(landed).length > 0 ? { version: lock.version, objects: lock.objects, landed } : { version: lock.version, objects: lock.objects },
|
|
140
|
+
lock
|
|
141
|
+
);
|
|
135
142
|
}
|
|
136
143
|
function landedOn(lock, destKey) {
|
|
137
144
|
const record = lock.landed?.[destKey];
|
|
@@ -153,4 +160,4 @@ export {
|
|
|
153
160
|
withoutLanding,
|
|
154
161
|
landedOn
|
|
155
162
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-MFWF2NZJ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
recordedCredentialFile,
|
|
4
4
|
recordedCredentialPath,
|
|
5
5
|
resolveAuthFilePath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-M5CSVB23.js";
|
|
7
7
|
import {
|
|
8
8
|
readEnvVar
|
|
9
9
|
} from "./chunk-X2NL4KUO.js";
|
|
@@ -43,7 +43,7 @@ function contextFlags(args = ambient, opts = {}) {
|
|
|
43
43
|
try {
|
|
44
44
|
file = credentialFileFlag(resolveAuthFilePath(args));
|
|
45
45
|
} catch {
|
|
46
|
-
file = args.local ? " --local" : args.authFile !== void 0 ? ` --config ${shellQuote(args.authFile)}` : "";
|
|
46
|
+
file = args.local ? " --local-auth" : args.authFile !== void 0 ? ` --config ${shellQuote(args.authFile)}` : "";
|
|
47
47
|
}
|
|
48
48
|
const profile = args.profile !== void 0 && args.profile !== "" ? ` --profile ${shellQuote(args.profile)}` : "";
|
|
49
49
|
return `${profile}${file}`;
|
|
@@ -73,4 +73,4 @@ export {
|
|
|
73
73
|
ENV_CREDENTIAL_VARS,
|
|
74
74
|
recordedByEnvCredential
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-N5I37JFB.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-X4DVXBFY.js";
|
|
7
7
|
import {
|
|
8
8
|
ImportHttpError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BL3AZ3AP.js";
|
|
10
10
|
import {
|
|
11
11
|
describeWrite
|
|
12
12
|
} from "./chunk-4KHEMC32.js";
|
|
@@ -26,16 +26,16 @@ import {
|
|
|
26
26
|
statusLabel,
|
|
27
27
|
transportTarget,
|
|
28
28
|
writeStatusAftermath
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-YR2I5HGE.js";
|
|
30
30
|
import {
|
|
31
31
|
calcSignatureJson,
|
|
32
32
|
signatureHolds
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-7FIMUFBP.js";
|
|
34
34
|
import {
|
|
35
35
|
HOSTED_FILE_SCHEME,
|
|
36
36
|
HOSTED_ICON_KINDS,
|
|
37
37
|
HOSTED_ROW_PATH_PREFIX
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-VQPDATQT.js";
|
|
39
39
|
|
|
40
40
|
// src/deploy/xanosdk-import.ts
|
|
41
41
|
var IMPORT_TIMEOUT_MS = 12e4;
|
|
@@ -461,7 +461,7 @@ async function post(auth, url, opts, action) {
|
|
|
461
461
|
const aftermath = !writes ? `A dry run writes nothing, so ${target} is untouched. Retry when the instance is reachable.` : opts.mode === "replace" ? `The request did not complete, so the import may or may not have landed, in whole or in part. A replace rewrites all of ${target}, so it is safe to run again once the instance is reachable.` : `The request did not complete, so the import may or may not have landed, in whole or in part.` + (opts.stateCheck !== void 0 ? ` ${opts.stateCheck}` : "");
|
|
462
462
|
const where = `${transportTarget(url)}${opts.label !== void 0 ? ` (${opts.label})` : ""}`;
|
|
463
463
|
if (res === void 0) {
|
|
464
|
-
const { classifyFailure } = await import("./operation-outcome-
|
|
464
|
+
const { classifyFailure } = await import("./operation-outcome-RN62735X.js");
|
|
465
465
|
if (writes && !isTimeoutError(failure) && classifyFailure(failure, { writeSent: true }) === "no") {
|
|
466
466
|
const untrusted = certificateFailureCode(failure) !== void 0;
|
|
467
467
|
throw new ImportNotSentError(
|
|
@@ -557,4 +557,4 @@ export {
|
|
|
557
557
|
withDefaultBranchPointer,
|
|
558
558
|
xanosdkImport
|
|
559
559
|
};
|
|
560
|
-
//# sourceMappingURL=chunk-
|
|
560
|
+
//# sourceMappingURL=chunk-ND43ZOS3.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
findBranch,
|
|
3
|
+
listBranches,
|
|
4
|
+
liveBranchLabel
|
|
5
|
+
} from "./chunk-NPODGBVJ.js";
|
|
6
|
+
import {
|
|
7
|
+
readLockFile,
|
|
8
|
+
recordSyncInLockFile,
|
|
9
|
+
syncedOn
|
|
10
|
+
} from "./chunk-CJDPSCMX.js";
|
|
11
|
+
import {
|
|
12
|
+
destinationKey
|
|
13
|
+
} from "./chunk-MFWF2NZJ.js";
|
|
14
|
+
import {
|
|
15
|
+
displayPath,
|
|
16
|
+
info,
|
|
17
|
+
warn
|
|
18
|
+
} from "./chunk-D7BUMOKU.js";
|
|
19
|
+
|
|
20
|
+
// src/emit/sync-record.ts
|
|
21
|
+
import { existsSync } from "fs";
|
|
22
|
+
function readSyncBaseline(lockPath, target) {
|
|
23
|
+
if (lockPath === void 0 || !existsSync(lockPath)) return void 0;
|
|
24
|
+
try {
|
|
25
|
+
const key = destinationKey(target.instance, { kind: "workspace", workspaceId: target.workspaceId });
|
|
26
|
+
return syncedOn(readLockFile(lockPath), key, target.branch);
|
|
27
|
+
} catch {
|
|
28
|
+
return void 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function recordSync(opts) {
|
|
32
|
+
if (opts.lockPath === void 0) return null;
|
|
33
|
+
const destination = destinationKey(opts.target.instance, { kind: "workspace", workspaceId: opts.target.workspaceId });
|
|
34
|
+
const shown = displayPath(opts.lockPath);
|
|
35
|
+
let result;
|
|
36
|
+
try {
|
|
37
|
+
result = recordSyncInLockFile(opts.lockPath, destination, opts.target.branch, { digests: opts.digests, by: opts.by, complete: opts.complete });
|
|
38
|
+
} catch (err) {
|
|
39
|
+
warn(
|
|
40
|
+
`The ${opts.by} succeeded, but its sync baseline could not be recorded in ${shown}: ${err instanceof Error ? err.message : String(err)}`,
|
|
41
|
+
"sync.record-failed",
|
|
42
|
+
["`xanosdk workspace diff` reads the older baseline, so it may say the wrong side changed until the next deploy or pull records one."]
|
|
43
|
+
);
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (result === void 0) return null;
|
|
47
|
+
if (result.changed) {
|
|
48
|
+
info(`Recorded the sync baseline for branch "${opts.target.branch}" in ${shown}. Commit it: \`workspace diff\` reads it to say which side changed.`);
|
|
49
|
+
}
|
|
50
|
+
return { destination, branch: opts.target.branch, file: shown, objects: Object.keys(opts.digests.objects).length, changed: result.changed };
|
|
51
|
+
}
|
|
52
|
+
function storedBranchLabel(branches, typed) {
|
|
53
|
+
if (typed !== void 0) return (branches === void 0 ? void 0 : findBranch(branches, typed)?.label) ?? typed.trim();
|
|
54
|
+
return branches === void 0 ? void 0 : liveBranchLabel(branches);
|
|
55
|
+
}
|
|
56
|
+
async function syncBranchLabel(auth, typed) {
|
|
57
|
+
const branches = await listBranches(auth, { baseUrl: auth.instance, workspaceId: auth.workspaceId }).catch(() => void 0);
|
|
58
|
+
return storedBranchLabel(branches, typed);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
readSyncBaseline,
|
|
63
|
+
recordSync,
|
|
64
|
+
storedBranchLabel,
|
|
65
|
+
syncBranchLabel
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=chunk-NDWVJ2QZ.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-2MNLRIOX.js";
|
|
4
4
|
import {
|
|
5
5
|
pipedYes
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6X3MY2JP.js";
|
|
7
7
|
import {
|
|
8
8
|
contextFlags
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-N5I37JFB.js";
|
|
10
10
|
import {
|
|
11
11
|
shellWord
|
|
12
12
|
} from "./chunk-FWD7AL6N.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
retryingFetch,
|
|
19
19
|
transportTarget,
|
|
20
20
|
withWriteStatusAftermath
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-YR2I5HGE.js";
|
|
22
22
|
import {
|
|
23
23
|
suggestAll
|
|
24
24
|
} from "./chunk-UTI5G6OJ.js";
|
|
@@ -288,4 +288,4 @@ export {
|
|
|
288
288
|
freeBranchLabel,
|
|
289
289
|
requireBranch
|
|
290
290
|
};
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
291
|
+
//# sourceMappingURL=chunk-NPODGBVJ.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LOOPBACK_HOSTS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PL7AIAWS.js";
|
|
4
4
|
import {
|
|
5
5
|
TransportError,
|
|
6
6
|
describeTransportFailure,
|
|
7
7
|
fetchOrExplain
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YR2I5HGE.js";
|
|
9
9
|
import {
|
|
10
10
|
readEnvVar
|
|
11
11
|
} from "./chunk-X2NL4KUO.js";
|
|
@@ -137,7 +137,7 @@ async function resolveEngineRelease(opts) {
|
|
|
137
137
|
if (status === 404) {
|
|
138
138
|
throw new EngineReleaseNotFoundError(
|
|
139
139
|
`There is no published engine release ${wanted}.
|
|
140
|
-
Check the version, or run \`xanosdk local
|
|
140
|
+
Check the version, or run \`xanosdk local update\` to move to the latest one.`
|
|
141
141
|
);
|
|
142
142
|
}
|
|
143
143
|
if (body === void 0) throw failed(status, display);
|
|
@@ -145,7 +145,7 @@ Check the version, or run \`xanosdk local-engine update\` to move to the latest
|
|
|
145
145
|
if (asset === void 0) {
|
|
146
146
|
throw new Error(
|
|
147
147
|
`Engine release ${wanted} has no archive for ${platform}, so nothing was downloaded.
|
|
148
|
-
Run \`xanosdk local
|
|
148
|
+
Run \`xanosdk local update\` to move to a release built for ${platform}.`
|
|
149
149
|
);
|
|
150
150
|
}
|
|
151
151
|
return asset;
|
|
@@ -179,4 +179,4 @@ export {
|
|
|
179
179
|
EngineReleaseNotFoundError,
|
|
180
180
|
resolveEngineRelease
|
|
181
181
|
};
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
182
|
+
//# sourceMappingURL=chunk-OIKLDDYC.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
contextFlags
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-N5I37JFB.js";
|
|
4
4
|
import {
|
|
5
5
|
backendDirFor,
|
|
6
6
|
backendDirIn
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TTEIDD5Q.js";
|
|
8
8
|
import {
|
|
9
9
|
projectRootFrom
|
|
10
10
|
} from "./chunk-ROY4YAEQ.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
LocalFileNotFoundError,
|
|
16
16
|
displayPath,
|
|
17
17
|
relForwardSlash
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-D7BUMOKU.js";
|
|
19
19
|
import {
|
|
20
20
|
normalizeDocumentationScopeKey
|
|
21
21
|
} from "./chunk-3JDU4VRL.js";
|
|
@@ -127,4 +127,4 @@ export {
|
|
|
127
127
|
entryWordOf,
|
|
128
128
|
readSecretsFile
|
|
129
129
|
};
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-PFBXSVZF.js.map
|
|
@@ -26,7 +26,7 @@ function assertLoopbackUrl(url, what) {
|
|
|
26
26
|
if (isLoopbackUrl(url)) return;
|
|
27
27
|
throw new Error(
|
|
28
28
|
`${what} reports a url this SDK will not send a token to: ${url}
|
|
29
|
-
A
|
|
29
|
+
A Xano Engine has to serve loopback over http on a port of its own \u2014 ${LOOPBACK_HOSTS.join(", ")} \u2014 and anything else is reachable from off this machine. Stop that engine and start a fresh one without binding it to all interfaces.`
|
|
30
30
|
);
|
|
31
31
|
}
|
|
32
32
|
function requireString(raw, key, source) {
|
|
@@ -34,7 +34,7 @@ function requireString(raw, key, source) {
|
|
|
34
34
|
if (typeof value !== "string" || value === "") {
|
|
35
35
|
throw new Error(
|
|
36
36
|
`${source} is missing \`${key}\`, or gave it as something other than text.
|
|
37
|
-
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local
|
|
37
|
+
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local update\`.`
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
return value;
|
|
@@ -44,7 +44,7 @@ function requireNumber(raw, key, source) {
|
|
|
44
44
|
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
45
45
|
throw new Error(
|
|
46
46
|
`${source} is missing \`${key}\`, or gave it as something other than a number.
|
|
47
|
-
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local
|
|
47
|
+
That is not an engine this SDK knows how to drive \u2014 the engine on this machine is older or newer than the one it was built against. Move to a current one with \`xanosdk local update\`.`
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
return value;
|
|
@@ -53,7 +53,7 @@ function readEngine(value, source) {
|
|
|
53
53
|
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
54
54
|
throw new Error(
|
|
55
55
|
`${source} did not print an engine description.
|
|
56
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local
|
|
56
|
+
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
59
|
const raw = value;
|
|
@@ -77,7 +77,7 @@ function parseEngineHandshake(stdout) {
|
|
|
77
77
|
} catch {
|
|
78
78
|
throw new Error(
|
|
79
79
|
`${HANDSHAKE_SOURCE} did not print an engine description.
|
|
80
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local
|
|
80
|
+
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
83
|
const engine = readEngine(value, HANDSHAKE_SOURCE);
|
|
@@ -93,13 +93,13 @@ function parseEngineListing(stdout) {
|
|
|
93
93
|
} catch {
|
|
94
94
|
throw new Error(
|
|
95
95
|
`${LISTING_SOURCE} was not readable.
|
|
96
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local
|
|
96
|
+
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
97
97
|
);
|
|
98
98
|
}
|
|
99
99
|
if (!Array.isArray(value)) {
|
|
100
100
|
throw new Error(
|
|
101
101
|
`${LISTING_SOURCE} was not a list.
|
|
102
|
-
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local
|
|
102
|
+
Re-run, and if it happens again fetch a fresh copy with \`xanosdk local cache clear\`, then \`xanosdk deploy --local\`.`
|
|
103
103
|
);
|
|
104
104
|
}
|
|
105
105
|
return value.filter((entry) => !isForeignEngine(entry)).map((entry) => readEngine(entry, LISTING_SOURCE));
|
|
@@ -120,7 +120,7 @@ function resolveEnginePlatform(platform = process.platform, arch = process.arch)
|
|
|
120
120
|
const pair = `${platform}-${arch}`;
|
|
121
121
|
return SUPPORTED_PLATFORMS.find((p) => p === pair);
|
|
122
122
|
}
|
|
123
|
-
var LOCAL_ENGINE_HOME_ENV = "
|
|
123
|
+
var LOCAL_ENGINE_HOME_ENV = "XANOSDK_ENGINE_HOME";
|
|
124
124
|
function localEngineHome(env = process.env) {
|
|
125
125
|
return readEnvVar(LOCAL_ENGINE_HOME_ENV, env) ?? join(homedir(), ".xanosdk", "local-engine");
|
|
126
126
|
}
|
|
@@ -145,7 +145,7 @@ function legacyRuntimeDirs(env = process.env, platform = process.platform) {
|
|
|
145
145
|
function localEngineBinDir(env = process.env) {
|
|
146
146
|
return join(localEngineHome(env), "bin");
|
|
147
147
|
}
|
|
148
|
-
var LOCAL_ENGINE_OVERRIDE_ENV = "
|
|
148
|
+
var LOCAL_ENGINE_OVERRIDE_ENV = "XANOSDK_ENGINE_OVERRIDE";
|
|
149
149
|
var OVERRIDE_VERSION = /^v?\d+\.\d+\.\d+$/;
|
|
150
150
|
function overrideSpec(value) {
|
|
151
151
|
if (OVERRIDE_VERSION.test(value)) {
|
|
@@ -172,7 +172,7 @@ var ARCHIVE_SUFFIX = /\.(tar\.gz|tgz|gz|tar|zip)$/i;
|
|
|
172
172
|
function engineOverrideRefusal(value, where, env = process.env) {
|
|
173
173
|
if (/^https?:\/\//i.test(value)) {
|
|
174
174
|
if (isTrustedEngineUrl(value)) return void 0;
|
|
175
|
-
return `${where} names an engine over plain http on a host that is not this machine. An engine is a program this command runs, so fetched that way anyone on the network path could swap it (and read
|
|
175
|
+
return `${where} names an engine over plain http on a host that is not this machine. An engine is a program this command runs, so fetched that way anyone on the network path could swap it (and read XANOSDK_ENGINE_TOKEN if it is set). Nothing was requested.
|
|
176
176
|
Serve the archive over https://, or over http:// from 127.0.0.1, ::1 or localhost.`;
|
|
177
177
|
}
|
|
178
178
|
const scheme = /^([a-z][a-z0-9+.-]*):\/\//i.exec(value);
|
|
@@ -195,7 +195,7 @@ Check the path \u2014 ${where} is read exactly as passed, with \`~\` and relativ
|
|
|
195
195
|
}
|
|
196
196
|
var MISSING_ARCHIVE = "There is no engine archive to read at";
|
|
197
197
|
function engineSourceRefusal(flagValue, env = process.env) {
|
|
198
|
-
if (flagValue !== void 0 && flagValue !== "") return engineOverrideRefusal(flagValue, "`--local
|
|
198
|
+
if (flagValue !== void 0 && flagValue !== "") return engineOverrideRefusal(flagValue, "`--local`", env);
|
|
199
199
|
const fromEnv = readEnvVar(LOCAL_ENGINE_OVERRIDE_ENV, env)?.trim();
|
|
200
200
|
if (fromEnv === void 0) return void 0;
|
|
201
201
|
return engineOverrideRefusal(fromEnv, LOCAL_ENGINE_OVERRIDE_ENV, env);
|
|
@@ -234,4 +234,4 @@ export {
|
|
|
234
234
|
engineOverrideFromEnv,
|
|
235
235
|
resolveEngineSource
|
|
236
236
|
};
|
|
237
|
-
//# sourceMappingURL=chunk-
|
|
237
|
+
//# sourceMappingURL=chunk-PL7AIAWS.js.map
|