@xanots/sdk 0.0.9 → 0.0.11

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 (116) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +66 -21
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-4W37DGXS.js → agent-file-refresh-QNKN5RYD.js} +3 -3
  5. package/dist/bin.js +10 -8
  6. package/dist/{branch-commands-PBQ36L4A.js → branch-commands-2BLOC2GR.js} +13 -11
  7. package/dist/bundle.d.ts +218 -0
  8. package/dist/bundle.js +143 -0
  9. package/dist/{capture-7PO6SGB4.js → capture-4WVJY4DQ.js} +2 -2
  10. package/dist/{chunk-OW2QZEWL.js → chunk-22TKBSDV.js} +2 -2
  11. package/dist/{chunk-ZOYMZZ3S.js → chunk-3INK4Y4E.js} +1 -1
  12. package/dist/{chunk-NDZFBZHC.js → chunk-3UABJA4X.js} +1 -1
  13. package/dist/{chunk-6Z5CNWFC.js → chunk-4IF54NU5.js} +37 -6
  14. package/dist/{chunk-KSV7VOEX.js → chunk-4Q7ZOHH7.js} +3 -3
  15. package/dist/{chunk-QTNO2WD6.js → chunk-7ZYW652H.js} +1 -1
  16. package/dist/{chunk-4PTSTDIG.js → chunk-AIZKXUNP.js} +2 -2
  17. package/dist/{chunk-P5C2YKAM.js → chunk-ANUDXFEX.js} +18 -27
  18. package/dist/{chunk-4BXJGVZ3.js → chunk-BC2C5GVI.js} +2 -69
  19. package/dist/chunk-BSK7ELHU.js +70 -0
  20. package/dist/chunk-CTD5ZCV6.js +28 -0
  21. package/dist/{chunk-5HCDZ2XN.js → chunk-DBFU47BJ.js} +2 -2
  22. package/dist/{chunk-OKNSR7MT.js → chunk-DIA7CT7J.js} +129 -150
  23. package/dist/chunk-EHP3WPEG.js +21 -0
  24. package/dist/{chunk-JQLR64UC.js → chunk-F6CYJ7TN.js} +21 -6
  25. package/dist/{chunk-BKDJN76G.js → chunk-FE5I6S6N.js} +1 -1
  26. package/dist/{chunk-5YQOIFT4.js → chunk-G4EJMQLD.js} +2 -2
  27. package/dist/{chunk-L6TPHWAU.js → chunk-HYBN4H3F.js} +60 -86
  28. package/dist/{chunk-QIWBCS7N.js → chunk-JGCWTCA7.js} +2 -2
  29. package/dist/{chunk-MDXR5E5Q.js → chunk-K5IOND4K.js} +2 -2
  30. package/dist/{chunk-4PE4ZAB7.js → chunk-KA6G2L7U.js} +5 -5
  31. package/dist/chunk-OHX6MIUZ.js +184 -0
  32. package/dist/{chunk-UDL46O35.js → chunk-OWGCOGKK.js} +155 -3
  33. package/dist/{chunk-QONOJO45.js → chunk-QK7ZQJLP.js} +140 -20
  34. package/dist/{chunk-3QW5NFZJ.js → chunk-QKM4U5UK.js} +3 -3
  35. package/dist/{chunk-7OXFMCTX.js → chunk-QYMAZRAU.js} +7 -7
  36. package/dist/{chunk-K3YSQDXJ.js → chunk-RCT7UX7B.js} +92 -75
  37. package/dist/{chunk-T4XPCJRF.js → chunk-TCFIPDB3.js} +1 -1
  38. package/dist/{chunk-ZZLPTHT5.js → chunk-UOZMSF4C.js} +15 -8
  39. package/dist/{chunk-7JDT4PBU.js → chunk-VAF6A3YD.js} +5 -179
  40. package/dist/{chunk-6DHBYBTO.js → chunk-VNQM3V2C.js} +1 -2
  41. package/dist/chunk-WGPXT2G2.js +22 -0
  42. package/dist/{chunk-6AAT2AYQ.js → chunk-WP4OZZV4.js} +2 -2
  43. package/dist/{chunk-OYMR5AMJ.js → chunk-XEOX6AM7.js} +2 -2
  44. package/dist/{chunk-MU3O43L2.js → chunk-YBC3IKMF.js} +2 -2
  45. package/dist/chunk-ZQ2PKR6R.js +40 -0
  46. package/dist/cli.d.ts +57 -31
  47. package/dist/cli.js +9 -7
  48. package/dist/codegen-command-FUT2KJB6.js +49 -0
  49. package/dist/codegen.d.ts +2 -1
  50. package/dist/{completion-A6BZ3XGU.js → completion-WF46272M.js} +2 -2
  51. package/dist/{config-NL33PN4D.js → config-476F3PT5.js} +1 -1
  52. package/dist/{deploy-command-5TTI4TUP.js → deploy-command-IP7V7GT4.js} +69 -100
  53. package/dist/{ephemeral-command-7TK52YQM.js → ephemeral-command-U4AQ3TXX.js} +25 -28
  54. package/dist/index.d.ts +6 -4
  55. package/dist/index.js +10 -9
  56. package/dist/init-command-NPVL32L6.js +34 -0
  57. package/dist/{onboard-command-EHOHKQQU.js → init-web-3JNFG6GI.js} +10 -10
  58. package/dist/internal.d.ts +4 -4
  59. package/dist/internal.js +86 -73
  60. package/dist/io-P2H75UV2.js +12 -0
  61. package/dist/{live-diff-QK4KC2FJ.js → live-diff-IXKBVG4K.js} +3 -3
  62. package/dist/{lock-GFXD6G2E.js → lock-46FWYE4D.js} +3 -2
  63. package/dist/{lock-commands-ET7NIOLH.js → lock-commands-ZZKZ4LZJ.js} +23 -21
  64. package/dist/{login-command-DFCURZLC.js → login-command-Z6CHTA57.js} +7 -7
  65. package/dist/{logout-command-WXVZQCAV.js → logout-command-ER6IKAYJ.js} +2 -2
  66. package/dist/{loop-7SAIGRCZ.js → loop-D5NPL4VH.js} +3 -3
  67. package/dist/{marketplace-command-BCOAAN2I.js → marketplace-command-P4IPLJ6J.js} +6 -6
  68. package/dist/{meta-client-57ZWVHST.js → meta-client-K2J4XH64.js} +6 -6
  69. package/dist/node.d.ts +5 -4
  70. package/dist/node.js +15 -13
  71. package/dist/{validate-command-SK5FPCV7.js → preflight-command-K346GPTY.js} +20 -18
  72. package/dist/{profile-command-QJAAUZIV.js → profile-command-LJSBDV2L.js} +5 -5
  73. package/dist/{release-command-4EXVLYV2.js → release-command-IMNTIVWK.js} +42 -38
  74. package/dist/response-BQVQ24l1.d.ts +844 -0
  75. package/dist/{routes-manifest-SP3ZXLMR.js → routes-manifest-PWZHDOI5.js} +2 -2
  76. package/dist/scaffold.js +2 -2
  77. package/dist/{static-host-D6KS7X45.js → static-host-3WMV7IZO.js} +1 -1
  78. package/dist/status-command-AL47VG7H.js +162 -0
  79. package/dist/{store-CUCBSYLj.d.ts → store-BLyNeQ8S.d.ts} +21 -8
  80. package/dist/{test-command-2F5LKMI6.js → test-command-YAZLKLGQ.js} +45 -28
  81. package/dist/{upgrade-command-QL523I62.js → upgrade-command-BN3EHAOI.js} +16 -14
  82. package/dist/{workspace-K72NP7SX.js → workspace-2COHDBM3.js} +1 -1
  83. package/dist/{workspace-command-HYA6JEKK.js → workspace-command-MNK7Y7MQ.js} +36 -34
  84. package/dist/{workspace-export-AJMGN3CQ.js → workspace-export-DURY5WYL.js} +2 -2
  85. package/dist/{response-CVAE2kMj.d.ts → xdo-BjJj5W_E.d.ts} +1 -837
  86. package/guides/README.md +2 -2
  87. package/guides/cli.md +17 -19
  88. package/guides/codegen.md +21 -5
  89. package/guides/coverage.md +1 -1
  90. package/guides/deploying.md +31 -34
  91. package/guides/environment.md +4 -4
  92. package/guides/object-kinds.md +3 -3
  93. package/guides/project-structure.md +1 -1
  94. package/guides/scaffold.md +25 -2
  95. package/guides/typed-frontend.md +2 -2
  96. package/llms/filters.md +11 -10
  97. package/llms/kinds-agent-mcp.md +1 -1
  98. package/llms/kinds-core.md +2 -2
  99. package/llms/kinds-realtime.md +1 -1
  100. package/llms/lock.md +5 -5
  101. package/llms/statements-data.md +3 -1
  102. package/llms/tests.md +1 -1
  103. package/llms/values.md +1 -1
  104. package/llms-full.txt +65 -63
  105. package/llms.txt +40 -41
  106. package/manifest.json +96 -427
  107. package/package.json +7 -2
  108. package/dist/chunk-3EYUR3TX.js +0 -100
  109. package/dist/chunk-JQJPFUZI.js +0 -118
  110. package/dist/chunk-YNZFIY4J.js +0 -78
  111. package/dist/codegen-command-YSCSCVT5.js +0 -43
  112. package/dist/env-target-4T7AT347.js +0 -16
  113. package/dist/init-command-OVFFW4QS.js +0 -30
  114. package/dist/io-M7XZEMK7.js +0 -11
  115. package/dist/sandbox-details-command-EDO56IY3.js +0 -18
  116. package/dist/sandbox-export-command-MO6DEZ7Z.js +0 -24
@@ -1,52 +1,49 @@
1
1
  import {
2
2
  importWorkspaceArchive
3
- } from "./chunk-6AAT2AYQ.js";
3
+ } from "./chunk-WP4OZZV4.js";
4
4
  import {
5
5
  assertBundleInput,
6
6
  loadBundleText
7
- } from "./chunk-KSV7VOEX.js";
7
+ } from "./chunk-4Q7ZOHH7.js";
8
+ import {
9
+ microserviceLine,
10
+ readyRatio,
11
+ waitForMicroservices
12
+ } from "./chunk-3UABJA4X.js";
8
13
  import {
9
14
  createEphemeral,
10
15
  getEphemeral,
11
16
  isEphemeralDisabled,
12
17
  isExpired,
13
- tenantBaseUrl,
14
18
  waitUntilReady
15
- } from "./chunk-6DHBYBTO.js";
16
- import {
17
- getEnvironment,
18
- readEphemeralState,
19
- setEnvironment
20
- } from "./chunk-MDXR5E5Q.js";
19
+ } from "./chunk-VNQM3V2C.js";
21
20
  import {
22
21
  openBrowser
23
22
  } from "./chunk-W5NOKYEG.js";
24
23
  import {
25
- microserviceLine,
26
- readyRatio,
27
- waitForMicroservices
28
- } from "./chunk-NDZFBZHC.js";
24
+ isMachineOutput,
25
+ writeJson
26
+ } from "./chunk-NUQCEOKA.js";
27
+ import {
28
+ getEnvironment,
29
+ readEphemeralState,
30
+ setEnvironment
31
+ } from "./chunk-K5IOND4K.js";
29
32
  import {
30
33
  getAccessToken
31
- } from "./chunk-3QW5NFZJ.js";
32
- import "./chunk-BKDJN76G.js";
34
+ } from "./chunk-QKM4U5UK.js";
35
+ import "./chunk-FE5I6S6N.js";
33
36
  import {
34
37
  encodeWorkspaceArchive
35
38
  } from "./chunk-ZUTSMMAG.js";
36
39
  import "./chunk-X4DVXBFY.js";
40
+ import "./chunk-3IGNIP6R.js";
41
+ import "./chunk-RCT7UX7B.js";
42
+ import "./chunk-CTD5ZCV6.js";
43
+ import "./chunk-XEOX6AM7.js";
37
44
  import {
38
- isMachineOutput,
39
- writeJson
40
- } from "./chunk-NUQCEOKA.js";
41
- import {
42
- fetchOrExplain,
43
- httpFailure
44
- } from "./chunk-3IGNIP6R.js";
45
- import "./chunk-K3YSQDXJ.js";
46
- import {
47
- assertWritableDest
48
- } from "./chunk-JQLR64UC.js";
49
- import "./chunk-OYMR5AMJ.js";
45
+ assertNoEnv
46
+ } from "./chunk-F6CYJ7TN.js";
50
47
  import "./chunk-GNPVYOPB.js";
51
48
  import {
52
49
  blank,
@@ -62,21 +59,21 @@ import {
62
59
  warn,
63
60
  withSpinner
64
61
  } from "./chunk-EZG76F7R.js";
65
- import "./chunk-UDL46O35.js";
66
- import "./chunk-OKNSR7MT.js";
67
- import "./chunk-QONOJO45.js";
62
+ import "./chunk-OWGCOGKK.js";
63
+ import "./chunk-DIA7CT7J.js";
64
+ import "./chunk-QK7ZQJLP.js";
68
65
  import "./chunk-WHOJWOSV.js";
66
+ import "./chunk-VAF6A3YD.js";
69
67
  import "./chunk-5XZ744TS.js";
70
- import "./chunk-7JDT4PBU.js";
68
+ import "./chunk-OHX6MIUZ.js";
71
69
 
72
70
  // src/emit/deploy-command.ts
73
71
  import { basename } from "path";
74
72
  var EXIT_STATIC_FAILED = 3;
75
73
  var EXIT_MICROSERVICE_NOT_READY = 4;
76
74
  var EXIT_TESTS_UNREACHABLE = 6;
77
- var SANDBOX_TIMEOUT_MS = 3e4;
78
75
  function microserviceCheck(args) {
79
- return { noVerify: args.noVerify, requireReady: args.requireMicroservices };
76
+ return { skip: args.skipLiveness, requireReady: args.requireMicroservices };
80
77
  }
81
78
  function buildStaticEnv(baseUrl, staticEnv) {
82
79
  const env = {};
@@ -94,28 +91,6 @@ function deriveDisplay(bundleText, cwd) {
94
91
  }
95
92
  return basename(cwd) || "xanots-app";
96
93
  }
97
- async function resolveSandboxBaseUrl(auth) {
98
- const url = new URL("/api:meta/sandbox/me", auth.instance);
99
- const res = await fetchOrExplain(
100
- url.href,
101
- {
102
- headers: { accept: "application/json", Authorization: `Bearer ${auth.access_token}` },
103
- signal: AbortSignal.timeout(SANDBOX_TIMEOUT_MS)
104
- },
105
- "resolve sandbox",
106
- SANDBOX_TIMEOUT_MS
107
- );
108
- const text = await res.text();
109
- if (!res.ok) throw new Error(httpFailure("resolve sandbox", res, text));
110
- let tenant = {};
111
- try {
112
- tenant = JSON.parse(text);
113
- } catch {
114
- throw new Error(`resolve sandbox: could not parse the ${url.pathname} response as JSON:
115
- ${text}`);
116
- }
117
- return tenantBaseUrl(tenant, auth.instance);
118
- }
119
94
  async function assertNoSeedLeaks(dir, values, allow) {
120
95
  if (values.length === 0) return;
121
96
  const unscannable = [
@@ -127,7 +102,7 @@ async function assertNoSeedLeaks(dir, values, allow) {
127
102
  );
128
103
  for (const column of unscannable) detail(column);
129
104
  }
130
- const { findSeedLeaks } = await import("./static-host-D6KS7X45.js");
105
+ const { findSeedLeaks } = await import("./static-host-3WMV7IZO.js");
131
106
  const leaks = findSeedLeaks(dir, values);
132
107
  if (leaks.length === 0) return;
133
108
  const lines = leaks.map((l) => ` ${l.file} \u2014 ${l.table}.${l.column}`);
@@ -147,9 +122,9 @@ If the data is deliberately public demo content, pass --allow-seed-in-static.`
147
122
  function deployTarget(auth) {
148
123
  detail(`on ${hostLabel(auth.instance)} \xB7 workspace ${auth.workspaceId}`);
149
124
  }
150
- async function runDeployedTests(auth, dest, summary, args) {
125
+ async function runDeployedTests(auth, summary, args) {
151
126
  try {
152
- return await runTestsOrThrow(auth, dest, summary, args);
127
+ return await runTestsOrThrow(auth, summary, args);
153
128
  } catch (err) {
154
129
  warn("The deploy stands, but its tests could not be run:");
155
130
  detail(err instanceof Error ? err.message : String(err));
@@ -157,20 +132,19 @@ async function runDeployedTests(auth, dest, summary, args) {
157
132
  return void 0;
158
133
  }
159
134
  }
160
- async function runTestsOrThrow(auth, dest, summary, args) {
161
- const { runSuite, EXIT_TESTS_FAILED } = await import("./test-command-2F5LKMI6.js");
162
- let target;
163
- if (dest === "ephemeral") {
164
- if (summary.url === void 0) {
165
- warn("Skipped --test: the ephemeral reported no base URL to run against.");
166
- return void 0;
167
- }
168
- const name = summary.ephemeral?.name;
169
- target = { base: summary.url, workspaceId: 1, label: name ? `ephemeral ${name}` : "the ephemeral", env: name };
170
- } else {
171
- const { resolveMetaTarget } = await import("./env-target-4T7AT347.js");
172
- target = await resolveMetaTarget(auth, { dest: "sandbox" });
135
+ async function runTestsOrThrow(auth, summary, args) {
136
+ const { runSuite, EXIT_TESTS_FAILED } = await import("./test-command-YAZLKLGQ.js");
137
+ if (summary.url === void 0) {
138
+ warn("Skipped --test: the ephemeral reported no base URL to run against.");
139
+ return void 0;
173
140
  }
141
+ const name = summary.ephemeral?.name;
142
+ const target = {
143
+ base: summary.url,
144
+ workspaceId: 1,
145
+ label: name ? `ephemeral ${name}` : "the ephemeral",
146
+ env: name
147
+ };
174
148
  const outcomes = await runSuite(auth, target, {
175
149
  kind: args.kind,
176
150
  concurrency: args.concurrency,
@@ -199,8 +173,7 @@ async function runTestsOrThrow(auth, dest, summary, args) {
199
173
  };
200
174
  }
201
175
  async function runDeployCommand(args) {
202
- assertWritableDest(args.dest, "deploy");
203
- const dest = args.dest ?? "ephemeral";
176
+ assertNoEnv(args.env, "deploy");
204
177
  const startedAt = Date.now();
205
178
  if (args.reset) info("`--reset` is redundant \u2014 deploy is always a full replace.");
206
179
  assertBundleInput(args, { command: "deploy" });
@@ -224,8 +197,8 @@ async function runDeployCommand(args) {
224
197
  const staticEnv = buildStaticEnv(env.baseUrl, args.staticEnv);
225
198
  const explicit = Object.keys(args.staticEnv).length > 0;
226
199
  try {
227
- const target = dest === "ephemeral" ? { baseUrl: env.baseUrl, workspaceId: 1, label: env.label } : { baseUrl: auth.instance, workspaceId: auth.workspaceId, label: void 0 };
228
- staticSummary = await deployStaticTo(staticDir, auth, target, staticEnv, explicit, args.staticHost, args.noVerify, args.staticRouting);
200
+ const target = { baseUrl: env.baseUrl, workspaceId: 1, label: env.label };
201
+ staticSummary = await deployStaticTo(staticDir, auth, target, staticEnv, explicit, args.staticHost, args.skipLiveness, args.staticRouting);
229
202
  } catch (err) {
230
203
  warn("The static-host upload failed \u2014 the backend deploy stands:");
231
204
  detail(err instanceof Error ? err.message : String(err));
@@ -235,12 +208,19 @@ async function runDeployCommand(args) {
235
208
  process.exitCode = EXIT_STATIC_FAILED;
236
209
  }
237
210
  };
238
- const summary = dest === "sandbox" ? await deploySandbox(auth, archive, source, microserviceCheck(args), startedAt, publishStatic) : await deployEphemeral(auth, { archive, bundle, source, args, startedAt, publishStatic });
211
+ const summary = await deployEphemeral(auth, {
212
+ archive,
213
+ bundle,
214
+ source,
215
+ args,
216
+ startedAt,
217
+ publishStatic
218
+ });
239
219
  if (staticSummary !== void 0) summary.static = staticSummary;
240
- if (dest === "ephemeral" && summary.created === false && staticSummary?.url !== void 0) {
220
+ if (summary.created === false && staticSummary?.url !== void 0) {
241
221
  detail("This static URL is new \u2014 a re-deploy replaces the environment's hosting, so the previous one no longer serves.");
242
222
  }
243
- if (args.test) summary.testRun = await runDeployedTests(auth, dest, summary, args);
223
+ if (args.test) summary.testRun = await runDeployedTests(auth, summary, args);
244
224
  if (args.open) openDeployed(summary);
245
225
  if (isMachineOutput(args)) writeJson(summary);
246
226
  }
@@ -253,17 +233,6 @@ function openDeployed(summary) {
253
233
  detail(`Opening ${url}`);
254
234
  openBrowser(url);
255
235
  }
256
- async function deploySandbox(auth, archive, source, check, startedAt, publishStatic) {
257
- step(`Deploying ${source} \u2192 sandbox (full replace)`);
258
- deployTarget(auth);
259
- const baseUrl = await resolveSandboxBaseUrl(auth);
260
- await publishStatic?.({ baseUrl, label: void 0 });
261
- await withSpinner(IMPORTING_LABEL, () => importWorkspaceArchive(auth, { baseUrl, archive }));
262
- success(`Backend deployed to sandbox${elapsedSuffix(startedAt)}`);
263
- link(baseUrl);
264
- const microservices = await verifyMicroservices(auth, baseUrl, check);
265
- return { dest: "sandbox", url: baseUrl, ...microservices ? { microservices } : {} };
266
- }
267
236
  var WAITING_LABEL = "Waiting for microservices\u2026";
268
237
  var IMPORTING_LABEL = "Uploading and importing the workspace\u2026";
269
238
  function waitingLabel(microservices) {
@@ -271,7 +240,7 @@ function waitingLabel(microservices) {
271
240
  return startable === 0 ? WAITING_LABEL : `${WAITING_LABEL} (${ready}/${startable} ready)`;
272
241
  }
273
242
  async function verifyMicroservices(auth, baseUrl, opts, waitOpts = {}) {
274
- if (opts.noVerify) return void 0;
243
+ if (opts.skip) return void 0;
275
244
  const spin = spinner(WAITING_LABEL);
276
245
  let result;
277
246
  try {
@@ -305,7 +274,7 @@ async function verifyMicroservices(auth, baseUrl, opts, waitOpts = {}) {
305
274
  }
306
275
  for (const m of microservices) detail(microserviceLine(m));
307
276
  if (timedOut && !hadFailure) {
308
- detail("Re-check with `xanots ephemeral get <env>`, or skip this wait next time with --no-verify.");
277
+ detail("Re-check with `xanots ephemeral get <env>`, or skip this wait next time with --skip-liveness.");
309
278
  if (!opts.requireReady) {
310
279
  detail("Fail the deploy on this instead of warning: --require-microservices.");
311
280
  }
@@ -317,9 +286,9 @@ function failDeploy() {
317
286
  }
318
287
  function ephemeralDisabledError(source) {
319
288
  return new Error(
320
- `Ephemeral environments are not enabled on this instance, so \`--dest ephemeral\` (the default) has nothing to create.
321
- Deploy to the sandbox instead: \`xanots deploy --dest sandbox ${source}\`.
322
- \u26A0 With \`--dest sandbox\`, \`--static\` publishes the frontend to your OWN (parent) workspace \u2014 the sandbox tenant does not serve static hosting \u2014 so it replaces whatever that workspace is hosting.`
289
+ `Ephemeral environments are not enabled on this instance, so there is nothing for \`xanots deploy ${source}\` to create \u2014 they are the only environment it writes to.
290
+ Ask whoever administers the instance to enable them.
291
+ Until then \`xanots export\` still writes the bundle, and \`xanots preflight\` still checks the round-trip, without needing one.`
323
292
  );
324
293
  }
325
294
  async function deployEphemeral(auth, ctx) {
@@ -392,7 +361,7 @@ async function deployEphemeral(auth, ctx) {
392
361
  await publishStatic?.({ baseUrl, label: `ephemeral ${target.name}` });
393
362
  if (publishStatic !== void 0) {
394
363
  detail(
395
- "The frontend URL changes on every ephemeral deploy (the import clears static hosting) and the replace re-seeds the environment. For a stable URL while iterating, deploy with `--dest sandbox` \u2014 its frontend lands on your own workspace, which no import clears."
364
+ "The frontend URL changes on every deploy (the import clears static hosting) and the replace re-seeds the environment \u2014 bookmarks and shared links from the previous run stop serving."
396
365
  );
397
366
  }
398
367
  const microservices = await verifyMicroservices(auth, baseUrl, microserviceCheck(args));
@@ -404,8 +373,8 @@ async function deployEphemeral(auth, ctx) {
404
373
  ...microservices ? { microservices } : {}
405
374
  };
406
375
  }
407
- async function deployStaticTo(dir, auth, target, env, explicit, host, noVerify, routing) {
408
- const { deployStaticHost } = await import("./static-host-D6KS7X45.js");
376
+ async function deployStaticTo(dir, auth, target, env, explicit, host, skipLiveness, routing) {
377
+ const { deployStaticHost } = await import("./static-host-3WMV7IZO.js");
409
378
  const where = target.label && target.label !== "" ? target.label : `workspace #${target.workspaceId}`;
410
379
  step(`Deploying static frontend ${dir} \u2192 ${where}${host ? ` (host: ${host})` : ""}`);
411
380
  const sh = await deployStaticHost({ host, dir, workspaceId: target.workspaceId, baseUrl: target.baseUrl, accessToken: auth.access_token, env, routing });
@@ -424,7 +393,7 @@ async function deployStaticTo(dir, auth, target, env, explicit, host, noVerify,
424
393
  }
425
394
  success("Static host deployed");
426
395
  if (sh.url) link(sh.url);
427
- if (noVerify || sh.url === void 0 || sh.canonical === void 0) {
396
+ if (skipLiveness || sh.url === void 0 || sh.canonical === void 0) {
428
397
  return { url: sh.url };
429
398
  }
430
399
  const { verifyRollout } = await import("./verify-rollout-FAVQ6EJY.js");
@@ -434,7 +403,7 @@ async function deployStaticTo(dir, auth, target, env, explicit, host, noVerify,
434
403
  success("Frontend is live");
435
404
  } else {
436
405
  warn("Could not confirm the frontend is live within the wait window \u2014 the build uploaded and should come online shortly.");
437
- detail(`Re-check by opening ${sh.url}, or skip this wait next time with --no-verify.`);
406
+ detail(`Re-check by opening ${sh.url}, or skip this wait next time with --skip-liveness.`);
438
407
  }
439
408
  return { url: sh.url, verified: live };
440
409
  }
@@ -448,4 +417,4 @@ export {
448
417
  runDeployedTests,
449
418
  verifyMicroservices
450
419
  };
451
- //# sourceMappingURL=deploy-command-5TTI4TUP.js.map
420
+ //# sourceMappingURL=deploy-command-IP7V7GT4.js.map
@@ -1,3 +1,10 @@
1
+ import {
2
+ resolveOutputTarget
3
+ } from "./chunk-WGPXT2G2.js";
4
+ import {
5
+ printMicroserviceSection,
6
+ readMicroservices
7
+ } from "./chunk-3UABJA4X.js";
1
8
  import {
2
9
  deleteEphemeral,
3
10
  getEphemeral,
@@ -5,43 +12,36 @@ import {
5
12
  isExpired,
6
13
  listAllEphemeral,
7
14
  listEphemeral
8
- } from "./chunk-6DHBYBTO.js";
9
- import {
10
- clearEnvironment,
11
- getEnvironment,
12
- readEphemeralState
13
- } from "./chunk-MDXR5E5Q.js";
15
+ } from "./chunk-VNQM3V2C.js";
14
16
  import {
15
17
  openBrowser
16
18
  } from "./chunk-W5NOKYEG.js";
17
19
  import {
18
20
  confirm
19
- } from "./chunk-4PTSTDIG.js";
21
+ } from "./chunk-AIZKXUNP.js";
20
22
  import {
21
- resolveOutputTarget
22
- } from "./chunk-JQJPFUZI.js";
23
- import "./chunk-3EYUR3TX.js";
23
+ isMachineOutput,
24
+ writeJson
25
+ } from "./chunk-NUQCEOKA.js";
24
26
  import {
25
- printMicroserviceSection,
26
- readMicroservices
27
- } from "./chunk-NDZFBZHC.js";
27
+ clearEnvironment,
28
+ getEnvironment,
29
+ readEphemeralState
30
+ } from "./chunk-K5IOND4K.js";
28
31
  import {
29
32
  getAccessToken
30
- } from "./chunk-3QW5NFZJ.js";
31
- import "./chunk-BKDJN76G.js";
33
+ } from "./chunk-QKM4U5UK.js";
34
+ import "./chunk-FE5I6S6N.js";
32
35
  import {
33
36
  exportWorkspaceBundle
34
- } from "./chunk-QTNO2WD6.js";
37
+ } from "./chunk-7ZYW652H.js";
35
38
  import "./chunk-ZUTSMMAG.js";
36
39
  import "./chunk-X4DVXBFY.js";
37
- import {
38
- isMachineOutput,
39
- writeJson
40
- } from "./chunk-NUQCEOKA.js";
41
40
  import "./chunk-3IGNIP6R.js";
42
41
  import {
42
+ assertNoForce,
43
43
  unknownSubcommand
44
- } from "./chunk-JQLR64UC.js";
44
+ } from "./chunk-F6CYJ7TN.js";
45
45
  import "./chunk-GNPVYOPB.js";
46
46
  import {
47
47
  detail,
@@ -53,7 +53,7 @@ import {
53
53
  success,
54
54
  warn
55
55
  } from "./chunk-EZG76F7R.js";
56
- import "./chunk-OKNSR7MT.js";
56
+ import "./chunk-DIA7CT7J.js";
57
57
 
58
58
  // src/emit/ephemeral-command.ts
59
59
  import { writeFileSync } from "fs";
@@ -89,10 +89,6 @@ async function runEphemeralCommand(args) {
89
89
  return runExport(args);
90
90
  case "impersonate":
91
91
  return runImpersonate(args);
92
- case "codegen": {
93
- const { runCodegenCommand } = await import("./codegen-command-YSCSCVT5.js");
94
- return runCodegenCommand(args, { kind: "ephemeral" });
95
- }
96
92
  default:
97
93
  throw unknownSubcommand("ephemeral", args.subcommand);
98
94
  }
@@ -140,10 +136,11 @@ async function runGet(args) {
140
136
  printMicroserviceSection(microservices);
141
137
  }
142
138
  async function runDelete(args) {
139
+ assertNoForce(args.force, "ephemeral", "delete");
143
140
  const name = requireName(args, "delete");
144
141
  const auth = await getAccessToken(args);
145
142
  const parentWorkspaceId = auth.workspaceId;
146
- if (!args.yes && !args.force) {
143
+ if (!args.yes) {
147
144
  const ok = await confirm(`Delete ephemeral "${name}"? This destroys it permanently.`, {
148
145
  flag: "--yes",
149
146
  helpFor: { command: "ephemeral", subcommand: "delete" }
@@ -239,4 +236,4 @@ export {
239
236
  resolveLive,
240
237
  runEphemeralCommand
241
238
  };
242
- //# sourceMappingURL=ephemeral-command-7TK52YQM.js.map
239
+ //# sourceMappingURL=ephemeral-command-U4AQ3TXX.js.map
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import { ef as Condition, eg as FilterResults, eh as ElementResult, ei as SameArrayResult, ej as GroupedArrayResult, ek as AgentResultOf, b3 as AddonDef, el as OutputPath, cZ as TableDef, em as QualifiedCol, bx as DbEval, cY as SortDirective, bz as DbWhere, en as OutputRoot, bM as InferRow, eo as AggregateRow, ep as EvalFields, eq as OutputAuthored, cb as MicroserviceDef, ah as generated, F as FunctionDef, co as QueryHandle } from './store-CUCBSYLj.js';
2
- export { b4 as AddonXdo, A as AdoptChange, a as AdoptResult, b5 as AgentDef, b6 as AgentHandle, b7 as AgentOutput, b8 as AgentSettingsXdo, b9 as AgentXdo, ba as AmbientBindings, bb as AnthropicLlm, bc as ApiGroupDef, bd as ApiGroupXdo, be as AuthRef, bf as Authored, B as Bundle, b as BundlePayload, c as BundleType, bg as Capturable, b0 as CaptureRecord, a_ as CaptureValue, bh as ChannelConversationDef, bi as ChannelDeliveryDef, bj as ChannelDeliveryGuarantee, bk as ChannelPublishDef, bl as ChannelPublishWho, bm as ChannelRateLimitDef, bn as ColumnDef, bo as Comparison, bp as ContainerEnv, bq as ContainerPort, br as ContainerResources, bs as ContainerVolume, bt as CorsConfig, bu as CorsMode, bv as DatabaseActions, bw as DatabaseInputs, by as DbEvalFilter, bA as ErrorInputs, bB as ExceptionPolicy, bC as FieldAccessor, bD as FieldRule, bE as GoogleGenAiLlm, bF as HistoryInput, bG as HttpVerb, bH as IndexDef, bI as IndexLang, bJ as IndexOp, bK as IndexType, bL as IndexXdo, bN as InputDescriptor, bO as InputOptions, bP as IteratingBindings, bQ as KnowledgeDef, bR as KnowledgeDirSource, bS as KnowledgeFileSource, bT as KnowledgeMode, bU as KnowledgeType, bV as LAMBDA_BINDINGS, bW as LAMBDA_CODE_FILTERS, bX as LAMBDA_GLOBALS, bY as LAMBDA_MODULE_GLOBALS, bZ as LAMBDA_STATEMENTS, b1 as LambdaBindings, b_ as LambdaBody, aZ as LambdaOptions, a$ as LambdaSurface, b$ as LlmPrompt, c0 as LlmProvider, c1 as LlmSettings, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, c2 as ManifestValue, c3 as McpPathOptions, c4 as McpServerDef, c5 as McpServerHandle, c6 as McpServerXdo, m as MergeResult, c7 as MessageDeliverTo, c8 as MicroserviceChart, c9 as MicroserviceConfig, ca as MicroserviceContainer, cc as MicroserviceDeployment, cd as MicroserviceIngress, ce as MicroserviceRegistryAuth, cf as MicroserviceVolume, cg as MicroserviceXdo, ch as MiddlewareAttach, ci as MiddlewareAttachEntry, cj as MiddlewareDef, ck as MiddlewareXdo, O as ObjectKind, cl as OpenAiLlm, n as PayloadArrayKey, cm as QueryDef, cn as QueryFilterName, cp as QueryResponseType, cq as QueryXdo, cr as RealtimeActions, cs as RealtimeChannelActions, ct as RealtimeChannelDef, cu as RealtimeChannelHandle, cv as RealtimeChannelRef, cw as RealtimeChannelTriggerInputs, cx as RealtimeChannelXdo, cy as RealtimeClient, cz as RealtimeInputs, cA as RealtimeMessageDef, cB as RealtimeMessageXdo, cC as RealtimeServerActions, cD as RealtimeServerDef, cE as RealtimeServerHandle, cF as RealtimeServerRef, cG as RealtimeServerTriggerInputs, cH as RealtimeServerXdo, cI as RealtimeUrlOptions, R as RenameResult, cJ as ResultStrategy, cK as Route, cL as RowOf, cM as ScheduleDef, cN as SchemaCols, cO as SchemaDef, cP as SearchComparison, cQ as SearchGroup, cR as SearchNode, cS as SearchOp, cT as SearchParamValue, cU as SeedFileSource, cV as SeedRow, cW as SeedSource, cX as SortDir, S as StatementSpec, c_ as TableXdo, c$ as TaskDef, d0 as TaskXdo, d1 as ToolDef, d2 as ToolXdo, d3 as ToolsetBaseDef, d4 as ToolsetBaseXdo, d5 as ToolsetInputs, d6 as ToolsetToolEntry, d7 as ToolsetToolRef, d8 as TriggerDef, d9 as TriggerObjType, da as TriggerXdo, db as ViewDef, dc as ViewXdo, dd as WorkflowTestDef, de as WorkflowTestXdo, df as WorkspaceActions, dg as WorkspaceConfigDef, dh as WorkspaceConfigXdo, di as WorkspaceHistoryDef, dj as WorkspaceHistoryXdo, dk as WorkspaceInputs, dl as WorkspaceMiddlewareDef, dm as WorkspaceMiddlewareXdo, b2 as Xano, dn as XanoFreeLlm, dp as addon, dq as agent, dr as agentTrigger, ds as and, dt as apiGroup, du as assertLambdaBody, dv as bitwiseAnd, dw as bitwiseOr, dx as bitwiseXor, dy as cmp, dz as defineFunction, dA as emit, dB as emitBundle, dC as errorTrigger, dD as expr, dE as fl, dF as input, dG as knowledge, dH as knowledgeDir, dI as knowledgeFile, er as lam, dJ as mathAdd, dK as mathDiv, dL as mathMul, dM as mathSub, dN as mcpServer, dO as mcpServerTrigger, dP as microservice, dQ as middleware, dR as mixed, dS as objectEntries, dT as objectKeys, dU as objectValues, dV as or, dW as query, dX as realtimeChannel, dY as realtimeChannelTrigger, dZ as realtimeMessage, d_ as realtimeServer, d$ as realtimeServerTrigger, e0 as realtimeTrigger, e1 as resetLockOverrides, e2 as seedFile, e3 as seedLockOverrides, e4 as table, e5 as tableTrigger, e6 as task, e7 as textAppend, e8 as textPrepend, e9 as toSearchParams, ea as tool, eb as workflowTest, ec as workspace, ed as workspaceConfig, ee as workspaceTrigger } from './store-CUCBSYLj.js';
3
- import { a2 as StatementAnnotations, a1 as Statement, y as FromFieldMap, w as FilterXdo, V as Value, S as ObjValue, aH as Prettify, x as FilteredValue, X as RefValue, aM as AsShapeBrand, aj as XanoFileRef, a4 as StatementOptions, T as ObjectRef, P as ObjInput, F as FunctionXdo } from './response-CVAE2kMj.js';
4
- export { B as BrandOpts, c as BrandValue, C as CacheXdo, f as CaughtField, h as ConditionalContext, j as ConditionalElifContext, D as DecimalMethod, E as EmailMethod, k as ExprGroup, l as ExprNode, m as ExprOperand, n as ExprStatement, o as FieldAccess, p as FieldDescriptor, q as FieldMap, s as FieldOpts, u as FieldStyleType, v as FieldXdo, H as HistoryXdo, I as InputXdo, z as IntMethod, L as ListBoundsXdo, M as MethodArg, A as MethodOpts, G as MethodSpec, J as MethodXdo, K as MockEntry, N as MockMap, O as MockXdo, Q as ObjMember, U as PasswordMethod, W as PersistedFunctionRow, Y as RegexValue, Z as ResponseDef, _ as ResultItemXdo, $ as RowFromFieldMap, a0 as StackItemXdo, a3 as StatementInputXdo, a5 as TAGS, a6 as TEST_EXPECT_TYPES, a7 as TableRefMethod, a8 as Tag, a9 as TaggedValue, aa as TestDef, ab as TestExpect, ac as TestExpectType, ad as TestXdo, ae as TextFormat, af as TextMethod, ag as TypeBrand, ah as ValueOf, ai as VectorMethod, ak as XanoGeoPosition, al as XanoGeoValue, am as annotate, an as auth, ao as c, ap as caught, aq as col, ar as env, as as expect, at as f, au as filter, av as inp, aw as obj, ax as out, ay as ref, az as resp, aA as setting, aB as statements, aC as sys, aD as test, aE as toolset, aF as withFilters } from './response-CVAE2kMj.js';
1
+ import { ef as Condition, eg as FilterResults, eh as ElementResult, ei as SameArrayResult, ej as GroupedArrayResult, ek as AgentResultOf, b3 as AddonDef, el as OutputPath, cZ as TableDef, em as QualifiedCol, bx as DbEval, cY as SortDirective, bz as DbWhere, en as OutputRoot, bM as InferRow, eo as AggregateRow, ep as EvalFields, eq as OutputAuthored, cb as MicroserviceDef, ah as generated, F as FunctionDef, co as QueryHandle } from './store-BLyNeQ8S.js';
2
+ export { b4 as AddonXdo, A as AdoptChange, a as AdoptResult, b5 as AgentDef, b6 as AgentHandle, b7 as AgentOutput, b8 as AgentSettingsXdo, b9 as AgentXdo, ba as AmbientBindings, bb as AnthropicLlm, bc as ApiGroupDef, bd as ApiGroupXdo, be as AuthRef, bf as Authored, B as Bundle, b as BundlePayload, c as BundleType, bg as Capturable, b0 as CaptureRecord, a_ as CaptureValue, bh as ChannelConversationDef, bi as ChannelDeliveryDef, bj as ChannelDeliveryGuarantee, bk as ChannelPublishDef, bl as ChannelPublishWho, bm as ChannelRateLimitDef, bn as ColumnDef, bo as Comparison, bp as ContainerEnv, bq as ContainerPort, br as ContainerResources, bs as ContainerVolume, bt as CorsConfig, bu as CorsMode, bv as DatabaseActions, bw as DatabaseInputs, by as DbEvalFilter, bA as ErrorInputs, bB as ExceptionPolicy, bC as FieldAccessor, bD as FieldRule, bE as GoogleGenAiLlm, bF as HistoryInput, bG as HttpVerb, bH as IndexDef, bI as IndexLang, bJ as IndexOp, bK as IndexType, bL as IndexXdo, bN as InputDescriptor, bO as InputOptions, bP as IteratingBindings, bQ as KnowledgeDef, bR as KnowledgeDirSource, bS as KnowledgeFileSource, bT as KnowledgeMode, bU as KnowledgeType, bV as LAMBDA_BINDINGS, bW as LAMBDA_CODE_FILTERS, bX as LAMBDA_GLOBALS, bY as LAMBDA_MODULE_GLOBALS, bZ as LAMBDA_STATEMENTS, b1 as LambdaBindings, b_ as LambdaBody, aZ as LambdaOptions, a$ as LambdaSurface, b$ as LlmPrompt, c0 as LlmProvider, c1 as LlmSettings, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, c2 as ManifestValue, c3 as McpPathOptions, c4 as McpServerDef, c5 as McpServerHandle, c6 as McpServerXdo, m as MergeResult, c7 as MessageDeliverTo, c8 as MicroserviceChart, c9 as MicroserviceConfig, ca as MicroserviceContainer, cc as MicroserviceDeployment, cd as MicroserviceIngress, ce as MicroserviceRegistryAuth, cf as MicroserviceVolume, cg as MicroserviceXdo, ch as MiddlewareAttach, ci as MiddlewareAttachEntry, cj as MiddlewareDef, ck as MiddlewareXdo, O as ObjectKind, cl as OpenAiLlm, n as PayloadArrayKey, cm as QueryDef, cn as QueryFilterName, cp as QueryResponseType, cq as QueryXdo, cr as RealtimeActions, cs as RealtimeChannelActions, ct as RealtimeChannelDef, cu as RealtimeChannelHandle, cv as RealtimeChannelRef, cw as RealtimeChannelTriggerInputs, cx as RealtimeChannelXdo, cy as RealtimeClient, cz as RealtimeInputs, cA as RealtimeMessageDef, cB as RealtimeMessageXdo, cC as RealtimeServerActions, cD as RealtimeServerDef, cE as RealtimeServerHandle, cF as RealtimeServerRef, cG as RealtimeServerTriggerInputs, cH as RealtimeServerXdo, cI as RealtimeUrlOptions, R as RenameResult, cJ as ResultStrategy, cK as Route, cL as RowOf, cM as ScheduleDef, cN as SchemaCols, cO as SchemaDef, cP as SearchComparison, cQ as SearchGroup, cR as SearchNode, cS as SearchOp, cT as SearchParamValue, cU as SeedFileSource, cV as SeedRow, cW as SeedSource, cX as SortDir, S as StatementSpec, c_ as TableXdo, c$ as TaskDef, d0 as TaskXdo, d1 as ToolDef, d2 as ToolXdo, d3 as ToolsetBaseDef, d4 as ToolsetBaseXdo, d5 as ToolsetInputs, d6 as ToolsetToolEntry, d7 as ToolsetToolRef, d8 as TriggerDef, d9 as TriggerObjType, da as TriggerXdo, db as ViewDef, dc as ViewXdo, dd as WorkflowTestDef, de as WorkflowTestXdo, df as WorkspaceActions, dg as WorkspaceConfigDef, dh as WorkspaceConfigXdo, di as WorkspaceHistoryDef, dj as WorkspaceHistoryXdo, dk as WorkspaceInputs, dl as WorkspaceMiddlewareDef, dm as WorkspaceMiddlewareXdo, b2 as Xano, dn as XanoFreeLlm, dp as addon, dq as agent, dr as agentTrigger, ds as and, dt as apiGroup, du as assertLambdaBody, dv as bitwiseAnd, dw as bitwiseOr, dx as bitwiseXor, dy as cmp, dz as defineFunction, dA as emit, dB as emitBundle, dC as errorTrigger, dD as expr, dE as fl, dF as input, dG as knowledge, dH as knowledgeDir, dI as knowledgeFile, er as lam, dJ as mathAdd, dK as mathDiv, dL as mathMul, dM as mathSub, dN as mcpServer, dO as mcpServerTrigger, dP as microservice, dQ as middleware, dR as mixed, dS as objectEntries, dT as objectKeys, dU as objectValues, dV as or, dW as query, dX as realtimeChannel, dY as realtimeChannelTrigger, dZ as realtimeMessage, d_ as realtimeServer, d$ as realtimeServerTrigger, e0 as realtimeTrigger, e1 as resetLockOverrides, e2 as seedFile, e3 as seedLockOverrides, e4 as table, e5 as tableTrigger, e6 as task, e7 as textAppend, e8 as textPrepend, e9 as toSearchParams, ea as tool, eb as workflowTest, ec as workspace, ed as workspaceConfig, ee as workspaceTrigger } from './store-BLyNeQ8S.js';
3
+ import { y as StatementAnnotations, S as Statement, l as FromFieldMap, u as ObjValue, Y as Prettify, a1 as AsShapeBrand, X as XanoFileRef, z as StatementOptions, v as ObjectRef, O as ObjInput } from './response-BQVQ24l1.js';
4
+ export { B as BrandOpts, b as BrandValue, D as DecimalMethod, E as EmailMethod, c as FieldAccess, f as FieldDescriptor, h as FieldMap, j as FieldOpts, k as FieldStyleType, I as IntMethod, M as MethodArg, m as MethodOpts, n as MethodSpec, o as MockEntry, p as MockMap, q as MockXdo, s as ObjMember, P as PasswordMethod, w as ResponseDef, x as RowFromFieldMap, T as TableRefMethod, A as TextFormat, C as TextMethod, G as TypeBrand, V as ValueOf, H as VectorMethod, J as XanoGeoPosition, K as XanoGeoValue, L as annotate, N as f, Q as obj, U as statements } from './response-BQVQ24l1.js';
5
+ import { h as FilterXdo, V as Value, i as FilteredValue, R as RefValue, F as FunctionXdo } from './xdo-BjJj5W_E.js';
6
+ export { C as CacheXdo, a as CaughtField, b as ConditionalContext, c as ConditionalElifContext, E as ExprGroup, d as ExprNode, e as ExprOperand, f as ExprStatement, g as FieldXdo, H as HistoryXdo, I as InputXdo, L as ListBoundsXdo, M as MethodXdo, P as PersistedFunctionRow, j as RegexValue, k as ResultItemXdo, S as StackItemXdo, l as StatementInputXdo, T as TAGS, m as TEST_EXPECT_TYPES, n as Tag, o as TaggedValue, p as TestDef, q as TestExpect, r as TestExpectType, s as TestXdo, t as auth, u as c, v as caught, w as col, x as env, y as expect, z as filter, A as inp, B as out, D as ref, G as resp, J as setting, K as sys, N as test, O as toolset, Q as withFilters } from './xdo-BjJj5W_E.js';
5
7
 
6
8
  /** One `else if (when) { then }` branch of a {@link conditional}'s elif stack. */
7
9
  interface ConditionalElifArgs extends StatementAnnotations {
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  TEST_EXPECT_TYPES,
7
7
  expect
8
- } from "./chunk-5YQOIFT4.js";
8
+ } from "./chunk-G4EJMQLD.js";
9
9
  import {
10
10
  addon,
11
11
  agent,
@@ -17,7 +17,7 @@ import {
17
17
  task,
18
18
  tool,
19
19
  workflowTest
20
- } from "./chunk-7OXFMCTX.js";
20
+ } from "./chunk-QYMAZRAU.js";
21
21
  import {
22
22
  actionCall,
23
23
  actionPackageCall,
@@ -100,11 +100,11 @@ import {
100
100
  workflowTestCall,
101
101
  workspaceConfig,
102
102
  workspaceTrigger
103
- } from "./chunk-ZZLPTHT5.js";
103
+ } from "./chunk-UOZMSF4C.js";
104
104
  import {
105
105
  Xano,
106
106
  workspace
107
- } from "./chunk-UDL46O35.js";
107
+ } from "./chunk-OWGCOGKK.js";
108
108
  import {
109
109
  LAMBDA_BINDINGS,
110
110
  LAMBDA_CODE_FILTERS,
@@ -148,16 +148,17 @@ import {
148
148
  toSearchParams,
149
149
  toolset,
150
150
  withFilters
151
- } from "./chunk-QONOJO45.js";
151
+ } from "./chunk-QK7ZQJLP.js";
152
152
  import "./chunk-WHOJWOSV.js";
153
+ import {
154
+ resetLockOverrides,
155
+ seedLockOverrides
156
+ } from "./chunk-VAF6A3YD.js";
153
157
  import {
154
158
  annotate,
155
159
  statements
156
160
  } from "./chunk-5XZ744TS.js";
157
- import {
158
- resetLockOverrides,
159
- seedLockOverrides
160
- } from "./chunk-7JDT4PBU.js";
161
+ import "./chunk-OHX6MIUZ.js";
161
162
  export {
162
163
  LAMBDA_BINDINGS,
163
164
  LAMBDA_CODE_FILTERS,
@@ -0,0 +1,34 @@
1
+ import {
2
+ projectShellFiles,
3
+ resolveFromSource,
4
+ runInitCommand,
5
+ sanitizeAppName
6
+ } from "./chunk-4IF54NU5.js";
7
+ import {
8
+ resolveAiFlags
9
+ } from "./chunk-KA6G2L7U.js";
10
+ import "./chunk-ZSYZTGJH.js";
11
+ import "./chunk-YBC3IKMF.js";
12
+ import "./chunk-ANUDXFEX.js";
13
+ import "./chunk-Q77KNEUL.js";
14
+ import "./chunk-RCT7UX7B.js";
15
+ import "./chunk-CTD5ZCV6.js";
16
+ import "./chunk-XEOX6AM7.js";
17
+ import "./chunk-F6CYJ7TN.js";
18
+ import "./chunk-GNPVYOPB.js";
19
+ import "./chunk-EZG76F7R.js";
20
+ import "./chunk-OWGCOGKK.js";
21
+ import "./chunk-DIA7CT7J.js";
22
+ import "./chunk-QK7ZQJLP.js";
23
+ import "./chunk-WHOJWOSV.js";
24
+ import "./chunk-VAF6A3YD.js";
25
+ import "./chunk-5XZ744TS.js";
26
+ import "./chunk-OHX6MIUZ.js";
27
+ export {
28
+ projectShellFiles,
29
+ resolveAiFlags,
30
+ resolveFromSource,
31
+ runInitCommand,
32
+ sanitizeAppName
33
+ };
34
+ //# sourceMappingURL=init-command-NPVL32L6.js.map
@@ -8,29 +8,29 @@ import {
8
8
  step
9
9
  } from "./chunk-EZG76F7R.js";
10
10
 
11
- // src/emit/onboard-command.ts
12
- var ONBOARD_PACKAGE = "@xanots/onboard";
13
- function runOnboardCommand(tail) {
14
- const resolved = npmViewVersion(ONBOARD_PACKAGE);
11
+ // src/emit/init-web.ts
12
+ var CONFIGURATOR_PACKAGE = "@xanots/onboard";
13
+ function runInitWebCommand(tail) {
14
+ const resolved = npmViewVersion(CONFIGURATOR_PACKAGE);
15
15
  if (!resolved.ok) {
16
16
  throw new Error(
17
- `Could not resolve ${ONBOARD_PACKAGE} from the npm registry.
17
+ `Could not resolve ${CONFIGURATOR_PACKAGE} from the npm registry.
18
18
 
19
19
  ${condenseNpmError(resolved.stderr)}
20
20
 
21
21
  The configurator is downloaded on demand, so this step needs the registry. \`xanots init\` takes the same choices as flags instead \u2014 and \`--no-install\` skips the dependency install, which is the only other thing that reaches out.`
22
22
  );
23
23
  }
24
- step(`Launching ${ONBOARD_PACKAGE} ${resolved.version}`);
24
+ step(`Launching ${CONFIGURATOR_PACKAGE} ${resolved.version}`);
25
25
  detail(`It brings its own @xanots/sdk, which may differ from this one.`);
26
26
  const status = runNpm(
27
- ["exec", "-y", `${ONBOARD_PACKAGE}@latest`, "--", ...tail],
27
+ ["exec", "-y", `${CONFIGURATOR_PACKAGE}@latest`, "--", ...tail],
28
28
  process.cwd()
29
29
  );
30
30
  if (status !== 0) process.exitCode = status;
31
31
  }
32
32
  export {
33
- ONBOARD_PACKAGE,
34
- runOnboardCommand
33
+ CONFIGURATOR_PACKAGE,
34
+ runInitWebCommand
35
35
  };
36
- //# sourceMappingURL=onboard-command-EHOHKQQU.js.map
36
+ //# sourceMappingURL=init-web-3JNFG6GI.js.map
@@ -1,7 +1,7 @@
1
- import { F as FunctionXdo } from './response-CVAE2kMj.js';
2
- export { a as FIELD_METHODS, R as REFERENCEABLE_KINDS, d as deriveGuid, e as encodeResponse, b as encodeStatement, g as getStatementFactory, i as isRegisteredStatement, r as resolveRef, t as toNestedFields } from './response-CVAE2kMj.js';
3
- import { S as StatementSpec, F as FunctionDef, O as ObjectKind } from './store-CUCBSYLj.js';
4
- export { A as AdoptChange, a as AdoptResult, B as Bundle, b as BundlePayload, c as BundleType, d as FILTER_NAMES, G as GENERATED_STATEMENT_NAMES, K as KNOWLEDGE_DIR, e as KNOWLEDGE_FILE, L as LLMS_TXT, f as LOCK_VERSION, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, m as MergeResult, P as PAYLOAD_ARRAY_KEYS, n as PayloadArrayKey, Q as QUERY_EXPRESSION_FILTERS, R as RenameResult, T as TOTAL_OBJECT_KINDS, V as VECTOR_FILTERS, W as WORKSPACE_KEY, o as addonKind, p as adoptFromBundle, q as agentKind, r as apiGroupKind, s as buildBundle, t as buildManifest, u as buildMiddlewareBlock, v as buildWorkspaceHistory, w as calcSignatureJson, x as channelPathParams, y as createLockContext, z as declaredServicePorts, C as emptyLock, D as encodeAddon, E as encodeAgent, H as encodeApiGroup, I as encodeColumn, J as encodeContainerHistory, N as encodeFromSpec, U as encodeHistory, X as encodeIndex, Y as encodeKnowledge, Z as encodeMcpServer, _ as encodeMicroservice, $ as encodeMiddleware, a0 as encodeMiddlewareEntry, a1 as encodeMiddlewareList, a2 as encodeObject, a3 as encodeQuery, a4 as encodeRealtimeChannel, a5 as encodeRealtimeMessage, a6 as encodeRealtimeServer, a7 as encodeSchedule, a8 as encodeTable, a9 as encodeTask, aa as encodeTool, ab as encodeToolRefs, ac as encodeToolsetBase, ad as encodeTrigger, ae as encodeView, af as encodeWorkflowTest, ag as encodeWorkspaceConfig, ah as generatedStatements, ai as getKind, aj as getLockedCanonical, ak as getLockedGuid, al as isKnowledgeDirSource, am as isKnowledgeFileSource, an as isLockSeeded, ao as isQueryExpressionFilter, ap as isRegisteredKind, aq as knowledgeKind, ar as lockKey, as as mcpServerKind, at as mergeObserved, au as microserviceKind, av as middlewareKind, aw as mintCanonical, ax as parseLock, ay as phpJsonEncode, az as queryKind, aA as realtimeChannelGuid, aB as realtimeChannelKind, aC as realtimeMessageGuid, aD as realtimeMessageKind, aE as realtimeServerKind, aF as recordObserved, aG as registerKind, aH as registerSpec, aI as registeredKinds, aJ as renameLockEntry, aK as renderDocs, aL as renderLlmsTxt, aM as resolveAuthRef, aN as resolvePayloadKey, aO as resolveRealtimeServerCanonical, aP as resolveToolsetCanonical, aQ as serializeBundle, aR as serializeLock, aS as tableKind, aT as taskKind, aU as toolKind, aV as triggerKind, aW as validateLockModel, aX as workflowTestKind, aY as workspaceKind } from './store-CUCBSYLj.js';
1
+ export { F as FIELD_METHODS, R as REFERENCEABLE_KINDS, d as deriveGuid, e as encodeResponse, a as encodeStatement, g as getStatementFactory, i as isRegisteredStatement, r as resolveRef, t as toNestedFields } from './response-BQVQ24l1.js';
2
+ import { S as StatementSpec, F as FunctionDef, O as ObjectKind } from './store-BLyNeQ8S.js';
3
+ export { A as AdoptChange, a as AdoptResult, B as Bundle, b as BundlePayload, c as BundleType, d as FILTER_NAMES, G as GENERATED_STATEMENT_NAMES, K as KNOWLEDGE_DIR, e as KNOWLEDGE_FILE, L as LLMS_TXT, f as LOCK_VERSION, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, m as MergeResult, P as PAYLOAD_ARRAY_KEYS, n as PayloadArrayKey, Q as QUERY_EXPRESSION_FILTERS, R as RenameResult, T as TOTAL_OBJECT_KINDS, V as VECTOR_FILTERS, W as WORKSPACE_KEY, o as addonKind, p as adoptFromBundle, q as agentKind, r as apiGroupKind, s as buildBundle, t as buildManifest, u as buildMiddlewareBlock, v as buildWorkspaceHistory, w as calcSignatureJson, x as channelPathParams, y as createLockContext, z as declaredServicePorts, C as emptyLock, D as encodeAddon, E as encodeAgent, H as encodeApiGroup, I as encodeColumn, J as encodeContainerHistory, N as encodeFromSpec, U as encodeHistory, X as encodeIndex, Y as encodeKnowledge, Z as encodeMcpServer, _ as encodeMicroservice, $ as encodeMiddleware, a0 as encodeMiddlewareEntry, a1 as encodeMiddlewareList, a2 as encodeObject, a3 as encodeQuery, a4 as encodeRealtimeChannel, a5 as encodeRealtimeMessage, a6 as encodeRealtimeServer, a7 as encodeSchedule, a8 as encodeTable, a9 as encodeTask, aa as encodeTool, ab as encodeToolRefs, ac as encodeToolsetBase, ad as encodeTrigger, ae as encodeView, af as encodeWorkflowTest, ag as encodeWorkspaceConfig, ah as generatedStatements, ai as getKind, aj as getLockedCanonical, ak as getLockedGuid, al as isKnowledgeDirSource, am as isKnowledgeFileSource, an as isLockSeeded, ao as isQueryExpressionFilter, ap as isRegisteredKind, aq as knowledgeKind, ar as lockKey, as as mcpServerKind, at as mergeObserved, au as microserviceKind, av as middlewareKind, aw as mintCanonical, ax as parseLock, ay as phpJsonEncode, az as queryKind, aA as realtimeChannelGuid, aB as realtimeChannelKind, aC as realtimeMessageGuid, aD as realtimeMessageKind, aE as realtimeServerKind, aF as recordObserved, aG as registerKind, aH as registerSpec, aI as registeredKinds, aJ as renameLockEntry, aK as renderDocs, aL as renderLlmsTxt, aM as resolveAuthRef, aN as resolvePayloadKey, aO as resolveRealtimeServerCanonical, aP as resolveToolsetCanonical, aQ as serializeBundle, aR as serializeLock, aS as tableKind, aT as taskKind, aU as toolKind, aV as triggerKind, aW as validateLockModel, aX as workflowTestKind, aY as workspaceKind } from './store-BLyNeQ8S.js';
4
+ import { F as FunctionXdo } from './xdo-BjJj5W_E.js';
5
5
 
6
6
  /**
7
7
  * AUTO-GENERATED by scripts/codegen.ts — DO NOT EDIT BY HAND.