@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 @@
1
+ {"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../src/cli/client-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACV,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACzC,CAAA;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;gBAEW,MAAM,EAAE,mBAAmB;IAkBvC,OAAO,CAAC,QAAQ;IAaV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBvB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO;;;;;CAe/F"}
@@ -0,0 +1,60 @@
1
+ import { FrameworkClient, init, parseSchemaFromJSON, } from "@instantdb/core";
2
+ export class ClientRuntime {
3
+ constructor(params) {
4
+ this.appId = String(params.appId ?? "").trim();
5
+ this.refreshToken = String(params.refreshToken ?? "").trim();
6
+ this.apiURI = String(params.apiURI ?? "https://api.instantdb.com").trim();
7
+ if (!this.appId) {
8
+ throw new Error("ClientRuntime requires appId");
9
+ }
10
+ if (!this.refreshToken) {
11
+ throw new Error("ClientRuntime requires refreshToken");
12
+ }
13
+ this.env = {
14
+ appId: this.appId,
15
+ refreshToken: this.refreshToken,
16
+ };
17
+ }
18
+ createDb(schema) {
19
+ const parsedSchema = schema && typeof schema === "object"
20
+ ? parseSchemaFromJSON(schema)
21
+ : undefined;
22
+ return init({
23
+ appId: this.appId,
24
+ apiURI: this.apiURI,
25
+ useDateObjects: true,
26
+ ...(parsedSchema ? { schema: parsedSchema } : {}),
27
+ });
28
+ }
29
+ async verify() {
30
+ const response = await fetch(`${this.apiURI}/runtime/auth/verify_refresh_token`, {
31
+ method: "POST",
32
+ headers: {
33
+ "content-type": "application/json",
34
+ },
35
+ body: JSON.stringify({
36
+ "app-id": this.appId,
37
+ "refresh-token": this.refreshToken,
38
+ }),
39
+ });
40
+ if (!response.ok) {
41
+ throw new Error(`refresh_token_verify_failed:${response.status}`);
42
+ }
43
+ const data = (await response.json());
44
+ if (!data?.user) {
45
+ throw new Error("refresh_token_verify_failed");
46
+ }
47
+ return data.user;
48
+ }
49
+ async query(query, schema) {
50
+ const db = this.createDb(schema);
51
+ const client = new FrameworkClient({
52
+ db,
53
+ token: this.refreshToken,
54
+ });
55
+ const { query: coerced } = client.hashQuery(query);
56
+ const payload = await client.getTriplesAndAttrsForQuery(coerced);
57
+ return client.completeIsomorphic(payload.query, payload.triples, payload.attrs, payload.pageInfo);
58
+ }
59
+ }
60
+ //# sourceMappingURL=client-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../src/cli/client-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,IAAI,EACJ,mBAAmB,GAGpB,MAAM,iBAAiB,CAAA;AASxB,MAAM,OAAO,aAAa;IASxB,YAAY,MAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,2BAA2B,CAAC,CAAC,IAAI,EAAE,CAAA;QAEzE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,CAAC,GAAG,GAAG;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAA;IACH,CAAC;IAEO,QAAQ,CAAC,MAAkD;QACjE,MAAM,YAAY,GAChB,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAClC,CAAC,CAAC,mBAAmB,CAAC,MAAiC,CAAC;YACxD,CAAC,CAAC,SAAS,CAAA;QACf,OAAO,IAAI,CAAC;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI;YACpB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,oCAAoC,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,eAAe,EAAE,IAAI,CAAC,YAAY;aACnC,CAAC;SACH,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;QACvD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA8B,EAAE,MAAkD;QAC5F,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,YAAY;SACzB,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,kBAAkB,CAC9B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,QAAQ,CACjB,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { DomainCliSession } from "./types.js";
2
+ export declare function readCliSession(): Promise<DomainCliSession | null>;
3
+ export declare function writeCliSession(session: DomainCliSession): Promise<void>;
4
+ export declare function clearCliSession(): Promise<void>;
5
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAYlD,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWvE;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9E;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CASrD"}
@@ -0,0 +1,44 @@
1
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import { dirname, resolve } from "node:path";
3
+ import os from "node:os";
4
+ function resolveCliHome() {
5
+ const explicit = String(process.env.EKAIROS_DOMAIN_CLI_HOME ?? "").trim();
6
+ if (explicit)
7
+ return resolve(explicit);
8
+ return resolve(os.homedir(), ".ekairos");
9
+ }
10
+ function resolveCliConfigPath() {
11
+ return resolve(resolveCliHome(), "domain-cli.json");
12
+ }
13
+ export async function readCliSession() {
14
+ try {
15
+ const raw = await readFile(resolveCliConfigPath(), "utf8");
16
+ const parsed = JSON.parse(raw);
17
+ if (!parsed || typeof parsed !== "object")
18
+ return null;
19
+ if (parsed.version !== 1)
20
+ return null;
21
+ if (!parsed.baseUrl || !parsed.appId || !parsed.refreshToken)
22
+ return null;
23
+ return parsed;
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ export async function writeCliSession(session) {
30
+ const target = resolveCliConfigPath();
31
+ await mkdir(dirname(target), { recursive: true });
32
+ await writeFile(target, JSON.stringify(session, null, 2), "utf8");
33
+ }
34
+ export async function clearCliSession() {
35
+ await writeCliSession({
36
+ version: 1,
37
+ baseUrl: "",
38
+ appId: "",
39
+ refreshToken: "",
40
+ apiURI: "https://api.instantdb.com",
41
+ savedAt: new Date(0).toISOString(),
42
+ });
43
+ }
44
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,MAAM,SAAS,CAAA;AAIxB,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACzE,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtC,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,OAAO,CAAC,cAAc,EAAE,EAAE,iBAAiB,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA;QAClD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QACtD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY;YAAE,OAAO,IAAI,CAAA;QACzE,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAyB;IAC7D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAA;IACrC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,eAAe,CAAC;QACpB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;KACnC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,66 @@
1
+ export type CreateDomainAppProgressStage = "prepare-target" | "detect-package-manager" | "resolve-version" | "provision-instant" | "write-files" | "write-env" | "install" | "smoke" | "complete";
2
+ export type CreateDomainAppProgressEvent = {
3
+ stage: CreateDomainAppProgressStage;
4
+ status: "running" | "completed" | "log";
5
+ message: string;
6
+ progress?: number;
7
+ };
8
+ export type CreateDomainAppParams = {
9
+ directory: string;
10
+ framework: "next";
11
+ install: boolean;
12
+ template?: CreateDomainAppTemplate;
13
+ demo?: boolean;
14
+ force?: boolean;
15
+ packageManager?: string;
16
+ workspacePath?: string;
17
+ instantToken?: string;
18
+ orgId?: string;
19
+ appId?: string;
20
+ adminToken?: string;
21
+ smoke?: boolean;
22
+ keepServer?: boolean;
23
+ onKeepServer?: (server: {
24
+ unref: () => void;
25
+ }) => void;
26
+ onProgress?: (event: CreateDomainAppProgressEvent) => void | Promise<void>;
27
+ };
28
+ export type CreateDomainAppSmokeResult = {
29
+ ok: true;
30
+ baseUrl: string;
31
+ keepServer: boolean;
32
+ pid: number | null;
33
+ typecheck: true;
34
+ domainEndpoint: true;
35
+ inspect: {
36
+ entities: number;
37
+ actions: number;
38
+ };
39
+ launchedOrder: boolean;
40
+ query: {
41
+ inspections: number;
42
+ orders: number;
43
+ shipments: number;
44
+ };
45
+ };
46
+ export declare const CREATE_DOMAIN_APP_TEMPLATES: readonly ["empty", "supply-chain", "agent"];
47
+ export type CreateDomainAppTemplate = (typeof CREATE_DOMAIN_APP_TEMPLATES)[number];
48
+ export type CreateDomainAppResult = {
49
+ ok: true;
50
+ directory: string;
51
+ framework: "next";
52
+ template: CreateDomainAppTemplate;
53
+ installed: boolean;
54
+ packageManager: string;
55
+ provisioned: boolean;
56
+ appId: string | null;
57
+ adminToken: string | null;
58
+ adminTokenWritten: boolean;
59
+ envFile: string | null;
60
+ smoke: CreateDomainAppSmokeResult | null;
61
+ demo: boolean;
62
+ nextSteps: string[];
63
+ };
64
+ export declare function normalizeCreateAppTemplate(value: unknown): CreateDomainAppTemplate | null;
65
+ export declare function createDomainApp(params: CreateDomainAppParams): Promise<CreateDomainAppResult>;
66
+ //# sourceMappingURL=create-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/cli/create-app.ts"],"names":[],"mappings":"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"}