@ekairos/domain 1.22.34-beta.development.0 → 1.22.35

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 (68) hide show
  1. package/README.md +260 -106
  2. package/SKILL.md +56 -0
  3. package/dist/cli/bin.d.ts +9 -0
  4. package/dist/cli/bin.d.ts.map +1 -0
  5. package/dist/cli/bin.js +609 -0
  6. package/dist/cli/bin.js.map +1 -0
  7. package/dist/cli/client-runtime.d.ts +25 -0
  8. package/dist/cli/client-runtime.d.ts.map +1 -0
  9. package/dist/cli/client-runtime.js +60 -0
  10. package/dist/cli/client-runtime.js.map +1 -0
  11. package/dist/cli/config.d.ts +5 -0
  12. package/dist/cli/config.d.ts.map +1 -0
  13. package/dist/cli/config.js +44 -0
  14. package/dist/cli/config.js.map +1 -0
  15. package/dist/cli/create-app.d.ts +66 -0
  16. package/dist/cli/create-app.d.ts.map +1 -0
  17. package/dist/cli/create-app.js +2948 -0
  18. package/dist/cli/create-app.js.map +1 -0
  19. package/dist/cli/http.d.ts +28 -0
  20. package/dist/cli/http.d.ts.map +1 -0
  21. package/dist/cli/http.js +113 -0
  22. package/dist/cli/http.js.map +1 -0
  23. package/dist/cli/index.d.ts +8 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +7 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/server.d.ts +3 -0
  28. package/dist/cli/server.d.ts.map +1 -0
  29. package/dist/cli/server.js +440 -0
  30. package/dist/cli/server.js.map +1 -0
  31. package/dist/cli/types.d.ts +61 -0
  32. package/dist/cli/types.d.ts.map +1 -0
  33. package/dist/cli/types.js +2 -0
  34. package/dist/cli/types.js.map +1 -0
  35. package/dist/cli/ui.d.ts +3 -0
  36. package/dist/cli/ui.d.ts.map +1 -0
  37. package/dist/cli/ui.js +138 -0
  38. package/dist/cli/ui.js.map +1 -0
  39. package/dist/context.test-runner.js +3 -1
  40. package/dist/context.test-runner.js.map +1 -1
  41. package/dist/domain-doc.d.ts +2 -0
  42. package/dist/domain-doc.d.ts.map +1 -1
  43. package/dist/domain-doc.js +14 -0
  44. package/dist/domain-doc.js.map +1 -1
  45. package/dist/index.d.ts +228 -28
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +397 -118
  48. package/dist/index.js.map +1 -1
  49. package/dist/next.d.ts +21 -21
  50. package/dist/next.d.ts.map +1 -1
  51. package/dist/next.js +213 -345
  52. package/dist/next.js.map +1 -1
  53. package/dist/polyfills/dom-events.d.ts +2 -0
  54. package/dist/polyfills/dom-events.d.ts.map +1 -0
  55. package/dist/polyfills/dom-events.js +92 -0
  56. package/dist/polyfills/dom-events.js.map +1 -0
  57. package/dist/runtime-handle.d.ts +45 -0
  58. package/dist/runtime-handle.d.ts.map +1 -0
  59. package/dist/runtime-handle.js +84 -0
  60. package/dist/runtime-handle.js.map +1 -0
  61. package/dist/runtime-step.d.ts.map +1 -1
  62. package/dist/runtime-step.js +2 -0
  63. package/dist/runtime-step.js.map +1 -1
  64. package/dist/runtime.d.ts +9 -8
  65. package/dist/runtime.d.ts.map +1 -1
  66. package/dist/runtime.js +80 -24
  67. package/dist/runtime.js.map +1 -1
  68. package/package.json +44 -7
@@ -0,0 +1,609 @@
1
+ #!/usr/bin/env node
2
+ import { readFile } from "node:fs/promises";
3
+ import { fileURLToPath } from "node:url";
4
+ import { stdin as input, stdout as output } from "node:process";
5
+ import readline from "node:readline/promises";
6
+ import JSON5 from "json5";
7
+ import { clearCliSession, fetchDomainManifest, normalizeBaseUrl, postDomainAction, postDomainQuery, readCliSession, writeCliSession, ClientRuntime, } from "./index.js";
8
+ import { createDomainApp, normalizeCreateAppTemplate } from "./create-app.js";
9
+ import { runCreateAppInk } from "./ui.js";
10
+ const DOMAIN_SKILL_PATH = fileURLToPath(new URL("../../SKILL.md", import.meta.url));
11
+ function printHelp(ctx) {
12
+ ctx.stdout.write([
13
+ "ekairos domain",
14
+ "",
15
+ "This programmatic CLI is executed by @ekairos/cli.",
16
+ `Skill: ${DOMAIN_SKILL_PATH}`,
17
+ "",
18
+ "Commands:",
19
+ " login <baseUrl> [--refreshToken=<token>] [--appId=<appId>]",
20
+ " create-app [dir] --next [--install] [--instantToken=<token>]",
21
+ " inspect [filter] [--baseUrl=<url>]",
22
+ " query <json5|@file|-> [--admin|--as-email <email>|--as-guest|--as-token <token>]",
23
+ " action <name> <json5|@file|-> [--env=<json5>] [--admin|--as-email <email>|--as-guest|--as-token <token>]",
24
+ " logout",
25
+ "",
26
+ "Input forms:",
27
+ " <json5> Inline JSON5, e.g. { tasks: { comments: {} } }",
28
+ " @file Read JSON5 from a file",
29
+ " - Read JSON5 from stdin",
30
+ "",
31
+ "Shorthand:",
32
+ " ekairos domain <actionKey> <json5|@file|-> [--env=<json5>]",
33
+ "",
34
+ "Output:",
35
+ " Stable JSON by default. Add --pretty for indented JSON.",
36
+ " create-app uses an interactive UI in TTY terminals.",
37
+ " Non-interactive create-app runs only when you pass --json, --plain, or --no-ui.",
38
+ "",
39
+ "Scaffold flags:",
40
+ " Run `ekairos create-app --help` for create-app flags.",
41
+ "",
42
+ ].join("\n"));
43
+ }
44
+ function printCreateAppHelp(ctx) {
45
+ ctx.stdout.write([
46
+ "ekairos create-app",
47
+ "",
48
+ `Skill: ${DOMAIN_SKILL_PATH}`,
49
+ "",
50
+ "Usage:",
51
+ " ekairos create-app [dir] --next [options]",
52
+ " ekairos create-app [dir] --framework=next [options]",
53
+ "",
54
+ "Interactive mode:",
55
+ " In a TTY, omit --next/--framework and the CLI asks which framework to use.",
56
+ "",
57
+ "Non-interactive mode:",
58
+ " Pass --json, --plain, or --no-ui explicitly.",
59
+ " Non-interactive runs must pass --next or --framework=next.",
60
+ "",
61
+ "Options:",
62
+ " --next, --framework=next Scaffold a Next.js app",
63
+ " --template=<name> Template: empty, supply-chain, or agent",
64
+ " --install / --no-install Install dependencies after writing files",
65
+ " --package-manager=<name> npm, pnpm, yarn, or bun",
66
+ " --instantToken=<token> Provision an Instant app and write .env.local",
67
+ " --appId=<id> Reuse an existing Instant app",
68
+ " --adminToken=<token> Reuse an existing Instant admin token",
69
+ " --orgId=<id> Provision under an Instant org",
70
+ " --workspace=<path> Use a local Ekairos workspace package",
71
+ " --force Replace a non-empty target directory",
72
+ " --demo Run the full supply-chain demo cycle",
73
+ " --smoke Typecheck, start Next, seed, and query the app",
74
+ " --keep-server With --smoke, leave the review server running",
75
+ " --json Print stable JSON and disable the interactive UI",
76
+ " --print-secrets Include secrets in JSON output; off by default",
77
+ "",
78
+ ].join("\n"));
79
+ }
80
+ function parseFlags(argv) {
81
+ const positionals = [];
82
+ const flags = new Map();
83
+ for (let index = 0; index < argv.length; index += 1) {
84
+ const arg = argv[index];
85
+ if (arg === "--") {
86
+ positionals.push(...argv.slice(index + 1));
87
+ break;
88
+ }
89
+ if (!arg.startsWith("--")) {
90
+ positionals.push(arg);
91
+ continue;
92
+ }
93
+ const raw = arg.slice(2);
94
+ if (!raw)
95
+ continue;
96
+ if (raw.startsWith("no-") && raw.length > 3) {
97
+ flags.set(raw.slice(3), false);
98
+ continue;
99
+ }
100
+ const separator = raw.indexOf("=");
101
+ if (separator >= 0) {
102
+ const name = raw.slice(0, separator);
103
+ const value = raw.slice(separator + 1);
104
+ flags.set(name, value);
105
+ continue;
106
+ }
107
+ const next = argv[index + 1];
108
+ if (next && !next.startsWith("--")) {
109
+ flags.set(raw, next);
110
+ index += 1;
111
+ continue;
112
+ }
113
+ flags.set(raw, true);
114
+ }
115
+ return { positionals, flags };
116
+ }
117
+ function flagValue(flags, names) {
118
+ for (const name of names) {
119
+ if (flags.has(name))
120
+ return flags.get(name);
121
+ }
122
+ return undefined;
123
+ }
124
+ function hasFlag(flags, names) {
125
+ const value = flagValue(flags, names);
126
+ return value === true || value === "true";
127
+ }
128
+ function shouldUseInteractiveCli(flags, ctx) {
129
+ return (ctx.stdout === output &&
130
+ ctx.stderr === output &&
131
+ Boolean(input.isTTY) &&
132
+ Boolean(output.isTTY) &&
133
+ !hasFlag(flags, ["json", "plain", "no-ui"]));
134
+ }
135
+ function hasHelpArg(args) {
136
+ return args.some((arg) => arg === "--help" || arg === "-h" || arg === "help");
137
+ }
138
+ function isExplicitNonInteractive(flags) {
139
+ return hasFlag(flags, ["json", "plain", "no-ui", "demo"]);
140
+ }
141
+ function asTrimmedString(value) {
142
+ return typeof value === "string" ? value.trim() : "";
143
+ }
144
+ function normalizeFramework(value) {
145
+ const normalized = value.trim().toLowerCase();
146
+ if (!normalized)
147
+ return "";
148
+ if (["next", "nextjs", "next.js"].includes(normalized))
149
+ return "next";
150
+ throw new Error(`Unsupported framework: ${value}. Supported framework: next.`);
151
+ }
152
+ function resolveFrameworkFlag(flags) {
153
+ if (hasFlag(flags, ["next"]))
154
+ return "next";
155
+ const framework = asTrimmedString(flagValue(flags, ["framework"]));
156
+ return normalizeFramework(framework);
157
+ }
158
+ async function promptCreateAppFramework() {
159
+ const rl = readline.createInterface({ input, output });
160
+ try {
161
+ const answer = await rl.question("Framework [Next.js]: ");
162
+ const framework = normalizeFramework(String(answer ?? "").trim() || "next");
163
+ if (framework !== "next") {
164
+ throw new Error(`Unsupported framework: ${framework}`);
165
+ }
166
+ return "next";
167
+ }
168
+ finally {
169
+ rl.close();
170
+ }
171
+ }
172
+ function createAppOutputData(result, flags) {
173
+ if (hasFlag(flags, ["print-secrets", "printSecrets"]))
174
+ return result;
175
+ const { adminToken: _adminToken, ...safeResult } = result;
176
+ return safeResult;
177
+ }
178
+ async function promptRefreshToken() {
179
+ const rl = readline.createInterface({ input, output });
180
+ try {
181
+ const value = await rl.question("Instant refresh token: ");
182
+ return String(value ?? "").trim();
183
+ }
184
+ finally {
185
+ rl.close();
186
+ }
187
+ }
188
+ function sortJsonValue(value) {
189
+ if (Array.isArray(value)) {
190
+ return value.map((entry) => sortJsonValue(entry));
191
+ }
192
+ if (!value || typeof value !== "object") {
193
+ return value;
194
+ }
195
+ const sorted = {};
196
+ for (const key of Object.keys(value).sort()) {
197
+ sorted[key] = sortJsonValue(value[key]);
198
+ }
199
+ return sorted;
200
+ }
201
+ function toJsonText(value, flags) {
202
+ const pretty = hasFlag(flags ?? new Map(), ["pretty"]);
203
+ const normalized = sortJsonValue(value);
204
+ return `${JSON.stringify(normalized, null, pretty ? 2 : 0)}\n`;
205
+ }
206
+ function writeJson(stream, value, flags) {
207
+ stream.write(toJsonText(value, flags));
208
+ }
209
+ async function flushCliOutput(stream) {
210
+ if (stream !== output)
211
+ return;
212
+ await new Promise((resolveFlush) => {
213
+ output.write("", () => resolveFlush());
214
+ });
215
+ }
216
+ async function readStdinText() {
217
+ let data = "";
218
+ for await (const chunk of input) {
219
+ data += typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8");
220
+ }
221
+ return data;
222
+ }
223
+ async function readInputText(raw) {
224
+ const source = String(raw ?? "").trim();
225
+ if (!source || source === "-") {
226
+ if (input.isTTY)
227
+ return "";
228
+ return await readStdinText();
229
+ }
230
+ if (source.startsWith("@")) {
231
+ const filePath = source.slice(1).trim();
232
+ if (!filePath) {
233
+ throw new Error("input file path is required after @");
234
+ }
235
+ return await readFile(filePath, "utf8");
236
+ }
237
+ return source;
238
+ }
239
+ async function parseJsonInput(raw, label) {
240
+ const text = String(await readInputText(raw)).trim();
241
+ if (!text)
242
+ return {};
243
+ try {
244
+ return JSON5.parse(text);
245
+ }
246
+ catch (error) {
247
+ throw new Error(`${label} must be valid JSON5: ${error instanceof Error ? error.message : String(error)}`);
248
+ }
249
+ }
250
+ async function resolveSession(flags) {
251
+ const stored = await readCliSession();
252
+ const baseUrlFlag = flagValue(flags, ["baseUrl", "base-url"]);
253
+ const appIdFlag = flagValue(flags, ["appId", "app-id"]);
254
+ const refreshTokenFlag = flagValue(flags, ["refreshToken", "refresh-token"]);
255
+ const apiURIFlag = flagValue(flags, ["apiURI", "api-uri"]);
256
+ const baseUrl = asTrimmedString(baseUrlFlag) ||
257
+ asTrimmedString(process.env.EKAIROS_DOMAIN_BASE_URL) ||
258
+ asTrimmedString(stored?.baseUrl);
259
+ return {
260
+ baseUrl: baseUrl ? normalizeBaseUrl(baseUrl) : "",
261
+ appId: asTrimmedString(appIdFlag) ||
262
+ asTrimmedString(process.env.EKAIROS_DOMAIN_APP_ID) ||
263
+ asTrimmedString(stored?.appId),
264
+ refreshToken: asTrimmedString(refreshTokenFlag) ||
265
+ asTrimmedString(process.env.EKAIROS_REFRESH_TOKEN) ||
266
+ asTrimmedString(stored?.refreshToken),
267
+ apiURI: asTrimmedString(apiURIFlag) ||
268
+ asTrimmedString(process.env.EKAIROS_DOMAIN_API_URI) ||
269
+ asTrimmedString(stored?.apiURI) ||
270
+ "https://api.instantdb.com",
271
+ };
272
+ }
273
+ function resolveAuthContext(flags, session) {
274
+ const asEmail = asTrimmedString(flagValue(flags, ["as-email", "asEmail"]));
275
+ const asToken = asTrimmedString(flagValue(flags, ["as-token", "asToken"])) || session.refreshToken;
276
+ const asGuest = hasFlag(flags, ["as-guest", "asGuest"]);
277
+ const admin = hasFlag(flags, ["admin"]);
278
+ const explicitContexts = [
279
+ admin ? "admin" : null,
280
+ asEmail ? "email" : null,
281
+ asGuest ? "guest" : null,
282
+ asTrimmedString(flagValue(flags, ["as-token", "asToken"])) ? "token" : null,
283
+ ].filter(Boolean);
284
+ if (explicitContexts.length > 1) {
285
+ throw new Error("Please specify exactly one context: --admin, --as-email <email>, --as-guest, or --as-token <token>");
286
+ }
287
+ if (admin)
288
+ return { mode: "admin" };
289
+ if (asEmail)
290
+ return { mode: "email", email: asEmail };
291
+ if (asGuest)
292
+ return { mode: "guest" };
293
+ if (asToken)
294
+ return { mode: "token", refreshToken: asToken };
295
+ return { mode: "admin" };
296
+ }
297
+ async function commandLogin(args, ctx) {
298
+ const { positionals, flags } = parseFlags(args);
299
+ const baseUrl = normalizeBaseUrl(positionals[0] ?? "");
300
+ let refreshToken = asTrimmedString(flagValue(flags, ["refreshToken", "refresh-token"])) ||
301
+ asTrimmedString(flagValue(flags, ["as-token", "asToken"])) ||
302
+ asTrimmedString(process.env.EKAIROS_REFRESH_TOKEN);
303
+ if (!refreshToken) {
304
+ refreshToken = await promptRefreshToken();
305
+ }
306
+ if (!refreshToken) {
307
+ throw new Error("refreshToken is required");
308
+ }
309
+ const manifest = await fetchDomainManifest({ baseUrl, refreshToken });
310
+ const appId = asTrimmedString(flagValue(flags, ["appId", "app-id"])) ||
311
+ asTrimmedString(manifest.instant.appId);
312
+ if (!appId) {
313
+ throw new Error("appId is required. Pass --appId=... or expose it from the domain endpoint.");
314
+ }
315
+ const runtime = new ClientRuntime({
316
+ appId,
317
+ refreshToken,
318
+ apiURI: asTrimmedString(manifest.instant.apiURI) || "https://api.instantdb.com",
319
+ });
320
+ const user = await runtime.verify();
321
+ await writeCliSession({
322
+ version: 1,
323
+ baseUrl,
324
+ appId,
325
+ refreshToken,
326
+ apiURI: runtime.apiURI,
327
+ savedAt: new Date().toISOString(),
328
+ });
329
+ writeJson(ctx.stdout, {
330
+ ok: true,
331
+ command: "login",
332
+ data: {
333
+ actions: manifest.actions.map((action) => action.key || action.name),
334
+ actor: {
335
+ email: user.email ?? null,
336
+ id: user.id,
337
+ isGuest: user.isGuest,
338
+ },
339
+ appId,
340
+ baseUrl,
341
+ entities: Array.isArray(manifest.domain?.entities)
342
+ ? manifest.domain.entities.length
343
+ : null,
344
+ },
345
+ }, flags);
346
+ }
347
+ async function commandInspect(args, ctx) {
348
+ const { positionals, flags } = parseFlags(args);
349
+ const session = await resolveSession(flags);
350
+ if (!session.baseUrl) {
351
+ throw new Error("baseUrl is required. Run login first or pass --baseUrl=<url>.");
352
+ }
353
+ const auth = resolveAuthContext(flags, session);
354
+ const manifest = await fetchDomainManifest({
355
+ baseUrl: session.baseUrl,
356
+ refreshToken: auth.mode === "token" ? auth.refreshToken : undefined,
357
+ });
358
+ const filter = String(positionals[0] ?? "").trim().toLowerCase();
359
+ const actions = manifest.actions.filter((action) => {
360
+ if (!filter)
361
+ return true;
362
+ return (String(action.name ?? "").toLowerCase().includes(filter) ||
363
+ String(action.key ?? "").toLowerCase().includes(filter));
364
+ });
365
+ writeJson(ctx.stdout, {
366
+ ok: true,
367
+ command: "inspect",
368
+ data: {
369
+ actions,
370
+ appId: manifest.instant.appId ?? session.appId,
371
+ auth: manifest.auth,
372
+ baseUrl: session.baseUrl,
373
+ contextString: manifest.contextString ?? null,
374
+ entities: manifest.domain?.entities ?? [],
375
+ links: manifest.domain?.links ?? [],
376
+ rooms: manifest.domain?.rooms ?? [],
377
+ },
378
+ }, flags);
379
+ }
380
+ async function commandCreateApp(args, ctx) {
381
+ if (hasHelpArg(args)) {
382
+ printCreateAppHelp(ctx);
383
+ return;
384
+ }
385
+ const { positionals, flags } = parseFlags(args);
386
+ const interactive = shouldUseInteractiveCli(flags, ctx);
387
+ const demo = hasFlag(flags, ["demo"]);
388
+ if (!interactive && !isExplicitNonInteractive(flags)) {
389
+ throw new Error("create-app non-interactive mode is explicit. Pass --json, --plain, or --no-ui.");
390
+ }
391
+ let framework = resolveFrameworkFlag(flags);
392
+ if (!framework && demo) {
393
+ framework = "next";
394
+ }
395
+ if (!framework && interactive) {
396
+ framework = await promptCreateAppFramework();
397
+ }
398
+ if (!framework) {
399
+ throw new Error("framework is required. Pass --next or --framework=next.");
400
+ }
401
+ const directory = String(positionals[0] ?? (demo ? "ekairos-supply-chain-demo" : ".")).trim() ||
402
+ (demo ? "ekairos-supply-chain-demo" : ".");
403
+ const template = normalizeCreateAppTemplate(flagValue(flags, ["template"]));
404
+ const install = flagValue(flags, ["install"]) !== false;
405
+ const keptServers = [];
406
+ const params = {
407
+ directory,
408
+ framework,
409
+ install,
410
+ template: template ?? undefined,
411
+ demo,
412
+ force: hasFlag(flags, ["force"]),
413
+ packageManager: asTrimmedString(flagValue(flags, ["packageManager", "package-manager"])) ||
414
+ (demo ? "pnpm" : ""),
415
+ workspacePath: asTrimmedString(flagValue(flags, ["workspace"])),
416
+ instantToken: asTrimmedString(flagValue(flags, ["instantToken", "instant-token"])) ||
417
+ asTrimmedString(process.env.INSTANT_PERSONAL_ACCESS_TOKEN) ||
418
+ asTrimmedString(process.env.INSTANTDB_PERSONAL_ACCESS_TOKEN) ||
419
+ asTrimmedString(process.env.INSTANT_PLATFORM_ACCESS_TOKEN),
420
+ orgId: asTrimmedString(flagValue(flags, ["orgId", "org-id"])),
421
+ appId: asTrimmedString(flagValue(flags, ["appId", "app-id"])),
422
+ adminToken: asTrimmedString(flagValue(flags, ["adminToken", "admin-token"])),
423
+ smoke: demo || hasFlag(flags, ["smoke"]),
424
+ keepServer: demo || hasFlag(flags, ["keep-server", "keepServer"]),
425
+ onKeepServer(server) {
426
+ keptServers.push(server.unref);
427
+ },
428
+ };
429
+ const result = interactive
430
+ ? await runCreateAppInk(params)
431
+ : await createDomainApp(params);
432
+ if (interactive) {
433
+ for (const unref of keptServers)
434
+ unref();
435
+ return;
436
+ }
437
+ writeJson(ctx.stdout, {
438
+ ok: true,
439
+ command: "create-app",
440
+ data: createAppOutputData(result, flags),
441
+ }, flags);
442
+ await flushCliOutput(ctx.stdout);
443
+ for (const unref of keptServers)
444
+ unref();
445
+ }
446
+ async function commandQuery(args, ctx) {
447
+ const { positionals, flags } = parseFlags(args);
448
+ const session = await resolveSession(flags);
449
+ if (!session.baseUrl) {
450
+ throw new Error("baseUrl is required. Run login first or pass --baseUrl=<url>.");
451
+ }
452
+ const query = (await parseJsonInput(positionals[0], "query"));
453
+ const envFlag = flagValue(flags, ["env"]);
454
+ const env = typeof envFlag === "string" && envFlag.trim()
455
+ ? (await parseJsonInput(envFlag, "env"))
456
+ : undefined;
457
+ const auth = resolveAuthContext(flags, session);
458
+ const envelope = hasFlag(flags, ["envelope", "meta"]);
459
+ const preferServer = auth.mode !== "token" || hasFlag(flags, ["remote"]);
460
+ if (!preferServer && session.appId) {
461
+ const manifest = await fetchDomainManifest({
462
+ baseUrl: session.baseUrl,
463
+ refreshToken: auth.refreshToken,
464
+ });
465
+ const runtime = new ClientRuntime({
466
+ appId: session.appId,
467
+ refreshToken: auth.refreshToken,
468
+ apiURI: session.apiURI,
469
+ });
470
+ const result = await runtime.query(query, manifest.schema);
471
+ const data = result && typeof result === "object" && "data" in result
472
+ ? result.data
473
+ : result;
474
+ writeJson(ctx.stdout, envelope ? { ok: true, source: "client", data } : data, flags);
475
+ return;
476
+ }
477
+ const result = await postDomainQuery({
478
+ baseUrl: session.baseUrl,
479
+ appId: session.appId || undefined,
480
+ refreshToken: auth.mode === "token" ? auth.refreshToken : undefined,
481
+ query,
482
+ env,
483
+ admin: auth.mode === "admin",
484
+ asEmail: auth.mode === "email" ? auth.email : undefined,
485
+ asGuest: auth.mode === "guest",
486
+ });
487
+ if (!result.ok) {
488
+ throw new Error(result.error || "domain_query_failed");
489
+ }
490
+ writeJson(ctx.stdout, envelope
491
+ ? {
492
+ ok: true,
493
+ source: "server",
494
+ data: result.data ?? {},
495
+ truncated: result.truncated ?? null,
496
+ }
497
+ : (result.data ?? {}), flags);
498
+ }
499
+ async function commandAction(actionName, args, ctx) {
500
+ const { positionals, flags } = parseFlags(args);
501
+ const session = await resolveSession(flags);
502
+ if (!session.baseUrl) {
503
+ throw new Error("baseUrl is required. Run login first or pass --baseUrl=<url>.");
504
+ }
505
+ const inputValue = await parseJsonInput(positionals[0], "action input");
506
+ const envFlag = flagValue(flags, ["env"]);
507
+ const env = typeof envFlag === "string" && envFlag.trim()
508
+ ? (await parseJsonInput(envFlag, "env"))
509
+ : undefined;
510
+ const auth = resolveAuthContext(flags, session);
511
+ const manifest = await fetchDomainManifest({
512
+ baseUrl: session.baseUrl,
513
+ refreshToken: auth.mode === "token" ? auth.refreshToken : undefined,
514
+ });
515
+ const resolvedActionName = manifest.actions.find((entry) => entry.name === actionName || String(entry.key ?? "") === actionName)?.name ?? actionName;
516
+ const result = await postDomainAction({
517
+ baseUrl: session.baseUrl,
518
+ appId: session.appId || undefined,
519
+ refreshToken: auth.mode === "token" ? auth.refreshToken : undefined,
520
+ action: resolvedActionName,
521
+ input: inputValue,
522
+ env,
523
+ admin: auth.mode === "admin",
524
+ asEmail: auth.mode === "email" ? auth.email : undefined,
525
+ asGuest: auth.mode === "guest",
526
+ });
527
+ if (!result.ok) {
528
+ throw new Error(result.error || "domain_action_failed");
529
+ }
530
+ writeJson(ctx.stdout, {
531
+ ok: true,
532
+ command: "action",
533
+ data: result,
534
+ }, flags);
535
+ }
536
+ async function commandLogout(args, ctx) {
537
+ const { flags } = parseFlags(args);
538
+ await clearCliSession();
539
+ writeJson(ctx.stdout, {
540
+ ok: true,
541
+ command: "logout",
542
+ data: { cleared: true },
543
+ }, flags);
544
+ }
545
+ export async function runCli(argv, ctx = { stdout: output, stderr: output }) {
546
+ const [command, ...rest] = argv;
547
+ try {
548
+ if (!command || command === "--help" || command === "-h") {
549
+ printHelp(ctx);
550
+ return 0;
551
+ }
552
+ if (command === "help") {
553
+ if (rest[0] === "create-app")
554
+ printCreateAppHelp(ctx);
555
+ else
556
+ printHelp(ctx);
557
+ return 0;
558
+ }
559
+ if (command === "login") {
560
+ await commandLogin(rest, ctx);
561
+ return 0;
562
+ }
563
+ if (command === "inspect") {
564
+ await commandInspect(rest, ctx);
565
+ return 0;
566
+ }
567
+ if (command === "create-app") {
568
+ await commandCreateApp(rest, ctx);
569
+ return 0;
570
+ }
571
+ if (command === "query") {
572
+ await commandQuery(rest, ctx);
573
+ return 0;
574
+ }
575
+ if (command === "action") {
576
+ const [actionName, ...args] = rest;
577
+ if (!actionName)
578
+ throw new Error("action name is required");
579
+ await commandAction(actionName, args, ctx);
580
+ return 0;
581
+ }
582
+ if (command === "logout") {
583
+ await commandLogout(rest, ctx);
584
+ return 0;
585
+ }
586
+ await commandAction(command, rest, ctx);
587
+ return 0;
588
+ }
589
+ catch (error) {
590
+ writeJson(ctx.stderr, {
591
+ ok: false,
592
+ error: error instanceof Error ? error.message : String(error),
593
+ }, new Map());
594
+ return 1;
595
+ }
596
+ }
597
+ const isDirectExecution = (() => {
598
+ const current = process.argv[1] ?? "";
599
+ const normalized = current.replace(/\\/g, "/");
600
+ const fileName = normalized.split("/").pop() ?? "";
601
+ return (current.endsWith("bin.js") ||
602
+ current.endsWith("bin.ts"));
603
+ })();
604
+ if (isDirectExecution) {
605
+ runCli(process.argv.slice(2)).then((code) => {
606
+ process.exitCode = code;
607
+ });
608
+ }
609
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type InstantSchemaDef, type User } from "@instantdb/core";
2
+ export type ClientRuntimeParams = {
3
+ appId: string;
4
+ refreshToken: string;
5
+ apiURI?: string;
6
+ schema?: InstantSchemaDef<any, any, any>;
7
+ };
8
+ export declare class ClientRuntime {
9
+ readonly appId: string;
10
+ readonly refreshToken: string;
11
+ readonly apiURI: string;
12
+ readonly env: {
13
+ appId: string;
14
+ refreshToken: string;
15
+ };
16
+ constructor(params: ClientRuntimeParams);
17
+ private createDb;
18
+ verify(): Promise<User>;
19
+ query(query: Record<string, unknown>, schema?: InstantSchemaDef<any, any, any> | unknown): Promise<{
20
+ data: any;
21
+ pageInfo?: any;
22
+ aggregate?: any;
23
+ }>;
24
+ }
25
+ //# sourceMappingURL=client-runtime.d.ts.map