@microverse.ts/host-surface 0.1.0 → 0.2.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 (39) hide show
  1. package/README.md +14 -13
  2. package/dist/application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec.d.ts +3 -3
  3. package/dist/application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec.d.ts.map +1 -1
  4. package/dist/application/useCases/compileHostSurface.d.ts +5 -5
  5. package/dist/application/useCases/compileHostSurface.d.ts.map +1 -1
  6. package/dist/domain/componentSlotPrelude.d.ts +3 -0
  7. package/dist/domain/componentSlotPrelude.d.ts.map +1 -0
  8. package/dist/domain/hostSurfaceManifest.d.ts +2 -2
  9. package/dist/domain/hostSurfaceManifest.d.ts.map +1 -1
  10. package/dist/domain/hostSurfaceTypes.d.ts +12 -9
  11. package/dist/domain/hostSurfaceTypes.d.ts.map +1 -1
  12. package/dist/domain/luaGlobalHook.d.ts +1 -1
  13. package/dist/domain/scriptContextSymbol.d.ts +6 -0
  14. package/dist/domain/scriptContextSymbol.d.ts.map +1 -0
  15. package/dist/domain/scriptPropertyMergeEnv.d.ts +6 -0
  16. package/dist/domain/scriptPropertyMergeEnv.d.ts.map +1 -0
  17. package/dist/domain/surfaceCapabilities.d.ts +1 -1
  18. package/dist/domain/surfaceCapabilities.d.ts.map +1 -1
  19. package/dist/domain/surfaceMethodDef.d.ts +1 -1
  20. package/dist/domain/surfaceMethodDef.d.ts.map +1 -1
  21. package/dist/index.d.ts +18 -14
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +407 -139
  24. package/dist/index.js.map +1 -1
  25. package/dist/infrastructure/adapters/augmentHostWithCapabilityRegistry.d.ts +1 -1
  26. package/dist/infrastructure/adapters/augmentHostWithCapabilityRegistry.d.ts.map +1 -1
  27. package/dist/infrastructure/adapters/augmentHostWithScriptContext.d.ts +4 -0
  28. package/dist/infrastructure/adapters/augmentHostWithScriptContext.d.ts.map +1 -0
  29. package/dist/infrastructure/adapters/zodSchemaValidationAdapter.d.ts +1 -1
  30. package/dist/infrastructure/adapters/zodSchemaValidationAdapter.d.ts.map +1 -1
  31. package/dist/infrastructure/builders/bridgeMergeEnv.d.ts +6 -3
  32. package/dist/infrastructure/builders/bridgeMergeEnv.d.ts.map +1 -1
  33. package/dist/infrastructure/builders/defineHostSurfaceFacade.d.ts +5 -5
  34. package/dist/infrastructure/builders/defineHostSurfaceFacade.d.ts.map +1 -1
  35. package/dist/infrastructure/builders/surfaceBuilder.d.ts +11 -11
  36. package/dist/infrastructure/builders/surfaceBuilder.d.ts.map +1 -1
  37. package/dist/infrastructure/components/hostScriptSession.d.ts +23 -68
  38. package/dist/infrastructure/components/hostScriptSession.d.ts.map +1 -1
  39. package/package.json +10 -9
package/README.md CHANGED
@@ -24,33 +24,33 @@ export default defineHostSurfaceFor<MyHost>()
24
24
  description: 'Load order by id',
25
25
  handler: ({ host }, { orderId }) => host.orders.get(orderId),
26
26
  })
27
- .workflowHooks(workflowHooks) // optional
27
+ .componentHooks(componentHooks) // optional
28
28
  .build();
29
29
  ```
30
30
 
31
31
  | Step | Role |
32
32
  |------|------|
33
33
  | `defineHostSurfaceFor<THost>()` | Start builder; `handler` receives typed `host`. |
34
- | `.bridge('orders')` | Lua global table name. |
34
+ | `.bridge('orders')` | Bridge table on `self.bridges` after `component:extend()`. |
35
35
  | `.method('get', { … })` | One bridge method: `requires`, `input`, `output`, `handler`. |
36
- | `.workflowHooks(…)` | Optional Zod map → `on*` hooks in Lua. |
36
+ | `.componentHooks(…)` | Optional Zod map → `on*` domain events on `Component`. |
37
37
  | `.build()` | Compiled {@link HostSurface}. |
38
38
 
39
39
  `requires` is a `domain:action` capability string. `async` is inferred from `async function` handlers.
40
40
 
41
- Bridge names become **Lua global tables** (`orders`, `billing`, …). Do not use `workflow` as a bridge name when workflow hooks are enabled—that name is reserved for the injected `workflow:extend()` helper.
41
+ Bridges are **not** global in the slot: use `self.bridges.orders:get()` from component methods.
42
42
 
43
43
  ### Host object
44
44
 
45
45
  The **host** is your engine context (services, repos, config). It is not generated here—you construct it in your app and pass it to `MicroverseLua.create({ host, surface })` or `HostScriptSession`.
46
46
 
47
- ### Workflow hooks
47
+ ### Component domain events
48
48
 
49
- Call `.workflowHooks({ OrderPlaced: z.object({ … }), … })` before `.build()`.
49
+ Call `.componentHooks({ OrderPlaced: z.object({ … }), … })` before `.build()`.
50
50
 
51
- - TypeScript emits via `emitToAllScripts('OrderPlaced', payload)`.
52
- - Lua implements `onOrderPlaced` on the table from `workflow:extend()`.
53
- - Manifest includes `MicroverseWorkflowEvt_*` classes in `.d.lua`.
51
+ - TypeScript emits via `emitToAllInstances('OrderPlaced', payload)`.
52
+ - Lua implements `onOrderPlaced` on the table from `component:extend()`.
53
+ - Manifest includes `MicroverseEvt_*` payload classes and `on*` fields on `Component` in `.d.lua`.
54
54
 
55
55
  ## `HostScriptSession`
56
56
 
@@ -68,7 +68,7 @@ await session.openSession();
68
68
  await session.runChunk(luaSource);
69
69
  ```
70
70
 
71
- `MicroverseLua` in `@microverse.ts/microverse-lua` wraps this for the common case (shared VM, `registerScript`, broadcast hooks).
71
+ `MicroverseLua` in `@microverse.ts/microverse-lua` wraps this for the common case (shared VM, script catalog + instances, broadcast hooks).
72
72
 
73
73
  ## Generating `.d.lua`
74
74
 
@@ -82,10 +82,11 @@ Optional **Lua type names** on Zod schemas (`luaType('OrderDto', z.object({ …
82
82
 
83
83
  ## Async bridges and Lua patterns
84
84
 
85
- Bridge handlers are **synchronous at the Lua boundary**; Wasmoon does not auto-resolve `Promise` into Lua values. For async TypeScript work, use the async bridge pattern (`:await()` or `onComplete` callback) documented in:
85
+ Bridge handlers are **synchronous at the Lua boundary**; Wasmoon does not auto-resolve `Promise` into Lua values. For async TypeScript work, use an `async` handler on the surface; Lua calls the bridge with `:await()` or an `onComplete` callback. See:
86
86
 
87
- - [docs/async-subroutines-components.md](docs/async-subroutines-components.md)
88
- - [examples/business-scripting-engine/docs/COMPONENT_PATTERN.md](../../examples/business-scripting-engine/docs/COMPONENT_PATTERN.md)
87
+ - [Async bridges — `@microverse.ts/microverse-lua`](../microverse-lua/README.md#async-bridges)
88
+ - [Lua authoring (components)](../microverse-lua/README.md#lua-authoring)
89
+ - Example: [`order_asyncio_tick.lua`](../../examples/business-scripting-engine/lua/components/order_asyncio_tick.lua)
89
90
 
90
91
  ## Reference
91
92
 
@@ -1,7 +1,7 @@
1
1
  import { DeclarativeBridgeDeclaration } from '@microverse.ts/runtime-bridge';
2
- import { WithMicroverseCapabilityRegistry } from '../../domain/capabilityRegistrySymbol.js';
3
- import { HostSurfaceSpec } from '../../domain/hostSurfaceTypes.js';
4
- import { SchemaValidationPort } from '../ports/SchemaValidationPort.js';
2
+ import { WithMicroverseCapabilityRegistry } from '../../domain/capabilityRegistrySymbol';
3
+ import { HostSurfaceSpec } from '../../domain/hostSurfaceTypes';
4
+ import { SchemaValidationPort } from '../ports/SchemaValidationPort';
5
5
  /**
6
6
  * Builds declarative bridge declarations from a host surface spec, using the schema validation port for Lua ↔ host payloads.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compileBridgeDeclarationsFromHostSurfaceSpec.d.ts","sourceRoot":"","sources":["../../../src/application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAGlF,OAAO,EAAkC,KAAK,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAGjI,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAa7E;;GAEG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,SAAS,eAAe,EACvF,gBAAgB,EAAE,oBAAoB,EACtC,IAAI,EAAE,KAAK,GACV,aAAa,CAAC,4BAA4B,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC,CA+CvF"}
1
+ {"version":3,"file":"compileBridgeDeclarationsFromHostSurfaceSpec.d.ts","sourceRoot":"","sources":["../../../src/application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAGlF,OAAO,EAAkC,KAAK,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAM9H,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAa1E;;GAEG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,SAAS,eAAe,EACvF,gBAAgB,EAAE,oBAAoB,EACtC,IAAI,EAAE,KAAK,GACV,aAAa,CAAC,4BAA4B,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC,CA0DvF"}
@@ -1,13 +1,13 @@
1
- import { InferSurfaceCapabilities } from '../../domain/surfaceCapabilities.js';
2
- import { HostSurface, HostSurfaceSpec, HostWorkflowHooksSpec } from '../../domain/hostSurfaceTypes.js';
3
- import { SchemaValidationPort } from '../ports/SchemaValidationPort.js';
1
+ import { InferSurfaceCapabilities } from '../../domain/surfaceCapabilities';
2
+ import { HostSurface, HostSurfaceSpec, HostComponentHooksSpec } from '../../domain/hostSurfaceTypes';
3
+ import { SchemaValidationPort } from '../ports/SchemaValidationPort';
4
4
  /**
5
5
  * Compiles a host surface using the injected schema validation port (tuple matches `UseCase` conventions in `@microverse.ts/shared`).
6
6
  */
7
7
  export declare function compileHostSurface<const TSpec extends HostSurfaceSpec>(ports: readonly [SchemaValidationPort], spec: TSpec): HostSurface<undefined, InferSurfaceCapabilities<TSpec>>;
8
- export declare function compileHostSurface<const TSpec extends HostSurfaceSpec, const THooks extends HostWorkflowHooksSpec>(ports: readonly [SchemaValidationPort], spec: TSpec, workflowHooks: THooks): HostSurface<THooks, InferSurfaceCapabilities<TSpec>>;
8
+ export declare function compileHostSurface<const TSpec extends HostSurfaceSpec, const THooks extends HostComponentHooksSpec>(ports: readonly [SchemaValidationPort], spec: TSpec, componentHooks: THooks): HostSurface<THooks, InferSurfaceCapabilities<TSpec>>;
9
9
  /**
10
10
  * Same as {@link compileHostSurface}, but requires every bridge method to be typed with the same `THost`.
11
11
  */
12
- export declare function compileHostSurfaceFor<const TSpec extends HostSurfaceSpec, const THooks extends HostWorkflowHooksSpec | undefined = undefined>(ports: readonly [SchemaValidationPort], spec: TSpec, workflowHooks?: THooks): THooks extends HostWorkflowHooksSpec ? HostSurface<THooks, InferSurfaceCapabilities<TSpec>> : HostSurface<undefined, InferSurfaceCapabilities<TSpec>>;
12
+ export declare function compileHostSurfaceFor<const TSpec extends HostSurfaceSpec, const THooks extends HostComponentHooksSpec | undefined = undefined>(ports: readonly [SchemaValidationPort], spec: TSpec, componentHooks?: THooks): THooks extends HostComponentHooksSpec ? HostSurface<THooks, InferSurfaceCapabilities<TSpec>> : HostSurface<undefined, InferSurfaceCapabilities<TSpec>>;
13
13
  //# sourceMappingURL=compileHostSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compileHostSurface.d.ts","sourceRoot":"","sources":["../../../src/application/useCases/compileHostSurface.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAoB7E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,KAAK,SAAS,eAAe,EACpE,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,GACV,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3D,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,KAAK,SAAS,eAAe,EACnC,KAAK,CAAC,MAAM,SAAS,qBAAqB,EAE1C,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,MAAM,GACpB,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAcxD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,KAAK,SAAS,eAAe,EACnC,KAAK,CAAC,MAAM,SAAS,qBAAqB,GAAG,SAAS,GAAG,SAAS,EAElE,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,SAAS,qBAAqB,GACnC,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,GACpD,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAQ1D"}
1
+ {"version":3,"file":"compileHostSurface.d.ts","sourceRoot":"","sources":["../../../src/application/useCases/compileHostSurface.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAoB1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,KAAK,SAAS,eAAe,EACpE,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,GACV,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3D,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,KAAK,SAAS,eAAe,EACnC,KAAK,CAAC,MAAM,SAAS,sBAAsB,EAE3C,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,MAAM,GACrB,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAcxD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,KAAK,SAAS,eAAe,EACnC,KAAK,CAAC,MAAM,SAAS,sBAAsB,GAAG,SAAS,GAAG,SAAS,EAEnE,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EACtC,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,SAAS,sBAAsB,GACpC,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,GACpD,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAQ1D"}
@@ -0,0 +1,3 @@
1
+ /** @see MICROVERSE_LUA_COMPONENT_SLOT_PRELUDE */
2
+ export declare const MICROVERSE_LUA_COMPONENT_SLOT_PRELUDE: string;
3
+ //# sourceMappingURL=componentSlotPrelude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentSlotPrelude.d.ts","sourceRoot":"","sources":["../../src/domain/componentSlotPrelude.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,eAAO,MAAM,qCAAqC,QAyF1C,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { LuaDefManifest } from '@microverse.ts/lua-defs';
2
- import { HostSurfaceSpec, HostWorkflowHooksSpec } from './hostSurfaceTypes.js';
2
+ import { HostSurfaceSpec, HostComponentHooksSpec } from './hostSurfaceTypes';
3
3
  export declare function buildLuaDefManifestFromHostSurfaceSpec(spec: HostSurfaceSpec, opts: {
4
4
  readonly output: string;
5
5
  readonly headerNote?: string | undefined;
6
6
  readonly luaTypeAliases?: Readonly<Record<string, string>> | undefined;
7
- }, workflowHooks?: HostWorkflowHooksSpec): LuaDefManifest;
7
+ }, componentHooks?: HostComponentHooksSpec): LuaDefManifest;
8
8
  //# sourceMappingURL=hostSurfaceManifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostSurfaceManifest.d.ts","sourceRoot":"","sources":["../../src/domain/hostSurfaceManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AA0DpF,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACxE,EACD,aAAa,CAAC,EAAE,qBAAqB,GACpC,cAAc,CAiGhB"}
1
+ {"version":3,"file":"hostSurfaceManifest.d.ts","sourceRoot":"","sources":["../../src/domain/hostSurfaceManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAwIlF,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACxE,EACD,cAAc,CAAC,EAAE,sBAAsB,GACtC,cAAc,CAsEhB"}
@@ -1,9 +1,10 @@
1
1
  import { LuaDefManifest } from '@microverse.ts/lua-defs';
2
+ import { ScriptInstanceContext } from '@microverse.ts/runtime-core';
2
3
  import { DeclarativeBridgeDeclaration } from '@microverse.ts/runtime-bridge';
3
4
  import { CapabilityId } from '@microverse.ts/runtime-capabilities';
4
5
  import { z } from 'zod';
5
- import { SurfaceCapabilityString } from './surfaceCapabilityString.js';
6
- import { WithMicroverseCapabilityRegistry } from './capabilityRegistrySymbol.js';
6
+ import { SurfaceCapabilityString } from './surfaceCapabilityString';
7
+ import { WithMicroverseCapabilityRegistry } from './capabilityRegistrySymbol';
7
8
  /**
8
9
  * Context passed to every surface `handler`: your typed host plus the active Lua **slot key** (string form).
9
10
  *
@@ -13,6 +14,8 @@ export type HostFnContext<THost> = {
13
14
  readonly host: THost;
14
15
  /** Stable slot identifier for this sandbox (same convention as `DeclarativeBridgeDeclaration`). */
15
16
  readonly slotKey: string;
17
+ /** Mounted script instance identity (audit, logging). */
18
+ readonly script: ScriptInstanceContext;
16
19
  };
17
20
  /**
18
21
  * Strongly typed description of one bridge method (produced by the fluent `.method(…)` builder).
@@ -83,10 +86,10 @@ export type HostSurfaceSpecForHost<THost> = Readonly<{
83
86
  }>;
84
87
  }>;
85
88
  /**
86
- * Zod object schemas keyed by PascalCase event kind (`OrderPlaced` → Lua method `onOrderPlaced` on the handler from `workflow:extend()`).
87
- * Passed as the second argument to {@link defineHostSurface} to emit workflow hook typings into `.d.lua`.
89
+ * Zod object schemas keyed by PascalCase event kind (`OrderPlaced` → Lua method `onOrderPlaced` on the component from `component:extend()`).
90
+ * Passed to {@link SurfaceBuilder.componentHooks} to emit domain event typings into `.d.lua`.
88
91
  */
89
- export type HostWorkflowHooksSpec = Readonly<Record<string, z.ZodObject<any>>>;
92
+ export type HostComponentHooksSpec = Readonly<Record<string, z.ZodObject<any>>>;
90
93
  /**
91
94
  * Bridge + manifest API shared by every {@link HostSurface} (with or without workflow hooks).
92
95
  *
@@ -123,12 +126,12 @@ export type HostSurfaceCore<TCapabilities extends CapabilityId = CapabilityId> =
123
126
  /**
124
127
  * Compiled host surface: bridge factories for `mergeEnv` plus manifest builder for `.d.lua` generation.
125
128
  *
126
- * @typeParam THooks - When you pass `workflowHooks` to {@link defineHostSurface}, the returned surface includes
127
- * `workflowHooks` so callers can type workflow events from the surface object alone.
129
+ * @typeParam THooks - When you pass `componentHooks` to {@link defineHostSurface}, the returned surface includes
130
+ * `componentHooks` so callers can type domain events from the surface object alone.
128
131
  * @typeParam TCapabilities - Capability ids declared on the surface (for script allowlists).
129
132
  */
130
- export type HostSurface<THooks extends HostWorkflowHooksSpec | undefined = undefined, TCapabilities extends CapabilityId = CapabilityId> = [undefined] extends [THooks] ? HostSurfaceCore<TCapabilities> : HostSurfaceCore<TCapabilities> & {
131
- readonly workflowHooks: THooks;
133
+ export type HostSurface<THooks extends HostComponentHooksSpec | undefined = undefined, TCapabilities extends CapabilityId = CapabilityId> = [undefined] extends [THooks] ? HostSurfaceCore<TCapabilities> : HostSurfaceCore<TCapabilities> & {
134
+ readonly componentHooks: THooks;
132
135
  };
133
136
  /** Options passed to {@link HostSurfaceCore.toLuaDefManifest}. */
134
137
  export type LuaDefManifestGeneratorOpts = Parameters<HostSurfaceCore['toLuaDefManifest']>[0];
@@ -1 +1 @@
1
- {"version":3,"file":"hostSurfaceTypes.d.ts","sourceRoot":"","sources":["../../src/domain/hostSurfaceTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hostSurfaceTypes.d.ts","sourceRoot":"","sources":["../../src/domain/hostSurfaceTypes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Lua convention for domain hooks: PascalCase event kind → method name `on{Kind}` on the workflow
3
- * handler table from `workflow:extend()` in each Lua slot (e.g. `OrderPlaced` → `onOrderPlaced`).
3
+ * component table from `component:extend()` in each Lua slot (e.g. `OrderPlaced` → `onOrderPlaced`).
4
4
  */
5
5
  export type LuaGlobalHookName<Kind extends string> = `on${Kind}`;
6
6
  /**
@@ -0,0 +1,6 @@
1
+ import { ScriptInstanceContext } from '@microverse.ts/runtime-core';
2
+ export declare const MICROVERSE_SCRIPT_CONTEXT: unique symbol;
3
+ export type WithMicroverseScriptContext = {
4
+ readonly [MICROVERSE_SCRIPT_CONTEXT]?: ScriptInstanceContext | undefined;
5
+ };
6
+ //# sourceMappingURL=scriptContextSymbol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptContextSymbol.d.ts","sourceRoot":"","sources":["../../src/domain/scriptContextSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,eAAO,MAAM,yBAAyB,eAAqC,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC1E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ScriptPropertyBag, ScriptPropertyValue } from '@microverse.ts/runtime-core';
2
+ export declare function scriptPropertyBagToMergeEnv(bag: ScriptPropertyBag): Record<string, unknown>;
3
+ export declare function scriptPropertyValueToPlain(value: ScriptPropertyValue): unknown;
4
+ export declare function mergeEnvSinkToScriptPropertyBag(sink: Record<string, unknown>): ScriptPropertyBag;
5
+ export declare function plainToScriptPropertyValue(value: unknown): ScriptPropertyValue | undefined;
6
+ //# sourceMappingURL=scriptPropertyMergeEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptPropertyMergeEnv.d.ts","sourceRoot":"","sources":["../../src/domain/scriptPropertyMergeEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM3F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAa9E;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,iBAAiB,CASnB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAgC1F"}
@@ -1,5 +1,5 @@
1
1
  import { CapabilityId } from '@microverse.ts/runtime-capabilities';
2
- import { HostSurfaceMethodEntry, HostSurfaceSpec } from './hostSurfaceTypes.js';
2
+ import { HostSurfaceMethodEntry, HostSurfaceSpec } from './hostSurfaceTypes';
3
3
  type InferMethodCapability<M> = M extends {
4
4
  readonly capability: infer C extends CapabilityId;
5
5
  } ? C : never;
@@ -1 +1 @@
1
- {"version":3,"file":"surfaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/domain/surfaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAwB,sBAAsB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE3G,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,YAAY,CAAA;CAAE,GAC3F,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,eAAe,IAAI,uBAAuB,CAC3F,KAAK,CAAC,MAAM,KAAK,CAAC,CACnB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,sCAAsC,CAAC,KAAK,CAAC,KAAK,SAAS,eAAe,EACxF,IAAI,EAAE,KAAK,GACV,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAgB5C;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,QAAQ,SAAS,SAAS,YAAY,EAAE,EAC9C,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,EAEhD,mBAAmB,EAAE,QAAQ,EAC7B,GAAG,YAAY,EAAE,CAAC,GACjB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAUxD;AAED,kFAAkF;AAClF,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,YAAY,IAAI,sBAAsB,CACpF,OAAO,EACP,OAAO,EACP,OAAO,CACR,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"surfaceCapabilities.d.ts","sourceRoot":"","sources":["../../src/domain/surfaceCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAwB,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAExG,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,YAAY,CAAA;CAAE,GAC3F,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,eAAe,IAAI,uBAAuB,CAC3F,KAAK,CAAC,MAAM,KAAK,CAAC,CACnB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,sCAAsC,CAAC,KAAK,CAAC,KAAK,SAAS,eAAe,EACxF,IAAI,EAAE,KAAK,GACV,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAgB5C;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,QAAQ,SAAS,SAAS,YAAY,EAAE,EAC9C,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,EAEhD,mBAAmB,EAAE,QAAQ,EAC7B,GAAG,YAAY,EAAE,CAAC,GACjB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAUxD;AAED,kFAAkF;AAClF,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,YAAY,IAAI,sBAAsB,CACpF,OAAO,EACP,OAAO,EACP,OAAO,CACR,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { CapabilityId } from '@microverse.ts/runtime-capabilities';
2
2
  import { z } from 'zod';
3
- import { HostFnContext, HostSurfaceMethodEntry } from './hostSurfaceTypes.js';
3
+ import { HostFnContext, HostSurfaceMethodEntry } from './hostSurfaceTypes';
4
4
  /**
5
5
  * Consumer-facing method definition for the fluent {@link SurfaceBuilder} API.
6
6
  * Use `requires: 'domain:action'` for the capability id.
@@ -1 +1 @@
1
- {"version":3,"file":"surfaceMethodDef.d.ts","sourceRoot":"","sources":["../../src/domain/surfaceMethodDef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,GAAG,EACH,IAAI,EACJ,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,IACxD;IACF,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;QAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EACL,GAAG,EACH,IAAI,EACJ,KAAK,CAAC,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EAExC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAC5C,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,CAW/D"}
1
+ {"version":3,"file":"surfaceMethodDef.d.ts","sourceRoot":"","sources":["../../src/domain/surfaceMethodDef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,GAAG,EACH,IAAI,EACJ,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,IACxD;IACF,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;QAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EACL,GAAG,EACH,IAAI,EACJ,KAAK,CAAC,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,EAExC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAC5C,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,CAW/D"}
package/dist/index.d.ts CHANGED
@@ -4,18 +4,22 @@
4
4
  *
5
5
  * @packageDocumentation
6
6
  */
7
- export { buildBridgeMergeEnvForHost, } from './infrastructure/builders/bridgeMergeEnv.js';
8
- export { BridgeBuilder, defineHostSurface, defineHostSurfaceFor, SurfaceBuilder, type AnyHostSurfaceMethod, type HostFnContext, type HostSurface, type HostSurfaceCore, type HostSurfaceMethodEntry, type HostSurfaceSpec, type HostSurfaceSpecForHost, type HostWorkflowHooksSpec, type LuaDefManifestGeneratorOpts, type SurfaceMethodDef, } from './infrastructure/builders/defineHostSurfaceFacade.js';
9
- export { compileHostSurface, compileHostSurfaceFor, } from './application/useCases/compileHostSurface.js';
10
- export { createBridgeDeclarationsFromHostSurfaceSpec } from './application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec.js';
11
- export type { SchemaValidationPort } from './application/ports/SchemaValidationPort.js';
12
- export { HostScriptSession, type HostScriptSessionOptions, type WorkflowHookInvokeArgs, } from './infrastructure/components/hostScriptSession.js';
13
- export { luaGlobalHookName, type LuaGlobalHookName } from './domain/luaGlobalHook.js';
14
- export { luaType } from './domain/zodLuaType.js';
15
- export { zodToLuaTypeRef, type ZodToLuaTypeRefOptions } from './domain/zodToLuaTypeRef.js';
16
- export { MICROVERSE_CAPABILITY_REGISTRY, type WithMicroverseCapabilityRegistry } from './domain/capabilityRegistrySymbol.js';
17
- export { augmentHostWithCapabilityRegistry } from './infrastructure/adapters/augmentHostWithCapabilityRegistry.js';
18
- export type { InferSurfaceCapabilities } from './domain/surfaceCapabilities.js';
19
- export type { SurfaceCapabilityString } from './domain/surfaceCapabilityString.js';
20
- export { collectCapabilitiesFromHostSurfaceSpec, pickSurfaceCapabilities } from './domain/surfaceCapabilities.js';
7
+ export { buildBridgeMergeEnvForHost, } from './infrastructure/builders/bridgeMergeEnv';
8
+ export { BridgeBuilder, defineHostSurface, defineHostSurfaceFor, SurfaceBuilder, type AnyHostSurfaceMethod, type HostFnContext, type HostSurface, type HostSurfaceCore, type HostSurfaceMethodEntry, type HostSurfaceSpec, type HostSurfaceSpecForHost, type HostComponentHooksSpec, type LuaDefManifestGeneratorOpts, type SurfaceMethodDef, } from './infrastructure/builders/defineHostSurfaceFacade';
9
+ export { compileHostSurface, compileHostSurfaceFor, } from './application/useCases/compileHostSurface';
10
+ export { createBridgeDeclarationsFromHostSurfaceSpec } from './application/useCases/compileBridgeDeclarationsFromHostSurfaceSpec';
11
+ export type { SchemaValidationPort } from './application/ports/SchemaValidationPort';
12
+ export { HostScriptSession, type HostScriptSessionOptions, type ComponentEventHookInvokeArgs, } from './infrastructure/components/hostScriptSession';
13
+ export { luaGlobalHookName, type LuaGlobalHookName } from './domain/luaGlobalHook';
14
+ export { luaType } from './domain/zodLuaType';
15
+ export { zodToLuaTypeRef, type ZodToLuaTypeRefOptions } from './domain/zodToLuaTypeRef';
16
+ export { MICROVERSE_CAPABILITY_REGISTRY, type WithMicroverseCapabilityRegistry } from './domain/capabilityRegistrySymbol';
17
+ export { augmentHostWithCapabilityRegistry } from './infrastructure/adapters/augmentHostWithCapabilityRegistry';
18
+ export { augmentHostWithScriptContext } from './infrastructure/adapters/augmentHostWithScriptContext';
19
+ export { MICROVERSE_LUA_COMPONENT_SLOT_PRELUDE } from './domain/componentSlotPrelude';
20
+ export { mergeEnvSinkToScriptPropertyBag, scriptPropertyBagToMergeEnv, scriptPropertyValueToPlain, } from './domain/scriptPropertyMergeEnv';
21
+ export { MICROVERSE_SCRIPT_CONTEXT, type WithMicroverseScriptContext } from './domain/scriptContextSymbol';
22
+ export type { InferSurfaceCapabilities } from './domain/surfaceCapabilities';
23
+ export type { SurfaceCapabilityString } from './domain/surfaceCapabilityString';
24
+ export { collectCapabilitiesFromHostSurfaceSpec, pickSurfaceCapabilities } from './domain/surfaceCapabilities';
21
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,0BAA0B,GAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACtB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,2CAA2C,EAAE,MAAM,wEAAwE,CAAC;AACrI,YAAY,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,KAAK,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AAC7H,OAAO,EAAE,iCAAiC,EAAE,MAAM,gEAAgE,CAAC;AACnH,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,YAAY,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,0BAA0B,GAC3B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,GACtB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,2CAA2C,EAAE,MAAM,qEAAqE,CAAC;AAClI,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,GAClC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,KAAK,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAC1H,OAAO,EAAE,iCAAiC,EAAE,MAAM,6DAA6D,CAAC;AAChH,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3G,YAAY,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,YAAY,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}