@memberjunction/db-auto-doc 2.117.0 → 2.119.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.
- package/README.md +803 -165
- package/bin/run.js +7 -0
- package/dist/api/DBAutoDocAPI.d.ts +252 -0
- package/dist/api/DBAutoDocAPI.d.ts.map +1 -0
- package/dist/api/DBAutoDocAPI.js +530 -0
- package/dist/api/DBAutoDocAPI.js.map +1 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +10 -0
- package/dist/api/index.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -4
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +58 -71
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +14 -4
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +156 -61
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/generate-queries.d.ts +17 -0
- package/dist/commands/generate-queries.d.ts.map +1 -0
- package/dist/commands/generate-queries.js +182 -0
- package/dist/commands/generate-queries.js.map +1 -0
- package/dist/commands/init.d.ts +3 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +206 -144
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reset.d.ts +4 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +33 -19
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts +10 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +66 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/core/AnalysisEngine.d.ts +108 -0
- package/dist/core/AnalysisEngine.d.ts.map +1 -0
- package/dist/core/AnalysisEngine.js +716 -0
- package/dist/core/AnalysisEngine.js.map +1 -0
- package/dist/core/AnalysisOrchestrator.d.ts +41 -0
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -0
- package/dist/core/AnalysisOrchestrator.js +377 -0
- package/dist/core/AnalysisOrchestrator.js.map +1 -0
- package/dist/core/BackpropagationEngine.d.ts +32 -0
- package/dist/core/BackpropagationEngine.d.ts.map +1 -0
- package/dist/core/BackpropagationEngine.js +121 -0
- package/dist/core/BackpropagationEngine.js.map +1 -0
- package/dist/core/ConvergenceDetector.d.ts +27 -0
- package/dist/core/ConvergenceDetector.d.ts.map +1 -0
- package/dist/core/ConvergenceDetector.js +92 -0
- package/dist/core/ConvergenceDetector.js.map +1 -0
- package/dist/core/GuardrailsManager.d.ts +78 -0
- package/dist/core/GuardrailsManager.d.ts.map +1 -0
- package/dist/core/GuardrailsManager.js +367 -0
- package/dist/core/GuardrailsManager.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/database/Database.d.ts +56 -0
- package/dist/database/Database.d.ts.map +1 -0
- package/dist/database/Database.js +172 -0
- package/dist/database/Database.js.map +1 -0
- package/dist/database/TopologicalSorter.d.ts +25 -0
- package/dist/database/TopologicalSorter.d.ts.map +1 -0
- package/dist/database/TopologicalSorter.js +150 -0
- package/dist/database/TopologicalSorter.js.map +1 -0
- package/dist/database/index.d.ts +6 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +14 -0
- package/dist/database/index.js.map +1 -0
- package/dist/discovery/ColumnStatsCache.d.ts +91 -0
- package/dist/discovery/ColumnStatsCache.d.ts.map +1 -0
- package/dist/discovery/ColumnStatsCache.js +231 -0
- package/dist/discovery/ColumnStatsCache.js.map +1 -0
- package/dist/discovery/DiscoveryEngine.d.ts +100 -0
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -0
- package/dist/discovery/DiscoveryEngine.js +726 -0
- package/dist/discovery/DiscoveryEngine.js.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts +57 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.d.ts.map +1 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js +186 -0
- package/dist/discovery/DiscoveryTriggerAnalyzer.js.map +1 -0
- package/dist/discovery/FKDetector.d.ts +47 -0
- package/dist/discovery/FKDetector.d.ts.map +1 -0
- package/dist/discovery/FKDetector.js +317 -0
- package/dist/discovery/FKDetector.js.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts +64 -0
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -0
- package/dist/discovery/LLMDiscoveryValidator.js +431 -0
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -0
- package/dist/discovery/LLMSanityChecker.d.ts +38 -0
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -0
- package/dist/discovery/LLMSanityChecker.js +156 -0
- package/dist/discovery/LLMSanityChecker.js.map +1 -0
- package/dist/discovery/PKDetector.d.ts +62 -0
- package/dist/discovery/PKDetector.d.ts.map +1 -0
- package/dist/discovery/PKDetector.js +436 -0
- package/dist/discovery/PKDetector.js.map +1 -0
- package/dist/discovery/index.d.ts +9 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +25 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts +132 -0
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -0
- package/dist/drivers/BaseAutoDocDriver.js +121 -0
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -0
- package/dist/drivers/MySQLDriver.d.ts +61 -0
- package/dist/drivers/MySQLDriver.d.ts.map +1 -0
- package/dist/drivers/MySQLDriver.js +668 -0
- package/dist/drivers/MySQLDriver.js.map +1 -0
- package/dist/drivers/PostgreSQLDriver.d.ts +65 -0
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -0
- package/dist/drivers/PostgreSQLDriver.js +704 -0
- package/dist/drivers/PostgreSQLDriver.js.map +1 -0
- package/dist/drivers/SQLServerDriver.d.ts +61 -0
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -0
- package/dist/drivers/SQLServerDriver.js +667 -0
- package/dist/drivers/SQLServerDriver.js.map +1 -0
- package/dist/generators/CSVGenerator.d.ts +35 -0
- package/dist/generators/CSVGenerator.d.ts.map +1 -0
- package/dist/generators/CSVGenerator.js +154 -0
- package/dist/generators/CSVGenerator.js.map +1 -0
- package/dist/generators/HTMLGenerator.d.ts +29 -0
- package/dist/generators/HTMLGenerator.d.ts.map +1 -0
- package/dist/generators/HTMLGenerator.js +710 -0
- package/dist/generators/HTMLGenerator.js.map +1 -0
- package/dist/generators/MarkdownGenerator.d.ts +27 -0
- package/dist/generators/MarkdownGenerator.d.ts.map +1 -0
- package/dist/generators/MarkdownGenerator.js +361 -0
- package/dist/generators/MarkdownGenerator.js.map +1 -0
- package/dist/generators/MermaidGenerator.d.ts +35 -0
- package/dist/generators/MermaidGenerator.d.ts.map +1 -0
- package/dist/generators/MermaidGenerator.js +321 -0
- package/dist/generators/MermaidGenerator.js.map +1 -0
- package/dist/generators/ReportGenerator.d.ts +22 -0
- package/dist/generators/ReportGenerator.d.ts.map +1 -0
- package/dist/generators/ReportGenerator.js +176 -0
- package/dist/generators/ReportGenerator.js.map +1 -0
- package/dist/generators/SQLGenerator.d.ts +31 -0
- package/dist/generators/SQLGenerator.d.ts.map +1 -0
- package/dist/generators/SQLGenerator.js +168 -0
- package/dist/generators/SQLGenerator.js.map +1 -0
- package/dist/generators/SampleQueryGenerator.d.ts +64 -0
- package/dist/generators/SampleQueryGenerator.d.ts.map +1 -0
- package/dist/generators/SampleQueryGenerator.js +500 -0
- package/dist/generators/SampleQueryGenerator.js.map +1 -0
- package/dist/generators/index.d.ts +10 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +19 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +11 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -20
- package/dist/index.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts +65 -0
- package/dist/prompts/PromptEngine.d.ts.map +1 -0
- package/dist/prompts/PromptEngine.js +305 -0
- package/dist/prompts/PromptEngine.js.map +1 -0
- package/dist/prompts/PromptFileLoader.d.ts +21 -0
- package/dist/prompts/PromptFileLoader.d.ts.map +1 -0
- package/dist/prompts/PromptFileLoader.js +74 -0
- package/dist/prompts/PromptFileLoader.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +11 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/state/IterationTracker.d.ts +64 -0
- package/dist/state/IterationTracker.d.ts.map +1 -0
- package/dist/state/IterationTracker.js +136 -0
- package/dist/state/IterationTracker.js.map +1 -0
- package/dist/state/StateManager.d.ts +79 -0
- package/dist/state/StateManager.d.ts.map +1 -0
- package/dist/state/StateManager.js +348 -0
- package/dist/state/StateManager.js.map +1 -0
- package/dist/state/StateValidator.d.ts +24 -0
- package/dist/state/StateValidator.d.ts.map +1 -0
- package/dist/state/StateValidator.js +147 -0
- package/dist/state/StateValidator.js.map +1 -0
- package/dist/state/index.d.ts +7 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +13 -0
- package/dist/state/index.js.map +1 -0
- package/dist/types/analysis.d.ts +76 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +6 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +143 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +7 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/discovery.d.ts +277 -0
- package/dist/types/discovery.d.ts.map +1 -0
- package/dist/types/discovery.js +7 -0
- package/dist/types/discovery.js.map +1 -0
- package/dist/types/driver.d.ts +148 -0
- package/dist/types/driver.d.ts.map +1 -0
- package/dist/types/driver.js +7 -0
- package/dist/types/driver.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/prompts.d.ts +158 -0
- package/dist/types/prompts.d.ts.map +1 -0
- package/dist/types/prompts.js +6 -0
- package/dist/types/prompts.js.map +1 -0
- package/dist/types/sample-queries.d.ts +172 -0
- package/dist/types/sample-queries.d.ts.map +1 -0
- package/dist/types/sample-queries.js +7 -0
- package/dist/types/sample-queries.js.map +1 -0
- package/dist/types/state.d.ts +291 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +7 -0
- package/dist/types/state.js.map +1 -0
- package/dist/utils/config-loader.d.ts +29 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +163 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +28 -3
- package/dist/ai/simple-ai-client.d.ts +0 -70
- package/dist/ai/simple-ai-client.d.ts.map +0 -1
- package/dist/ai/simple-ai-client.js +0 -181
- package/dist/ai/simple-ai-client.js.map +0 -1
- package/dist/analyzers/analyzer.d.ts +0 -23
- package/dist/analyzers/analyzer.d.ts.map +0 -1
- package/dist/analyzers/analyzer.js +0 -127
- package/dist/analyzers/analyzer.js.map +0 -1
- package/dist/cli-old/cli.d.ts +0 -3
- package/dist/cli-old/cli.d.ts.map +0 -1
- package/dist/cli-old/cli.js +0 -388
- package/dist/cli-old/cli.js.map +0 -1
- package/dist/commands/review.d.ts +0 -11
- package/dist/commands/review.d.ts.map +0 -1
- package/dist/commands/review.js +0 -82
- package/dist/commands/review.js.map +0 -1
- package/dist/database/connection.d.ts +0 -40
- package/dist/database/connection.d.ts.map +0 -1
- package/dist/database/connection.js +0 -136
- package/dist/database/connection.js.map +0 -1
- package/dist/database/introspection.d.ts +0 -59
- package/dist/database/introspection.d.ts.map +0 -1
- package/dist/database/introspection.js +0 -124
- package/dist/database/introspection.js.map +0 -1
- package/dist/generators/markdown-generator.d.ts +0 -8
- package/dist/generators/markdown-generator.d.ts.map +0 -1
- package/dist/generators/markdown-generator.js +0 -106
- package/dist/generators/markdown-generator.js.map +0 -1
- package/dist/generators/sql-generator.d.ts +0 -20
- package/dist/generators/sql-generator.d.ts.map +0 -1
- package/dist/generators/sql-generator.js +0 -83
- package/dist/generators/sql-generator.js.map +0 -1
- package/dist/state/state-manager.d.ts +0 -95
- package/dist/state/state-manager.d.ts.map +0 -1
- package/dist/state/state-manager.js +0 -236
- package/dist/state/state-manager.js.map +0 -1
- package/dist/types/state-file.d.ts +0 -124
- package/dist/types/state-file.d.ts.map +0 -1
- package/dist/types/state-file.js +0 -79
- package/dist/types/state-file.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* AI-powered documentation generator for SQL Server databases.
|
|
6
|
-
* Works standalone - no MemberJunction runtime required.
|
|
7
|
-
*
|
|
8
|
-
* Use via CLI:
|
|
9
|
-
* db-auto-doc init
|
|
10
|
-
* db-auto-doc analyze --interactive
|
|
11
|
-
* db-auto-doc review
|
|
12
|
-
* db-auto-doc export --format=sql
|
|
13
|
-
*
|
|
14
|
-
* Or programmatically:
|
|
3
|
+
* DBAutoDoc - AI-powered SQL Server database documentation generator
|
|
4
|
+
* Main exports for programmatic use
|
|
15
5
|
*/
|
|
16
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
7
|
if (k2 === undefined) k2 = k;
|
|
@@ -28,12 +18,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
28
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
29
19
|
};
|
|
30
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
|
|
32
|
-
__exportStar(require("./
|
|
33
|
-
|
|
34
|
-
__exportStar(require("./
|
|
35
|
-
|
|
36
|
-
__exportStar(require("./
|
|
37
|
-
|
|
38
|
-
__exportStar(require("./
|
|
21
|
+
// Programmatic API (primary entry point for library usage)
|
|
22
|
+
__exportStar(require("./api/index.js"), exports);
|
|
23
|
+
// Core types
|
|
24
|
+
__exportStar(require("./types/index.js"), exports);
|
|
25
|
+
// Database layer
|
|
26
|
+
__exportStar(require("./database/index.js"), exports);
|
|
27
|
+
// Prompts
|
|
28
|
+
__exportStar(require("./prompts/index.js"), exports);
|
|
29
|
+
// State management
|
|
30
|
+
__exportStar(require("./state/index.js"), exports);
|
|
31
|
+
// Analysis engine
|
|
32
|
+
__exportStar(require("./core/index.js"), exports);
|
|
33
|
+
__exportStar(require("./core/AnalysisOrchestrator.js"), exports);
|
|
34
|
+
// Generators
|
|
35
|
+
__exportStar(require("./generators/index.js"), exports);
|
|
36
|
+
// Utilities
|
|
37
|
+
__exportStar(require("./utils/index.js"), exports);
|
|
39
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2DAA2D;AAC3D,iDAA+B;AAE/B,aAAa;AACb,mDAAiC;AAEjC,iBAAiB;AACjB,sDAAoC;AAEpC,UAAU;AACV,qDAAmC;AAEnC,mBAAmB;AACnB,mDAAiC;AAEjC,kBAAkB;AAClB,kDAAgC;AAChC,iEAA+C;AAE/C,aAAa;AACb,wDAAsC;AAEtC,YAAY;AACZ,mDAAiC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt execution engine combining Nunjucks templating with AI/Core
|
|
3
|
+
*/
|
|
4
|
+
import { AIConfig } from '../types/config.js';
|
|
5
|
+
import { PromptExecutionResult } from '../types/prompts.js';
|
|
6
|
+
export type GuardrailCheckFn = () => {
|
|
7
|
+
canContinue: boolean;
|
|
8
|
+
reason?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class PromptEngine {
|
|
11
|
+
private config;
|
|
12
|
+
private nunjucksEnv;
|
|
13
|
+
private llm;
|
|
14
|
+
private guardrailCheck?;
|
|
15
|
+
constructor(config: AIConfig, promptsDir: string);
|
|
16
|
+
/**
|
|
17
|
+
* Set guardrail checking callback
|
|
18
|
+
* This will be called before every LLM execution to check if we should continue
|
|
19
|
+
*/
|
|
20
|
+
setGuardrailCheck(checkFn: GuardrailCheckFn): void;
|
|
21
|
+
/**
|
|
22
|
+
* Initialize the prompt loader
|
|
23
|
+
*/
|
|
24
|
+
initialize(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Create appropriate LLM based on provider configuration
|
|
27
|
+
* Uses MJ ClassFactory pattern for BaseLLM instantiation
|
|
28
|
+
*/
|
|
29
|
+
private createLLM;
|
|
30
|
+
/**
|
|
31
|
+
* Add custom Nunjucks filters
|
|
32
|
+
* Pattern from Templates package
|
|
33
|
+
*/
|
|
34
|
+
private addCustomFilters;
|
|
35
|
+
/**
|
|
36
|
+
* Render a Nunjucks template with context
|
|
37
|
+
* Pattern from Templates.renderTemplateAsync()
|
|
38
|
+
*/
|
|
39
|
+
private renderTemplate;
|
|
40
|
+
/**
|
|
41
|
+
* Execute a prompt with AI/Core
|
|
42
|
+
* Main entry point for DBAutoDoc analysis
|
|
43
|
+
*/
|
|
44
|
+
executePrompt<T>(promptName: string, context: any, options?: {
|
|
45
|
+
systemPrompt?: string;
|
|
46
|
+
temperature?: number;
|
|
47
|
+
maxTokens?: number;
|
|
48
|
+
responseFormat?: 'JSON' | 'Text';
|
|
49
|
+
}): Promise<PromptExecutionResult<T>>;
|
|
50
|
+
/**
|
|
51
|
+
* Execute multiple prompts in parallel
|
|
52
|
+
* Uses AI/Core's ChatCompletions for efficiency
|
|
53
|
+
*/
|
|
54
|
+
executePromptsParallel<T>(requests: Array<{
|
|
55
|
+
promptName: string;
|
|
56
|
+
context: any;
|
|
57
|
+
options?: {
|
|
58
|
+
systemPrompt?: string;
|
|
59
|
+
temperature?: number;
|
|
60
|
+
maxTokens?: number;
|
|
61
|
+
responseFormat?: 'JSON' | 'Text';
|
|
62
|
+
};
|
|
63
|
+
}>): Promise<Array<PromptExecutionResult<T>>>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=PromptEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptEngine.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG,MAAM;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,qBAAa,YAAY;IAMrB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,cAAc,CAAC,CAAmB;gBAGhC,MAAM,EAAE,QAAQ,EACxB,UAAU,EAAE,MAAM;IAgBpB;;;OAGG;IACI,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIzD;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAiCjB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;;OAGG;YACW,cAAc;IAe5B;;;OAGG;IACU,aAAa,CAAC,CAAC,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAClC,GACA,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAgGpC;;;OAGG;IACU,sBAAsB,CAAC,CAAC,EACnC,QAAQ,EAAE,KAAK,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;QACb,OAAO,CAAC,EAAE;YACR,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;SAClC,CAAC;KACH,CAAC,GACD,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CAmE5C"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Prompt execution engine combining Nunjucks templating with AI/Core
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.PromptEngine = void 0;
|
|
30
|
+
const nunjucks = __importStar(require("nunjucks"));
|
|
31
|
+
const ai_1 = require("@memberjunction/ai");
|
|
32
|
+
const global_1 = require("@memberjunction/global");
|
|
33
|
+
const PromptFileLoader_js_1 = require("./PromptFileLoader.js");
|
|
34
|
+
class PromptEngine {
|
|
35
|
+
constructor(config, promptsDir) {
|
|
36
|
+
this.config = config;
|
|
37
|
+
// Initialize Nunjucks with custom loader
|
|
38
|
+
const loader = new PromptFileLoader_js_1.PromptFileLoader(promptsDir);
|
|
39
|
+
this.nunjucksEnv = new nunjucks.Environment(loader, {
|
|
40
|
+
autoescape: false,
|
|
41
|
+
dev: true
|
|
42
|
+
});
|
|
43
|
+
// Add custom filters
|
|
44
|
+
this.addCustomFilters();
|
|
45
|
+
// Initialize AI/Core LLM
|
|
46
|
+
this.llm = this.createLLM();
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Set guardrail checking callback
|
|
50
|
+
* This will be called before every LLM execution to check if we should continue
|
|
51
|
+
*/
|
|
52
|
+
setGuardrailCheck(checkFn) {
|
|
53
|
+
this.guardrailCheck = checkFn;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Initialize the prompt loader
|
|
57
|
+
*/
|
|
58
|
+
async initialize() {
|
|
59
|
+
const env = this.nunjucksEnv;
|
|
60
|
+
const loader = env.loaders?.[0];
|
|
61
|
+
if (loader) {
|
|
62
|
+
await loader.loadAll();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create appropriate LLM based on provider configuration
|
|
67
|
+
* Uses MJ ClassFactory pattern for BaseLLM instantiation
|
|
68
|
+
*/
|
|
69
|
+
createLLM() {
|
|
70
|
+
const { provider, apiKey } = this.config;
|
|
71
|
+
// Map provider name to driver class name
|
|
72
|
+
const providerToDriverClass = {
|
|
73
|
+
'openai': 'OpenAILLM',
|
|
74
|
+
'anthropic': 'AnthropicLLM',
|
|
75
|
+
'groq': 'GroqLLM',
|
|
76
|
+
'mistral': 'MistralLLM',
|
|
77
|
+
'gemini': 'GeminiLLM',
|
|
78
|
+
'azure': 'AzureLLM',
|
|
79
|
+
'lmstudio': 'LMStudioLLM'
|
|
80
|
+
};
|
|
81
|
+
const driverClass = providerToDriverClass[provider.toLowerCase()];
|
|
82
|
+
if (!driverClass) {
|
|
83
|
+
throw new Error(`Unknown provider: ${provider}. Supported providers: ${Object.keys(providerToDriverClass).join(', ')}`);
|
|
84
|
+
}
|
|
85
|
+
// Use MJ ClassFactory to create BaseLLM instance
|
|
86
|
+
const llm = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, driverClass, apiKey);
|
|
87
|
+
if (!llm) {
|
|
88
|
+
throw new Error(`Failed to create LLM instance for provider: ${provider} (driver class: ${driverClass}). Check that the provider is installed.`);
|
|
89
|
+
}
|
|
90
|
+
return llm;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Add custom Nunjucks filters
|
|
94
|
+
* Pattern from Templates package
|
|
95
|
+
*/
|
|
96
|
+
addCustomFilters() {
|
|
97
|
+
// JSON formatting with indentation
|
|
98
|
+
this.nunjucksEnv.addFilter('json', (obj, indent = 2) => {
|
|
99
|
+
try {
|
|
100
|
+
return JSON.stringify(obj, null, indent);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return `[Error serializing to JSON: ${error.message}]`;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
// Compact JSON
|
|
107
|
+
this.nunjucksEnv.addFilter('jsoninline', (obj) => {
|
|
108
|
+
try {
|
|
109
|
+
return JSON.stringify(obj);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
return `[Error serializing to JSON: ${error.message}]`;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
// Parse JSON strings
|
|
116
|
+
this.nunjucksEnv.addFilter('jsonparse', (str) => {
|
|
117
|
+
try {
|
|
118
|
+
return JSON.parse(str);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
return str;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
// Array join filter
|
|
125
|
+
this.nunjucksEnv.addFilter('join', (arr, separator = ', ') => {
|
|
126
|
+
return Array.isArray(arr) ? arr.join(separator) : arr;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Render a Nunjucks template with context
|
|
131
|
+
* Pattern from Templates.renderTemplateAsync()
|
|
132
|
+
*/
|
|
133
|
+
async renderTemplate(promptName, context) {
|
|
134
|
+
return new Promise((resolve, reject) => {
|
|
135
|
+
this.nunjucksEnv.render(promptName, context, (err, result) => {
|
|
136
|
+
if (err) {
|
|
137
|
+
console.error(`[PromptEngine] FATAL: Template rendering failed for ${promptName}`);
|
|
138
|
+
console.error(`[PromptEngine] Error:`, err.message);
|
|
139
|
+
console.error(`[PromptEngine] Context keys:`, Object.keys(context));
|
|
140
|
+
console.error(`[PromptEngine] Terminating process due to template rendering failure`);
|
|
141
|
+
process.exit(1);
|
|
142
|
+
}
|
|
143
|
+
resolve(result || '');
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Execute a prompt with AI/Core
|
|
149
|
+
* Main entry point for DBAutoDoc analysis
|
|
150
|
+
*/
|
|
151
|
+
async executePrompt(promptName, context, options) {
|
|
152
|
+
try {
|
|
153
|
+
// Check guardrails before executing
|
|
154
|
+
if (this.guardrailCheck) {
|
|
155
|
+
const check = this.guardrailCheck();
|
|
156
|
+
if (!check.canContinue) {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
errorMessage: `Guardrail limit exceeded: ${check.reason}`,
|
|
160
|
+
tokensUsed: 0,
|
|
161
|
+
guardrailExceeded: true
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// 1. Render Nunjucks template with context
|
|
166
|
+
const renderedPrompt = await this.renderTemplate(promptName, context);
|
|
167
|
+
// 2. Build ChatParams for AI/Core
|
|
168
|
+
const messages = [];
|
|
169
|
+
// Add system prompt if provided
|
|
170
|
+
if (options?.systemPrompt) {
|
|
171
|
+
messages.push({
|
|
172
|
+
role: 'system',
|
|
173
|
+
content: options.systemPrompt
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
// Add rendered user prompt
|
|
177
|
+
messages.push({
|
|
178
|
+
role: 'user',
|
|
179
|
+
content: renderedPrompt
|
|
180
|
+
});
|
|
181
|
+
const params = {
|
|
182
|
+
model: this.config.model,
|
|
183
|
+
messages,
|
|
184
|
+
maxOutputTokens: options?.maxTokens ?? this.config.maxTokens,
|
|
185
|
+
responseFormat: options?.responseFormat ?? 'JSON',
|
|
186
|
+
...(options?.temperature != null && { temperature: options.temperature }),
|
|
187
|
+
...(this.config.temperature != null && options?.temperature == null && { temperature: this.config.temperature }),
|
|
188
|
+
...(this.config.effortLevel != null && { effortLevel: this.config.effortLevel.toString() }) // Optional 1-100, BaseLLM drivers handle if supported
|
|
189
|
+
};
|
|
190
|
+
// 3. Execute with AI/Core (follows RunView pattern - doesn't throw)
|
|
191
|
+
const chatResult = await this.llm.ChatCompletion(params);
|
|
192
|
+
// 4. Check success (IMPORTANT: like RunView, check .success property)
|
|
193
|
+
if (!chatResult.success) {
|
|
194
|
+
return {
|
|
195
|
+
success: false,
|
|
196
|
+
errorMessage: chatResult.errorMessage || 'Unknown error',
|
|
197
|
+
tokensUsed: 0
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
// 5. Extract result and parse JSON if needed
|
|
201
|
+
const content = chatResult.data.choices[0].message.content;
|
|
202
|
+
const usage = chatResult.data.usage;
|
|
203
|
+
let parsedResult;
|
|
204
|
+
if (options?.responseFormat === 'JSON') {
|
|
205
|
+
try {
|
|
206
|
+
parsedResult = JSON.parse(content);
|
|
207
|
+
}
|
|
208
|
+
catch (parseError) {
|
|
209
|
+
return {
|
|
210
|
+
success: false,
|
|
211
|
+
errorMessage: `Failed to parse JSON response: ${parseError.message}\n\nRaw content:\n${content}`,
|
|
212
|
+
tokensUsed: usage?.totalTokens || 0,
|
|
213
|
+
promptInput: renderedPrompt,
|
|
214
|
+
promptOutput: content
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
parsedResult = content;
|
|
220
|
+
}
|
|
221
|
+
return {
|
|
222
|
+
success: true,
|
|
223
|
+
result: parsedResult,
|
|
224
|
+
tokensUsed: usage?.totalTokens || 0,
|
|
225
|
+
cost: usage?.cost,
|
|
226
|
+
promptInput: renderedPrompt,
|
|
227
|
+
promptOutput: content
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
return {
|
|
232
|
+
success: false,
|
|
233
|
+
errorMessage: `Prompt execution failed: ${error.message}`,
|
|
234
|
+
tokensUsed: 0
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Execute multiple prompts in parallel
|
|
240
|
+
* Uses AI/Core's ChatCompletions for efficiency
|
|
241
|
+
*/
|
|
242
|
+
async executePromptsParallel(requests) {
|
|
243
|
+
try {
|
|
244
|
+
// Render all templates first
|
|
245
|
+
const renderedPrompts = await Promise.all(requests.map(req => this.renderTemplate(req.promptName, req.context)));
|
|
246
|
+
// Build ChatParams array
|
|
247
|
+
const paramsArray = renderedPrompts.map((prompt, i) => {
|
|
248
|
+
const params = {
|
|
249
|
+
model: this.config.model,
|
|
250
|
+
messages: [{ role: 'user', content: prompt }],
|
|
251
|
+
maxOutputTokens: requests[i].options?.maxTokens ?? this.config.maxTokens,
|
|
252
|
+
responseFormat: requests[i].options?.responseFormat ?? 'JSON'
|
|
253
|
+
};
|
|
254
|
+
// Only add temperature if explicitly provided (don't default to 0.1)
|
|
255
|
+
if (requests[i].options?.temperature != null) {
|
|
256
|
+
params.temperature = requests[i].options.temperature;
|
|
257
|
+
}
|
|
258
|
+
else if (this.config.temperature != null) {
|
|
259
|
+
params.temperature = this.config.temperature;
|
|
260
|
+
}
|
|
261
|
+
return params;
|
|
262
|
+
});
|
|
263
|
+
// Execute in parallel using AI/Core
|
|
264
|
+
const results = await this.llm.ChatCompletions(paramsArray);
|
|
265
|
+
// Parse and return
|
|
266
|
+
return results.map((chatResult, i) => {
|
|
267
|
+
if (!chatResult.success) {
|
|
268
|
+
return {
|
|
269
|
+
success: false,
|
|
270
|
+
errorMessage: chatResult.errorMessage,
|
|
271
|
+
tokensUsed: 0
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
const content = chatResult.data.choices[0].message.content;
|
|
275
|
+
const usage = chatResult.data.usage;
|
|
276
|
+
try {
|
|
277
|
+
const parsed = JSON.parse(content);
|
|
278
|
+
return {
|
|
279
|
+
success: true,
|
|
280
|
+
result: parsed,
|
|
281
|
+
tokensUsed: usage?.totalTokens || 0,
|
|
282
|
+
cost: usage?.cost
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
return {
|
|
287
|
+
success: false,
|
|
288
|
+
errorMessage: `JSON parse error: ${error.message}`,
|
|
289
|
+
tokensUsed: usage?.totalTokens || 0
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
// If rendering or execution fails completely, return array of errors
|
|
296
|
+
return requests.map(() => ({
|
|
297
|
+
success: false,
|
|
298
|
+
errorMessage: `Parallel execution failed: ${error.message}`,
|
|
299
|
+
tokensUsed: 0
|
|
300
|
+
}));
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
exports.PromptEngine = PromptEngine;
|
|
305
|
+
//# sourceMappingURL=PromptEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptEngine.js","sourceRoot":"","sources":["../../src/prompts/PromptEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Nunjucks loader for file-based prompts
|
|
3
|
+
* Pattern adapted from Templates package's TemplateEntityLoader
|
|
4
|
+
*/
|
|
5
|
+
import * as nunjucks from 'nunjucks';
|
|
6
|
+
export declare class PromptFileLoader extends nunjucks.Loader {
|
|
7
|
+
private promptsDir;
|
|
8
|
+
async: true;
|
|
9
|
+
private prompts;
|
|
10
|
+
constructor(promptsDir: string);
|
|
11
|
+
/**
|
|
12
|
+
* Load all prompt files from directory
|
|
13
|
+
*/
|
|
14
|
+
loadAll(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Required by Nunjucks Loader - provides template source
|
|
17
|
+
* Pattern from Templates package
|
|
18
|
+
*/
|
|
19
|
+
getSource(name: string, callback: any): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=PromptFileLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptFileLoader.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptFileLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAIrC,qBAAa,gBAAiB,SAAQ,QAAQ,CAAC,MAAM;IAKvC,OAAO,CAAC,UAAU;IAJvB,KAAK,EAAE,IAAI,CAAQ;IAE1B,OAAO,CAAC,OAAO,CAAkC;gBAE7B,UAAU,EAAE,MAAM;IAItC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;CAYpD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Custom Nunjucks loader for file-based prompts
|
|
4
|
+
* Pattern adapted from Templates package's TemplateEntityLoader
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.PromptFileLoader = void 0;
|
|
31
|
+
const nunjucks = __importStar(require("nunjucks"));
|
|
32
|
+
const fs = __importStar(require("fs/promises"));
|
|
33
|
+
const path = __importStar(require("path"));
|
|
34
|
+
class PromptFileLoader extends nunjucks.Loader {
|
|
35
|
+
constructor(promptsDir) {
|
|
36
|
+
super();
|
|
37
|
+
this.promptsDir = promptsDir;
|
|
38
|
+
this.async = true;
|
|
39
|
+
this.prompts = new Map();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Load all prompt files from directory
|
|
43
|
+
*/
|
|
44
|
+
async loadAll() {
|
|
45
|
+
const files = await fs.readdir(this.promptsDir);
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
if (file.endsWith('.md') || file.endsWith('.txt')) {
|
|
48
|
+
const promptName = path.basename(file, path.extname(file));
|
|
49
|
+
const filePath = path.join(this.promptsDir, file);
|
|
50
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
51
|
+
this.prompts.set(promptName, content);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Required by Nunjucks Loader - provides template source
|
|
57
|
+
* Pattern from Templates package
|
|
58
|
+
*/
|
|
59
|
+
getSource(name, callback) {
|
|
60
|
+
const content = this.prompts.get(name);
|
|
61
|
+
if (content) {
|
|
62
|
+
callback(null, {
|
|
63
|
+
src: content,
|
|
64
|
+
path: name,
|
|
65
|
+
noCache: true
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
callback(new Error(`Prompt not found: ${name}`));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.PromptFileLoader = PromptFileLoader;
|
|
74
|
+
//# sourceMappingURL=PromptFileLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptFileLoader.js","sourceRoot":"","sources":["../../src/prompts/PromptFileLoader.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAAqC;AACrC,gDAAkC;AAClC,2CAA6B;AAE7B,MAAa,gBAAiB,SAAQ,QAAQ,CAAC,MAAM;IAKnD,YAAoB,UAAkB;QACpC,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAQ;QAJ/B,UAAK,GAAS,IAAI,CAAC;QAElB,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAIjD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,IAAY,EAAE,QAAa;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,EAAE;gBACb,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAzCD,4CAyCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Exports for prompts module
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PromptEngine = exports.PromptFileLoader = void 0;
|
|
7
|
+
var PromptFileLoader_js_1 = require("./PromptFileLoader.js");
|
|
8
|
+
Object.defineProperty(exports, "PromptFileLoader", { enumerable: true, get: function () { return PromptFileLoader_js_1.PromptFileLoader; } });
|
|
9
|
+
var PromptEngine_js_1 = require("./PromptEngine.js");
|
|
10
|
+
Object.defineProperty(exports, "PromptEngine", { enumerable: true, get: function () { return PromptEngine_js_1.PromptEngine; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks iteration metadata and changes
|
|
3
|
+
*/
|
|
4
|
+
import { DatabaseDocumentation, AnalysisRun, ProcessingLogEntry } from '../types/state.js';
|
|
5
|
+
export declare class IterationTracker {
|
|
6
|
+
/**
|
|
7
|
+
* Get the current (latest) analysis run
|
|
8
|
+
*/
|
|
9
|
+
getCurrentRun(state: DatabaseDocumentation): AnalysisRun | null;
|
|
10
|
+
/**
|
|
11
|
+
* Add processing log entry
|
|
12
|
+
*/
|
|
13
|
+
addLogEntry(run: AnalysisRun, entry: Omit<ProcessingLogEntry, 'timestamp'>): void;
|
|
14
|
+
/**
|
|
15
|
+
* Add processing log entry with prompt I/O details
|
|
16
|
+
*/
|
|
17
|
+
addLogEntryWithPrompt(run: AnalysisRun, entry: Omit<ProcessingLogEntry, 'timestamp'>, promptInput?: string, promptOutput?: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Mark run as complete
|
|
20
|
+
*/
|
|
21
|
+
completeRun(run: AnalysisRun, converged: boolean, convergenceReason?: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Mark run as failed
|
|
24
|
+
*/
|
|
25
|
+
failRun(run: AnalysisRun, error: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get recent changes from processing log
|
|
28
|
+
*/
|
|
29
|
+
getRecentChanges(run: AnalysisRun, count?: number): ProcessingLogEntry[];
|
|
30
|
+
/**
|
|
31
|
+
* Check if any changes occurred in last N iterations
|
|
32
|
+
*/
|
|
33
|
+
hasRecentChanges(state: DatabaseDocumentation, windowSize: number): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get iteration statistics
|
|
36
|
+
*/
|
|
37
|
+
getIterationStats(run: AnalysisRun): {
|
|
38
|
+
totalProcessed: number;
|
|
39
|
+
changed: number;
|
|
40
|
+
unchanged: number;
|
|
41
|
+
errors: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Add tokens to run total
|
|
45
|
+
*/
|
|
46
|
+
addTokenUsage(run: AnalysisRun, tokensUsed: number, cost?: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Increment iteration count
|
|
49
|
+
*/
|
|
50
|
+
incrementIteration(state: DatabaseDocumentation, run: AnalysisRun): void;
|
|
51
|
+
/**
|
|
52
|
+
* Increment backpropagation count
|
|
53
|
+
*/
|
|
54
|
+
incrementBackpropagation(run: AnalysisRun): void;
|
|
55
|
+
/**
|
|
56
|
+
* Add warning to run
|
|
57
|
+
*/
|
|
58
|
+
addWarning(run: AnalysisRun, warning: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Add error to run
|
|
61
|
+
*/
|
|
62
|
+
addError(run: AnalysisRun, error: string): void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=IterationTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IterationTracker.d.ts","sourceRoot":"","sources":["../../src/state/IterationTracker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,qBAAa,gBAAgB;IAC3B;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,WAAW,GAAG,IAAI;IAOtE;;OAEG;IACI,WAAW,CAChB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAC3C,IAAI;IASP;;OAEG;IACI,qBAAqB,CAC1B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAC5C,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI;IAWP;;OAEG;IACI,WAAW,CAChB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,OAAO,EAClB,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI;IAOP;;OAEG;IACI,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrD;;OAEG;IACI,gBAAgB,CACrB,GAAG,EAAE,WAAW,EAChB,KAAK,GAAE,MAAW,GACjB,kBAAkB,EAAE;IAQvB;;OAEG;IACI,gBAAgB,CACrB,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO;IAYV;;OAEG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG;QAC1C,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB;IAyBD;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO/E;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAK/E;;OAEG;IACI,wBAAwB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAIvD;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1D;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAGvD"}
|