@xano/sdk 1.0.0
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 +788 -0
- package/LICENSE +21 -0
- package/README.md +541 -0
- package/dist/.build-fingerprint +1 -0
- package/dist/agent-file-refresh-ZEMK33AX.js +38 -0
- package/dist/answer-shape-K67TAAPY.js +33 -0
- package/dist/backend-dir-2U53CIAL.js +39 -0
- package/dist/backend-slot-7QXW2QYC.js +28 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +255 -0
- package/dist/branch-NCRNWQBQ.js +61 -0
- package/dist/branch-commands-ACIRCEQJ.js +79 -0
- package/dist/bundle.d.ts +223 -0
- package/dist/bundle.js +153 -0
- package/dist/capture-WAXPD7DR.js +41 -0
- package/dist/chunk-27GWNP2I.js +23 -0
- package/dist/chunk-2CMJZDCL.js +177 -0
- package/dist/chunk-2EZ3ZJZZ.js +302 -0
- package/dist/chunk-2GNFDZA2.js +390 -0
- package/dist/chunk-2MNLRIOX.js +11 -0
- package/dist/chunk-2TFRR6JV.js +104 -0
- package/dist/chunk-2ZUEE4EK.js +408 -0
- package/dist/chunk-36JUQZVQ.js +22 -0
- package/dist/chunk-3DRXWLJ5.js +83 -0
- package/dist/chunk-3JDU4VRL.js +137 -0
- package/dist/chunk-3KZCLN4Z.js +241 -0
- package/dist/chunk-3LDULPRE.js +168 -0
- package/dist/chunk-3M4LFYNQ.js +111 -0
- package/dist/chunk-3XI5CTUE.js +22 -0
- package/dist/chunk-3YW23UFH.js +50 -0
- package/dist/chunk-45UIT5T2.js +862 -0
- package/dist/chunk-4BW2SG2N.js +46 -0
- package/dist/chunk-4KHEMC32.js +79 -0
- package/dist/chunk-4POWHT2K.js +321 -0
- package/dist/chunk-4Q2GN7NW.js +192 -0
- package/dist/chunk-5A2PLKZB.js +70 -0
- package/dist/chunk-5FBYXK5P.js +159 -0
- package/dist/chunk-5HVXPTU4.js +323 -0
- package/dist/chunk-5QU2P5CA.js +304 -0
- package/dist/chunk-5V5XU32D.js +191 -0
- package/dist/chunk-5ZSO4T2G.js +10 -0
- package/dist/chunk-622HUCZT.js +10 -0
- package/dist/chunk-65HWOMGV.js +177 -0
- package/dist/chunk-6ELFRN3P.js +365 -0
- package/dist/chunk-6HO3NCSJ.js +1055 -0
- package/dist/chunk-6IUMKYWI.js +457 -0
- package/dist/chunk-6KEB3C3U.js +65 -0
- package/dist/chunk-6MR5TI5V.js +987 -0
- package/dist/chunk-6NNTNXN7.js +157 -0
- package/dist/chunk-6PBR37LN.js +97 -0
- package/dist/chunk-6QXLMMT3.js +155 -0
- package/dist/chunk-6ZGJCBZS.js +224 -0
- package/dist/chunk-73IVBKMA.js +250 -0
- package/dist/chunk-7G3CTU7I.js +286 -0
- package/dist/chunk-A3UDOZB6.js +222 -0
- package/dist/chunk-A6E77GDW.js +85 -0
- package/dist/chunk-AHJWCYQO.js +660 -0
- package/dist/chunk-AKNCFVKZ.js +36 -0
- package/dist/chunk-AM4FKL4J.js +237 -0
- package/dist/chunk-AN6BL47T.js +26 -0
- package/dist/chunk-AOSYVMUS.js +147 -0
- package/dist/chunk-APWXY5SL.js +182 -0
- package/dist/chunk-AWEIIR2U.js +218 -0
- package/dist/chunk-AWQ7BQTQ.js +73 -0
- package/dist/chunk-BAUZOWGX.js +393 -0
- package/dist/chunk-BHACRS6R.js +940 -0
- package/dist/chunk-BWPNT55T.js +680 -0
- package/dist/chunk-C6RIMRU4.js +187 -0
- package/dist/chunk-CGVQZXYG.js +263 -0
- package/dist/chunk-CIMQZRRE.js +162 -0
- package/dist/chunk-CJHQKJU4.js +113 -0
- package/dist/chunk-CTMO46PK.js +1897 -0
- package/dist/chunk-D53J55C5.js +106 -0
- package/dist/chunk-D7VGG3WS.js +90 -0
- package/dist/chunk-DAD3ONIS.js +245 -0
- package/dist/chunk-DGWHAVRG.js +162 -0
- package/dist/chunk-DX4QR4B2.js +483 -0
- package/dist/chunk-EHP3WPEG.js +21 -0
- package/dist/chunk-ELP2HMXC.js +432 -0
- package/dist/chunk-ERVIASGL.js +21 -0
- package/dist/chunk-ET4Y4XCB.js +865 -0
- package/dist/chunk-ETO6LGLD.js +4750 -0
- package/dist/chunk-EUUUMY7J.js +24 -0
- package/dist/chunk-FQJ2TTHP.js +218 -0
- package/dist/chunk-FQOF7E2E.js +133 -0
- package/dist/chunk-FWD7AL6N.js +21 -0
- package/dist/chunk-FXFV3KU6.js +138 -0
- package/dist/chunk-FXRQOWTE.js +171 -0
- package/dist/chunk-G554NZNI.js +210 -0
- package/dist/chunk-GSGDWJB5.js +13 -0
- package/dist/chunk-H2V3N23D.js +66 -0
- package/dist/chunk-H5C7MBCR.js +159 -0
- package/dist/chunk-HHN734BU.js +371 -0
- package/dist/chunk-HRVBLCVJ.js +243 -0
- package/dist/chunk-HVRUQXGD.js +1264 -0
- package/dist/chunk-I4F5TCJH.js +130 -0
- package/dist/chunk-IDOTCMDV.js +57 -0
- package/dist/chunk-IGOLHKWF.js +427 -0
- package/dist/chunk-JGE7CAWB.js +148 -0
- package/dist/chunk-JTUKLCXS.js +92 -0
- package/dist/chunk-JZGVVJSI.js +66 -0
- package/dist/chunk-K4WX6UUU.js +923 -0
- package/dist/chunk-K5BBGTYZ.js +217 -0
- package/dist/chunk-K6RXBGUB.js +427 -0
- package/dist/chunk-KTSDSD36.js +165 -0
- package/dist/chunk-L5JYN3NM.js +1038 -0
- package/dist/chunk-LIEOKXKD.js +354 -0
- package/dist/chunk-LLNZGEFK.js +51 -0
- package/dist/chunk-LPECSJ2J.js +55 -0
- package/dist/chunk-LQCMKAJ7.js +413 -0
- package/dist/chunk-LRN4ZJCQ.js +1145 -0
- package/dist/chunk-MJ4ZVHKN.js +17 -0
- package/dist/chunk-MXHSQOC4.js +3061 -0
- package/dist/chunk-N5GKCWE5.js +367 -0
- package/dist/chunk-NA3PXMEF.js +10 -0
- package/dist/chunk-NAQDMEHV.js +76 -0
- package/dist/chunk-NWKXM5RD.js +109 -0
- package/dist/chunk-NZOWWHU5.js +196 -0
- package/dist/chunk-OHX6MIUZ.js +184 -0
- package/dist/chunk-OOXWYAA4.js +15 -0
- package/dist/chunk-OPHB5ORL.js +1990 -0
- package/dist/chunk-OXA6PSZT.js +1725 -0
- package/dist/chunk-P2HAGF6H.js +73 -0
- package/dist/chunk-PTHVMXZI.js +3036 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q325JKYB.js +189 -0
- package/dist/chunk-Q7DGTQ5G.js +255 -0
- package/dist/chunk-QCNYHBL7.js +601 -0
- package/dist/chunk-QO6BVGS5.js +145 -0
- package/dist/chunk-QXTKSOFI.js +76 -0
- package/dist/chunk-ROY4YAEQ.js +66 -0
- package/dist/chunk-RTJRZFFY.js +447 -0
- package/dist/chunk-SAVJUS2X.js +128 -0
- package/dist/chunk-SFLHVCKX.js +173 -0
- package/dist/chunk-STSFNCY4.js +127 -0
- package/dist/chunk-SWBF2LTK.js +170 -0
- package/dist/chunk-T5KELPAR.js +109 -0
- package/dist/chunk-TFFGOFVZ.js +1481 -0
- package/dist/chunk-TLHIFK4M.js +256 -0
- package/dist/chunk-TLQE7ZN3.js +156 -0
- package/dist/chunk-TPHWJ7UG.js +1981 -0
- package/dist/chunk-TRJCALW3.js +291 -0
- package/dist/chunk-TTEIYD5P.js +133 -0
- package/dist/chunk-U64O2MXY.js +407 -0
- package/dist/chunk-UCQ2VUTG.js +630 -0
- package/dist/chunk-UTI5G6OJ.js +44 -0
- package/dist/chunk-UVHDMMIP.js +188 -0
- package/dist/chunk-UZ6QQWJT.js +120 -0
- package/dist/chunk-VAX3UZOY.js +686 -0
- package/dist/chunk-W3HBUKFO.js +57 -0
- package/dist/chunk-WKQLGKCL.js +2823 -0
- package/dist/chunk-WQFNASK4.js +560 -0
- package/dist/chunk-WRBKLYSJ.js +224 -0
- package/dist/chunk-WTPZRR4I.js +17 -0
- package/dist/chunk-WZDJ2LLX.js +2385 -0
- package/dist/chunk-X2NL4KUO.js +14 -0
- package/dist/chunk-X4DVXBFY.js +38 -0
- package/dist/chunk-X677DMZM.js +7050 -0
- package/dist/chunk-XBKMWY7F.js +612 -0
- package/dist/chunk-XNCP4KYO.js +78 -0
- package/dist/chunk-XVBGLISP.js +35 -0
- package/dist/chunk-XW6KISBB.js +1192 -0
- package/dist/chunk-YGZHHAAB.js +8156 -0
- package/dist/chunk-YHEFQUQB.js +186 -0
- package/dist/chunk-YLDALTWZ.js +653 -0
- package/dist/chunk-YU4HSQW7.js +229 -0
- package/dist/chunk-ZDPP6RKB.js +27 -0
- package/dist/chunk-ZFDZKNGG.js +194 -0
- package/dist/chunk-ZIY7RNUT.js +49 -0
- package/dist/chunk-ZYJP6BOO.js +30 -0
- package/dist/cli.d.ts +1111 -0
- package/dist/cli.js +165 -0
- package/dist/codegen-command-VR2GWR6C.js +173 -0
- package/dist/codegen.d.ts +115 -0
- package/dist/codegen.js +19 -0
- package/dist/commands-GJMJ4XYZ.js +76 -0
- package/dist/completion-ZQLO6PB6.js +738 -0
- package/dist/config-MBYGCAFK.js +136 -0
- package/dist/deploy-command-JVZPWHMK.js +180 -0
- package/dist/deploy-source-3W45CXMP.js +81 -0
- package/dist/dev-env-sync-HN44K4D5.js +188 -0
- package/dist/diagnostics-UEAAHWVF.js +30 -0
- package/dist/display-name-hint-ABBPVQIR.js +46 -0
- package/dist/emit-CyhBDxli.d.ts +7007 -0
- package/dist/env-example-refresh-ET5HMMDW.js +126 -0
- package/dist/env-pull-command-TNMNB3CV.js +323 -0
- package/dist/env-target-O4HRKTGZ.js +40 -0
- package/dist/env-var-command-ZIRDCAZA.js +427 -0
- package/dist/ephemeral-P7F3PMAD.js +54 -0
- package/dist/ephemeral-command-CLJJKOFT.js +592 -0
- package/dist/ephemeral-state-PYCBSOGX.js +61 -0
- package/dist/file-lock-PT74GWYW.js +10 -0
- package/dist/generate-command-AYEOLA26.js +510 -0
- package/dist/gitignore-3SJ3WNRG.js +51 -0
- package/dist/guards-4EBNCZDC.js +162 -0
- package/dist/hosted-file-PSHJB3HX.js +28 -0
- package/dist/impersonate-command-5JAS3WSV.js +152 -0
- package/dist/import-EQSFU6JC.js +19 -0
- package/dist/index.d.ts +5470 -0
- package/dist/index.js +371 -0
- package/dist/init-command-X2FR4UAK.js +125 -0
- package/dist/init-modules-RY7UHAOL.js +50 -0
- package/dist/init-web-M4YZSZK6.js +42 -0
- package/dist/internal.d.ts +179 -0
- package/dist/internal.js +2634 -0
- package/dist/io-RC56QSN5.js +26 -0
- package/dist/keep-data-merge-7MPLVAVI.js +1119 -0
- package/dist/lambda-config-reconcile-OUZ4OYAB.js +116 -0
- package/dist/landed-753YLJ5H.js +40 -0
- package/dist/landing-record-SU52SKXU.js +61 -0
- package/dist/live-diff-YONW2VI3.js +65 -0
- package/dist/local-engine-choice-CH5X3W7E.js +79 -0
- package/dist/local-engine-command-Z3OL7VOD.js +766 -0
- package/dist/local-engine-config-5U3SC434.js +39 -0
- package/dist/local-engine-deploy-PCQ4SNPB.js +39 -0
- package/dist/local-engine-process-EHTE5LLU.js +63 -0
- package/dist/local-engine-state-A4FTRFAF.js +32 -0
- package/dist/local-engine-update-check-6L645VBL.js +162 -0
- package/dist/lock-MRRHW5GS.js +87 -0
- package/dist/lock-commands-2QG25HL7.js +963 -0
- package/dist/login-command-QPYRWOXZ.js +538 -0
- package/dist/logout-command-WOIQLDP6.js +56 -0
- package/dist/loop-ALIZLOSX.js +191 -0
- package/dist/marketplace-command-K5YL42NO.js +977 -0
- package/dist/marketplace-resolve-LY32JES5.js +40 -0
- package/dist/meta-client-YXGPW53C.js +244 -0
- package/dist/module-manifest-JFGHU2TC.js +38 -0
- package/dist/near-key.d.ts +13 -0
- package/dist/near-key.js +8 -0
- package/dist/node.d.ts +95 -0
- package/dist/node.js +969 -0
- package/dist/operation-outcome-TZSESNC7.js +51 -0
- package/dist/output-target-AL3I44GG.js +47 -0
- package/dist/package-manager-PRAHUSCN.js +34 -0
- package/dist/plan-disclosure-6G4MLZKD.js +114 -0
- package/dist/plugin-contributions-WRNY5ABG.js +28 -0
- package/dist/plugin-prompt-4VA3B4FF.js +20 -0
- package/dist/plugin-questions-JTSYA74Q.js +24 -0
- package/dist/plugin.d.ts +396 -0
- package/dist/plugin.js +1 -0
- package/dist/preflight-command-2T5Z36MI.js +321 -0
- package/dist/profile-command-AH3PIM4X.js +800 -0
- package/dist/profile-pointer-GRWJU3YD.js +31 -0
- package/dist/profile-select-74TRDEPD.js +23 -0
- package/dist/project-dependency-KSH63ODT.js +35 -0
- package/dist/project-sdk-REPPOIBD.js +24 -0
- package/dist/promote-command-PCWT5N6S.js +140 -0
- package/dist/prompt-II3F3LND.js +27 -0
- package/dist/publish-command-TTDUUJI5.js +414 -0
- package/dist/pull-command-VBO7C4S3.js +161 -0
- package/dist/pull-superseded-GJWLG7XO.js +20 -0
- package/dist/release-command-N4ZPKMHR.js +146 -0
- package/dist/release-ns-command-3KFDMZ6G.js +1745 -0
- package/dist/response-HlXahv4K.d.ts +925 -0
- package/dist/retry-command-AS5EVREX.js +34 -0
- package/dist/routes-manifest-SNWUVBT6.js +43 -0
- package/dist/runtime-XETHVF33.js +14 -0
- package/dist/scaffold.d.ts +1911 -0
- package/dist/scaffold.js +107 -0
- package/dist/secrets-file-LVZD6IIM.js +56 -0
- package/dist/secrets-fill-command-TTCPSVXN.js +218 -0
- package/dist/seed-VU7C3QYS.js +46 -0
- package/dist/sent-writes-N7X4OVXT.js +22 -0
- package/dist/source-resolve-S2XA3XZF.js +83 -0
- package/dist/static-host-B2Y6AG3W.js +352 -0
- package/dist/status-command-RUDXTF7I.js +554 -0
- package/dist/store-6VNCD4D7.js +20 -0
- package/dist/store-ARM6VMO5.js +98 -0
- package/dist/store-DuYfzKlW.d.ts +3144 -0
- package/dist/suggest-6FOOYKHG.js +12 -0
- package/dist/sveltekit.d.ts +154 -0
- package/dist/sveltekit.js +109 -0
- package/dist/sync-contributions-UCEROO26.js +415 -0
- package/dist/table-ENAVMITR.js +42 -0
- package/dist/tables-command-GUPXXSB5.js +156 -0
- package/dist/tenant-IIHPOHGP.js +42 -0
- package/dist/tenant-command-D5HGI2X4.js +965 -0
- package/dist/test-command-TIKZMDPZ.js +476 -0
- package/dist/tests-BGGIOK3L.js +26 -0
- package/dist/token-NICJUTMT.js +72 -0
- package/dist/toolchain-hooks-GHKLUJOH.js +96 -0
- package/dist/toolchain-modules-5EAZUONB.js +24 -0
- package/dist/tracked-backend-EIBUMDZA.js +80 -0
- package/dist/update-check-2W2NLDTC.js +136 -0
- package/dist/upgrade-command-QHNFWM7O.js +531 -0
- package/dist/verify-rollout-DRCK5TDD.js +61 -0
- package/dist/whoami-command-STGINTXH.js +51 -0
- package/dist/workspace-2CLHU2LK.js +93 -0
- package/dist/workspace-binding-56PIIPCP.js +54 -0
- package/dist/workspace-command-JEXQETJD.js +535 -0
- package/dist/workspace-env-F2RFMSC5.js +70 -0
- package/dist/workspace-export-OJSH2HIW.js +21 -0
- package/dist/writable-VA7OISSK.js +25 -0
- package/dist/xano-ICFUSPFR.js +42 -0
- package/dist/xanosdk-import-GN42TO2B.js +56 -0
- package/dist/xanosdk-project-S6DXJONQ.js +41 -0
- package/dist/xdo-CxDr2Q1C.d.ts +1371 -0
- package/guides/README.md +33 -0
- package/guides/authoring.md +921 -0
- package/guides/cli.md +401 -0
- package/guides/codegen.md +177 -0
- package/guides/codes.md +404 -0
- package/guides/coverage.md +74 -0
- package/guides/deploying.md +1525 -0
- package/guides/environment.md +400 -0
- package/guides/marketplace.md +415 -0
- package/guides/module-contract.md +558 -0
- package/guides/object-kinds.md +433 -0
- package/guides/project-structure.md +43 -0
- package/guides/scaffold.md +351 -0
- package/guides/typed-frontend.md +242 -0
- package/llms/client.md +63 -0
- package/llms/errors.md +56 -0
- package/llms/fields.md +176 -0
- package/llms/filters.md +183 -0
- package/llms/kinds-agent-mcp.md +30 -0
- package/llms/kinds-core.md +100 -0
- package/llms/kinds-knowledge.md +20 -0
- package/llms/kinds-realtime.md +76 -0
- package/llms/lambda.md +94 -0
- package/llms/legacy.md +44 -0
- package/llms/lock.md +40 -0
- package/llms/object-kinds.md +34 -0
- package/llms/statements-calls.md +62 -0
- package/llms/statements-catalog.md +320 -0
- package/llms/statements-data.md +66 -0
- package/llms/statements-runtime.md +68 -0
- package/llms/tests.md +59 -0
- package/llms/toolchain.md +16 -0
- package/llms/triggers.md +36 -0
- package/llms/values.md +29 -0
- package/llms-full.txt +2085 -0
- package/llms.txt +493 -0
- package/manifest.json +11224 -0
- package/package.json +162 -0
- package/types/lambda-globals.d.ts +129 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import {
|
|
2
|
+
sdkKindName
|
|
3
|
+
} from "./chunk-6MR5TI5V.js";
|
|
4
|
+
|
|
5
|
+
// src/validate/capabilities.ts
|
|
6
|
+
var CAPABILITIES = {
|
|
7
|
+
cache: {
|
|
8
|
+
label: "Redis / cache support",
|
|
9
|
+
effect: "every `s.redis.*` statement, including `s.redis.ratelimit`"
|
|
10
|
+
},
|
|
11
|
+
lambda: {
|
|
12
|
+
label: "Lambda (JavaScript/TypeScript) support",
|
|
13
|
+
effect: "`s.lambda`, and the `fl.lambda`-family filters that run through it"
|
|
14
|
+
},
|
|
15
|
+
premiumInstance: {
|
|
16
|
+
label: "a premium instance",
|
|
17
|
+
effect: "`s.await` (awaiting an async function run) and direct SQL"
|
|
18
|
+
},
|
|
19
|
+
directQuery: {
|
|
20
|
+
label: "direct-query support",
|
|
21
|
+
effect: "`s.db.direct_query` \u2014 raw SQL against this workspace's own tables"
|
|
22
|
+
},
|
|
23
|
+
microservice: {
|
|
24
|
+
label: "microservice support",
|
|
25
|
+
effect: "`s.microservice.request`"
|
|
26
|
+
},
|
|
27
|
+
realtimeV2: {
|
|
28
|
+
label: "realtime (v2) support",
|
|
29
|
+
effect: "`s.realtime.publish`"
|
|
30
|
+
},
|
|
31
|
+
rawFileAccess: {
|
|
32
|
+
label: "raw file access",
|
|
33
|
+
effect: "reading a file resource's bytes, and the CSV/JSONL streaming readers"
|
|
34
|
+
},
|
|
35
|
+
paidInstance: {
|
|
36
|
+
label: "a paid (non-free) instance",
|
|
37
|
+
effect: "the whole `s.zip.*` family"
|
|
38
|
+
},
|
|
39
|
+
fileUpload: {
|
|
40
|
+
label: "file upload",
|
|
41
|
+
effect: "creating and deleting stored file resources"
|
|
42
|
+
},
|
|
43
|
+
images: { label: "image storage", effect: "`s.storage.create_image`" },
|
|
44
|
+
videos: { label: "video storage", effect: "`s.storage.create_video`" },
|
|
45
|
+
audio: { label: "audio storage", effect: "`s.storage.create_audio`" },
|
|
46
|
+
attachment: { label: "attachment storage", effect: "`s.storage.create_attachment`" },
|
|
47
|
+
privateStorage: {
|
|
48
|
+
label: "private file storage",
|
|
49
|
+
effect: "`s.storage.sign_private_url`"
|
|
50
|
+
},
|
|
51
|
+
webflow: { label: "the Webflow integration", effect: "`s.webflow.request`" },
|
|
52
|
+
datadog: { label: "the Datadog integration", effect: "every `s.datadog.*` statement" }
|
|
53
|
+
};
|
|
54
|
+
var STATEMENT_CAPABILITIES = {
|
|
55
|
+
// Redis / cache.
|
|
56
|
+
"mvp:redis_countlist": ["cache"],
|
|
57
|
+
"mvp:redis_decr": ["cache"],
|
|
58
|
+
"mvp:redis_del": ["cache"],
|
|
59
|
+
"mvp:redis_get": ["cache"],
|
|
60
|
+
"mvp:redis_has": ["cache"],
|
|
61
|
+
"mvp:redis_incr": ["cache"],
|
|
62
|
+
"mvp:redis_keys": ["cache"],
|
|
63
|
+
"mvp:redis_poplist": ["cache"],
|
|
64
|
+
"mvp:redis_pushlist": ["cache"],
|
|
65
|
+
"mvp:redis_rangelist": ["cache"],
|
|
66
|
+
"mvp:redis_ratelimit": ["cache"],
|
|
67
|
+
"mvp:redis_remove_list": ["cache"],
|
|
68
|
+
"mvp:redis_set": ["cache"],
|
|
69
|
+
"mvp:redis_shiftlist": ["cache"],
|
|
70
|
+
"mvp:redis_unshiftlist": ["cache"],
|
|
71
|
+
// Compute and data.
|
|
72
|
+
"mvp:lambda": ["lambda"],
|
|
73
|
+
"mvp:async_function_await": ["premiumInstance"],
|
|
74
|
+
"mvp:dbo_direct_query": ["premiumInstance", "directQuery"],
|
|
75
|
+
"mvp:microservice_request": ["microservice"],
|
|
76
|
+
"mvp:realtime_publish": ["realtimeV2"],
|
|
77
|
+
// Files. The zip family is gated on the instance not being FREE; the readers
|
|
78
|
+
// below are gated on raw file access, which is a separate flag.
|
|
79
|
+
"mvp:zip_add_file_resource": ["paidInstance"],
|
|
80
|
+
"mvp:zip_create_file_resource": ["paidInstance"],
|
|
81
|
+
"mvp:zip_delete_file_resource": ["paidInstance"],
|
|
82
|
+
"mvp:zip_extract_file_resource": ["paidInstance"],
|
|
83
|
+
"mvp:zip_view_contents": ["paidInstance"],
|
|
84
|
+
"mvp:create_var_from_file_resource": ["rawFileAccess"],
|
|
85
|
+
"mvp:csv_stream": ["rawFileAccess"],
|
|
86
|
+
"mvp:jsonl_stream": ["rawFileAccess"],
|
|
87
|
+
"mvp:create_file_resource": ["fileUpload"],
|
|
88
|
+
"mvp:delete_file": ["fileUpload"],
|
|
89
|
+
"mvp:create_image": ["images"],
|
|
90
|
+
"mvp:create_video": ["videos"],
|
|
91
|
+
"mvp:create_audio": ["audio"],
|
|
92
|
+
"mvp:create_attachment": ["attachment"],
|
|
93
|
+
"mvp:vault_sign_url": ["privateStorage"],
|
|
94
|
+
// Integrations. The external-cloud storage statements (S3/GCS/Azure) are
|
|
95
|
+
// deliberately absent: the editor gates none of them, and claiming otherwise
|
|
96
|
+
// would send someone checking a plan for something that is always available.
|
|
97
|
+
"mvp:connect_webflow_api_request": ["webflow"],
|
|
98
|
+
"mvp:datadog_log": ["datadog"],
|
|
99
|
+
"mvp:datadog_log_bulk": ["datadog"],
|
|
100
|
+
"mvp:datadog_metric": ["datadog"],
|
|
101
|
+
"mvp:datadog_metric_bulk": ["datadog"]
|
|
102
|
+
};
|
|
103
|
+
var STATEMENT_EFFECTS = {
|
|
104
|
+
"mvp:async_function_await": "`s.await` (awaiting an async function run)",
|
|
105
|
+
"mvp:dbo_direct_query": "direct SQL"
|
|
106
|
+
};
|
|
107
|
+
function effectOf(id, names) {
|
|
108
|
+
const parts = [...names].sort().map((n) => Object.hasOwn(STATEMENT_EFFECTS, n) ? STATEMENT_EFFECTS[n] : void 0);
|
|
109
|
+
return parts.every((p) => p !== void 0) && parts.length > 0 && id === "premiumInstance" ? parts.join(" and ") : CAPABILITIES[id].effect;
|
|
110
|
+
}
|
|
111
|
+
function bundleCapabilities(bundle) {
|
|
112
|
+
const statements = /* @__PURE__ */ new Map();
|
|
113
|
+
const objects = /* @__PURE__ */ new Map();
|
|
114
|
+
const walk = (node, context, key, section) => {
|
|
115
|
+
if (Array.isArray(node)) {
|
|
116
|
+
for (const item of node) walk(item, context, key, section);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (node === null || typeof node !== "object") return;
|
|
120
|
+
const obj = node;
|
|
121
|
+
const name = obj.name;
|
|
122
|
+
const own = typeof name === "string" && name !== "" && !name.includes(":") ? typeof obj.verb === "string" && obj.verb !== "" ? `${obj.verb} ${name}` : name : void 0;
|
|
123
|
+
const nextContext = own === void 0 ? context : section && key !== void 0 ? `${sdkKindName(key, obj)} "${own}"` : own;
|
|
124
|
+
if (typeof name === "string") {
|
|
125
|
+
const ids = Object.hasOwn(STATEMENT_CAPABILITIES, name) ? STATEMENT_CAPABILITIES[name] : void 0;
|
|
126
|
+
for (const id of ids ?? []) {
|
|
127
|
+
(statements.get(id) ?? statements.set(id, /* @__PURE__ */ new Set()).get(id)).add(name);
|
|
128
|
+
if (context !== "") (objects.get(id) ?? objects.set(id, /* @__PURE__ */ new Set()).get(id)).add(context);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const [k, value] of Object.entries(obj)) walk(value, nextContext, k, key === "payload");
|
|
132
|
+
};
|
|
133
|
+
walk(bundle, "");
|
|
134
|
+
return [...statements.entries()].map(([id, names]) => ({
|
|
135
|
+
id,
|
|
136
|
+
label: CAPABILITIES[id].label,
|
|
137
|
+
effect: effectOf(id, names),
|
|
138
|
+
statements: [...names].sort(),
|
|
139
|
+
objects: [...objects.get(id) ?? []].sort()
|
|
140
|
+
})).sort((a, b) => a.label.localeCompare(b.label));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export {
|
|
144
|
+
CAPABILITIES,
|
|
145
|
+
STATEMENT_CAPABILITIES,
|
|
146
|
+
bundleCapabilities
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=chunk-JGE7CAWB.js.map
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertWritable,
|
|
3
|
+
atomicWrite
|
|
4
|
+
} from "./chunk-LLNZGEFK.js";
|
|
5
|
+
|
|
6
|
+
// src/emit/project-config.ts
|
|
7
|
+
import { existsSync, readFileSync } from "fs";
|
|
8
|
+
import { join } from "path";
|
|
9
|
+
var SDK_PACKAGE = "@xano/sdk";
|
|
10
|
+
function readProjectManifest(projectDir) {
|
|
11
|
+
const path = join(projectDir, "package.json");
|
|
12
|
+
if (!existsSync(path)) return null;
|
|
13
|
+
try {
|
|
14
|
+
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
15
|
+
return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
|
|
16
|
+
} catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function declaredDependencies(manifest) {
|
|
21
|
+
const names = /* @__PURE__ */ new Set();
|
|
22
|
+
for (const field of ["dependencies", "devDependencies"]) {
|
|
23
|
+
const deps = manifest[field];
|
|
24
|
+
if (typeof deps === "object" && deps !== null && !Array.isArray(deps)) {
|
|
25
|
+
for (const name of Object.keys(deps))
|
|
26
|
+
names.add(name);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return [...names];
|
|
30
|
+
}
|
|
31
|
+
function configuredPackages(projectDir, parsed) {
|
|
32
|
+
const manifest = parsed !== void 0 ? parsed : readProjectManifest(projectDir);
|
|
33
|
+
if (manifest === null) return [];
|
|
34
|
+
const block = manifest["xanosdk"];
|
|
35
|
+
if (typeof block !== "object" || block === null || Array.isArray(block))
|
|
36
|
+
return [];
|
|
37
|
+
return Object.keys(block).filter(
|
|
38
|
+
(pkg) => pkg !== SDK_PACKAGE
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function readToolchainConfig(projectDir, pkg, parsed) {
|
|
42
|
+
const manifest = parsed !== void 0 ? parsed : readProjectManifest(projectDir);
|
|
43
|
+
if (manifest === null) return null;
|
|
44
|
+
const block = manifest["xanosdk"];
|
|
45
|
+
if (typeof block !== "object" || block === null || Array.isArray(block))
|
|
46
|
+
return null;
|
|
47
|
+
const own = block[pkg];
|
|
48
|
+
if (typeof own !== "object" || own === null || Array.isArray(own))
|
|
49
|
+
return null;
|
|
50
|
+
return own;
|
|
51
|
+
}
|
|
52
|
+
function readToolchainBlock(projectDir, parsed) {
|
|
53
|
+
const manifest = parsed !== void 0 ? parsed : readProjectManifest(projectDir);
|
|
54
|
+
if (manifest === null) return {};
|
|
55
|
+
const block = manifest["xanosdk"];
|
|
56
|
+
if (typeof block !== "object" || block === null || Array.isArray(block))
|
|
57
|
+
return {};
|
|
58
|
+
return block;
|
|
59
|
+
}
|
|
60
|
+
function composeToolchainConfig(raw, block) {
|
|
61
|
+
const manifest = JSON.parse(raw);
|
|
62
|
+
if (Object.keys(block).length === 0) delete manifest["xanosdk"];
|
|
63
|
+
else manifest["xanosdk"] = block;
|
|
64
|
+
const trailing = /(?:\r?\n)*$/.exec(raw)?.[0] ?? "";
|
|
65
|
+
const next = JSON.stringify(manifest, null, detectIndent(raw)) + (trailing === "" ? "" : trailing);
|
|
66
|
+
return raw.includes("\r\n") ? next.replace(/\r?\n/g, "\r\n") : next;
|
|
67
|
+
}
|
|
68
|
+
function detectIndent(raw) {
|
|
69
|
+
const match = /\{[^\n]*\r?\n([ \t]+)"/.exec(raw);
|
|
70
|
+
return match?.[1] ?? 2;
|
|
71
|
+
}
|
|
72
|
+
function writeToolchainConfig(projectDir, block) {
|
|
73
|
+
const path = join(projectDir, "package.json");
|
|
74
|
+
const raw = readFileSync(path, "utf8");
|
|
75
|
+
const next = composeToolchainConfig(raw, block);
|
|
76
|
+
if (next === raw) return false;
|
|
77
|
+
assertWritable(path);
|
|
78
|
+
atomicWrite(path, next);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export {
|
|
83
|
+
SDK_PACKAGE,
|
|
84
|
+
readProjectManifest,
|
|
85
|
+
declaredDependencies,
|
|
86
|
+
configuredPackages,
|
|
87
|
+
readToolchainConfig,
|
|
88
|
+
readToolchainBlock,
|
|
89
|
+
composeToolchainConfig,
|
|
90
|
+
writeToolchainConfig
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=chunk-JTUKLCXS.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
shellWord
|
|
3
|
+
} from "./chunk-FWD7AL6N.js";
|
|
4
|
+
import {
|
|
5
|
+
UsageError,
|
|
6
|
+
displayPath
|
|
7
|
+
} from "./chunk-PTHVMXZI.js";
|
|
8
|
+
|
|
9
|
+
// src/emit/writable.ts
|
|
10
|
+
import { accessSync, constants, existsSync, statSync } from "fs";
|
|
11
|
+
import { dirname, resolve } from "path";
|
|
12
|
+
function unwritableBlocker(file) {
|
|
13
|
+
const target = resolve(file);
|
|
14
|
+
if (existsSync(target) && !statSync(target).isDirectory() && !canWrite(target)) return target;
|
|
15
|
+
let dir = dirname(target);
|
|
16
|
+
while (!existsSync(dir)) {
|
|
17
|
+
const parent = dirname(dir);
|
|
18
|
+
if (parent === dir) return void 0;
|
|
19
|
+
dir = parent;
|
|
20
|
+
}
|
|
21
|
+
return canWrite(dir) ? void 0 : dir;
|
|
22
|
+
}
|
|
23
|
+
function canWrite(path) {
|
|
24
|
+
return canAccess(path, constants.W_OK);
|
|
25
|
+
}
|
|
26
|
+
function canAccess(path, mode) {
|
|
27
|
+
try {
|
|
28
|
+
accessSync(path, mode);
|
|
29
|
+
return true;
|
|
30
|
+
} catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function isUnwritableError(err) {
|
|
35
|
+
const code = err?.code;
|
|
36
|
+
return code === "EACCES" || code === "EPERM" || code === "EROFS";
|
|
37
|
+
}
|
|
38
|
+
function unwritableError(file, alternative) {
|
|
39
|
+
const blocker = unwritableBlocker(file) ?? dirname(resolve(file));
|
|
40
|
+
const what = blocker === resolve(file) ? "is read-only" : `is in ${displayPath(blocker)}/, which is not writable`;
|
|
41
|
+
return new UsageError(
|
|
42
|
+
`Cannot write ${displayPath(resolve(file))}: it ${what}. Make it writable (\`chmod u+w ${shellWord(displayPath(blocker))}\`)${alternative === void 0 ? "" : `, or ${alternative}`}.`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function assertWritable(file, alternative) {
|
|
46
|
+
if (unwritableBlocker(file) !== void 0) throw unwritableError(file, alternative);
|
|
47
|
+
}
|
|
48
|
+
function unreadableError(file) {
|
|
49
|
+
const shown = displayPath(resolve(file));
|
|
50
|
+
return new UsageError(`Cannot read ${shown}: permission denied. Make it readable and writable (\`chmod u+rw ${shellWord(shown)}\`).`);
|
|
51
|
+
}
|
|
52
|
+
function assertReadWritable(file, alternative) {
|
|
53
|
+
const target = resolve(file);
|
|
54
|
+
if (existsSync(target) && !statSync(target).isDirectory() && !canAccess(target, constants.R_OK)) throw unreadableError(file);
|
|
55
|
+
assertWritable(file, alternative);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export {
|
|
59
|
+
unwritableBlocker,
|
|
60
|
+
isUnwritableError,
|
|
61
|
+
unwritableError,
|
|
62
|
+
assertWritable,
|
|
63
|
+
unreadableError,
|
|
64
|
+
assertReadWritable
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=chunk-JZGVVJSI.js.map
|