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

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 (58) hide show
  1. package/README.md +123 -128
  2. package/dist/cli/bin.d.ts +9 -0
  3. package/dist/cli/bin.d.ts.map +1 -0
  4. package/dist/cli/bin.js +488 -0
  5. package/dist/cli/bin.js.map +1 -0
  6. package/dist/cli/client-runtime.d.ts +25 -0
  7. package/dist/cli/client-runtime.d.ts.map +1 -0
  8. package/dist/cli/client-runtime.js +60 -0
  9. package/dist/cli/client-runtime.js.map +1 -0
  10. package/dist/cli/config.d.ts +5 -0
  11. package/dist/cli/config.d.ts.map +1 -0
  12. package/dist/cli/config.js +44 -0
  13. package/dist/cli/config.js.map +1 -0
  14. package/dist/cli/create-app.d.ts +33 -0
  15. package/dist/cli/create-app.d.ts.map +1 -0
  16. package/dist/cli/create-app.js +1317 -0
  17. package/dist/cli/create-app.js.map +1 -0
  18. package/dist/cli/http.d.ts +28 -0
  19. package/dist/cli/http.d.ts.map +1 -0
  20. package/dist/cli/http.js +117 -0
  21. package/dist/cli/http.js.map +1 -0
  22. package/dist/cli/index.d.ts +8 -0
  23. package/dist/cli/index.d.ts.map +1 -0
  24. package/dist/cli/index.js +7 -0
  25. package/dist/cli/index.js.map +1 -0
  26. package/dist/cli/server.d.ts +3 -0
  27. package/dist/cli/server.d.ts.map +1 -0
  28. package/dist/cli/server.js +437 -0
  29. package/dist/cli/server.js.map +1 -0
  30. package/dist/cli/types.d.ts +60 -0
  31. package/dist/cli/types.d.ts.map +1 -0
  32. package/dist/cli/types.js +2 -0
  33. package/dist/cli/types.js.map +1 -0
  34. package/dist/cli/ui.d.ts +3 -0
  35. package/dist/cli/ui.d.ts.map +1 -0
  36. package/dist/cli/ui.js +136 -0
  37. package/dist/cli/ui.js.map +1 -0
  38. package/dist/index.d.ts +70 -11
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +121 -18
  41. package/dist/index.js.map +1 -1
  42. package/dist/next.d.ts +21 -21
  43. package/dist/next.d.ts.map +1 -1
  44. package/dist/next.js +212 -345
  45. package/dist/next.js.map +1 -1
  46. package/dist/polyfills/dom-events.d.ts +2 -0
  47. package/dist/polyfills/dom-events.d.ts.map +1 -0
  48. package/dist/polyfills/dom-events.js +92 -0
  49. package/dist/polyfills/dom-events.js.map +1 -0
  50. package/dist/runtime-handle.d.ts +34 -0
  51. package/dist/runtime-handle.d.ts.map +1 -0
  52. package/dist/runtime-handle.js +82 -0
  53. package/dist/runtime-handle.js.map +1 -0
  54. package/dist/runtime.d.ts +3 -2
  55. package/dist/runtime.d.ts.map +1 -1
  56. package/dist/runtime.js +72 -19
  57. package/dist/runtime.js.map +1 -1
  58. package/package.json +37 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { i } from "@instantdb/core";
2
+ import type { InstantAdminDatabase } from "@instantdb/admin";
2
3
  import type { EntitiesDef, LinksDef, RoomsDef, InstantSchemaDef, EntityDef } from "@instantdb/core";
3
4
  export { parseDomainDoc, renderDomainDoc, filterDomainDoc, type DomainDoc, type DomainDocEntity, type DomainDocSubdomain, type DomainDocSection, type DomainDocFilter, type DomainDocRenderOptions, type ParsedDomainDoc, } from "./domain-doc.js";
5
+ export { EkairosRuntime, type CompatibleRuntimeForDomain, type RuntimeLike, type ExplicitRuntimeLike, } from "./runtime-handle.js";
4
6
  type DomainIncludeRef = () => unknown;
5
7
  type DomainMeta = {
6
8
  name?: string;
@@ -22,23 +24,34 @@ export type DomainDocLoader = (input: {
22
24
  meta?: DomainMeta | null;
23
25
  }) => DomainDocInfo | null;
24
26
  export type DomainInclude = DomainInstance<any, any, any> | DomainSchemaResult<any, any, any> | InstantSchemaDef<any, any, any> | (() => DomainInstance<any, any, any> | DomainSchemaResult<any, any, any> | InstantSchemaDef<any, any, any> | undefined) | undefined;
25
- export type DomainActionExecuteParams<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Runtime = unknown> = {
27
+ export type DomainActionExecuteParams<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Runtime = unknown, Domain = unknown> = {
26
28
  env: Env;
27
29
  input: Input;
28
30
  runtime: Runtime;
29
- call: <NestedInput = unknown, NestedOutput = unknown>(action: DomainActionDefinition<Env, NestedInput, NestedOutput, Runtime>, input: NestedInput) => Promise<NestedOutput>;
30
31
  };
31
- export type DomainActionDefinition<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Output = unknown, Runtime = unknown> = {
32
+ export type DomainActionDefinition<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Output = unknown, Runtime = unknown, Domain = unknown> = {
32
33
  name?: string;
33
34
  description?: string;
34
35
  inputSchema?: unknown;
35
36
  requiredScopes?: string[];
36
- execute: (params: DomainActionExecuteParams<Env, Input, Runtime>) => Promise<Output> | Output;
37
- };
38
- export type DomainActionRegistration = DomainActionDefinition<any, any, any, any> & {
37
+ /**
38
+ * Domain actions are step-safe command units.
39
+ *
40
+ * Recommended pattern:
41
+ *
42
+ * `async execute({ runtime, input }) { "use step"; const domain = await runtime.use(myDomain); ... }`
43
+ *
44
+ * Action execution receives `env`, `input`, and `runtime`. If action logic
45
+ * needs a scoped domain handle, reconstruct it locally with
46
+ * `await runtime.use(exportedDomain)`. `"use workflow"` inside `execute(...)`
47
+ * is intentionally out of scope.
48
+ */
49
+ execute: (params: DomainActionExecuteParams<Env, Input, Runtime, Domain>) => Promise<Output> | Output;
50
+ };
51
+ export type DomainActionRegistration<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Output = unknown, Runtime = unknown, Domain = unknown> = DomainActionDefinition<Env, Input, Output, Runtime, Domain> & {
39
52
  name: string;
40
53
  };
41
- export type DomainActionLike = DomainActionDefinition<any, any, any, any> | ((params: DomainActionExecuteParams<any, any, any>) => unknown);
54
+ export type DomainActionLike = DomainActionDefinition<any, any, any, any, any> | ((params: DomainActionExecuteParams<any, any, any, any>) => unknown);
42
55
  export type DomainActionCollection = Record<string, DomainActionLike> | DomainActionLike[] | DomainActionRegistration[];
43
56
  export declare function configureDomainDocLoader(loader?: DomainDocLoader | null): void;
44
57
  export type DomainContextEntry = {
@@ -70,6 +83,7 @@ export type DomainInstance<E extends EntitiesDef, L extends LinksDef<E>, R exten
70
83
  meta?: Record<string, unknown>;
71
84
  };
72
85
  export type SchemaOf<D extends DomainDefinition<any, any, any> | DomainSchemaResult<any, any, any>> = D extends DomainSchemaResult<any, any, any> ? ReturnType<D["toInstantSchema"]> : InstantSchemaDef<D["entities"], LinksDef<D["entities"]>, D["rooms"]>;
86
+ export type DomainDbFor<D extends DomainDefinition<any, any, any> | DomainSchemaResult<any, any, any>> = InstantAdminDatabase<SchemaOf<D>, true>;
73
87
  type EntitiesOf<S> = S extends InstantSchemaDef<infer E, any, any> ? E : never;
74
88
  type LinksOf<S> = S extends InstantSchemaDef<any, infer L, any> ? L : never;
75
89
  /**
@@ -101,6 +115,20 @@ export type CompatibleSchemaForDomain<S extends InstantSchemaDef<any, any, any>,
101
115
  type Simplify<T> = {
102
116
  [K in keyof T]: T[K];
103
117
  } & {};
118
+ type DomainActionMap = Record<string, DomainActionRegistration<any, any, any, any, any>>;
119
+ type InferActionRegistrationFromLike<Value, Key extends string> = Value extends DomainActionDefinition<infer Env, infer Input, infer Output, infer Runtime, infer Domain> ? DomainActionRegistration<Env, Input, Output, Runtime, Domain> : Value extends (params: DomainActionExecuteParams<infer Env, infer Input, infer Runtime, infer Domain>) => infer Output ? DomainActionRegistration<Env, Input, Awaited<Output>, Runtime, Domain> : DomainActionRegistration;
120
+ type ActionMapFromCollection<Input> = Input extends Record<string, any> ? {
121
+ [K in keyof Input & string]: InferActionRegistrationFromLike<Input[K], K>;
122
+ } : {};
123
+ type MergeActionMaps<Current extends DomainActionMap, Next extends DomainActionMap> = Simplify<Omit<Current, keyof Next> & Next>;
124
+ type ActionMapOf<D> = D extends {
125
+ readonly __actionMap?: infer Actions;
126
+ } ? NonNullable<Actions> : {};
127
+ type ActionInputOf<Action> = Action extends DomainActionDefinition<any, infer Input, any, any, any> ? Input : never;
128
+ type ActionOutputOf<Action> = Action extends DomainActionDefinition<any, any, infer Output, any, any> ? Awaited<Output> : never;
129
+ type DomainActionMethods<Actions extends DomainActionMap> = {
130
+ [K in keyof Actions]: (input: ActionInputOf<Actions[K]>) => Promise<ActionOutputOf<Actions[K]>>;
131
+ };
104
132
  type StripEntityLinks<E extends EntitiesDef> = {
105
133
  [K in keyof E]: E[K] extends EntityDef<infer Attrs, any, infer AsType> ? EntityDef<Attrs, {}, AsType> : E[K];
106
134
  };
@@ -110,15 +138,23 @@ type MergeEntities<A extends EntitiesDef, B extends EntitiesDef> = Simplify<{
110
138
  type MergeLinks<A extends LinksDef<any>, B extends LinksDef<any>> = Simplify<{
111
139
  [K in keyof A | keyof B]: K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
112
140
  }>;
113
- export type DomainSchemaResult<E extends EntitiesDef = EntitiesDef, L extends LinksDef<any> = LinksDef<any>, R extends RoomsDef = RoomsDef> = ReturnType<typeof i.schema<WithBase<E>, L, R>> & {
141
+ export type DomainSchemaResult<E extends EntitiesDef = EntitiesDef, L extends LinksDef<any> = LinksDef<any>, R extends RoomsDef = RoomsDef, Actions extends DomainActionMap = {}> = ReturnType<typeof i.schema<WithBase<E>, L, R>> & {
114
142
  readonly originalEntities: E;
143
+ readonly __actionMap?: Actions;
115
144
  toInstantSchema: () => ReturnType<typeof i.schema<WithBase<E>, L, R>>;
116
145
  context: (options?: DomainContextOptions) => DomainContext;
117
146
  contextString: (options?: DomainContextOptions) => string;
118
- fromDB: <DB = any>(db: DB) => ConcreteDomain<DomainSchemaResult<E, L, R>, DB>;
147
+ fromDB: <DB = any>(db: DB, bindings?: {
148
+ env?: unknown;
149
+ runtime?: unknown;
150
+ }) => ConcreteDomain<DomainSchemaResult<E, L, R, Actions>, DB>;
119
151
  meta?: Record<string, unknown>;
120
- actions: (actions: DomainActionCollection) => DomainSchemaResult<E, L, R>;
152
+ actions: {
153
+ <Input extends Record<string, DomainActionLike>>(actions: Input): DomainSchemaResult<E, L, R, MergeActionMaps<Actions, ActionMapFromCollection<Input>>>;
154
+ (actions: DomainActionLike[] | DomainActionRegistration[]): DomainSchemaResult<E, L, R, Actions>;
155
+ };
121
156
  getActions: () => DomainActionRegistration[];
157
+ getActionMap: () => Actions;
122
158
  };
123
159
  export type ConcreteDomain<D extends DomainSchemaResult = DomainSchemaResult, DB = any> = {
124
160
  domain: D;
@@ -126,8 +162,11 @@ export type ConcreteDomain<D extends DomainSchemaResult = DomainSchemaResult, DB
126
162
  schema: ReturnType<D["toInstantSchema"]>;
127
163
  context: (options?: DomainContextOptions) => DomainContext;
128
164
  contextString: (options?: DomainContextOptions) => string;
129
- fromDomain: <SubD extends DomainSchemaResult>(subdomain: SubD) => ConcreteDomain<SubD, DB>;
130
165
  };
166
+ export type ActiveDomain<D extends DomainSchemaResult = DomainSchemaResult, Env = unknown, Bound extends boolean = true> = ConcreteDomain<D, DomainDbFor<D>> & (Bound extends true ? {
167
+ env: Env;
168
+ actions: DomainActionMethods<ActionMapOf<D>>;
169
+ } : {});
131
170
  type BaseEntitiesPhantom = {
132
171
  $users: EntityDef<any, any, any>;
133
172
  $files: EntityDef<any, any, any>;
@@ -142,13 +181,33 @@ export type DomainBuilder<AccumE extends EntitiesDef, AccumL extends LinksDef<an
142
181
  rooms: RoomsDef;
143
182
  }): DomainSchemaResult<MergeEntities<AccumE, LE>, MergeLinks<AccumL, LL>, RoomsDef>;
144
183
  };
184
+ export declare function materializeDomain<SubD extends DomainSchemaResult>(params: {
185
+ rootDomain: DomainSchemaResult;
186
+ subdomain: SubD;
187
+ db: DomainDbFor<SubD>;
188
+ bindings?: {
189
+ env?: unknown;
190
+ runtime?: unknown;
191
+ };
192
+ }): ActiveDomain<SubD, unknown>;
145
193
  export declare function domain<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef>(def: DomainDefinition<E, L, R>): DomainInstance<E, L, R>;
146
194
  export declare function domain(name?: string | DomainConstructorOptions): DomainBuilder<{}, {}>;
147
195
  export declare function composeDomain(name: string | DomainConstructorOptions, includes?: DomainInclude[]): DomainSchemaResult<any, any, any>;
196
+ /**
197
+ * Define a domain action without changing the public action contract.
198
+ *
199
+ * Convention for new actions:
200
+ *
201
+ * `async execute({ runtime, input }) { "use step"; const domain = await runtime.use(myDomain); ... }`
202
+ *
203
+ * Actions remain callable directly, from nested `runtime.use(domain).actions.*`
204
+ * composition, and from higher-level workflows that orchestrate them.
205
+ */
148
206
  export declare function defineDomainAction<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Output = unknown, Runtime = unknown>(action: DomainActionDefinition<Env, Input, Output, Runtime>): DomainActionDefinition<Env, Input, Output, Runtime>;
149
207
  export declare function getDomainActions(source: unknown): DomainActionRegistration[];
150
208
  export declare function getDomainActionBinding(source: unknown): {
151
209
  name: string;
152
210
  domain: unknown;
211
+ key?: string;
153
212
  } | null;
154
213
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOpG,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,gBAAgB,GAAG,MAAM,OAAO,CAAC;AAEtC,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B,KAAK,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,aAAa,GACrB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC7B,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GACvH,SAAS,CAAC;AAEd,MAAM,MAAM,yBAAyB,CACnC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,GAAG,OAAO,EACf,OAAO,GAAG,OAAO,IACf;IACF,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,EAClD,MAAM,EAAE,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,EACvE,KAAK,EAAE,WAAW,KACf,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAChC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,IACf;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,CACP,MAAM,EAAE,yBAAyB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KACnD,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;IAClF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC1C,CAAC,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAChC,gBAAgB,EAAE,GAClB,wBAAwB,EAAE,CAAC;AAI/B,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,QAEvE;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AASF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI,wBAAwB,GAAG;IAC1H,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACzH,MAAM,EAAE,MAAM,GAAG,CAAC;IAClB,OAAO,EAAE,CAAC,EAAE,SAAS,WAAW,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,QAAQ,EAC5E,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAC7D,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAChG,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAChC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAI3E,KAAK,UAAU,CAAC,CAAC,IACf,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D,KAAK,OAAO,CAAC,CAAC,IACZ,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D;;;GAGG;AACH,KAAK,oBAAoB,CACvB,IAAI,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,QAAQ,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAGhD;KACG,CAAC,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,GAC9B,CAAC,SAAS,MAAM,UAAU,CAAC,IAAI,CAAC,GAC5B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,GACvE,KAAK;CACZ,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,KAAK,GACvC,CAEE;KACG,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC3B,CAAC,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,GACzB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,GACjE,KAAK;CACZ,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,KAAK,GACpC,IAAI,GACJ,KAAK,CACV,GACD,KAAK,CAAC;AAGZ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACzC,cAAc,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACxH,oBAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AAOtD,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAGjD,KAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,GAClE,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,GAC5B,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAGF,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,IAAI,QAAQ,CAAC;KACzE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtB,CAAC,SAAS,MAAM,CAAC,GACf,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtB,KAAK;CACZ,CAAC,CAAC;AAGH,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;KAC1E,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC,CAAC;AAoBH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,IACxI,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;IAG/C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE7B,eAAe,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,aAAa,CAAC;IAE3D,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAE1D,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,cAAc,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,OAAO,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1E,UAAU,EAAE,MAAM,wBAAwB,EAAE,CAAC;CAC9C,CAAC;AAEJ,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,EAAE,GAAG,GAAG,IAAI;IACxF,MAAM,EAAE,CAAC,CAAC;IACV,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,aAAa,CAAC;IAC3D,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC1D,UAAU,EAAE,CAAC,IAAI,SAAS,kBAAkB,EAAE,SAAS,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;CAC5F,CAAC;AAKF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACpC,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAQ7E,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI;IAEpG,QAAQ,CACN,EAAE,SAAS,WAAW,EACtB,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAE7B,KAAK,EACD,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC3B,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC/B,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC7B,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GACrG,SAAS,GACZ,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAMpE,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;QAClG,QAAQ,EAAE,EAAE,CAAC;QACb,KAAK,EAAE,EAAE,CAAC;QACV,KAAK,EAAE,QAAQ,CAAC;KACjB,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;CACrF,CAAC;AA2fF,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,EACrF,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAG3B,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,wBAAwB,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AA8RxF,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,wBAAwB,EACvC,QAAQ,GAAE,aAAa,EAAO,GAC7B,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAMnC;AAED,wBAAgB,kBAAkB,CAChC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EAEjB,MAAM,EAAE,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAC1D,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAErD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,wBAAwB,EAAE,CAE5E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAEhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import { i } from "@instantdb/core";
2
2
  import { filterDomainDoc, parseDomainDoc, renderDomainDoc, } from "./domain-doc.js";
3
3
  export { parseDomainDoc, renderDomainDoc, filterDomainDoc, } from "./domain-doc.js";
4
+ export { EkairosRuntime, } from "./runtime-handle.js";
4
5
  let domainDocLoader = null;
5
6
  export function configureDomainDocLoader(loader) {
6
7
  domainDocLoader = loader ?? null;
7
8
  }
8
9
  const EKAIROS_META = Symbol.for("@ekairos/domain/meta");
9
10
  const EKAIROS_ACTIONS = Symbol.for("@ekairos/domain/actions");
11
+ const EKAIROS_ACTION_MAP = Symbol.for("@ekairos/domain/action-map");
10
12
  const EKAIROS_ACTION_BINDING = Symbol.for("@ekairos/domain/action-binding");
13
+ const EKAIROS_ACTION_STACK = Symbol.for("@ekairos/domain/action-stack");
11
14
  function getMeta(source) {
12
15
  if (!source || typeof source !== "object")
13
16
  return null;
@@ -22,7 +25,12 @@ function getActionBinding(source) {
22
25
  const name = typeof binding.name === "string" ? binding.name.trim() : "";
23
26
  if (!name)
24
27
  return null;
25
- return { name, domain: binding.domain };
28
+ const key = typeof binding.key === "string" ? binding.key.trim() : "";
29
+ return {
30
+ name,
31
+ domain: binding.domain,
32
+ ...(key ? { key } : {}),
33
+ };
26
34
  }
27
35
  function bindAction(action, params) {
28
36
  const registration = {
@@ -33,6 +41,7 @@ function bindAction(action, params) {
33
41
  value: {
34
42
  name: params.name,
35
43
  domain: params.domain,
44
+ key: params.key,
36
45
  },
37
46
  enumerable: false,
38
47
  configurable: false,
@@ -51,6 +60,14 @@ function getStoredActions(source) {
51
60
  typeof entry.name === "string" &&
52
61
  typeof entry.execute === "function");
53
62
  }
63
+ function getStoredActionMap(source) {
64
+ if (!source || typeof source !== "object")
65
+ return {};
66
+ const raw = source[EKAIROS_ACTION_MAP];
67
+ if (!raw || typeof raw !== "object")
68
+ return {};
69
+ return raw;
70
+ }
54
71
  function setStoredActions(source, actions) {
55
72
  if (!source || typeof source !== "object")
56
73
  return;
@@ -62,6 +79,34 @@ function setStoredActions(source, actions) {
62
79
  writable: true,
63
80
  });
64
81
  }
82
+ function setStoredActionMap(source, actionMap) {
83
+ if (!source || typeof source !== "object")
84
+ return;
85
+ Object.defineProperty(source, EKAIROS_ACTION_MAP, {
86
+ value: Object.freeze({ ...actionMap }),
87
+ enumerable: false,
88
+ configurable: true,
89
+ writable: true,
90
+ });
91
+ }
92
+ function readRuntimeActionStack(runtime) {
93
+ if (!runtime || typeof runtime !== "object")
94
+ return [];
95
+ const stack = runtime[EKAIROS_ACTION_STACK];
96
+ return Array.isArray(stack) ? [...stack] : [];
97
+ }
98
+ function cloneRuntimeWithActionStack(runtime, stack) {
99
+ if (!runtime || typeof runtime !== "object")
100
+ return runtime;
101
+ const scoped = Object.assign(Object.create(Object.getPrototypeOf(runtime)), runtime);
102
+ Object.defineProperty(scoped, EKAIROS_ACTION_STACK, {
103
+ value: [...stack],
104
+ enumerable: false,
105
+ configurable: true,
106
+ writable: true,
107
+ });
108
+ return scoped;
109
+ }
65
110
  function normalizeActionLike(value, params) {
66
111
  const action = typeof value === "function"
67
112
  ? { execute: value }
@@ -76,16 +121,27 @@ function normalizeActionLike(value, params) {
76
121
  throw new Error(`Domain action is missing a name: ${params.fallbackName}`);
77
122
  }
78
123
  const domain = bound?.domain ?? params.domain;
79
- return bindAction(action, { name, domain });
124
+ return bindAction(action, { name, domain, key: params.key ?? params.fallbackName });
80
125
  }
81
126
  function normalizeActionCollection(source, input) {
82
127
  const current = getStoredActions(source);
128
+ const currentActionMap = getStoredActionMap(source);
83
129
  const byName = new Set(current.map((action) => action.name));
130
+ const byKey = new Set(Object.keys(currentActionMap));
84
131
  const normalized = [];
85
- const push = (candidate) => {
132
+ const actionMap = {};
133
+ const push = (candidate, key) => {
86
134
  if (byName.has(candidate.name)) {
87
135
  throw new Error(`Duplicate domain action name: ${candidate.name}`);
88
136
  }
137
+ const localKey = String(key ?? candidate?.name ?? "").trim();
138
+ if (localKey) {
139
+ if (byKey.has(localKey)) {
140
+ throw new Error(`Duplicate domain action key: ${localKey}`);
141
+ }
142
+ byKey.add(localKey);
143
+ actionMap[localKey] = candidate;
144
+ }
89
145
  byName.add(candidate.name);
90
146
  normalized.push(candidate);
91
147
  };
@@ -97,18 +153,19 @@ function normalizeActionCollection(source, input) {
97
153
  : "",
98
154
  domain: source,
99
155
  });
100
- push(normalizedEntry);
156
+ push(normalizedEntry, normalizedEntry?.name);
101
157
  }
102
- return normalized;
158
+ return { actions: normalized, actionMap };
103
159
  }
104
160
  for (const [key, value] of Object.entries(input ?? {})) {
105
161
  const normalizedEntry = normalizeActionLike(value, {
106
162
  fallbackName: key,
107
163
  domain: source,
164
+ key,
108
165
  });
109
- push(normalizedEntry);
166
+ push(normalizedEntry, key);
110
167
  }
111
- return normalized;
168
+ return { actions: normalized, actionMap };
112
169
  }
113
170
  function attachMeta(target, meta) {
114
171
  Object.defineProperty(target, EKAIROS_META, {
@@ -223,22 +280,51 @@ function assertSchemaIncludes(fullSchema, requiredSchema) {
223
280
  throw new Error(`ConcreteDomain: schema is missing required keys (${parts.join(" | ")})`);
224
281
  }
225
282
  }
226
- function createConcreteDomain(domainInstance, db, fullSchema) {
283
+ function createConcreteDomain(domainInstance, db, fullSchema, bindings) {
227
284
  const baseSchema = fullSchema ?? resolveSchema(domainInstance);
285
+ const actionMap = getStoredActionMap(domainInstance);
228
286
  const concrete = {
229
287
  domain: domainInstance,
230
288
  db,
231
289
  schema: resolveSchema(domainInstance),
232
290
  context: (options) => domainInstance.context(options),
233
291
  contextString: (options) => domainInstance.contextString(options),
234
- fromDomain(subdomain) {
235
- const requiredSchema = resolveSchema(subdomain);
236
- assertSchemaIncludes(baseSchema, requiredSchema);
237
- return createConcreteDomain(subdomain, db, baseSchema);
238
- },
239
292
  };
293
+ if (bindings?.env !== undefined && bindings?.runtime !== undefined) {
294
+ const inheritedStack = readRuntimeActionStack(bindings.runtime);
295
+ const buildActions = (stack) => Object.fromEntries(Object.entries(actionMap).map(([key, action]) => [
296
+ key,
297
+ async (input) => {
298
+ const execute = action?.execute;
299
+ if (typeof execute !== "function") {
300
+ throw new Error(`domain_action_not_executable:${key}`);
301
+ }
302
+ if (stack.includes(key)) {
303
+ throw new Error(`domain_action_cycle:${key}`);
304
+ }
305
+ const nextStack = [...stack, key];
306
+ const scopedRuntime = cloneRuntimeWithActionStack(bindings.runtime, nextStack);
307
+ const params = {
308
+ env: bindings.env,
309
+ input,
310
+ runtime: scopedRuntime,
311
+ };
312
+ return await execute(params);
313
+ },
314
+ ]));
315
+ ;
316
+ concrete.env = bindings.env;
317
+ ;
318
+ concrete.actions = buildActions(inheritedStack);
319
+ }
240
320
  return concrete;
241
321
  }
322
+ export function materializeDomain(params) {
323
+ const baseSchema = resolveSchema(params.rootDomain);
324
+ const requiredSchema = resolveSchema(params.subdomain);
325
+ assertSchemaIncludes(baseSchema, requiredSchema);
326
+ return createConcreteDomain(params.subdomain, params.db, baseSchema, params.bindings);
327
+ }
242
328
  function loadDomainDoc(scope, meta) {
243
329
  if (!domainDocLoader)
244
330
  return null;
@@ -571,7 +657,7 @@ export function domain(arg) {
571
657
  // allLinks contains merged links from included domains + current domain
572
658
  // Preserve literal link keys (owner, related, parent, etc.) by using MergeLinks
573
659
  const allLinks = { ...resolvedLinks, ...def.links };
574
- const createDomainResult = (seedActions = []) => {
660
+ const createDomainResult = (seedActions = [], seedActionMap = {}) => {
575
661
  const capturedEntities = { ...allEntities };
576
662
  const capturedLinks = cloneLinksDef(allLinks);
577
663
  const capturedRooms = cloneRoomsDef(def.rooms);
@@ -653,18 +739,25 @@ export function domain(arg) {
653
739
  attachMeta(result, freezeMeta(meta));
654
740
  result.context = (options) => buildContext(result, options);
655
741
  result.contextString = (options) => contextToString(buildContext(result, options));
656
- result.fromDB = (db) => createConcreteDomain(result, db, resolveSchema(result));
657
- const reboundActions = seedActions.map((action) => bindAction(action, { name: action.name, domain: result }));
742
+ result.fromDB = (db, bindings) => createConcreteDomain(result, db, resolveSchema(result), bindings);
743
+ const reboundActions = seedActions.map((action) => bindAction(action, {
744
+ name: action.name,
745
+ domain: result,
746
+ key: getActionBinding(action)?.key,
747
+ }));
658
748
  setStoredActions(result, [...reboundActions]);
749
+ setStoredActionMap(result, { ...seedActionMap });
659
750
  result.actions = (actionsInput) => {
660
751
  const current = getStoredActions(result);
752
+ const currentMap = getStoredActionMap(result);
661
753
  const additions = normalizeActionCollection(result, actionsInput);
662
- return createDomainResult([...current, ...additions]);
754
+ return createDomainResult([...current, ...additions.actions], { ...currentMap, ...additions.actionMap });
663
755
  };
664
756
  result.getActions = () => [...getStoredActions(result)];
757
+ result.getActionMap = () => ({ ...getStoredActionMap(result) });
665
758
  return Object.freeze(result);
666
759
  };
667
- return createDomainResult();
760
+ return createDomainResult([], {});
668
761
  },
669
762
  };
670
763
  }
@@ -681,6 +774,16 @@ export function composeDomain(name, includes = []) {
681
774
  }
682
775
  return builder.schema({ entities: {}, links: {}, rooms: {} });
683
776
  }
777
+ /**
778
+ * Define a domain action without changing the public action contract.
779
+ *
780
+ * Convention for new actions:
781
+ *
782
+ * `async execute({ runtime, input }) { "use step"; const domain = await runtime.use(myDomain); ... }`
783
+ *
784
+ * Actions remain callable directly, from nested `runtime.use(domain).actions.*`
785
+ * composition, and from higher-level workflows that orchestrate them.
786
+ */
684
787
  export function defineDomainAction(action) {
685
788
  return action;
686
789
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}