@pogodisco/zephyr 1.5.10 → 1.5.13

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.
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Module } from "./workflow-module.js";
2
2
  export declare function generateWorkflowId(name: string): string;
3
- export declare function exposeAll<Name extends string, M extends Module<any, any, any, any>>(name: Name, mod: M): Record<`${Name}.${keyof M["workflows"] & string}`, `${Name}.${keyof M["workflows"] & string}`>;
4
- export declare function exposeAllAs<Name extends string, M extends Module<any, any, any, any>>(name: Name, mod: M): Record<keyof M["workflows"] & string, `${Name}.${keyof M["workflows"] & string}`>;
3
+ export declare function exposeAll<Name extends string, M extends Module<any, any, any, any, any>>(name: Name, mod: M): Record<`${Name}.${keyof M["workflows"] & string}`, `${Name}.${keyof M["workflows"] & string}`>;
4
+ export declare function exposeAllAs<Name extends string, M extends Module<any, any, any, any, any>>(name: Name, mod: M): Record<keyof M["workflows"] & string, `${Name}.${keyof M["workflows"] & string}`>;
@@ -1,27 +1,28 @@
1
1
  import { ActionRegistry, ServiceRegistry, Executor, Simplify, WorkflowObserver } from "./types.js";
2
2
  import { createWorkflow, WorkflowDef } from "./workflow-composer.js";
3
3
  type UnionToIntersection<U> = (U extends any ? (x: U) => any : never) extends (x: infer I) => any ? I : never;
4
- type EnsureWorkflowShape<T> = {
4
+ export type EnsureWorkflowShape<T> = {
5
5
  [K in keyof T]: T[K] extends WorkflowDef<any, any, any, any, any> ? T[K] : never;
6
6
  };
7
- type DepWorkflows<Deps extends ModuleMap> = keyof Deps extends never ? {} : Simplify<EnsureWorkflowShape<UnionToIntersection<{
7
+ export type DepWorkflows<Deps extends ModuleMap> = keyof Deps extends never ? {} : Simplify<EnsureWorkflowShape<UnionToIntersection<{
8
8
  [D in keyof Deps & string]: {
9
9
  [K in keyof Deps[D]["__public"] & string as `${D}.${K}`]: Deps[D]["__public"][K];
10
10
  };
11
11
  }[keyof Deps & string]>>>;
12
- type AnyWorkflow = WorkflowDef<any, any, any, any, any>;
13
- type ModuleShape = Record<string, AnyWorkflow>;
14
- type ModuleMap = Record<string, Module<any, any, any, any>>;
15
- type FinalServices<S extends ServiceRegistry, Deps extends ModuleMap> = S & ServicesFromDepsRecursive<Deps>;
16
- type ServicesFromDepsRecursive<Deps extends ModuleMap> = [keyof Deps] extends [
17
- never
18
- ] ? {} : UnionToIntersection<{
19
- [K in keyof Deps]: Deps[K] extends Module<any, infer S, any, infer SubDeps> ? S & ServicesFromDepsRecursive<SubDeps> : never;
12
+ export type WorkflowRegistry<Own extends ModuleShape, Deps extends ModuleMap> = Own & DepWorkflows<Deps>;
13
+ export type AnyWorkflow = WorkflowDef<any, any, any, any, any>;
14
+ export type ModuleShape = Record<string, AnyWorkflow>;
15
+ export type ModuleMap = Record<string, Module<any, any, any, any, ModuleShape>>;
16
+ export type FinalServices<S extends ServiceRegistry, Deps extends ModuleMap> = S & ServicesFromDepsRecursive<Deps>;
17
+ export type ServicesFromDepsRecursive<Deps extends ModuleMap> = [
18
+ keyof Deps
19
+ ] extends [never] ? {} : UnionToIntersection<{
20
+ [K in keyof Deps]: Deps[K] extends Module<any, infer S, any, infer SubDeps, any> ? S & ServicesFromDepsRecursive<SubDeps> : never;
20
21
  }[keyof Deps]>;
21
22
  export type WorkflowInput<W> = W extends WorkflowDef<any, infer I, any, any, any> ? I : never;
22
23
  export type WorkflowResults<W> = W extends WorkflowDef<any, any, infer R, any, any> ? R : never;
23
24
  export type WorkflowOutput<W> = W extends WorkflowDef<any, any, any, any, infer O> ? O : never;
24
- export type Module<Reg extends ActionRegistry, S extends ServiceRegistry, Own extends ModuleShape, Deps extends ModuleMap, Public extends ModuleShape = Own> = {
25
+ export type Module<Reg extends ActionRegistry, S extends ServiceRegistry, Own extends ModuleShape, Deps extends ModuleMap, Public extends ModuleShape> = {
25
26
  workflows: Own;
26
27
  __public: Public;
27
28
  __getExecutor: () => Executor;
@@ -35,11 +36,11 @@ export type Module<Reg extends ActionRegistry, S extends ServiceRegistry, Own ex
35
36
  getServices: () => FinalServices<S, Deps>;
36
37
  };
37
38
  };
38
- type ModuleContext<Reg extends ActionRegistry, WFReg extends Record<string, WorkflowDef<any, any, any, any, any>>, S extends ServiceRegistry> = {
39
+ export type ModuleContext<Reg extends ActionRegistry, WFReg extends Record<string, WorkflowDef<any, any, any, any, any>>, S extends ServiceRegistry> = {
39
40
  wf: ReturnType<typeof createWorkflow<Reg, WFReg, S>>;
40
41
  services: S;
41
42
  };
42
- type ExposedWorkflows<Own extends ModuleShape, Use extends ModuleMap, Expose extends Record<string, keyof DepWorkflows<Use>> | undefined> = Own & (Expose extends Record<string, keyof DepWorkflows<Use>> ? {
43
+ export type ExposedWorkflows<Own extends ModuleShape, Use extends ModuleMap, Expose extends Record<string, keyof DepWorkflows<Use>> | undefined> = Own & (Expose extends Record<string, keyof DepWorkflows<Use>> ? {
43
44
  [K in keyof Expose]: DepWorkflows<Use>[Expose[K]];
44
45
  } : {});
45
46
  export declare function createModuleFactory<S extends ServiceRegistry>(): <Reg extends ActionRegistry = Record<string, any>, Use extends ModuleMap = {}, Own extends ModuleShape = {}, Expose extends Record<string, keyof DepWorkflows<Use>> | undefined = undefined>(config: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pogodisco/zephyr",
3
- "version": "1.5.10",
3
+ "version": "1.5.13",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },