@synergenius/flowweaver-pack-cicd 0.2.5 → 0.2.6

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,160 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { buildJobGraph } from './job-graph.js';
3
+ // ---------------------------------------------------------------------------
4
+ // Fixture helpers (same pattern as generator.test.ts)
5
+ // ---------------------------------------------------------------------------
6
+ function makeNodeType(name, inputs = {}, outputs = {}, overrides = {}) {
7
+ return {
8
+ type: 'NodeType',
9
+ name,
10
+ functionName: name,
11
+ inputs,
12
+ outputs,
13
+ hasSuccessPort: false,
14
+ hasFailurePort: false,
15
+ executeWhen: 'ANY_INPUT',
16
+ isAsync: false,
17
+ expression: true,
18
+ ...overrides,
19
+ };
20
+ }
21
+ function makeWorkflow(overrides) {
22
+ return {
23
+ name: 'DeployPipeline',
24
+ functionName: 'deployPipeline',
25
+ nodeTypes: [],
26
+ instances: [],
27
+ connections: [],
28
+ options: { cicd: {} },
29
+ startPorts: {},
30
+ exitPorts: {},
31
+ ...overrides,
32
+ };
33
+ }
34
+ // ---------------------------------------------------------------------------
35
+ // Multi-job fixture: build → test → deploy → notify
36
+ // ---------------------------------------------------------------------------
37
+ const checkoutNt = makeNodeType('checkout', { workingDirectory: { dataType: 'string', default: '.' } }, { repoPath: { dataType: 'string' } });
38
+ const npmInstallNt = makeNodeType('npmInstall', { cwd: { dataType: 'string', default: '.' } }, { nodeModulesPath: { dataType: 'string' } });
39
+ const npmBuildNt = makeNodeType('npmBuild', { cwd: { dataType: 'string', default: '.' } }, { output: { dataType: 'string' } });
40
+ const npmTestNt = makeNodeType('npmTest', { buildDir: { dataType: 'string', default: '.' } }, { testOutput: { dataType: 'string' } });
41
+ const deploySshNt = makeNodeType('deploySsh', { sourcePath: { dataType: 'string' } }, { result: { dataType: 'string' } });
42
+ const slackNotifyNt = makeNodeType('slackNotify', { message: { dataType: 'string', default: 'Pipeline completed' } }, { sent: { dataType: 'boolean' } }, { isAsync: true });
43
+ const allNodeTypes = [checkoutNt, npmInstallNt, npmBuildNt, npmTestNt, deploySshNt, slackNotifyNt];
44
+ const pipelineAST = makeWorkflow({
45
+ nodeTypes: allNodeTypes,
46
+ instances: [
47
+ // Job: build (checkout → npmInstall → npmBuild)
48
+ { id: 'checkout1', nodeType: 'checkout', job: 'build' },
49
+ { id: 'install1', nodeType: 'npmInstall', job: 'build' },
50
+ { id: 'build1', nodeType: 'npmBuild', job: 'build' },
51
+ // Job: test (npmTest, reads artifact from build)
52
+ { id: 'test1', nodeType: 'npmTest', job: 'test' },
53
+ // Job: deploy (deploySsh, reads artifact from test)
54
+ { id: 'deploy1', nodeType: 'deploySsh', job: 'deploy' },
55
+ // Job: notify (slackNotify, reads artifact from deploy, async)
56
+ { id: 'notify1', nodeType: 'slackNotify', job: 'notify' },
57
+ ],
58
+ connections: [
59
+ // Start → checkout (Start connection)
60
+ { from: { node: 'Start', port: 'branch' }, to: { node: 'checkout1', port: 'workingDirectory' } },
61
+ // Within build job: checkout → npmInstall → npmBuild
62
+ { from: { node: 'checkout1', port: 'repoPath' }, to: { node: 'install1', port: 'cwd' } },
63
+ { from: { node: 'install1', port: 'nodeModulesPath' }, to: { node: 'build1', port: 'cwd' } },
64
+ // Cross-job: build.output → test.buildDir
65
+ { from: { node: 'build1', port: 'output' }, to: { node: 'test1', port: 'buildDir' } },
66
+ // Cross-job: test.testOutput → deploy.sourcePath
67
+ { from: { node: 'test1', port: 'testOutput' }, to: { node: 'deploy1', port: 'sourcePath' } },
68
+ // Cross-job: deploy.result → notify.message
69
+ { from: { node: 'deploy1', port: 'result' }, to: { node: 'notify1', port: 'message' } },
70
+ ],
71
+ });
72
+ // ---------------------------------------------------------------------------
73
+ // Tests
74
+ // ---------------------------------------------------------------------------
75
+ describe('CI/CD job graph integration', () => {
76
+ const jobs = buildJobGraph(pipelineAST);
77
+ it('builds 4 jobs in dependency order with correct needs chains', () => {
78
+ expect(jobs).toHaveLength(4);
79
+ const ids = jobs.map((j) => j.id);
80
+ expect(ids).toEqual(['build', 'test', 'deploy', 'notify']);
81
+ expect(jobs[0].needs).toEqual([]);
82
+ expect(jobs[1].needs).toEqual(['build']);
83
+ expect(jobs[2].needs).toEqual(['test']);
84
+ expect(jobs[3].needs).toEqual(['deploy']);
85
+ });
86
+ it('assigns correct steps to each job', () => {
87
+ const buildJob = jobs.find((j) => j.id === 'build');
88
+ const testJob = jobs.find((j) => j.id === 'test');
89
+ const deployJob = jobs.find((j) => j.id === 'deploy');
90
+ const notifyJob = jobs.find((j) => j.id === 'notify');
91
+ expect(buildJob.steps.map((s) => s.id)).toEqual(['checkout1', 'install1', 'build1']);
92
+ expect(testJob.steps.map((s) => s.id)).toEqual(['test1']);
93
+ expect(deployJob.steps.map((s) => s.id)).toEqual(['deploy1']);
94
+ expect(notifyJob.steps.map((s) => s.id)).toEqual(['notify1']);
95
+ });
96
+ it('preserves step node types', () => {
97
+ const buildJob = jobs.find((j) => j.id === 'build');
98
+ expect(buildJob.steps.map((s) => s.nodeType)).toEqual(['checkout', 'npmInstall', 'npmBuild']);
99
+ });
100
+ it('handles single-node jobs', () => {
101
+ const deployJob = jobs.find((j) => j.id === 'deploy');
102
+ expect(deployJob.steps).toHaveLength(1);
103
+ expect(deployJob.steps[0].nodeType).toBe('deploySsh');
104
+ });
105
+ it('creates transitive dependency chains from cross-job connections', () => {
106
+ // notify depends on deploy, which depends on test, which depends on build
107
+ // Each link is from a cross-job data connection, not explicitly declared
108
+ const notifyJob = jobs.find((j) => j.id === 'notify');
109
+ expect(notifyJob.needs).toEqual(['deploy']);
110
+ const deployJob = jobs.find((j) => j.id === 'deploy');
111
+ expect(deployJob.needs).toEqual(['test']);
112
+ });
113
+ it('applies @job config overrides', () => {
114
+ const configuredAST = makeWorkflow({
115
+ ...pipelineAST,
116
+ options: {
117
+ cicd: {
118
+ jobs: [
119
+ { id: 'build', runner: 'ubuntu-22.04', timeout: '30m' },
120
+ { id: 'deploy', allowFailure: true, retry: 2 },
121
+ ],
122
+ },
123
+ },
124
+ });
125
+ const configuredJobs = buildJobGraph(configuredAST);
126
+ const buildJob = configuredJobs.find((j) => j.id === 'build');
127
+ const deployJob = configuredJobs.find((j) => j.id === 'deploy');
128
+ expect(buildJob.runner).toBe('ubuntu-22.04');
129
+ expect(buildJob.timeout).toBe('30m');
130
+ expect(deployJob.allowFailure).toBe(true);
131
+ expect(deployJob.retry).toBe(2);
132
+ });
133
+ it('applies @stage assignments', () => {
134
+ const stagedAST = makeWorkflow({
135
+ ...pipelineAST,
136
+ options: {
137
+ cicd: {
138
+ stages: [
139
+ { name: 'compile' },
140
+ { name: 'verify' },
141
+ { name: 'release' },
142
+ { name: 'post' },
143
+ ],
144
+ jobs: [
145
+ { id: 'build', stage: 'compile' },
146
+ { id: 'test', stage: 'verify' },
147
+ { id: 'deploy', stage: 'release' },
148
+ { id: 'notify', stage: 'post' },
149
+ ],
150
+ },
151
+ },
152
+ });
153
+ const stagedJobs = buildJobGraph(stagedAST);
154
+ expect(stagedJobs.find((j) => j.id === 'build').stage).toBe('compile');
155
+ expect(stagedJobs.find((j) => j.id === 'test').stage).toBe('verify');
156
+ expect(stagedJobs.find((j) => j.id === 'deploy').stage).toBe('release');
157
+ expect(stagedJobs.find((j) => j.id === 'notify').stage).toBe('post');
158
+ });
159
+ });
160
+ //# sourceMappingURL=integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,SAAS,YAAY,CACnB,IAAY,EACZ,SAA8B,EAAE,EAChC,UAA+B,EAAE,EACjC,YAAmC,EAAE;IAErC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,YAAY,EAAE,IAAI;QAClB,MAAM;QACN,OAAO;QACP,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,GAAG,SAAS;KACG,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,SAAiC;IACrD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,gBAAgB;QAC9B,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACrB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,GAAG,SAAS;KACG,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,MAAM,UAAU,GAAG,YAAY,CAC7B,UAAU,EACV,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAC1D,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACrC,CAAC;AAEF,MAAM,YAAY,GAAG,YAAY,CAC/B,YAAY,EACZ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAC7C,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAC5C,CAAC;AAEF,MAAM,UAAU,GAAG,YAAY,CAC7B,UAAU,EACV,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAC7C,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACnC,CAAC;AAEF,MAAM,SAAS,GAAG,YAAY,CAC5B,SAAS,EACT,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAClD,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACvC,CAAC;AAEF,MAAM,WAAW,GAAG,YAAY,CAC9B,WAAW,EACX,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EACtC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACnC,CAAC;AAEF,MAAM,aAAa,GAAG,YAAY,CAChC,aAAa,EACb,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAClE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EACjC,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAEnG,MAAM,WAAW,GAAG,YAAY,CAAC;IAC/B,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE;QACT,gDAAgD;QAChD,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAS;QAC9D,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAS;QAC/D,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAS;QAC3D,iDAAiD;QACjD,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAS;QACxD,oDAAoD;QACpD,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAS;QAC9D,+DAA+D;QAC/D,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAS;KACjE;IACD,WAAW,EAAE;QACX,sCAAsC;QACtC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAS;QACvG,qDAAqD;QACrD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAS;QAC/F,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAS;QACnG,0CAA0C;QAC1C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAS;QAC5F,iDAAiD;QACjD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,EAAS;QACnG,4CAA4C;QAC5C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAS;KAC/F;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAExC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAE,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QAEvD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAE,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,aAAa,GAAG,YAAY,CAAC;YACjC,GAAG,WAAW;YACd,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAS;wBAC9D,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAS;qBACtD;iBACF;aACK;SACT,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC;YAC7B,GAAG,WAAW;YACd,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClB,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnB,EAAE,IAAI,EAAE,MAAM,EAAE;qBACjB;oBACD,IAAI,EAAE;wBACJ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAS;wBACxC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAS;wBACtC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAS;wBACzC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAS;qBACvC;iBACF;aACK;SACT,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifestVersion": 1,
3
3
  "name": "@synergenius/flowweaver-pack-cicd",
4
- "version": "0.2.5",
4
+ "version": "0.2.6",
5
5
  "description": "CI/CD pipeline infrastructure and node types for Flow Weaver: tag handler, validation rules, job graph builder, and platform-native CI/CD node stubs",
6
6
  "engineVersion": ">=0.17.7",
7
7
  "categories": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synergenius/flowweaver-pack-cicd",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "CI/CD pipeline infrastructure and node types for Flow Weaver: tag handler, validation rules, job graph builder, and platform-native CI/CD node stubs",
5
5
  "keywords": [
6
6
  "flowweaver-marketplace-pack",