@xanots/sdk 0.0.11 → 0.0.13

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 (100) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +16 -9
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-QNKN5RYD.js → agent-file-refresh-GQWAAOBV.js} +4 -4
  5. package/dist/bin.js +11 -11
  6. package/dist/{branch-commands-2BLOC2GR.js → branch-commands-5KMPAAZV.js} +7 -7
  7. package/dist/bundle.d.ts +2 -2
  8. package/dist/bundle.js +2 -2
  9. package/dist/{capture-4WVJY4DQ.js → capture-YLUVAITI.js} +2 -2
  10. package/dist/{chunk-22TKBSDV.js → chunk-2AY3PKF4.js} +2 -2
  11. package/dist/chunk-2VTJSI6X.js +192 -0
  12. package/dist/{chunk-5XZ744TS.js → chunk-2ZCUO2UG.js} +1 -1
  13. package/dist/{chunk-XEOX6AM7.js → chunk-3LQGF2WS.js} +2 -2
  14. package/dist/{chunk-WP4OZZV4.js → chunk-3VFCKHOB.js} +2 -2
  15. package/dist/{chunk-XHEXOES3.js → chunk-5YDINUAP.js} +1 -1
  16. package/dist/{chunk-LU7TRWMC.js → chunk-6VNRMKFJ.js} +2 -2
  17. package/dist/{chunk-CTD5ZCV6.js → chunk-7WRJPKGK.js} +2 -2
  18. package/dist/{chunk-3INK4Y4E.js → chunk-AE3PDSDS.js} +1 -1
  19. package/dist/{chunk-DBFU47BJ.js → chunk-AOFFKSJC.js} +2 -2
  20. package/dist/{chunk-TCFIPDB3.js → chunk-AVGDL6RB.js} +1 -1
  21. package/dist/{chunk-UOZMSF4C.js → chunk-BYQHCCYU.js} +5 -5
  22. package/dist/{chunk-BC2C5GVI.js → chunk-DCMANKMX.js} +1 -1
  23. package/dist/{chunk-WHOJWOSV.js → chunk-EETVJZAZ.js} +1 -1
  24. package/dist/{chunk-VNQM3V2C.js → chunk-EXENFOWE.js} +2 -2
  25. package/dist/{chunk-AIZKXUNP.js → chunk-IMLYGQK6.js} +2 -2
  26. package/dist/{chunk-OWGCOGKK.js → chunk-MEFMTICH.js} +83 -8
  27. package/dist/{chunk-QK7ZQJLP.js → chunk-N74KDCBD.js} +39 -25
  28. package/dist/{chunk-3IGNIP6R.js → chunk-NDP7OUPS.js} +1 -1
  29. package/dist/{chunk-4Q7ZOHH7.js → chunk-OONT4ZL4.js} +3 -3
  30. package/dist/{chunk-EQW3YT5U.js → chunk-P6PVBQL6.js} +2 -2
  31. package/dist/{chunk-QYMAZRAU.js → chunk-PJNWOZMT.js} +5 -5
  32. package/dist/{chunk-BSK7ELHU.js → chunk-PR7OXHGZ.js} +1 -1
  33. package/dist/{chunk-RCT7UX7B.js → chunk-RLI6XD4O.js} +32 -27
  34. package/dist/{chunk-ZQ2PKR6R.js → chunk-RQ3FXV4K.js} +2 -2
  35. package/dist/{chunk-Q77KNEUL.js → chunk-RQNMTDXD.js} +1703 -2
  36. package/dist/{chunk-4IF54NU5.js → chunk-S3DOJOW4.js} +41 -21
  37. package/dist/{chunk-HYBN4H3F.js → chunk-SS2V2QOG.js} +27 -20
  38. package/dist/{chunk-QKM4U5UK.js → chunk-TJS2AF5Y.js} +2 -2
  39. package/dist/{chunk-DIA7CT7J.js → chunk-V5Y7D4LH.js} +11 -2
  40. package/dist/{chunk-KA6G2L7U.js → chunk-VK26K7AY.js} +3 -3
  41. package/dist/{chunk-VAF6A3YD.js → chunk-XWFRNJMQ.js} +1 -1
  42. package/dist/{chunk-7ZYW652H.js → chunk-YHS6VVLJ.js} +2 -2
  43. package/dist/{chunk-G4EJMQLD.js → chunk-YX22LKQE.js} +2 -2
  44. package/dist/{chunk-F6CYJ7TN.js → chunk-Z2ZIE5CO.js} +2 -2
  45. package/dist/cli.d.ts +13 -6
  46. package/dist/cli.js +10 -10
  47. package/dist/codegen-command-ZDHMGFWZ.js +47 -0
  48. package/dist/codegen.d.ts +5 -5
  49. package/dist/codegen.js +2 -2
  50. package/dist/{completion-WF46272M.js → completion-HJU5QEFB.js} +2 -2
  51. package/dist/{deploy-command-IP7V7GT4.js → deploy-command-CGVKRWUE.js} +19 -19
  52. package/dist/{ephemeral-command-U4AQ3TXX.js → ephemeral-command-2NKPEXUU.js} +8 -8
  53. package/dist/index.d.ts +88 -104
  54. package/dist/index.js +9 -9
  55. package/dist/init-command-DNDONP3O.js +32 -0
  56. package/dist/internal.d.ts +10 -16
  57. package/dist/internal.js +34 -34
  58. package/dist/{io-P2H75UV2.js → io-UBDMMDH6.js} +3 -3
  59. package/dist/{live-diff-IXKBVG4K.js → live-diff-HCOTN5WC.js} +3 -3
  60. package/dist/{lock-46FWYE4D.js → lock-HQ4KARU2.js} +2 -2
  61. package/dist/{lock-commands-ZZKZ4LZJ.js → lock-commands-6U7UIJGR.js} +11 -11
  62. package/dist/{login-command-Z6CHTA57.js → login-command-P7LXD5TE.js} +6 -6
  63. package/dist/{loop-D5NPL4VH.js → loop-IC5ISSYB.js} +3 -3
  64. package/dist/{marketplace-command-P4IPLJ6J.js → marketplace-command-T6JCHW7J.js} +4 -4
  65. package/dist/{meta-client-K2J4XH64.js → meta-client-LKRKR3L2.js} +4 -4
  66. package/dist/node.d.ts +6 -6
  67. package/dist/node.js +14 -14
  68. package/dist/{preflight-command-K346GPTY.js → preflight-command-UYE7SUQV.js} +16 -16
  69. package/dist/{profile-command-LJSBDV2L.js → profile-command-WBNSMQSI.js} +3 -3
  70. package/dist/{release-command-IMNTIVWK.js → release-command-CMMYT6XK.js} +26 -26
  71. package/dist/{response-BQVQ24l1.d.ts → response-D6xGLEIn.d.ts} +18 -23
  72. package/dist/{routes-manifest-PWZHDOI5.js → routes-manifest-MN6XBYRE.js} +25 -14
  73. package/dist/{runtime-V4C3AC3A.js → runtime-LSLIDALK.js} +1 -1
  74. package/dist/scaffold.d.ts +16 -8
  75. package/dist/scaffold.js +7 -11
  76. package/dist/{static-host-3WMV7IZO.js → static-host-4JDQCHUW.js} +1 -1
  77. package/dist/{status-command-AL47VG7H.js → status-command-VARULAR5.js} +4 -4
  78. package/dist/{store-BLyNeQ8S.d.ts → store-9Psd0jiF.d.ts} +115 -102
  79. package/dist/{test-command-YAZLKLGQ.js → test-command-YCAR4O35.js} +7 -7
  80. package/dist/{upgrade-command-BN3EHAOI.js → upgrade-command-A75DOIUH.js} +15 -16
  81. package/dist/{workspace-2COHDBM3.js → workspace-33KHFLX3.js} +2 -2
  82. package/dist/{workspace-command-MNK7Y7MQ.js → workspace-command-YELP47SJ.js} +26 -28
  83. package/dist/{workspace-export-DURY5WYL.js → workspace-export-MLYTYZS5.js} +3 -3
  84. package/dist/{xdo-BjJj5W_E.d.ts → xdo-ODuJklk6.d.ts} +27 -23
  85. package/guides/authoring.md +11 -2
  86. package/guides/typed-frontend.md +23 -6
  87. package/llms/kinds-realtime.md +2 -2
  88. package/llms/statements-data.md +3 -2
  89. package/llms/tests.md +1 -1
  90. package/llms/triggers.md +2 -2
  91. package/llms/values.md +1 -1
  92. package/llms-full.txt +26 -26
  93. package/llms.txt +17 -18
  94. package/manifest.json +6 -2
  95. package/package.json +1 -1
  96. package/dist/chunk-ANUDXFEX.js +0 -881
  97. package/dist/chunk-JGCWTCA7.js +0 -95
  98. package/dist/chunk-YBC3IKMF.js +0 -845
  99. package/dist/codegen-command-FUT2KJB6.js +0 -49
  100. package/dist/init-command-NPVL32L6.js +0 -34
@@ -2,18 +2,18 @@ import {
2
2
  presetFilePath,
3
3
  resolveAiPresets,
4
4
  scaffoldProject
5
- } from "./chunk-KA6G2L7U.js";
5
+ } from "./chunk-VK26K7AY.js";
6
6
  import {
7
7
  runNpmCapturingStderr
8
8
  } from "./chunk-ZSYZTGJH.js";
9
9
  import {
10
+ DEFAULT_DARK_MODE,
10
11
  DEFAULT_FRAMEWORK,
11
12
  allFrontendPresets,
13
+ defaultThemeChoice,
12
14
  findFrontendPreset,
13
- resolveFrameworkFlag
14
- } from "./chunk-YBC3IKMF.js";
15
- import {
16
15
  initLanding,
16
+ normalizeRadius,
17
17
  renderApiTs,
18
18
  renderCnUtil,
19
19
  renderEnvExample,
@@ -26,29 +26,25 @@ import {
26
26
  renderTsconfig,
27
27
  renderViteConfig,
28
28
  renderXanoExampleMd,
29
- renderXanoIndex
30
- } from "./chunk-ANUDXFEX.js";
31
- import {
32
- DEFAULT_DARK_MODE,
33
- defaultThemeChoice,
34
- normalizeRadius,
29
+ renderXanoIndex,
35
30
  resolveDarkModeFlag,
36
31
  resolveFontFlag,
32
+ resolveFrameworkFlag,
37
33
  resolveIconsFlag,
38
34
  resolveThemeFlag,
39
35
  themeFromRegistryItem,
40
36
  withRadius
41
- } from "./chunk-Q77KNEUL.js";
37
+ } from "./chunk-RQNMTDXD.js";
42
38
  import {
43
39
  readVersion
44
- } from "./chunk-RCT7UX7B.js";
40
+ } from "./chunk-RLI6XD4O.js";
45
41
  import {
46
42
  ENV_SPELLINGS,
47
43
  parseEnvSelector
48
- } from "./chunk-CTD5ZCV6.js";
44
+ } from "./chunk-7WRJPKGK.js";
49
45
  import {
50
46
  UsageError
51
- } from "./chunk-F6CYJ7TN.js";
47
+ } from "./chunk-Z2ZIE5CO.js";
52
48
  import {
53
49
  blank,
54
50
  detail,
@@ -67,6 +63,9 @@ import { basename, join as join2, resolve } from "path";
67
63
  import { existsSync, readFileSync } from "fs";
68
64
  import { join } from "path";
69
65
  import { pathToFileURL } from "url";
66
+ function isOptionImport(ref) {
67
+ return "package" in ref;
68
+ }
70
69
  function parseMarketplaceFlag(values) {
71
70
  const packages = [];
72
71
  for (const value of values) {
@@ -98,10 +97,18 @@ function readOptionRefs(raw) {
98
97
  const exported = entry["export"];
99
98
  if (typeof pkg === "string" && pkg !== "" && typeof exported === "string" && exported !== "") {
100
99
  refs[name] = { package: pkg, export: exported };
100
+ continue;
101
+ }
102
+ const literal = entry["value"];
103
+ if (typeof literal === "string" || typeof literal === "number" || typeof literal === "boolean") {
104
+ refs[name] = { value: literal };
101
105
  }
102
106
  }
103
107
  return refs;
104
108
  }
109
+ var UNDECLARED_OPTIONS = {
110
+ "@xanots/auth": { canonical: { value: "authn" } }
111
+ };
105
112
  function bindingNameFor(register) {
106
113
  const bare = register.replace(/^register/, "");
107
114
  return bare === "" ? "handle" : bare[0].toLowerCase() + bare.slice(1);
@@ -133,11 +140,14 @@ async function readRegistration(dir, pkg) {
133
140
  const field = declared;
134
141
  const register = field["register"];
135
142
  if (typeof register === "string" && register !== "") {
143
+ const declared2 = readOptionRefs(field["options"]);
136
144
  return {
137
145
  pkg,
138
146
  register,
139
147
  binding: field["returns"] === "handle" ? bindingNameFor(register) : null,
140
- options: readOptionRefs(field["options"]),
148
+ // The module's own declaration wins option by option, so a package that
149
+ // ships one is never second-guessed here.
150
+ options: { ...UNDECLARED_OPTIONS[pkg], ...declared2 },
141
151
  source: "manifest"
142
152
  };
143
153
  }
@@ -163,7 +173,13 @@ async function readRegistration(dir, pkg) {
163
173
  unwired: `it exports ${names.length} register* functions (${names.join(", ")}) \u2014 its package.json needs a "xanots" field naming the one to call`
164
174
  };
165
175
  }
166
- return { pkg, register: names[0], binding: null, options: {}, source: "exports" };
176
+ return {
177
+ pkg,
178
+ register: names[0],
179
+ binding: null,
180
+ options: { ...UNDECLARED_OPTIONS[pkg] },
181
+ source: "exports"
182
+ };
167
183
  }
168
184
  function renderXanoIndexWithModules(appName, modules) {
169
185
  const byPackage = /* @__PURE__ */ new Map();
@@ -174,12 +190,16 @@ function renderXanoIndexWithModules(appName, modules) {
174
190
  };
175
191
  for (const m of modules) {
176
192
  add(m.pkg, m.register);
177
- for (const ref of Object.values(m.options)) add(ref.package, ref.export);
193
+ for (const ref of Object.values(m.options)) {
194
+ if (isOptionImport(ref)) add(ref.package, ref.export);
195
+ }
178
196
  }
179
197
  const imports = [...byPackage].map(([pkg, names]) => `import { ${[...names].sort().join(", ")} } from "${pkg}";`).join("\n");
180
198
  const calls = modules.map((m) => {
181
199
  const entries = Object.entries(m.options);
182
- const opts = entries.length === 0 ? "" : `, { ${entries.map(([name, ref]) => `${name}: ${ref.export}`).join(", ")} }`;
200
+ const opts = entries.length === 0 ? "" : `, { ${entries.map(
201
+ ([name, ref]) => `${name}: ${isOptionImport(ref) ? ref.export : JSON.stringify(ref.value)}`
202
+ ).join(", ")} }`;
183
203
  const call = `${m.register}(app${opts});`;
184
204
  return m.binding === null ? call : `const ${m.binding} = ${call}`;
185
205
  }).join("\n");
@@ -241,7 +261,7 @@ async function installModules(dir, packages) {
241
261
  const present = new Set(installed.map(packageNameOf));
242
262
  const writable = [];
243
263
  for (const registration of registered) {
244
- const missing = Object.values(registration.options).map((ref) => ref.package).filter((pkg) => !present.has(pkg));
264
+ const missing = Object.values(registration.options).filter(isOptionImport).map((ref) => ref.package).filter((pkg) => !present.has(pkg));
245
265
  if (missing.length === 0) {
246
266
  writable.push(registration);
247
267
  continue;
@@ -420,7 +440,7 @@ function rejectPullOnlyFlags(args) {
420
440
  async function runInitCommand(args) {
421
441
  if (args.from !== void 0) {
422
442
  const source = resolveFromSource(args.from);
423
- const { runInitFromCommand } = await import("./codegen-command-FUT2KJB6.js");
443
+ const { runInitFromCommand } = await import("./codegen-command-ZDHMGFWZ.js");
424
444
  return runInitFromCommand(args, source);
425
445
  }
426
446
  rejectPullOnlyFlags(args);
@@ -501,4 +521,4 @@ export {
501
521
  resolveFromSource,
502
522
  runInitCommand
503
523
  };
504
- //# sourceMappingURL=chunk-4IF54NU5.js.map
524
+ //# sourceMappingURL=chunk-S3DOJOW4.js.map
@@ -1,40 +1,40 @@
1
1
  import {
2
2
  resolveEphemeralName
3
- } from "./chunk-ZQ2PKR6R.js";
3
+ } from "./chunk-RQ3FXV4K.js";
4
4
  import {
5
5
  getAccessToken
6
- } from "./chunk-QKM4U5UK.js";
6
+ } from "./chunk-TJS2AF5Y.js";
7
7
  import {
8
8
  exportWorkspaceBundle
9
- } from "./chunk-7ZYW652H.js";
9
+ } from "./chunk-YHS6VVLJ.js";
10
10
  import {
11
11
  projectShellFiles,
12
12
  resolveFrontendPreset,
13
13
  resolveThemeChoice,
14
14
  sanitizeAppName
15
- } from "./chunk-4IF54NU5.js";
15
+ } from "./chunk-S3DOJOW4.js";
16
16
  import {
17
17
  XANO_DIR,
18
18
  resolveAiPresets,
19
19
  scaffoldProject
20
- } from "./chunk-KA6G2L7U.js";
20
+ } from "./chunk-VK26K7AY.js";
21
21
  import {
22
22
  TEST_EXPECT_TYPES
23
- } from "./chunk-G4EJMQLD.js";
23
+ } from "./chunk-YX22LKQE.js";
24
24
  import {
25
25
  raw
26
- } from "./chunk-LU7TRWMC.js";
26
+ } from "./chunk-6VNRMKFJ.js";
27
27
  import {
28
28
  codegenLanding,
29
29
  describeOrigin,
30
30
  renderCodegenMarker,
31
31
  renderCodegenReadme
32
- } from "./chunk-ANUDXFEX.js";
32
+ } from "./chunk-RQNMTDXD.js";
33
33
  import {
34
34
  FIELD_METHODS,
35
35
  SUPERSEDED_STATEMENTS,
36
36
  supersededBy
37
- } from "./chunk-BSK7ELHU.js";
37
+ } from "./chunk-PR7OXHGZ.js";
38
38
  import {
39
39
  DEFAULT_PREFERENCES,
40
40
  DEFAULT_SETTINGS,
@@ -50,7 +50,7 @@ import {
50
50
  searchConstrainsRows,
51
51
  tableTrigger,
52
52
  workspaceTrigger
53
- } from "./chunk-UOZMSF4C.js";
53
+ } from "./chunk-BYQHCCYU.js";
54
54
  import {
55
55
  linkedTableOf,
56
56
  tableRefOf
@@ -72,18 +72,18 @@ import {
72
72
  normalize,
73
73
  retiredInputSuccessor,
74
74
  retiredInputs
75
- } from "./chunk-3INK4Y4E.js";
75
+ } from "./chunk-AE3PDSDS.js";
76
76
  import {
77
77
  STATEMENT_SURFACES,
78
78
  sPathOf
79
- } from "./chunk-BC2C5GVI.js";
79
+ } from "./chunk-DCMANKMX.js";
80
80
  import {
81
81
  loadDefault,
82
82
  readVersion
83
- } from "./chunk-RCT7UX7B.js";
83
+ } from "./chunk-RLI6XD4O.js";
84
84
  import {
85
85
  UsageError
86
- } from "./chunk-F6CYJ7TN.js";
86
+ } from "./chunk-Z2ZIE5CO.js";
87
87
  import {
88
88
  blank,
89
89
  detail,
@@ -124,14 +124,14 @@ import {
124
124
  sys,
125
125
  toolset,
126
126
  withFilters
127
- } from "./chunk-QK7ZQJLP.js";
127
+ } from "./chunk-N74KDCBD.js";
128
128
  import {
129
129
  parsePathParams,
130
130
  unboundPathParams
131
- } from "./chunk-WHOJWOSV.js";
131
+ } from "./chunk-EETVJZAZ.js";
132
132
  import {
133
133
  REFERENCEABLE_KIND_PAYLOAD_KEYS
134
- } from "./chunk-VAF6A3YD.js";
134
+ } from "./chunk-XWFRNJMQ.js";
135
135
  import {
136
136
  COLUMN_CONTEXT,
137
137
  INPUT_CONTEXT,
@@ -139,7 +139,7 @@ import {
139
139
  encodeField,
140
140
  encodeMockMap,
141
141
  encodeStatement
142
- } from "./chunk-5XZ744TS.js";
142
+ } from "./chunk-2ZCUO2UG.js";
143
143
 
144
144
  // src/emit/codegen-command.ts
145
145
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -1036,6 +1036,7 @@ function parseMember(cur) {
1036
1036
  let built = lifted.built;
1037
1037
  const symbols = [...lifted.symbols];
1038
1038
  const filterExprs = [];
1039
+ let absorbNowCoercion = built.tag === "const:epochms" && built.value === "now";
1039
1040
  while (cur.eat("|")) {
1040
1041
  const name = cur.take(/[A-Za-z0-9_]/);
1041
1042
  if (name === "" || !FILTER_NAMES.includes(name)) return null;
@@ -1059,9 +1060,15 @@ function parseMember(cur) {
1059
1060
  } catch {
1060
1061
  return null;
1061
1062
  }
1063
+ if (absorbNowCoercion && name === "to_epochms" && argBuilt.length === 0) {
1064
+ absorbNowCoercion = false;
1065
+ continue;
1066
+ }
1067
+ absorbNowCoercion = false;
1062
1068
  built = withFilters(built, filterValue);
1063
1069
  filterExprs.push(call(`fl.${name}`, ...argExprs));
1064
1070
  }
1071
+ if (filterExprs.length === 0) return { expr, built, symbols };
1065
1072
  return {
1066
1073
  expr: call("withFilters", expr, ...filterExprs),
1067
1074
  built,
@@ -6746,7 +6753,7 @@ async function fetchBundle(args, source) {
6746
6753
  if (source.kind === "ephemeral") {
6747
6754
  const auth3 = await getAccessToken(args);
6748
6755
  const name = resolveEphemeralName(auth3, source.name);
6749
- const { resolveLive, fetchEphemeralBundle } = await import("./ephemeral-command-U4AQ3TXX.js");
6756
+ const { resolveLive, fetchEphemeralBundle } = await import("./ephemeral-command-2NKPEXUU.js");
6750
6757
  const summary = await resolveLive(auth3, auth3.workspaceId, name);
6751
6758
  step(`Reading ephemeral "${name}"`);
6752
6759
  return {
@@ -7008,4 +7015,4 @@ export {
7008
7015
  verifyCrashEntry,
7009
7016
  blameGeneratedFile
7010
7017
  };
7011
- //# sourceMappingURL=chunk-HYBN4H3F.js.map
7018
+ //# sourceMappingURL=chunk-SS2V2QOG.js.map
@@ -161,7 +161,7 @@ The refresh token may be expired or already spent \u2014 refresh tokens rotate o
161
161
  );
162
162
  }
163
163
  assertHttpsOrigin(instance2, "instance");
164
- const { resolveScopedWorkspaceId } = await import("./workspace-2COHDBM3.js");
164
+ const { resolveScopedWorkspaceId } = await import("./workspace-33KHFLX3.js");
165
165
  const workspaceId = await resolveScopedWorkspaceId({ access_token: set.access_token, instance: instance2 });
166
166
  return { access_token: set.access_token, instance: instance2, workspaceId, credentialType: "oauth" };
167
167
  }
@@ -272,4 +272,4 @@ export {
272
272
  envMetaCredentialVarsSet,
273
273
  getAccessToken
274
274
  };
275
- //# sourceMappingURL=chunk-QKM4U5UK.js.map
275
+ //# sourceMappingURL=chunk-TJS2AF5Y.js.map
@@ -199,10 +199,19 @@ var FLAGS = {
199
199
  spec: "--json",
200
200
  summary: "Force JSON on stdout (default: whenever stdout is not a terminal)"
201
201
  },
202
+ "no-refresh": {
203
+ spec: "--no-refresh",
204
+ summary: "Do not refresh the managed block in CLAUDE.md / AGENTS.md / the Cursor rule"
205
+ },
202
206
  help: { spec: "--help, -h", summary: "Show help for the command and exit" },
203
207
  version: { spec: "--version, -v", summary: "Print the CLI version and exit" }
204
208
  };
205
- var GLOBAL_FLAGS = ["json", "help", "version"];
209
+ var GLOBAL_FLAGS = [
210
+ "json",
211
+ "no-refresh",
212
+ "help",
213
+ "version"
214
+ ];
206
215
  var AUTH = ["origin", "config", "local"];
207
216
  var READ_ENV = "env";
208
217
  var COMPILE = ["lock", "frozen-lock", "strict"];
@@ -697,4 +706,4 @@ export {
697
706
  visibleFlags,
698
707
  suggest
699
708
  };
700
- //# sourceMappingURL=chunk-DIA7CT7J.js.map
709
+ //# sourceMappingURL=chunk-V5Y7D4LH.js.map
@@ -5,7 +5,7 @@ import {
5
5
  defaultThemeChoice,
6
6
  reactPreset,
7
7
  themeGuidanceSection
8
- } from "./chunk-Q77KNEUL.js";
8
+ } from "./chunk-RQNMTDXD.js";
9
9
  import {
10
10
  detail,
11
11
  step,
@@ -31,7 +31,7 @@ that reads well, type-checks, and is wrong. Read before writing:
31
31
  conditions are for.
32
32
  3. \`node_modules/@xanots/sdk/manifest.json\` \u2014 only for per-entry detail neither
33
33
  carries: a statement's full field schema with engine defaults, a filter's
34
- complete argument list. Grep or \`jq\` the one entry you need; it is ~65k
34
+ complete argument list. Grep or \`jq\` the one entry you need; it is ~60k
35
35
  tokens, so never read it whole.
36
36
 
37
37
  The published types and JSDoc (\`node_modules/@xanots/sdk/**/*.d.ts\`) are that
@@ -442,4 +442,4 @@ export {
442
442
  resolveAiPresets,
443
443
  scaffoldProject
444
444
  };
445
- //# sourceMappingURL=chunk-KA6G2L7U.js.map
445
+ //# sourceMappingURL=chunk-VK26K7AY.js.map
@@ -573,4 +573,4 @@ export {
573
573
  adoptFromBundle,
574
574
  mergeObserved
575
575
  };
576
- //# sourceMappingURL=chunk-VAF6A3YD.js.map
576
+ //# sourceMappingURL=chunk-XWFRNJMQ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZUTSMMAG.js";
4
4
  import {
5
5
  fetchReadOrExplain
6
- } from "./chunk-3IGNIP6R.js";
6
+ } from "./chunk-NDP7OUPS.js";
7
7
 
8
8
  // src/deploy/workspace-export.ts
9
9
  var EXPORT_TIMEOUT_MS = 12e4;
@@ -53,4 +53,4 @@ function describeErrorBody(bytes, contentType) {
53
53
  export {
54
54
  exportWorkspaceBundle
55
55
  };
56
- //# sourceMappingURL=chunk-7ZYW652H.js.map
56
+ //# sourceMappingURL=chunk-YHS6VVLJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  c,
3
3
  resp
4
- } from "./chunk-QK7ZQJLP.js";
4
+ } from "./chunk-N74KDCBD.js";
5
5
 
6
6
  // src/values/expect.ts
7
7
  var TEST_EXPECT_TYPES = [
@@ -90,4 +90,4 @@ export {
90
90
  TEST_EXPECT_TYPES,
91
91
  expect
92
92
  };
93
- //# sourceMappingURL=chunk-G4EJMQLD.js.map
93
+ //# sourceMappingURL=chunk-YX22LKQE.js.map
@@ -20,7 +20,7 @@ import {
20
20
  renderArgs,
21
21
  suggest,
22
22
  visibleFlags
23
- } from "./chunk-DIA7CT7J.js";
23
+ } from "./chunk-V5Y7D4LH.js";
24
24
 
25
25
  // src/emit/help.ts
26
26
  function table(rows, s, indent = " ", fixedWidth) {
@@ -261,4 +261,4 @@ export {
261
261
  reportFailure,
262
262
  exitCodeOf
263
263
  };
264
- //# sourceMappingURL=chunk-F6CYJ7TN.js.map
264
+ //# sourceMappingURL=chunk-Z2ZIE5CO.js.map
package/dist/cli.d.ts CHANGED
@@ -17,7 +17,7 @@ interface NonPublicSeedValue {
17
17
  * Whether a static build can actually be searched for this value.
18
18
  *
19
19
  * `false` for a value below {@link MIN_SCANNABLE_LENGTH}, and for a non-string
20
- * one. Those are collected rather than dropped (issue #45): being too short to
20
+ * one. Those are collected rather than dropped: being too short to
21
21
  * search for is not the same as being safe, and the author is the only one who
22
22
  * can judge which it is. The scanner skips them; the deploy path reports them.
23
23
  */
@@ -54,8 +54,8 @@ interface ParsedArgs {
54
54
  /**
55
55
  * `--strict`: promote every export/deploy WARNING to a hard failure — the
56
56
  * build diagnostics (a `bulk.update` that zero-fills omitted columns, an
57
- * `ignoreEmpty` that drops its predicate; issue #15) as well as the CLI's own
58
- * preflights (unresolvable filter names, issue #106; a stale `--emit`
57
+ * `ignoreEmpty` that drops its predicate) as well as the CLI's own
58
+ * preflights (unresolvable filter names; a stale `--emit`
59
59
  * manifest). Warnings print either way; `--strict` decides whether a printed
60
60
  * one still ships.
61
61
  */
@@ -332,6 +332,13 @@ interface ParsedArgs {
332
332
  * `isMachineOutput` (output.ts) — never by re-checking `isTTY` at a call site.
333
333
  */
334
334
  json: boolean;
335
+ /**
336
+ * `--no-refresh`: skip the agent-guidance refresh a compile runs as a
337
+ * courtesy. Global, because that courtesy rides on `export`, `deploy`,
338
+ * `release`, and `preflight` alike — and it writes to the user's tree, so
339
+ * "build without touching my files" has to be sayable on any of them.
340
+ */
341
+ noRefresh: boolean;
335
342
  /**
336
343
  * `deploy --open`: open the deployed URL in the default browser once it lands.
337
344
  * Honors `XANO_NO_BROWSER` like every other launch, since it shares the same
@@ -341,9 +348,9 @@ interface ParsedArgs {
341
348
  /**
342
349
  * Leading-dash tokens the parser doesn't recognize. They are collected HERE
343
350
  * rather than falling into {@link positionals} so an unknown flag can never be
344
- * resolved as the entry `<file>` the issue #173 failure mode, where
345
- * `xanots deploy --help` was imported as a module path and died in Node's
346
- * loader with a message about a missing file named `--help`.
351
+ * resolved as the entry `<file>`: otherwise `xanots deploy --help` is
352
+ * imported as a module path and dies in Node's loader with a message about a
353
+ * missing file named `--help`.
347
354
  */
348
355
  unknownFlags: string[];
349
356
  }
package/dist/cli.js CHANGED
@@ -8,18 +8,18 @@ import {
8
8
  resolveHelpRequest,
9
9
  resolveLockPath,
10
10
  run
11
- } from "./chunk-RCT7UX7B.js";
12
- import "./chunk-CTD5ZCV6.js";
13
- import "./chunk-XEOX6AM7.js";
14
- import "./chunk-F6CYJ7TN.js";
11
+ } from "./chunk-RLI6XD4O.js";
12
+ import "./chunk-7WRJPKGK.js";
13
+ import "./chunk-3LQGF2WS.js";
14
+ import "./chunk-Z2ZIE5CO.js";
15
15
  import "./chunk-GNPVYOPB.js";
16
16
  import "./chunk-EZG76F7R.js";
17
- import "./chunk-OWGCOGKK.js";
18
- import "./chunk-DIA7CT7J.js";
19
- import "./chunk-QK7ZQJLP.js";
20
- import "./chunk-WHOJWOSV.js";
21
- import "./chunk-VAF6A3YD.js";
22
- import "./chunk-5XZ744TS.js";
17
+ import "./chunk-MEFMTICH.js";
18
+ import "./chunk-V5Y7D4LH.js";
19
+ import "./chunk-N74KDCBD.js";
20
+ import "./chunk-EETVJZAZ.js";
21
+ import "./chunk-XWFRNJMQ.js";
22
+ import "./chunk-2ZCUO2UG.js";
23
23
  import "./chunk-OHX6MIUZ.js";
24
24
  export {
25
25
  compileBundle,
@@ -0,0 +1,47 @@
1
+ import {
2
+ blameGeneratedFile,
3
+ fetchWorkspaceBundle,
4
+ isMissingDependencyError,
5
+ runInitFromCommand,
6
+ verifyCrashEntry
7
+ } from "./chunk-SS2V2QOG.js";
8
+ import "./chunk-RQ3FXV4K.js";
9
+ import "./chunk-K5IOND4K.js";
10
+ import "./chunk-TJS2AF5Y.js";
11
+ import "./chunk-FE5I6S6N.js";
12
+ import "./chunk-YHS6VVLJ.js";
13
+ import "./chunk-ZUTSMMAG.js";
14
+ import "./chunk-X4DVXBFY.js";
15
+ import "./chunk-NDP7OUPS.js";
16
+ import "./chunk-S3DOJOW4.js";
17
+ import "./chunk-VK26K7AY.js";
18
+ import "./chunk-ZSYZTGJH.js";
19
+ import "./chunk-YX22LKQE.js";
20
+ import "./chunk-6VNRMKFJ.js";
21
+ import "./chunk-RQNMTDXD.js";
22
+ import "./chunk-PR7OXHGZ.js";
23
+ import "./chunk-BYQHCCYU.js";
24
+ import "./chunk-EHP3WPEG.js";
25
+ import "./chunk-AE3PDSDS.js";
26
+ import "./chunk-DCMANKMX.js";
27
+ import "./chunk-RLI6XD4O.js";
28
+ import "./chunk-7WRJPKGK.js";
29
+ import "./chunk-3LQGF2WS.js";
30
+ import "./chunk-Z2ZIE5CO.js";
31
+ import "./chunk-GNPVYOPB.js";
32
+ import "./chunk-EZG76F7R.js";
33
+ import "./chunk-MEFMTICH.js";
34
+ import "./chunk-V5Y7D4LH.js";
35
+ import "./chunk-N74KDCBD.js";
36
+ import "./chunk-EETVJZAZ.js";
37
+ import "./chunk-XWFRNJMQ.js";
38
+ import "./chunk-2ZCUO2UG.js";
39
+ import "./chunk-OHX6MIUZ.js";
40
+ export {
41
+ blameGeneratedFile,
42
+ fetchWorkspaceBundle,
43
+ isMissingDependencyError,
44
+ runInitFromCommand,
45
+ verifyCrashEntry
46
+ };
47
+ //# sourceMappingURL=codegen-command-ZDHMGFWZ.js.map
package/dist/codegen.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as Statement, f as FieldDescriptor, w as ResponseDef } from './response-BQVQ24l1.js';
2
- import { n as Tag, h as FilterXdo, o as TaggedValue } from './xdo-BjJj5W_E.js';
1
+ import { S as Statement, f as FieldDescriptor, w as ResponseDef } from './response-D6xGLEIn.js';
2
+ import { n as Tag, h as FilterXdo, o as TaggedValue } from './xdo-ODuJklk6.js';
3
3
 
4
4
  /** A stored statement envelope as it appears in a Xano bundle's `run[]`. */
5
5
  type RawEnvelope = Record<string, unknown>;
@@ -26,7 +26,7 @@ declare function raw(envelope: RawEnvelope): Statement;
26
26
  * generated tree greppable by one name.
27
27
  *
28
28
  * Reached via `@xanots/sdk/codegen`, alongside `raw()` — same reasoning
29
- * (KTD-10): a passthrough should not sit in tab-completion next to `c.text`.
29
+ *: a passthrough should not sit in tab-completion next to `c.text`.
30
30
  */
31
31
 
32
32
  /**
@@ -37,7 +37,7 @@ declare function raw(envelope: RawEnvelope): Statement;
37
37
  * what the SDK writes. The corpus is genuinely mixed — the same tag appears with
38
38
  * a quoted and an unquoted value in one workspace — and codegen echoes whichever
39
39
  * it found. Declaring it `string` alone made a pulled tree fail its own
40
- * type-check (issue #133), which broke every npm script in the scaffold, since
40
+ * type-check, which broke every npm script in the scaffold, since
41
41
  * each one runs `tsc --noEmit` first.
42
42
  *
43
43
  * Coercing to the string form at emit would be the other repair. It is the wrong
@@ -91,7 +91,7 @@ declare function rawField(envelope: RawFieldEnvelope): FieldDescriptor;
91
91
  * instead.
92
92
  *
93
93
  * Reached via `@xanots/sdk/codegen`, never from the discoverable authoring
94
- * namespace, for the same reason `raw()` stays off `s` (KTD-10).
94
+ * namespace, for the same reason `raw()` stays off `s`.
95
95
  */
96
96
 
97
97
  /** A stored `result[]` entry as it appears in a bundle. */
package/dist/codegen.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  raw
3
- } from "./chunk-LU7TRWMC.js";
3
+ } from "./chunk-6VNRMKFJ.js";
4
4
  import {
5
5
  RAW_FIELD,
6
6
  rawResponse
7
- } from "./chunk-5XZ744TS.js";
7
+ } from "./chunk-2ZCUO2UG.js";
8
8
 
9
9
  // src/values/raw-value.ts
10
10
  function rawValue(v) {
@@ -6,7 +6,7 @@ import {
6
6
  liveCommandNames,
7
7
  liveSubcommandNames,
8
8
  visibleFlags
9
- } from "./chunk-DIA7CT7J.js";
9
+ } from "./chunk-V5Y7D4LH.js";
10
10
 
11
11
  // src/emit/completion.ts
12
12
  var COMPLETION_SHELLS = ["bash", "zsh", "fish"];
@@ -296,4 +296,4 @@ export {
296
296
  renderCompletion,
297
297
  runCompletionCommand
298
298
  };
299
- //# sourceMappingURL=completion-WF46272M.js.map
299
+ //# sourceMappingURL=completion-HJU5QEFB.js.map