@jahia/jahia-cli 0.3.0 → 0.3.1
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/commands/workflow/run.d.ts +1 -0
- package/dist/commands/workflow/run.d.ts.map +1 -1
- package/dist/commands/workflow/run.js +42 -8
- package/dist/commands/workflow/run.js.map +1 -1
- package/dist/lib/config/config-to-yaml-with-comments.d.ts.map +1 -1
- package/dist/lib/config/config-to-yaml-with-comments.js +13 -0
- package/dist/lib/config/config-to-yaml-with-comments.js.map +1 -1
- package/dist/lib/config/config-to-yaml.d.ts.map +1 -1
- package/dist/lib/config/config-to-yaml.js +1 -0
- package/dist/lib/config/config-to-yaml.js.map +1 -1
- package/dist/lib/config/parser.d.ts.map +1 -1
- package/dist/lib/config/parser.js +4 -0
- package/dist/lib/config/parser.js.map +1 -1
- package/dist/lib/config/types.d.ts +8 -0
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/workflow/format-workflow-sources.d.ts +17 -0
- package/dist/lib/workflow/format-workflow-sources.d.ts.map +1 -0
- package/dist/lib/workflow/format-workflow-sources.js +85 -0
- package/dist/lib/workflow/format-workflow-sources.js.map +1 -0
- package/dist/lib/workflow/load-global-workflows.d.ts +24 -0
- package/dist/lib/workflow/load-global-workflows.d.ts.map +1 -0
- package/dist/lib/workflow/load-global-workflows.js +49 -0
- package/dist/lib/workflow/load-global-workflows.js.map +1 -0
- package/dist/lib/workflow/merge-workflow-sources.d.ts +27 -0
- package/dist/lib/workflow/merge-workflow-sources.d.ts.map +1 -0
- package/dist/lib/workflow/merge-workflow-sources.js +55 -0
- package/dist/lib/workflow/merge-workflow-sources.js.map +1 -0
- package/dist/lib/workflow/resolve-workflows-file-path.d.ts +13 -0
- package/dist/lib/workflow/resolve-workflows-file-path.d.ts.map +1 -0
- package/dist/lib/workflow/resolve-workflows-file-path.js +22 -0
- package/dist/lib/workflow/resolve-workflows-file-path.js.map +1 -0
- package/oclif.manifest.json +11 -2
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ export default class WorkflowRun extends Command {
|
|
|
14
14
|
static flags: {
|
|
15
15
|
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
16
|
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'workflows-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
18
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
19
|
state: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAc7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,KAAG,MAa3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,MAAM,EACpB,OAAO,SAAS,UAAU,EAAE,EAC5B,SAAS,OAAO,EAChB,iBAAiB,MAAM,KACtB,MAoBF,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAgB,WAAW,SAOsC;IAEjE,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;;;;MAyBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgGlC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
1
|
+
import { dirname, resolve } from 'node:path';
|
|
2
2
|
import { Command, Flags } from '@oclif/core';
|
|
3
3
|
import { loadConfigFile } from '../../lib/config/parser.js';
|
|
4
4
|
import { executeWorkflow } from '../../lib/workflow/executor.js';
|
|
5
|
+
import { buildWorkflowSourcesJson, formatAvailableWorkflows, formatWorkflowSources, } from '../../lib/workflow/format-workflow-sources.js';
|
|
6
|
+
import { loadGlobalWorkflows } from '../../lib/workflow/load-global-workflows.js';
|
|
7
|
+
import { mergeWorkflowSources } from '../../lib/workflow/merge-workflow-sources.js';
|
|
5
8
|
import { resolveDefaultWorkflow, resolveWorkflowByName } from '../../lib/workflow/resolve-workflow.js';
|
|
9
|
+
import { resolveWorkflowsFilePath } from '../../lib/workflow/resolve-workflows-file-path.js';
|
|
6
10
|
/**
|
|
7
11
|
* Formats a duration in milliseconds to a human-readable string.
|
|
8
12
|
*/
|
|
@@ -37,12 +41,16 @@ export const buildWorkflowSummary = (workflowName, steps, success, totalDuration
|
|
|
37
41
|
};
|
|
38
42
|
export default class WorkflowRun extends Command {
|
|
39
43
|
static description = 'Execute a named workflow defined in a configuration file. ' +
|
|
44
|
+
'Supports loading shared workflows from a global workflows file ' +
|
|
45
|
+
'(via --workflows-file flag or workflowsFile config key). ' +
|
|
46
|
+
'Local workflows override global ones with the same name. ' +
|
|
40
47
|
'Runs steps sequentially — shell commands via execa, ' +
|
|
41
48
|
'jahia-cli commands via subprocess. Stops on first failure. ' +
|
|
42
49
|
'Use --name to select a workflow, or omit to run the default.';
|
|
43
50
|
static examples = [
|
|
44
51
|
'<%= config.bin %> workflow run --config jahia-cli.config.yml',
|
|
45
52
|
'<%= config.bin %> workflow run --config jahia-cli.config.yml --name setup',
|
|
53
|
+
'<%= config.bin %> workflow run --config jahia-cli.config.yml --workflows-file shared.yml',
|
|
46
54
|
'<%= config.bin %> workflow run --config ./my-config.yml --json',
|
|
47
55
|
];
|
|
48
56
|
static flags = {
|
|
@@ -55,6 +63,12 @@ export default class WorkflowRun extends Command {
|
|
|
55
63
|
char: 'n',
|
|
56
64
|
description: 'Name of the workflow to run (runs default workflow if omitted)',
|
|
57
65
|
}),
|
|
66
|
+
'workflows-file': Flags.string({
|
|
67
|
+
char: 'w',
|
|
68
|
+
description: 'Path to a global workflows YAML file. ' +
|
|
69
|
+
'Merged with local config workflows (local takes precedence). ' +
|
|
70
|
+
'Resolved relative to CWD. Overrides the workflowsFile config key.',
|
|
71
|
+
}),
|
|
58
72
|
json: Flags.boolean({
|
|
59
73
|
description: 'Output result as structured JSON (for AI agents and scripting)',
|
|
60
74
|
default: false,
|
|
@@ -67,17 +81,36 @@ export default class WorkflowRun extends Command {
|
|
|
67
81
|
async run() {
|
|
68
82
|
const { flags } = await this.parse(WorkflowRun);
|
|
69
83
|
const configPath = resolve(flags.config);
|
|
84
|
+
const configDir = dirname(configPath);
|
|
70
85
|
const config = await loadConfigFile(configPath);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
86
|
+
// Resolve global workflows file path (flag > config key > none)
|
|
87
|
+
const globalFilePath = resolveWorkflowsFilePath(configDir, config.workflowsFile, flags['workflows-file']);
|
|
88
|
+
// Load global workflows if configured
|
|
89
|
+
const globalResult = globalFilePath !== undefined
|
|
90
|
+
? await loadGlobalWorkflows(globalFilePath)
|
|
91
|
+
: undefined;
|
|
92
|
+
// Merge global + local (local wins)
|
|
93
|
+
const mergedResult = mergeWorkflowSources(globalResult?.workflows, config.workflows);
|
|
94
|
+
const effectiveWorkflows = mergedResult?.workflows;
|
|
95
|
+
if (effectiveWorkflows === undefined || Object.keys(effectiveWorkflows).length === 0) {
|
|
96
|
+
this.error('No workflows found in local config or global workflows file.\n\n' +
|
|
97
|
+
' Run "jahia-cli workflow init" to generate sample workflows,\n' +
|
|
98
|
+
' or specify a global workflows file with --workflows-file.');
|
|
74
99
|
return;
|
|
75
100
|
}
|
|
101
|
+
// mergedResult is guaranteed defined when effectiveWorkflows is defined
|
|
102
|
+
const merged = mergedResult ?? { workflows: effectiveWorkflows, sources: {} };
|
|
103
|
+
// Resolve which workflow to run
|
|
76
104
|
const { name: workflowName, workflow } = flags.name !== undefined
|
|
77
|
-
? { name: flags.name, workflow: resolveWorkflowByName(
|
|
78
|
-
: resolveDefaultWorkflow(
|
|
105
|
+
? { name: flags.name, workflow: resolveWorkflowByName(effectiveWorkflows, flags.name) }
|
|
106
|
+
: resolveDefaultWorkflow(effectiveWorkflows);
|
|
79
107
|
const { steps } = workflow;
|
|
108
|
+
// Log verbose source/selection info
|
|
80
109
|
if (!flags.json) {
|
|
110
|
+
this.log(formatWorkflowSources(configPath, config.workflows !== undefined ? Object.keys(config.workflows).length : 0, globalResult));
|
|
111
|
+
this.log('');
|
|
112
|
+
this.log(formatAvailableWorkflows(merged, workflowName));
|
|
113
|
+
this.log('');
|
|
81
114
|
this.log(`▶ Running workflow "${workflowName}" (${String(steps.length)} steps)\n`);
|
|
82
115
|
}
|
|
83
116
|
const cliEntryPoint = resolve(this.config.root, 'bin', 'run.js');
|
|
@@ -87,7 +120,7 @@ export default class WorkflowRun extends Command {
|
|
|
87
120
|
statePath: flags.state,
|
|
88
121
|
cwd: process.cwd(),
|
|
89
122
|
cliEntryPoint,
|
|
90
|
-
workflows:
|
|
123
|
+
workflows: effectiveWorkflows,
|
|
91
124
|
callStack: [workflowName],
|
|
92
125
|
onStepStart: flags.json
|
|
93
126
|
? undefined
|
|
@@ -97,7 +130,8 @@ export default class WorkflowRun extends Command {
|
|
|
97
130
|
onStepComplete: undefined,
|
|
98
131
|
});
|
|
99
132
|
if (flags.json) {
|
|
100
|
-
|
|
133
|
+
const sourcesJson = buildWorkflowSourcesJson(configPath, config.workflows, globalResult, merged, workflowName);
|
|
134
|
+
this.log(JSON.stringify({ ...sourcesJson, ...result, workflowName }, undefined, 2));
|
|
101
135
|
}
|
|
102
136
|
else {
|
|
103
137
|
this.log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-yaml-with-comments.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config-to-yaml-with-comments.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4EjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,KAAG,MA4B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,cAAc,KAAG,MACrB,CAAC"}
|
|
@@ -35,6 +35,18 @@ const TESTS_COMMENT = `# ── Tests ──────────────
|
|
|
35
35
|
# - scaffolding.repository: Git URL of the test scaffolding source
|
|
36
36
|
# - scaffolding.path: subdirectory within the repo containing scaffolding files
|
|
37
37
|
# - scaffolding.version: Git ref to checkout ("latest" resolves to newest tag)`;
|
|
38
|
+
const WORKFLOWS_FILE_COMMENT = `# ── Workflows File ───────────────────────────────────────────────────────
|
|
39
|
+
# Path to a separate YAML file containing shared (global) workflow definitions.
|
|
40
|
+
# Resolved relative to this config file's directory.
|
|
41
|
+
# Workflows in this file are merged with local workflows below.
|
|
42
|
+
# Local workflows take precedence on name collisions.
|
|
43
|
+
# Supports \${VAR:-default} env var substitution.
|
|
44
|
+
#
|
|
45
|
+
# Example:
|
|
46
|
+
# workflowsFile: jahia-cli.workflows.global.yml
|
|
47
|
+
#
|
|
48
|
+
# Can also be specified via CLI: --workflows-file <path>
|
|
49
|
+
# (CLI flag is resolved relative to CWD and takes precedence over this key)`;
|
|
38
50
|
const WORKFLOW_COMMENT = `# ── Workflows ────────────────────────────────────────────────────────────
|
|
39
51
|
# Named workflows executed by "jahia-cli workflow run --name <name>".
|
|
40
52
|
# Each workflow has a unique name (the map key), an optional "default: true"
|
|
@@ -62,6 +74,7 @@ const WORKFLOW_COMMENT = `# ── Workflows ───────────
|
|
|
62
74
|
*/
|
|
63
75
|
export const insertSectionComments = (yamlContent) => {
|
|
64
76
|
const commentMap = {
|
|
77
|
+
'workflowsFile:': WORKFLOWS_FILE_COMMENT,
|
|
65
78
|
'environment:': ENVIRONMENT_COMMENT,
|
|
66
79
|
'tests:': TESTS_COMMENT,
|
|
67
80
|
'workflows:': WORKFLOW_COMMENT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-yaml-with-comments.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;uGA0B2E,CAAC;AAExG,MAAM,aAAa,GAAG;;;;+EAIyD,CAAC;AAEhF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;+DAoBsC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAU,EAAE;IACnE,MAAM,UAAU,GAAqC;QACnD,cAAc,EAAE,mBAAmB;QACnC,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,gBAAgB;KAC/B,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACzE,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config-to-yaml-with-comments.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml-with-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;uGA0B2E,CAAC;AAExG,MAAM,aAAa,GAAG;;;;+EAIyD,CAAC;AAEhF,MAAM,sBAAsB,GAAG;;;;;;;;;;;4EAW6C,CAAC;AAE7E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;+DAoBsC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAU,EAAE;IACnE,MAAM,UAAU,GAAqC;QACnD,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,mBAAmB;QACnC,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,gBAAgB;KAC/B,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9B,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACzE,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"config-to-yaml.d.ts","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,MA0BnD,CAAC"}
|
|
@@ -15,6 +15,7 @@ const serializeWorkflows = (workflows) => Object.fromEntries(Object.entries(work
|
|
|
15
15
|
* Components without overrides are emitted as plain strings for readability.
|
|
16
16
|
*/
|
|
17
17
|
export const configToYaml = (config) => yaml.dump({
|
|
18
|
+
...(config.workflowsFile === undefined ? {} : { workflowsFile: config.workflowsFile }),
|
|
18
19
|
...(config.environment === undefined
|
|
19
20
|
? {}
|
|
20
21
|
: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-yaml.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CACzB,SAAmH,EAC1F,EAAE,CAC3B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ;QACE,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB;CACF,CAAC,CACH,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAU,EAAE,CAC7D,IAAI,CAAC,IAAI,CACP;IACE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1D,SAAS,CAAC,SAAS,KAAK,SAAS;oBAC/B,CAAC,CAAC,SAAS,CAAC,IAAI;oBAChB,CAAC,CAAC;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;qBAC/B,CACN;aACF;SACF,CAAC;IACN,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;CAC/F,EACD;IACE,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,IAAI;CACb,CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"config-to-yaml.js","sourceRoot":"","sources":["../../../src/lib/config/config-to-yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CACzB,SAAmH,EAC1F,EAAE,CAC3B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ;QACE,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB;CACF,CAAC,CACH,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAU,EAAE,CAC7D,IAAI,CAAC,IAAI,CACP;IACE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACtF,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1D,SAAS,CAAC,SAAS,KAAK,SAAS;oBAC/B,CAAC,CAAC,SAAS,CAAC,IAAI;oBAChB,CAAC,CAAC;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;qBAC/B,CACN;aACF;SACF,CAAC;IACN,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;CAC/F,EACD;IACE,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,IAAI;CACb,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,OAAO,KAAG,iBAsBhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,OAAO,KAAG,mBAAmB,GAAG,SA0CtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,OAAO,KAAG,WAAW,GAAG,SA4BlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAqBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,oBAAoB,KAAG,iBAkCrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,OAAO,MAAM,KAAG,YAmClE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,MAAM,MAAM,KAAG,cAyBxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,cAAc,OAAO,KAAG,YAAY,GAAG,SAiC3E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,KAAK,EAEV,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,OAAO,KAAG,iBAsBhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,OAAO,KAAG,mBAAmB,GAAG,SA0CtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,OAAO,KAAG,WAAW,GAAG,SA4BlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAqBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,oBAAoB,KAAG,iBAkCrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,OAAO,MAAM,KAAG,YAmClE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,MAAM,MAAM,KAAG,cAyBxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,cAAc,OAAO,KAAG,YAAY,GAAG,SAiC3E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,KAAG,cAyC/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CAI7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,iBAAiB,KAAG,SAAS,iBAAiB,EAS1F,CAAC"}
|
|
@@ -253,10 +253,14 @@ export const validateConfig = (raw) => {
|
|
|
253
253
|
: undefined;
|
|
254
254
|
const tests = parseTestsConfig(raw.tests);
|
|
255
255
|
const workflows = parseWorkflowsConfig(raw.workflows);
|
|
256
|
+
const workflowsFile = typeof raw.workflowsFile === 'string'
|
|
257
|
+
? resolveEnvVars(raw.workflowsFile)
|
|
258
|
+
: undefined;
|
|
256
259
|
return {
|
|
257
260
|
...(environment === undefined ? {} : { environment }),
|
|
258
261
|
...(tests === undefined ? {} : { tests }),
|
|
259
262
|
...(workflows === undefined ? {} : { workflows }),
|
|
263
|
+
...(workflowsFile === undefined ? {} : { workflowsFile }),
|
|
260
264
|
};
|
|
261
265
|
};
|
|
262
266
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/lib/config/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,11 +94,18 @@ export type WorkflowsMap = Readonly<Record<string, WorkflowConfig>>;
|
|
|
94
94
|
/**
|
|
95
95
|
* The top-level Jahia CLI configuration file structure.
|
|
96
96
|
* Contains `environment`, `tests`, and `workflows` as distinct top-level sections.
|
|
97
|
+
*
|
|
98
|
+
* The optional `workflowsFile` key points to a separate YAML file containing
|
|
99
|
+
* shared (global) workflow definitions. Workflows defined in the local config
|
|
100
|
+
* take precedence over identically-named global workflows.
|
|
101
|
+
* Path is resolved relative to the config file directory.
|
|
102
|
+
* Supports ${VAR:-default} env var substitution.
|
|
97
103
|
*/
|
|
98
104
|
export interface JahiaCliConfig {
|
|
99
105
|
readonly environment?: EnvironmentConfig | undefined;
|
|
100
106
|
readonly tests?: TestsConfig | undefined;
|
|
101
107
|
readonly workflows?: WorkflowsMap | undefined;
|
|
108
|
+
readonly workflowsFile?: string | undefined;
|
|
102
109
|
}
|
|
103
110
|
/**
|
|
104
111
|
* Raw YAML structure before validation (loose types for parsing).
|
|
@@ -108,6 +115,7 @@ export interface RawConfig {
|
|
|
108
115
|
readonly tests?: unknown;
|
|
109
116
|
readonly workflows?: unknown;
|
|
110
117
|
readonly workflow?: unknown;
|
|
118
|
+
readonly workflowsFile?: unknown;
|
|
111
119
|
}
|
|
112
120
|
/**
|
|
113
121
|
* Raw environment section before validation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAEpE
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { WorkflowsMap } from '../config/types.js';
|
|
2
|
+
import type { GlobalWorkflowsLoadResult } from './load-global-workflows.js';
|
|
3
|
+
import type { MergedWorkflowsResult } from './merge-workflow-sources.js';
|
|
4
|
+
/**
|
|
5
|
+
* Builds the human-readable "Workflow sources:" section.
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatWorkflowSources: (configPath: string, localWorkflowCount: number, globalResult: GlobalWorkflowsLoadResult | undefined) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Builds the human-readable "Available workflows:" section.
|
|
10
|
+
* Marks the selected workflow with → and the default with (default).
|
|
11
|
+
*/
|
|
12
|
+
export declare const formatAvailableWorkflows: (mergedResult: MergedWorkflowsResult, selectedName: string) => string;
|
|
13
|
+
/**
|
|
14
|
+
* Builds structured source info for JSON output.
|
|
15
|
+
*/
|
|
16
|
+
export declare const buildWorkflowSourcesJson: (configPath: string, localWorkflows: WorkflowsMap | undefined, globalResult: GlobalWorkflowsLoadResult | undefined, mergedResult: MergedWorkflowsResult, selectedName: string) => Record<string, unknown>;
|
|
17
|
+
//# sourceMappingURL=format-workflow-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-workflow-sources.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/format-workflow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,6BAA6B,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,EAClB,oBAAoB,MAAM,EAC1B,cAAc,yBAAyB,GAAG,SAAS,KAClD,MAsBF,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,cAAc,qBAAqB,EACnC,cAAc,MAAM,KACnB,MAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,EAClB,gBAAgB,YAAY,GAAG,SAAS,EACxC,cAAc,yBAAyB,GAAG,SAAS,EACnD,cAAc,qBAAqB,EACnC,cAAc,MAAM,KACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CA0BvB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the human-readable "Workflow sources:" section.
|
|
3
|
+
*/
|
|
4
|
+
export const formatWorkflowSources = (configPath, localWorkflowCount, globalResult) => {
|
|
5
|
+
const lines = ['▶ Workflow sources:'];
|
|
6
|
+
const localLabel = localWorkflowCount > 0
|
|
7
|
+
? `✓ Local config: ${configPath} (${String(localWorkflowCount)} workflows)`
|
|
8
|
+
: ` Local config: ${configPath} (no workflows)`;
|
|
9
|
+
lines.push(` ${localLabel}`);
|
|
10
|
+
if (globalResult !== undefined) {
|
|
11
|
+
if (!globalResult.found) {
|
|
12
|
+
lines.push(` ⚠ Global file: ${globalResult.path} (file not found, skipping)`);
|
|
13
|
+
}
|
|
14
|
+
else if (globalResult.error !== undefined) {
|
|
15
|
+
lines.push(` ⚠ Global file: ${globalResult.path} (${globalResult.error})`);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const count = globalResult.workflows !== undefined
|
|
19
|
+
? Object.keys(globalResult.workflows).length
|
|
20
|
+
: 0;
|
|
21
|
+
lines.push(` ✓ Global file: ${globalResult.path} (${String(count)} workflows loaded)`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return lines.join('\n');
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Returns a human-readable source label for a workflow.
|
|
28
|
+
*/
|
|
29
|
+
const sourceLabel = (source) => {
|
|
30
|
+
const labels = {
|
|
31
|
+
'global': 'global',
|
|
32
|
+
'local': 'local',
|
|
33
|
+
'local-override': 'local, overrides global',
|
|
34
|
+
};
|
|
35
|
+
return labels[source];
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Builds the human-readable "Available workflows:" section.
|
|
39
|
+
* Marks the selected workflow with → and the default with (default).
|
|
40
|
+
*/
|
|
41
|
+
export const formatAvailableWorkflows = (mergedResult, selectedName) => {
|
|
42
|
+
const lines = ['▶ Available workflows:'];
|
|
43
|
+
Object.entries(mergedResult.workflows).forEach(([name, wf]) => {
|
|
44
|
+
const source = mergedResult.sources[name] ?? 'local';
|
|
45
|
+
const isSelected = name === selectedName;
|
|
46
|
+
const isDefault = wf.default === true;
|
|
47
|
+
const prefix = isSelected ? '→' : ' ';
|
|
48
|
+
const defaultTag = isDefault ? ', default' : '';
|
|
49
|
+
const selectedTag = isSelected ? ' ← selected' : '';
|
|
50
|
+
const padded = name.padEnd(16);
|
|
51
|
+
lines.push(` ${prefix} ${padded}(${sourceLabel(source)}${defaultTag})${selectedTag}`);
|
|
52
|
+
});
|
|
53
|
+
return lines.join('\n');
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Builds structured source info for JSON output.
|
|
57
|
+
*/
|
|
58
|
+
export const buildWorkflowSourcesJson = (configPath, localWorkflows, globalResult, mergedResult, selectedName) => ({
|
|
59
|
+
sources: {
|
|
60
|
+
local: {
|
|
61
|
+
path: configPath,
|
|
62
|
+
workflowCount: localWorkflows !== undefined ? Object.keys(localWorkflows).length : 0,
|
|
63
|
+
},
|
|
64
|
+
...(globalResult !== undefined
|
|
65
|
+
? {
|
|
66
|
+
global: {
|
|
67
|
+
path: globalResult.path,
|
|
68
|
+
found: globalResult.found,
|
|
69
|
+
...(globalResult.error !== undefined ? { error: globalResult.error } : {}),
|
|
70
|
+
workflowCount: globalResult.workflows !== undefined
|
|
71
|
+
? Object.keys(globalResult.workflows).length
|
|
72
|
+
: 0,
|
|
73
|
+
},
|
|
74
|
+
}
|
|
75
|
+
: {}),
|
|
76
|
+
},
|
|
77
|
+
availableWorkflows: Object.entries(mergedResult.workflows).map(([name, wf]) => ({
|
|
78
|
+
name,
|
|
79
|
+
source: mergedResult.sources[name],
|
|
80
|
+
default: wf.default === true,
|
|
81
|
+
selected: name === selectedName,
|
|
82
|
+
})),
|
|
83
|
+
selectedWorkflow: selectedName,
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=format-workflow-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-workflow-sources.js","sourceRoot":"","sources":["../../../src/lib/workflow/format-workflow-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WorkflowsMap } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Result of attempting to load a global workflows file.
|
|
4
|
+
* Provides structured outcome so the caller can decide how to present it.
|
|
5
|
+
*/
|
|
6
|
+
export interface GlobalWorkflowsLoadResult {
|
|
7
|
+
readonly found: boolean;
|
|
8
|
+
readonly path: string;
|
|
9
|
+
readonly workflows: WorkflowsMap | undefined;
|
|
10
|
+
readonly error?: string | undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Loads and parses a global workflows YAML file.
|
|
14
|
+
*
|
|
15
|
+
* The file must contain a top-level `workflows:` key with the same structure
|
|
16
|
+
* as the `workflows` section in the main config file.
|
|
17
|
+
*
|
|
18
|
+
* Returns a structured result (never throws for missing files):
|
|
19
|
+
* - found=true, workflows=map → file loaded successfully
|
|
20
|
+
* - found=false → file does not exist (caller decides severity)
|
|
21
|
+
* - found=true, workflows=undefined, error=msg → file exists but is invalid
|
|
22
|
+
*/
|
|
23
|
+
export declare const loadGlobalWorkflows: (filePath: string) => Promise<GlobalWorkflowsLoadResult>;
|
|
24
|
+
//# sourceMappingURL=load-global-workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-global-workflows.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/load-global-workflows.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,OAAO,CAAC,yBAAyB,CA0CnC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import yaml from 'js-yaml';
|
|
3
|
+
import { parseWorkflowsConfig } from '../config/parser.js';
|
|
4
|
+
/**
|
|
5
|
+
* Loads and parses a global workflows YAML file.
|
|
6
|
+
*
|
|
7
|
+
* The file must contain a top-level `workflows:` key with the same structure
|
|
8
|
+
* as the `workflows` section in the main config file.
|
|
9
|
+
*
|
|
10
|
+
* Returns a structured result (never throws for missing files):
|
|
11
|
+
* - found=true, workflows=map → file loaded successfully
|
|
12
|
+
* - found=false → file does not exist (caller decides severity)
|
|
13
|
+
* - found=true, workflows=undefined, error=msg → file exists but is invalid
|
|
14
|
+
*/
|
|
15
|
+
export const loadGlobalWorkflows = async (filePath) => {
|
|
16
|
+
const content = await readFile(filePath, 'utf-8').catch((error) => {
|
|
17
|
+
const isNotFound = error instanceof Error &&
|
|
18
|
+
'code' in error &&
|
|
19
|
+
error.code === 'ENOENT';
|
|
20
|
+
if (isNotFound) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
throw error;
|
|
24
|
+
});
|
|
25
|
+
if (content === undefined) {
|
|
26
|
+
return { found: false, path: filePath, workflows: undefined };
|
|
27
|
+
}
|
|
28
|
+
const raw = yaml.load(content);
|
|
29
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
|
|
30
|
+
return {
|
|
31
|
+
found: true,
|
|
32
|
+
path: filePath,
|
|
33
|
+
workflows: undefined,
|
|
34
|
+
error: 'Global workflows file must contain a YAML object with a "workflows:" key.',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const record = raw;
|
|
38
|
+
if (record['workflows'] === undefined) {
|
|
39
|
+
return {
|
|
40
|
+
found: true,
|
|
41
|
+
path: filePath,
|
|
42
|
+
workflows: undefined,
|
|
43
|
+
error: 'Global workflows file must contain a "workflows:" key.',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const workflows = parseWorkflowsConfig(record['workflows']);
|
|
47
|
+
return { found: true, path: filePath, workflows };
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=load-global-workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-global-workflows.js","sourceRoot":"","sources":["../../../src/lib/workflow/load-global-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAc3D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAgB,EACoB,EAAE;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACzE,MAAM,UAAU,GACd,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,GAAG,GAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,2EAA2E;SACnF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,wDAAwD;SAChE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { WorkflowsMap } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Source attribution for each workflow in the merged map.
|
|
4
|
+
*/
|
|
5
|
+
export type WorkflowSource = 'global' | 'local' | 'local-override';
|
|
6
|
+
/**
|
|
7
|
+
* Result of merging global and local workflow sources.
|
|
8
|
+
* Includes the merged workflows map and per-name source attribution.
|
|
9
|
+
*/
|
|
10
|
+
export interface MergedWorkflowsResult {
|
|
11
|
+
readonly workflows: WorkflowsMap;
|
|
12
|
+
readonly sources: Readonly<Record<string, WorkflowSource>>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Merges global and local workflow sources.
|
|
16
|
+
*
|
|
17
|
+
* Rules:
|
|
18
|
+
* - Local workflows always override global workflows with the same name.
|
|
19
|
+
* - If any local workflow has `default: true`, global defaults are stripped
|
|
20
|
+
* to prevent multiple defaults in the merged map.
|
|
21
|
+
* - Source attribution tracks whether each workflow came from global, local,
|
|
22
|
+
* or is a local override of a global workflow.
|
|
23
|
+
*
|
|
24
|
+
* Returns undefined if both sources are undefined.
|
|
25
|
+
*/
|
|
26
|
+
export declare const mergeWorkflowSources: (global: WorkflowsMap | undefined, local: WorkflowsMap | undefined) => MergedWorkflowsResult | undefined;
|
|
27
|
+
//# sourceMappingURL=merge-workflow-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-workflow-sources.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/merge-workflow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAC5D;AAkBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,YAAY,GAAG,SAAS,EAChC,OAAO,YAAY,GAAG,SAAS,KAC9B,qBAAqB,GAAG,SAoC1B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strips `default: true` from all workflows in a map.
|
|
3
|
+
* Used to clear global defaults when a local default exists.
|
|
4
|
+
*/
|
|
5
|
+
const stripDefaults = (workflows) => Object.fromEntries(Object.entries(workflows).map(([name, wf]) => [
|
|
6
|
+
name,
|
|
7
|
+
wf.default === true
|
|
8
|
+
? { steps: wf.steps }
|
|
9
|
+
: wf,
|
|
10
|
+
]));
|
|
11
|
+
/**
|
|
12
|
+
* Merges global and local workflow sources.
|
|
13
|
+
*
|
|
14
|
+
* Rules:
|
|
15
|
+
* - Local workflows always override global workflows with the same name.
|
|
16
|
+
* - If any local workflow has `default: true`, global defaults are stripped
|
|
17
|
+
* to prevent multiple defaults in the merged map.
|
|
18
|
+
* - Source attribution tracks whether each workflow came from global, local,
|
|
19
|
+
* or is a local override of a global workflow.
|
|
20
|
+
*
|
|
21
|
+
* Returns undefined if both sources are undefined.
|
|
22
|
+
*/
|
|
23
|
+
export const mergeWorkflowSources = (global, local) => {
|
|
24
|
+
if (global === undefined && local === undefined) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
if (global === undefined) {
|
|
28
|
+
const sources = {};
|
|
29
|
+
Object.keys(local ?? {}).forEach((name) => {
|
|
30
|
+
sources[name] = 'local';
|
|
31
|
+
});
|
|
32
|
+
return { workflows: local ?? {}, sources };
|
|
33
|
+
}
|
|
34
|
+
if (local === undefined) {
|
|
35
|
+
const sources = {};
|
|
36
|
+
Object.keys(global).forEach((name) => {
|
|
37
|
+
sources[name] = 'global';
|
|
38
|
+
});
|
|
39
|
+
return { workflows: global, sources };
|
|
40
|
+
}
|
|
41
|
+
const localHasDefault = Object.values(local).some((wf) => wf.default === true);
|
|
42
|
+
const effectiveGlobal = localHasDefault ? stripDefaults(global) : global;
|
|
43
|
+
const merged = { ...effectiveGlobal, ...local };
|
|
44
|
+
const sources = {};
|
|
45
|
+
Object.keys(merged).forEach((name) => {
|
|
46
|
+
if (name in local) {
|
|
47
|
+
sources[name] = name in global ? 'local-override' : 'local';
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
sources[name] = 'global';
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return { workflows: merged, sources };
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=merge-workflow-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-workflow-sources.js","sourceRoot":"","sources":["../../../src/lib/workflow/merge-workflow-sources.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,SAAuB,EACT,EAAE,CAChB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,IAAI;IACJ,EAAE,CAAC,OAAO,KAAK,IAAI;QACjB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;QACrB,CAAC,CAAC,EAAE;CACP,CAAC,CACH,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgC,EAChC,KAA+B,EACI,EAAE;IACrC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,MAAM,MAAM,GAAmC,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;IAChF,MAAM,OAAO,GAAmC,EAAE,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the path to the global workflows file.
|
|
3
|
+
*
|
|
4
|
+
* Precedence:
|
|
5
|
+
* 1. CLI flag value (resolved relative to CWD)
|
|
6
|
+
* 2. Config key value (resolved relative to config file directory)
|
|
7
|
+
* 3. undefined (no global file configured)
|
|
8
|
+
*
|
|
9
|
+
* Note: No default filename auto-discovery — the user must explicitly
|
|
10
|
+
* specify a global workflows file via flag or config key.
|
|
11
|
+
*/
|
|
12
|
+
export declare const resolveWorkflowsFilePath: (configDir: string, configKey: string | undefined, flagValue: string | undefined) => string | undefined;
|
|
13
|
+
//# sourceMappingURL=resolve-workflows-file-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-workflows-file-path.d.ts","sourceRoot":"","sources":["../../../src/lib/workflow/resolve-workflows-file-path.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,WAAW,MAAM,GAAG,SAAS,KAC5B,MAAM,GAAG,SAUX,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the path to the global workflows file.
|
|
4
|
+
*
|
|
5
|
+
* Precedence:
|
|
6
|
+
* 1. CLI flag value (resolved relative to CWD)
|
|
7
|
+
* 2. Config key value (resolved relative to config file directory)
|
|
8
|
+
* 3. undefined (no global file configured)
|
|
9
|
+
*
|
|
10
|
+
* Note: No default filename auto-discovery — the user must explicitly
|
|
11
|
+
* specify a global workflows file via flag or config key.
|
|
12
|
+
*/
|
|
13
|
+
export const resolveWorkflowsFilePath = (configDir, configKey, flagValue) => {
|
|
14
|
+
if (flagValue !== undefined) {
|
|
15
|
+
return resolve(flagValue);
|
|
16
|
+
}
|
|
17
|
+
if (configKey !== undefined) {
|
|
18
|
+
return resolve(configDir, configKey);
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=resolve-workflows-file-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-workflows-file-path.js","sourceRoot":"","sources":["../../../src/lib/workflow/resolve-workflows-file-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,SAA6B,EAC7B,SAA6B,EACT,EAAE;IACtB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
package/oclif.manifest.json
CHANGED
|
@@ -811,10 +811,11 @@
|
|
|
811
811
|
"workflow:run": {
|
|
812
812
|
"aliases": [],
|
|
813
813
|
"args": {},
|
|
814
|
-
"description": "Execute a named workflow defined in a configuration file. Runs steps sequentially — shell commands via execa, jahia-cli commands via subprocess. Stops on first failure. Use --name to select a workflow, or omit to run the default.",
|
|
814
|
+
"description": "Execute a named workflow defined in a configuration file. Supports loading shared workflows from a global workflows file (via --workflows-file flag or workflowsFile config key). Local workflows override global ones with the same name. Runs steps sequentially — shell commands via execa, jahia-cli commands via subprocess. Stops on first failure. Use --name to select a workflow, or omit to run the default.",
|
|
815
815
|
"examples": [
|
|
816
816
|
"<%= config.bin %> workflow run --config jahia-cli.config.yml",
|
|
817
817
|
"<%= config.bin %> workflow run --config jahia-cli.config.yml --name setup",
|
|
818
|
+
"<%= config.bin %> workflow run --config jahia-cli.config.yml --workflows-file shared.yml",
|
|
818
819
|
"<%= config.bin %> workflow run --config ./my-config.yml --json"
|
|
819
820
|
],
|
|
820
821
|
"flags": {
|
|
@@ -835,6 +836,14 @@
|
|
|
835
836
|
"multiple": false,
|
|
836
837
|
"type": "option"
|
|
837
838
|
},
|
|
839
|
+
"workflows-file": {
|
|
840
|
+
"char": "w",
|
|
841
|
+
"description": "Path to a global workflows YAML file. Merged with local config workflows (local takes precedence). Resolved relative to CWD. Overrides the workflowsFile config key.",
|
|
842
|
+
"name": "workflows-file",
|
|
843
|
+
"hasDynamicHelp": false,
|
|
844
|
+
"multiple": false,
|
|
845
|
+
"type": "option"
|
|
846
|
+
},
|
|
838
847
|
"json": {
|
|
839
848
|
"description": "Output result as structured JSON (for AI agents and scripting)",
|
|
840
849
|
"name": "json",
|
|
@@ -1097,5 +1106,5 @@
|
|
|
1097
1106
|
]
|
|
1098
1107
|
}
|
|
1099
1108
|
},
|
|
1100
|
-
"version": "0.3.
|
|
1109
|
+
"version": "0.3.1"
|
|
1101
1110
|
}
|