@mcp-graph-workflow/mcp-graph 5.5.3 → 5.6.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 (224) hide show
  1. package/dist/api/router.d.ts.map +1 -1
  2. package/dist/api/router.js +4 -0
  3. package/dist/api/router.js.map +1 -1
  4. package/dist/api/routes/journey.d.ts +4 -0
  5. package/dist/api/routes/journey.d.ts.map +1 -0
  6. package/dist/api/routes/journey.js +263 -0
  7. package/dist/api/routes/journey.js.map +1 -0
  8. package/dist/api/routes/siebel.d.ts +7 -0
  9. package/dist/api/routes/siebel.d.ts.map +1 -0
  10. package/dist/api/routes/siebel.js +305 -0
  11. package/dist/api/routes/siebel.js.map +1 -0
  12. package/dist/core/context/rag-context.d.ts.map +1 -1
  13. package/dist/core/context/rag-context.js +21 -5
  14. package/dist/core/context/rag-context.js.map +1 -1
  15. package/dist/core/events/event-types.d.ts +63 -1
  16. package/dist/core/events/event-types.d.ts.map +1 -1
  17. package/dist/core/integrations/integration-orchestrator.d.ts +12 -0
  18. package/dist/core/integrations/integration-orchestrator.d.ts.map +1 -1
  19. package/dist/core/integrations/integration-orchestrator.js +36 -2
  20. package/dist/core/integrations/integration-orchestrator.js.map +1 -1
  21. package/dist/core/journey/journey-store.d.ts +137 -0
  22. package/dist/core/journey/journey-store.d.ts.map +1 -0
  23. package/dist/core/journey/journey-store.js +210 -0
  24. package/dist/core/journey/journey-store.js.map +1 -0
  25. package/dist/core/parser/file-reader.d.ts.map +1 -1
  26. package/dist/core/parser/file-reader.js +16 -1
  27. package/dist/core/parser/file-reader.js.map +1 -1
  28. package/dist/core/parser/read-docx.d.ts +17 -0
  29. package/dist/core/parser/read-docx.d.ts.map +1 -0
  30. package/dist/core/parser/read-docx.js +79 -0
  31. package/dist/core/parser/read-docx.js.map +1 -0
  32. package/dist/core/parser/read-swagger.d.ts +49 -0
  33. package/dist/core/parser/read-swagger.d.ts.map +1 -0
  34. package/dist/core/parser/read-swagger.js +332 -0
  35. package/dist/core/parser/read-swagger.js.map +1 -0
  36. package/dist/core/rag/chunk-text.d.ts +5 -0
  37. package/dist/core/rag/chunk-text.d.ts.map +1 -1
  38. package/dist/core/rag/chunk-text.js +135 -0
  39. package/dist/core/rag/chunk-text.js.map +1 -1
  40. package/dist/core/rag/code-context-indexer.d.ts +27 -0
  41. package/dist/core/rag/code-context-indexer.d.ts.map +1 -0
  42. package/dist/core/rag/code-context-indexer.js +53 -0
  43. package/dist/core/rag/code-context-indexer.js.map +1 -0
  44. package/dist/core/rag/decision-indexer.d.ts +20 -0
  45. package/dist/core/rag/decision-indexer.d.ts.map +1 -0
  46. package/dist/core/rag/decision-indexer.js +32 -0
  47. package/dist/core/rag/decision-indexer.js.map +1 -0
  48. package/dist/core/rag/journey-indexer.d.ts +16 -0
  49. package/dist/core/rag/journey-indexer.d.ts.map +1 -0
  50. package/dist/core/rag/journey-indexer.js +182 -0
  51. package/dist/core/rag/journey-indexer.js.map +1 -0
  52. package/dist/core/rag/knowledge-feedback.d.ts +15 -0
  53. package/dist/core/rag/knowledge-feedback.d.ts.map +1 -0
  54. package/dist/core/rag/knowledge-feedback.js +46 -0
  55. package/dist/core/rag/knowledge-feedback.js.map +1 -0
  56. package/dist/core/rag/knowledge-linker.d.ts +20 -0
  57. package/dist/core/rag/knowledge-linker.d.ts.map +1 -0
  58. package/dist/core/rag/knowledge-linker.js +107 -0
  59. package/dist/core/rag/knowledge-linker.js.map +1 -0
  60. package/dist/core/rag/knowledge-quality.d.ts +31 -0
  61. package/dist/core/rag/knowledge-quality.d.ts.map +1 -0
  62. package/dist/core/rag/knowledge-quality.js +127 -0
  63. package/dist/core/rag/knowledge-quality.js.map +1 -0
  64. package/dist/core/rag/knowledge-synthesizer.d.ts +17 -0
  65. package/dist/core/rag/knowledge-synthesizer.d.ts.map +1 -0
  66. package/dist/core/rag/knowledge-synthesizer.js +115 -0
  67. package/dist/core/rag/knowledge-synthesizer.js.map +1 -0
  68. package/dist/core/rag/memory-rag-query.d.ts +3 -3
  69. package/dist/core/rag/memory-rag-query.d.ts.map +1 -1
  70. package/dist/core/rag/memory-rag-query.js +18 -0
  71. package/dist/core/rag/memory-rag-query.js.map +1 -1
  72. package/dist/core/rag/multi-strategy-retrieval.d.ts +46 -0
  73. package/dist/core/rag/multi-strategy-retrieval.d.ts.map +1 -0
  74. package/dist/core/rag/multi-strategy-retrieval.js +140 -0
  75. package/dist/core/rag/multi-strategy-retrieval.js.map +1 -0
  76. package/dist/core/rag/rag-pipeline.d.ts +11 -0
  77. package/dist/core/rag/rag-pipeline.d.ts.map +1 -1
  78. package/dist/core/rag/rag-pipeline.js +39 -0
  79. package/dist/core/rag/rag-pipeline.js.map +1 -1
  80. package/dist/core/rag/siebel-indexer.d.ts +16 -0
  81. package/dist/core/rag/siebel-indexer.d.ts.map +1 -0
  82. package/dist/core/rag/siebel-indexer.js +75 -0
  83. package/dist/core/rag/siebel-indexer.js.map +1 -0
  84. package/dist/core/rag/swagger-indexer.d.ts +16 -0
  85. package/dist/core/rag/swagger-indexer.d.ts.map +1 -0
  86. package/dist/core/rag/swagger-indexer.js +119 -0
  87. package/dist/core/rag/swagger-indexer.js.map +1 -0
  88. package/dist/core/rag/validation-indexer.d.ts +23 -0
  89. package/dist/core/rag/validation-indexer.d.ts.map +1 -0
  90. package/dist/core/rag/validation-indexer.js +35 -0
  91. package/dist/core/rag/validation-indexer.js.map +1 -0
  92. package/dist/core/siebel/composer-automation.d.ts +77 -0
  93. package/dist/core/siebel/composer-automation.d.ts.map +1 -0
  94. package/dist/core/siebel/composer-automation.js +110 -0
  95. package/dist/core/siebel/composer-automation.js.map +1 -0
  96. package/dist/core/siebel/dependency-analyzer.d.ts +24 -0
  97. package/dist/core/siebel/dependency-analyzer.d.ts.map +1 -0
  98. package/dist/core/siebel/dependency-analyzer.js +174 -0
  99. package/dist/core/siebel/dependency-analyzer.js.map +1 -0
  100. package/dist/core/siebel/siebel-config.d.ts +28 -0
  101. package/dist/core/siebel/siebel-config.d.ts.map +1 -0
  102. package/dist/core/siebel/siebel-config.js +86 -0
  103. package/dist/core/siebel/siebel-config.js.map +1 -0
  104. package/dist/core/siebel/sif-context-assembler.d.ts +37 -0
  105. package/dist/core/siebel/sif-context-assembler.d.ts.map +1 -0
  106. package/dist/core/siebel/sif-context-assembler.js +259 -0
  107. package/dist/core/siebel/sif-context-assembler.js.map +1 -0
  108. package/dist/core/siebel/sif-generator.d.ts +26 -0
  109. package/dist/core/siebel/sif-generator.d.ts.map +1 -0
  110. package/dist/core/siebel/sif-generator.js +232 -0
  111. package/dist/core/siebel/sif-generator.js.map +1 -0
  112. package/dist/core/siebel/sif-parser.d.ts +16 -0
  113. package/dist/core/siebel/sif-parser.d.ts.map +1 -0
  114. package/dist/core/siebel/sif-parser.js +355 -0
  115. package/dist/core/siebel/sif-parser.js.map +1 -0
  116. package/dist/core/siebel/sif-templates.d.ts +45 -0
  117. package/dist/core/siebel/sif-templates.d.ts.map +1 -0
  118. package/dist/core/siebel/sif-templates.js +179 -0
  119. package/dist/core/siebel/sif-templates.js.map +1 -0
  120. package/dist/core/siebel/sif-to-graph.d.ts +20 -0
  121. package/dist/core/siebel/sif-to-graph.d.ts.map +1 -0
  122. package/dist/core/siebel/sif-to-graph.js +176 -0
  123. package/dist/core/siebel/sif-to-graph.js.map +1 -0
  124. package/dist/core/store/knowledge-store.d.ts +25 -0
  125. package/dist/core/store/knowledge-store.d.ts.map +1 -1
  126. package/dist/core/store/knowledge-store.js +72 -0
  127. package/dist/core/store/knowledge-store.js.map +1 -1
  128. package/dist/core/store/migrations.d.ts.map +1 -1
  129. package/dist/core/store/migrations.js +96 -0
  130. package/dist/core/store/migrations.js.map +1 -1
  131. package/dist/mcp/tools/index.d.ts.map +1 -1
  132. package/dist/mcp/tools/index.js +26 -0
  133. package/dist/mcp/tools/index.js.map +1 -1
  134. package/dist/mcp/tools/journey.d.ts +4 -0
  135. package/dist/mcp/tools/journey.d.ts.map +1 -0
  136. package/dist/mcp/tools/journey.js +154 -0
  137. package/dist/mcp/tools/journey.js.map +1 -0
  138. package/dist/mcp/tools/knowledge-feedback.d.ts +8 -0
  139. package/dist/mcp/tools/knowledge-feedback.d.ts.map +1 -0
  140. package/dist/mcp/tools/knowledge-feedback.js +35 -0
  141. package/dist/mcp/tools/knowledge-feedback.js.map +1 -0
  142. package/dist/mcp/tools/knowledge-stats.d.ts +9 -0
  143. package/dist/mcp/tools/knowledge-stats.d.ts.map +1 -0
  144. package/dist/mcp/tools/knowledge-stats.js +83 -0
  145. package/dist/mcp/tools/knowledge-stats.js.map +1 -0
  146. package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
  147. package/dist/mcp/tools/plan-sprint.js +7 -1
  148. package/dist/mcp/tools/plan-sprint.js.map +1 -1
  149. package/dist/mcp/tools/rag-context.d.ts.map +1 -1
  150. package/dist/mcp/tools/rag-context.js +43 -2
  151. package/dist/mcp/tools/rag-context.js.map +1 -1
  152. package/dist/mcp/tools/reindex-knowledge.d.ts.map +1 -1
  153. package/dist/mcp/tools/reindex-knowledge.js +23 -2
  154. package/dist/mcp/tools/reindex-knowledge.js.map +1 -1
  155. package/dist/mcp/tools/siebel-analyze.d.ts +8 -0
  156. package/dist/mcp/tools/siebel-analyze.d.ts.map +1 -0
  157. package/dist/mcp/tools/siebel-analyze.js +107 -0
  158. package/dist/mcp/tools/siebel-analyze.js.map +1 -0
  159. package/dist/mcp/tools/siebel-composer.d.ts +12 -0
  160. package/dist/mcp/tools/siebel-composer.d.ts.map +1 -0
  161. package/dist/mcp/tools/siebel-composer.js +59 -0
  162. package/dist/mcp/tools/siebel-composer.js.map +1 -0
  163. package/dist/mcp/tools/siebel-env.d.ts +8 -0
  164. package/dist/mcp/tools/siebel-env.d.ts.map +1 -0
  165. package/dist/mcp/tools/siebel-env.js +60 -0
  166. package/dist/mcp/tools/siebel-env.js.map +1 -0
  167. package/dist/mcp/tools/siebel-generate-sif.d.ts +8 -0
  168. package/dist/mcp/tools/siebel-generate-sif.d.ts.map +1 -0
  169. package/dist/mcp/tools/siebel-generate-sif.js +91 -0
  170. package/dist/mcp/tools/siebel-generate-sif.js.map +1 -0
  171. package/dist/mcp/tools/siebel-import-docs.d.ts +9 -0
  172. package/dist/mcp/tools/siebel-import-docs.d.ts.map +1 -0
  173. package/dist/mcp/tools/siebel-import-docs.js +106 -0
  174. package/dist/mcp/tools/siebel-import-docs.js.map +1 -0
  175. package/dist/mcp/tools/siebel-import-sif.d.ts +8 -0
  176. package/dist/mcp/tools/siebel-import-sif.d.ts.map +1 -0
  177. package/dist/mcp/tools/siebel-import-sif.js +68 -0
  178. package/dist/mcp/tools/siebel-import-sif.js.map +1 -0
  179. package/dist/mcp/tools/siebel-search.d.ts +8 -0
  180. package/dist/mcp/tools/siebel-search.d.ts.map +1 -0
  181. package/dist/mcp/tools/siebel-search.js +47 -0
  182. package/dist/mcp/tools/siebel-search.js.map +1 -0
  183. package/dist/mcp/tools/siebel-validate.d.ts +8 -0
  184. package/dist/mcp/tools/siebel-validate.d.ts.map +1 -0
  185. package/dist/mcp/tools/siebel-validate.js +107 -0
  186. package/dist/mcp/tools/siebel-validate.js.map +1 -0
  187. package/dist/mcp/tools/update-status.d.ts.map +1 -1
  188. package/dist/mcp/tools/update-status.js +22 -1
  189. package/dist/mcp/tools/update-status.js.map +1 -1
  190. package/dist/mcp/tools/validate.d.ts.map +1 -1
  191. package/dist/mcp/tools/validate.js +21 -0
  192. package/dist/mcp/tools/validate.js.map +1 -1
  193. package/dist/schemas/knowledge.schema.d.ts +66 -0
  194. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  195. package/dist/schemas/knowledge.schema.js +28 -0
  196. package/dist/schemas/knowledge.schema.js.map +1 -1
  197. package/dist/schemas/siebel.schema.d.ts +564 -0
  198. package/dist/schemas/siebel.schema.d.ts.map +1 -0
  199. package/dist/schemas/siebel.schema.js +197 -0
  200. package/dist/schemas/siebel.schema.js.map +1 -0
  201. package/dist/web/dashboard/dist/assets/{benchmark-tab-C5fwIqgM.js → benchmark-tab-WCcv55oB.js} +1 -1
  202. package/dist/web/dashboard/dist/assets/{context-tab-ChCyrRlr.js → context-tab-CYnMjkHN.js} +1 -1
  203. package/dist/web/dashboard/dist/assets/{gitnexus-tab-DnlGT63w.js → gitnexus-tab-Dj0DERUy.js} +1 -1
  204. package/dist/web/dashboard/dist/assets/graph-tab-tI93ZxxW.js +1 -0
  205. package/dist/web/dashboard/dist/assets/graph-utils-DeQEwmsr.js +1 -0
  206. package/dist/web/dashboard/dist/assets/index-B1PLsGu1.js +55 -0
  207. package/dist/web/dashboard/dist/assets/index-DKvjo_C5.css +1 -0
  208. package/dist/web/dashboard/dist/assets/{index-DlZhNCGR.js → index-NmopQGmQ.js} +1 -1
  209. package/dist/web/dashboard/dist/assets/{insights-tab-Cj4f85vS.js → insights-tab-X7u4J-xv.js} +1 -1
  210. package/dist/web/dashboard/dist/assets/journey-tab-Cpz6_3mB.js +1 -0
  211. package/dist/web/dashboard/dist/assets/{logs-tab-C4C2Vn8-.js → logs-tab-QB__4Xdl.js} +1 -1
  212. package/dist/web/dashboard/dist/assets/{memories-tab-NtNwoxbT.js → memories-tab-Dry9wz7q.js} +1 -1
  213. package/dist/web/dashboard/dist/assets/prd-backlog-tab-OXTksZKv.js +1 -0
  214. package/dist/web/dashboard/dist/assets/siebel-tab-x7OCuCmb.js +3 -0
  215. package/dist/web/dashboard/dist/assets/{skills-tab-CIj4z1Ol.js → skills-tab-DeUEKmpZ.js} +1 -1
  216. package/dist/web/dashboard/dist/assets/style-C-e8BTyP.js +7 -0
  217. package/dist/web/dashboard/dist/index.html +2 -2
  218. package/package.json +3 -1
  219. package/dist/web/dashboard/dist/assets/graph-tab-DjV9RD41.js +0 -1
  220. package/dist/web/dashboard/dist/assets/graph-utils-C6bvcT4d.js +0 -7
  221. package/dist/web/dashboard/dist/assets/index-DQqYFXms.css +0 -1
  222. package/dist/web/dashboard/dist/assets/index-dCyMex_p.js +0 -53
  223. package/dist/web/dashboard/dist/assets/prd-backlog-tab-Bxt7qiVG.js +0 -1
  224. /package/dist/web/dashboard/dist/assets/{graph-utils-BZV40eAE.css → style-BZV40eAE.css} +0 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Siebel Composer Automation — automates Siebel Composer web UI via Playwright.
3
+ *
4
+ * Siebel Composer is a web-based development tool (IP 2015+) that allows
5
+ * configuring repository objects without compiling SRF. Changes are published
6
+ * directly to the server database.
7
+ *
8
+ * This module delegates browser operations to the Playwright MCP integration
9
+ * and provides Siebel-specific navigation and interaction patterns.
10
+ */
11
+ import type { SiebelEnvironment, SiebelComposerResult } from "../../schemas/siebel.schema.js";
12
+ /**
13
+ * Options for Composer automation actions.
14
+ */
15
+ export interface ComposerActionOptions {
16
+ /** Siebel environment config */
17
+ env: SiebelEnvironment;
18
+ /** Action to perform */
19
+ action: "navigate" | "import_sif" | "edit" | "publish" | "capture";
20
+ /** SIF file path for import action */
21
+ sifPath?: string;
22
+ /** Object name to navigate to or edit */
23
+ objectName?: string;
24
+ /** Property to modify */
25
+ property?: string;
26
+ /** New value for the property */
27
+ value?: string;
28
+ /** CSS selector for waiting/capturing */
29
+ selector?: string;
30
+ /** Timeout in milliseconds */
31
+ timeout?: number;
32
+ }
33
+ /**
34
+ * Build Playwright navigation instructions for Siebel Composer.
35
+ *
36
+ * Returns structured instructions that can be used with the Playwright MCP
37
+ * tools (browser_navigate, browser_click, browser_type, etc.).
38
+ *
39
+ * Note: Actual Playwright page interactions are performed by the MCP Playwright
40
+ * server — this module provides the URL and selector patterns.
41
+ */
42
+ export declare function buildComposerInstructions(options: ComposerActionOptions): ComposerInstructions;
43
+ /**
44
+ * Create a Composer result from action execution.
45
+ */
46
+ export declare function createComposerResult(action: string, success: boolean, message?: string, capturedContent?: string, screenshotPath?: string): SiebelComposerResult;
47
+ /** Structured Playwright instructions for Composer automation. */
48
+ export interface ComposerInstructions {
49
+ steps: ComposerStep[];
50
+ description: string;
51
+ }
52
+ export type ComposerStep = {
53
+ type: "navigate";
54
+ url: string;
55
+ } | {
56
+ type: "wait";
57
+ selector: string;
58
+ timeout?: number;
59
+ } | {
60
+ type: "click";
61
+ selector: string;
62
+ description: string;
63
+ } | {
64
+ type: "type";
65
+ selector: string;
66
+ text: string;
67
+ description: string;
68
+ } | {
69
+ type: "upload";
70
+ selector: string;
71
+ filePath: string;
72
+ description: string;
73
+ } | {
74
+ type: "screenshot";
75
+ description: string;
76
+ };
77
+ //# sourceMappingURL=composer-automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-automation.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/composer-automation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,GAAG,EAAE,iBAAiB,CAAC;IACvB,wBAAwB;IACxB,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACnE,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAkF9F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,oBAAoB,CAStB;AAED,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Siebel Composer Automation — automates Siebel Composer web UI via Playwright.
3
+ *
4
+ * Siebel Composer is a web-based development tool (IP 2015+) that allows
5
+ * configuring repository objects without compiling SRF. Changes are published
6
+ * directly to the server database.
7
+ *
8
+ * This module delegates browser operations to the Playwright MCP integration
9
+ * and provides Siebel-specific navigation and interaction patterns.
10
+ */
11
+ import { logger } from "../utils/logger.js";
12
+ import { ValidationError } from "../utils/errors.js";
13
+ /**
14
+ * Build Playwright navigation instructions for Siebel Composer.
15
+ *
16
+ * Returns structured instructions that can be used with the Playwright MCP
17
+ * tools (browser_navigate, browser_click, browser_type, etc.).
18
+ *
19
+ * Note: Actual Playwright page interactions are performed by the MCP Playwright
20
+ * server — this module provides the URL and selector patterns.
21
+ */
22
+ export function buildComposerInstructions(options) {
23
+ const { env, action, objectName, property, value, sifPath, selector, timeout } = options;
24
+ const composerUrl = env.composerUrl ?? `${env.url}/composer`;
25
+ logger.info("Building Composer instructions", { action, composerUrl, objectName });
26
+ switch (action) {
27
+ case "navigate":
28
+ return {
29
+ steps: [
30
+ { type: "navigate", url: composerUrl },
31
+ ...(objectName
32
+ ? [
33
+ { type: "wait", selector: selector ?? ".siebel-composer-loaded", timeout: timeout ?? 10000 },
34
+ { type: "click", selector: `[data-object-name="${objectName}"]`, description: `Navigate to ${objectName}` },
35
+ ]
36
+ : [{ type: "wait", selector: selector ?? ".siebel-composer-loaded", timeout: timeout ?? 10000 }]),
37
+ ],
38
+ description: objectName
39
+ ? `Navigate to Siebel Composer and open ${objectName}`
40
+ : "Navigate to Siebel Composer",
41
+ };
42
+ case "import_sif":
43
+ if (!sifPath) {
44
+ throw new ValidationError("sifPath is required for import_sif action", []);
45
+ }
46
+ return {
47
+ steps: [
48
+ { type: "navigate", url: composerUrl },
49
+ { type: "wait", selector: ".siebel-composer-loaded", timeout: timeout ?? 10000 },
50
+ { type: "click", selector: "[data-action='import']", description: "Click Import button" },
51
+ { type: "upload", selector: "input[type='file']", filePath: sifPath, description: "Upload SIF file" },
52
+ { type: "click", selector: "[data-action='confirm-import']", description: "Confirm import" },
53
+ { type: "wait", selector: ".import-success", timeout: timeout ?? 30000 },
54
+ ],
55
+ description: `Import SIF file: ${sifPath}`,
56
+ };
57
+ case "edit":
58
+ if (!objectName || !property || value === undefined) {
59
+ throw new ValidationError("objectName, property, and value are required for edit action", []);
60
+ }
61
+ return {
62
+ steps: [
63
+ { type: "navigate", url: composerUrl },
64
+ { type: "wait", selector: ".siebel-composer-loaded", timeout: timeout ?? 10000 },
65
+ { type: "click", selector: `[data-object-name="${objectName}"]`, description: `Open ${objectName}` },
66
+ { type: "wait", selector: `[data-property="${property}"]`, timeout: timeout ?? 5000 },
67
+ { type: "click", selector: `[data-property="${property}"]`, description: `Select ${property}` },
68
+ { type: "type", selector: `[data-property="${property}"] input`, text: value, description: `Set ${property} = ${value}` },
69
+ { type: "click", selector: "[data-action='save']", description: "Save changes" },
70
+ ],
71
+ description: `Edit ${objectName}.${property} = ${value}`,
72
+ };
73
+ case "publish":
74
+ return {
75
+ steps: [
76
+ { type: "navigate", url: composerUrl },
77
+ { type: "wait", selector: ".siebel-composer-loaded", timeout: timeout ?? 10000 },
78
+ { type: "click", selector: "[data-action='publish']", description: "Click Publish" },
79
+ { type: "click", selector: "[data-action='confirm-publish']", description: "Confirm publish" },
80
+ { type: "wait", selector: ".publish-success", timeout: timeout ?? 30000 },
81
+ ],
82
+ description: "Publish Composer workspace changes",
83
+ };
84
+ case "capture":
85
+ return {
86
+ steps: [
87
+ { type: "navigate", url: composerUrl },
88
+ { type: "wait", selector: selector ?? ".siebel-composer-loaded", timeout: timeout ?? 10000 },
89
+ { type: "screenshot", description: "Capture Composer state" },
90
+ ],
91
+ description: "Capture current Composer state",
92
+ };
93
+ default:
94
+ throw new ValidationError(`Unknown Composer action: ${action}`, []);
95
+ }
96
+ }
97
+ /**
98
+ * Create a Composer result from action execution.
99
+ */
100
+ export function createComposerResult(action, success, message, capturedContent, screenshotPath) {
101
+ return {
102
+ action: action,
103
+ success,
104
+ message,
105
+ capturedContent,
106
+ screenshotPath,
107
+ timestamp: new Date().toISOString(),
108
+ };
109
+ }
110
+ //# sourceMappingURL=composer-automation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-automation.js","sourceRoot":"","sources":["../../../src/core/siebel/composer-automation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Siebel Dependency Analyzer — impact analysis, dependency chains, and circular dep detection.
3
+ */
4
+ import type { SiebelDependency, SiebelObjectRef, SiebelImpactResult } from "../../schemas/siebel.schema.js";
5
+ export interface DependencyPath {
6
+ path: SiebelObjectRef[];
7
+ }
8
+ export interface CircularDep {
9
+ cycle: SiebelObjectRef[];
10
+ }
11
+ /**
12
+ * Analyze blast radius of modifying a Siebel object.
13
+ * Finds all direct and transitive dependents.
14
+ */
15
+ export declare function analyzeSiebelImpact(dependencies: SiebelDependency[], target: SiebelObjectRef): SiebelImpactResult;
16
+ /**
17
+ * Find dependency chain(s) from one object to another.
18
+ */
19
+ export declare function findDependencyChain(dependencies: SiebelDependency[], from: SiebelObjectRef, to: SiebelObjectRef): DependencyPath[];
20
+ /**
21
+ * Detect circular dependencies in the dependency graph.
22
+ */
23
+ export declare function detectCircularDeps(dependencies: SiebelDependency[]): CircularDep[];
24
+ //# sourceMappingURL=dependency-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/dependency-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,eAAe,GACtB,kBAAkB,CA+DpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,gBAAgB,EAAE,EAChC,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,GAClB,cAAc,EAAE,CAqClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAmDlF"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Siebel Dependency Analyzer — impact analysis, dependency chains, and circular dep detection.
3
+ */
4
+ import { logger } from "../utils/logger.js";
5
+ /**
6
+ * Analyze blast radius of modifying a Siebel object.
7
+ * Finds all direct and transitive dependents.
8
+ */
9
+ export function analyzeSiebelImpact(dependencies, target) {
10
+ const targetKey = refKey(target);
11
+ // Build reverse adjacency: target → objects that depend ON target
12
+ const reverseDeps = new Map();
13
+ for (const dep of dependencies) {
14
+ const toKey = refKey(dep.to);
15
+ if (!reverseDeps.has(toKey)) {
16
+ reverseDeps.set(toKey, []);
17
+ }
18
+ const arr = reverseDeps.get(toKey);
19
+ if (arr)
20
+ arr.push(dep.from);
21
+ }
22
+ // BFS for direct dependents
23
+ const directDependents = reverseDeps.get(targetKey) ?? [];
24
+ // BFS for transitive dependents
25
+ const visited = new Set([targetKey]);
26
+ const allDependents = [];
27
+ const queue = [...directDependents];
28
+ for (const dep of directDependents) {
29
+ visited.add(refKey(dep));
30
+ }
31
+ while (queue.length > 0) {
32
+ const current = queue.shift();
33
+ if (!current)
34
+ continue;
35
+ allDependents.push(current);
36
+ const currentKey = refKey(current);
37
+ const nextDeps = reverseDeps.get(currentKey) ?? [];
38
+ for (const next of nextDeps) {
39
+ const nextKey = refKey(next);
40
+ if (!visited.has(nextKey)) {
41
+ visited.add(nextKey);
42
+ queue.push(next);
43
+ }
44
+ }
45
+ }
46
+ // Transitive = all minus direct
47
+ const directKeys = new Set(directDependents.map(refKey));
48
+ const transitiveDependents = allDependents.filter((d) => !directKeys.has(refKey(d)));
49
+ const totalAffected = allDependents.length;
50
+ const riskLevel = calculateRisk(totalAffected);
51
+ logger.debug("Siebel impact analysis", {
52
+ target: targetKey,
53
+ direct: String(directDependents.length),
54
+ transitive: String(transitiveDependents.length),
55
+ risk: riskLevel,
56
+ });
57
+ return {
58
+ targetObject: target,
59
+ directDependents: deduplicateRefs(directDependents),
60
+ transitiveDependents: deduplicateRefs(transitiveDependents),
61
+ totalAffected,
62
+ riskLevel,
63
+ };
64
+ }
65
+ /**
66
+ * Find dependency chain(s) from one object to another.
67
+ */
68
+ export function findDependencyChain(dependencies, from, to) {
69
+ // Build forward adjacency: from → to
70
+ const forwardDeps = new Map();
71
+ for (const dep of dependencies) {
72
+ const fromKey = refKey(dep.from);
73
+ if (!forwardDeps.has(fromKey)) {
74
+ forwardDeps.set(fromKey, []);
75
+ }
76
+ const fArr = forwardDeps.get(fromKey);
77
+ if (fArr)
78
+ fArr.push(dep.to);
79
+ }
80
+ const targetKey = refKey(to);
81
+ const paths = [];
82
+ // DFS to find all paths
83
+ function dfs(current, path, visited) {
84
+ if (refKey(current) === targetKey) {
85
+ paths.push({ path: [...path, current] });
86
+ return;
87
+ }
88
+ const neighbors = forwardDeps.get(refKey(current)) ?? [];
89
+ for (const neighbor of neighbors) {
90
+ const nKey = refKey(neighbor);
91
+ if (!visited.has(nKey)) {
92
+ visited.add(nKey);
93
+ dfs(neighbor, [...path, current], visited);
94
+ visited.delete(nKey);
95
+ }
96
+ }
97
+ }
98
+ const visited = new Set([refKey(from)]);
99
+ dfs(from, [], visited);
100
+ return paths;
101
+ }
102
+ /**
103
+ * Detect circular dependencies in the dependency graph.
104
+ */
105
+ export function detectCircularDeps(dependencies) {
106
+ const forwardDeps = new Map();
107
+ const allRefs = new Map();
108
+ for (const dep of dependencies) {
109
+ const fromKey = refKey(dep.from);
110
+ if (!forwardDeps.has(fromKey)) {
111
+ forwardDeps.set(fromKey, []);
112
+ }
113
+ const cArr = forwardDeps.get(fromKey);
114
+ if (cArr)
115
+ cArr.push(dep.to);
116
+ allRefs.set(fromKey, dep.from);
117
+ allRefs.set(refKey(dep.to), dep.to);
118
+ }
119
+ const cycles = [];
120
+ const visited = new Set();
121
+ const inStack = new Set();
122
+ function dfs(nodeKey, path) {
123
+ if (inStack.has(nodeKey)) {
124
+ // Found a cycle — extract it
125
+ const cycleStart = path.indexOf(nodeKey);
126
+ if (cycleStart !== -1) {
127
+ const cyclePath = path.slice(cycleStart).map((k) => allRefs.get(k)).filter((r) => r !== undefined);
128
+ cycles.push({ cycle: cyclePath });
129
+ }
130
+ return;
131
+ }
132
+ if (visited.has(nodeKey))
133
+ return;
134
+ visited.add(nodeKey);
135
+ inStack.add(nodeKey);
136
+ path.push(nodeKey);
137
+ const neighbors = forwardDeps.get(nodeKey) ?? [];
138
+ for (const neighbor of neighbors) {
139
+ dfs(refKey(neighbor), [...path]);
140
+ }
141
+ inStack.delete(nodeKey);
142
+ }
143
+ for (const key of allRefs.keys()) {
144
+ if (!visited.has(key)) {
145
+ dfs(key, []);
146
+ }
147
+ }
148
+ return cycles;
149
+ }
150
+ function refKey(ref) {
151
+ return `${ref.type}:${ref.name}`;
152
+ }
153
+ function calculateRisk(affected) {
154
+ if (affected === 0)
155
+ return "low";
156
+ if (affected <= 2)
157
+ return "low";
158
+ if (affected <= 5)
159
+ return "medium";
160
+ if (affected <= 10)
161
+ return "high";
162
+ return "critical";
163
+ }
164
+ function deduplicateRefs(refs) {
165
+ const seen = new Set();
166
+ return refs.filter((r) => {
167
+ const key = refKey(r);
168
+ if (seen.has(key))
169
+ return false;
170
+ seen.add(key);
171
+ return true;
172
+ });
173
+ }
174
+ //# sourceMappingURL=dependency-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../../src/core/siebel/dependency-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAgC,EAChC,MAAuB;IAEvB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjC,kEAAkE;IAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAE1D,gCAAgC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAEnD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAE/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;QACrC,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAC/C,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,CAAC;QACnD,oBAAoB,EAAE,eAAe,CAAC,oBAAoB,CAAC;QAC3D,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAgC,EAChC,IAAqB,EACrB,EAAmB;IAEnB,qCAAqC;IACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,wBAAwB;IACxB,SAAS,GAAG,CAAC,OAAwB,EAAE,IAAuB,EAAE,OAAoB;QAClF,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAgC;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,GAAG,CAAC,OAAe,EAAE,IAAc;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,6BAA6B;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACzH,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO;QAEjC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,GAAoB;IAClC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,QAAQ,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAuB;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Siebel Environment Configuration Manager.
3
+ * Persists Siebel environment settings to workflow-graph/siebel-envs.json.
4
+ */
5
+ import type { SiebelEnvironment } from "../../schemas/siebel.schema.js";
6
+ /**
7
+ * Load Siebel environment configurations from disk.
8
+ */
9
+ export declare function loadSiebelConfig(graphDir: string): SiebelEnvironment[];
10
+ /**
11
+ * Save Siebel environment configurations to disk.
12
+ */
13
+ export declare function saveSiebelConfig(graphDir: string, environments: SiebelEnvironment[]): void;
14
+ /**
15
+ * Add a new Siebel environment.
16
+ * @throws ValidationError if name already exists.
17
+ */
18
+ export declare function addEnvironment(graphDir: string, env: SiebelEnvironment): SiebelEnvironment[];
19
+ /**
20
+ * Remove a Siebel environment by name.
21
+ * @throws ValidationError if name not found.
22
+ */
23
+ export declare function removeEnvironment(graphDir: string, name: string): SiebelEnvironment[];
24
+ /**
25
+ * Find an environment by name.
26
+ */
27
+ export declare function findEnvironment(graphDir: string, name: string): SiebelEnvironment | undefined;
28
+ //# sourceMappingURL=siebel-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siebel-config.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/siebel-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AASxE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAetE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAa1F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAiB5F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAerF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAG7F"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Siebel Environment Configuration Manager.
3
+ * Persists Siebel environment settings to workflow-graph/siebel-envs.json.
4
+ */
5
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
6
+ import { join } from "node:path";
7
+ import { logger } from "../utils/logger.js";
8
+ import { ValidationError } from "../utils/errors.js";
9
+ import { SiebelEnvironmentSchema } from "../../schemas/siebel.schema.js";
10
+ const CONFIG_FILE = "siebel-envs.json";
11
+ /**
12
+ * Load Siebel environment configurations from disk.
13
+ */
14
+ export function loadSiebelConfig(graphDir) {
15
+ const filePath = join(graphDir, CONFIG_FILE);
16
+ if (!existsSync(filePath)) {
17
+ return [];
18
+ }
19
+ try {
20
+ const raw = readFileSync(filePath, "utf-8");
21
+ const data = JSON.parse(raw);
22
+ return data.environments ?? [];
23
+ }
24
+ catch (err) {
25
+ logger.warn("Failed to load Siebel config", { path: filePath, error: String(err) });
26
+ return [];
27
+ }
28
+ }
29
+ /**
30
+ * Save Siebel environment configurations to disk.
31
+ */
32
+ export function saveSiebelConfig(graphDir, environments) {
33
+ if (!existsSync(graphDir)) {
34
+ mkdirSync(graphDir, { recursive: true });
35
+ }
36
+ const filePath = join(graphDir, CONFIG_FILE);
37
+ const config = {
38
+ version: "1.0",
39
+ environments,
40
+ };
41
+ writeFileSync(filePath, JSON.stringify(config, null, 2), "utf-8");
42
+ logger.info("Siebel config saved", { path: filePath, envCount: String(environments.length) });
43
+ }
44
+ /**
45
+ * Add a new Siebel environment.
46
+ * @throws ValidationError if name already exists.
47
+ */
48
+ export function addEnvironment(graphDir, env) {
49
+ // Validate schema
50
+ SiebelEnvironmentSchema.parse(env);
51
+ const environments = loadSiebelConfig(graphDir);
52
+ if (environments.some((e) => e.name === env.name)) {
53
+ throw new ValidationError(`Environment "${env.name}" already exists`, [
54
+ { field: "name", message: "duplicate" },
55
+ ]);
56
+ }
57
+ environments.push(env);
58
+ saveSiebelConfig(graphDir, environments);
59
+ logger.info("Siebel environment added", { name: env.name, type: env.type });
60
+ return environments;
61
+ }
62
+ /**
63
+ * Remove a Siebel environment by name.
64
+ * @throws ValidationError if name not found.
65
+ */
66
+ export function removeEnvironment(graphDir, name) {
67
+ const environments = loadSiebelConfig(graphDir);
68
+ const idx = environments.findIndex((e) => e.name === name);
69
+ if (idx === -1) {
70
+ throw new ValidationError(`Environment "${name}" not found`, [
71
+ { field: "name", message: "not found" },
72
+ ]);
73
+ }
74
+ environments.splice(idx, 1);
75
+ saveSiebelConfig(graphDir, environments);
76
+ logger.info("Siebel environment removed", { name });
77
+ return environments;
78
+ }
79
+ /**
80
+ * Find an environment by name.
81
+ */
82
+ export function findEnvironment(graphDir, name) {
83
+ const environments = loadSiebelConfig(graphDir);
84
+ return environments.find((e) => e.name === name);
85
+ }
86
+ //# sourceMappingURL=siebel-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siebel-config.js","sourceRoot":"","sources":["../../../src/core/siebel/siebel-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * SIF Context Assembler — builds RAG-optimized context for SIF generation.
3
+ *
4
+ * Queries the knowledge store for existing Siebel objects, documentation,
5
+ * and Swagger specs to assemble a rich context payload for the LLM.
6
+ */
7
+ import { KnowledgeStore } from "../store/knowledge-store.js";
8
+ import { type SifTemplate } from "./sif-templates.js";
9
+ import type { SifGenerationRequest } from "../../schemas/siebel.schema.js";
10
+ /** Summary of a knowledge document for context assembly. */
11
+ export interface KnowledgeSummary {
12
+ title: string;
13
+ content: string;
14
+ sourceType: string;
15
+ score?: number;
16
+ }
17
+ /** Assembled context for SIF generation. */
18
+ export interface SifGenerationContext {
19
+ existingObjects: KnowledgeSummary[];
20
+ templates: SifTemplate[];
21
+ exampleSif: string;
22
+ relatedDocs: KnowledgeSummary[];
23
+ validationRules: string[];
24
+ prompt: string;
25
+ }
26
+ /**
27
+ * Assemble a SIF generation context from the knowledge store.
28
+ *
29
+ * Pipeline:
30
+ * 1. Search existing Siebel objects by type/project
31
+ * 2. Select relevant templates
32
+ * 3. Search for example SIF content
33
+ * 4. Search related documentation and swagger specs
34
+ * 5. Build structured prompt
35
+ */
36
+ export declare function assembleSifContext(knowledgeStore: KnowledgeStore, request: SifGenerationRequest): SifGenerationContext;
37
+ //# sourceMappingURL=sif-context-assembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sif-context-assembler.d.ts","sourceRoot":"","sources":["../../../src/core/siebel/sif-context-assembler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAmB,MAAM,gCAAgC,CAAC;AAG5F,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,oBAAoB,CAyCtB"}