@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
@@ -1,94 +1,49 @@
1
1
  import { CapabilityId, InMemoryCapabilityRegistry } from '@microverse.ts/runtime-capabilities';
2
2
  import { Result } from '@microverse.ts/shared';
3
3
  import { z } from 'zod';
4
- import { ExecutionFailure, RunScriptResult, MicroverseId, MicroverseRuntime, TimeoutPolicy } from '@microverse.ts/runtime-core';
5
- import { HostSurface, HostWorkflowHooksSpec } from '../../domain/hostSurfaceTypes.js';
6
- import { LuaGlobalHookName } from '../../domain/luaGlobalHook.js';
7
- /**
8
- * Tuple accepted by {@link HostScriptSession.invokeGlobalHookIfPresent} when the session is specialised with
9
- * the same Zod map as {@link HostSurface} `workflowHooks` on the surface you pass in.
10
- */
11
- export type WorkflowHookInvokeArgs<TH extends HostWorkflowHooksSpec> = {
4
+ import { ExecutionFailure, RunScriptResult, MicroverseId, MicroverseRuntime, ScriptAuditEvent, ScriptInstanceContext, ScriptPropertyBag, ScriptPropertyValue, TimeoutPolicy } from '@microverse.ts/runtime-core';
5
+ import { HostSurface, HostComponentHooksSpec } from '../../domain/hostSurfaceTypes';
6
+ import { LuaGlobalHookName } from '../../domain/luaGlobalHook';
7
+ export type ComponentEventHookInvokeArgs<TH extends HostComponentHooksSpec> = {
12
8
  [K in keyof TH & string]: readonly [hook: LuaGlobalHookName<K>, payload: Readonly<z.infer<TH[K]>>];
13
9
  }[keyof TH & string];
14
- type InvokeGlobalHookIfPresentFn<THooks extends HostWorkflowHooksSpec | undefined> = THooks extends HostWorkflowHooksSpec ? (...args: WorkflowHookInvokeArgs<THooks>) => Promise<Result<RunScriptResult, ExecutionFailure>> : (globalName: string, payload: Readonly<Record<string, string | number | boolean>>) => Promise<Result<RunScriptResult, ExecutionFailure>>;
15
- /**
16
- * Options for {@link HostScriptSession}: one Wasm (or other) slot, a surface, host services, and a capability allowlist.
17
- *
18
- * @typeParam THost - Your engine context; must match the `THost` used in {@link defineHostSurfaceFor} (or {@link defineHostSurface}).
19
- * @typeParam THooks - When the surface was built with workflow hooks, pass the same `THooks` so {@link HostScriptSession.invokeGlobalHookIfPresent} narrows to those payloads (match `surface`’s `workflowHooks` typing).
20
- */
21
- export type HostScriptSessionOptions<THost, THooks extends HostWorkflowHooksSpec | undefined = undefined> = {
22
- /** Shared runtime (typically one Wasmoon VM for many slots). */
10
+ type InvokeComponentEventHookFn<THooks extends HostComponentHooksSpec | undefined> = THooks extends HostComponentHooksSpec ? (...args: ComponentEventHookInvokeArgs<THooks>) => Promise<Result<RunScriptResult, ExecutionFailure>> : (hookName: string, payload: Readonly<Record<string, string | number | boolean>>) => Promise<Result<RunScriptResult, ExecutionFailure>>;
11
+ export type HostScriptSessionOptions<THost, THooks extends HostComponentHooksSpec | undefined = undefined> = {
23
12
  readonly runtime: MicroverseRuntime;
24
- /** Surface produced by {@link defineHostSurface}. */
25
13
  readonly surface: HostSurface<THooks>;
26
- /** Host services passed into bridge handlers (orders, clock, …). */
27
14
  readonly host: THost;
28
- /** Stable sandbox id for this script / workflow / entity. */
29
15
  readonly slotKey: MicroverseId;
30
- /** Exact capability ids this session may invoke on any bridge method. */
31
16
  readonly allowedCapabilities: readonly CapabilityId[];
32
- /** Optional default timeout forwarded to {@link MicroverseSlot.run}. */
33
17
  readonly defaultTimeout?: TimeoutPolicy | undefined;
18
+ readonly script: ScriptInstanceContext;
19
+ readonly enableComponentRuntime?: boolean | undefined;
20
+ readonly propsSchema?: z.ZodObject<z.ZodRawShape> | undefined;
21
+ readonly onScriptAudit?: ((event: ScriptAuditEvent) => void) | undefined;
34
22
  };
35
- /**
36
- * Binds one **Lua slot** to a {@link HostSurface}: capability allowlist, Zod validation, and `mergeEnv` wiring.
37
- *
38
- * @remarks
39
- * - **Lua → host (bridges):** tables/methods from {@link defineHostSurface} on `_ENV` call into TypeScript with Zod validation.
40
- * - **Host → Lua (hooks):** when the surface defines `workflowHooks`, {@link HostScriptSession.openSession} installs
41
- * a small `workflow` helper (`workflow:extend()` → handler table + slot registration) and
42
- * {@link HostScriptSession.invokeGlobalHookIfPresent} dispatches `on…` methods on that table. Each session has its own
43
- * slot env, so many workflows run concurrently without sharing Lua globals. Without `workflowHooks`, hooks are optional
44
- * globals (`onSmoke`, …) invoked as plain functions.
45
- * - Call {@link HostScriptSession.openSession} once before running chunks or invocations; {@link HostScriptSession.dispose} when the slot is torn down.
46
- *
47
- * @typeParam THost - Same host type as your surface handlers.
48
- * @typeParam THooks - Align with {@link HostSurface} `workflowHooks` on the surface you pass in (or `undefined` when the surface has no workflow hooks).
49
- */
50
- export declare class HostScriptSession<THost, THooks extends HostWorkflowHooksSpec | undefined = undefined> {
23
+ export declare class HostScriptSession<THost, THooks extends HostComponentHooksSpec | undefined = undefined> {
51
24
  private readonly opts;
52
25
  private sandbox;
26
+ private readonly hostProps;
53
27
  private readonly registry;
28
+ readonly context: ScriptInstanceContext;
54
29
  constructor(opts: HostScriptSessionOptions<THost, THooks>);
55
- /**
56
- * Allocates the underlying {@link MicroverseSlot} for this `slotKey` on the shared runtime.
57
- */
58
30
  readonly openSession: () => Promise<void>;
59
- /**
60
- * Exposes the in-memory registry (e.g. to mutate allowlists in advanced tests).
61
- */
62
31
  readonly getCapabilityRegistry: () => InMemoryCapabilityRegistry;
63
32
  private requireMicroverseSlot;
64
33
  private mergeEnv;
65
- /**
66
- * Executes Lua source in the slot environment with surface bridges on `_ENV`.
67
- *
68
- * @param source - Full Lua chunk (compiled with `load(..., "t", env)` in the Wasm adapter).
69
- */
34
+ private emitAudit;
35
+ private validatePropsBag;
36
+ readonly getProps: () => Readonly<ScriptPropertyBag>;
37
+ readonly setProps: (bag: ScriptPropertyBag) => Promise<void>;
38
+ readonly patchProps: (partial: ScriptPropertyBag) => Promise<void>;
39
+ readonly flushDirtyProps: () => Promise<ScriptPropertyBag | null>;
70
40
  readonly runChunk: (source: string) => Promise<Result<RunScriptResult, ExecutionFailure>>;
71
- /**
72
- * Host → Lua: when the surface has `workflowHooks`, invokes `impl:onHook(evt)` on the handler table registered by
73
- * `workflow:extend()` in this slot. Otherwise invokes `_ENV[globalName](evt)` when that entry is a function.
74
- *
75
- * @param globalName - Hook method name, e.g. `onOrderPlaced` (same as {@link luaGlobalHookName}).
76
- * @param payload - Table fields: only string, finite number, or boolean (Lua literals).
77
- */
78
- readonly invokeGlobalHookIfPresent: InvokeGlobalHookIfPresentFn<THooks>;
79
- /**
80
- * Host → Lua: invokes `_ENV[tableName][methodName](literalTable)` where `literalTable` is built only from
81
- * string, finite number, or boolean fields in `payload`.
82
- *
83
- * @param tableName - Global table name in the slot env.
84
- * @param methodName - Function field on that table.
85
- * @param payload - Plain serializable fields for the Lua table literal.
86
- */
41
+ readonly invokeComponentHook: (hookName: string, ...args: (string | ScriptPropertyValue | Readonly<Record<string, string | number | boolean>>)[]) => Promise<Result<RunScriptResult, ExecutionFailure>>;
42
+ readonly invokeComponentEventHook: InvokeComponentEventHookFn<THooks>;
87
43
  readonly call: (tableName: string, methodName: string, payload: Record<string, unknown>) => Promise<Result<RunScriptResult, ExecutionFailure>>;
88
- /**
89
- * Releases the slot in the runtime adapter and clears the session handle.
90
- */
91
44
  readonly dispose: () => Promise<void>;
45
+ /** Seeds host props bag without Lua sync (call before setProps after mount). */
46
+ readonly seedHostProps: (bag: ScriptPropertyBag) => void;
92
47
  }
93
48
  export {};
94
49
  //# sourceMappingURL=hostScriptSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostScriptSession.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/components/hostScriptSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hostScriptSession.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/components/hostScriptSession.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@microverse.ts/host-surface",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
- "description": "Declarative host surface (Zod + capabilities) bridge tables and LuaDefManifest for .d.lua.",
7
+ "description": "Fluent host surface DSL: Zod bridges, capability checks, component hooks, and LuaDefManifest for runtime + LuaLS stubs.",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/QADRAX/Microverse.ts.git",
@@ -27,18 +27,19 @@
27
27
  ],
28
28
  "dependencies": {
29
29
  "zod": "^3.24.0",
30
- "@microverse.ts/lua-defs": "0.1.0",
31
- "@microverse.ts/runtime-capabilities": "0.1.0",
32
- "@microverse.ts/runtime-bridge": "0.1.0",
33
- "@microverse.ts/runtime-core": "0.1.0",
34
- "@microverse.ts/shared": "0.1.0",
35
- "@microverse.ts/runtime-zod": "0.1.0"
30
+ "@microverse.ts/lua-defs": "0.2.0",
31
+ "@microverse.ts/runtime-bridge": "0.2.0",
32
+ "@microverse.ts/runtime-capabilities": "0.2.0",
33
+ "@microverse.ts/runtime-core": "0.2.0",
34
+ "@microverse.ts/runtime-zod": "0.2.0",
35
+ "@microverse.ts/shared": "0.2.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "typescript": "^5.8.3",
39
39
  "vite": "^8.0.0",
40
40
  "vite-plugin-dts": "^4.5.4",
41
- "vitest": "^3.1.4"
41
+ "vitest": "^3.1.4",
42
+ "@microverse.ts/runtime-wasm": "0.2.0"
42
43
  },
43
44
  "scripts": {
44
45
  "build": "vite build",