@mcp-graph-workflow/mcp-graph 5.9.1 → 5.11.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 (213) hide show
  1. package/dist/api/routes/siebel.d.ts.map +1 -1
  2. package/dist/api/routes/siebel.js +206 -0
  3. package/dist/api/routes/siebel.js.map +1 -1
  4. package/dist/core/rag/siebel-indexer.d.ts.map +1 -1
  5. package/dist/core/rag/siebel-indexer.js +57 -1
  6. package/dist/core/rag/siebel-indexer.js.map +1 -1
  7. package/dist/core/rag/wsdl-indexer.d.ts +16 -0
  8. package/dist/core/rag/wsdl-indexer.d.ts.map +1 -0
  9. package/dist/core/rag/wsdl-indexer.js +115 -0
  10. package/dist/core/rag/wsdl-indexer.js.map +1 -0
  11. package/dist/core/siebel/auto-wiring.d.ts +29 -0
  12. package/dist/core/siebel/auto-wiring.d.ts.map +1 -0
  13. package/dist/core/siebel/auto-wiring.js +211 -0
  14. package/dist/core/siebel/auto-wiring.js.map +1 -0
  15. package/dist/core/siebel/best-practices.d.ts +16 -0
  16. package/dist/core/siebel/best-practices.d.ts.map +1 -0
  17. package/dist/core/siebel/best-practices.js +92 -0
  18. package/dist/core/siebel/best-practices.js.map +1 -0
  19. package/dist/core/siebel/change-simulator.d.ts +32 -0
  20. package/dist/core/siebel/change-simulator.d.ts.map +1 -0
  21. package/dist/core/siebel/change-simulator.js +138 -0
  22. package/dist/core/siebel/change-simulator.js.map +1 -0
  23. package/dist/core/siebel/clone-adapt.d.ts +21 -0
  24. package/dist/core/siebel/clone-adapt.d.ts.map +1 -0
  25. package/dist/core/siebel/clone-adapt.js +157 -0
  26. package/dist/core/siebel/clone-adapt.js.map +1 -0
  27. package/dist/core/siebel/code-review.d.ts +36 -0
  28. package/dist/core/siebel/code-review.d.ts.map +1 -0
  29. package/dist/core/siebel/code-review.js +239 -0
  30. package/dist/core/siebel/code-review.js.map +1 -0
  31. package/dist/core/siebel/complexity-metrics.d.ts +24 -0
  32. package/dist/core/siebel/complexity-metrics.d.ts.map +1 -0
  33. package/dist/core/siebel/complexity-metrics.js +41 -0
  34. package/dist/core/siebel/complexity-metrics.js.map +1 -0
  35. package/dist/core/siebel/context-enrichment.d.ts +18 -0
  36. package/dist/core/siebel/context-enrichment.d.ts.map +1 -0
  37. package/dist/core/siebel/context-enrichment.js +91 -0
  38. package/dist/core/siebel/context-enrichment.js.map +1 -0
  39. package/dist/core/siebel/cross-project-analyzer.d.ts +30 -0
  40. package/dist/core/siebel/cross-project-analyzer.d.ts.map +1 -0
  41. package/dist/core/siebel/cross-project-analyzer.js +108 -0
  42. package/dist/core/siebel/cross-project-analyzer.js.map +1 -0
  43. package/dist/core/siebel/definition-of-ready.d.ts +25 -0
  44. package/dist/core/siebel/definition-of-ready.d.ts.map +1 -0
  45. package/dist/core/siebel/definition-of-ready.js +164 -0
  46. package/dist/core/siebel/definition-of-ready.js.map +1 -0
  47. package/dist/core/siebel/escript-crossref.d.ts +18 -0
  48. package/dist/core/siebel/escript-crossref.d.ts.map +1 -0
  49. package/dist/core/siebel/escript-crossref.js +50 -0
  50. package/dist/core/siebel/escript-crossref.js.map +1 -0
  51. package/dist/core/siebel/escript-generator.d.ts +33 -0
  52. package/dist/core/siebel/escript-generator.d.ts.map +1 -0
  53. package/dist/core/siebel/escript-generator.js +200 -0
  54. package/dist/core/siebel/escript-generator.js.map +1 -0
  55. package/dist/core/siebel/escript-patterns.d.ts +20 -0
  56. package/dist/core/siebel/escript-patterns.d.ts.map +1 -0
  57. package/dist/core/siebel/escript-patterns.js +69 -0
  58. package/dist/core/siebel/escript-patterns.js.map +1 -0
  59. package/dist/core/siebel/escript-refactor.d.ts +23 -0
  60. package/dist/core/siebel/escript-refactor.d.ts.map +1 -0
  61. package/dist/core/siebel/escript-refactor.js +270 -0
  62. package/dist/core/siebel/escript-refactor.js.map +1 -0
  63. package/dist/core/siebel/field-suggestion.d.ts +29 -0
  64. package/dist/core/siebel/field-suggestion.d.ts.map +1 -0
  65. package/dist/core/siebel/field-suggestion.js +105 -0
  66. package/dist/core/siebel/field-suggestion.js.map +1 -0
  67. package/dist/core/siebel/health-check.d.ts +21 -0
  68. package/dist/core/siebel/health-check.d.ts.map +1 -0
  69. package/dist/core/siebel/health-check.js +51 -0
  70. package/dist/core/siebel/health-check.js.map +1 -0
  71. package/dist/core/siebel/integration-test-gen.d.ts +26 -0
  72. package/dist/core/siebel/integration-test-gen.d.ts.map +1 -0
  73. package/dist/core/siebel/integration-test-gen.js +131 -0
  74. package/dist/core/siebel/integration-test-gen.js.map +1 -0
  75. package/dist/core/siebel/lov-mapper.d.ts +23 -0
  76. package/dist/core/siebel/lov-mapper.d.ts.map +1 -0
  77. package/dist/core/siebel/lov-mapper.js +42 -0
  78. package/dist/core/siebel/lov-mapper.js.map +1 -0
  79. package/dist/core/siebel/migration-package.d.ts +38 -0
  80. package/dist/core/siebel/migration-package.d.ts.map +1 -0
  81. package/dist/core/siebel/migration-package.js +276 -0
  82. package/dist/core/siebel/migration-package.js.map +1 -0
  83. package/dist/core/siebel/naming-convention-validator.d.ts +38 -0
  84. package/dist/core/siebel/naming-convention-validator.d.ts.map +1 -0
  85. package/dist/core/siebel/naming-convention-validator.js +165 -0
  86. package/dist/core/siebel/naming-convention-validator.js.map +1 -0
  87. package/dist/core/siebel/object-erd.d.ts +28 -0
  88. package/dist/core/siebel/object-erd.d.ts.map +1 -0
  89. package/dist/core/siebel/object-erd.js +82 -0
  90. package/dist/core/siebel/object-erd.js.map +1 -0
  91. package/dist/core/siebel/orphan-detector.d.ts +21 -0
  92. package/dist/core/siebel/orphan-detector.d.ts.map +1 -0
  93. package/dist/core/siebel/orphan-detector.js +64 -0
  94. package/dist/core/siebel/orphan-detector.js.map +1 -0
  95. package/dist/core/siebel/pattern-analyzer.d.ts +32 -0
  96. package/dist/core/siebel/pattern-analyzer.d.ts.map +1 -0
  97. package/dist/core/siebel/pattern-analyzer.js +155 -0
  98. package/dist/core/siebel/pattern-analyzer.js.map +1 -0
  99. package/dist/core/siebel/profileattr-flow.d.ts +26 -0
  100. package/dist/core/siebel/profileattr-flow.d.ts.map +1 -0
  101. package/dist/core/siebel/profileattr-flow.js +50 -0
  102. package/dist/core/siebel/profileattr-flow.js.map +1 -0
  103. package/dist/core/siebel/runtime-dep-builder.d.ts +9 -0
  104. package/dist/core/siebel/runtime-dep-builder.d.ts.map +1 -0
  105. package/dist/core/siebel/runtime-dep-builder.js +47 -0
  106. package/dist/core/siebel/runtime-dep-builder.js.map +1 -0
  107. package/dist/core/siebel/scaffold-generator.d.ts +25 -0
  108. package/dist/core/siebel/scaffold-generator.d.ts.map +1 -0
  109. package/dist/core/siebel/scaffold-generator.js +278 -0
  110. package/dist/core/siebel/scaffold-generator.js.map +1 -0
  111. package/dist/core/siebel/siebel-context-builder.d.ts +10 -0
  112. package/dist/core/siebel/siebel-context-builder.d.ts.map +1 -0
  113. package/dist/core/siebel/siebel-context-builder.js +75 -0
  114. package/dist/core/siebel/siebel-context-builder.js.map +1 -0
  115. package/dist/core/siebel/siebel-rag-booster.d.ts +19 -0
  116. package/dist/core/siebel/siebel-rag-booster.d.ts.map +1 -0
  117. package/dist/core/siebel/siebel-rag-booster.js +41 -0
  118. package/dist/core/siebel/siebel-rag-booster.js.map +1 -0
  119. package/dist/core/siebel/siebel-validators.d.ts +73 -0
  120. package/dist/core/siebel/siebel-validators.d.ts.map +1 -0
  121. package/dist/core/siebel/siebel-validators.js +269 -0
  122. package/dist/core/siebel/siebel-validators.js.map +1 -0
  123. package/dist/core/siebel/sif-batch-importer.d.ts +27 -0
  124. package/dist/core/siebel/sif-batch-importer.d.ts.map +1 -0
  125. package/dist/core/siebel/sif-batch-importer.js +68 -0
  126. package/dist/core/siebel/sif-batch-importer.js.map +1 -0
  127. package/dist/core/siebel/sif-diff.d.ts +57 -0
  128. package/dist/core/siebel/sif-diff.d.ts.map +1 -0
  129. package/dist/core/siebel/sif-diff.js +198 -0
  130. package/dist/core/siebel/sif-diff.js.map +1 -0
  131. package/dist/core/siebel/sif-parser.d.ts.map +1 -1
  132. package/dist/core/siebel/sif-parser.js +86 -0
  133. package/dist/core/siebel/sif-parser.js.map +1 -1
  134. package/dist/core/siebel/similarity-detector.d.ts +20 -0
  135. package/dist/core/siebel/similarity-detector.d.ts.map +1 -0
  136. package/dist/core/siebel/similarity-detector.js +83 -0
  137. package/dist/core/siebel/similarity-detector.js.map +1 -0
  138. package/dist/core/siebel/template-learner.d.ts +25 -0
  139. package/dist/core/siebel/template-learner.d.ts.map +1 -0
  140. package/dist/core/siebel/template-learner.js +129 -0
  141. package/dist/core/siebel/template-learner.js.map +1 -0
  142. package/dist/core/siebel/troubleshoot.d.ts +37 -0
  143. package/dist/core/siebel/troubleshoot.d.ts.map +1 -0
  144. package/dist/core/siebel/troubleshoot.js +249 -0
  145. package/dist/core/siebel/troubleshoot.js.map +1 -0
  146. package/dist/core/siebel/wsdl-correlation.d.ts +22 -0
  147. package/dist/core/siebel/wsdl-correlation.d.ts.map +1 -0
  148. package/dist/core/siebel/wsdl-correlation.js +64 -0
  149. package/dist/core/siebel/wsdl-correlation.js.map +1 -0
  150. package/dist/core/siebel/wsdl-parser.d.ts +57 -0
  151. package/dist/core/siebel/wsdl-parser.d.ts.map +1 -0
  152. package/dist/core/siebel/wsdl-parser.js +226 -0
  153. package/dist/core/siebel/wsdl-parser.js.map +1 -0
  154. package/dist/core/siebel/wsdl-to-sif.d.ts +22 -0
  155. package/dist/core/siebel/wsdl-to-sif.d.ts.map +1 -0
  156. package/dist/core/siebel/wsdl-to-sif.js +184 -0
  157. package/dist/core/siebel/wsdl-to-sif.js.map +1 -0
  158. package/dist/mcp/tools/siebel-analyze.d.ts.map +1 -1
  159. package/dist/mcp/tools/siebel-analyze.js +89 -6
  160. package/dist/mcp/tools/siebel-analyze.js.map +1 -1
  161. package/dist/mcp/tools/siebel-composer.d.ts.map +1 -1
  162. package/dist/mcp/tools/siebel-composer.js +40 -3
  163. package/dist/mcp/tools/siebel-composer.js.map +1 -1
  164. package/dist/mcp/tools/siebel-generate-sif.d.ts.map +1 -1
  165. package/dist/mcp/tools/siebel-generate-sif.js +188 -3
  166. package/dist/mcp/tools/siebel-generate-sif.js.map +1 -1
  167. package/dist/mcp/tools/siebel-search.js +1 -1
  168. package/dist/mcp/tools/siebel-search.js.map +1 -1
  169. package/dist/mcp/tools/siebel-validate.d.ts.map +1 -1
  170. package/dist/mcp/tools/siebel-validate.js +94 -5
  171. package/dist/mcp/tools/siebel-validate.js.map +1 -1
  172. package/dist/schemas/knowledge.schema.d.ts +6 -0
  173. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  174. package/dist/schemas/knowledge.schema.js +2 -1
  175. package/dist/schemas/knowledge.schema.js.map +1 -1
  176. package/dist/schemas/siebel.schema.d.ts +42 -0
  177. package/dist/schemas/siebel.schema.d.ts.map +1 -1
  178. package/dist/schemas/siebel.schema.js +4 -0
  179. package/dist/schemas/siebel.schema.js.map +1 -1
  180. package/dist/web/dashboard/dist/assets/benchmark-tab-DE9sF83l.js +1 -0
  181. package/dist/web/dashboard/dist/assets/{constants-z0QkAiYv.js → constants-lq4BIQN3.js} +1 -1
  182. package/dist/web/dashboard/dist/assets/context-tab-BDBUYfAA.js +1 -0
  183. package/dist/web/dashboard/dist/assets/{gitnexus-tab-DDw7DUED.js → gitnexus-tab-Yn1v6B3B.js} +16 -16
  184. package/dist/web/dashboard/dist/assets/graph-section-C6dzE7Vr.js +1 -0
  185. package/dist/web/dashboard/dist/assets/graph-tab-eIpG9sGq.js +1 -0
  186. package/dist/web/dashboard/dist/assets/graph-utils-Cq350VUG.js +1 -0
  187. package/dist/web/dashboard/dist/assets/{index-F9dY4AG_.js → index-BjE9IIVd.js} +2 -2
  188. package/dist/web/dashboard/dist/assets/index-CsH_Hv51.js +208 -0
  189. package/dist/web/dashboard/dist/assets/index-p238Jynp.css +1 -0
  190. package/dist/web/dashboard/dist/assets/index-ruquw1ns.js +1 -0
  191. package/dist/web/dashboard/dist/assets/{insights-tab-YN7G6mjm.js → insights-tab-iSZItsRP.js} +15 -15
  192. package/dist/web/dashboard/dist/assets/journey-tab-GXibD334.js +1 -0
  193. package/dist/web/dashboard/dist/assets/logs-tab-DROI_l7-.js +2 -0
  194. package/dist/web/dashboard/dist/assets/memories-tab-DUMqEP5R.js +1 -0
  195. package/dist/web/dashboard/dist/assets/prd-backlog-tab-DIQ0Fmr_.js +1 -0
  196. package/dist/web/dashboard/dist/assets/siebel-tab-Ci5KiOA6.js +4 -0
  197. package/dist/web/dashboard/dist/assets/sif-parse.worker-DZrybOHz.js +4 -0
  198. package/dist/web/dashboard/dist/assets/skills-tab-EfuAQFRT.js +1 -0
  199. package/dist/web/dashboard/dist/assets/{style-Da3qWU01.js → style-DF9Y1aXX.js} +1 -1
  200. package/dist/web/dashboard/dist/index.html +5 -2
  201. package/package.json +2 -2
  202. package/dist/web/dashboard/dist/assets/benchmark-tab-BoMsoQjO.js +0 -1
  203. package/dist/web/dashboard/dist/assets/context-tab-BLT4qQ77.js +0 -1
  204. package/dist/web/dashboard/dist/assets/graph-tab-DG9Q6nko.js +0 -1
  205. package/dist/web/dashboard/dist/assets/graph-utils-BpYHKE87.js +0 -1
  206. package/dist/web/dashboard/dist/assets/index-Cu23WCcu.css +0 -1
  207. package/dist/web/dashboard/dist/assets/index-DtkPX5ZZ.js +0 -55
  208. package/dist/web/dashboard/dist/assets/journey-tab-BcweuR82.js +0 -1
  209. package/dist/web/dashboard/dist/assets/logs-tab-BjdAURdy.js +0 -2
  210. package/dist/web/dashboard/dist/assets/memories-tab-CQ2xM2aw.js +0 -1
  211. package/dist/web/dashboard/dist/assets/prd-backlog-tab-CIeCpE1a.js +0 -1
  212. package/dist/web/dashboard/dist/assets/siebel-tab-bj5CT4-Z.js +0 -3
  213. package/dist/web/dashboard/dist/assets/skills-tab-Bgk72mKO.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-enrichment.js","sourceRoot":"","sources":["../../../src/core/siebel/context-enrichment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Cross-Project Dependency Analyzer — identifies dependencies between different Siebel projects.
3
+ */
4
+ import type { SiebelObject, SiebelDependency } from "../../schemas/siebel.schema.js";
5
+ export interface CrossProjectDep {
6
+ fromProject: string;
7
+ toProject: string;
8
+ fromObject: string;
9
+ fromType: string;
10
+ toObject: string;
11
+ toType: string;
12
+ relationType: string;
13
+ }
14
+ export interface ProjectSummary {
15
+ project: string;
16
+ objectCount: number;
17
+ inboundCrossRefs: number;
18
+ outboundCrossRefs: number;
19
+ }
20
+ export interface CrossProjectResult {
21
+ crossProjectDeps: CrossProjectDep[];
22
+ projectSummary: ProjectSummary[];
23
+ mermaidDiagram: string;
24
+ deployRisks: string[];
25
+ }
26
+ /**
27
+ * Analyze dependencies that cross project boundaries.
28
+ */
29
+ export declare function analyzeCrossProjectDeps(objects: SiebelObject[], dependencies: SiebelDependency[]): CrossProjectResult;
30
+ //# sourceMappingURL=cross-project-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-project-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/cross-project-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAErF,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EAAE,EACvB,YAAY,EAAE,gBAAgB,EAAE,GAC/B,kBAAkB,CA2DpB"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Cross-Project Dependency Analyzer — identifies dependencies between different Siebel projects.
3
+ */
4
+ /**
5
+ * Analyze dependencies that cross project boundaries.
6
+ */
7
+ export function analyzeCrossProjectDeps(objects, dependencies) {
8
+ // Build object→project index
9
+ const objectProject = new Map();
10
+ for (const obj of objects) {
11
+ if (obj.project) {
12
+ objectProject.set(`${obj.type}:${obj.name}`, obj.project);
13
+ }
14
+ }
15
+ // Find cross-project dependencies
16
+ const crossDeps = [];
17
+ for (const dep of dependencies) {
18
+ const fromKey = `${dep.from.type}:${dep.from.name}`;
19
+ const toKey = `${dep.to.type}:${dep.to.name}`;
20
+ const fromProject = objectProject.get(fromKey);
21
+ const toProject = objectProject.get(toKey);
22
+ if (fromProject && toProject && fromProject !== toProject) {
23
+ crossDeps.push({
24
+ fromProject,
25
+ toProject,
26
+ fromObject: dep.from.name,
27
+ fromType: dep.from.type,
28
+ toObject: dep.to.name,
29
+ toType: dep.to.type,
30
+ relationType: dep.relationType,
31
+ });
32
+ }
33
+ }
34
+ // Build project summary
35
+ const projectObjects = new Map();
36
+ for (const obj of objects) {
37
+ if (obj.project && !obj.parentName) {
38
+ projectObjects.set(obj.project, (projectObjects.get(obj.project) ?? 0) + 1);
39
+ }
40
+ }
41
+ const inbound = new Map();
42
+ const outbound = new Map();
43
+ for (const dep of crossDeps) {
44
+ outbound.set(dep.fromProject, (outbound.get(dep.fromProject) ?? 0) + 1);
45
+ inbound.set(dep.toProject, (inbound.get(dep.toProject) ?? 0) + 1);
46
+ }
47
+ const projectSummary = Array.from(projectObjects.entries()).map(([project, count]) => ({
48
+ project,
49
+ objectCount: count,
50
+ inboundCrossRefs: inbound.get(project) ?? 0,
51
+ outboundCrossRefs: outbound.get(project) ?? 0,
52
+ }));
53
+ // Generate Mermaid diagram
54
+ const mermaidDiagram = generateMermaid(crossDeps, projectSummary);
55
+ // Generate deploy risks
56
+ const deployRisks = generateDeployRisks(crossDeps);
57
+ return { crossProjectDeps: crossDeps, projectSummary, mermaidDiagram, deployRisks };
58
+ }
59
+ function generateMermaid(deps, summary) {
60
+ const lines = ["graph LR"];
61
+ const projects = new Set();
62
+ for (const dep of deps) {
63
+ projects.add(dep.fromProject);
64
+ projects.add(dep.toProject);
65
+ }
66
+ for (const s of summary) {
67
+ projects.add(s.project);
68
+ }
69
+ // Node definitions
70
+ for (const p of projects) {
71
+ const s = summary.find((x) => x.project === p);
72
+ const label = s ? `${p} (${s.objectCount} objects)` : p;
73
+ const safeId = p.replace(/\s+/g, "_");
74
+ lines.push(` ${safeId}["${label}"]`);
75
+ }
76
+ // Edge definitions (deduplicated by project pair)
77
+ const edgeSet = new Set();
78
+ for (const dep of deps) {
79
+ const key = `${dep.fromProject}→${dep.toProject}`;
80
+ if (!edgeSet.has(key)) {
81
+ edgeSet.add(key);
82
+ const fromId = dep.fromProject.replace(/\s+/g, "_");
83
+ const toId = dep.toProject.replace(/\s+/g, "_");
84
+ const count = deps.filter((d) => d.fromProject === dep.fromProject && d.toProject === dep.toProject).length;
85
+ lines.push(` ${fromId} -->|${count} deps| ${toId}`);
86
+ }
87
+ }
88
+ return lines.join("\n");
89
+ }
90
+ function generateDeployRisks(deps) {
91
+ const risks = [];
92
+ const byTarget = new Map();
93
+ for (const dep of deps) {
94
+ const key = dep.toProject;
95
+ const list = byTarget.get(key) ?? [];
96
+ list.push(dep);
97
+ byTarget.set(key, list);
98
+ }
99
+ for (const [project, projectDeps] of byTarget) {
100
+ const sources = [...new Set(projectDeps.map((d) => d.fromProject))];
101
+ if (sources.length > 0) {
102
+ risks.push(`Deploying "${project}" may affect ${sources.length} dependent project(s): ${sources.join(", ")}. ` +
103
+ `${projectDeps.length} cross-project reference(s) could break.`);
104
+ }
105
+ }
106
+ return risks;
107
+ }
108
+ //# sourceMappingURL=cross-project-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-project-analyzer.js","sourceRoot":"","sources":["../../../src/core/siebel/cross-project-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Siebel Definition of Ready — automated readiness checks for Siebel tasks.
3
+ *
4
+ * Validates: dependency resolution, naming conventions, WSDL availability,
5
+ * BC field existence, and lock conflict detection.
6
+ */
7
+ import type { SiebelObject } from "../../schemas/siebel.schema.js";
8
+ export interface ReadyCheckRequest {
9
+ readonly targetObjects: readonly SiebelObject[];
10
+ readonly repository: readonly SiebelObject[];
11
+ readonly prefix: string;
12
+ readonly currentUser?: string;
13
+ readonly availableWsdls?: readonly string[];
14
+ }
15
+ export interface ReadyCheck {
16
+ readonly name: string;
17
+ readonly passed: boolean;
18
+ readonly detail: string;
19
+ }
20
+ export interface ReadyCheckResult {
21
+ readonly ready: boolean;
22
+ readonly checks: readonly ReadyCheck[];
23
+ }
24
+ export declare function checkSiebelReady(request: ReadyCheckRequest): ReadyCheckResult;
25
+ //# sourceMappingURL=definition-of-ready.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-of-ready.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/definition-of-ready.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,gCAAgC,CAAC;AAKrF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAmKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAuC7E"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Siebel Definition of Ready — automated readiness checks for Siebel tasks.
3
+ *
4
+ * Validates: dependency resolution, naming conventions, WSDL availability,
5
+ * BC field existence, and lock conflict detection.
6
+ */
7
+ import { logger } from "../utils/logger.js";
8
+ // --- Checks ---
9
+ const CHECKABLE_TYPES = new Set([
10
+ "applet", "business_component", "business_object", "view", "screen",
11
+ "business_service", "integration_object", "workflow",
12
+ ]);
13
+ function checkDependencies(targets, repository) {
14
+ const applets = targets.filter((o) => o.type === "applet");
15
+ if (applets.length === 0)
16
+ return undefined;
17
+ const repoNames = new Set(repository.map((o) => o.name));
18
+ const targetNames = new Set(targets.map((o) => o.name));
19
+ const missing = [];
20
+ for (const applet of applets) {
21
+ const busComp = applet.properties.find((p) => p.name === "BUS_COMP")?.value;
22
+ if (busComp && !repoNames.has(busComp) && !targetNames.has(busComp)) {
23
+ missing.push(`${applet.name} → BC "${busComp}"`);
24
+ }
25
+ }
26
+ return {
27
+ name: "dependencies_resolved",
28
+ passed: missing.length === 0,
29
+ detail: missing.length === 0
30
+ ? "All SIF dependencies resolved"
31
+ : `Missing dependencies: ${missing.join(", ")}`,
32
+ };
33
+ }
34
+ function checkNaming(targets, prefix) {
35
+ const checkable = targets.filter((o) => CHECKABLE_TYPES.has(o.type));
36
+ if (checkable.length === 0)
37
+ return undefined;
38
+ const violations = [];
39
+ for (const obj of checkable) {
40
+ if (!obj.name.startsWith(prefix)) {
41
+ violations.push(obj.name);
42
+ }
43
+ }
44
+ return {
45
+ name: "naming_convention",
46
+ passed: violations.length === 0,
47
+ detail: violations.length === 0
48
+ ? `All objects use prefix "${prefix}"`
49
+ : `Objects missing prefix "${prefix}": ${violations.join(", ")}`,
50
+ };
51
+ }
52
+ function checkWsdlAvailability(targets, availableWsdls) {
53
+ const ios = targets.filter((o) => o.type === "integration_object");
54
+ if (ios.length === 0)
55
+ return undefined;
56
+ const wsdlSet = new Set(availableWsdls.map((w) => w.toLowerCase()));
57
+ const missing = [];
58
+ for (const io of ios) {
59
+ // Try to match IO name to a WSDL file
60
+ const entityName = io.name
61
+ .replace(/^[A-Z]{2,4}_\s*/i, "")
62
+ .replace(/\s*IO$/i, "")
63
+ .trim()
64
+ .toLowerCase();
65
+ const hasWsdl = [...wsdlSet].some((w) => w.includes(entityName) || entityName.includes(w.replace(".wsdl", "")));
66
+ if (!hasWsdl) {
67
+ missing.push(io.name);
68
+ }
69
+ }
70
+ return {
71
+ name: "wsdl_available",
72
+ passed: missing.length === 0,
73
+ detail: missing.length === 0
74
+ ? "All Integration Objects have corresponding WSDLs"
75
+ : `IOs missing WSDLs: ${missing.join(", ")}`,
76
+ };
77
+ }
78
+ function checkBcFields(targets, repository) {
79
+ const applets = targets.filter((o) => o.type === "applet");
80
+ if (applets.length === 0)
81
+ return undefined;
82
+ // Build BC field index from repo
83
+ const bcFields = new Map();
84
+ for (const obj of [...repository, ...targets]) {
85
+ if (obj.type === "business_component") {
86
+ const fields = new Set(obj.children.filter((c) => c.type === "field").map((c) => c.name));
87
+ bcFields.set(obj.name, fields);
88
+ }
89
+ }
90
+ const missingFields = [];
91
+ for (const applet of applets) {
92
+ const busComp = applet.properties.find((p) => p.name === "BUS_COMP")?.value;
93
+ if (!busComp)
94
+ continue;
95
+ const fields = bcFields.get(busComp);
96
+ if (!fields)
97
+ continue; // BC not in repo, already caught by dep check
98
+ for (const control of applet.children) {
99
+ const fieldRef = control.properties.find((p) => p.name === "FIELD")?.value;
100
+ if (fieldRef && !fields.has(fieldRef)) {
101
+ missingFields.push(`${applet.name}: field "${fieldRef}" not in ${busComp}`);
102
+ }
103
+ }
104
+ }
105
+ return {
106
+ name: "bc_fields_exist",
107
+ passed: missingFields.length === 0,
108
+ detail: missingFields.length === 0
109
+ ? "All applet field references valid"
110
+ : `Missing fields: ${missingFields.join(", ")}`,
111
+ };
112
+ }
113
+ function checkLockConflicts(targets, currentUser) {
114
+ const conflicts = [];
115
+ for (const obj of targets) {
116
+ const locked = obj.properties.find((p) => p.name === "OBJECT_LOCKED")?.value;
117
+ const lockedBy = obj.properties.find((p) => p.name === "LOCKED_BY")?.value;
118
+ if (locked === "Y" && lockedBy && lockedBy !== currentUser) {
119
+ conflicts.push(`${obj.name} locked by ${lockedBy}`);
120
+ }
121
+ }
122
+ return {
123
+ name: "no_lock_conflicts",
124
+ passed: conflicts.length === 0,
125
+ detail: conflicts.length === 0
126
+ ? "No lock conflicts"
127
+ : `Lock conflicts: ${conflicts.join(", ")}`,
128
+ };
129
+ }
130
+ // --- Main function ---
131
+ export function checkSiebelReady(request) {
132
+ const { targetObjects, repository, prefix, currentUser, availableWsdls = [] } = request;
133
+ logger.debug("definition-of-ready: checking", { targets: targetObjects.length });
134
+ if (targetObjects.length === 0) {
135
+ return { ready: true, checks: [] };
136
+ }
137
+ const checks = [];
138
+ // AC1: Dependencies
139
+ const depCheck = checkDependencies(targetObjects, repository);
140
+ if (depCheck)
141
+ checks.push(depCheck);
142
+ // AC2: Naming
143
+ const nameCheck = checkNaming(targetObjects, prefix);
144
+ if (nameCheck)
145
+ checks.push(nameCheck);
146
+ // AC3: WSDL
147
+ const wsdlCheck = checkWsdlAvailability(targetObjects, availableWsdls);
148
+ if (wsdlCheck)
149
+ checks.push(wsdlCheck);
150
+ // AC4: BC fields
151
+ const fieldCheck = checkBcFields(targetObjects, repository);
152
+ if (fieldCheck)
153
+ checks.push(fieldCheck);
154
+ // AC5: Locks
155
+ checks.push(checkLockConflicts(targetObjects, currentUser));
156
+ const ready = checks.every((c) => c.passed);
157
+ logger.info("definition-of-ready: complete", {
158
+ ready,
159
+ passed: checks.filter((c) => c.passed).length,
160
+ failed: checks.filter((c) => !c.passed).length,
161
+ });
162
+ return { ready, checks };
163
+ }
164
+ //# sourceMappingURL=definition-of-ready.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-of-ready.js","sourceRoot":"","sources":["../../../src/core/siebel/definition-of-ready.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * eScript Cross-Reference — extracts references to Siebel objects from eScript source code.
3
+ * Detects: GetBusObject, GetBusComp, GetService, GetFieldValue, SetFieldValue,
4
+ * GetProfileAttr, SetProfileAttr, LookupValue.
5
+ */
6
+ export type ScriptRefType = "business_object" | "business_component" | "business_service" | "field" | "profile_attr" | "lov";
7
+ export interface ScriptReference {
8
+ type: ScriptRefType;
9
+ name: string;
10
+ sourceObject: string;
11
+ sourceMethod: string;
12
+ }
13
+ /**
14
+ * Extract references to Siebel objects from eScript source code.
15
+ * Returns deduplicated list of references with source metadata.
16
+ */
17
+ export declare function extractScriptReferences(sourceCode: string, sourceObject: string, sourceMethod: string): ScriptReference[];
18
+ //# sourceMappingURL=escript-crossref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escript-crossref.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/escript-crossref.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,OAAO,GAAG,cAAc,GAAG,KAAK,CAAC;AAE7H,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CA+BnB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * eScript Cross-Reference — extracts references to Siebel objects from eScript source code.
3
+ * Detects: GetBusObject, GetBusComp, GetService, GetFieldValue, SetFieldValue,
4
+ * GetProfileAttr, SetProfileAttr, LookupValue.
5
+ */
6
+ const PATTERNS = [
7
+ { regex: /GetBusObject\s*\(\s*"([^"]+)"\s*\)/g, type: "business_object", nameGroup: 1 },
8
+ { regex: /GetBusComp\s*\(\s*"([^"]+)"\s*\)/g, type: "business_component", nameGroup: 1 },
9
+ { regex: /GetService\s*\(\s*"([^"]+)"\s*\)/g, type: "business_service", nameGroup: 1 },
10
+ { regex: /GetFieldValue\s*\(\s*"([^"]+)"\s*\)/g, type: "field", nameGroup: 1 },
11
+ { regex: /SetFieldValue\s*\(\s*"([^"]+)"\s*/g, type: "field", nameGroup: 1 },
12
+ { regex: /GetProfileAttr\s*\(\s*"([^"]+)"\s*\)/g, type: "profile_attr", nameGroup: 1 },
13
+ { regex: /SetProfileAttr\s*\(\s*"([^"]+)"\s*/g, type: "profile_attr", nameGroup: 1 },
14
+ { regex: /LookupValue\s*\(\s*"([^"]+)"\s*,/g, type: "lov", nameGroup: 1 },
15
+ // Also match InvokeMethod("LookupValue", "TYPE", ...) pattern
16
+ { regex: /InvokeMethod\s*\(\s*"LookupValue"\s*,\s*"([^"]+)"\s*/g, type: "lov", nameGroup: 1 },
17
+ ];
18
+ /**
19
+ * Extract references to Siebel objects from eScript source code.
20
+ * Returns deduplicated list of references with source metadata.
21
+ */
22
+ export function extractScriptReferences(sourceCode, sourceObject, sourceMethod) {
23
+ if (!sourceCode || sourceCode.trim().length === 0) {
24
+ return [];
25
+ }
26
+ const seen = new Set();
27
+ const refs = [];
28
+ for (const pattern of PATTERNS) {
29
+ // Reset regex state
30
+ pattern.regex.lastIndex = 0;
31
+ let match;
32
+ while ((match = pattern.regex.exec(sourceCode)) !== null) {
33
+ const name = match[pattern.nameGroup];
34
+ if (!name)
35
+ continue;
36
+ const key = `${pattern.type}:${name}`;
37
+ if (seen.has(key))
38
+ continue;
39
+ seen.add(key);
40
+ refs.push({
41
+ type: pattern.type,
42
+ name,
43
+ sourceObject,
44
+ sourceMethod,
45
+ });
46
+ }
47
+ }
48
+ return refs;
49
+ }
50
+ //# sourceMappingURL=escript-crossref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escript-crossref.js","sourceRoot":"","sources":["../../../src/core/siebel/escript-crossref.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,MAAM,QAAQ,GAAiB;IAC7B,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE;IACvF,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,EAAE;IACxF,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAE;IACtF,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE;IAC9E,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACtF,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACpF,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE;IACzE,8DAA8D;IAC9D,EAAE,KAAK,EAAE,uDAAuD,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE;CAC9F,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,YAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAsB,EAAE,CAAC;IAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,oBAAoB;QACpB,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,KAA6B,CAAC;QAElC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI;gBACJ,YAAY;gBACZ,YAAY;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * eScript Generator — generates Siebel eScript code for event handlers
3
+ * using patterns learned from the repository.
4
+ *
5
+ * Follows real-world Siebel patterns:
6
+ * - try/catch/finally structure
7
+ * - TheApplication().RaiseErrorText for error handling
8
+ * - Memory cleanup (null assignments) in finally block
9
+ * - Standard event handler signatures
10
+ */
11
+ import type { SiebelObject } from "../../schemas/siebel.schema.js";
12
+ export interface EScriptGenerationRequest {
13
+ readonly parentObjectName: string;
14
+ readonly parentObjectType: "applet" | "business_component" | "business_service";
15
+ readonly eventName: string;
16
+ readonly behaviorDescription: string;
17
+ readonly referenceScripts: readonly SiebelObject[];
18
+ readonly knownBcNames?: readonly string[];
19
+ readonly knownFieldNames?: readonly string[];
20
+ }
21
+ export interface ReferencedEntity {
22
+ readonly name: string;
23
+ readonly type: "bc" | "field" | "service";
24
+ }
25
+ export interface EScriptGenerationResult {
26
+ readonly script: string;
27
+ readonly eventName: string;
28
+ readonly functionName: string;
29
+ readonly sifXmlBlock: string;
30
+ readonly referencedEntities: readonly ReferencedEntity[];
31
+ }
32
+ export declare function generateEScript(request: EScriptGenerationRequest): EScriptGenerationResult;
33
+ //# sourceMappingURL=escript-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escript-generator.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/escript-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,gCAAgC,CAAC;AAKrF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,YAAY,EAAE,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC1D;AAiJD,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CA2F1F"}