@xanots/sdk 0.0.8 → 0.0.10
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 +29 -0
- package/README.md +28 -21
- package/dist/.build-fingerprint +1 -1
- package/dist/{agent-file-refresh-4W37DGXS.js → agent-file-refresh-QNKN5RYD.js} +3 -3
- package/dist/bin.js +8 -7
- package/dist/{branch-commands-PBQ36L4A.js → branch-commands-2BLOC2GR.js} +13 -11
- package/dist/{capture-7PO6SGB4.js → capture-4WVJY4DQ.js} +2 -2
- package/dist/{chunk-ZOYMZZ3S.js → chunk-3INK4Y4E.js} +1 -1
- package/dist/{chunk-NDZFBZHC.js → chunk-3UABJA4X.js} +1 -1
- package/dist/{chunk-7AXQKABT.js → chunk-5R73LFWK.js} +3 -3
- package/dist/{chunk-CDAQUY5W.js → chunk-5YCQ2QHH.js} +2 -2
- package/dist/{chunk-2ROR3AZC.js → chunk-75Z74TA7.js} +2 -2
- package/dist/{chunk-QTNO2WD6.js → chunk-7ZYW652H.js} +1 -1
- package/dist/{chunk-SNO3KHCY.js → chunk-ACCBOMCB.js} +109 -78
- package/dist/{chunk-4PTSTDIG.js → chunk-AIZKXUNP.js} +2 -2
- package/dist/{chunk-P5C2YKAM.js → chunk-ANUDXFEX.js} +18 -27
- package/dist/chunk-CTD5ZCV6.js +28 -0
- package/dist/{chunk-5HCDZ2XN.js → chunk-DBFU47BJ.js} +2 -2
- package/dist/{chunk-OKNSR7MT.js → chunk-DIA7CT7J.js} +129 -150
- package/dist/{chunk-JQLR64UC.js → chunk-F6CYJ7TN.js} +21 -6
- package/dist/{chunk-BKDJN76G.js → chunk-FE5I6S6N.js} +1 -1
- package/dist/{chunk-EM5QPTXP.js → chunk-I7DQDJAM.js} +30 -48
- package/dist/{chunk-QIWBCS7N.js → chunk-JGCWTCA7.js} +2 -2
- package/dist/{chunk-MDXR5E5Q.js → chunk-K5IOND4K.js} +2 -2
- package/dist/{chunk-4PE4ZAB7.js → chunk-KA6G2L7U.js} +5 -5
- package/dist/{chunk-64QK6JEK.js → chunk-LBYWGMOA.js} +36 -2
- package/dist/{chunk-3MDKV2VA.js → chunk-P6TAVLOX.js} +2 -2
- package/dist/{chunk-3QW5NFZJ.js → chunk-QKM4U5UK.js} +3 -3
- package/dist/{chunk-T4XPCJRF.js → chunk-TCFIPDB3.js} +1 -1
- package/dist/{chunk-FEQTQ6PM.js → chunk-VKSOTZK3.js} +2 -2
- package/dist/{chunk-6DHBYBTO.js → chunk-VNQM3V2C.js} +1 -2
- package/dist/{chunk-PYS7UNNW.js → chunk-W24FJHPD.js} +3 -3
- package/dist/chunk-WGPXT2G2.js +22 -0
- package/dist/{chunk-6AAT2AYQ.js → chunk-WP4OZZV4.js} +2 -2
- package/dist/{chunk-MU3O43L2.js → chunk-YBC3IKMF.js} +2 -2
- package/dist/{chunk-C3M5K4ZH.js → chunk-YYFXVYPX.js} +37 -6
- package/dist/chunk-ZQ2PKR6R.js +40 -0
- package/dist/cli.d.ts +57 -31
- package/dist/cli.js +6 -5
- package/dist/codegen-command-GB3H2KQ7.js +46 -0
- package/dist/{completion-A6BZ3XGU.js → completion-WF46272M.js} +2 -2
- package/dist/{config-NL33PN4D.js → config-476F3PT5.js} +1 -1
- package/dist/{deploy-command-QZ3GNLAD.js → deploy-command-QTIVA22A.js} +68 -100
- package/dist/{ephemeral-command-DL7EY4LL.js → ephemeral-command-U4AQ3TXX.js} +25 -28
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/{init-command-4MG3UKUO.js → init-command-MAXULNAD.js} +13 -10
- package/dist/{onboard-command-EHOHKQQU.js → init-web-3JNFG6GI.js} +10 -10
- package/dist/internal.d.ts +2 -2
- package/dist/internal.js +42 -45
- package/dist/{live-diff-QK4KC2FJ.js → live-diff-IXKBVG4K.js} +3 -3
- package/dist/{lock-commands-Y4S4NUCE.js → lock-commands-DQ7CUMIV.js} +20 -19
- package/dist/{login-command-DFCURZLC.js → login-command-Z6CHTA57.js} +7 -7
- package/dist/{logout-command-WXVZQCAV.js → logout-command-ER6IKAYJ.js} +2 -2
- package/dist/{loop-7SAIGRCZ.js → loop-D5NPL4VH.js} +3 -3
- package/dist/{marketplace-command-BCOAAN2I.js → marketplace-command-P4IPLJ6J.js} +6 -6
- package/dist/{meta-client-57ZWVHST.js → meta-client-K2J4XH64.js} +6 -6
- package/dist/node.d.ts +2 -2
- package/dist/node.js +9 -8
- package/dist/{validate-command-GLF5ZOOW.js → preflight-command-GZ2GE5RN.js} +17 -16
- package/dist/{profile-command-QJAAUZIV.js → profile-command-LJSBDV2L.js} +5 -5
- package/dist/{release-command-DN75G5GJ.js → release-command-YUBTNHVX.js} +36 -33
- package/dist/{routes-manifest-SP3ZXLMR.js → routes-manifest-PWZHDOI5.js} +2 -2
- package/dist/scaffold.js +2 -2
- package/dist/{static-host-D6KS7X45.js → static-host-3WMV7IZO.js} +1 -1
- package/dist/status-command-AL47VG7H.js +162 -0
- package/dist/{store-CUCBSYLj.d.ts → store-BG1UPZ3Z.d.ts} +5 -5
- package/dist/{test-command-RRNNJ45I.js → test-command-YAZLKLGQ.js} +46 -29
- package/dist/{upgrade-command-XFOAWDI3.js → upgrade-command-FB5QJ363.js} +13 -12
- package/dist/{workspace-K72NP7SX.js → workspace-2COHDBM3.js} +1 -1
- package/dist/{workspace-command-QCFELEGR.js → workspace-command-43P42FBP.js} +31 -32
- package/dist/{workspace-export-AJMGN3CQ.js → workspace-export-DURY5WYL.js} +2 -2
- package/guides/README.md +2 -2
- package/guides/authoring.md +9 -1
- package/guides/cli.md +17 -19
- package/guides/codegen.md +21 -5
- package/guides/coverage.md +1 -1
- package/guides/deploying.md +31 -34
- package/guides/environment.md +4 -4
- package/guides/object-kinds.md +3 -3
- package/guides/project-structure.md +1 -1
- package/guides/scaffold.md +25 -2
- package/guides/typed-frontend.md +1 -1
- package/llms/fields.md +3 -2
- package/llms/kinds-agent-mcp.md +1 -1
- package/llms/kinds-core.md +1 -1
- package/llms/kinds-realtime.md +1 -1
- package/llms/lock.md +5 -5
- package/llms/statements-calls.md +2 -1
- package/llms/statements-data.md +5 -2
- package/llms/tests.md +3 -2
- package/llms-full.txt +41 -44
- package/llms.txt +20 -29
- package/manifest.json +95 -426
- package/package.json +1 -1
- package/dist/chunk-3EYUR3TX.js +0 -100
- package/dist/chunk-JQJPFUZI.js +0 -118
- package/dist/chunk-XP7S3VWY.js +0 -78
- package/dist/codegen-command-U2W72DLG.js +0 -43
- package/dist/env-target-NAYVEXBH.js +0 -16
- package/dist/sandbox-details-command-EDO56IY3.js +0 -18
- package/dist/sandbox-export-command-MO6DEZ7Z.js +0 -24
|
@@ -1,19 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ENV_SPELLINGS
|
|
3
|
+
} from "./chunk-CTD5ZCV6.js";
|
|
4
|
+
import {
|
|
5
|
+
readLockFile,
|
|
6
|
+
writeLockFile
|
|
7
|
+
} from "./chunk-OYMR5AMJ.js";
|
|
1
8
|
import {
|
|
2
9
|
UsageError,
|
|
3
10
|
extraArguments,
|
|
4
11
|
missingArgument,
|
|
5
|
-
removedSubcommand,
|
|
6
12
|
renderGlobalHelp,
|
|
7
13
|
renderHelpFor,
|
|
8
14
|
unknownCommand,
|
|
9
15
|
unknownFlag,
|
|
10
16
|
unknownHelpTopic,
|
|
11
17
|
unknownSubcommand
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
readLockFile,
|
|
15
|
-
writeLockFile
|
|
16
|
-
} from "./chunk-OYMR5AMJ.js";
|
|
18
|
+
} from "./chunk-F6CYJ7TN.js";
|
|
17
19
|
import {
|
|
18
20
|
detail,
|
|
19
21
|
info,
|
|
@@ -24,13 +26,13 @@ import {
|
|
|
24
26
|
Xano,
|
|
25
27
|
assertSeedIds,
|
|
26
28
|
coerceSeedRowValues
|
|
27
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-VKSOTZK3.js";
|
|
28
30
|
import {
|
|
29
31
|
getCommand,
|
|
30
32
|
getSubcommand,
|
|
31
33
|
isCommand,
|
|
32
34
|
suggest
|
|
33
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-DIA7CT7J.js";
|
|
34
36
|
import {
|
|
35
37
|
FILTER_NAMES,
|
|
36
38
|
KNOWLEDGE_DIR,
|
|
@@ -44,7 +46,7 @@ import {
|
|
|
44
46
|
pathSegment,
|
|
45
47
|
serializeBundle,
|
|
46
48
|
tableColumns
|
|
47
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-LBYWGMOA.js";
|
|
48
50
|
import {
|
|
49
51
|
WORKSPACE_KEY,
|
|
50
52
|
createLockContext,
|
|
@@ -61,7 +63,7 @@ import {
|
|
|
61
63
|
// src/emit/cli.ts
|
|
62
64
|
import { pathToFileURL as pathToFileURL3, fileURLToPath as fileURLToPath3 } from "url";
|
|
63
65
|
import { existsSync, readdirSync as readdirSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
|
|
64
|
-
import { basename, dirname, join as join2, relative as relative2, resolve } from "path";
|
|
66
|
+
import { basename, dirname, isAbsolute, join as join2, relative as relative2, resolve } from "path";
|
|
65
67
|
import { createRequire } from "module";
|
|
66
68
|
|
|
67
69
|
// src/workspace/seed.ts
|
|
@@ -338,7 +340,7 @@ function parsePort(raw) {
|
|
|
338
340
|
}
|
|
339
341
|
return n;
|
|
340
342
|
}
|
|
341
|
-
var NOUN_COMMANDS = /* @__PURE__ */ new Set(["
|
|
343
|
+
var NOUN_COMMANDS = /* @__PURE__ */ new Set(["profile", "ephemeral", "workspace", "marketplace", "test"]);
|
|
342
344
|
function helpTargetFor(command, subcommand) {
|
|
343
345
|
if (command === void 0 || !isCommand(command)) return void 0;
|
|
344
346
|
return subcommand !== void 0 && getSubcommand(command, subcommand) !== void 0 ? { command, subcommand } : { command };
|
|
@@ -383,7 +385,7 @@ function parseArgs(argv) {
|
|
|
383
385
|
let check = false;
|
|
384
386
|
let bundle;
|
|
385
387
|
let reset = false;
|
|
386
|
-
let
|
|
388
|
+
let env;
|
|
387
389
|
let kind;
|
|
388
390
|
let concurrency;
|
|
389
391
|
let test = false;
|
|
@@ -411,6 +413,7 @@ function parseArgs(argv) {
|
|
|
411
413
|
let name;
|
|
412
414
|
const ai = [];
|
|
413
415
|
const marketplace = [];
|
|
416
|
+
let from;
|
|
414
417
|
let framework;
|
|
415
418
|
let theme;
|
|
416
419
|
let radius;
|
|
@@ -421,7 +424,9 @@ function parseArgs(argv) {
|
|
|
421
424
|
let icons;
|
|
422
425
|
let force = false;
|
|
423
426
|
let noInstall = false;
|
|
424
|
-
let
|
|
427
|
+
let skipLiveness = false;
|
|
428
|
+
let skipRoundtrip = false;
|
|
429
|
+
let identityOnly = false;
|
|
425
430
|
let requireMicroservices = false;
|
|
426
431
|
let report;
|
|
427
432
|
let allowSeedInStatic = false;
|
|
@@ -471,10 +476,14 @@ function parseArgs(argv) {
|
|
|
471
476
|
bundle = arg.slice("--bundle=".length);
|
|
472
477
|
} else if (arg === "--reset") {
|
|
473
478
|
reset = true;
|
|
474
|
-
} else if (arg === "--
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
479
|
+
} else if (arg === "--env" || arg.startsWith("--env=")) {
|
|
480
|
+
const value = arg === "--env" ? rest[++i] : arg.slice("--env=".length);
|
|
481
|
+
if (value === void 0 || value === "") {
|
|
482
|
+
throw new UsageError(`--env expects an environment: ${ENV_SPELLINGS}.`, {
|
|
483
|
+
helpFor: helpTargetFor(command, subcommand)
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
env = value;
|
|
478
487
|
} else if (arg === "--kind") {
|
|
479
488
|
kind = parseKind(rest[++i]);
|
|
480
489
|
} else if (arg.startsWith("--kind=")) {
|
|
@@ -596,6 +605,15 @@ function parseArgs(argv) {
|
|
|
596
605
|
icons = rest[++i];
|
|
597
606
|
} else if (arg.startsWith("--icons=")) {
|
|
598
607
|
icons = arg.slice("--icons=".length);
|
|
608
|
+
} else if (arg === "--from" || arg.startsWith("--from=")) {
|
|
609
|
+
const value = arg === "--from" ? rest[++i] : arg.slice("--from=".length);
|
|
610
|
+
if (value === void 0 || value === "") {
|
|
611
|
+
throw new UsageError(
|
|
612
|
+
"--from expects a source: workspace, ephemeral:<name>, or a path to a bundle .json.",
|
|
613
|
+
{ helpFor: helpTargetFor(command, subcommand) }
|
|
614
|
+
);
|
|
615
|
+
}
|
|
616
|
+
from = value;
|
|
599
617
|
} else if (arg === "--marketplace" || arg.startsWith("--marketplace=")) {
|
|
600
618
|
const raw = arg === "--marketplace" ? rest[++i] : arg.slice("--marketplace=".length);
|
|
601
619
|
for (const p of (raw ?? "").split(",")) {
|
|
@@ -614,8 +632,17 @@ function parseArgs(argv) {
|
|
|
614
632
|
noInstall = true;
|
|
615
633
|
} else if (arg === "--allow-seed-in-static") {
|
|
616
634
|
allowSeedInStatic = true;
|
|
635
|
+
} else if (arg === "--skip-liveness") {
|
|
636
|
+
skipLiveness = true;
|
|
637
|
+
} else if (arg === "--skip-roundtrip") {
|
|
638
|
+
skipRoundtrip = true;
|
|
639
|
+
} else if (arg === "--identity-only") {
|
|
640
|
+
identityOnly = true;
|
|
617
641
|
} else if (arg === "--no-verify") {
|
|
618
|
-
|
|
642
|
+
throw new UsageError(
|
|
643
|
+
`\`--no-verify\` was split into three flags that each name what they skip: \`--skip-liveness\` (deploy: waiting for the deploy to come up), \`--skip-roundtrip\` (init --from: the offline re-export check), and \`--identity-only\` (lock prune: loading the entry file).`,
|
|
644
|
+
{ helpFor: helpTargetFor(command, subcommand) }
|
|
645
|
+
);
|
|
619
646
|
} else if (arg === "--require-microservices") {
|
|
620
647
|
requireMicroservices = true;
|
|
621
648
|
} else if (arg === "--dry-run") {
|
|
@@ -652,6 +679,12 @@ function parseArgs(argv) {
|
|
|
652
679
|
`\`--profile\` was removed \u2014 deploy now authenticates via OAuth. Run \`xanots login\` once (or set XANO_REFRESH_TOKEN for CI).`,
|
|
653
680
|
{ helpFor: helpTargetFor(command, subcommand) }
|
|
654
681
|
);
|
|
682
|
+
} else if (arg === "--dest" || arg.startsWith("--dest=")) {
|
|
683
|
+
const value = arg.startsWith("--dest=") ? arg.slice("--dest=".length) : rest[i + 1];
|
|
684
|
+
throw new UsageError(
|
|
685
|
+
`\`--dest\` is now \`--env\`${value === void 0 || value.startsWith("-") ? "" : ` (\`--env ${value}\`)`}, because it only ever selected an environment to READ \u2014 \`deploy\` and \`release\` each reach exactly one environment and take no flag for it. Environments are ${ENV_SPELLINGS}.`,
|
|
686
|
+
{ helpFor: helpTargetFor(command, subcommand) }
|
|
687
|
+
);
|
|
655
688
|
} else if (arg === "--workspace" || arg.startsWith("--workspace=")) {
|
|
656
689
|
throw new UsageError(
|
|
657
690
|
`\`--workspace\` was removed. Every command acts on the workspace its credential is bound to \u2014 pinned at \`xanots login\`, or set as \`workspace_id\` in a meta API token credential. Run \`xanots workspace details\` to see which one that is.`,
|
|
@@ -660,7 +693,7 @@ function parseArgs(argv) {
|
|
|
660
693
|
} else if (arg === "--prune" || arg === "--confirm-workspace" || arg.startsWith("--confirm-workspace=") || arg === "--adopt-workspace") {
|
|
661
694
|
const flag = arg.split("=")[0];
|
|
662
695
|
throw new UsageError(
|
|
663
|
-
`\`${flag}\` was removed along with \`xanots workspace deploy\` \u2014 deploy
|
|
696
|
+
`\`${flag}\` was removed along with \`xanots workspace deploy\` \u2014 \`xanots deploy\` writes to an ephemeral environment, and takes no destination flag.`,
|
|
664
697
|
{ helpFor: helpTargetFor(command, subcommand) }
|
|
665
698
|
);
|
|
666
699
|
} else if (arg === "--help" || arg === "-h") {
|
|
@@ -696,7 +729,7 @@ function parseArgs(argv) {
|
|
|
696
729
|
check,
|
|
697
730
|
bundle,
|
|
698
731
|
reset,
|
|
699
|
-
|
|
732
|
+
env,
|
|
700
733
|
kind,
|
|
701
734
|
concurrency,
|
|
702
735
|
test,
|
|
@@ -724,6 +757,7 @@ function parseArgs(argv) {
|
|
|
724
757
|
name,
|
|
725
758
|
ai,
|
|
726
759
|
marketplace,
|
|
760
|
+
from,
|
|
727
761
|
force,
|
|
728
762
|
noInstall,
|
|
729
763
|
framework,
|
|
@@ -734,7 +768,9 @@ function parseArgs(argv) {
|
|
|
734
768
|
fontMono,
|
|
735
769
|
fontHeading,
|
|
736
770
|
icons,
|
|
737
|
-
|
|
771
|
+
skipLiveness,
|
|
772
|
+
skipRoundtrip,
|
|
773
|
+
identityOnly,
|
|
738
774
|
requireMicroservices,
|
|
739
775
|
report,
|
|
740
776
|
allowSeedInStatic,
|
|
@@ -768,10 +804,6 @@ function parseFormat(raw) {
|
|
|
768
804
|
if (raw === "json" || raw === "multidoc") return raw;
|
|
769
805
|
throw new Error(`--format must be "json" or "multidoc" (got "${raw ?? ""}").`);
|
|
770
806
|
}
|
|
771
|
-
function parseDest(raw) {
|
|
772
|
-
if (raw === "sandbox" || raw === "ephemeral" || raw === "workspace") return raw;
|
|
773
|
-
throw new Error(`--dest must be "ephemeral", "sandbox" or "workspace" (got "${raw ?? ""}").`);
|
|
774
|
-
}
|
|
775
807
|
function parseKind(raw) {
|
|
776
808
|
if (raw === "unit" || raw === "workflow") return raw;
|
|
777
809
|
throw new Error(`--kind must be "unit" or "workflow" (got "${raw ?? ""}").`);
|
|
@@ -839,12 +871,26 @@ function suggestSiblingFile(path) {
|
|
|
839
871
|
return void 0;
|
|
840
872
|
}
|
|
841
873
|
}
|
|
874
|
+
function findEntryInAncestor(file) {
|
|
875
|
+
if (isAbsolute(file)) return void 0;
|
|
876
|
+
let dir = dirname(resolve(file));
|
|
877
|
+
for (; ; ) {
|
|
878
|
+
const parent = dirname(dir);
|
|
879
|
+
if (parent === dir) return void 0;
|
|
880
|
+
dir = parent;
|
|
881
|
+
if (existsSync(resolve(dir, file))) return dir;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
842
884
|
async function loadDefault(file) {
|
|
843
885
|
const path = resolve(file);
|
|
844
886
|
if (!existsSync(path)) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
887
|
+
const elsewhere = findEntryInAncestor(file);
|
|
888
|
+
const where = elsewhere !== void 0 ? `A relative entry resolves against the current directory (${process.cwd()}), and "${file}" does exist under ${elsewhere} \u2014 run xanots from there.` : `A relative entry resolves against the current directory (${process.cwd()}).`;
|
|
889
|
+
throw new UsageError(
|
|
890
|
+
`Cannot find entry file "${file}" (resolved to ${path}).` + (isAbsolute(file) ? "" : `
|
|
891
|
+
${where}`),
|
|
892
|
+
{ suggestion: suggestSiblingFile(path) }
|
|
893
|
+
);
|
|
848
894
|
}
|
|
849
895
|
const url = pathToFileURL3(path).href;
|
|
850
896
|
const isTypeScript = /\.[mc]?ts$/.test(file);
|
|
@@ -933,9 +979,12 @@ function warnOrphans(orphans, dropped, cededCanonicals, previous, observed) {
|
|
|
933
979
|
}
|
|
934
980
|
}
|
|
935
981
|
async function run(argv) {
|
|
936
|
-
if (argv[0] === "
|
|
937
|
-
const
|
|
938
|
-
|
|
982
|
+
if (argv[0] === "init") {
|
|
983
|
+
const web = argv.indexOf("--web", 1);
|
|
984
|
+
if (web !== -1) {
|
|
985
|
+
const { runInitWebCommand } = await import("./init-web-3JNFG6GI.js");
|
|
986
|
+
return runInitWebCommand([...argv.slice(1, web), ...argv.slice(web + 1)]);
|
|
987
|
+
}
|
|
939
988
|
}
|
|
940
989
|
const helpRequest = resolveHelpRequest(argv);
|
|
941
990
|
if (helpRequest) {
|
|
@@ -955,11 +1004,11 @@ async function run(argv) {
|
|
|
955
1004
|
return;
|
|
956
1005
|
}
|
|
957
1006
|
if (command === "init") {
|
|
958
|
-
const { runInitCommand } = await import("./init-command-
|
|
1007
|
+
const { runInitCommand } = await import("./init-command-MAXULNAD.js");
|
|
959
1008
|
return runInitCommand(args);
|
|
960
1009
|
}
|
|
961
1010
|
if (command === "completion") {
|
|
962
|
-
const { isCompletionShell, runCompletionCommand, COMPLETION_SHELLS } = await import("./completion-
|
|
1011
|
+
const { isCompletionShell, runCompletionCommand, COMPLETION_SHELLS } = await import("./completion-WF46272M.js");
|
|
963
1012
|
const shell = args.positionals[0];
|
|
964
1013
|
if (shell === void 0 || !isCompletionShell(shell)) {
|
|
965
1014
|
throw new UsageError(
|
|
@@ -970,79 +1019,61 @@ async function run(argv) {
|
|
|
970
1019
|
return runCompletionCommand(shell);
|
|
971
1020
|
}
|
|
972
1021
|
if (command === "upgrade") {
|
|
973
|
-
const { runUpgradeCommand } = await import("./upgrade-command-
|
|
1022
|
+
const { runUpgradeCommand } = await import("./upgrade-command-FB5QJ363.js");
|
|
974
1023
|
return runUpgradeCommand(args);
|
|
975
1024
|
}
|
|
976
1025
|
if (command === "lock") {
|
|
977
|
-
const { runLockCommand } = await import("./lock-commands-
|
|
1026
|
+
const { runLockCommand } = await import("./lock-commands-DQ7CUMIV.js");
|
|
978
1027
|
return runLockCommand(args);
|
|
979
1028
|
}
|
|
980
1029
|
if (command === "login") {
|
|
981
|
-
const { runLoginCommand } = await import("./login-command-
|
|
1030
|
+
const { runLoginCommand } = await import("./login-command-Z6CHTA57.js");
|
|
982
1031
|
return runLoginCommand(args);
|
|
983
1032
|
}
|
|
984
1033
|
if (command === "logout") {
|
|
985
|
-
const { runLogoutCommand } = await import("./logout-command-
|
|
1034
|
+
const { runLogoutCommand } = await import("./logout-command-ER6IKAYJ.js");
|
|
986
1035
|
return runLogoutCommand(args);
|
|
987
1036
|
}
|
|
988
1037
|
if (command === "deploy") {
|
|
989
|
-
const { runDeployCommand } = await import("./deploy-command-
|
|
1038
|
+
const { runDeployCommand } = await import("./deploy-command-QTIVA22A.js");
|
|
990
1039
|
return runDeployCommand(args);
|
|
991
1040
|
}
|
|
992
1041
|
if (command === "ephemeral") {
|
|
993
|
-
const { runEphemeralCommand } = await import("./ephemeral-command-
|
|
1042
|
+
const { runEphemeralCommand } = await import("./ephemeral-command-U4AQ3TXX.js");
|
|
994
1043
|
return runEphemeralCommand(args);
|
|
995
1044
|
}
|
|
996
1045
|
if (command === "release") {
|
|
997
|
-
const { runReleaseCommand } = await import("./release-command-
|
|
1046
|
+
const { runReleaseCommand } = await import("./release-command-YUBTNHVX.js");
|
|
998
1047
|
return runReleaseCommand(args);
|
|
999
1048
|
}
|
|
1000
|
-
if (command === "sandbox") {
|
|
1001
|
-
if (args.subcommand === "deploy") {
|
|
1002
|
-
throw removedSubcommand("sandbox", "deploy");
|
|
1003
|
-
}
|
|
1004
|
-
if (args.subcommand === "details") {
|
|
1005
|
-
const { runSandboxDetailsCommand } = await import("./sandbox-details-command-EDO56IY3.js");
|
|
1006
|
-
return runSandboxDetailsCommand(args);
|
|
1007
|
-
}
|
|
1008
|
-
if (args.subcommand === "export") {
|
|
1009
|
-
const { runSandboxExportCommand } = await import("./sandbox-export-command-MO6DEZ7Z.js");
|
|
1010
|
-
return runSandboxExportCommand(args);
|
|
1011
|
-
}
|
|
1012
|
-
if (args.subcommand === "codegen") {
|
|
1013
|
-
const { runCodegenCommand } = await import("./codegen-command-U2W72DLG.js");
|
|
1014
|
-
return runCodegenCommand(args, { kind: "sandbox" });
|
|
1015
|
-
}
|
|
1016
|
-
throw unknownSubcommand("sandbox", args.subcommand);
|
|
1017
|
-
}
|
|
1018
1049
|
if (command === "test") {
|
|
1019
|
-
const { runTestCommand } = await import("./test-command-
|
|
1050
|
+
const { runTestCommand } = await import("./test-command-YAZLKLGQ.js");
|
|
1020
1051
|
return runTestCommand(args);
|
|
1021
1052
|
}
|
|
1022
1053
|
if (command === "workspace") {
|
|
1023
|
-
const { runWorkspaceCommand } = await import("./workspace-command-
|
|
1054
|
+
const { runWorkspaceCommand } = await import("./workspace-command-43P42FBP.js");
|
|
1024
1055
|
return runWorkspaceCommand(args);
|
|
1025
1056
|
}
|
|
1026
|
-
if (command === "
|
|
1027
|
-
const {
|
|
1028
|
-
return
|
|
1057
|
+
if (command === "status") {
|
|
1058
|
+
const { runStatusCommand } = await import("./status-command-AL47VG7H.js");
|
|
1059
|
+
return runStatusCommand(args);
|
|
1060
|
+
}
|
|
1061
|
+
if (command === "whoami") {
|
|
1062
|
+
const { runProfileCommand } = await import("./profile-command-LJSBDV2L.js");
|
|
1063
|
+
return runProfileCommand(args);
|
|
1029
1064
|
}
|
|
1030
1065
|
if (command === "profile") {
|
|
1031
1066
|
if (args.subcommand !== "me") {
|
|
1032
1067
|
throw unknownSubcommand("profile", args.subcommand);
|
|
1033
1068
|
}
|
|
1034
|
-
const { runProfileCommand } = await import("./profile-command-
|
|
1035
|
-
return runProfileCommand(args);
|
|
1036
|
-
}
|
|
1037
|
-
if (command === "whoami") {
|
|
1038
|
-
const { runProfileCommand } = await import("./profile-command-QJAAUZIV.js");
|
|
1069
|
+
const { runProfileCommand } = await import("./profile-command-LJSBDV2L.js");
|
|
1039
1070
|
return runProfileCommand(args);
|
|
1040
1071
|
}
|
|
1041
1072
|
if (command === "marketplace") {
|
|
1042
1073
|
if (!["list", "search", "details", "install"].includes(args.subcommand ?? "")) {
|
|
1043
1074
|
throw unknownSubcommand("marketplace", args.subcommand);
|
|
1044
1075
|
}
|
|
1045
|
-
const marketplace = await import("./marketplace-command-
|
|
1076
|
+
const marketplace = await import("./marketplace-command-P4IPLJ6J.js");
|
|
1046
1077
|
if (args.subcommand === "list") return marketplace.runMarketplaceListCommand(args);
|
|
1047
1078
|
if (args.subcommand === "search") return marketplace.runMarketplaceSearchCommand(args);
|
|
1048
1079
|
if (args.subcommand === "details") return marketplace.runMarketplaceDetailsCommand(args);
|
|
@@ -1051,9 +1082,9 @@ async function run(argv) {
|
|
|
1051
1082
|
if (command === "push") {
|
|
1052
1083
|
throw unknownCommand("push");
|
|
1053
1084
|
}
|
|
1054
|
-
if (command === "
|
|
1055
|
-
const {
|
|
1056
|
-
return
|
|
1085
|
+
if (command === "preflight") {
|
|
1086
|
+
const { runPreflightCommand } = await import("./preflight-command-GZ2GE5RN.js");
|
|
1087
|
+
return runPreflightCommand(args);
|
|
1057
1088
|
}
|
|
1058
1089
|
if (command !== "compile" && command !== "export" && command !== "paths" && command !== "routes") {
|
|
1059
1090
|
throw unknownCommand(command);
|
|
@@ -1084,7 +1115,7 @@ async function run(argv) {
|
|
|
1084
1115
|
}
|
|
1085
1116
|
async function refreshAgentGuidance() {
|
|
1086
1117
|
try {
|
|
1087
|
-
const { refreshAgentFiles } = await import("./agent-file-refresh-
|
|
1118
|
+
const { refreshAgentFiles } = await import("./agent-file-refresh-QNKN5RYD.js");
|
|
1088
1119
|
const refreshed = refreshAgentFiles({
|
|
1089
1120
|
projectDir: process.cwd(),
|
|
1090
1121
|
sdkVersion: readVersion()
|
|
@@ -1116,7 +1147,7 @@ async function runCompile(args) {
|
|
|
1116
1147
|
const def = await loadDefault(file);
|
|
1117
1148
|
if (Xano.isXano(def)) {
|
|
1118
1149
|
throw new Error(
|
|
1119
|
-
`Module "${file}" default-exports a workspace \u2014 use \`xanots export\` (or \`xanots
|
|
1150
|
+
`Module "${file}" default-exports a workspace \u2014 use \`xanots export\` (or \`xanots routes\`) for a workspace entry. \`compile\` takes a single object def (a query, function, table, \u2026) and prints its JSON artifact.`
|
|
1120
1151
|
);
|
|
1121
1152
|
}
|
|
1122
1153
|
if (!def || typeof def !== "object" || typeof def.name !== "string") {
|
|
@@ -1200,7 +1231,7 @@ async function runPaths(args) {
|
|
|
1200
1231
|
return;
|
|
1201
1232
|
}
|
|
1202
1233
|
if (unresolved.length === 0) {
|
|
1203
|
-
const { renderRouteManifest } = await import("./routes-manifest-
|
|
1234
|
+
const { renderRouteManifest } = await import("./routes-manifest-PWZHDOI5.js");
|
|
1204
1235
|
const source = renderRouteManifest(
|
|
1205
1236
|
resolved.map((r) => ({ name: r.name, verb: r.verb, canonical: r.canonical })),
|
|
1206
1237
|
describableServers.length > 0 ? { servers: describableServers, channels: channelRows } : void 0
|
|
@@ -1212,7 +1243,7 @@ async function runPaths(args) {
|
|
|
1212
1243
|
const current = existsSync(args.emit) ? readFileSync3(args.emit, "utf8") : void 0;
|
|
1213
1244
|
if (current !== source) {
|
|
1214
1245
|
throw new Error(
|
|
1215
|
-
`--strict: ${args.emit} is ${current === void 0 ? "missing" : "out of date"}. Run \`xanots
|
|
1246
|
+
`--strict: ${args.emit} is ${current === void 0 ? "missing" : "out of date"}. Run \`xanots routes <entry> --emit ${args.emit}\` and commit the result \u2014 a stale route manifest keeps compiling while the endpoints have moved.`
|
|
1216
1247
|
);
|
|
1217
1248
|
}
|
|
1218
1249
|
info(`${args.emit} is up to date (${count}).`);
|
|
@@ -1232,7 +1263,7 @@ async function runPaths(args) {
|
|
|
1232
1263
|
if (unresolved.length > 0) {
|
|
1233
1264
|
const names = unresolved.map((r) => `"${r.name}"`).join(", ");
|
|
1234
1265
|
throw new Error(
|
|
1235
|
-
`paths: cannot resolve the api group's canonical URL token for ${unresolved.length} query(ies): ${names}. Set an explicit \`apiGroup({ canonical })\`, or run \`xanots export ${file} --lock\` once (it mints a unique canonical and freezes it in xano.lock) beside the entry, then re-run \`xanots
|
|
1266
|
+
`paths: cannot resolve the api group's canonical URL token for ${unresolved.length} query(ies): ${names}. Set an explicit \`apiGroup({ canonical })\`, or run \`xanots export ${file} --lock\` once (it mints a unique canonical and freezes it in xano.lock) beside the entry, then re-run \`xanots routes\`.`
|
|
1236
1267
|
);
|
|
1237
1268
|
}
|
|
1238
1269
|
}
|
|
@@ -1317,4 +1348,4 @@ export {
|
|
|
1317
1348
|
exportBundleJson,
|
|
1318
1349
|
compileBundle
|
|
1319
1350
|
};
|
|
1320
|
-
//# sourceMappingURL=chunk-
|
|
1351
|
+
//# sourceMappingURL=chunk-ACCBOMCB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UsageError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-F6CYJ7TN.js";
|
|
4
4
|
import {
|
|
5
5
|
style
|
|
6
6
|
} from "./chunk-EZG76F7R.js";
|
|
@@ -56,4 +56,4 @@ export {
|
|
|
56
56
|
confirm,
|
|
57
57
|
promptLine
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-AIZKXUNP.js.map
|
|
@@ -36,7 +36,7 @@ function renderPackageJson({ appName, sdkVersion }, preset, choice = defaultThem
|
|
|
36
36
|
// delete-and-recreate instead of rename-in-place. The lock has to be
|
|
37
37
|
// adopted BEFORE the identities matter — by the time a rename lands
|
|
38
38
|
// against data anyone cares about, the guids have already drifted and
|
|
39
|
-
// recovery is `xanots lock
|
|
39
|
+
// recovery is `xanots lock import`. The scaffold is the earliest possible
|
|
40
40
|
// moment, so it opts in from the first export (issue #26). Once the file
|
|
41
41
|
// exists every export uses it, flag or not.
|
|
42
42
|
"xano:export": `${check} && xanots export ./xano/index.ts --out workspace.json --lock`,
|
|
@@ -226,7 +226,9 @@ npm run xano:deploy # build the frontend, then ship it with the backend
|
|
|
226
226
|
- \`npm run xano:deploy\` deploys the backend and the built frontend to a live
|
|
227
227
|
**ephemeral** environment and prints its URL. Run it again to refresh the same
|
|
228
228
|
environment; if it expired, a fresh one is created and the new URL is called out.
|
|
229
|
-
-
|
|
229
|
+
- \`xanots status\` says who you are signed in as, which workspace you are bound to, and
|
|
230
|
+
which environment this project last deployed to \u2014 its URL, and when it expires. You
|
|
231
|
+
never have to remember the environment's name.
|
|
230
232
|
- \`npm run xano:test\` runs the tests the DEPLOYED environment carries \u2014 the \`tests\`
|
|
231
233
|
on a query/function/middleware and any \`workflowTest()\`. It compiles nothing, so
|
|
232
234
|
deploy first. A failing suite exits 5, distinct from a crash. \`xanots deploy
|
|
@@ -243,7 +245,7 @@ public URLs).
|
|
|
243
245
|
|
|
244
246
|
It is created by \`npm run xano:export\` or \`npm run xano:deploy\`, and **must be
|
|
245
247
|
committed**. Adopt it from the first export: once identities have drifted, the
|
|
246
|
-
recovery path is \`xanots lock
|
|
248
|
+
recovery path is \`xanots lock import <live-bundle.json> --lock=xano/xano.lock\`
|
|
247
249
|
against the deployed workspace.
|
|
248
250
|
|
|
249
251
|
\`\`\`bash
|
|
@@ -252,7 +254,7 @@ npm run xano:check # CI: fail if the export would change xano.lock
|
|
|
252
254
|
|
|
253
255
|
To rename an object: rename it in code, run \`npm run xano:export\` (stderr prints
|
|
254
256
|
the exact fix-up), run \`xanots lock rename <kind> <old> <new> --lock=xano/xano.lock\`,
|
|
255
|
-
then export again. \`lock rename\` and \`lock
|
|
257
|
+
then export again. \`lock rename\` and \`lock import\` need that flag here \u2014 they take no
|
|
256
258
|
entry file, so they look for the lock in the current directory, while
|
|
257
259
|
\`lock prune ./xano/index.ts\` derives it from the entry like \`export\` does.
|
|
258
260
|
|
|
@@ -267,7 +269,7 @@ body \u2014 change a def and the frontend types follow.
|
|
|
267
269
|
> file with \`tsx <file.ts>\` **from inside the project root** \u2014 not \`tsx -e\`, not
|
|
268
270
|
> bare \`node file.ts\`, and not from another directory (they mis-resolve the
|
|
269
271
|
> intra-workspace \`.js\` imports and the \`@xanots/sdk\` specifier). Or use
|
|
270
|
-
> \`xanots
|
|
272
|
+
> \`xanots routes xano/index.ts\` to list every endpoint's verb + path.
|
|
271
273
|
|
|
272
274
|
## The frontend
|
|
273
275
|
|
|
@@ -450,17 +452,8 @@ kind.
|
|
|
450
452
|
### Event-driven objects
|
|
451
453
|
|
|
452
454
|
A scheduled \`task\`, an \`mcpServer\`, and every trigger **fire normally on an
|
|
453
|
-
ephemeral** \u2014 \`deploy\`
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
Under \`--dest sandbox\` they **deploy but do not fire**: they import cleanly, never
|
|
457
|
-
execute, and there's no way to fire one manually (a table insert/update/delete does
|
|
458
|
-
NOT run its trigger). Only synchronously-invoked objects \u2014 queries, functions, and
|
|
459
|
-
the agents an endpoint calls with \`s.ai.agent.run\` \u2014 run there. If you must stay on
|
|
460
|
-
the sandbox, factor the body into a \`defineFunction\` you can also call directly
|
|
461
|
-
(e.g. from a query via \`s.function.run\`) and put the assertions on THAT \u2014 a
|
|
462
|
-
\`tests\` entry on the function, or a \`workflowTest\` that calls it. See
|
|
463
|
-
\`llms.txt\` for the full guidance.
|
|
455
|
+
ephemeral** \u2014 where \`deploy\` sends them \u2014 so test them by deploying and letting
|
|
456
|
+
them run.
|
|
464
457
|
|
|
465
458
|
## Wire the frontend
|
|
466
459
|
|
|
@@ -478,15 +471,13 @@ Keep the client bundle lean (**split route metadata from stack-heavy authoring**
|
|
|
478
471
|
\u2014 drags that whole graph in. For those, don't import the def in the browser:
|
|
479
472
|
declare its \`{ path, verb }\` as plain metadata (see the \`ROUTES\` example in
|
|
480
473
|
\`api.ts\`) and verify it against the compiled bundle with
|
|
481
|
-
\`npx xanots
|
|
474
|
+
\`npx xanots routes xano/index.ts\`.
|
|
482
475
|
`;
|
|
483
476
|
}
|
|
484
477
|
function describeOrigin(o) {
|
|
485
478
|
switch (o.source) {
|
|
486
479
|
case "workspace":
|
|
487
480
|
return `workspace ${o.origin}`;
|
|
488
|
-
case "sandbox":
|
|
489
|
-
return "the sandbox workspace";
|
|
490
481
|
case "ephemeral":
|
|
491
482
|
return `ephemeral "${o.origin}"`;
|
|
492
483
|
case "file":
|
|
@@ -500,7 +491,7 @@ function renderCodegenMarker({ sdkVersion }, origin, generatedAt, report) {
|
|
|
500
491
|
origin: origin.origin,
|
|
501
492
|
sdkVersion,
|
|
502
493
|
generatedAt,
|
|
503
|
-
note: "Written by `xanots
|
|
494
|
+
note: "Written by `xanots init --from`. Its presence lets a re-run refresh xano/ in place.",
|
|
504
495
|
// The findings, so parity is trackable release over release and gateable
|
|
505
496
|
// in CI without scraping stderr. Omitted rather than written empty when
|
|
506
497
|
// the caller has none to record.
|
|
@@ -536,11 +527,11 @@ npm run xano:deploy # typecheck, build the frontend, ship both
|
|
|
536
527
|
|
|
537
528
|
## Read this before deploying
|
|
538
529
|
|
|
539
|
-
- **\`xano/\` is disposable.** Re-running \`xanots
|
|
530
|
+
- **\`xano/\` is disposable.** Re-running \`xanots init --from\` on this directory
|
|
540
531
|
rewrites it wholesale \u2014 no merge, no diff, no preservation of hand edits. The rest of
|
|
541
532
|
the project (this README, \`package.json\`, \`frontend/\`) is yours and is left alone.
|
|
542
533
|
- **Deploying is a full replace.** The import path clears the target workspace and
|
|
543
|
-
re-imports. Send this only to an **ephemeral
|
|
534
|
+
re-imports. Send this only to an **ephemeral** environment \u2014 never to a
|
|
544
535
|
workspace holding data you care about. That is why \`npm run xano:deploy\` targets an
|
|
545
536
|
ephemeral env and there is no deploy-to-your-real-workspace command.
|
|
546
537
|
- **This is schema only.** Table rows are not carried, and neither are payload sections
|
|
@@ -555,7 +546,7 @@ ${secrets}
|
|
|
555
546
|
npm run dev # run the starter frontend
|
|
556
547
|
npm run typecheck # the whole project, both halves
|
|
557
548
|
npm run xano:export # compile the backend to workspace.json (don't commit it)
|
|
558
|
-
npx xanots
|
|
549
|
+
npx xanots routes xano/index.ts # list every endpoint's verb + path
|
|
559
550
|
\`\`\`
|
|
560
551
|
|
|
561
552
|
[\`frontend/src/lib/api.ts\`](frontend/src/lib/api.ts) shows the one contract: derive
|
|
@@ -644,7 +635,7 @@ function codegenLanding({ appName }, origin) {
|
|
|
644
635
|
],
|
|
645
636
|
[
|
|
646
637
|
{ text: "List the endpoints: " },
|
|
647
|
-
{ code: "npx xanots
|
|
638
|
+
{ code: "npx xanots routes xano/index.ts" },
|
|
648
639
|
{ text: ", then wire them up in " },
|
|
649
640
|
{ code: "frontend/src/lib/api.ts" },
|
|
650
641
|
{ text: "." }
|
|
@@ -821,7 +812,7 @@ function renderApiTs() {
|
|
|
821
812
|
// those s.*/c.* factory calls run at module load and can't be tree-shaken out.
|
|
822
813
|
// \u2022 For such a stack-heavy endpoint, don't import its def in the browser at all \u2014
|
|
823
814
|
// declare its { path, verb } in the ROUTES table below and verify it against
|
|
824
|
-
// the compiled bundle with \`npx xanots
|
|
815
|
+
// the compiled bundle with \`npx xanots routes xano/index.ts\`.
|
|
825
816
|
//
|
|
826
817
|
// This starter has no endpoints yet. Once you add one in xano/, wire it like:
|
|
827
818
|
//
|
|
@@ -847,7 +838,7 @@ function renderApiTs() {
|
|
|
847
838
|
// }
|
|
848
839
|
//
|
|
849
840
|
// The stack-heavy escape hatch \u2014 plain metadata, no def import, no bundle cost.
|
|
850
|
-
// Keep it in sync with \`npx xanots
|
|
841
|
+
// Keep it in sync with \`npx xanots routes xano/index.ts\` (it prints verb + path):
|
|
851
842
|
//
|
|
852
843
|
// export const ROUTES = {
|
|
853
844
|
// triageRequest: { path: "/api:notes/triage_request", verb: "POST" },
|
|
@@ -887,4 +878,4 @@ export {
|
|
|
887
878
|
renderCnUtil,
|
|
888
879
|
renderApiTs
|
|
889
880
|
};
|
|
890
|
-
//# sourceMappingURL=chunk-
|
|
881
|
+
//# sourceMappingURL=chunk-ANUDXFEX.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
UsageError
|
|
3
|
+
} from "./chunk-F6CYJ7TN.js";
|
|
4
|
+
|
|
5
|
+
// src/emit/env-selector.ts
|
|
6
|
+
var ENV_SPELLINGS = "workspace, ephemeral, or ephemeral:<name>";
|
|
7
|
+
function parseEnvSelector(raw) {
|
|
8
|
+
if (raw === "workspace") return { kind: "workspace" };
|
|
9
|
+
if (raw === "ephemeral") return { kind: "ephemeral" };
|
|
10
|
+
if (raw.startsWith("ephemeral:")) {
|
|
11
|
+
const name = raw.slice("ephemeral:".length);
|
|
12
|
+
return name === "" ? void 0 : { kind: "ephemeral", name };
|
|
13
|
+
}
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
function unknownEnv(flag, raw, helpFor) {
|
|
17
|
+
return new UsageError(
|
|
18
|
+
`${flag} does not take "${raw}". Environments are ${ENV_SPELLINGS} (\`xanots ephemeral list\` shows the names; bare \`ephemeral\` is the one this project last deployed to).`,
|
|
19
|
+
{ helpFor }
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
ENV_SPELLINGS,
|
|
25
|
+
parseEnvSelector,
|
|
26
|
+
unknownEnv
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-CTD5ZCV6.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deepEqual,
|
|
3
3
|
normalize
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3INK4Y4E.js";
|
|
5
5
|
|
|
6
6
|
// src/deploy/live-diff.ts
|
|
7
7
|
function rows(bundle, key) {
|
|
@@ -254,4 +254,4 @@ export {
|
|
|
254
254
|
sharedSchemaChanges,
|
|
255
255
|
compareToLive
|
|
256
256
|
};
|
|
257
|
-
//# sourceMappingURL=chunk-
|
|
257
|
+
//# sourceMappingURL=chunk-DBFU47BJ.js.map
|