@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,218 @@
1
+ // ── Main Entry Point ──────────────────────────────────────────────────
2
+ export function parseDaVinciCode(code, options = {}) {
3
+ const lines = code.split("\n");
4
+ const codeLocation = options.codeLocation ?? detectCodeLocation(code);
5
+ const variables = extractVariables(code, codeLocation);
6
+ const apiCalls = detectApiCalls(code, lines);
7
+ const flowLogic = detectFlowLogic(code);
8
+ const warnings = detectUnsupportedPatterns(code);
9
+ const { pluginType, confidence } = recommendPluginType(apiCalls, flowLogic, code);
10
+ return {
11
+ variables,
12
+ codeLocation,
13
+ apiCalls,
14
+ flowLogic,
15
+ recommendedPluginType: pluginType,
16
+ pluginTypeConfidence: confidence,
17
+ warnings,
18
+ sourceLineCount: lines.filter((l) => l.trim().length > 0).length,
19
+ };
20
+ }
21
+ // ── Code Location Detection ───────────────────────────────────────────
22
+ function detectCodeLocation(code) {
23
+ if (code.includes("<script") || code.includes("</script>")) {
24
+ return "html_template";
25
+ }
26
+ if (code.includes("module.exports")) {
27
+ return "custom_function";
28
+ }
29
+ return "code_snippet";
30
+ }
31
+ // ── Variable Extraction ───────────────────────────────────────────────
32
+ const TEMPLATE_VAR_REGEX = /\{\{([^}]+)\}\}/g;
33
+ function extractVariables(code, codeLocation) {
34
+ const variables = [];
35
+ const seen = new Set();
36
+ let match;
37
+ // eslint-disable-next-line security/detect-non-literal-regexp
38
+ const regex = new RegExp(TEMPLATE_VAR_REGEX.source, "g");
39
+ while ((match = regex.exec(code)) !== null) {
40
+ const rawContent = match[1].trim();
41
+ const rawTemplate = `{{${rawContent}}}`;
42
+ const path = rawContent.split(".");
43
+ if (seen.has(rawTemplate)) {
44
+ continue;
45
+ }
46
+ seen.add(rawTemplate);
47
+ const variable = classifyVariable(rawContent, rawTemplate, path, codeLocation);
48
+ if (variable) {
49
+ variables.push(variable);
50
+ }
51
+ }
52
+ return variables;
53
+ }
54
+ function classifyVariable(_rawContent, rawTemplate, path, codeLocation) {
55
+ // {{local.nodeId.capability.output.field}}
56
+ if (path[0] === "local" && path.length >= 5) {
57
+ return {
58
+ kind: "local",
59
+ rawTemplate,
60
+ path,
61
+ fieldName: path[path.length - 1],
62
+ nodeId: path[1],
63
+ capability: path[2],
64
+ };
65
+ }
66
+ // {{global.flow.variables.x}}
67
+ if (path[0] === "global" && path[1] === "flow" && path[2] === "variables") {
68
+ return {
69
+ kind: "flow",
70
+ rawTemplate,
71
+ path,
72
+ fieldName: path[path.length - 1],
73
+ };
74
+ }
75
+ // {{global.company.variables.x}}
76
+ if (path[0] === "global" && path[1] === "company" && path[2] === "variables") {
77
+ return {
78
+ kind: "global",
79
+ rawTemplate,
80
+ path,
81
+ fieldName: path[path.length - 1],
82
+ };
83
+ }
84
+ // {{global.variables.x}} or {{global.userInfo.variables.x}}
85
+ if (path[0] === "global" && path.includes("variables")) {
86
+ return {
87
+ kind: "global",
88
+ rawTemplate,
89
+ path,
90
+ fieldName: path[path.length - 1],
91
+ };
92
+ }
93
+ // {{parameterName}} — simple parameter (typically in html_template)
94
+ if (path.length === 1 && codeLocation === "html_template") {
95
+ return {
96
+ kind: "parameter",
97
+ rawTemplate,
98
+ path,
99
+ fieldName: path[0],
100
+ };
101
+ }
102
+ // Fallback: treat as parameter
103
+ if (path.length === 1) {
104
+ return {
105
+ kind: "parameter",
106
+ rawTemplate,
107
+ path,
108
+ fieldName: path[0],
109
+ };
110
+ }
111
+ return null;
112
+ }
113
+ // ── API Call Detection ────────────────────────────────────────────────
114
+ function detectApiCalls(code, lines) {
115
+ const calls = [];
116
+ for (let i = 0; i < lines.length; i++) {
117
+ const line = lines[i];
118
+ // fetch()
119
+ const fetchMatch = line.match(/\bfetch\s*\(/);
120
+ if (fetchMatch) {
121
+ const urlMatch = line.match(/fetch\s*\(\s*["'`]([^"'`]*)["'`]/);
122
+ const methodMatch = code.match(/method\s*:\s*["'](\w+)["']/);
123
+ calls.push({
124
+ method: methodMatch ? methodMatch[1] : "GET",
125
+ url: urlMatch ? urlMatch[1] : undefined,
126
+ line: i + 1,
127
+ });
128
+ }
129
+ // axios
130
+ const axiosMatch = line.match(/\baxios\s*\.\s*(get|post|put|delete|patch)\s*\(/i);
131
+ if (axiosMatch) {
132
+ const urlMatch = line.match(/axios\.\w+\s*\(\s*["'`]([^"'`]*)["'`]/);
133
+ calls.push({
134
+ method: axiosMatch[1].toUpperCase(),
135
+ url: urlMatch ? urlMatch[1] : undefined,
136
+ line: i + 1,
137
+ });
138
+ }
139
+ // XMLHttpRequest
140
+ if (line.includes("XMLHttpRequest")) {
141
+ calls.push({
142
+ method: "GET",
143
+ line: i + 1,
144
+ });
145
+ }
146
+ // http.request
147
+ const httpMatch = line.match(/\bhttp[s]?\s*\.\s*request\s*\(/);
148
+ if (httpMatch) {
149
+ calls.push({
150
+ method: "GET",
151
+ line: i + 1,
152
+ });
153
+ }
154
+ }
155
+ return calls;
156
+ }
157
+ // ── Flow Logic Detection ──────────────────────────────────────────────
158
+ function detectFlowLogic(code) {
159
+ return {
160
+ hasConditionals: /\b(if|else|switch|case)\s*[\s(]/.test(code),
161
+ hasLoops: /\b(for|while|do)\s*[\s(]/.test(code),
162
+ hasJsonParse: /JSON\.parse\s*\(/.test(code),
163
+ hasErrorHandling: /\b(try|catch)\s*[\s{(]/.test(code),
164
+ hasAsyncAwait: /\b(async|await)\b/.test(code),
165
+ };
166
+ }
167
+ // ── Unsupported Pattern Warnings ──────────────────────────────────────
168
+ function detectUnsupportedPatterns(code) {
169
+ const warnings = [];
170
+ if (/\brequire\s*\(/.test(code)) {
171
+ warnings.push("require() detected — DaVinci does not support external Node.js modules. Only Buffer is available as a built-in library.");
172
+ }
173
+ if (/\bfs\b/.test(code) && (/readFileSync|writeFileSync|readFile|writeFile/.test(code) || /require\s*\(\s*["']fs["']\s*\)/.test(code))) {
174
+ warnings.push("File System (fs) usage detected — DaVinci's fs library is a non-functional mockup. File operations will not work.");
175
+ }
176
+ return warnings;
177
+ }
178
+ // ── Plugin Type Recommendation ────────────────────────────────────────
179
+ function recommendPluginType(apiCalls, _flowLogic, code) {
180
+ const scores = {};
181
+ // HTTP calls suggest idp-adapter
182
+ if (apiCalls.length > 0) {
183
+ scores["idp-adapter"] = (scores["idp-adapter"] ?? 0) + 0.4;
184
+ }
185
+ // JWT/token patterns
186
+ if (/\b(jwt|token|sign|verify|encode|decode)\b/i.test(code)) {
187
+ scores["token-generator"] = (scores["token-generator"] ?? 0) + 0.5;
188
+ }
189
+ // Password/credential patterns
190
+ if (/\b(password|credential|authenticate|login)\b/i.test(code)) {
191
+ scores["password-credential-validator"] = (scores["password-credential-validator"] ?? 0) + 0.5;
192
+ }
193
+ // Storage patterns
194
+ if (/\b(save|store|persist|database|db)\b/i.test(code)) {
195
+ scores["access-grant-manager"] = (scores["access-grant-manager"] ?? 0) + 0.3;
196
+ }
197
+ // Notification patterns
198
+ if (/\b(notify|notification|webhook|email|send)\b/i.test(code)) {
199
+ scores["notification-publisher"] = (scores["notification-publisher"] ?? 0) + 0.4;
200
+ }
201
+ // Secret/vault patterns
202
+ if (/\b(secret|vault|getenv|environment)\b/i.test(code)) {
203
+ scores["secret-manager"] = (scores["secret-manager"] ?? 0) + 0.4;
204
+ }
205
+ // Find the best match
206
+ let bestType = "idp-adapter";
207
+ let bestScore = 0;
208
+ for (const [type, score] of Object.entries(scores)) {
209
+ if (score > bestScore) {
210
+ bestType = type;
211
+ bestScore = score;
212
+ }
213
+ }
214
+ // Default confidence
215
+ const confidence = bestScore > 0 ? Math.min(bestScore + 0.3, 1) : 0.3;
216
+ return { pluginType: bestType, confidence };
217
+ }
218
+ //# sourceMappingURL=davinci-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-parser.js","sourceRoot":"","sources":["../../../src/core/davinci/davinci-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { DaVinciJobStatus } from "./davinci-types.js";
3
+ export interface DaVinciJob {
4
+ id: string;
5
+ sourceCode: string;
6
+ analysis?: string;
7
+ generatedJava?: string;
8
+ generatedPom?: string;
9
+ pluginType: string;
10
+ pluginName: string;
11
+ packageName: string;
12
+ className: string;
13
+ targetSdk: string;
14
+ status: DaVinciJobStatus;
15
+ jarPath?: string;
16
+ buildOutput?: string;
17
+ confidence?: number;
18
+ warnings?: string[];
19
+ createdAt: string;
20
+ updatedAt: string;
21
+ }
22
+ export interface CreateJobInput {
23
+ sourceCode: string;
24
+ pluginType: string;
25
+ pluginName: string;
26
+ packageName: string;
27
+ className: string;
28
+ targetSdk: string;
29
+ }
30
+ export declare class DaVinciStore {
31
+ private db;
32
+ constructor(db: Database.Database);
33
+ private ensureTable;
34
+ createJob(input: CreateJobInput): DaVinciJob;
35
+ getJob(id: string): DaVinciJob | undefined;
36
+ listJobs(): DaVinciJob[];
37
+ updateJob(id: string, updates: Partial<{
38
+ analysis: string;
39
+ generatedJava: string;
40
+ generatedPom: string;
41
+ status: DaVinciJobStatus;
42
+ jarPath: string;
43
+ buildOutput: string;
44
+ confidence: number;
45
+ warnings: string[];
46
+ }>): DaVinciJob | undefined;
47
+ deleteJob(id: string): boolean;
48
+ }
49
+ //# sourceMappingURL=davinci-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-store.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/davinci-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA0B3D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAKjC,OAAO,CAAC,WAAW;IAwBnB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU;IAe5C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK1C,QAAQ,IAAI,UAAU,EAAE;IAKxB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,gBAAgB,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,GAAG,UAAU,GAAG,SAAS;IAoB3B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAI/B"}
@@ -0,0 +1,121 @@
1
+ import { generateId } from "../utils/id.js";
2
+ import { logger } from "../utils/logger.js";
3
+ // ── Conversion ────────────────────────────────────────────────────────
4
+ function rowToJob(row) {
5
+ return {
6
+ id: row.id,
7
+ sourceCode: row.source_code,
8
+ ...(row.analysis != null && { analysis: row.analysis }),
9
+ ...(row.generated_java != null && { generatedJava: row.generated_java }),
10
+ ...(row.generated_pom != null && { generatedPom: row.generated_pom }),
11
+ pluginType: row.plugin_type,
12
+ pluginName: row.plugin_name,
13
+ packageName: row.package_name,
14
+ className: row.class_name,
15
+ targetSdk: row.target_sdk,
16
+ status: row.status,
17
+ ...(row.jar_path != null && { jarPath: row.jar_path }),
18
+ ...(row.build_output != null && { buildOutput: row.build_output }),
19
+ ...(row.confidence != null && { confidence: row.confidence }),
20
+ ...(row.warnings != null && { warnings: JSON.parse(row.warnings) }),
21
+ createdAt: row.created_at,
22
+ updatedAt: row.updated_at,
23
+ };
24
+ }
25
+ // ── Store Class ───────────────────────────────────────────────────────
26
+ export class DaVinciStore {
27
+ db;
28
+ constructor(db) {
29
+ this.db = db;
30
+ this.ensureTable();
31
+ }
32
+ ensureTable() {
33
+ this.db.exec(`
34
+ CREATE TABLE IF NOT EXISTS davinci_jobs (
35
+ id TEXT PRIMARY KEY,
36
+ source_code TEXT NOT NULL,
37
+ analysis TEXT,
38
+ generated_java TEXT,
39
+ generated_pom TEXT,
40
+ plugin_type TEXT NOT NULL,
41
+ plugin_name TEXT NOT NULL,
42
+ package_name TEXT NOT NULL,
43
+ class_name TEXT NOT NULL,
44
+ target_sdk TEXT NOT NULL DEFAULT 'pingfederate',
45
+ status TEXT NOT NULL DEFAULT 'analyzing',
46
+ jar_path TEXT,
47
+ build_output TEXT,
48
+ confidence REAL,
49
+ warnings TEXT,
50
+ created_at TEXT NOT NULL,
51
+ updated_at TEXT NOT NULL
52
+ )
53
+ `);
54
+ }
55
+ createJob(input) {
56
+ const id = generateId("dvjob");
57
+ const now = new Date().toISOString();
58
+ this.db.prepare(`
59
+ INSERT INTO davinci_jobs (id, source_code, plugin_type, plugin_name, package_name, class_name, target_sdk, status, created_at, updated_at)
60
+ VALUES (?, ?, ?, ?, ?, ?, ?, 'analyzing', ?, ?)
61
+ `).run(id, input.sourceCode, input.pluginType, input.pluginName, input.packageName, input.className, input.targetSdk, now, now);
62
+ logger.info("davinci-store: job created", { id, pluginName: input.pluginName });
63
+ const job = this.getJob(id);
64
+ if (!job)
65
+ throw new Error(`Failed to retrieve created job ${id}`);
66
+ return job;
67
+ }
68
+ getJob(id) {
69
+ const row = this.db.prepare("SELECT * FROM davinci_jobs WHERE id = ?").get(id);
70
+ return row ? rowToJob(row) : undefined;
71
+ }
72
+ listJobs() {
73
+ const rows = this.db.prepare("SELECT * FROM davinci_jobs ORDER BY created_at DESC").all();
74
+ return rows.map(rowToJob);
75
+ }
76
+ updateJob(id, updates) {
77
+ const now = new Date().toISOString();
78
+ const sets = ["updated_at = ?"];
79
+ const values = [now];
80
+ if (updates.analysis !== undefined) {
81
+ sets.push("analysis = ?");
82
+ values.push(updates.analysis);
83
+ }
84
+ if (updates.generatedJava !== undefined) {
85
+ sets.push("generated_java = ?");
86
+ values.push(updates.generatedJava);
87
+ }
88
+ if (updates.generatedPom !== undefined) {
89
+ sets.push("generated_pom = ?");
90
+ values.push(updates.generatedPom);
91
+ }
92
+ if (updates.status !== undefined) {
93
+ sets.push("status = ?");
94
+ values.push(updates.status);
95
+ }
96
+ if (updates.jarPath !== undefined) {
97
+ sets.push("jar_path = ?");
98
+ values.push(updates.jarPath);
99
+ }
100
+ if (updates.buildOutput !== undefined) {
101
+ sets.push("build_output = ?");
102
+ values.push(updates.buildOutput);
103
+ }
104
+ if (updates.confidence !== undefined) {
105
+ sets.push("confidence = ?");
106
+ values.push(updates.confidence);
107
+ }
108
+ if (updates.warnings !== undefined) {
109
+ sets.push("warnings = ?");
110
+ values.push(JSON.stringify(updates.warnings));
111
+ }
112
+ values.push(id);
113
+ this.db.prepare(`UPDATE davinci_jobs SET ${sets.join(", ")} WHERE id = ?`).run(...values);
114
+ return this.getJob(id);
115
+ }
116
+ deleteJob(id) {
117
+ const result = this.db.prepare("DELETE FROM davinci_jobs WHERE id = ?").run(id);
118
+ return result.changes > 0;
119
+ }
120
+ }
121
+ //# sourceMappingURL=davinci-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-store.js","sourceRoot":"","sources":["../../../src/core/davinci/davinci-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAwD5C,yEAAyE;AAEzE,SAAS,QAAQ,CAAC,GAAkB;IAClC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvD,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;QACxE,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QACrE,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,MAAM,EAAE,GAAG,CAAC,MAA0B;QACtC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAa,EAAE,CAAC;QAC/E,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,yEAAyE;AAEzE,MAAM,OAAO,YAAY;IACf,EAAE,CAAoB;IAE9B,YAAY,EAAqB;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;KAoBZ,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEhI,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,EAAU;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA8B,CAAC;QAC5G,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,EAAqB,CAAC;QAC7G,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OASpB;QACA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAa,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAc,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACjG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QACjH,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAC9G,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC/F,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAC3G,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QACvG,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,CAAC;QAEjH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE1F,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,241 @@
1
+ import { z } from "zod/v4";
2
+ export declare const DaVinciVariableKindSchema: z.ZodEnum<{
3
+ global: "global";
4
+ local: "local";
5
+ parameter: "parameter";
6
+ flow: "flow";
7
+ }>;
8
+ export type DaVinciVariableKind = z.infer<typeof DaVinciVariableKindSchema>;
9
+ export declare const DaVinciVariableSchema: z.ZodObject<{
10
+ kind: z.ZodEnum<{
11
+ global: "global";
12
+ local: "local";
13
+ parameter: "parameter";
14
+ flow: "flow";
15
+ }>;
16
+ rawTemplate: z.ZodString;
17
+ path: z.ZodArray<z.ZodString>;
18
+ fieldName: z.ZodString;
19
+ nodeId: z.ZodOptional<z.ZodString>;
20
+ capability: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ export type DaVinciVariable = z.infer<typeof DaVinciVariableSchema>;
23
+ export declare const DaVinciCodeLocationSchema: z.ZodEnum<{
24
+ custom_function: "custom_function";
25
+ code_snippet: "code_snippet";
26
+ html_template: "html_template";
27
+ }>;
28
+ export type DaVinciCodeLocation = z.infer<typeof DaVinciCodeLocationSchema>;
29
+ export declare const PfPluginTypeSchema: z.ZodEnum<{
30
+ "idp-adapter": "idp-adapter";
31
+ "sp-adapter": "sp-adapter";
32
+ "token-generator": "token-generator";
33
+ "token-processor": "token-processor";
34
+ "access-grant-manager": "access-grant-manager";
35
+ "notification-publisher": "notification-publisher";
36
+ "secret-manager": "secret-manager";
37
+ "password-credential-validator": "password-credential-validator";
38
+ "custom-data-store": "custom-data-store";
39
+ "identity-store-provisioner": "identity-store-provisioner";
40
+ }>;
41
+ export type PfPluginType = z.infer<typeof PfPluginTypeSchema>;
42
+ export declare const PF_INF_DIRECTORY_MAP: Record<PfPluginType, string>;
43
+ export declare const DaVinciApiCallSchema: z.ZodObject<{
44
+ method: z.ZodString;
45
+ url: z.ZodOptional<z.ZodString>;
46
+ line: z.ZodNumber;
47
+ }, z.core.$strip>;
48
+ export type DaVinciApiCall = z.infer<typeof DaVinciApiCallSchema>;
49
+ export declare const DaVinciFlowLogicSchema: z.ZodObject<{
50
+ hasConditionals: z.ZodBoolean;
51
+ hasLoops: z.ZodBoolean;
52
+ hasJsonParse: z.ZodBoolean;
53
+ hasErrorHandling: z.ZodBoolean;
54
+ hasAsyncAwait: z.ZodBoolean;
55
+ }, z.core.$strip>;
56
+ export type DaVinciFlowLogic = z.infer<typeof DaVinciFlowLogicSchema>;
57
+ export declare const DaVinciAnalysisSchema: z.ZodObject<{
58
+ variables: z.ZodArray<z.ZodObject<{
59
+ kind: z.ZodEnum<{
60
+ global: "global";
61
+ local: "local";
62
+ parameter: "parameter";
63
+ flow: "flow";
64
+ }>;
65
+ rawTemplate: z.ZodString;
66
+ path: z.ZodArray<z.ZodString>;
67
+ fieldName: z.ZodString;
68
+ nodeId: z.ZodOptional<z.ZodString>;
69
+ capability: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strip>>;
71
+ codeLocation: z.ZodEnum<{
72
+ custom_function: "custom_function";
73
+ code_snippet: "code_snippet";
74
+ html_template: "html_template";
75
+ }>;
76
+ apiCalls: z.ZodArray<z.ZodObject<{
77
+ method: z.ZodString;
78
+ url: z.ZodOptional<z.ZodString>;
79
+ line: z.ZodNumber;
80
+ }, z.core.$strip>>;
81
+ flowLogic: z.ZodObject<{
82
+ hasConditionals: z.ZodBoolean;
83
+ hasLoops: z.ZodBoolean;
84
+ hasJsonParse: z.ZodBoolean;
85
+ hasErrorHandling: z.ZodBoolean;
86
+ hasAsyncAwait: z.ZodBoolean;
87
+ }, z.core.$strip>;
88
+ recommendedPluginType: z.ZodEnum<{
89
+ "idp-adapter": "idp-adapter";
90
+ "sp-adapter": "sp-adapter";
91
+ "token-generator": "token-generator";
92
+ "token-processor": "token-processor";
93
+ "access-grant-manager": "access-grant-manager";
94
+ "notification-publisher": "notification-publisher";
95
+ "secret-manager": "secret-manager";
96
+ "password-credential-validator": "password-credential-validator";
97
+ "custom-data-store": "custom-data-store";
98
+ "identity-store-provisioner": "identity-store-provisioner";
99
+ }>;
100
+ pluginTypeConfidence: z.ZodNumber;
101
+ warnings: z.ZodArray<z.ZodString>;
102
+ sourceLineCount: z.ZodNumber;
103
+ }, z.core.$strip>;
104
+ export type DaVinciAnalysis = z.infer<typeof DaVinciAnalysisSchema>;
105
+ export declare const DaVinciJobStatusSchema: z.ZodEnum<{
106
+ done: "done";
107
+ failed: "failed";
108
+ analyzing: "analyzing";
109
+ converting: "converting";
110
+ building: "building";
111
+ }>;
112
+ export type DaVinciJobStatus = z.infer<typeof DaVinciJobStatusSchema>;
113
+ export declare const DaVinciConversionJobSchema: z.ZodObject<{
114
+ id: z.ZodString;
115
+ sourceCode: z.ZodString;
116
+ analysis: z.ZodOptional<z.ZodObject<{
117
+ variables: z.ZodArray<z.ZodObject<{
118
+ kind: z.ZodEnum<{
119
+ global: "global";
120
+ local: "local";
121
+ parameter: "parameter";
122
+ flow: "flow";
123
+ }>;
124
+ rawTemplate: z.ZodString;
125
+ path: z.ZodArray<z.ZodString>;
126
+ fieldName: z.ZodString;
127
+ nodeId: z.ZodOptional<z.ZodString>;
128
+ capability: z.ZodOptional<z.ZodString>;
129
+ }, z.core.$strip>>;
130
+ codeLocation: z.ZodEnum<{
131
+ custom_function: "custom_function";
132
+ code_snippet: "code_snippet";
133
+ html_template: "html_template";
134
+ }>;
135
+ apiCalls: z.ZodArray<z.ZodObject<{
136
+ method: z.ZodString;
137
+ url: z.ZodOptional<z.ZodString>;
138
+ line: z.ZodNumber;
139
+ }, z.core.$strip>>;
140
+ flowLogic: z.ZodObject<{
141
+ hasConditionals: z.ZodBoolean;
142
+ hasLoops: z.ZodBoolean;
143
+ hasJsonParse: z.ZodBoolean;
144
+ hasErrorHandling: z.ZodBoolean;
145
+ hasAsyncAwait: z.ZodBoolean;
146
+ }, z.core.$strip>;
147
+ recommendedPluginType: z.ZodEnum<{
148
+ "idp-adapter": "idp-adapter";
149
+ "sp-adapter": "sp-adapter";
150
+ "token-generator": "token-generator";
151
+ "token-processor": "token-processor";
152
+ "access-grant-manager": "access-grant-manager";
153
+ "notification-publisher": "notification-publisher";
154
+ "secret-manager": "secret-manager";
155
+ "password-credential-validator": "password-credential-validator";
156
+ "custom-data-store": "custom-data-store";
157
+ "identity-store-provisioner": "identity-store-provisioner";
158
+ }>;
159
+ pluginTypeConfidence: z.ZodNumber;
160
+ warnings: z.ZodArray<z.ZodString>;
161
+ sourceLineCount: z.ZodNumber;
162
+ }, z.core.$strip>>;
163
+ generatedJava: z.ZodOptional<z.ZodString>;
164
+ generatedPom: z.ZodOptional<z.ZodString>;
165
+ pluginType: z.ZodEnum<{
166
+ "idp-adapter": "idp-adapter";
167
+ "sp-adapter": "sp-adapter";
168
+ "token-generator": "token-generator";
169
+ "token-processor": "token-processor";
170
+ "access-grant-manager": "access-grant-manager";
171
+ "notification-publisher": "notification-publisher";
172
+ "secret-manager": "secret-manager";
173
+ "password-credential-validator": "password-credential-validator";
174
+ "custom-data-store": "custom-data-store";
175
+ "identity-store-provisioner": "identity-store-provisioner";
176
+ }>;
177
+ pluginName: z.ZodString;
178
+ packageName: z.ZodString;
179
+ className: z.ZodString;
180
+ status: z.ZodEnum<{
181
+ done: "done";
182
+ failed: "failed";
183
+ analyzing: "analyzing";
184
+ converting: "converting";
185
+ building: "building";
186
+ }>;
187
+ jarPath: z.ZodOptional<z.ZodString>;
188
+ buildOutput: z.ZodOptional<z.ZodString>;
189
+ createdAt: z.ZodString;
190
+ updatedAt: z.ZodString;
191
+ }, z.core.$strip>;
192
+ export type DaVinciConversionJob = z.infer<typeof DaVinciConversionJobSchema>;
193
+ export declare const ResolvedVariableSchema: z.ZodObject<{
194
+ original: z.ZodObject<{
195
+ kind: z.ZodEnum<{
196
+ global: "global";
197
+ local: "local";
198
+ parameter: "parameter";
199
+ flow: "flow";
200
+ }>;
201
+ rawTemplate: z.ZodString;
202
+ path: z.ZodArray<z.ZodString>;
203
+ fieldName: z.ZodString;
204
+ nodeId: z.ZodOptional<z.ZodString>;
205
+ capability: z.ZodOptional<z.ZodString>;
206
+ }, z.core.$strip>;
207
+ javaExpression: z.ZodString;
208
+ guiFieldCode: z.ZodOptional<z.ZodString>;
209
+ configureCode: z.ZodOptional<z.ZodString>;
210
+ }, z.core.$strip>;
211
+ export type ResolvedVariable = z.infer<typeof ResolvedVariableSchema>;
212
+ export declare const PluginGenerationConfigSchema: z.ZodObject<{
213
+ pluginName: z.ZodString;
214
+ packageName: z.ZodString;
215
+ className: z.ZodString;
216
+ pluginType: z.ZodEnum<{
217
+ "idp-adapter": "idp-adapter";
218
+ "sp-adapter": "sp-adapter";
219
+ "token-generator": "token-generator";
220
+ "token-processor": "token-processor";
221
+ "access-grant-manager": "access-grant-manager";
222
+ "notification-publisher": "notification-publisher";
223
+ "secret-manager": "secret-manager";
224
+ "password-credential-validator": "password-credential-validator";
225
+ "custom-data-store": "custom-data-store";
226
+ "identity-store-provisioner": "identity-store-provisioner";
227
+ }>;
228
+ attributeContract: z.ZodArray<z.ZodString>;
229
+ sdkPath: z.ZodOptional<z.ZodString>;
230
+ javaVersion: z.ZodDefault<z.ZodString>;
231
+ }, z.core.$strip>;
232
+ export type PluginGenerationConfig = z.infer<typeof PluginGenerationConfigSchema>;
233
+ export declare const BuildResultSchema: z.ZodObject<{
234
+ success: z.ZodBoolean;
235
+ jarPath: z.ZodOptional<z.ZodString>;
236
+ stdout: z.ZodString;
237
+ stderr: z.ZodString;
238
+ durationMs: z.ZodNumber;
239
+ }, z.core.$strip>;
240
+ export type BuildResult = z.infer<typeof BuildResultSchema>;
241
+ //# sourceMappingURL=davinci-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-types.d.ts","sourceRoot":"","sources":["../../../src/core/davinci/davinci-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAOhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAI5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;EAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAW7D,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAerC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;iBAQvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAIlF,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}