@gestell/zowe-mcp 0.1.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.
- package/README.md +107 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +7 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/prompts/workflows.d.ts +24 -0
- package/dist/schema/prompts/workflows.d.ts.map +1 -0
- package/dist/schema/prompts/workflows.js +29 -0
- package/dist/schema/prompts/workflows.js.map +1 -0
- package/dist/schema/tools/async-tasks.d.ts +18 -0
- package/dist/schema/tools/async-tasks.d.ts.map +1 -0
- package/dist/schema/tools/async-tasks.js +18 -0
- package/dist/schema/tools/async-tasks.js.map +1 -0
- package/dist/schema/tools/datasets.d.ts +56 -0
- package/dist/schema/tools/datasets.d.ts.map +1 -0
- package/dist/schema/tools/datasets.js +56 -0
- package/dist/schema/tools/datasets.js.map +1 -0
- package/dist/schema/tools/errors.d.ts +8 -0
- package/dist/schema/tools/errors.d.ts.map +1 -0
- package/dist/schema/tools/errors.js +8 -0
- package/dist/schema/tools/errors.js.map +1 -0
- package/dist/schema/tools/jobs.d.ts +38 -0
- package/dist/schema/tools/jobs.d.ts.map +1 -0
- package/dist/schema/tools/jobs.js +40 -0
- package/dist/schema/tools/jobs.js.map +1 -0
- package/dist/schema/tools/tso.d.ts +22 -0
- package/dist/schema/tools/tso.d.ts.map +1 -0
- package/dist/schema/tools/tso.js +22 -0
- package/dist/schema/tools/tso.js.map +1 -0
- package/dist/src/constants.d.ts +11 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +16 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +59 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/prompts/workflows.d.ts +3 -0
- package/dist/src/prompts/workflows.d.ts.map +1 -0
- package/dist/src/prompts/workflows.js +239 -0
- package/dist/src/prompts/workflows.js.map +1 -0
- package/dist/src/resources/reference.d.ts +3 -0
- package/dist/src/resources/reference.d.ts.map +1 -0
- package/dist/src/resources/reference.js +411 -0
- package/dist/src/resources/reference.js.map +1 -0
- package/dist/src/services/error-reference.d.ts +26 -0
- package/dist/src/services/error-reference.d.ts.map +1 -0
- package/dist/src/services/error-reference.js +217 -0
- package/dist/src/services/error-reference.js.map +1 -0
- package/dist/src/services/guardrails.d.ts +11 -0
- package/dist/src/services/guardrails.d.ts.map +1 -0
- package/dist/src/services/guardrails.js +118 -0
- package/dist/src/services/guardrails.js.map +1 -0
- package/dist/src/services/mock-provider.d.ts +7 -0
- package/dist/src/services/mock-provider.d.ts.map +1 -0
- package/dist/src/services/mock-provider.js +324 -0
- package/dist/src/services/mock-provider.js.map +1 -0
- package/dist/src/services/zowe-async-tasks.d.ts +33 -0
- package/dist/src/services/zowe-async-tasks.d.ts.map +1 -0
- package/dist/src/services/zowe-async-tasks.js +169 -0
- package/dist/src/services/zowe-async-tasks.js.map +1 -0
- package/dist/src/services/zowe-executor.d.ts +17 -0
- package/dist/src/services/zowe-executor.d.ts.map +1 -0
- package/dist/src/services/zowe-executor.js +158 -0
- package/dist/src/services/zowe-executor.js.map +1 -0
- package/dist/src/services/zowe-options.d.ts +13 -0
- package/dist/src/services/zowe-options.d.ts.map +1 -0
- package/dist/src/services/zowe-options.js +34 -0
- package/dist/src/services/zowe-options.js.map +1 -0
- package/dist/src/tools/async-tasks.d.ts +3 -0
- package/dist/src/tools/async-tasks.d.ts.map +1 -0
- package/dist/src/tools/async-tasks.js +165 -0
- package/dist/src/tools/async-tasks.js.map +1 -0
- package/dist/src/tools/datasets.d.ts +3 -0
- package/dist/src/tools/datasets.d.ts.map +1 -0
- package/dist/src/tools/datasets.js +195 -0
- package/dist/src/tools/datasets.js.map +1 -0
- package/dist/src/tools/errors.d.ts +3 -0
- package/dist/src/tools/errors.d.ts.map +1 -0
- package/dist/src/tools/errors.js +30 -0
- package/dist/src/tools/errors.js.map +1 -0
- package/dist/src/tools/jobs.d.ts +3 -0
- package/dist/src/tools/jobs.d.ts.map +1 -0
- package/dist/src/tools/jobs.js +150 -0
- package/dist/src/tools/jobs.js.map +1 -0
- package/dist/src/tools/tso.d.ts +3 -0
- package/dist/src/tools/tso.d.ts.map +1 -0
- package/dist/src/tools/tso.js +55 -0
- package/dist/src/tools/tso.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { CommandSafety } from '../constants.js';
|
|
2
|
+
/**
|
|
3
|
+
* TSO Command safety patterns.
|
|
4
|
+
* SAFE: read-only commands that inspect the system
|
|
5
|
+
* CAUTIOUS: commands with side effects that the AI should flag
|
|
6
|
+
* BLOCKED: destructive commands the AI should never execute
|
|
7
|
+
*/
|
|
8
|
+
const SAFE_PATTERNS = [
|
|
9
|
+
/^LISTDS/i,
|
|
10
|
+
/^LISTD\s/i,
|
|
11
|
+
/^LISTCAT/i,
|
|
12
|
+
/^STATUS/i,
|
|
13
|
+
/^LISTALC/i,
|
|
14
|
+
/^TIME$/i,
|
|
15
|
+
/^PROFILE$/i,
|
|
16
|
+
/^SEND\s/i,
|
|
17
|
+
/^HELP/i,
|
|
18
|
+
/^PRINTDS/i,
|
|
19
|
+
/^LISTBC/i,
|
|
20
|
+
];
|
|
21
|
+
const CAUTIOUS_PATTERNS = [
|
|
22
|
+
/^SUBMIT/i,
|
|
23
|
+
/^ALLOC/i,
|
|
24
|
+
/^FREE/i,
|
|
25
|
+
/^EXEC/i,
|
|
26
|
+
/^CALL/i,
|
|
27
|
+
/^RENAME/i,
|
|
28
|
+
/^COPY/i,
|
|
29
|
+
];
|
|
30
|
+
const BLOCKED_PATTERNS = [
|
|
31
|
+
/^DELETE/i,
|
|
32
|
+
/^SCRATCH/i,
|
|
33
|
+
/^FORMAT/i,
|
|
34
|
+
/^CANCEL/i,
|
|
35
|
+
/^PURGE/i,
|
|
36
|
+
/^HALT/i,
|
|
37
|
+
/^FORCE/i,
|
|
38
|
+
/^VARY\s.*OFFLINE/i,
|
|
39
|
+
/^SETPROG/i,
|
|
40
|
+
];
|
|
41
|
+
const SAFE_CONSOLE = [
|
|
42
|
+
/^D\s/i,
|
|
43
|
+
/^DISPLAY\s/i,
|
|
44
|
+
];
|
|
45
|
+
const BLOCKED_CONSOLE = [
|
|
46
|
+
/^Z\s/i,
|
|
47
|
+
/^CANCEL/i,
|
|
48
|
+
/^FORCE/i,
|
|
49
|
+
/^VARY\s.*OFFLINE/i,
|
|
50
|
+
/^STOP/i,
|
|
51
|
+
/^QUIESCE/i,
|
|
52
|
+
];
|
|
53
|
+
export function classifyTsoCommand(command) {
|
|
54
|
+
const trimmed = command.trim();
|
|
55
|
+
for (const pattern of BLOCKED_PATTERNS) {
|
|
56
|
+
if (pattern.test(trimmed)) {
|
|
57
|
+
return {
|
|
58
|
+
safety: CommandSafety.BLOCKED,
|
|
59
|
+
allowed: false,
|
|
60
|
+
reason: `Command "${trimmed.split(/\s/)[0]}" is classified as destructive and cannot be executed by the AI agent.`,
|
|
61
|
+
suggestion: 'This command could cause data loss or system disruption. Please execute it manually via a 3270 terminal or TSO session.'
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
for (const pattern of CAUTIOUS_PATTERNS) {
|
|
66
|
+
if (pattern.test(trimmed)) {
|
|
67
|
+
return {
|
|
68
|
+
safety: CommandSafety.CAUTIOUS,
|
|
69
|
+
allowed: true,
|
|
70
|
+
reason: `Command "${trimmed.split(/\s/)[0]}" has side effects. Proceeding with caution.`,
|
|
71
|
+
suggestion: 'This command modifies system state. Review the parameters carefully.'
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const pattern of SAFE_PATTERNS) {
|
|
76
|
+
if (pattern.test(trimmed)) {
|
|
77
|
+
return {
|
|
78
|
+
safety: CommandSafety.SAFE,
|
|
79
|
+
allowed: true,
|
|
80
|
+
reason: 'Read-only command. Safe to execute.'
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
safety: CommandSafety.CAUTIOUS,
|
|
86
|
+
allowed: true,
|
|
87
|
+
reason: `Command "${trimmed.split(/\s/)[0]}" is not in the known command list. Proceeding with caution.`,
|
|
88
|
+
suggestion: 'This is an unrecognized command. Verify it is correct before relying on the output.'
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export function classifyConsoleCommand(command) {
|
|
92
|
+
const trimmed = command.trim();
|
|
93
|
+
for (const pattern of BLOCKED_CONSOLE) {
|
|
94
|
+
if (pattern.test(trimmed)) {
|
|
95
|
+
return {
|
|
96
|
+
safety: CommandSafety.BLOCKED,
|
|
97
|
+
allowed: false,
|
|
98
|
+
reason: `Console command "${trimmed.split(/\s/)[0]}" is classified as destructive and cannot be executed by the AI agent.`,
|
|
99
|
+
suggestion: 'This command could affect system availability. Execute via operator console only.'
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
for (const pattern of SAFE_CONSOLE) {
|
|
104
|
+
if (pattern.test(trimmed)) {
|
|
105
|
+
return {
|
|
106
|
+
safety: CommandSafety.SAFE,
|
|
107
|
+
allowed: true,
|
|
108
|
+
reason: 'Display command. Safe to execute.'
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
safety: CommandSafety.CAUTIOUS,
|
|
114
|
+
allowed: true,
|
|
115
|
+
reason: 'Console command not in known safe list. Proceeding with caution.'
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=guardrails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../../src/services/guardrails.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ZoweResult } from '../services/zowe-executor.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides realistic mock responses for Zowe CLI commands.
|
|
4
|
+
* Used for demos and development without a live z/OS system.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getMockResponse(command: string, args: string[]): ZoweResult;
|
|
7
|
+
//# sourceMappingURL=mock-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-provider.d.ts","sourceRoot":"","sources":["../../../src/services/mock-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAEhE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoB3E"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides realistic mock responses for Zowe CLI commands.
|
|
3
|
+
* Used for demos and development without a live z/OS system.
|
|
4
|
+
*/
|
|
5
|
+
export function getMockResponse(command, args) {
|
|
6
|
+
const fullCommand = `${command} ${args.join(' ')}`.trim();
|
|
7
|
+
if (fullCommand.startsWith('zos-jobs list jobs'))
|
|
8
|
+
return mockListJobs(args);
|
|
9
|
+
if (fullCommand.startsWith('zos-jobs view job-status-by-jobid'))
|
|
10
|
+
return mockJobStatus(args);
|
|
11
|
+
if (fullCommand.startsWith('zos-jobs view spool-file-by-id') || fullCommand.startsWith('zos-jobs view all-spool-content'))
|
|
12
|
+
return mockSpoolContent(args);
|
|
13
|
+
if (fullCommand.startsWith('zos-jobs submit'))
|
|
14
|
+
return mockSubmitJob(args);
|
|
15
|
+
if (fullCommand.startsWith('zos-files list ds') || fullCommand.startsWith('zos-files list data-set'))
|
|
16
|
+
return mockListDatasets(args);
|
|
17
|
+
if (fullCommand.startsWith('zos-files list all-members'))
|
|
18
|
+
return mockListMembers(args);
|
|
19
|
+
if (fullCommand.startsWith('zos-files upload file-to-data-set'))
|
|
20
|
+
return mockUploadFileToDataset(args);
|
|
21
|
+
if (fullCommand.startsWith('zos-files upload dir-to-pds'))
|
|
22
|
+
return mockUploadDirectoryToPds(args);
|
|
23
|
+
if (fullCommand.startsWith('zos-files view ds') ||
|
|
24
|
+
fullCommand.startsWith('zos-files view data-set') ||
|
|
25
|
+
fullCommand.startsWith('zos-files view uss'))
|
|
26
|
+
return mockViewDataset(args);
|
|
27
|
+
if (fullCommand.startsWith('zos-tso issue command'))
|
|
28
|
+
return mockTsoCommand(args);
|
|
29
|
+
if (fullCommand.startsWith('zos-console issue command'))
|
|
30
|
+
return mockConsoleCommand(args);
|
|
31
|
+
return { success: false, stdout: '', stderr: `Mock mode: No mock data for command: zowe ${fullCommand}`, exitCode: 1 };
|
|
32
|
+
}
|
|
33
|
+
function mockListJobs(args) {
|
|
34
|
+
const ownerFilter = extractArg(args, '--owner') || 'DEVUSR1';
|
|
35
|
+
const statusFilter = extractArg(args, '--status');
|
|
36
|
+
const allJobs = [
|
|
37
|
+
{ jobid: 'JOB00142', jobname: 'PAYROLL1', owner: ownerFilter, status: 'OUTPUT', retcode: 'CC 0000', type: 'JOB', class: 'A', subsystem: 'JES2' },
|
|
38
|
+
{ jobid: 'JOB00158', jobname: 'ACCTUPD', owner: ownerFilter, status: 'OUTPUT', retcode: 'CC 0000', type: 'JOB', class: 'A', subsystem: 'JES2' },
|
|
39
|
+
{ jobid: 'JOB00203', jobname: 'RPTGEN3', owner: ownerFilter, status: 'OUTPUT', retcode: 'CC 0012', type: 'JOB', class: 'A', subsystem: 'JES2' },
|
|
40
|
+
{ jobid: 'JOB00215', jobname: 'DBBACKUP', owner: ownerFilter, status: 'ACTIVE', retcode: null, type: 'JOB', class: 'A', subsystem: 'JES2' },
|
|
41
|
+
{ jobid: 'JOB00301', jobname: 'NIGHTBTC', owner: ownerFilter, status: 'INPUT', retcode: null, type: 'JOB', class: 'B', subsystem: 'JES2' },
|
|
42
|
+
{ jobid: 'JOB00189', jobname: 'COBOLCMP', owner: ownerFilter, status: 'OUTPUT', retcode: 'CC 0004', type: 'JOB', class: 'A', subsystem: 'JES2' },
|
|
43
|
+
{ jobid: 'JOB00245', jobname: 'SORTMRGE', owner: ownerFilter, status: 'OUTPUT', retcode: 'ABEND S0C7', type: 'JOB', class: 'A', subsystem: 'JES2' }
|
|
44
|
+
];
|
|
45
|
+
const filtered = statusFilter ? allJobs.filter(j => j.status === statusFilter) : allJobs;
|
|
46
|
+
const data = { success: true, exitCode: 0, message: '', stdout: '', stderr: '', data: filtered };
|
|
47
|
+
return { success: true, stdout: JSON.stringify(data, null, 2), stderr: '', data, exitCode: 0 };
|
|
48
|
+
}
|
|
49
|
+
function mockJobStatus(args) {
|
|
50
|
+
const jobId = extractPositional(args);
|
|
51
|
+
const jobMap = {
|
|
52
|
+
'JOB00142': { jobid: 'JOB00142', jobname: 'PAYROLL1', owner: 'DEVUSR1', status: 'OUTPUT', retcode: 'CC 0000', type: 'JOB', class: 'A', subsystem: 'JES2', 'exec-started': '2026-02-10T22:00:03.000Z', 'exec-ended': '2026-02-10T22:01:45.000Z', 'phase-name': 'Job is on the hard copy queue' },
|
|
53
|
+
'JOB00203': { jobid: 'JOB00203', jobname: 'RPTGEN3', owner: 'DEVUSR1', status: 'OUTPUT', retcode: 'CC 0012', type: 'JOB', class: 'A', subsystem: 'JES2', 'exec-started': '2026-02-10T23:15:00.000Z', 'exec-ended': '2026-02-10T23:15:12.000Z', 'phase-name': 'Job is on the hard copy queue' },
|
|
54
|
+
'JOB00245': { jobid: 'JOB00245', jobname: 'SORTMRGE', owner: 'DEVUSR1', status: 'OUTPUT', retcode: 'ABEND S0C7', type: 'JOB', class: 'A', subsystem: 'JES2', 'exec-started': '2026-02-11T01:00:00.000Z', 'exec-ended': '2026-02-11T01:00:03.000Z', 'phase-name': 'Job is on the hard copy queue' }
|
|
55
|
+
};
|
|
56
|
+
const job = jobMap[jobId || ''] || jobMap['JOB00142'];
|
|
57
|
+
const data = { success: true, exitCode: 0, message: '', data: job };
|
|
58
|
+
return { success: true, stdout: JSON.stringify(data, null, 2), stderr: '', data, exitCode: 0 };
|
|
59
|
+
}
|
|
60
|
+
function mockSpoolContent(args) {
|
|
61
|
+
const jobId = extractArg(args, '--jobid') || extractPositional(args);
|
|
62
|
+
if (jobId === 'JOB00245') {
|
|
63
|
+
return { success: true, stdout: `1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1
|
|
64
|
+
- --- JOB JOB00245 ---
|
|
65
|
+
- --- SORTMRGE ---
|
|
66
|
+
IEF236I ALLOC. FOR SORTMRGE STEP010
|
|
67
|
+
IEF237I DMY ALLOCATED TO SORTIN
|
|
68
|
+
IEF237I DMY ALLOCATED TO SORTOUT
|
|
69
|
+
IEF142I SORTMRGE STEP010 - STEP WAS EXECUTED - COND CODE 0000
|
|
70
|
+
IGD104I PROD.TRANS.INPUT RETAINED
|
|
71
|
+
IEF285I PROD.TRANS.INPUT KEPT
|
|
72
|
+
IEF285I VOL SER NOS= USR001.
|
|
73
|
+
IEC020I 001-4,IGG019FA,SORTMRGE,STEP020,SORTIN
|
|
74
|
+
IEA995I SYMPTOM DUMP OUTPUT
|
|
75
|
+
SYSTEM COMPLETION CODE=0C7 REASON CODE=00000004
|
|
76
|
+
DATA AT PSW 07854002 - C4D3F0F1 00C0E2D6 D9E3C9D5
|
|
77
|
+
THE ABEND S0C7 INDICATES A DATA EXCEPTION.
|
|
78
|
+
A PACKED DECIMAL FIELD CONTAINS INVALID DATA.
|
|
79
|
+
REVIEW THE INPUT FILE FOR NON-NUMERIC DATA IN NUMERIC FIELDS.`, stderr: '', exitCode: 0 };
|
|
80
|
+
}
|
|
81
|
+
if (jobId === 'JOB00203') {
|
|
82
|
+
return { success: true, stdout: `1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1
|
|
83
|
+
- --- JOB JOB00203 ---
|
|
84
|
+
- --- RPTGEN3 ---
|
|
85
|
+
IEF236I ALLOC. FOR RPTGEN3 STEP010
|
|
86
|
+
IEF237I 0A1 ALLOCATED TO SYSPRINT
|
|
87
|
+
IEF142I RPTGEN3 STEP010 - STEP WAS EXECUTED - COND CODE 0000
|
|
88
|
+
IEF142I RPTGEN3 STEP020 - STEP WAS EXECUTED - COND CODE 0012
|
|
89
|
+
IEF453I RPTGEN3 STEP020 - ENDED BY CC 0012
|
|
90
|
+
IGD17001I ACCESS ERROR ON PROD.REPORT.OUTPUT
|
|
91
|
+
THE DATA SET COULD NOT BE OPENED FOR OUTPUT.
|
|
92
|
+
CHECK THAT THE DATASET EXISTS AND YOU HAVE WRITE ACCESS.
|
|
93
|
+
RC=0012 INDICATES THE SORT UTILITY ENCOUNTERED AN INPUT ERROR.`, stderr: '', exitCode: 0 };
|
|
94
|
+
}
|
|
95
|
+
return { success: true, stdout: `1 J E S 2 J O B L O G -- S Y S T E M S Y S 1 -- N O D E N 1
|
|
96
|
+
- --- JOB ${jobId || 'JOB00142'} ---
|
|
97
|
+
IEF236I ALLOC. FOR PAYROLL1 STEP010
|
|
98
|
+
IEF237I 0A1 ALLOCATED TO SYSPRINT
|
|
99
|
+
IEF142I PAYROLL1 STEP010 - STEP WAS EXECUTED - COND CODE 0000
|
|
100
|
+
IEF142I PAYROLL1 STEP020 - STEP WAS EXECUTED - COND CODE 0000
|
|
101
|
+
IEF142I PAYROLL1 STEP030 - STEP WAS EXECUTED - COND CODE 0000
|
|
102
|
+
IEF144I PAYROLL1 - STEP WAS EXECUTED - COND CODE 0000
|
|
103
|
+
- JOB PAYROLL1 ENDED SUCCESSFULLY`, stderr: '', exitCode: 0 };
|
|
104
|
+
}
|
|
105
|
+
function mockSubmitJob(args) {
|
|
106
|
+
const dataset = extractArg(args, '--data-set') || extractPositional(args) || 'DEVUSR1.JCL(PAYROLL1)';
|
|
107
|
+
const data = { success: true, exitCode: 0, message: 'Job submitted successfully.', data: { jobid: 'JOB00350', jobname: dataset.split('(')[1]?.replace(')', '') || 'USERJOB', owner: 'DEVUSR1', status: 'INPUT', retcode: null, type: 'JOB', class: 'A', subsystem: 'JES2' } };
|
|
108
|
+
return { success: true, stdout: JSON.stringify(data, null, 2), stderr: '', data, exitCode: 0 };
|
|
109
|
+
}
|
|
110
|
+
function mockListDatasets(args) {
|
|
111
|
+
const pattern = extractPositional(args) || 'DEVUSR1';
|
|
112
|
+
const datasets = [
|
|
113
|
+
{ dsname: `${pattern}.COBOL`, dsorg: 'PO', recfm: 'FB', lrecl: 80, blksize: 27920, vol: 'USR001' },
|
|
114
|
+
{ dsname: `${pattern}.COBOL.COPYBOOK`, dsorg: 'PO', recfm: 'FB', lrecl: 80, blksize: 27920, vol: 'USR001' },
|
|
115
|
+
{ dsname: `${pattern}.JCL`, dsorg: 'PO', recfm: 'FB', lrecl: 80, blksize: 27920, vol: 'USR001' },
|
|
116
|
+
{ dsname: `${pattern}.LOADLIB`, dsorg: 'PO', recfm: 'U', lrecl: 0, blksize: 32760, vol: 'USR001' },
|
|
117
|
+
{ dsname: `${pattern}.DATA.INPUT`, dsorg: 'PS', recfm: 'FB', lrecl: 120, blksize: 27960, vol: 'USR002' },
|
|
118
|
+
{ dsname: `${pattern}.DATA.OUTPUT`, dsorg: 'PS', recfm: 'FB', lrecl: 120, blksize: 27960, vol: 'USR002' },
|
|
119
|
+
{ dsname: `${pattern}.CNTL`, dsorg: 'PO', recfm: 'FB', lrecl: 80, blksize: 27920, vol: 'USR001' },
|
|
120
|
+
{ dsname: `${pattern}.DB2.DBRM`, dsorg: 'PO', recfm: 'FB', lrecl: 80, blksize: 27920, vol: 'USR001' }
|
|
121
|
+
];
|
|
122
|
+
const data = { success: true, exitCode: 0, message: '', data: { items: datasets } };
|
|
123
|
+
return { success: true, stdout: JSON.stringify(data, null, 2), stderr: '', data, exitCode: 0 };
|
|
124
|
+
}
|
|
125
|
+
function mockListMembers(args) {
|
|
126
|
+
const dataset = extractPositional(args) || '';
|
|
127
|
+
let members;
|
|
128
|
+
if (dataset.includes('COBOL') && !dataset.includes('COPYBOOK')) {
|
|
129
|
+
members = [{ member: 'PAYROLL' }, { member: 'ACCTUPD' }, { member: 'RPTGEN' }, { member: 'CUSTMNT' }, { member: 'TXNCALC' }, { member: 'BALSHET' }, { member: 'INVPROC' }, { member: 'GLPOST' }];
|
|
130
|
+
}
|
|
131
|
+
else if (dataset.includes('JCL')) {
|
|
132
|
+
members = [{ member: 'PAYROLL1' }, { member: 'ACCTUPD' }, { member: 'RPTGEN3' }, { member: 'NIGHTBTC' }, { member: 'DBBACKUP' }, { member: 'SORTMRGE' }, { member: 'COBOLCMP' }];
|
|
133
|
+
}
|
|
134
|
+
else if (dataset.includes('COPYBOOK')) {
|
|
135
|
+
members = [{ member: 'CUSTREC' }, { member: 'TXNREC' }, { member: 'EMPFILE' }, { member: 'ACCTREC' }, { member: 'ERRCODES' }, { member: 'DATFMT' }];
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
members = [{ member: 'MEMBER1' }, { member: 'MEMBER2' }, { member: 'MEMBER3' }];
|
|
139
|
+
}
|
|
140
|
+
const data = { success: true, exitCode: 0, message: '', data: { items: members } };
|
|
141
|
+
return { success: true, stdout: JSON.stringify(data, null, 2), stderr: '', data, exitCode: 0 };
|
|
142
|
+
}
|
|
143
|
+
function mockViewDataset(args) {
|
|
144
|
+
const target = extractPositional(args) || '';
|
|
145
|
+
if (target.includes('PAYROLL') && target.includes('COBOL')) {
|
|
146
|
+
return { success: true, stdout: MOCK_COBOL_PAYROLL, stderr: '', exitCode: 0 };
|
|
147
|
+
}
|
|
148
|
+
if (target.includes('JCL') && target.includes('PAYROLL')) {
|
|
149
|
+
return { success: true, stdout: MOCK_JCL_PAYROLL, stderr: '', exitCode: 0 };
|
|
150
|
+
}
|
|
151
|
+
return { success: true, stdout: ` * SAMPLE MEMBER CONTENT\n * Dataset: ${target}`, stderr: '', exitCode: 0 };
|
|
152
|
+
}
|
|
153
|
+
function mockUploadFileToDataset(args) {
|
|
154
|
+
const [localFile, dataset] = extractPositionals(args);
|
|
155
|
+
return {
|
|
156
|
+
success: true,
|
|
157
|
+
stdout: `Uploaded local file "${localFile || 'local.txt'}" to dataset "${dataset || 'DEVUSR1.JCL(MEMBER)'}".`,
|
|
158
|
+
stderr: '',
|
|
159
|
+
exitCode: 0
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function mockUploadDirectoryToPds(args) {
|
|
163
|
+
const [localDir, dataset] = extractPositionals(args);
|
|
164
|
+
return {
|
|
165
|
+
success: true,
|
|
166
|
+
stdout: `Uploaded directory "${localDir || './source'}" to PDS "${dataset || 'DEVUSR1.COBOL'}".`,
|
|
167
|
+
stderr: '',
|
|
168
|
+
exitCode: 0
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function mockTsoCommand(args) {
|
|
172
|
+
const cmd = extractArg(args, '--command') || extractPositional(args) || '';
|
|
173
|
+
const upperCmd = cmd.toUpperCase();
|
|
174
|
+
if (upperCmd.startsWith('LISTDS') || upperCmd.startsWith('LISTD')) {
|
|
175
|
+
return { success: true, stdout: 'DEVUSR1.COBOL\n--RECFM-LRECL-BLKSIZE-DSORG\n FB 80 27920 PO\n--VOLUMES--\n USR001\n--MEMBERS--\n PAYROLL\n ACCTUPD\n RPTGEN\n CUSTMNT\n TXNCALC', stderr: '', exitCode: 0 };
|
|
176
|
+
}
|
|
177
|
+
if (upperCmd.startsWith('STATUS')) {
|
|
178
|
+
return { success: true, stdout: 'IKJ56200I JOB DBBACKUP(JOB00215) EXECUTING\nIKJ56200I JOB NIGHTBTC(JOB00301) ON INPUT QUEUE', stderr: '', exitCode: 0 };
|
|
179
|
+
}
|
|
180
|
+
if (upperCmd.startsWith('LISTCAT')) {
|
|
181
|
+
return { success: true, stdout: 'NONVSAM ------- DEVUSR1.COBOL\nNONVSAM ------- DEVUSR1.JCL\nNONVSAM ------- DEVUSR1.LOADLIB\nNONVSAM ------- DEVUSR1.DATA.INPUT\nNONVSAM ------- DEVUSR1.DATA.OUTPUT\nCLUSTER ------- DEVUSR1.VSAM.CUSTDB\n DATA ------- DEVUSR1.VSAM.CUSTDB.DATA\n INDEX ------- DEVUSR1.VSAM.CUSTDB.INDEX', stderr: '', exitCode: 0 };
|
|
182
|
+
}
|
|
183
|
+
return { success: true, stdout: `TSO command executed: ${cmd}\nCommand completed successfully.`, stderr: '', exitCode: 0 };
|
|
184
|
+
}
|
|
185
|
+
function mockConsoleCommand(args) {
|
|
186
|
+
const cmd = extractArg(args, '--command') || extractPositional(args) || '';
|
|
187
|
+
const upperCmd = cmd.toUpperCase();
|
|
188
|
+
if (upperCmd.startsWith('D A')) {
|
|
189
|
+
return { success: true, stdout: 'IEE114I 14.23.05 2026.042 ACTIVITY 834\n JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX\n 00015 00032 00005 00047 00024 00012/00100', stderr: '', exitCode: 0 };
|
|
190
|
+
}
|
|
191
|
+
if (upperCmd.startsWith('D TS')) {
|
|
192
|
+
return { success: true, stdout: 'IEE115I 14.23.10 2026.042\n DEVUSR1 OWT 0A24 S TP\n DEVUSR2 IN 0A25 S TP\n ADMIN01 OWT 0A30 S TP', stderr: '', exitCode: 0 };
|
|
193
|
+
}
|
|
194
|
+
return { success: true, stdout: `Console command issued: ${cmd}\nResponse received.`, stderr: '', exitCode: 0 };
|
|
195
|
+
}
|
|
196
|
+
function extractArg(args, flag) {
|
|
197
|
+
const idx = args.indexOf(flag);
|
|
198
|
+
return (idx >= 0 && idx + 1 < args.length) ? args[idx + 1] : undefined;
|
|
199
|
+
}
|
|
200
|
+
function extractPositional(args) {
|
|
201
|
+
return extractPositionals(args)[0];
|
|
202
|
+
}
|
|
203
|
+
function extractPositionals(args) {
|
|
204
|
+
const flagsWithValues = new Set([
|
|
205
|
+
'--account',
|
|
206
|
+
'--base-profile',
|
|
207
|
+
'--command',
|
|
208
|
+
'--data-set',
|
|
209
|
+
'--jobid',
|
|
210
|
+
'--owner',
|
|
211
|
+
'--prefix',
|
|
212
|
+
'--tso-profile',
|
|
213
|
+
'--zosmf-profile'
|
|
214
|
+
]);
|
|
215
|
+
const positionals = [];
|
|
216
|
+
for (let i = 0; i < args.length; i++) {
|
|
217
|
+
const arg = args[i];
|
|
218
|
+
if (arg === '--rfj')
|
|
219
|
+
continue;
|
|
220
|
+
if (arg.startsWith('--')) {
|
|
221
|
+
if (flagsWithValues.has(arg))
|
|
222
|
+
i++;
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
positionals.push(arg);
|
|
226
|
+
}
|
|
227
|
+
return positionals;
|
|
228
|
+
}
|
|
229
|
+
const MOCK_COBOL_PAYROLL = ` IDENTIFICATION DIVISION.
|
|
230
|
+
PROGRAM-ID. PAYROLL.
|
|
231
|
+
AUTHOR. ENTERPRISE-SYSTEMS.
|
|
232
|
+
DATE-WRITTEN. 1997-03-15.
|
|
233
|
+
*
|
|
234
|
+
* PAYROLL PROCESSING PROGRAM
|
|
235
|
+
* READS EMPLOYEE MASTER FILE AND CALCULATES
|
|
236
|
+
* WEEKLY PAYROLL INCLUDING TAX DEDUCTIONS
|
|
237
|
+
*
|
|
238
|
+
ENVIRONMENT DIVISION.
|
|
239
|
+
INPUT-OUTPUT SECTION.
|
|
240
|
+
FILE-CONTROL.
|
|
241
|
+
SELECT EMP-MASTER-FILE ASSIGN TO EMPFILE
|
|
242
|
+
ORGANIZATION IS INDEXED
|
|
243
|
+
ACCESS MODE IS SEQUENTIAL
|
|
244
|
+
RECORD KEY IS EMP-ID
|
|
245
|
+
FILE STATUS IS WS-FILE-STATUS.
|
|
246
|
+
SELECT PAYROLL-REPORT ASSIGN TO SYSPRINT.
|
|
247
|
+
DATA DIVISION.
|
|
248
|
+
FILE SECTION.
|
|
249
|
+
FD EMP-MASTER-FILE.
|
|
250
|
+
01 EMP-RECORD.
|
|
251
|
+
05 EMP-ID PIC X(6).
|
|
252
|
+
05 EMP-NAME PIC X(30).
|
|
253
|
+
05 EMP-DEPT PIC X(4).
|
|
254
|
+
05 EMP-RATE PIC 9(5)V99.
|
|
255
|
+
05 EMP-HOURS PIC 9(3)V9.
|
|
256
|
+
05 EMP-TAX-CODE PIC X(2).
|
|
257
|
+
05 FILLER PIC X(25).
|
|
258
|
+
WORKING-STORAGE SECTION.
|
|
259
|
+
01 WS-FILE-STATUS PIC XX.
|
|
260
|
+
01 WS-GROSS-PAY PIC 9(7)V99.
|
|
261
|
+
01 WS-TAX-AMT PIC 9(7)V99.
|
|
262
|
+
01 WS-NET-PAY PIC 9(7)V99.
|
|
263
|
+
01 WS-EOF-FLAG PIC X VALUE 'N'.
|
|
264
|
+
88 EOF-REACHED VALUE 'Y'.
|
|
265
|
+
PROCEDURE DIVISION.
|
|
266
|
+
0000-MAIN.
|
|
267
|
+
PERFORM 1000-INITIALIZE
|
|
268
|
+
PERFORM 2000-PROCESS UNTIL EOF-REACHED
|
|
269
|
+
PERFORM 9000-TERMINATE
|
|
270
|
+
STOP RUN.
|
|
271
|
+
1000-INITIALIZE.
|
|
272
|
+
OPEN INPUT EMP-MASTER-FILE
|
|
273
|
+
OUTPUT PAYROLL-REPORT.
|
|
274
|
+
2000-PROCESS.
|
|
275
|
+
READ EMP-MASTER-FILE
|
|
276
|
+
AT END SET EOF-REACHED TO TRUE
|
|
277
|
+
NOT AT END PERFORM 3000-CALC-PAY
|
|
278
|
+
END-READ.
|
|
279
|
+
3000-CALC-PAY.
|
|
280
|
+
MULTIPLY EMP-RATE BY EMP-HOURS
|
|
281
|
+
GIVING WS-GROSS-PAY.
|
|
282
|
+
PERFORM 4000-CALC-TAX.
|
|
283
|
+
SUBTRACT WS-TAX-AMT FROM WS-GROSS-PAY
|
|
284
|
+
GIVING WS-NET-PAY.
|
|
285
|
+
4000-CALC-TAX.
|
|
286
|
+
EVALUATE EMP-TAX-CODE
|
|
287
|
+
WHEN 'S1' MULTIPLY WS-GROSS-PAY BY 0.22
|
|
288
|
+
GIVING WS-TAX-AMT
|
|
289
|
+
WHEN 'S2' MULTIPLY WS-GROSS-PAY BY 0.24
|
|
290
|
+
GIVING WS-TAX-AMT
|
|
291
|
+
WHEN 'M1' MULTIPLY WS-GROSS-PAY BY 0.18
|
|
292
|
+
GIVING WS-TAX-AMT
|
|
293
|
+
WHEN OTHER MULTIPLY WS-GROSS-PAY BY 0.25
|
|
294
|
+
GIVING WS-TAX-AMT
|
|
295
|
+
END-EVALUATE.
|
|
296
|
+
9000-TERMINATE.
|
|
297
|
+
CLOSE EMP-MASTER-FILE PAYROLL-REPORT.`;
|
|
298
|
+
const MOCK_JCL_PAYROLL = `//PAYROLL1 JOB (ACCT001),'PAYROLL BATCH',
|
|
299
|
+
// CLASS=A,MSGCLASS=X,
|
|
300
|
+
// MSGLEVEL=(1,1),NOTIFY=&SYSUID
|
|
301
|
+
//*
|
|
302
|
+
//* WEEKLY PAYROLL PROCESSING
|
|
303
|
+
//* RUN SCHEDULE: EVERY FRIDAY 22:00
|
|
304
|
+
//*
|
|
305
|
+
//STEP010 EXEC PGM=PAYROLL
|
|
306
|
+
//EMPFILE DD DSN=PROD.EMP.MASTER,DISP=SHR
|
|
307
|
+
//SYSPRINT DD DSN=PROD.PAYROLL.REPORT,
|
|
308
|
+
// DISP=(NEW,CATLG,DELETE),
|
|
309
|
+
// SPACE=(CYL,(5,2)),
|
|
310
|
+
// DCB=(RECFM=FB,LRECL=133,BLKSIZE=13300)
|
|
311
|
+
//SYSOUT DD SYSOUT=*
|
|
312
|
+
//*
|
|
313
|
+
//STEP020 EXEC PGM=SORT
|
|
314
|
+
//SORTIN DD DSN=PROD.PAYROLL.REPORT,DISP=SHR
|
|
315
|
+
//SORTOUT DD DSN=PROD.PAYROLL.SORTED,
|
|
316
|
+
// DISP=(NEW,CATLG,DELETE),
|
|
317
|
+
// SPACE=(CYL,(5,2))
|
|
318
|
+
//SYSIN DD *
|
|
319
|
+
SORT FIELDS=(1,6,CH,A)
|
|
320
|
+
/*
|
|
321
|
+
//STEP030 EXEC PGM=RPTPRINT
|
|
322
|
+
//INPUT DD DSN=PROD.PAYROLL.SORTED,DISP=SHR
|
|
323
|
+
//OUTPUT DD SYSOUT=*,DEST=LOCAL`;
|
|
324
|
+
//# sourceMappingURL=mock-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-provider.js","sourceRoot":"","sources":["../../../src/services/mock-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ZoweResult } from '../services/zowe-executor.js';
|
|
2
|
+
type TaskStatus = 'running' | 'completed';
|
|
3
|
+
export interface ZoweAsyncTask {
|
|
4
|
+
id: string;
|
|
5
|
+
command: string;
|
|
6
|
+
args: string[];
|
|
7
|
+
status: TaskStatus;
|
|
8
|
+
startedAt: string;
|
|
9
|
+
completedAt?: string;
|
|
10
|
+
result?: ZoweResult;
|
|
11
|
+
}
|
|
12
|
+
export interface ManagedExecutionPending {
|
|
13
|
+
pending: true;
|
|
14
|
+
taskId: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ManagedExecutionCompleted {
|
|
17
|
+
pending: false;
|
|
18
|
+
taskId: string;
|
|
19
|
+
result: ZoweResult;
|
|
20
|
+
}
|
|
21
|
+
export type ManagedExecution = ManagedExecutionPending | ManagedExecutionCompleted;
|
|
22
|
+
export declare function executeZoweManaged(command: string, args?: string[]): Promise<ManagedExecution>;
|
|
23
|
+
export declare function getAsyncTask(taskId: string): ZoweAsyncTask | undefined;
|
|
24
|
+
export declare function listAsyncTasks(status?: TaskStatus): ZoweAsyncTask[];
|
|
25
|
+
export declare function formatPendingTaskMessage(toolName: string, taskId: string): string;
|
|
26
|
+
export interface WaitOnTaskResult {
|
|
27
|
+
found: boolean;
|
|
28
|
+
timedOut: boolean;
|
|
29
|
+
task?: ZoweAsyncTask;
|
|
30
|
+
}
|
|
31
|
+
export declare function waitOnAsyncTask(taskId: string, maxWaitMs?: number, pollIntervalMs?: number): Promise<WaitOnTaskResult>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=zowe-async-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zowe-async-tasks.d.ts","sourceRoot":"","sources":["../../../src/services/zowe-async-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,qCAAqC,CAAA;AAG7E,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,CAAA;AAazC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,KAAK,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,yBAAyB,CAAA;AASlF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuBxG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAKtE;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,EAAE,CAMnE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkC5H"}
|