@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
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { i } from "@instantdb/core";
2
- import type { EntitiesDef, LinksDef, RoomsDef, InstantSchemaDef, EntityDef } from "@instantdb/core";
3
- export { parseDomainDoc, renderDomainDoc, filterDomainDoc, type DomainDoc, type DomainDocEntity, type DomainDocSubdomain, type DomainDocSection, type DomainDocFilter, type DomainDocRenderOptions, type ParsedDomainDoc, } from "./domain-doc.js";
2
+ import type { InstantAdminDatabase } from "@instantdb/admin";
3
+ import type { EntitiesDef, LinksDef, RoomsDef, InstantSchemaDef, EntityDef, InstaQLParams } from "@instantdb/core";
4
+ import { z } from "zod";
5
+ export { EkairosRuntime, type RuntimeForDomain, type RuntimeUseForDomain, type RuntimeLike, type ExplicitRuntimeLike, } from "./runtime-handle.js";
4
6
  type DomainIncludeRef = () => unknown;
5
7
  type DomainMeta = {
6
8
  name?: string;
@@ -21,26 +23,53 @@ export type DomainDocLoader = (input: {
21
23
  scope: "root" | "subdomain";
22
24
  meta?: DomainMeta | null;
23
25
  }) => DomainDocInfo | null;
24
- 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> = {
26
- env: Env;
27
- input: Input;
26
+ export type DomainDocNormalizeOptions = {
27
+ subdomains?: string[];
28
+ entities?: string[];
29
+ titlePrefix?: "Domain" | "Subdomain";
30
+ includeSubdomains?: boolean;
31
+ };
32
+ export type DomainDocNormalizer = (input: {
33
+ docInfo: DomainDocInfo;
34
+ options: DomainDocNormalizeOptions;
35
+ }) => {
36
+ doc: string | null;
37
+ docPath?: string;
38
+ } | null | undefined;
39
+ export type DomainInclude = DomainInstance<any, any, any> | AnyDomainSchemaResult | InstantSchemaDef<any, any, any> | (() => DomainInstance<any, any, any> | AnyDomainSchemaResult | InstantSchemaDef<any, any, any> | undefined) | undefined;
40
+ export type DomainActionSchema = z.ZodType;
41
+ export type DomainActionExecuteParams<InputSchema extends DomainActionSchema = DomainActionSchema, Runtime = DomainRuntime<any>, Domain = unknown> = {
42
+ input: z.output<InputSchema>;
28
43
  runtime: Runtime;
29
- call: <NestedInput = unknown, NestedOutput = unknown>(action: DomainActionDefinition<Env, NestedInput, NestedOutput, Runtime>, input: NestedInput) => Promise<NestedOutput>;
30
44
  };
31
- export type DomainActionDefinition<Env extends Record<string, unknown> = Record<string, unknown>, Input = unknown, Output = unknown, Runtime = unknown> = {
45
+ export type DomainActionDefinition<InputSchema extends DomainActionSchema = DomainActionSchema, OutputSchema extends DomainActionSchema = DomainActionSchema, Runtime = unknown, Domain = unknown> = {
32
46
  name?: string;
33
47
  description?: string;
48
+ input: InputSchema;
49
+ output: OutputSchema;
34
50
  inputSchema?: unknown;
51
+ outputSchema?: unknown;
35
52
  requiredScopes?: string[];
36
- execute: (params: DomainActionExecuteParams<Env, Input, Runtime>) => Promise<Output> | Output;
53
+ /**
54
+ * Domain actions are command units with typed input and output.
55
+ *
56
+ * Recommended pattern:
57
+ *
58
+ * `async execute({ runtime, input }) { await runtime.db.transact([...]); }`
59
+ *
60
+ * Action execution receives `input` and a runtime already scoped to the
61
+ * domain that declared the action. Workflow boundaries belong to the
62
+ * orchestration layer, not to the action executor.
63
+ */
64
+ execute: (params: DomainActionExecuteParams<InputSchema, Runtime, Domain>) => Promise<z.output<OutputSchema>> | z.output<OutputSchema>;
37
65
  };
38
- export type DomainActionRegistration = DomainActionDefinition<any, any, any, any> & {
66
+ export type DomainActionRegistration<InputSchema extends DomainActionSchema = DomainActionSchema, OutputSchema extends DomainActionSchema = DomainActionSchema, Runtime = unknown, Domain = unknown> = DomainActionDefinition<InputSchema, OutputSchema, Runtime, Domain> & {
39
67
  name: string;
40
68
  };
41
- export type DomainActionLike = DomainActionDefinition<any, any, any, any> | ((params: DomainActionExecuteParams<any, any, any>) => unknown);
69
+ export type DomainActionLike = DomainActionDefinition<any, any, any, any>;
42
70
  export type DomainActionCollection = Record<string, DomainActionLike> | DomainActionLike[] | DomainActionRegistration[];
43
71
  export declare function configureDomainDocLoader(loader?: DomainDocLoader | null): void;
72
+ export declare function configureDomainDocNormalizer(normalizer?: DomainDocNormalizer | null): void;
44
73
  export type DomainContextEntry = {
45
74
  name?: string;
46
75
  includes?: string[];
@@ -59,6 +88,33 @@ export type DomainContextOptions = {
59
88
  meta?: Record<string, unknown>;
60
89
  includeSchemas?: boolean;
61
90
  };
91
+ type UnknownDomainNames = string;
92
+ type AnyDomainSchemaResult = {
93
+ entities: any;
94
+ links: any;
95
+ rooms: any;
96
+ instantSchema: () => any;
97
+ toInstantSchema?: () => any;
98
+ };
99
+ declare const DOMAIN_NAME_TYPE: unique symbol;
100
+ declare const DOMAIN_INCLUDED_NAMES_TYPE: unique symbol;
101
+ declare const DOMAIN_ACTION_MAP_TYPE: unique symbol;
102
+ declare const DOMAIN_LINKS_TYPE: unique symbol;
103
+ export type DomainLike = {
104
+ readonly entities: EntitiesDef;
105
+ readonly links: LinksDef<any>;
106
+ readonly rooms: RoomsDef;
107
+ instantSchema: () => any;
108
+ toInstantSchema?: () => any;
109
+ fromDB?: (db: any, bindings?: {
110
+ env?: unknown;
111
+ runtime?: unknown;
112
+ }) => any;
113
+ readonly [DOMAIN_NAME_TYPE]?: string;
114
+ readonly [DOMAIN_INCLUDED_NAMES_TYPE]?: string;
115
+ readonly [DOMAIN_ACTION_MAP_TYPE]?: DomainActionMap;
116
+ readonly [DOMAIN_LINKS_TYPE]?: LinksDef<any>;
117
+ };
62
118
  export type DomainDefinition<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef> = DomainConstructorOptions & {
63
119
  entities: E;
64
120
  links: L;
@@ -69,18 +125,29 @@ export type DomainInstance<E extends EntitiesDef, L extends LinksDef<E>, R exten
69
125
  compose: <E2 extends EntitiesDef, L2 extends LinksDef<E2>, R2 extends RoomsDef>(other: DomainInstance<E2, L2, R2> | DomainDefinition<E2, L2, R2>) => DomainInstance<E & E2, LinksDef<E & E2>, R & R2>;
70
126
  meta?: Record<string, unknown>;
71
127
  };
72
- 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"]>;
128
+ export type SchemaOf<D> = D extends AnyDomainSchemaResult ? ReturnType<D["instantSchema"]> : D extends DomainDefinition<infer E, any, infer R> ? InstantSchemaDef<E, LinksDef<E>, R> : InstantSchemaDef<any, any, any>;
129
+ export type DomainDbFor<D> = InstantAdminDatabase<SchemaOf<D>, true>;
73
130
  type EntitiesOf<S> = S extends InstantSchemaDef<infer E, any, any> ? E : never;
74
131
  type LinksOf<S> = S extends InstantSchemaDef<any, infer L, any> ? L : never;
132
+ type AttrsOfEntity<E> = E extends EntityDef<infer Attrs, any, any> ? Attrs : never;
133
+ type EnsureIncludesEntityAttrs<FullEntity, RequiredEntity> = [
134
+ {
135
+ [K in keyof AttrsOfEntity<RequiredEntity>]: K extends keyof AttrsOfEntity<FullEntity> ? (AttrsOfEntity<FullEntity>[K] extends AttrsOfEntity<RequiredEntity>[K] ? never : K) : K;
136
+ }[keyof AttrsOfEntity<RequiredEntity>]
137
+ ] extends [never] ? true : false;
75
138
  /**
76
139
  * Verifies that Full schema includes all entities and links from Required schema.
77
140
  * Returns Full if compatible, never otherwise.
78
141
  */
79
- type EnsureIncludesSchema<Full extends InstantSchemaDef<any, any, any>, Required extends InstantSchemaDef<any, any, any>> = {
80
- [K in keyof EntitiesOf<Required>]: K extends keyof EntitiesOf<Full> ? (EntitiesOf<Full>[K] extends EntitiesOf<Required>[K] ? unknown : never) : never;
81
- }[keyof EntitiesOf<Required>] extends never ? ({
82
- [K in keyof LinksOf<Required>]: K extends keyof LinksOf<Full> ? (LinksOf<Full>[K] extends LinksOf<Required>[K] ? unknown : never) : never;
83
- }[keyof LinksOf<Required>] extends never ? Full : never) : never;
142
+ type EnsureIncludesSchema<Full extends InstantSchemaDef<any, any, any>, Required extends InstantSchemaDef<any, any, any>> = [
143
+ {
144
+ [K in keyof EntitiesOf<Required>]: K extends keyof EntitiesOf<Full> ? (EnsureIncludesEntityAttrs<EntitiesOf<Full>[K], EntitiesOf<Required>[K]> extends true ? never : K) : K;
145
+ }[keyof EntitiesOf<Required>]
146
+ ] extends [never] ? ([
147
+ {
148
+ [K in keyof LinksOf<Required>]: K extends keyof LinksOf<Full> ? (LinksOf<Full>[K] extends LinksOf<Required>[K] ? never : K) : K;
149
+ }[keyof LinksOf<Required>]
150
+ ] extends [never] ? Full : never) : never;
84
151
  /**
85
152
  * Schema S restricted to be compatible with RequiredDomain.
86
153
  * Returns S if compatible, never otherwise.
@@ -97,28 +164,121 @@ type EnsureIncludesSchema<Full extends InstantSchemaDef<any, any, any>, Required
97
164
  * ): CreateAgentEntry
98
165
  * ```
99
166
  */
100
- export type CompatibleSchemaForDomain<S extends InstantSchemaDef<any, any, any>, RequiredDomain extends DomainDefinition<any, any, any> | DomainSchemaResult<any, any, any> | DomainInstance<any, any, any>> = EnsureIncludesSchema<S, SchemaOf<RequiredDomain>>;
167
+ export type CompatibleSchemaForDomain<S extends InstantSchemaDef<any, any, any>, RequiredDomain extends DomainDefinition<any, any, any> | AnyDomainSchemaResult | DomainInstance<any, any, any>> = EnsureIncludesSchema<S, SchemaOf<RequiredDomain>>;
168
+ export type DomainNameOf<D> = D extends {
169
+ readonly [DOMAIN_NAME_TYPE]?: infer Name;
170
+ } ? NonNullable<Name> extends string ? NonNullable<Name> : UnknownDomainNames : UnknownDomainNames;
171
+ export type IncludedDomainNamesOf<D> = D extends {
172
+ readonly [DOMAIN_INCLUDED_NAMES_TYPE]?: infer Names;
173
+ } ? NonNullable<Names> extends string ? NonNullable<Names> : DomainNameOf<D> : DomainNameOf<D>;
174
+ export type DomainInstantSchema<D> = D extends DomainSchemaResult<infer E, infer L, infer R, any, any, any> ? InstantSchemaDef<WithBase<E>, L, R> : never;
101
175
  type Simplify<T> = {
102
176
  [K in keyof T]: T[K];
103
177
  } & {};
178
+ export type DomainActionMap = Record<string, DomainActionRegistration<any, any, any, any>>;
179
+ export type DomainDefinitionOf<D> = D extends DomainSchemaResult<infer E, infer L, infer R, infer Actions, infer Name, infer IncludedNames> ? DomainSchemaResult<Simplify<E>, Simplify<L>, R, Simplify<Actions>, Name, IncludedNames> : never;
180
+ type InferActionRegistrationFromLike<Value, Key extends string> = Value extends DomainActionDefinition<infer InputSchema, infer OutputSchema, infer Runtime, infer Domain> ? DomainActionRegistration<InputSchema, OutputSchema, Runtime, Domain> : DomainActionRegistration;
181
+ type ActionMapFromCollection<Input> = Input extends Record<string, any> ? {
182
+ [K in keyof Input & string]: InferActionRegistrationFromLike<Input[K], K>;
183
+ } : {};
184
+ type MergeActionMaps<Current extends DomainActionMap, Next extends DomainActionMap> = Simplify<Omit<Current, keyof Next> & Next>;
185
+ export type ActionMapOf<D> = D extends {
186
+ readonly [DOMAIN_ACTION_MAP_TYPE]?: infer Actions;
187
+ } ? NonNullable<Actions> : {};
188
+ export type DomainActionsOf<D> = ActionMapOf<D>;
189
+ type ActionInputOf<Action> = Action extends DomainActionDefinition<infer InputSchema, any, any, any> ? z.output<InputSchema> : never;
190
+ type ActionOutputOf<Action> = Action extends DomainActionDefinition<any, infer OutputSchema, any, any> ? z.output<OutputSchema> : never;
191
+ export type DomainActionOutput<Action> = Action extends DomainActionDefinition<any, infer OutputSchema, any, any> ? z.output<OutputSchema> : never;
192
+ export type DomainActionSerializedOutput<Action> = Action extends DomainActionDefinition<any, infer OutputSchema, any, any> ? z.output<OutputSchema> : never;
193
+ type DomainActionMethods<Actions extends DomainActionMap> = {
194
+ [K in keyof Actions]: (input: ActionInputOf<Actions[K]>) => Promise<ActionOutputOf<Actions[K]>>;
195
+ };
196
+ type DomainDbShortcuts<DB> = DB extends {
197
+ query: infer Query;
198
+ } ? {
199
+ query: Query;
200
+ } : {};
201
+ type RuntimeDomainQueryForParts<E extends EntitiesDef, L extends LinksDef<any>, R extends RoomsDef> = <Query extends InstaQLParams<InstantSchemaDef<WithBase<E>, L, R>>>(query: Query) => Promise<any>;
202
+ type CallableDomainActionMethods<Actions extends DomainActionMap, DB> = Omit<DomainActionMethods<Actions>, "actions" | "context" | "contextString" | "db" | "domain" | "env" | "schema" | keyof DomainDbShortcuts<DB>>;
203
+ export type CallableDomainScope<E extends EntitiesDef, L extends LinksDef<any>, R extends RoomsDef, Actions extends DomainActionMap, Env = unknown> = {
204
+ domain: unknown;
205
+ db: {
206
+ query: RuntimeDomainQueryForParts<E, L, R>;
207
+ };
208
+ schema: InstantSchemaDef<WithBase<E>, L, R>;
209
+ context: (options?: DomainContextOptions) => DomainContext;
210
+ contextString: (options?: DomainContextOptions) => string;
211
+ env: Env;
212
+ actions: DomainActionMethods<Actions>;
213
+ query: RuntimeDomainQueryForParts<E, L, R>;
214
+ } & CallableDomainActionMethods<Actions, {
215
+ query: RuntimeDomainQueryForParts<E, L, R>;
216
+ }>;
217
+ export type ConcreteDomainFor<E extends EntitiesDef, L extends LinksDef<any>, R extends RoomsDef, Actions extends DomainActionMap, Name extends string, IncludedNames extends string, DB> = {
218
+ domain: DomainSchemaResult<E, L, R, Actions, Name, IncludedNames>;
219
+ db: DB;
220
+ schema: ReturnType<typeof i.schema<WithBase<E>, L, R>>;
221
+ context: (options?: DomainContextOptions) => DomainContext;
222
+ contextString: (options?: DomainContextOptions) => string;
223
+ };
224
+ export type RuntimeDomainScope<D = unknown, Env = unknown> = ActiveDomain<any, Env> & Record<string, unknown>;
225
+ type RuntimeCallableForDomain<D> = {
226
+ use(subdomain: D, options?: unknown): Promise<unknown>;
227
+ };
104
228
  type StripEntityLinks<E extends EntitiesDef> = {
105
229
  [K in keyof E]: E[K] extends EntityDef<infer Attrs, any, infer AsType> ? EntityDef<Attrs, {}, AsType> : E[K];
106
230
  };
231
+ type StripEntityLinksValue<E> = E extends EntityDef<infer Attrs, any, infer AsType> ? EntityDef<Attrs, {}, AsType> : E;
232
+ type DuplicateEntityAttrKeys<AttrsA, AttrsB> = string extends keyof AttrsA ? never : string extends keyof AttrsB ? never : Extract<keyof AttrsA, keyof AttrsB>;
233
+ type MergeEntityAsType<AsA, AsB> = [
234
+ AsA
235
+ ] extends [void] ? AsB : [AsB] extends [void] ? AsA : Simplify<AsA & AsB>;
236
+ type MergeEntityDefs<A, B> = A extends EntityDef<infer AttrsA, any, infer AsA> ? B extends EntityDef<infer AttrsB, any, infer AsB> ? [DuplicateEntityAttrKeys<AttrsA, AttrsB>] extends [never] ? EntityDef<Simplify<AttrsA & AttrsB>, {}, MergeEntityAsType<AsA, AsB>> : never : StripEntityLinksValue<B> : StripEntityLinksValue<B>;
107
237
  type MergeEntities<A extends EntitiesDef, B extends EntitiesDef> = Simplify<{
108
- [K in keyof A | keyof B]: K extends keyof B ? StripEntityLinks<B>[K] : K extends keyof A ? StripEntityLinks<A>[K] : never;
238
+ [K in keyof A | keyof B]: K extends keyof A ? K extends keyof B ? MergeEntityDefs<StripEntityLinks<A>[K], StripEntityLinks<B>[K]> : StripEntityLinks<A>[K] : K extends keyof B ? StripEntityLinks<B>[K] : never;
109
239
  }>;
110
240
  type MergeLinks<A extends LinksDef<any>, B extends LinksDef<any>> = Simplify<{
111
241
  [K in keyof A | keyof B]: K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
112
242
  }>;
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>> & {
243
+ type DomainSchemaSource = DomainInstance<any, any, any> | AnyDomainSchemaResult | InstantSchemaDef<any, any, any>;
244
+ type EntitiesOfDomainSource<D> = D extends {
245
+ readonly originalEntities: infer E;
246
+ } ? E extends EntitiesDef ? E : {} : D extends DomainInstance<infer E, any, any> ? E : D extends InstantSchemaDef<infer E, any, any> ? E : {};
247
+ type LinksOfDomainSource<D> = D extends {
248
+ readonly [DOMAIN_LINKS_TYPE]?: infer L;
249
+ } ? NonNullable<L> extends LinksDef<any> ? NonNullable<L> : {} : D extends {
250
+ links: infer L;
251
+ } ? L extends LinksDef<any> ? L : {} : {};
252
+ export type DomainSchemaResult<E extends EntitiesDef = EntitiesDef, L extends LinksDef<any> = LinksDef<any>, R extends RoomsDef = RoomsDef, Actions extends DomainActionMap = {}, Name extends string = string, IncludedNames extends string = Name> = {
253
+ <Env = unknown>(runtime: RuntimeCallableForDomain<DomainSchemaResult<E, L, R, Actions, Name, IncludedNames>>, options?: unknown): Promise<CallableDomainScope<E, L, R, Actions, Env>>;
254
+ readonly entities: E;
255
+ readonly links: L;
256
+ readonly rooms: R;
114
257
  readonly originalEntities: E;
258
+ readonly [DOMAIN_NAME_TYPE]?: Name;
259
+ readonly [DOMAIN_INCLUDED_NAMES_TYPE]?: IncludedNames;
260
+ readonly [DOMAIN_ACTION_MAP_TYPE]?: Actions;
261
+ readonly [DOMAIN_LINKS_TYPE]?: L;
262
+ instantSchema: () => ReturnType<typeof i.schema<WithBase<E>, L, R>>;
263
+ /**
264
+ * @deprecated Use instantSchema().
265
+ */
115
266
  toInstantSchema: () => ReturnType<typeof i.schema<WithBase<E>, L, R>>;
267
+ definition: () => DomainSchemaResult<E, L, R, Actions, Name, IncludedNames>;
116
268
  context: (options?: DomainContextOptions) => DomainContext;
117
269
  contextString: (options?: DomainContextOptions) => string;
118
- fromDB: <DB = any>(db: DB) => ConcreteDomain<DomainSchemaResult<E, L, R>, DB>;
270
+ fromDB: <DB = any>(db: DB, bindings?: {
271
+ env?: unknown;
272
+ runtime?: unknown;
273
+ }) => ConcreteDomainFor<E, L, R, Actions, Name, IncludedNames, DB>;
119
274
  meta?: Record<string, unknown>;
120
- actions: (actions: DomainActionCollection) => DomainSchemaResult<E, L, R>;
275
+ readonly actions: Readonly<Actions>;
276
+ withActions: {
277
+ <Input extends Record<string, DomainActionLike>>(actions: Input): DomainSchemaResult<E, L, R, MergeActionMaps<Actions, ActionMapFromCollection<Input>>, Name, IncludedNames>;
278
+ (actions: DomainActionLike[] | DomainActionRegistration[]): DomainSchemaResult<E, L, R, Actions, Name, IncludedNames>;
279
+ };
121
280
  getActions: () => DomainActionRegistration[];
281
+ getActionMap: () => Actions;
122
282
  };
123
283
  export type ConcreteDomain<D extends DomainSchemaResult = DomainSchemaResult, DB = any> = {
124
284
  domain: D;
@@ -126,29 +286,69 @@ export type ConcreteDomain<D extends DomainSchemaResult = DomainSchemaResult, DB
126
286
  schema: ReturnType<D["toInstantSchema"]>;
127
287
  context: (options?: DomainContextOptions) => DomainContext;
128
288
  contextString: (options?: DomainContextOptions) => string;
129
- fromDomain: <SubD extends DomainSchemaResult>(subdomain: SubD) => ConcreteDomain<SubD, DB>;
130
289
  };
290
+ export type ActiveDomain<D extends DomainSchemaResult = DomainSchemaResult, Env = unknown, Bound extends boolean = true> = ConcreteDomain<D, DomainDbFor<D>> & (Bound extends true ? {
291
+ env: Env;
292
+ actions: DomainActionMethods<ActionMapOf<D>>;
293
+ } : {});
294
+ export type DomainRuntimeDb = {
295
+ query: (...args: any[]) => Promise<any>;
296
+ transact: (...args: any[]) => Promise<any>;
297
+ tx: any;
298
+ };
299
+ export type DomainRuntime<D extends DomainSchemaResult = DomainSchemaResult, Env = unknown> = D extends DomainSchemaResult<infer E, infer L, infer R, infer Actions, any, any> ? {
300
+ domain: D;
301
+ db: DomainRuntimeDb;
302
+ schema: ReturnType<typeof i.schema<WithBase<E>, L, R>>;
303
+ context: (options?: DomainContextOptions) => DomainContext;
304
+ contextString: (options?: DomainContextOptions) => string;
305
+ env: Env;
306
+ actions: DomainActionMethods<Actions>;
307
+ } : ActiveDomain<D, Env>;
131
308
  type BaseEntitiesPhantom = {
132
309
  $users: EntityDef<any, any, any>;
133
310
  $files: EntityDef<any, any, any>;
134
311
  $streams: EntityDef<any, any, any>;
135
312
  };
136
313
  type WithBase<E extends EntitiesDef> = MergeEntities<E, BaseEntitiesPhantom>;
137
- export type DomainBuilder<AccumE extends EntitiesDef, AccumL extends LinksDef<any> = LinksDef<any>> = {
138
- includes<E2 extends EntitiesDef, L2 extends LinksDef<any> = {}>(other: DomainInstance<E2, L2, any> | DomainSchemaResult<E2, L2, any> | InstantSchemaDef<E2, L2, any> | (() => DomainInstance<E2, L2, any> | DomainSchemaResult<E2, L2, any> | InstantSchemaDef<E2, L2, any>) | undefined): DomainBuilder<MergeEntities<AccumE, E2>, MergeLinks<AccumL, L2>>;
139
- schema<LE extends EntitiesDef, const LL extends LinksDef<WithBase<MergeEntities<AccumE, LE>>>>(def: {
314
+ export type DomainBuilder<AccumE extends EntitiesDef, AccumL extends LinksDef<any> = LinksDef<any>, Name extends string = string, IncludedNames extends string = Name> = {
315
+ includes<const OtherDomain extends DomainSchemaSource>(other: OtherDomain | (() => OtherDomain) | undefined): DomainBuilder<MergeEntities<AccumE, EntitiesOfDomainSource<OtherDomain>>, MergeLinks<AccumL, LinksOfDomainSource<OtherDomain>>, Name, IncludedNames | IncludedDomainNamesOf<OtherDomain>>;
316
+ withSchema<LE extends EntitiesDef, const LL extends LinksDef<any>>(def: {
317
+ entities: LE;
318
+ links: LL;
319
+ rooms: RoomsDef;
320
+ }): DomainSchemaResult<MergeEntities<AccumE, LE>, MergeLinks<AccumL, LL>, RoomsDef, {}, Name, IncludedNames>;
321
+ /**
322
+ * @deprecated Use withSchema().
323
+ */
324
+ schema<LE extends EntitiesDef, const LL extends LinksDef<any>>(def: {
140
325
  entities: LE;
141
326
  links: LL;
142
327
  rooms: RoomsDef;
143
- }): DomainSchemaResult<MergeEntities<AccumE, LE>, MergeLinks<AccumL, LL>, RoomsDef>;
328
+ }): DomainSchemaResult<MergeEntities<AccumE, LE>, MergeLinks<AccumL, LL>, RoomsDef, {}, Name, IncludedNames>;
144
329
  };
330
+ export declare function materializeDomain<SubD extends DomainSchemaResult>(params: {
331
+ rootDomain: DomainSchemaResult;
332
+ subdomain: SubD;
333
+ db: DomainDbFor<SubD>;
334
+ bindings?: {
335
+ env?: unknown;
336
+ runtime?: unknown;
337
+ };
338
+ }): ActiveDomain<SubD, unknown>;
145
339
  export declare function domain<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef>(def: DomainDefinition<E, L, R>): DomainInstance<E, L, R>;
340
+ export declare function domain<const Name extends string>(name: Name): DomainBuilder<{}, {}, Name, Name>;
341
+ export declare function domain<const Name extends string>(options: DomainConstructorOptions & {
342
+ name: Name;
343
+ }): DomainBuilder<{}, {}, Name, Name>;
146
344
  export declare function domain(name?: string | DomainConstructorOptions): DomainBuilder<{}, {}>;
147
345
  export declare function composeDomain(name: string | DomainConstructorOptions, includes?: DomainInclude[]): DomainSchemaResult<any, any, any>;
148
- 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>;
346
+ export declare function defineDomainAction<InputSchema extends DomainActionSchema, OutputSchema extends DomainActionSchema, Runtime = DomainRuntime<any>, Domain = unknown>(action: DomainActionDefinition<InputSchema, OutputSchema, Runtime, Domain>): DomainActionDefinition<InputSchema, OutputSchema, Runtime, Domain>;
347
+ export declare const defineAction: typeof defineDomainAction;
149
348
  export declare function getDomainActions(source: unknown): DomainActionRegistration[];
150
349
  export declare function getDomainActionBinding(source: unknown): {
151
350
  name: string;
152
351
  domain: unknown;
352
+ key?: string;
153
353
  } | null;
154
354
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}