@mcp-graph-workflow/mcp-graph 5.32.0 → 5.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/api/router.d.ts.map +1 -1
  2. package/dist/api/router.js +2 -0
  3. package/dist/api/router.js.map +1 -1
  4. package/dist/api/routes/davinci.d.ts +3 -0
  5. package/dist/api/routes/davinci.d.ts.map +1 -0
  6. package/dist/api/routes/davinci.js +188 -0
  7. package/dist/api/routes/davinci.js.map +1 -0
  8. package/dist/core/davinci/build-runner.d.ts +37 -0
  9. package/dist/core/davinci/build-runner.d.ts.map +1 -0
  10. package/dist/core/davinci/build-runner.js +239 -0
  11. package/dist/core/davinci/build-runner.js.map +1 -0
  12. package/dist/core/davinci/davinci-parser.d.ts +6 -0
  13. package/dist/core/davinci/davinci-parser.d.ts.map +1 -0
  14. package/dist/core/davinci/davinci-parser.js +218 -0
  15. package/dist/core/davinci/davinci-parser.js.map +1 -0
  16. package/dist/core/davinci/davinci-store.d.ts +49 -0
  17. package/dist/core/davinci/davinci-store.d.ts.map +1 -0
  18. package/dist/core/davinci/davinci-store.js +121 -0
  19. package/dist/core/davinci/davinci-store.js.map +1 -0
  20. package/dist/core/davinci/davinci-types.d.ts +241 -0
  21. package/dist/core/davinci/davinci-types.d.ts.map +1 -0
  22. package/dist/core/davinci/davinci-types.js +123 -0
  23. package/dist/core/davinci/davinci-types.js.map +1 -0
  24. package/dist/core/davinci/davinci-validators.d.ts +16 -0
  25. package/dist/core/davinci/davinci-validators.d.ts.map +1 -0
  26. package/dist/core/davinci/davinci-validators.js +86 -0
  27. package/dist/core/davinci/davinci-validators.js.map +1 -0
  28. package/dist/core/davinci/descriptor-generator.d.ts +19 -0
  29. package/dist/core/davinci/descriptor-generator.d.ts.map +1 -0
  30. package/dist/core/davinci/descriptor-generator.js +52 -0
  31. package/dist/core/davinci/descriptor-generator.js.map +1 -0
  32. package/dist/core/davinci/plugin-generator.d.ts +29 -0
  33. package/dist/core/davinci/plugin-generator.d.ts.map +1 -0
  34. package/dist/core/davinci/plugin-generator.js +86 -0
  35. package/dist/core/davinci/plugin-generator.js.map +1 -0
  36. package/dist/core/davinci/plugin-type-detector.d.ts +15 -0
  37. package/dist/core/davinci/plugin-type-detector.d.ts.map +1 -0
  38. package/dist/core/davinci/plugin-type-detector.js +114 -0
  39. package/dist/core/davinci/plugin-type-detector.js.map +1 -0
  40. package/dist/core/davinci/pom-generator.d.ts +4 -0
  41. package/dist/core/davinci/pom-generator.d.ts.map +1 -0
  42. package/dist/core/davinci/pom-generator.js +179 -0
  43. package/dist/core/davinci/pom-generator.js.map +1 -0
  44. package/dist/core/davinci/template-registry.d.ts +25 -0
  45. package/dist/core/davinci/template-registry.d.ts.map +1 -0
  46. package/dist/core/davinci/template-registry.js +280 -0
  47. package/dist/core/davinci/template-registry.js.map +1 -0
  48. package/dist/core/davinci/variable-resolver.d.ts +9 -0
  49. package/dist/core/davinci/variable-resolver.d.ts.map +1 -0
  50. package/dist/core/davinci/variable-resolver.js +62 -0
  51. package/dist/core/davinci/variable-resolver.js.map +1 -0
  52. package/dist/core/parser/read-swagger.d.ts.map +1 -1
  53. package/dist/core/parser/read-swagger.js +6 -0
  54. package/dist/core/parser/read-swagger.js.map +1 -1
  55. package/dist/core/siebel/sif-parser.d.ts.map +1 -1
  56. package/dist/core/siebel/sif-parser.js +6 -0
  57. package/dist/core/siebel/sif-parser.js.map +1 -1
  58. package/dist/core/siebel/wsdl-parser.d.ts.map +1 -1
  59. package/dist/core/siebel/wsdl-parser.js +6 -0
  60. package/dist/core/siebel/wsdl-parser.js.map +1 -1
  61. package/dist/core/translation/generators/universal-generator.d.ts.map +1 -1
  62. package/dist/core/translation/generators/universal-generator.js +187 -9
  63. package/dist/core/translation/generators/universal-generator.js.map +1 -1
  64. package/dist/core/translation/language-detect.d.ts.map +1 -1
  65. package/dist/core/translation/language-detect.js +37 -14
  66. package/dist/core/translation/language-detect.js.map +1 -1
  67. package/dist/docs-manifest.json +57 -1
  68. package/dist/mcp/app-factory.js +1 -1
  69. package/dist/mcp/app-factory.js.map +1 -1
  70. package/dist/mcp/tools/davinci-analyze.d.ts +4 -0
  71. package/dist/mcp/tools/davinci-analyze.d.ts.map +1 -0
  72. package/dist/mcp/tools/davinci-analyze.js +31 -0
  73. package/dist/mcp/tools/davinci-analyze.js.map +1 -0
  74. package/dist/mcp/tools/davinci-build.d.ts +4 -0
  75. package/dist/mcp/tools/davinci-build.d.ts.map +1 -0
  76. package/dist/mcp/tools/davinci-build.js +43 -0
  77. package/dist/mcp/tools/davinci-build.js.map +1 -0
  78. package/dist/mcp/tools/davinci-convert.d.ts +4 -0
  79. package/dist/mcp/tools/davinci-convert.d.ts.map +1 -0
  80. package/dist/mcp/tools/davinci-convert.js +61 -0
  81. package/dist/mcp/tools/davinci-convert.js.map +1 -0
  82. package/dist/mcp/tools/index.d.ts.map +1 -1
  83. package/dist/mcp/tools/index.js +8 -0
  84. package/dist/mcp/tools/index.js.map +1 -1
  85. package/dist/web/dashboard/dist/assets/{benchmark-tab-en-UkR66.js → benchmark-tab-BezNQCQh.js} +1 -1
  86. package/dist/web/dashboard/dist/assets/{circle-alert-5GIBBP3L.js → circle-alert-DKsqBTgC.js} +1 -1
  87. package/dist/web/dashboard/dist/assets/{context-tab-DjfwQik8.js → context-tab-Cmar9i-X.js} +1 -1
  88. package/dist/web/dashboard/dist/assets/davinci-tab-CkWYkDsy.js +10 -0
  89. package/dist/web/dashboard/dist/assets/{docs-tab-gEBzBEEV.js → docs-tab-CYpDJ3Rl.js} +1 -1
  90. package/dist/web/dashboard/dist/assets/file-code-B0t0xVTk.js +11 -0
  91. package/dist/web/dashboard/dist/assets/{gitnexus-tab-BE2pi0xe.js → gitnexus-tab-COEhhMeC.js} +1 -1
  92. package/dist/web/dashboard/dist/assets/{graph-section-Cwx-Bmeh.js → graph-section-CheOuwv_.js} +1 -1
  93. package/dist/web/dashboard/dist/assets/{graph-tab-BcS75lY0.js → graph-tab-B52UV5KP.js} +1 -1
  94. package/dist/web/dashboard/dist/assets/{graph-utils-OY_fOvB3.js → graph-utils-D5HpaYbf.js} +1 -1
  95. package/dist/web/dashboard/dist/assets/{index-1aGs8JPI.js → index--SYA0Gq0.js} +1 -1
  96. package/dist/web/dashboard/dist/assets/index-BcMjWikL.css +1 -0
  97. package/dist/web/dashboard/dist/assets/{index-4X4gmCkA.js → index-DFMBuNWV.js} +1 -1
  98. package/dist/web/dashboard/dist/assets/{index-C3Kad9YO.js → index-DdenFaJ5.js} +24 -19
  99. package/dist/web/dashboard/dist/assets/{insights-tab-CP2uIpid.js → insights-tab-sPgv-iwt.js} +1 -1
  100. package/dist/web/dashboard/dist/assets/{journey-tab-ChwNK_8S.js → journey-tab-CS416bwg.js} +1 -1
  101. package/dist/web/dashboard/dist/assets/{languages-tab-DnBvSh4N.js → languages-tab-CcB_s-Ic.js} +24 -39
  102. package/dist/web/dashboard/dist/assets/{loader-circle-Bxe_TLXv.js → loader-circle-BSNUICqd.js} +1 -1
  103. package/dist/web/dashboard/dist/assets/{logs-tab-BH86QvKe.js → logs-tab-BbDXtvmz.js} +1 -1
  104. package/dist/web/dashboard/dist/assets/{lsp-tab-DUpaQXtx.js → lsp-tab-BrytF6mP.js} +3 -3
  105. package/dist/web/dashboard/dist/assets/{memories-tab-CkwtNv3t.js → memories-tab-qCFdXJIV.js} +1 -1
  106. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-CPJanaVF.js → prd-backlog-tab-BiNvyICT.js} +1 -1
  107. package/dist/web/dashboard/dist/assets/{refresh-cw-DL1dUrhF.js → refresh-cw-CqVWFFCW.js} +1 -1
  108. package/dist/web/dashboard/dist/assets/{siebel-tab-D7x34UXy.js → siebel-tab-DFNHIBbS.js} +3 -3
  109. package/dist/web/dashboard/dist/assets/{sif-parse.worker-DZrybOHz.js → sif-parse.worker-Cty_N-lP.js} +3 -3
  110. package/dist/web/dashboard/dist/assets/{skills-tab-BuqCMS29.js → skills-tab-DlInZCyj.js} +1 -1
  111. package/dist/web/dashboard/dist/assets/{style-iy_ryTT6.js → style-B4jQtUGE.js} +1 -1
  112. package/dist/web/dashboard/dist/assets/triangle-alert-CqXtIU3H.js +16 -0
  113. package/dist/web/dashboard/dist/assets/upload-Cb3pIYT5.js +16 -0
  114. package/dist/web/dashboard/dist/index.html +2 -2
  115. package/package.json +1 -1
  116. package/dist/web/dashboard/dist/assets/index-BVhCKhGJ.css +0 -1
  117. package/dist/web/dashboard/dist/assets/triangle-alert-CPzksLkC.js +0 -26
@@ -0,0 +1,123 @@
1
+ import { z } from "zod/v4";
2
+ // ── DaVinci Variable Schemas ──────────────────────────────────────────
3
+ export const DaVinciVariableKindSchema = z.enum([
4
+ "global", // {{global.variables.variableName}}
5
+ "local", // {{local.nodeId.capability.output.field}}
6
+ "parameter", // {{parameterName}} (Handlebars client-side)
7
+ "flow", // {{flow.variables.x}}
8
+ ]);
9
+ export const DaVinciVariableSchema = z.object({
10
+ kind: DaVinciVariableKindSchema,
11
+ rawTemplate: z.string(),
12
+ path: z.array(z.string()),
13
+ fieldName: z.string(),
14
+ nodeId: z.string().optional(),
15
+ capability: z.string().optional(),
16
+ });
17
+ // ── DaVinci Code Location ─────────────────────────────────────────────
18
+ export const DaVinciCodeLocationSchema = z.enum([
19
+ "custom_function",
20
+ "code_snippet",
21
+ "html_template",
22
+ ]);
23
+ // ── PingAccess Plugin Types ───────────────────────────────────────────
24
+ export const PfPluginTypeSchema = z.enum([
25
+ "idp-adapter",
26
+ "sp-adapter",
27
+ "token-generator",
28
+ "token-processor",
29
+ "access-grant-manager",
30
+ "notification-publisher",
31
+ "secret-manager",
32
+ "password-credential-validator",
33
+ "custom-data-store",
34
+ "identity-store-provisioner",
35
+ ]);
36
+ // ── PF-INF Descriptor Mapping ─────────────────────────────────────────
37
+ export const PF_INF_DIRECTORY_MAP = {
38
+ "idp-adapter": "idp-authn-adapters",
39
+ "sp-adapter": "sp-authn-adapters",
40
+ "token-generator": "token-generators",
41
+ "token-processor": "token-processors",
42
+ "access-grant-manager": "access-grant-managers",
43
+ "notification-publisher": "notification-publishers",
44
+ "secret-manager": "secret-managers",
45
+ "password-credential-validator": "password-credential-validators",
46
+ "custom-data-store": "custom-data-stores",
47
+ "identity-store-provisioner": "identity-store-provisioners",
48
+ };
49
+ // ── API Call Detection ────────────────────────────────────────────────
50
+ export const DaVinciApiCallSchema = z.object({
51
+ method: z.string(),
52
+ url: z.string().optional(),
53
+ line: z.number(),
54
+ });
55
+ // ── Flow Logic Detection ──────────────────────────────────────────────
56
+ export const DaVinciFlowLogicSchema = z.object({
57
+ hasConditionals: z.boolean(),
58
+ hasLoops: z.boolean(),
59
+ hasJsonParse: z.boolean(),
60
+ hasErrorHandling: z.boolean(),
61
+ hasAsyncAwait: z.boolean(),
62
+ });
63
+ // ── DaVinci Analysis Result ───────────────────────────────────────────
64
+ export const DaVinciAnalysisSchema = z.object({
65
+ variables: z.array(DaVinciVariableSchema),
66
+ codeLocation: DaVinciCodeLocationSchema,
67
+ apiCalls: z.array(DaVinciApiCallSchema),
68
+ flowLogic: DaVinciFlowLogicSchema,
69
+ recommendedPluginType: PfPluginTypeSchema,
70
+ pluginTypeConfidence: z.number().min(0).max(1),
71
+ warnings: z.array(z.string()),
72
+ sourceLineCount: z.number(),
73
+ });
74
+ // ── Conversion Job ────────────────────────────────────────────────────
75
+ export const DaVinciJobStatusSchema = z.enum([
76
+ "analyzing",
77
+ "converting",
78
+ "building",
79
+ "done",
80
+ "failed",
81
+ ]);
82
+ export const DaVinciConversionJobSchema = z.object({
83
+ id: z.string(),
84
+ sourceCode: z.string(),
85
+ analysis: DaVinciAnalysisSchema.optional(),
86
+ generatedJava: z.string().optional(),
87
+ generatedPom: z.string().optional(),
88
+ pluginType: PfPluginTypeSchema,
89
+ pluginName: z.string(),
90
+ packageName: z.string(),
91
+ className: z.string(),
92
+ status: DaVinciJobStatusSchema,
93
+ jarPath: z.string().optional(),
94
+ buildOutput: z.string().optional(),
95
+ createdAt: z.string(),
96
+ updatedAt: z.string(),
97
+ });
98
+ // ── Variable Resolution Result ────────────────────────────────────────
99
+ export const ResolvedVariableSchema = z.object({
100
+ original: DaVinciVariableSchema,
101
+ javaExpression: z.string(),
102
+ guiFieldCode: z.string().optional(),
103
+ configureCode: z.string().optional(),
104
+ });
105
+ // ── Plugin Generation Config ──────────────────────────────────────────
106
+ export const PluginGenerationConfigSchema = z.object({
107
+ pluginName: z.string(),
108
+ packageName: z.string(),
109
+ className: z.string(),
110
+ pluginType: PfPluginTypeSchema,
111
+ attributeContract: z.array(z.string()),
112
+ sdkPath: z.string().optional(),
113
+ javaVersion: z.string().default("11"),
114
+ });
115
+ // ── Build Result ──────────────────────────────────────────────────────
116
+ export const BuildResultSchema = z.object({
117
+ success: z.boolean(),
118
+ jarPath: z.string().optional(),
119
+ stdout: z.string(),
120
+ stderr: z.string(),
121
+ durationMs: z.number(),
122
+ });
123
+ //# sourceMappingURL=davinci-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-types.js","sourceRoot":"","sources":["../../../src/core/davinci/davinci-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { DaVinciAnalysis } from "./davinci-types.js";
2
+ import type { GeneratePluginResult } from "./plugin-generator.js";
3
+ import type { BuildResult } from "./davinci-types.js";
4
+ export interface ValidationIssue {
5
+ severity: "error" | "warning" | "info";
6
+ code: string;
7
+ message: string;
8
+ }
9
+ export interface ValidationResult {
10
+ valid: boolean;
11
+ issues: ValidationIssue[];
12
+ }
13
+ export declare function validatePreConversion(code: string, analysis: DaVinciAnalysis): ValidationResult;
14
+ export declare function validatePostGeneration(result: GeneratePluginResult): ValidationResult;
15
+ export declare function validateBuildResult(result: BuildResult): ValidationResult;
16
+ //# sourceMappingURL=davinci-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-validators.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/davinci-validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,gBAAgB,CAqC/F;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,gBAAgB,CA0CrF;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAmBzE"}
@@ -0,0 +1,86 @@
1
+ // ── Pre-Conversion Validation ─────────────────────────────────────────
2
+ export function validatePreConversion(code, analysis) {
3
+ const issues = [];
4
+ // Empty code
5
+ if (!code.trim()) {
6
+ issues.push({ severity: "error", code: "empty_code", message: "Source code is empty" });
7
+ }
8
+ // No module.exports pattern
9
+ if (!code.includes("module.exports")) {
10
+ issues.push({ severity: "warning", code: "no_module_exports", message: "No module.exports pattern detected. DaVinci custom functions use module.exports = a = async ({params}) => { ... }" });
11
+ }
12
+ // require() usage
13
+ if (/\brequire\s*\(/.test(code)) {
14
+ issues.push({ severity: "warning", code: "require_usage", message: "require() detected. DaVinci runtime only supports Buffer as built-in library. External modules will not work in the Java plugin." });
15
+ }
16
+ // fs usage (mockup in DaVinci)
17
+ if (/\bfs\b/.test(code) && /readFileSync|writeFileSync|readFile|writeFile/.test(code)) {
18
+ issues.push({ severity: "warning", code: "fs_usage", message: "File System (fs) usage detected. DaVinci fs is a non-functional mockup. These operations need manual Java implementation." });
19
+ }
20
+ // Very large code
21
+ if (analysis.sourceLineCount > 500) {
22
+ issues.push({ severity: "warning", code: "large_code", message: `Source code has ${analysis.sourceLineCount} lines. Large functions may produce incomplete translations.` });
23
+ }
24
+ // No variables detected
25
+ if (analysis.variables.length === 0 && analysis.apiCalls.length === 0) {
26
+ issues.push({ severity: "info", code: "simple_code", message: "No DaVinci variables or API calls detected. The generated plugin will have minimal functionality." });
27
+ }
28
+ return {
29
+ valid: issues.filter((i) => i.severity === "error").length === 0,
30
+ issues,
31
+ };
32
+ }
33
+ // ── Post-Generation Validation ────────────────────────────────────────
34
+ export function validatePostGeneration(result) {
35
+ const issues = [];
36
+ // Check Java code was generated
37
+ if (!result.javaCode || result.javaCode.includes("No template available")) {
38
+ issues.push({ severity: "error", code: "no_java_code", message: "No Java code was generated. The plugin type may not have a template." });
39
+ }
40
+ // Check Java has package declaration
41
+ if (result.javaCode && !result.javaCode.includes("package ")) {
42
+ issues.push({ severity: "error", code: "no_package", message: "Generated Java code is missing package declaration." });
43
+ }
44
+ // Check Java has class declaration
45
+ if (result.javaCode && !result.javaCode.includes("public class ")) {
46
+ issues.push({ severity: "error", code: "no_class", message: "Generated Java code is missing class declaration." });
47
+ }
48
+ // Check imports present
49
+ if (result.javaCode && !result.javaCode.includes("import ")) {
50
+ issues.push({ severity: "warning", code: "no_imports", message: "Generated Java code has no imports. The class may not compile." });
51
+ }
52
+ // Check POM was generated
53
+ if (!result.pomXml || !result.pomXml.includes("<project")) {
54
+ issues.push({ severity: "error", code: "no_pom", message: "No valid POM.xml was generated." });
55
+ }
56
+ // Low confidence
57
+ if (result.confidence < 0.5) {
58
+ issues.push({ severity: "warning", code: "low_confidence", message: `Plugin type detection confidence is low (${(result.confidence * 100).toFixed(0)}%). Consider manually overriding the plugin type.` });
59
+ }
60
+ // Propagate warnings from generation
61
+ for (const w of result.warnings) {
62
+ issues.push({ severity: "warning", code: "generation_warning", message: w });
63
+ }
64
+ return {
65
+ valid: issues.filter((i) => i.severity === "error").length === 0,
66
+ issues,
67
+ };
68
+ }
69
+ // ── Build Result Validation ───────────────────────────────────────────
70
+ export function validateBuildResult(result) {
71
+ const issues = [];
72
+ if (!result.success) {
73
+ issues.push({ severity: "error", code: "build_failed", message: `Maven build failed: ${result.stderr.slice(0, 200)}` });
74
+ }
75
+ if (result.success && !result.jarPath) {
76
+ issues.push({ severity: "warning", code: "no_jar", message: "Build succeeded but no JAR file was found in target/." });
77
+ }
78
+ if (result.durationMs > 60000) {
79
+ issues.push({ severity: "info", code: "slow_build", message: `Build took ${(result.durationMs / 1000).toFixed(1)}s. Consider checking for dependency download issues.` });
80
+ }
81
+ return {
82
+ valid: issues.filter((i) => i.severity === "error").length === 0,
83
+ issues,
84
+ };
85
+ }
86
+ //# sourceMappingURL=davinci-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-validators.js","sourceRoot":"","sources":["../../../src/core/davinci/davinci-validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { DaVinciVariable } from "./davinci-types.js";
2
+ export interface GuiDescriptorResult {
3
+ fieldDeclarations: string;
4
+ fieldRegistrations: string;
5
+ instanceFields: string;
6
+ }
7
+ export declare function generateGuiDescriptor(variables: DaVinciVariable[]): GuiDescriptorResult;
8
+ export declare function generateAttributeContract(attributes: string[]): string;
9
+ export interface PfInfDescriptor {
10
+ directoryName: string;
11
+ content: string;
12
+ fullPath: string;
13
+ }
14
+ export declare function generatePfInfDescriptor(pluginType: string, packageName: string, className: string): PfInfDescriptor;
15
+ export declare function generateMetaInfServices(serviceInterface: string, packageName: string, className: string): {
16
+ filePath: string;
17
+ content: string;
18
+ };
19
+ //# sourceMappingURL=descriptor-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor-generator.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/descriptor-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,eAAe,EAAE,GAC3B,mBAAmB,CA2BrB;AAID,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAWtE;AAID,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,eAAe,CAcjB;AAID,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAKvC"}
@@ -0,0 +1,52 @@
1
+ import { PF_INF_DIRECTORY_MAP } from "./davinci-types.js";
2
+ export function generateGuiDescriptor(variables) {
3
+ const configVars = variables.filter((v) => v.kind !== "local");
4
+ const seen = new Set();
5
+ const declarations = [];
6
+ const registrations = [];
7
+ const instanceFields = [];
8
+ for (const v of configVars) {
9
+ if (seen.has(v.fieldName))
10
+ continue;
11
+ seen.add(v.fieldName);
12
+ declarations.push(` TextFieldDescriptor ${v.fieldName}Field = new TextFieldDescriptor("${v.fieldName}", "DaVinci variable: ${v.fieldName}");`);
13
+ registrations.push(` guiDescriptor.addField(${v.fieldName}Field);`);
14
+ instanceFields.push(` private String ${v.fieldName};`);
15
+ }
16
+ return {
17
+ fieldDeclarations: declarations.join("\n"),
18
+ fieldRegistrations: registrations.join("\n"),
19
+ instanceFields: instanceFields.join("\n"),
20
+ };
21
+ }
22
+ // ── Attribute Contract Generation ─────────────────────────────────────
23
+ export function generateAttributeContract(attributes) {
24
+ if (attributes.length === 0) {
25
+ return " Set<String> contract = new HashSet<>();";
26
+ }
27
+ const lines = [
28
+ " Set<String> contract = new HashSet<>();",
29
+ ...attributes.map((a) => ` contract.add("${a}");`),
30
+ ];
31
+ return lines.join("\n");
32
+ }
33
+ export function generatePfInfDescriptor(pluginType, packageName, className) {
34
+ const fqcn = `${packageName}.${className}`;
35
+ // PingFederate uses PF_INF_DIRECTORY_MAP
36
+ const pfDirectory = PF_INF_DIRECTORY_MAP[pluginType];
37
+ // PingAccess uses META-INF/services/{interface}
38
+ const directoryName = pfDirectory ?? pluginType;
39
+ return {
40
+ directoryName,
41
+ content: fqcn,
42
+ fullPath: `PF-INF/${directoryName}`,
43
+ };
44
+ }
45
+ // ── META-INF/services for PingAccess ──────────────────────────────────
46
+ export function generateMetaInfServices(serviceInterface, packageName, className) {
47
+ return {
48
+ filePath: `META-INF/services/${serviceInterface}`,
49
+ content: `${packageName}.${className}`,
50
+ };
51
+ }
52
+ //# sourceMappingURL=descriptor-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor-generator.js","sourceRoot":"","sources":["../../../src/core/davinci/descriptor-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAW1D,MAAM,UAAU,qBAAqB,CACnC,SAA4B;IAE5B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEtB,YAAY,CAAC,IAAI,CACf,+BAA+B,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,KAAK,CACnI,CAAC;QACF,aAAa,CAAC,IAAI,CAChB,kCAAkC,CAAC,CAAC,SAAS,SAAS,CACvD,CAAC;QACF,cAAc,CAAC,IAAI,CACjB,sBAAsB,CAAC,CAAC,SAAS,GAAG,CACrC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,MAAM,UAAU,yBAAyB,CAAC,UAAoB;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,iDAAiD;QACjD,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;KAC1D,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAUD,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC;IAE3C,yCAAyC;IACzC,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAA0B,CAAC,CAAC;IAErE,gDAAgD;IAChD,MAAM,aAAa,GAAG,WAAW,IAAI,UAAU,CAAC;IAEhD,OAAO;QACL,aAAa;QACb,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,UAAU,aAAa,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,MAAM,UAAU,uBAAuB,CACrC,gBAAwB,EACxB,WAAmB,EACnB,SAAiB;IAEjB,OAAO;QACL,QAAQ,EAAE,qBAAqB,gBAAgB,EAAE;QACjD,OAAO,EAAE,GAAG,WAAW,IAAI,SAAS,EAAE;KACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { TargetSdk } from "./pom-generator.js";
2
+ export interface GeneratePluginOptions {
3
+ code: string;
4
+ pluginName: string;
5
+ packageName: string;
6
+ className: string;
7
+ targetSdk: TargetSdk;
8
+ pluginType?: string;
9
+ codeLocation?: "custom_function" | "code_snippet" | "html_template";
10
+ attributeContract?: string[];
11
+ javaVersion?: string;
12
+ sdkPath?: string;
13
+ }
14
+ export interface GeneratePluginResult {
15
+ javaCode: string;
16
+ pomXml: string;
17
+ pfInfContent: string;
18
+ pfInfType: string;
19
+ pluginType: string;
20
+ confidence: number;
21
+ warnings: string[];
22
+ analysis: {
23
+ variableCount: number;
24
+ apiCallCount: number;
25
+ flowLogic: Record<string, boolean>;
26
+ };
27
+ }
28
+ export declare function generatePlugin(options: GeneratePluginOptions): GeneratePluginResult;
29
+ //# sourceMappingURL=plugin-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-generator.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/plugin-generator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,iBAAiB,GAAG,cAAc,GAAG,eAAe,CAAC;IACpE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC;CACH;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAkGnF"}
@@ -0,0 +1,86 @@
1
+ import { parseDaVinciCode } from "./davinci-parser.js";
2
+ import { resolveVariables } from "./variable-resolver.js";
3
+ import { detectPluginType } from "./plugin-type-detector.js";
4
+ import { getTemplate, renderTemplate } from "./template-registry.js";
5
+ import { generatePom } from "./pom-generator.js";
6
+ // ── Main Entry Point ──────────────────────────────────────────────────
7
+ export function generatePlugin(options) {
8
+ const { code, pluginName, packageName, className, targetSdk, codeLocation, attributeContract = [], javaVersion, sdkPath, } = options;
9
+ // 1. Parse DaVinci code
10
+ const analysis = parseDaVinciCode(code, {
11
+ codeLocation: codeLocation ?? undefined,
12
+ });
13
+ // 2. Resolve variables
14
+ const resolved = resolveVariables(analysis.variables);
15
+ // 3. Detect plugin type
16
+ const detection = detectPluginType(analysis, targetSdk, {
17
+ sourceCode: code,
18
+ override: options.pluginType,
19
+ });
20
+ // 4. Get template
21
+ const template = getTemplate(detection.pluginType, targetSdk);
22
+ if (!template) {
23
+ return {
24
+ javaCode: `// No template available for plugin type: ${detection.pluginType} (${targetSdk})`,
25
+ pomXml: "",
26
+ pfInfContent: "",
27
+ pfInfType: "",
28
+ pluginType: detection.pluginType,
29
+ confidence: detection.confidence,
30
+ warnings: [...analysis.warnings, ...detection.warnings, `No template for ${detection.pluginType}`],
31
+ analysis: {
32
+ variableCount: analysis.variables.length,
33
+ apiCallCount: analysis.apiCalls.length,
34
+ flowLogic: analysis.flowLogic,
35
+ },
36
+ };
37
+ }
38
+ // 5. Build GUI fields code
39
+ const guiFieldLines = resolved
40
+ .filter((v) => v.guiFieldCode)
41
+ .map((v) => ` ${v.guiFieldCode}`)
42
+ .join("\n");
43
+ // 6. Build configure() body
44
+ const configureLines = resolved
45
+ .filter((v) => v.configureCode)
46
+ .map((v) => ` ${v.configureCode}`)
47
+ .join("\n");
48
+ // 7. Render Java class
49
+ const javaCode = renderTemplate(template, {
50
+ className,
51
+ packageName,
52
+ pluginName,
53
+ guiFields: guiFieldLines,
54
+ configureBody: configureLines,
55
+ mainMethodBody: ` // TODO: Translate DaVinci logic to Java\n // Source had ${analysis.apiCalls.length} API calls, ${analysis.variables.length} variables`,
56
+ attributeContract,
57
+ });
58
+ // 8. Generate POM
59
+ const pomXml = generatePom({
60
+ pluginName,
61
+ packageName,
62
+ className,
63
+ pluginType: detection.pluginType,
64
+ attributeContract,
65
+ javaVersion: javaVersion ?? (targetSdk === "pingaccess" ? "17" : "11"),
66
+ sdkPath,
67
+ }, targetSdk);
68
+ // 9. PF-INF descriptor
69
+ const pfInfContent = `${packageName}.${className}`;
70
+ const pfInfType = template.pfInfType;
71
+ return {
72
+ javaCode,
73
+ pomXml,
74
+ pfInfContent,
75
+ pfInfType,
76
+ pluginType: detection.pluginType,
77
+ confidence: detection.confidence,
78
+ warnings: [...analysis.warnings, ...detection.warnings],
79
+ analysis: {
80
+ variableCount: analysis.variables.length,
81
+ apiCallCount: analysis.apiCalls.length,
82
+ flowLogic: analysis.flowLogic,
83
+ },
84
+ };
85
+ }
86
+ //# sourceMappingURL=plugin-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-generator.js","sourceRoot":"","sources":["../../../src/core/davinci/plugin-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { DaVinciAnalysis, PfPluginType } from "./davinci-types.js";
2
+ export type TargetSdkMode = "pingfederate" | "pingaccess";
3
+ export type PaPluginType = "rule" | "identity-mapping" | "load-balancing" | "site-authenticator";
4
+ export interface DetectionResult {
5
+ pluginType: PfPluginType | PaPluginType;
6
+ confidence: number;
7
+ warnings: string[];
8
+ scores: Record<string, number>;
9
+ }
10
+ export interface DetectionOptions {
11
+ override?: string;
12
+ sourceCode?: string;
13
+ }
14
+ export declare function detectPluginType(analysis: DaVinciAnalysis, mode: TargetSdkMode, options?: DetectionOptions): DetectionResult;
15
+ //# sourceMappingURL=plugin-type-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-type-detector.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/plugin-type-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEjG,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAgBjB"}
@@ -0,0 +1,114 @@
1
+ // ── Main Entry Point ──────────────────────────────────────────────────
2
+ export function detectPluginType(analysis, mode, options = {}) {
3
+ if (options.override) {
4
+ return {
5
+ pluginType: options.override,
6
+ confidence: 1,
7
+ warnings: [],
8
+ scores: { [options.override]: 1 },
9
+ };
10
+ }
11
+ const sourceCode = options.sourceCode ?? "";
12
+ if (mode === "pingaccess") {
13
+ return detectPingAccessType(analysis, sourceCode);
14
+ }
15
+ return detectPingFederateType(analysis, sourceCode);
16
+ }
17
+ // ── PingFederate Detection ────────────────────────────────────────────
18
+ function detectPingFederateType(analysis, sourceCode) {
19
+ const scores = {};
20
+ const code = sourceCode || reconstructCode(analysis);
21
+ // HTTP calls → idp-adapter
22
+ if (analysis.apiCalls.length > 0) {
23
+ scores["idp-adapter"] = (scores["idp-adapter"] ?? 0) + 0.4;
24
+ }
25
+ // JWT/token patterns → token-generator
26
+ if (/\b(jwt|token|sign|verify|encode|decode)\b/i.test(code)) {
27
+ scores["token-generator"] = (scores["token-generator"] ?? 0) + 0.5;
28
+ }
29
+ // Password/credential patterns → password-credential-validator
30
+ if (/\b(password|credential|authenticate|login)\b/i.test(code)) {
31
+ scores["password-credential-validator"] = (scores["password-credential-validator"] ?? 0) + 0.5;
32
+ }
33
+ // Storage/persistence patterns → access-grant-manager
34
+ if (/\b(save|store|persist|getByClientId|grant)\b/i.test(code)) {
35
+ scores["access-grant-manager"] = (scores["access-grant-manager"] ?? 0) + 0.4;
36
+ }
37
+ // Notification/webhook patterns → notification-publisher
38
+ if (/\b(notify|notification|webhook|email|event)\b/i.test(code)) {
39
+ scores["notification-publisher"] = (scores["notification-publisher"] ?? 0) + 0.5;
40
+ }
41
+ // Secret/vault/env patterns → secret-manager
42
+ if (/\b(secret|vault|getenv|environment)\b/i.test(code)) {
43
+ scores["secret-manager"] = (scores["secret-manager"] ?? 0) + 0.4;
44
+ }
45
+ // LDAP/DB query patterns → custom-data-store
46
+ if (/\b(ldap|query|search|datastore|db\.)\b/i.test(code)) {
47
+ scores["custom-data-store"] = (scores["custom-data-store"] ?? 0) + 0.4;
48
+ }
49
+ return buildResult(scores, "idp-adapter");
50
+ }
51
+ // ── PingAccess Detection ──────────────────────────────────────────────
52
+ function detectPingAccessType(analysis, sourceCode) {
53
+ const scores = {};
54
+ const code = sourceCode || reconstructCode(analysis);
55
+ // HTTP request/response manipulation → rule
56
+ if (/\b(httpRequest|getHeader|statusCode|allowed|forbidden|request\.get)\b/i.test(code)) {
57
+ scores["rule"] = (scores["rule"] ?? 0) + 0.5;
58
+ }
59
+ // Token extraction / identity mapping
60
+ if (/\b(identity|mappedIdentity|subject|accessToken|decoded|mapping)\b/i.test(code)) {
61
+ scores["identity-mapping"] = (scores["identity-mapping"] ?? 0) + 0.5;
62
+ }
63
+ // Server selection / load balancing
64
+ if (/\b(server|backend|loadBalance|roundRobin|weight)\b/i.test(code)) {
65
+ scores["load-balancing"] = (scores["load-balancing"] ?? 0) + 0.5;
66
+ }
67
+ // Site authentication
68
+ if (/\b(siteAuth|basicAuth|formAuth|siteCredential)\b/i.test(code)) {
69
+ scores["site-authenticator"] = (scores["site-authenticator"] ?? 0) + 0.5;
70
+ }
71
+ return buildResult(scores, "rule");
72
+ }
73
+ // ── Helpers ───────────────────────────────────────────────────────────
74
+ function reconstructCode(analysis) {
75
+ // Use variables and other analysis data to reconstruct code context
76
+ const parts = [];
77
+ for (const v of analysis.variables) {
78
+ parts.push(v.rawTemplate);
79
+ }
80
+ for (const call of analysis.apiCalls) {
81
+ parts.push(call.url ?? "");
82
+ parts.push(call.method);
83
+ }
84
+ // Also check warnings for additional context
85
+ for (const w of analysis.warnings) {
86
+ parts.push(w);
87
+ }
88
+ return parts.join(" ");
89
+ }
90
+ function buildResult(scores, fallbackType) {
91
+ const warnings = [];
92
+ // Find best match
93
+ let bestType = fallbackType;
94
+ let bestScore = 0;
95
+ for (const [type, score] of Object.entries(scores)) {
96
+ if (score > bestScore) {
97
+ bestType = type;
98
+ bestScore = score;
99
+ }
100
+ }
101
+ // Check for ambiguity (multiple types with similar scores)
102
+ const significantTypes = Object.entries(scores).filter(([, s]) => s >= 0.3);
103
+ if (significantTypes.length > 2) {
104
+ warnings.push(`Ambiguous: ${significantTypes.length} plugin types detected with similar scores: ${significantTypes.map(([t]) => t).join(", ")}. Consider manual override.`);
105
+ }
106
+ const confidence = bestScore > 0 ? Math.min(bestScore + 0.2, 1) : 0.3;
107
+ return {
108
+ pluginType: bestType,
109
+ confidence,
110
+ warnings,
111
+ scores,
112
+ };
113
+ }
114
+ //# sourceMappingURL=plugin-type-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-type-detector.js","sourceRoot":"","sources":["../../../src/core/davinci/plugin-type-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PluginGenerationConfig } from "./davinci-types.js";
2
+ export type TargetSdk = "pingfederate" | "pingaccess";
3
+ export declare function generatePom(config: PluginGenerationConfig, targetSdk: TargetSdk): string;
4
+ //# sourceMappingURL=pom-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pom-generator.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/pom-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAEtD,wBAAgB,WAAW,CACzB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,SAAS,GACnB,MAAM,CAKR"}