@wpkernel/pipeline 0.12.1-beta.0 → 0.12.1-beta.3

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 (43) hide show
  1. package/README.md +15 -0
  2. package/dist/createExtension.d.ts +4 -3
  3. package/dist/createExtension.d.ts.map +1 -1
  4. package/dist/createExtension.js +20 -11
  5. package/dist/createPipeline.d.ts +28 -188
  6. package/dist/createPipeline.d.ts.map +1 -1
  7. package/dist/createPipeline.js +81 -402
  8. package/dist/extensions/index.d.ts +3 -0
  9. package/dist/extensions/index.d.ts.map +1 -0
  10. package/dist/extensions/index.js +8 -0
  11. package/dist/extensions/official.d.ts +73 -0
  12. package/dist/extensions/official.d.ts.map +1 -0
  13. package/dist/extensions/official.js +111 -0
  14. package/dist/extensions.d.ts +6 -2
  15. package/dist/extensions.d.ts.map +1 -1
  16. package/dist/extensions.js +50 -45
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +18 -16
  20. package/dist/internal/diagnostic-manager.d.ts +29 -0
  21. package/dist/internal/diagnostic-manager.d.ts.map +1 -0
  22. package/dist/internal/diagnostic-manager.js +94 -0
  23. package/dist/internal/diagnostic-manager.types.d.ts +70 -0
  24. package/dist/internal/diagnostic-manager.types.d.ts.map +1 -0
  25. package/dist/internal/extension-coordinator.d.ts +21 -0
  26. package/dist/internal/extension-coordinator.d.ts.map +1 -0
  27. package/dist/internal/extension-coordinator.js +55 -0
  28. package/dist/internal/extension-coordinator.types.d.ts +42 -0
  29. package/dist/internal/extension-coordinator.types.d.ts.map +1 -0
  30. package/dist/internal/helper-execution.d.ts +32 -0
  31. package/dist/internal/helper-execution.d.ts.map +1 -0
  32. package/dist/internal/helper-execution.js +37 -0
  33. package/dist/internal/pipeline-runner.d.ts +18 -0
  34. package/dist/internal/pipeline-runner.d.ts.map +1 -0
  35. package/dist/internal/pipeline-runner.js +261 -0
  36. package/dist/internal/pipeline-runner.types.d.ts +79 -0
  37. package/dist/internal/pipeline-runner.types.d.ts.map +1 -0
  38. package/dist/registration.d.ts +3 -2
  39. package/dist/registration.d.ts.map +1 -1
  40. package/dist/registration.js +38 -27
  41. package/dist/types.d.ts +14 -1
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +8 -3
package/README.md CHANGED
@@ -86,6 +86,21 @@ console.log(result.artifact.result); // "item1, item2"
86
86
  - **Typed contracts** – helper descriptors, execution metadata, and diagnostics surfaces are
87
87
  fully typed for TypeScript consumers.
88
88
 
89
+ ## Official extension incubator
90
+
91
+ The package owns an `src/extensions/` workspace where internal extensions are designed before
92
+ being promoted to standalone packages. The directory ships a README that documents authoring
93
+ guidelines and an [`official.ts`](./src/extensions/official.ts) catalogue describing the
94
+ blueprints for:
95
+
96
+ - a live runner extension that streams reporter events to interactive renderers;
97
+ - a deterministic concurrency scheduler;
98
+ - additional integration blueprints for telemetry and runtime adapters.
99
+
100
+ Consumers can import the catalogue through `@wpkernel/pipeline/extensions` to understand the
101
+ contracts and helper annotations each extension expects while we finalise their
102
+ implementations.
103
+
89
104
  ## Consumers
90
105
 
91
106
  - `@wpkernel/cli` (code generation pipeline, codemod entry points)
@@ -1,13 +1,14 @@
1
- import { MaybePromise, PipelineExtension, PipelineExtensionHook } from './types.js';
1
+ import { MaybePromise, PipelineExtension, PipelineExtensionHook, PipelineExtensionHookRegistration, PipelineExtensionLifecycle } from './types.js';
2
2
  interface CreatePipelineExtensionBaseOptions {
3
3
  readonly key?: string;
4
4
  }
5
5
  interface CreatePipelineExtensionWithRegister<TPipeline, TContext, TOptions, TArtifact> extends CreatePipelineExtensionBaseOptions {
6
- readonly register: (pipeline: TPipeline) => MaybePromise<void | PipelineExtensionHook<TContext, TOptions, TArtifact>>;
6
+ readonly register: (pipeline: TPipeline) => MaybePromise<void | PipelineExtensionHook<TContext, TOptions, TArtifact> | PipelineExtensionHookRegistration<TContext, TOptions, TArtifact>>;
7
7
  }
8
8
  interface CreatePipelineExtensionWithSetup<TPipeline, TContext, TOptions, TArtifact> extends CreatePipelineExtensionBaseOptions {
9
9
  readonly setup?: (pipeline: TPipeline) => MaybePromise<void>;
10
- readonly hook?: PipelineExtensionHook<TContext, TOptions, TArtifact>;
10
+ readonly hook?: PipelineExtensionHook<TContext, TOptions, TArtifact> | PipelineExtensionHookRegistration<TContext, TOptions, TArtifact>;
11
+ readonly lifecycle?: PipelineExtensionLifecycle;
11
12
  }
12
13
  export type CreatePipelineExtensionOptions<TPipeline, TContext, TOptions, TArtifact> = CreatePipelineExtensionWithRegister<TPipeline, TContext, TOptions, TArtifact> | CreatePipelineExtensionWithSetup<TPipeline, TContext, TOptions, TArtifact>;
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../src/createExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,mCAAmC,CAC5C,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAClB,QAAQ,EAAE,SAAS,KACf,YAAY,CAAC,IAAI,GAAG,qBAAqB,CAC7C,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,CAAC,CAAC;CACH;AAED,UAAU,gCAAgC,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACrE;AAED,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,IAEP,mCAAmC,CACnC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,GACD,gCAAgC,CAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoJG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,OAAO,EAAE,8BAA8B,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,GACC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAsB7D"}
1
+ {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../src/createExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,mCAAmC,CAC5C,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAClB,QAAQ,EAAE,SAAS,KACf,YAAY,CACd,IAAI,GACJ,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAClE,CAAC;CACF;AAED,UAAU,gCAAgC,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EACX,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,IAEP,mCAAmC,CACnC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,GACD,gCAAgC,CAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoJG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,OAAO,EAAE,8BAA8B,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,GACC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAoD7D"}
@@ -1,23 +1,32 @@
1
- import { isPromiseLike as u } from "./async-utils.js";
1
+ import { isPromiseLike as f } from "./async-utils.js";
2
2
  /**
3
3
  * @wpkernel/pipeline
4
4
  * @license EUPL-1.2
5
5
  */
6
- function c(e) {
7
- if ("register" in e)
6
+ function l(r) {
7
+ if ("register" in r)
8
8
  return {
9
- key: e.key,
10
- register: e.register
9
+ key: r.key,
10
+ register: r.register
11
11
  };
12
- const { key: i, setup: n, hook: t } = e;
12
+ const { key: o, setup: u, hook: e, lifecycle: t } = r;
13
13
  return {
14
- key: i,
15
- register(s) {
16
- const r = n?.(s);
17
- return r && u(r) ? r.then(() => t) : t;
14
+ key: o,
15
+ register(c) {
16
+ const n = () => {
17
+ if (e)
18
+ return typeof e == "function" ? t ? {
19
+ lifecycle: t,
20
+ hook: e
21
+ } : e : {
22
+ lifecycle: e.lifecycle ?? t,
23
+ hook: e.hook
24
+ };
25
+ }, i = u?.(c);
26
+ return i && f(i) ? i.then(n) : n();
18
27
  }
19
28
  };
20
29
  }
21
30
  export {
22
- c as createPipelineExtension
31
+ l as createPipelineExtension
23
32
  };
@@ -1,203 +1,43 @@
1
1
  import { CreatePipelineOptions, Helper, HelperKind, Pipeline, PipelineDiagnostic, PipelineReporter, PipelineRunState } from './types';
2
2
  /**
3
- * Creates a pipeline orchestrator-the execution engine that powers WPKernel's entire code generation infrastructure.
3
+ * Creates a pipeline orchestrator-the execution engine that powers WPKernel's code generation stack.
4
4
  *
5
- * ## Why Pipelines Matter
6
- *
7
- * The pipeline system is the **single most critical component** of the framework:
8
- *
9
- * - **CLI package**: Every generator (`wpk generate resource`, `wpk generate action`, etc.) runs on pipeline
10
- * - **PHP Driver**: All PHP AST transformations flow through pipeline helpers
11
- * - **Core package**: Resource definitions, action middleware, and capability proxies leverage pipeline
12
- * - **Future-proof**: Designed to extract into standalone `@wpkernel/pipeline` package
13
- *
14
- * Pipelines provide:
15
- * 1. **Dependency resolution**: Topologically sorts helpers based on `dependsOn` declarations
16
- * 2. **Priority ordering**: Executes helpers in deterministic order via priority values
17
- * 3. **Error recovery**: Automatic rollback on failure via commit/rollback protocol
18
- * 4. **Diagnostics**: Built-in error tracking with reporter integration
19
- * 5. **Extensibility**: Plugin-style extensions via hooks (pre-run, post-build, etc.)
20
- *
21
- * ## Architecture
22
- *
23
- * A pipeline consists of three phases:
24
- *
25
- * ### 1. Registration Phase
26
- * ```
27
- * pipeline.registerFragment(helper1)
28
- * pipeline.registerBuilder(helper2)
29
- * ```
30
- * Helpers are collected but not executed. Dependency graph is constructed.
31
- *
32
- * ### 2. Execution Phase
33
- * ```
34
- * const result = await pipeline.run(options)
35
- * ```
36
- * - Validates dependency graph (detects missing deps, cycles)
37
- * - Sorts helpers topologically
38
- * - Runs fragment helpers to transform AST
39
- * - Runs builder helpers to produce artifacts
40
- * - Commits successful results
41
- *
42
- * ### 3. Rollback Phase (on error)
43
- * ```
44
- * // Automatic on failure
45
- * ```
46
- * - Walks back through executed helpers in reverse order
47
- * - Invokes rollback functions to undo side effects
48
- * - Aggregates diagnostics for debugging
49
- *
50
- * ## Extension System
51
- *
52
- * Pipelines support hooks that intercept execution at key points:
53
- *
54
- * - `pre-run`: Before any helpers execute (validation, setup)
55
- * - `post-fragment`: After fragment helpers complete (AST inspection)
56
- * - `post-builder`: After builder helpers complete (artifact transformation)
57
- * - `pre-commit`: Before committing results (final validation)
58
- *
59
- * Extensions enable:
60
- * - Custom validation logic
61
- * - Third-party integrations (ESLint, Prettier, type checkers)
62
- * - Conditional execution (feature flags, environment checks)
63
- * - Artifact post-processing (minification, bundling)
64
- *
65
- * ## Type Safety
66
- *
67
- * The pipeline is fully generic across 16 type parameters, enabling:
68
- * - Type-safe context sharing between helpers
69
- * - Strongly-typed input/output contracts
70
- * - Custom reporter integration (LogLayer, console, etc.)
71
- * - Flexible artifact types (strings, AST nodes, binary data)
72
- *
73
- * ## Performance
74
- *
75
- * - **Lazy execution**: Helpers only run when `pipeline.run()` is called
76
- * - **Incremental registration**: Add helpers at any time before execution
77
- * - **Async support**: Mix sync and async helpers seamlessly
78
- * - **Memory efficiency**: Helpers are immutable descriptors (no closures)
79
- *
80
- * @param options
81
- * @category Pipeline
82
- *
83
- * @example Basic pipeline setup
84
- * ```typescript
85
- * import { createPipeline, createHelper } from '@wpkernel/core/pipeline';
86
- * import { createReporter } from '@wpkernel/core';
87
- *
88
- * interface MyContext {
89
- * reporter: ReturnType<typeof createReporter>;
90
- * namespace: string;
91
- * }
5
+ * The pipeline coordinates helper registration, dependency resolution, execution, diagnostics, and
6
+ * extension hooks. Refer to the package README for a full walkthrough and advanced usage examples.
92
7
  *
8
+ * @example
9
+ * ```ts
93
10
  * const pipeline = createPipeline({
94
11
  * fragmentKind: 'fragment',
95
12
  * builderKind: 'builder',
96
- *
97
- * createContext: (reporter) => ({
98
- * reporter,
99
- * namespace: 'MyPlugin',
13
+ * createContext: () => ({ reporter }),
14
+ * createFragmentState: () => ({}),
15
+ * finalizeFragmentState: ({ draft }) => draft,
16
+ * createRunResult: ({ artifact, diagnostics }) => ({ artifact, diagnostics }),
17
+ * createBuildOptions: () => ({}),
18
+ * createFragmentArgs: ({ helper, draft, context }) => ({
19
+ * helper,
20
+ * context,
21
+ * options: {},
22
+ * buildOptions: {},
23
+ * draft,
100
24
  * }),
101
- *
102
- * buildFragment: (ctx, opts) => {
103
- * // Transform AST node
104
- * const fragment = opts.input;
105
- * fragment.namespace = ctx.namespace;
106
- * return { fragment };
107
- * },
108
- *
109
- * buildArtifact: (ctx, opts) => {
110
- * // Generate final PHP code
111
- * const code = opts.draft.toString();
112
- * return { artifact: code };
113
- * },
114
- * });
115
- *
116
- * // Register helpers
117
- * pipeline.registerFragment(addPHPTagHelper);
118
- * pipeline.registerFragment(addNamespaceHelper);
119
- * pipeline.registerBuilder(writeFileHelper);
120
- *
121
- * // Execute
122
- * const result = await pipeline.run({ input: myAST });
123
- * console.log(result.artifact); // Generated PHP code
124
- * ```
125
- *
126
- * @example Pipeline with extensions
127
- * ```typescript
128
- * const pipeline = createPipeline({
129
- * // ... base config ...
130
- *
131
- * extensions: [
132
- * {
133
- * key: 'eslint-validation',
134
- * hooks: {
135
- * 'post-builder': async ({ artifact, context }) => {
136
- * const lintResult = await eslint.lintText(artifact);
137
- * if (lintResult.errorCount > 0) {
138
- * throw new Error('Linting failed');
139
- * }
140
- * return { artifact };
141
- * },
142
- * },
143
- * },
144
- * ],
145
- * });
146
- * ```
147
- *
148
- * @example Error handling with rollback
149
- * ```typescript
150
- * const result = await pipeline.run({ input: myAST });
151
- *
152
- * if (!result.success) {
153
- * console.error('Pipeline failed:', result.diagnostics);
154
- * // Rollback already executed automatically
155
- * // Files restored, temp resources cleaned up
156
- * } else {
157
- * console.log('Success:', result.artifact);
158
- * // All commit functions executed
159
- * }
160
- * ```
161
- *
162
- * @example Real-world CLI usage
163
- * ```typescript
164
- * // This is how `wpk generate resource` works internally:
165
- *
166
- * const resourcePipeline = createPipeline({
167
- * fragmentKind: 'fragment',
168
- * builderKind: 'builder',
169
- * createContext: (reporter) => ({
170
- * reporter,
171
- * config: loadKernelConfig(),
25
+ * createBuilderArgs: ({ helper, artifact, context }) => ({
26
+ * helper,
27
+ * context,
28
+ * options: {},
29
+ * buildOptions: {},
30
+ * artifact,
172
31
  * }),
173
- * buildFragment: (ctx, opts) => {
174
- * // Build PHP AST for resource class
175
- * return buildResourceClass(opts.input, ctx.config);
176
- * },
177
- * buildArtifact: async (ctx, opts) => {
178
- * // Convert AST to PHP code
179
- * const code = await printPhpAst(opts.draft);
180
- * return { artifact: code };
181
- * },
182
32
  * });
183
33
  *
184
- * // Register standard helpers
185
- * resourcePipeline.registerFragment(phpOpeningTagHelper);
186
- * resourcePipeline.registerFragment(namespaceHelper);
187
- * resourcePipeline.registerFragment(useStatementsHelper);
188
- * resourcePipeline.registerFragment(classDefinitionHelper);
189
- * resourcePipeline.registerBuilder(writeFileHelper);
190
- * resourcePipeline.registerBuilder(formatCodeHelper);
191
- *
192
- * // User can inject custom helpers via config
193
- * const userHelpers = loadUserHelpers();
194
- * userHelpers.forEach(h => resourcePipeline.registerFragment(h));
195
- *
196
- * // Execute generation
197
- * const result = await resourcePipeline.run({
198
- * input: { name: 'Post', endpoint: '/posts' }
199
- * });
34
+ * pipeline.ir.use(createHelper({...}));
35
+ * pipeline.extensions.use(createPipelineExtension({ key: 'acme.audit' }));
36
+ * const result = await pipeline.run({});
37
+ * console.log(result.diagnostics.length);
200
38
  * ```
39
+ *
40
+ * @category Pipeline
201
41
  */
202
42
  export declare function createPipeline<TRunOptions, TBuildOptions, TContext extends {
203
43
  reporter: TReporter;
@@ -1 +1 @@
1
- {"version":3,"file":"createPipeline.d.ts","sourceRoot":"","sources":["../src/createPipeline.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACX,qBAAqB,EACrB,MAAM,EAEN,UAAU,EAGV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAMhB,gBAAgB,EAEhB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuMG;AACH,wBAAgB,cAAc,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,OAAO,EACnB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EACrD,cAAc,GAAG,OAAO,EACxB,eAAe,GAAG,OAAO,EACzB,aAAa,GAAG,OAAO,EACvB,cAAc,GAAG,OAAO,EACxB,aAAa,SAAS,UAAU,GAAG,UAAU,EAC7C,YAAY,SAAS,UAAU,GAAG,SAAS,EAC3C,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,GAAG,MAAM,CACT,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,GAAG,MAAM,CACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,OAAO,EAAE,qBAAqB,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,GACC,QAAQ,CACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,CAywBA"}
1
+ {"version":3,"file":"createPipeline.d.ts","sourceRoot":"","sources":["../src/createPipeline.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACX,qBAAqB,EACrB,MAAM,EAEN,UAAU,EAEV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAEhB,gBAAgB,EAEhB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,wBAAgB,cAAc,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,OAAO,EACnB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EACrD,cAAc,GAAG,OAAO,EACxB,eAAe,GAAG,OAAO,EACzB,aAAa,GAAG,OAAO,EACvB,cAAc,GAAG,OAAO,EACxB,aAAa,SAAS,UAAU,GAAG,UAAU,EAC7C,YAAY,SAAS,UAAU,GAAG,SAAS,EAC3C,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,GAAG,MAAM,CACT,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,GAAG,MAAM,CACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,OAAO,EAAE,qBAAqB,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,GACC,QAAQ,CACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,CAwNA"}