@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.
Files changed (94) hide show
  1. package/README.md +107 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/schema/index.d.ts +7 -0
  7. package/dist/schema/index.d.ts.map +1 -0
  8. package/dist/schema/index.js +7 -0
  9. package/dist/schema/index.js.map +1 -0
  10. package/dist/schema/prompts/workflows.d.ts +24 -0
  11. package/dist/schema/prompts/workflows.d.ts.map +1 -0
  12. package/dist/schema/prompts/workflows.js +29 -0
  13. package/dist/schema/prompts/workflows.js.map +1 -0
  14. package/dist/schema/tools/async-tasks.d.ts +18 -0
  15. package/dist/schema/tools/async-tasks.d.ts.map +1 -0
  16. package/dist/schema/tools/async-tasks.js +18 -0
  17. package/dist/schema/tools/async-tasks.js.map +1 -0
  18. package/dist/schema/tools/datasets.d.ts +56 -0
  19. package/dist/schema/tools/datasets.d.ts.map +1 -0
  20. package/dist/schema/tools/datasets.js +56 -0
  21. package/dist/schema/tools/datasets.js.map +1 -0
  22. package/dist/schema/tools/errors.d.ts +8 -0
  23. package/dist/schema/tools/errors.d.ts.map +1 -0
  24. package/dist/schema/tools/errors.js +8 -0
  25. package/dist/schema/tools/errors.js.map +1 -0
  26. package/dist/schema/tools/jobs.d.ts +38 -0
  27. package/dist/schema/tools/jobs.d.ts.map +1 -0
  28. package/dist/schema/tools/jobs.js +40 -0
  29. package/dist/schema/tools/jobs.js.map +1 -0
  30. package/dist/schema/tools/tso.d.ts +22 -0
  31. package/dist/schema/tools/tso.d.ts.map +1 -0
  32. package/dist/schema/tools/tso.js +22 -0
  33. package/dist/schema/tools/tso.js.map +1 -0
  34. package/dist/src/constants.d.ts +11 -0
  35. package/dist/src/constants.d.ts.map +1 -0
  36. package/dist/src/constants.js +16 -0
  37. package/dist/src/constants.js.map +1 -0
  38. package/dist/src/index.d.ts +3 -0
  39. package/dist/src/index.d.ts.map +1 -0
  40. package/dist/src/index.js +59 -0
  41. package/dist/src/index.js.map +1 -0
  42. package/dist/src/prompts/workflows.d.ts +3 -0
  43. package/dist/src/prompts/workflows.d.ts.map +1 -0
  44. package/dist/src/prompts/workflows.js +239 -0
  45. package/dist/src/prompts/workflows.js.map +1 -0
  46. package/dist/src/resources/reference.d.ts +3 -0
  47. package/dist/src/resources/reference.d.ts.map +1 -0
  48. package/dist/src/resources/reference.js +411 -0
  49. package/dist/src/resources/reference.js.map +1 -0
  50. package/dist/src/services/error-reference.d.ts +26 -0
  51. package/dist/src/services/error-reference.d.ts.map +1 -0
  52. package/dist/src/services/error-reference.js +217 -0
  53. package/dist/src/services/error-reference.js.map +1 -0
  54. package/dist/src/services/guardrails.d.ts +11 -0
  55. package/dist/src/services/guardrails.d.ts.map +1 -0
  56. package/dist/src/services/guardrails.js +118 -0
  57. package/dist/src/services/guardrails.js.map +1 -0
  58. package/dist/src/services/mock-provider.d.ts +7 -0
  59. package/dist/src/services/mock-provider.d.ts.map +1 -0
  60. package/dist/src/services/mock-provider.js +324 -0
  61. package/dist/src/services/mock-provider.js.map +1 -0
  62. package/dist/src/services/zowe-async-tasks.d.ts +33 -0
  63. package/dist/src/services/zowe-async-tasks.d.ts.map +1 -0
  64. package/dist/src/services/zowe-async-tasks.js +169 -0
  65. package/dist/src/services/zowe-async-tasks.js.map +1 -0
  66. package/dist/src/services/zowe-executor.d.ts +17 -0
  67. package/dist/src/services/zowe-executor.d.ts.map +1 -0
  68. package/dist/src/services/zowe-executor.js +158 -0
  69. package/dist/src/services/zowe-executor.js.map +1 -0
  70. package/dist/src/services/zowe-options.d.ts +13 -0
  71. package/dist/src/services/zowe-options.d.ts.map +1 -0
  72. package/dist/src/services/zowe-options.js +34 -0
  73. package/dist/src/services/zowe-options.js.map +1 -0
  74. package/dist/src/tools/async-tasks.d.ts +3 -0
  75. package/dist/src/tools/async-tasks.d.ts.map +1 -0
  76. package/dist/src/tools/async-tasks.js +165 -0
  77. package/dist/src/tools/async-tasks.js.map +1 -0
  78. package/dist/src/tools/datasets.d.ts +3 -0
  79. package/dist/src/tools/datasets.d.ts.map +1 -0
  80. package/dist/src/tools/datasets.js +195 -0
  81. package/dist/src/tools/datasets.js.map +1 -0
  82. package/dist/src/tools/errors.d.ts +3 -0
  83. package/dist/src/tools/errors.d.ts.map +1 -0
  84. package/dist/src/tools/errors.js +30 -0
  85. package/dist/src/tools/errors.js.map +1 -0
  86. package/dist/src/tools/jobs.d.ts +3 -0
  87. package/dist/src/tools/jobs.d.ts.map +1 -0
  88. package/dist/src/tools/jobs.js +150 -0
  89. package/dist/src/tools/jobs.js.map +1 -0
  90. package/dist/src/tools/tso.d.ts +3 -0
  91. package/dist/src/tools/tso.d.ts.map +1 -0
  92. package/dist/src/tools/tso.js +55 -0
  93. package/dist/src/tools/tso.js.map +1 -0
  94. 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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAStD;;;;;GAKG;AACH,MAAM,aAAa,GAAa;IAC9B,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,SAAS;IACT,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,WAAW;IACX,UAAU;CACX,CAAA;AAED,MAAM,iBAAiB,GAAa;IAClC,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,QAAQ;CACT,CAAA;AAED,MAAM,gBAAgB,GAAa;IACjC,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,mBAAmB;IACnB,WAAW;CACZ,CAAA;AAED,MAAM,YAAY,GAAa;IAC7B,OAAO;IACP,aAAa;CACd,CAAA;AAED,MAAM,eAAe,GAAa;IAChC,OAAO;IACP,UAAU;IACV,SAAS;IACT,mBAAmB;IACnB,QAAQ;IACR,WAAW;CACZ,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,OAAO;gBAC7B,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wEAAwE;gBAClH,UAAU,EAAE,yHAAyH;aACtI,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,QAAQ;gBAC9B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8CAA8C;gBACxF,UAAU,EAAE,sEAAsE;aACnF,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,IAAI;gBAC1B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,qCAAqC;aAC9C,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,QAAQ;QAC9B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8DAA8D;QACxG,UAAU,EAAE,qFAAqF;KAClG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,OAAO;gBAC7B,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,oBAAoB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wEAAwE;gBAC1H,UAAU,EAAE,mFAAmF;aAChG,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,IAAI;gBAC1B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,mCAAmC;aAC5C,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,QAAQ;QAC9B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,kEAAkE;KAC3E,CAAA;AACH,CAAC"}
@@ -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"}