@xanots/sdk 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +34 -1
  3. package/dist/agent-file-refresh-IJ7GN2FJ.js +17 -0
  4. package/dist/bin.js +12 -153
  5. package/dist/{capture-HUV5BNTC.js → capture-7PO6SGB4.js} +2 -2
  6. package/dist/{chunk-CMZLPTGW.js → chunk-7SISR3CS.js} +2 -2
  7. package/dist/{chunk-7DKX2SPN.js → chunk-ACQCK4DT.js} +4 -4
  8. package/dist/{chunk-XQ22GLYS.js → chunk-AJ7JQ4OU.js} +5 -5
  9. package/dist/{chunk-ZO3HJOCJ.js → chunk-ALNQCWAW.js} +2 -2
  10. package/dist/{chunk-55VHDNW5.js → chunk-BPEEGJJA.js} +108 -3
  11. package/dist/{chunk-U3G2UW65.js → chunk-CYJ7R3AD.js} +3 -3
  12. package/dist/{agent-file-refresh-6M5M7T24.js → chunk-D6OGU2AI.js} +5 -6
  13. package/dist/{chunk-3NFUWXOC.js → chunk-DUC3PXDG.js} +142 -45
  14. package/dist/{chunk-HQ2CBRVI.js → chunk-EAIR6VUL.js} +10 -8
  15. package/dist/chunk-ERQZFWIW.js +22 -0
  16. package/dist/{chunk-TQUO2OXY.js → chunk-FN4OQT2J.js} +4 -4
  17. package/dist/{chunk-6USV65XA.js → chunk-KGNJM4LN.js} +2 -2
  18. package/dist/{chunk-HJPTWBLH.js → chunk-MFIHIS6B.js} +2 -2
  19. package/dist/{chunk-F6JCFRKO.js → chunk-PXXLBXOP.js} +2 -2
  20. package/dist/{chunk-YZ4GU6F5.js → chunk-QUUB7HYK.js} +5 -838
  21. package/dist/{chunk-W2G2WPTB.js → chunk-SWIXWJIY.js} +3 -3
  22. package/dist/{chunk-76QBEIGO.js → chunk-T4XPCJRF.js} +3 -2
  23. package/dist/chunk-T6N3VMMO.js +173 -0
  24. package/dist/{chunk-2V4YE6QC.js → chunk-VKD3EBKG.js} +112 -21
  25. package/dist/{chunk-BT2CSEC5.js → chunk-VWGJQTNA.js} +3 -3
  26. package/dist/chunk-WGDAOOXG.js +845 -0
  27. package/dist/{chunk-4YMD2OOZ.js → chunk-XHEXOES3.js} +1 -1
  28. package/dist/{chunk-4HT3BNZ7.js → chunk-YUBJLB6G.js} +10 -2
  29. package/dist/{chunk-5L4X5LS6.js → chunk-YUPQOLFX.js} +77 -2
  30. package/dist/{chunk-DYCLVQXW.js → chunk-YYSJAAJM.js} +25 -1
  31. package/dist/{chunk-P3TTMWUP.js → chunk-ZOYMZZ3S.js} +8 -1
  32. package/dist/chunk-ZSYZTGJH.js +81 -0
  33. package/dist/cli.d.ts +6 -0
  34. package/dist/cli.js +8 -8
  35. package/dist/{codegen-command-FIADGXRN.js → codegen-command-Z7WQMOJ7.js} +21 -20
  36. package/dist/{completion-BKAFCZBE.js → completion-4GYN752B.js} +2 -2
  37. package/dist/{deploy-command-4R6BYC6G.js → deploy-command-M2S4HHLC.js} +26 -26
  38. package/dist/{env-target-XWS2ZZ2Y.js → env-target-GSFCYHKZ.js} +6 -6
  39. package/dist/{ephemeral-command-JL4TPIRQ.js → ephemeral-command-6WJW7LP6.js} +24 -24
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +13 -7
  42. package/dist/init-command-GJUPWTKA.js +30 -0
  43. package/dist/internal.d.ts +2 -2
  44. package/dist/internal.js +50 -5
  45. package/dist/{io-AMIKRLPC.js → io-7VIA5SON.js} +3 -3
  46. package/dist/{live-diff-RXSJCVJ7.js → live-diff-FP4SFNT4.js} +2 -2
  47. package/dist/{lock-3CVKALKT.js → lock-KXOJIGCG.js} +2 -2
  48. package/dist/{lock-commands-XOYS75YQ.js → lock-commands-7IH7RSSP.js} +9 -9
  49. package/dist/{login-command-ACJF6KWQ.js → login-command-QM5SBBI2.js} +2 -2
  50. package/dist/{logout-command-MX3MJS5U.js → logout-command-THPASOHM.js} +2 -2
  51. package/dist/{loop-SAWAOUFO.js → loop-7SAIGRCZ.js} +3 -3
  52. package/dist/{marketplace-command-UVV3XAOL.js → marketplace-command-463DT7O7.js} +11 -25
  53. package/dist/meta-client-OW5WKWW7.js +1 -1
  54. package/dist/node.d.ts +2 -2
  55. package/dist/node.js +18 -12
  56. package/dist/onboard-command-EHOHKQQU.js +36 -0
  57. package/dist/{profile-command-SWJ3SPKR.js → profile-command-EUWPVWED.js} +6 -6
  58. package/dist/{release-command-HZUY2XZX.js → release-command-M4CVNTWL.js} +25 -25
  59. package/dist/{sandbox-details-command-HJE5SPVG.js → sandbox-details-command-BRII3QHG.js} +5 -5
  60. package/dist/{sandbox-export-command-QCJY4GMV.js → sandbox-export-command-PCZ5FL4U.js} +8 -8
  61. package/dist/scaffold.js +4 -2
  62. package/dist/{store-g45zwB33.d.ts → store-BJONDJoZ.d.ts} +171 -2
  63. package/dist/{test-command-72Y5S22H.js → test-command-U4G5Y3UM.js} +10 -10
  64. package/dist/upgrade-command-CKJ4BS2P.js +177 -0
  65. package/dist/{validate-command-KDGH537H.js → validate-command-S5N37JRP.js} +12 -12
  66. package/dist/{workspace-command-ICSI6PKO.js → workspace-command-RALSEJSW.js} +28 -27
  67. package/dist/workspace-export-AJMGN3CQ.js +1 -1
  68. package/guides/README.md +30 -0
  69. package/guides/authoring.md +642 -0
  70. package/guides/cli.md +191 -0
  71. package/guides/codegen.md +83 -0
  72. package/guides/coverage.md +67 -0
  73. package/guides/deploying.md +340 -0
  74. package/guides/environment.md +132 -0
  75. package/guides/object-kinds.md +376 -0
  76. package/guides/project-structure.md +43 -0
  77. package/guides/scaffold.md +198 -0
  78. package/guides/typed-frontend.md +201 -0
  79. package/llms/kinds-knowledge.md +20 -0
  80. package/llms/object-kinds.md +1 -0
  81. package/llms-full.txt +25 -2
  82. package/llms.txt +3 -2
  83. package/manifest.json +26 -3
  84. package/package.json +5 -2
  85. package/dist/.build-fingerprint +0 -1
  86. package/dist/chunk-WUSKBXXD.js +0 -25
  87. package/dist/init-command-LOK75W64.js +0 -29
@@ -1,9 +1,13 @@
1
1
  import {
2
2
  resolveMetaTarget
3
- } from "./chunk-BT2CSEC5.js";
3
+ } from "./chunk-VWGJQTNA.js";
4
4
  import "./chunk-DGSF2Q5H.js";
5
- import "./chunk-7DKX2SPN.js";
5
+ import "./chunk-ACQCK4DT.js";
6
6
  import "./chunk-NDZFBZHC.js";
7
+ import {
8
+ getAccessToken
9
+ } from "./chunk-C56BC2FY.js";
10
+ import "./chunk-7REDODS2.js";
7
11
  import {
8
12
  isMachineOutput,
9
13
  writeJson
@@ -13,13 +17,10 @@ import {
13
17
  httpFailure,
14
18
  serverMessage
15
19
  } from "./chunk-3IGNIP6R.js";
16
- import {
17
- getAccessToken
18
- } from "./chunk-C56BC2FY.js";
19
- import "./chunk-7REDODS2.js";
20
20
  import {
21
21
  unknownSubcommand
22
- } from "./chunk-6USV65XA.js";
22
+ } from "./chunk-KGNJM4LN.js";
23
+ import "./chunk-GNPVYOPB.js";
23
24
  import {
24
25
  blank,
25
26
  detail,
@@ -28,8 +29,7 @@ import {
28
29
  success,
29
30
  warn
30
31
  } from "./chunk-EZG76F7R.js";
31
- import "./chunk-GNPVYOPB.js";
32
- import "./chunk-DYCLVQXW.js";
32
+ import "./chunk-YYSJAAJM.js";
33
33
 
34
34
  // src/deploy/tests.ts
35
35
  var TIMEOUT_MS = 12e4;
@@ -380,4 +380,4 @@ export {
380
380
  runSuite,
381
381
  runTestCommand
382
382
  };
383
- //# sourceMappingURL=test-command-72Y5S22H.js.map
383
+ //# sourceMappingURL=test-command-U4G5Y3UM.js.map
@@ -0,0 +1,177 @@
1
+ import {
2
+ assertProjectDir
3
+ } from "./chunk-ERQZFWIW.js";
4
+ import {
5
+ isMachineOutput,
6
+ writeJson
7
+ } from "./chunk-NUQCEOKA.js";
8
+ import {
9
+ refreshAgentFiles
10
+ } from "./chunk-D6OGU2AI.js";
11
+ import "./chunk-7SISR3CS.js";
12
+ import {
13
+ runNpm
14
+ } from "./chunk-ZSYZTGJH.js";
15
+ import {
16
+ sdkDep
17
+ } from "./chunk-QUUB7HYK.js";
18
+ import "./chunk-6DHJVLYP.js";
19
+ import {
20
+ checkForUpgrade,
21
+ detectInstallMode,
22
+ registryUrl,
23
+ suppressUpdateNotice,
24
+ upgradeCommand
25
+ } from "./chunk-T6N3VMMO.js";
26
+ import "./chunk-DUC3PXDG.js";
27
+ import "./chunk-KGNJM4LN.js";
28
+ import "./chunk-MFIHIS6B.js";
29
+ import "./chunk-GNPVYOPB.js";
30
+ import {
31
+ blank,
32
+ detail,
33
+ step,
34
+ style,
35
+ success,
36
+ warn
37
+ } from "./chunk-EZG76F7R.js";
38
+ import "./chunk-BPEEGJJA.js";
39
+ import "./chunk-YYSJAAJM.js";
40
+ import "./chunk-YUPQOLFX.js";
41
+ import "./chunk-WHOJWOSV.js";
42
+ import "./chunk-5XZ744TS.js";
43
+ import "./chunk-YUBJLB6G.js";
44
+
45
+ // src/emit/upgrade-command.ts
46
+ import { readFileSync, writeFileSync } from "fs";
47
+ import { createRequire } from "module";
48
+ import { join } from "path";
49
+ var EXIT_UPGRADE_AVAILABLE = 7;
50
+ var PACKAGE = "@xanots/sdk";
51
+ async function runUpgradeCommand(args) {
52
+ suppressUpdateNotice();
53
+ const mode = detectInstallMode();
54
+ const dir = process.cwd();
55
+ const installed = mode === "local" ? projectSdkVersion(dir) : void 0;
56
+ const result = await checkForUpgrade(installed === void 0 ? void 0 : { current: installed });
57
+ if (result.status === "unknown") throw new Error(explainUnknown(result.reason));
58
+ if (result.status === "current") {
59
+ if (isMachineOutput(args)) {
60
+ writeJson({ status: "current", current: result.current, latest: result.latest, installMode: mode });
61
+ } else {
62
+ success(`@xanots/sdk ${style.bold(result.current)} is the latest published version.`);
63
+ }
64
+ return;
65
+ }
66
+ if (args.check) {
67
+ if (isMachineOutput(args)) {
68
+ writeJson({
69
+ status: "available",
70
+ current: result.current,
71
+ latest: result.latest,
72
+ installMode: mode,
73
+ command: suggestedCommand(dir, mode)
74
+ });
75
+ } else {
76
+ warn(
77
+ `A new @xanots/sdk is available: ${style.dim(result.current)} \u2192 ${style.green(result.latest)}`
78
+ );
79
+ detail(`run \`xanots upgrade\`, or: ${suggestedCommand(dir, mode)}`);
80
+ }
81
+ process.exitCode = EXIT_UPGRADE_AVAILABLE;
82
+ return;
83
+ }
84
+ await applyUpgrade(args, dir, result.current, result.latest, mode);
85
+ }
86
+ function suggestedCommand(dir, mode) {
87
+ return mode === "global" ? upgradeCommand("global") : `npm i ${saveFlagFor(dir)} ${PACKAGE}@latest`;
88
+ }
89
+ function explainUnknown(reason) {
90
+ return reason === "registry" ? `xanots upgrade: could not reach the npm registry at ${registryUrl()}.
91
+ Check your connection, or point XANOTS_UPDATE_REGISTRY at a reachable mirror.` : `xanots upgrade: could not resolve the installed @xanots/sdk version, so there is nothing to compare against.
92
+ This is expected for a git build or a linked checkout \u2014 upgrade with npm directly.`;
93
+ }
94
+ async function applyUpgrade(args, dir, current, latest, mode) {
95
+ if (mode === "local") {
96
+ assertProjectDir(dir, {
97
+ what: "`xanots upgrade` installs into a XanoTS project",
98
+ remedy: "cd into your project first, or set XANOTS_INSTALL_MODE=global to upgrade the global CLI."
99
+ });
100
+ }
101
+ step(`Upgrading ${style.bold(PACKAGE)} ${style.dim(current)} \u2192 ${style.green(latest)}`);
102
+ const flag = mode === "global" ? "-g" : saveFlagFor(dir);
103
+ const status = runNpm(["i", flag, `${PACKAGE}@latest`], dir, { stdout: "stderr" });
104
+ if (status !== 0) {
105
+ throw new Error(`npm i ${flag} ${PACKAGE}@latest failed (exit ${status}).`);
106
+ }
107
+ const reconciled = mode === "local" ? reconcileProject(dir, latest) : [];
108
+ if (isMachineOutput(args)) {
109
+ writeJson({ status: "upgraded", current, latest, installMode: mode, reconciled });
110
+ } else {
111
+ blank();
112
+ success(`Upgraded to @xanots/sdk ${style.bold(latest)}.`);
113
+ for (const path of reconciled) detail(`reconciled ${path}`);
114
+ }
115
+ }
116
+ function reconcileProject(dir, version) {
117
+ const changed = [];
118
+ try {
119
+ if (restoreSdkRange(dir, version)) changed.push("package.json");
120
+ } catch (err) {
121
+ warn(`Could not restore the ${PACKAGE} range in package.json: ${messageOf(err)}`);
122
+ }
123
+ try {
124
+ changed.push(...refreshAgentFiles({ projectDir: dir, sdkVersion: version, explicit: true }));
125
+ } catch (err) {
126
+ warn(`Could not refresh the agent guidance blocks: ${messageOf(err)}`);
127
+ }
128
+ return changed;
129
+ }
130
+ function restoreSdkRange(dir, version) {
131
+ const manifest = join(dir, "package.json");
132
+ const raw = readFileSync(manifest, "utf8");
133
+ const pkg = JSON.parse(raw);
134
+ const block = sdkBlock(pkg);
135
+ if (block === void 0) return false;
136
+ const deps = pkg[block];
137
+ const want = sdkDep(version);
138
+ if (deps[PACKAGE] === want) return false;
139
+ deps[PACKAGE] = want;
140
+ writeFileSync(manifest, JSON.stringify(pkg, null, indentOf(raw)) + (raw.endsWith("\n") ? "\n" : ""));
141
+ return true;
142
+ }
143
+ function sdkBlock(pkg) {
144
+ return ["devDependencies", "dependencies"].find((key) => {
145
+ const deps = pkg[key];
146
+ return typeof deps === "object" && deps !== null && PACKAGE in deps;
147
+ });
148
+ }
149
+ function saveFlagFor(dir) {
150
+ try {
151
+ const pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf8"));
152
+ return sdkBlock(pkg) === "dependencies" ? "--save-prod" : "--save-dev";
153
+ } catch {
154
+ return "--save-dev";
155
+ }
156
+ }
157
+ function indentOf(raw) {
158
+ return /^(\t+)"/m.exec(raw)?.[1] ?? /^( +)"/m.exec(raw)?.[1]?.length ?? 2;
159
+ }
160
+ function projectSdkVersion(dir) {
161
+ try {
162
+ const requireFromDir = createRequire(join(dir, "package.json"));
163
+ const pkg = JSON.parse(
164
+ readFileSync(requireFromDir.resolve(`${PACKAGE}/package.json`), "utf8")
165
+ );
166
+ return typeof pkg.version === "string" ? pkg.version : void 0;
167
+ } catch {
168
+ return void 0;
169
+ }
170
+ }
171
+ function messageOf(err) {
172
+ return err instanceof Error ? err.message : String(err);
173
+ }
174
+ export {
175
+ runUpgradeCommand
176
+ };
177
+ //# sourceMappingURL=upgrade-command-CKJ4BS2P.js.map
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  assertBundleInput,
3
3
  loadBundleText
4
- } from "./chunk-W2G2WPTB.js";
5
- import "./chunk-3NFUWXOC.js";
6
- import "./chunk-6USV65XA.js";
7
- import "./chunk-HJPTWBLH.js";
4
+ } from "./chunk-SWIXWJIY.js";
5
+ import "./chunk-DUC3PXDG.js";
6
+ import "./chunk-KGNJM4LN.js";
7
+ import "./chunk-MFIHIS6B.js";
8
+ import "./chunk-GNPVYOPB.js";
8
9
  import {
9
10
  blank,
10
11
  detail,
@@ -13,13 +14,12 @@ import {
13
14
  success,
14
15
  warn
15
16
  } from "./chunk-EZG76F7R.js";
16
- import "./chunk-GNPVYOPB.js";
17
- import "./chunk-55VHDNW5.js";
18
- import "./chunk-DYCLVQXW.js";
19
- import "./chunk-5L4X5LS6.js";
17
+ import "./chunk-BPEEGJJA.js";
18
+ import "./chunk-YYSJAAJM.js";
19
+ import "./chunk-YUPQOLFX.js";
20
20
  import "./chunk-WHOJWOSV.js";
21
21
  import "./chunk-5XZ744TS.js";
22
- import "./chunk-4HT3BNZ7.js";
22
+ import "./chunk-YUBJLB6G.js";
23
23
 
24
24
  // src/emit/validate-command.ts
25
25
  var EXIT_VALIDATION_FAILED = 2;
@@ -44,7 +44,7 @@ async function runValidateCommand(args) {
44
44
  }
45
45
  }
46
46
  async function validateWithClient(args, client, bundle) {
47
- const { runValidateLoop, runnableFunctionNames } = await import("./loop-SAWAOUFO.js");
47
+ const { runValidateLoop, runnableFunctionNames } = await import("./loop-7SAIGRCZ.js");
48
48
  const result = await runValidateLoop(client, bundle);
49
49
  if (!result.accepted) {
50
50
  warn("Import rejected by the engine:");
@@ -95,7 +95,7 @@ async function validateWithClient(args, client, bundle) {
95
95
  }
96
96
  }
97
97
  if (args.capture) {
98
- const { captureFixtures } = await import("./capture-HUV5BNTC.js");
98
+ const { captureFixtures } = await import("./capture-7PO6SGB4.js");
99
99
  const written = captureFixtures(result.roundTrip, args.out);
100
100
  if (written.length === 0) warn("nothing to capture (no objects round-tripped)");
101
101
  for (const w of written) detail(`captured ${w.name} \u2192 ${w.path}`);
@@ -119,4 +119,4 @@ function fmt(v) {
119
119
  export {
120
120
  runValidateCommand
121
121
  };
122
- //# sourceMappingURL=validate-command-KDGH537H.js.map
122
+ //# sourceMappingURL=validate-command-S5N37JRP.js.map
@@ -1,60 +1,61 @@
1
1
  import {
2
2
  fetchWorkspaceBundle,
3
3
  runCodegenCommand
4
- } from "./chunk-2V4YE6QC.js";
5
- import "./chunk-P3TTMWUP.js";
4
+ } from "./chunk-VKD3EBKG.js";
5
+ import "./chunk-ZOYMZZ3S.js";
6
6
  import {
7
7
  resolveOutputTarget
8
- } from "./chunk-XQ22GLYS.js";
9
- import "./chunk-QTNO2WD6.js";
10
- import "./chunk-ZUTSMMAG.js";
11
- import "./chunk-7DKX2SPN.js";
8
+ } from "./chunk-AJ7JQ4OU.js";
9
+ import "./chunk-ACQCK4DT.js";
12
10
  import {
13
11
  printMicroserviceSection,
14
12
  readMicroservices
15
13
  } from "./chunk-NDZFBZHC.js";
14
+ import {
15
+ ENV_WORKSPACE,
16
+ getAccessToken
17
+ } from "./chunk-C56BC2FY.js";
18
+ import "./chunk-7REDODS2.js";
19
+ import "./chunk-QTNO2WD6.js";
20
+ import "./chunk-ZUTSMMAG.js";
21
+ import "./chunk-X4DVXBFY.js";
22
+ import "./chunk-EAIR6VUL.js";
16
23
  import {
17
24
  isMachineOutput,
18
25
  writeJson
19
26
  } from "./chunk-NUQCEOKA.js";
20
- import "./chunk-HQ2CBRVI.js";
21
- import "./chunk-CMZLPTGW.js";
22
- import "./chunk-WUSKBXXD.js";
27
+ import "./chunk-7SISR3CS.js";
28
+ import "./chunk-ZSYZTGJH.js";
23
29
  import {
24
30
  fetchOrExplain,
25
31
  httpFailure
26
32
  } from "./chunk-3IGNIP6R.js";
27
- import {
28
- ENV_WORKSPACE,
29
- getAccessToken
30
- } from "./chunk-C56BC2FY.js";
31
- import "./chunk-7REDODS2.js";
32
- import "./chunk-X4DVXBFY.js";
33
- import "./chunk-F6JCFRKO.js";
33
+ import "./chunk-PXXLBXOP.js";
34
34
  import "./chunk-LU7TRWMC.js";
35
- import "./chunk-YZ4GU6F5.js";
35
+ import "./chunk-WGDAOOXG.js";
36
+ import "./chunk-QUUB7HYK.js";
36
37
  import "./chunk-6DHJVLYP.js";
37
38
  import "./chunk-4BXJGVZ3.js";
38
- import "./chunk-U3G2UW65.js";
39
- import "./chunk-3NFUWXOC.js";
39
+ import "./chunk-CYJ7R3AD.js";
40
+ import "./chunk-DUC3PXDG.js";
40
41
  import {
41
42
  removedSubcommand,
42
43
  unknownSubcommand
43
- } from "./chunk-6USV65XA.js";
44
- import "./chunk-HJPTWBLH.js";
44
+ } from "./chunk-KGNJM4LN.js";
45
+ import "./chunk-MFIHIS6B.js";
46
+ import "./chunk-GNPVYOPB.js";
45
47
  import {
46
48
  formatFields,
47
49
  stdoutStyle,
48
50
  step,
49
51
  success
50
52
  } from "./chunk-EZG76F7R.js";
51
- import "./chunk-GNPVYOPB.js";
52
- import "./chunk-55VHDNW5.js";
53
- import "./chunk-DYCLVQXW.js";
54
- import "./chunk-5L4X5LS6.js";
53
+ import "./chunk-BPEEGJJA.js";
54
+ import "./chunk-YYSJAAJM.js";
55
+ import "./chunk-YUPQOLFX.js";
55
56
  import "./chunk-WHOJWOSV.js";
56
57
  import "./chunk-5XZ744TS.js";
57
- import "./chunk-4HT3BNZ7.js";
58
+ import "./chunk-YUBJLB6G.js";
58
59
 
59
60
  // src/emit/workspace-command.ts
60
61
  import { writeFileSync } from "fs";
@@ -155,4 +156,4 @@ async function runExport(args) {
155
156
  export {
156
157
  runWorkspaceCommand
157
158
  };
158
- //# sourceMappingURL=workspace-command-ICSI6PKO.js.map
159
+ //# sourceMappingURL=workspace-command-RALSEJSW.js.map
@@ -2,8 +2,8 @@ import {
2
2
  exportWorkspaceBundle
3
3
  } from "./chunk-QTNO2WD6.js";
4
4
  import "./chunk-ZUTSMMAG.js";
5
- import "./chunk-3IGNIP6R.js";
6
5
  import "./chunk-X4DVXBFY.js";
6
+ import "./chunk-3IGNIP6R.js";
7
7
  export {
8
8
  exportWorkspaceBundle
9
9
  };
@@ -0,0 +1,30 @@
1
+ # XanoTS guides
2
+
3
+ The written reference for people. Every kind, statement, filter, and field type is also
4
+ typed, so your editor's autocomplete is usually the faster lookup — tab-complete `s.`,
5
+ `f.`, `c.`, `fl.`, `input.`.
6
+
7
+ | Guide | What's in it |
8
+ |---|---|
9
+ | [The scaffolded project](scaffold.md) | What `xanots init` writes, the two frontend presets, add-ons, SvelteKit rules |
10
+ | [Project structure](project-structure.md) | How a `xano/` project is laid out, and why registration is explicit |
11
+ | [Object kinds](object-kinds.md) | Every authorable kind, and splitting a workspace across microservices |
12
+ | [Authoring reference](authoring.md) | Tables and fields, statements, values, inputs, middleware, request history |
13
+ | [CLI](cli.md) | Every command, shell completion, and what failures look like |
14
+ | [Signing in & deploying](deploying.md) | Auth, ephemerals, `--static`, releasing to production, `xanots validate` |
15
+ | [Environment & identity](environment.md) | Every environment variable, and how `xano.lock` pins identity |
16
+ | [The typed frontend surface](typed-frontend.md) | Path resolution, input/response inference, bundle cost, the route manifest |
17
+ | [Pulling an existing workspace](codegen.md) | What `xanots codegen` writes, how faithful it is, and how to read its report |
18
+ | [Coverage & agent grounding](coverage.md) | What's covered, what's out of scope, and the files agents read |
19
+
20
+ ## The agent-facing surface
21
+
22
+ These guides are for humans. Agents read a different set, generated from the SDK's own
23
+ sources so it cannot drift from what the code does:
24
+
25
+ - **`llms.txt`** — a small always-read router: the mental model, the deploy contract, and
26
+ every gotcha, ending in a map of the topic files.
27
+ - **`llms/*.md`** — one file per surface, opened only when that surface is in play.
28
+ - **`manifest.json`** — the exhaustive per-entry catalog, reached by targeted lookup.
29
+
30
+ See [Coverage & agent grounding](coverage.md) for what each one carries.