@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,440 @@
1
+ import { executeRuntimeAction, getRuntimeActions, getRuntimeConfig, getRuntimeProjectId, resolveRuntime, } from "../runtime.js";
2
+ import { getDomainActionBinding } from "../index.js";
3
+ import { createRemoteJWKSet, jwtVerify } from "jose";
4
+ function json(data, init) {
5
+ return Response.json(data, init);
6
+ }
7
+ function listKeys(value) {
8
+ if (!value || typeof value !== "object")
9
+ return [];
10
+ return Object.keys(value);
11
+ }
12
+ function resolveSource(config) {
13
+ return (config?.domain ?? null);
14
+ }
15
+ function buildSchema(source) {
16
+ if (!source)
17
+ return null;
18
+ if (typeof source.instantSchema === "function")
19
+ return source.instantSchema();
20
+ if (typeof source.toInstantSchema === "function")
21
+ return source.toInstantSchema();
22
+ if (typeof source.schema === "function")
23
+ return source.schema();
24
+ return {
25
+ entities: source.entities ?? {},
26
+ links: source.links ?? {},
27
+ rooms: source.rooms ?? {},
28
+ };
29
+ }
30
+ function buildContext(config, source) {
31
+ if (!source || typeof source.context !== "function")
32
+ return null;
33
+ return source.context({ meta: config?.meta });
34
+ }
35
+ function buildContextString(config, source) {
36
+ if (!source || typeof source.contextString !== "function")
37
+ return null;
38
+ return source.contextString({ meta: config?.meta });
39
+ }
40
+ function serializeActionSchema(value) {
41
+ if (value === undefined)
42
+ return undefined;
43
+ try {
44
+ return JSON.parse(JSON.stringify(value));
45
+ }
46
+ catch {
47
+ return undefined;
48
+ }
49
+ }
50
+ function resolveDomainActionKeyByName(source, actionName) {
51
+ if (!source || typeof source.getActions !== "function")
52
+ return null;
53
+ const actions = source.getActions();
54
+ for (const action of actions) {
55
+ const name = String(action?.name ?? "").trim();
56
+ if (name !== actionName)
57
+ continue;
58
+ const binding = getDomainActionBinding(action);
59
+ if (typeof binding?.key === "string" && binding.key.trim()) {
60
+ return binding.key.trim();
61
+ }
62
+ }
63
+ return null;
64
+ }
65
+ function listActions() {
66
+ const source = resolveSource(getRuntimeConfig());
67
+ return getRuntimeActions().map((action) => {
68
+ const binding = getDomainActionBinding(action);
69
+ return {
70
+ name: String(action.name ?? "").trim(),
71
+ key: typeof binding?.key === "string"
72
+ ? binding.key
73
+ : resolveDomainActionKeyByName(source, String(action.name ?? "").trim()),
74
+ description: typeof action.description === "string" ? action.description : null,
75
+ inputSchema: serializeActionSchema(action.inputSchema),
76
+ outputSchema: serializeActionSchema(action.outputSchema),
77
+ };
78
+ });
79
+ }
80
+ function resolveInstantAppId() {
81
+ return (String(process.env.EKAIROS_DOMAIN_APP_ID ?? "").trim() ||
82
+ String(process.env.NEXT_PUBLIC_INSTANT_APP_ID ?? "").trim() ||
83
+ String(process.env.INSTANT_APP_ID ?? "").trim() ||
84
+ String(process.env.INSTANTDB_APP_ID ?? "").trim() ||
85
+ null);
86
+ }
87
+ function resolveInstantApiUri() {
88
+ return (String(process.env.EKAIROS_DOMAIN_API_URI ?? "").trim() ||
89
+ String(process.env.INSTANT_API_URI ?? "").trim() ||
90
+ "https://api.instantdb.com");
91
+ }
92
+ const DEFAULT_OIDC_JWKS = "https://oidc.vercel.com/.well-known/jwks.json";
93
+ const DEFAULT_OIDC_ISSUER = "https://oidc.vercel.com";
94
+ const oidcJwksCache = new Map();
95
+ function parseOptionalBoolean(value) {
96
+ const normalized = String(value ?? "").trim().toLowerCase();
97
+ if (!normalized)
98
+ return undefined;
99
+ if (["1", "true", "yes", "y", "on"].includes(normalized))
100
+ return true;
101
+ if (["0", "false", "no", "n", "off"].includes(normalized))
102
+ return false;
103
+ return undefined;
104
+ }
105
+ function resolveBearerToken(req) {
106
+ const header = req.headers.get("authorization") || "";
107
+ if (!header.startsWith("Bearer "))
108
+ return null;
109
+ return header.slice("Bearer ".length).trim();
110
+ }
111
+ function resolveOidcJwksUrl() {
112
+ return String(process.env.EKAIROS_DOMAIN_JWKS_URL ?? "").trim() || DEFAULT_OIDC_JWKS;
113
+ }
114
+ function resolveOidcIssuer() {
115
+ return String(process.env.EKAIROS_DOMAIN_ISSUER ?? "").trim() || DEFAULT_OIDC_ISSUER;
116
+ }
117
+ function resolveOidcAudience() {
118
+ const explicit = String(process.env.EKAIROS_DOMAIN_AUDIENCE ?? "").trim();
119
+ return explicit || null;
120
+ }
121
+ function isAuthRequired() {
122
+ const explicit = parseOptionalBoolean(process.env.EKAIROS_DOMAIN_AUTH_REQUIRED);
123
+ if (explicit !== undefined)
124
+ return explicit;
125
+ return Boolean(process.env.EKAIROS_DOMAIN_TOKEN ||
126
+ process.env.EKAIROS_DOMAIN_JWKS_URL ||
127
+ process.env.EKAIROS_DOMAIN_ISSUER ||
128
+ process.env.EKAIROS_DOMAIN_AUDIENCE);
129
+ }
130
+ async function verifyOidcToken(token) {
131
+ if (!token)
132
+ return false;
133
+ const jwksUrl = resolveOidcJwksUrl();
134
+ const cached = oidcJwksCache.get(jwksUrl);
135
+ const jwks = cached ??
136
+ (() => {
137
+ const created = createRemoteJWKSet(new URL(jwksUrl));
138
+ oidcJwksCache.set(jwksUrl, created);
139
+ return created;
140
+ })();
141
+ const audience = resolveOidcAudience();
142
+ const options = {
143
+ issuer: resolveOidcIssuer(),
144
+ };
145
+ if (audience)
146
+ options.audience = audience;
147
+ await jwtVerify(token, jwks, options);
148
+ return true;
149
+ }
150
+ async function verifyRefreshToken(token, appId) {
151
+ const apiURI = resolveInstantApiUri();
152
+ try {
153
+ const response = await fetch(`${apiURI}/runtime/auth/verify_refresh_token`, {
154
+ method: "POST",
155
+ headers: {
156
+ "content-type": "application/json",
157
+ },
158
+ body: JSON.stringify({
159
+ "app-id": appId,
160
+ "refresh-token": token,
161
+ }),
162
+ });
163
+ if (!response.ok)
164
+ return null;
165
+ const data = (await response.json().catch(() => null));
166
+ const user = data?.user;
167
+ if (!user || typeof user.id !== "string")
168
+ return null;
169
+ return {
170
+ id: user.id,
171
+ email: typeof user.email === "string" ? user.email : null,
172
+ isGuest: Boolean(user.isGuest),
173
+ };
174
+ }
175
+ catch {
176
+ return null;
177
+ }
178
+ }
179
+ async function resolveAuth(req, body, source) {
180
+ const bearerToken = resolveBearerToken(req);
181
+ const appId = String(body?.appId ?? "").trim() ||
182
+ resolveInstantAppId() ||
183
+ null;
184
+ const auth = {
185
+ authorized: !isAuthRequired(),
186
+ bearerToken,
187
+ bearerType: null,
188
+ refreshUser: null,
189
+ appId,
190
+ };
191
+ if (!bearerToken) {
192
+ return auth;
193
+ }
194
+ const staticToken = String(process.env.EKAIROS_DOMAIN_TOKEN ?? "").trim();
195
+ if (staticToken && bearerToken === staticToken) {
196
+ auth.authorized = true;
197
+ auth.bearerType = "static";
198
+ return auth;
199
+ }
200
+ try {
201
+ const ok = await verifyOidcToken(bearerToken);
202
+ if (ok) {
203
+ auth.authorized = true;
204
+ auth.bearerType = "oidc";
205
+ return auth;
206
+ }
207
+ }
208
+ catch {
209
+ // ignore
210
+ }
211
+ if (appId) {
212
+ const user = await verifyRefreshToken(bearerToken, appId);
213
+ if (user) {
214
+ auth.authorized = true;
215
+ auth.bearerType = "refresh-token";
216
+ auth.refreshUser = user;
217
+ return auth;
218
+ }
219
+ }
220
+ return auth;
221
+ }
222
+ function resolveImpersonatedDb(db, auth, body) {
223
+ if (typeof db?.asUser !== "function") {
224
+ return db;
225
+ }
226
+ const asEmail = String(body?.asEmail ?? "").trim();
227
+ const asGuest = Boolean(body?.asGuest);
228
+ if (auth.bearerType === "refresh-token" && auth.bearerToken) {
229
+ return db.asUser({ token: auth.bearerToken });
230
+ }
231
+ if (asEmail) {
232
+ return db.asUser({ email: asEmail });
233
+ }
234
+ if (asGuest) {
235
+ return db.asUser({ guest: true });
236
+ }
237
+ return db;
238
+ }
239
+ function resolveActor(auth, body) {
240
+ if (auth.refreshUser) {
241
+ return auth.refreshUser;
242
+ }
243
+ const asEmail = String(body?.asEmail ?? "").trim();
244
+ if (asEmail) {
245
+ return { email: asEmail, id: null, isGuest: false };
246
+ }
247
+ if (Boolean(body?.asGuest)) {
248
+ return { id: null, email: null, isGuest: true };
249
+ }
250
+ return null;
251
+ }
252
+ function resolveSourceType(auth, body) {
253
+ if (auth.bearerType)
254
+ return auth.bearerType;
255
+ if (String(body?.asEmail ?? "").trim())
256
+ return "email";
257
+ if (Boolean(body?.asGuest))
258
+ return "guest";
259
+ if (Boolean(body?.admin))
260
+ return "admin";
261
+ return "admin";
262
+ }
263
+ function truncateQueryResult(result) {
264
+ const MAX_QUERY_ROWS = 50;
265
+ const output = {};
266
+ const truncation = {};
267
+ for (const [key, value] of Object.entries(result ?? {})) {
268
+ if (Array.isArray(value)) {
269
+ const total = value.length;
270
+ const returned = Math.min(total, MAX_QUERY_ROWS);
271
+ output[key] = value.slice(0, returned);
272
+ if (total > returned) {
273
+ truncation[key] = { returned, total };
274
+ }
275
+ continue;
276
+ }
277
+ output[key] = value;
278
+ }
279
+ return {
280
+ data: output,
281
+ truncated: Object.keys(truncation).length > 0 ? truncation : null,
282
+ };
283
+ }
284
+ function asRecord(value) {
285
+ return value && typeof value === "object" ? value : {};
286
+ }
287
+ function withActorEnv(env, auth) {
288
+ if (auth.bearerType !== "refresh-token" || !auth.refreshUser) {
289
+ return env;
290
+ }
291
+ return {
292
+ ...env,
293
+ ...(env.actorId ? {} : { actorId: auth.refreshUser.id }),
294
+ ...(env.actorEmail ? {} : { actorEmail: auth.refreshUser.email ?? null }),
295
+ ...(env.refreshToken ? {} : { refreshToken: auth.bearerToken }),
296
+ ...(env.appId ? {} : { appId: auth.appId }),
297
+ };
298
+ }
299
+ function createRouteRuntime(env, resolved, db) {
300
+ return {
301
+ env,
302
+ async db() {
303
+ return db;
304
+ },
305
+ async resolve() {
306
+ return {
307
+ db,
308
+ meta: resolved.meta,
309
+ };
310
+ },
311
+ meta: resolved.meta,
312
+ };
313
+ }
314
+ function resolveActionByAlias(name) {
315
+ const normalized = String(name ?? "").trim();
316
+ if (!normalized)
317
+ return null;
318
+ const actions = getRuntimeActions();
319
+ const source = resolveSource(getRuntimeConfig());
320
+ return (actions.find((action) => {
321
+ if (String(action.name ?? "").trim() === normalized)
322
+ return true;
323
+ const binding = getDomainActionBinding(action);
324
+ const key = typeof binding?.key === "string"
325
+ ? binding.key
326
+ : resolveDomainActionKeyByName(source, String(action.name ?? "").trim());
327
+ return typeof key === "string" && key === normalized;
328
+ }) ?? null);
329
+ }
330
+ export async function handleDomainCliGet(req) {
331
+ const config = getRuntimeConfig();
332
+ const source = resolveSource(config);
333
+ const auth = await resolveAuth(req, null, source);
334
+ if (!auth.authorized) {
335
+ return new Response("Unauthorized", { status: 401 });
336
+ }
337
+ const context = buildContext(config, source);
338
+ const schema = context?.schema ?? buildSchema(source);
339
+ const contextString = buildContextString(config, source);
340
+ return json({
341
+ ok: true,
342
+ mode: "full",
343
+ instant: {
344
+ appId: auth.appId,
345
+ apiURI: resolveInstantApiUri(),
346
+ projectId: getRuntimeProjectId() || null,
347
+ },
348
+ auth: {
349
+ required: isAuthRequired(),
350
+ supportsRefreshToken: Boolean(auth.appId),
351
+ supportsBearerToken: true,
352
+ },
353
+ domain: context ?? {
354
+ available: Boolean(source),
355
+ entities: listKeys(source?.entities),
356
+ links: listKeys(source?.links),
357
+ rooms: listKeys(source?.rooms),
358
+ meta: config?.meta ?? {},
359
+ },
360
+ schema,
361
+ contextString,
362
+ actions: listActions(),
363
+ });
364
+ }
365
+ export async function handleDomainCliPost(req) {
366
+ const config = getRuntimeConfig();
367
+ const source = resolveSource(config);
368
+ if (!source) {
369
+ return new Response("Runtime domain not configured", { status: 500 });
370
+ }
371
+ let body = null;
372
+ try {
373
+ body = await req.json();
374
+ }
375
+ catch {
376
+ body = null;
377
+ }
378
+ const op = String(body?.op ?? (body?.action ? "action" : "query")).trim();
379
+ const auth = await resolveAuth(req, body, source);
380
+ if (!auth.authorized) {
381
+ return new Response("Unauthorized", { status: 401 });
382
+ }
383
+ const env = withActorEnv(asRecord(body?.env), auth);
384
+ const resolved = await resolveRuntime(source, env);
385
+ const actor = resolveActor(auth, body);
386
+ const db = resolveImpersonatedDb(resolved.db, auth, body);
387
+ const sourceType = resolveSourceType(auth, body);
388
+ if (op === "action") {
389
+ const action = resolveActionByAlias(String(body?.action ?? ""));
390
+ if (!action) {
391
+ return json({
392
+ ok: false,
393
+ error: `runtime_action_not_found:${String(body?.action ?? "")}`,
394
+ }, { status: 404 });
395
+ }
396
+ try {
397
+ const runtime = createRouteRuntime(env, resolved, db);
398
+ const output = await executeRuntimeAction({
399
+ action,
400
+ runtime,
401
+ input: body?.input ?? {},
402
+ });
403
+ return json({
404
+ ok: true,
405
+ action: action.name,
406
+ output,
407
+ actor,
408
+ source: sourceType,
409
+ });
410
+ }
411
+ catch (error) {
412
+ return json({
413
+ ok: false,
414
+ error: error instanceof Error ? error.message : String(error),
415
+ actor,
416
+ }, { status: 500 });
417
+ }
418
+ }
419
+ const query = body?.query ?? null;
420
+ if (!query) {
421
+ return new Response("Missing query", { status: 400 });
422
+ }
423
+ try {
424
+ const result = await db.query(query);
425
+ return json({
426
+ ok: true,
427
+ actor,
428
+ source: sourceType,
429
+ ...truncateQueryResult(asRecord(result)),
430
+ });
431
+ }
432
+ catch (error) {
433
+ return json({
434
+ ok: false,
435
+ error: error instanceof Error ? error.message : String(error),
436
+ actor,
437
+ }, { status: 500 });
438
+ }
439
+ }
440
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/cli/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ export type DomainCliManifestAction = {
2
+ name: string;
3
+ key?: string | null;
4
+ description?: string | null;
5
+ inputSchema?: unknown;
6
+ outputSchema?: unknown;
7
+ };
8
+ export type DomainCliManifest = {
9
+ ok: true;
10
+ mode: "full";
11
+ instant: {
12
+ appId?: string | null;
13
+ apiURI?: string | null;
14
+ };
15
+ auth: {
16
+ required: boolean;
17
+ supportsRefreshToken: boolean;
18
+ supportsBearerToken: boolean;
19
+ };
20
+ domain: unknown;
21
+ schema?: unknown;
22
+ contextString?: string | null;
23
+ actions: DomainCliManifestAction[];
24
+ };
25
+ export type DomainCliQueryResponse = {
26
+ ok: boolean;
27
+ data?: unknown;
28
+ truncated?: Record<string, {
29
+ returned: number;
30
+ total: number;
31
+ }> | null;
32
+ error?: string;
33
+ status?: number;
34
+ actor?: {
35
+ id?: string | null;
36
+ email?: string | null;
37
+ isGuest?: boolean;
38
+ } | null;
39
+ source?: "admin" | "guest" | "email" | "refresh-token" | "static" | "oidc" | null;
40
+ };
41
+ export type DomainCliActionResponse = {
42
+ ok: boolean;
43
+ action?: string;
44
+ output?: unknown;
45
+ error?: string;
46
+ status?: number;
47
+ actor?: {
48
+ id?: string | null;
49
+ email?: string | null;
50
+ isGuest?: boolean;
51
+ } | null;
52
+ };
53
+ export type DomainCliSession = {
54
+ version: 1;
55
+ baseUrl: string;
56
+ appId: string;
57
+ refreshToken: string;
58
+ apiURI: string;
59
+ savedAt: string;
60
+ };
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACvB,CAAA;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAA;QACjB,oBAAoB,EAAE,OAAO,CAAA;QAC7B,mBAAmB,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,EAAE,uBAAuB,EAAE,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,GAAG,IAAI,CAAA;IACR,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,GAAG,IAAI,CAAA;CACT,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { CreateDomainAppParams, CreateDomainAppResult } from "./create-app.js";
2
+ export declare function runCreateAppInk(params: CreateDomainAppParams): Promise<CreateDomainAppResult>;
3
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/cli/ui.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qBAAqB,EAGrB,qBAAqB,EACtB,MAAM,iBAAiB,CAAA;AAgMxB,wBAAsB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BnG"}