@tiangong-lca/tidas-sdk 0.1.9 → 0.1.10
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/dist/core/base/TidasEntity.d.ts +85 -0
- package/dist/core/base/TidasEntity.d.ts.map +1 -1
- package/dist/core/base/TidasEntity.js +123 -1
- package/dist/core/base/TidasEntity.js.map +1 -1
- package/dist/core/methodology/ai.d.ts +150 -0
- package/dist/core/methodology/ai.d.ts.map +1 -0
- package/dist/core/methodology/ai.js +581 -0
- package/dist/core/methodology/ai.js.map +1 -0
- package/dist/core/methodology/base.d.ts +58 -0
- package/dist/core/methodology/base.d.ts.map +1 -0
- package/dist/core/methodology/base.js +178 -0
- package/dist/core/methodology/base.js.map +1 -0
- package/dist/core/methodology/index.d.ts +1 -0
- package/dist/core/methodology/index.d.ts.map +1 -0
- package/dist/core/methodology/index.js +2 -0
- package/dist/core/methodology/index.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/methodologies/tidas_processes.yaml +375 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +24 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/suggestion-service.d.ts +147 -0
- package/dist/services/suggestion-service.d.ts.map +1 -0
- package/dist/services/suggestion-service.js +259 -0
- package/dist/services/suggestion-service.js.map +1 -0
- package/dist/utils/diff.d.ts +47 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +263 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/object-utils.d.ts +18 -0
- package/dist/utils/object-utils.d.ts.map +1 -1
- package/dist/utils/object-utils.js +178 -2
- package/dist/utils/object-utils.js.map +1 -1
- package/package.json +6 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ValidationConfig, EnhancedValidationResult, ValidationMode } from '../config/ValidationConfig';
|
|
3
|
+
import type { ModelConfig } from '../methodology/ai';
|
|
3
4
|
/**
|
|
4
5
|
* Legacy validation result type (maintained for backward compatibility)
|
|
5
6
|
*/
|
|
@@ -10,6 +11,14 @@ export type ValidationResult<T> = {
|
|
|
10
11
|
success: false;
|
|
11
12
|
error: z.ZodError;
|
|
12
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Result type for suggest operation with diff output
|
|
16
|
+
*/
|
|
17
|
+
export interface SuggestResult<T extends TidasEntity> {
|
|
18
|
+
data: T;
|
|
19
|
+
diffSummary?: string;
|
|
20
|
+
diffHTML?: string;
|
|
21
|
+
}
|
|
13
22
|
/**
|
|
14
23
|
* Abstract base class for all TIDAS entities
|
|
15
24
|
* Provides basic validation and data container functionality without property mapping
|
|
@@ -41,6 +50,10 @@ export declare abstract class TidasEntity<T = any> {
|
|
|
41
50
|
* Get nested value using dot notation path
|
|
42
51
|
*/
|
|
43
52
|
protected getNestedValue(path: string): any;
|
|
53
|
+
/**
|
|
54
|
+
* Get value using dot notation path
|
|
55
|
+
*/
|
|
56
|
+
getValue(path: string): any;
|
|
44
57
|
/**
|
|
45
58
|
* Set nested value using dot notation path
|
|
46
59
|
*/
|
|
@@ -101,5 +114,77 @@ export declare abstract class TidasEntity<T = any> {
|
|
|
101
114
|
* Clone the entity
|
|
102
115
|
*/
|
|
103
116
|
clone(): this;
|
|
117
|
+
/**
|
|
118
|
+
* Get the methodology type based on the entity class name
|
|
119
|
+
* Maps entity class names to their corresponding methodology types
|
|
120
|
+
*/
|
|
121
|
+
protected getMethodologyType(): string;
|
|
122
|
+
/**
|
|
123
|
+
* Suggest improvements for the entire entity using AI-powered methodology rules
|
|
124
|
+
*
|
|
125
|
+
* This method applies all applicable TIDAS methodology rules to improve the data quality
|
|
126
|
+
* and compliance. It always returns a unified result structure containing the improved entity
|
|
127
|
+
* and optional diff outputs.
|
|
128
|
+
*
|
|
129
|
+
* @param options - Optional configuration for the suggestion process
|
|
130
|
+
* @param options.skipPaths - Array of dot-notation paths to skip during improvement
|
|
131
|
+
* @param options.maxRetries - Maximum number of retries per rule (default: 1)
|
|
132
|
+
* @param options.modelConfig - Optional AI model configuration
|
|
133
|
+
* @param options.outputDiffSummary - Whether to output a text diff summary (default: false)
|
|
134
|
+
* @param options.outputDiffHTML - Whether to output an HTML diff visualization (default: false)
|
|
135
|
+
* @param options.diffPaths - Specific paths to focus on in diff summary (optional)
|
|
136
|
+
* @returns Promise<SuggestResult<this>> - Result object with improved entity and optional diffs
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* // Basic usage
|
|
141
|
+
* const process = createProcess({ ... });
|
|
142
|
+
* const result = await process.suggestEntireObject();
|
|
143
|
+
* const improvedProcess = result.data;
|
|
144
|
+
*
|
|
145
|
+
* // With diff outputs
|
|
146
|
+
* const result = await process.suggestEntireObject({
|
|
147
|
+
* skipPaths: ['processDataSet.administrativeInformation'],
|
|
148
|
+
* maxRetries: 2,
|
|
149
|
+
* outputDiffSummary: true,
|
|
150
|
+
* outputDiffHTML: true
|
|
151
|
+
* });
|
|
152
|
+
* console.log(result.data); // The improved entity
|
|
153
|
+
* console.log(result.diffSummary); // Text diff summary
|
|
154
|
+
* console.log(result.diffHTML); // HTML diff viewer code
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
suggestEntireObject(options?: {
|
|
158
|
+
skipPaths?: string[];
|
|
159
|
+
maxRetries?: number;
|
|
160
|
+
modelConfig?: ModelConfig;
|
|
161
|
+
outputDiffSummary?: boolean;
|
|
162
|
+
outputDiffHTML?: boolean;
|
|
163
|
+
diffPaths?: string[];
|
|
164
|
+
}): Promise<SuggestResult<this>>;
|
|
165
|
+
/**
|
|
166
|
+
* Alias for suggestEntireObject for shorter syntax
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const result = await process.suggest();
|
|
171
|
+
* const improvedProcess = result.data;
|
|
172
|
+
*
|
|
173
|
+
* // With diff outputs
|
|
174
|
+
* const result = await process.suggest({
|
|
175
|
+
* outputDiffHTML: true
|
|
176
|
+
* });
|
|
177
|
+
* console.log(result.data); // The improved entity
|
|
178
|
+
* console.log(result.diffHTML); // HTML diff viewer code
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
suggest(options?: {
|
|
182
|
+
skipPaths?: string[];
|
|
183
|
+
maxRetries?: number;
|
|
184
|
+
modelConfig?: ModelConfig;
|
|
185
|
+
outputDiffSummary?: boolean;
|
|
186
|
+
outputDiffHTML?: boolean;
|
|
187
|
+
diffPaths?: string[];
|
|
188
|
+
}): Promise<SuggestResult<this>>;
|
|
104
189
|
}
|
|
105
190
|
//# sourceMappingURL=TidasEntity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TidasEntity.d.ts","sourceRoot":"","sources":["../../../src/core/base/TidasEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EAExB,cAAc,EACf,MAAM,4BAA4B,CAAC;AAOpC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;CACnB,CAAC;AAEN;;;GAGG;AACH,8BAAsB,WAAW,CAAC,CAAC,GAAG,GAAG;IACvC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAM;IACjC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;gBAG5C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAa9C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI;IAE7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8ExB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAgB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAyB5B;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAQ3C;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIxD;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,OAAO;IA0Bf;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAQtD;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAO5D;;OAEG;IACH,gBAAgB,IAAI,wBAAwB,CAAC,CAAC,CAAC;IAQ/C;;;OAGG;IACH,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAgB/B;;;OAGG;IACH,MAAM,IAAI,CAAC;IAIX;;;OAGG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAKrC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAExB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"TidasEntity.d.ts","sourceRoot":"","sources":["../../../src/core/base/TidasEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ exports.TidasEntity = void 0;
|
|
|
4
4
|
const ValidationConfig_1 = require("../config/ValidationConfig");
|
|
5
5
|
const GlobalConfig_1 = require("../config/GlobalConfig");
|
|
6
6
|
const multi_lang_types_1 = require("../../types/multi-lang-types");
|
|
7
|
+
const ai_1 = require("../methodology/ai");
|
|
8
|
+
const diff_1 = require("../../utils/diff");
|
|
7
9
|
/**
|
|
8
10
|
* Abstract base class for all TIDAS entities
|
|
9
11
|
* Provides basic validation and data container functionality without property mapping
|
|
@@ -140,6 +142,12 @@ class TidasEntity {
|
|
|
140
142
|
}
|
|
141
143
|
return value;
|
|
142
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Get value using dot notation path
|
|
147
|
+
*/
|
|
148
|
+
getValue(path) {
|
|
149
|
+
return this.getNestedValue(path);
|
|
150
|
+
}
|
|
143
151
|
/**
|
|
144
152
|
* Set nested value using dot notation path
|
|
145
153
|
*/
|
|
@@ -304,7 +312,121 @@ class TidasEntity {
|
|
|
304
312
|
*/
|
|
305
313
|
clone() {
|
|
306
314
|
const Constructor = this.constructor;
|
|
307
|
-
return new Constructor(
|
|
315
|
+
return new Constructor(structuredClone(this._data), this._validationConfig);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get the methodology type based on the entity class name
|
|
319
|
+
* Maps entity class names to their corresponding methodology types
|
|
320
|
+
*/
|
|
321
|
+
getMethodologyType() {
|
|
322
|
+
const className = this.constructor.name;
|
|
323
|
+
const methodologyMapping = {
|
|
324
|
+
'TidasProcess': 'processes',
|
|
325
|
+
'TidasFlow': 'flows',
|
|
326
|
+
'TidasContact': 'contacts',
|
|
327
|
+
'TidasSource': 'sources',
|
|
328
|
+
'TidasFlowProperty': 'flowproperties',
|
|
329
|
+
'TidasUnitGroup': 'unitgroups',
|
|
330
|
+
'TidasLCIAMethod': 'lciamethods',
|
|
331
|
+
'TidasLifeCycleModel': 'lifecyclemodels'
|
|
332
|
+
};
|
|
333
|
+
const methodologyType = methodologyMapping[className];
|
|
334
|
+
if (!methodologyType) {
|
|
335
|
+
throw new Error(`Unknown entity type: ${className}. Cannot determine methodology type.`);
|
|
336
|
+
}
|
|
337
|
+
return methodologyType;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Suggest improvements for the entire entity using AI-powered methodology rules
|
|
341
|
+
*
|
|
342
|
+
* This method applies all applicable TIDAS methodology rules to improve the data quality
|
|
343
|
+
* and compliance. It always returns a unified result structure containing the improved entity
|
|
344
|
+
* and optional diff outputs.
|
|
345
|
+
*
|
|
346
|
+
* @param options - Optional configuration for the suggestion process
|
|
347
|
+
* @param options.skipPaths - Array of dot-notation paths to skip during improvement
|
|
348
|
+
* @param options.maxRetries - Maximum number of retries per rule (default: 1)
|
|
349
|
+
* @param options.modelConfig - Optional AI model configuration
|
|
350
|
+
* @param options.outputDiffSummary - Whether to output a text diff summary (default: false)
|
|
351
|
+
* @param options.outputDiffHTML - Whether to output an HTML diff visualization (default: false)
|
|
352
|
+
* @param options.diffPaths - Specific paths to focus on in diff summary (optional)
|
|
353
|
+
* @returns Promise<SuggestResult<this>> - Result object with improved entity and optional diffs
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* ```typescript
|
|
357
|
+
* // Basic usage
|
|
358
|
+
* const process = createProcess({ ... });
|
|
359
|
+
* const result = await process.suggestEntireObject();
|
|
360
|
+
* const improvedProcess = result.data;
|
|
361
|
+
*
|
|
362
|
+
* // With diff outputs
|
|
363
|
+
* const result = await process.suggestEntireObject({
|
|
364
|
+
* skipPaths: ['processDataSet.administrativeInformation'],
|
|
365
|
+
* maxRetries: 2,
|
|
366
|
+
* outputDiffSummary: true,
|
|
367
|
+
* outputDiffHTML: true
|
|
368
|
+
* });
|
|
369
|
+
* console.log(result.data); // The improved entity
|
|
370
|
+
* console.log(result.diffSummary); // Text diff summary
|
|
371
|
+
* console.log(result.diffHTML); // HTML diff viewer code
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
async suggestEntireObject(options) {
|
|
375
|
+
try {
|
|
376
|
+
// Get the methodology type for this entity
|
|
377
|
+
const methodologyType = this.getMethodologyType();
|
|
378
|
+
console.log(`Starting AI improvement for ${this.constructor.name}...`);
|
|
379
|
+
// Store original data for diff if needed
|
|
380
|
+
const originalData = options?.outputDiffSummary || options?.outputDiffHTML
|
|
381
|
+
? this.toJSON()
|
|
382
|
+
: null;
|
|
383
|
+
// Apply suggestions to the current data
|
|
384
|
+
const improvedData = await (0, ai_1.suggestEntireObject)(this._data, methodologyType, {
|
|
385
|
+
skipPaths: options?.skipPaths,
|
|
386
|
+
maxRetries: options?.maxRetries
|
|
387
|
+
});
|
|
388
|
+
// Create a new instance of the same type with improved data
|
|
389
|
+
const Constructor = this.constructor;
|
|
390
|
+
const improvedEntity = new Constructor(improvedData, this._validationConfig);
|
|
391
|
+
console.log(`✓ Successfully improved ${this.constructor.name}`);
|
|
392
|
+
// Create unified result structure
|
|
393
|
+
const result = {
|
|
394
|
+
data: improvedEntity
|
|
395
|
+
};
|
|
396
|
+
// Generate diff outputs if requested
|
|
397
|
+
if (options?.outputDiffSummary && originalData) {
|
|
398
|
+
result.diffSummary = (0, diff_1.generateDiffSummary)(originalData, improvedEntity.toJSON(), options.diffPaths);
|
|
399
|
+
console.log('✓ Generated diff summary');
|
|
400
|
+
}
|
|
401
|
+
if (options?.outputDiffHTML && originalData) {
|
|
402
|
+
result.diffHTML = (0, diff_1.generateDiffHTML)(originalData, improvedEntity.toJSON());
|
|
403
|
+
console.log('✓ Generated diff HTML');
|
|
404
|
+
}
|
|
405
|
+
return result;
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
console.error(`Failed to suggest improvements: ${error.message}`);
|
|
409
|
+
throw error;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Alias for suggestEntireObject for shorter syntax
|
|
414
|
+
*
|
|
415
|
+
* @example
|
|
416
|
+
* ```typescript
|
|
417
|
+
* const result = await process.suggest();
|
|
418
|
+
* const improvedProcess = result.data;
|
|
419
|
+
*
|
|
420
|
+
* // With diff outputs
|
|
421
|
+
* const result = await process.suggest({
|
|
422
|
+
* outputDiffHTML: true
|
|
423
|
+
* });
|
|
424
|
+
* console.log(result.data); // The improved entity
|
|
425
|
+
* console.log(result.diffHTML); // HTML diff viewer code
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
async suggest(options) {
|
|
429
|
+
return this.suggestEntireObject(options);
|
|
308
430
|
}
|
|
309
431
|
}
|
|
310
432
|
exports.TidasEntity = TidasEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TidasEntity.js","sourceRoot":"","sources":["../../../src/core/base/TidasEntity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TidasEntity.js","sourceRoot":"","sources":["../../../src/core/base/TidasEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { ChatOpenAI } from '@langchain/openai';
|
|
2
|
+
import { Schema } from '../../utils/object-utils';
|
|
3
|
+
/**
|
|
4
|
+
* Model configuration object
|
|
5
|
+
* @param model - The model to use
|
|
6
|
+
* @param apiKey - The API key to use
|
|
7
|
+
* @param baseURL - The base URL to use
|
|
8
|
+
*/
|
|
9
|
+
export type ModelConfig = {
|
|
10
|
+
model?: string;
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
baseURL?: string;
|
|
13
|
+
};
|
|
14
|
+
declare function getModel(modelConfig: ModelConfig): Promise<ChatOpenAI<import("@langchain/openai").ChatOpenAICallOptions>>;
|
|
15
|
+
/**
|
|
16
|
+
* Custom extractor
|
|
17
|
+
*
|
|
18
|
+
* Extracts JSON content from a string where
|
|
19
|
+
* JSON is embedded between ```json and ``` tags.
|
|
20
|
+
*/
|
|
21
|
+
declare const extractJson: (output: any, schema: Schema, returnSingle?: boolean) => any;
|
|
22
|
+
declare function fixJsonDataWithAI(data: any, originalData: any, modelConfig?: ModelConfig): Promise<any>;
|
|
23
|
+
/**
|
|
24
|
+
* Extracts valid JSON data from AI response with retry mechanism
|
|
25
|
+
* Combines extractJson and fixJsonDataWithAI functions to ensure the extracted data
|
|
26
|
+
* matches the original data structure
|
|
27
|
+
*
|
|
28
|
+
* @param data - The AI response or data containing JSON
|
|
29
|
+
* @param originalData - The original data structure to match
|
|
30
|
+
* @param schema - The schema to validate against
|
|
31
|
+
* @param maxRetries - Maximum number of retry attempts (default: 3)
|
|
32
|
+
* @returns The extracted and validated JSON data
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractValidJsonWithRetry(data: any, originalData: any, schema?: Schema, maxRetries?: number): Promise<any>;
|
|
35
|
+
/**
|
|
36
|
+
* Suggests improvements to data based on TIDAS methodology rules.
|
|
37
|
+
*
|
|
38
|
+
* This function uses AI to analyze the provided data against TIDAS methodology rules
|
|
39
|
+
* and suggests optimized content that better complies with the methodology requirements.
|
|
40
|
+
* The function ensures that the data structure remains unchanged while improving the content.
|
|
41
|
+
*
|
|
42
|
+
* @param data - The original data object to be improved. Can be any JSON-serializable object
|
|
43
|
+
* such as process names, descriptions, or other TIDAS/ILCD data elements.
|
|
44
|
+
* @param methodology - The methodology rules to apply. Can be:
|
|
45
|
+
* - A complete methodology object loaded from YAML
|
|
46
|
+
* - A specific rule object extracted using getRuleFromMethodologyByPath
|
|
47
|
+
* - A custom rule object with description and rules properties
|
|
48
|
+
* @param modelConfig - The configuration for the AI model. Can be:
|
|
49
|
+
* - A complete model configuration object
|
|
50
|
+
* - A custom model configuration object with model, apiKey, and baseURL properties
|
|
51
|
+
* @returns Promise<any> - The improved data with the same structure as the input but with
|
|
52
|
+
* optimized content that better complies with the methodology.
|
|
53
|
+
* The returned data is guaranteed to match the original schema.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* // Example 1: Improve a process name using specific rules
|
|
58
|
+
* const nameData = [{ '@xml:lang': 'en', '#text': 'Process 1' }];
|
|
59
|
+
* const rule = await getRuleFromMethodologyByPath(methodology, 'processDataSet.processInformation.dataSetInformation.name.baseName');
|
|
60
|
+
* const improvedName = await suggest(nameData, rule);
|
|
61
|
+
* // Returns: [{ '@xml:lang': 'en', '#text': 'Production of Product A using Technology X' }]
|
|
62
|
+
*
|
|
63
|
+
* // Example 2: Improve data using full methodology
|
|
64
|
+
* const processData = { name: 'test', description: 'simple desc' };
|
|
65
|
+
* const improvedData = await suggest(processData, fullMethodology);
|
|
66
|
+
* // Returns data with improved names and descriptions
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @throws {Error} If the AI model fails to generate valid JSON
|
|
70
|
+
* @throws {Error} If the OpenAI API is not configured properly
|
|
71
|
+
*/
|
|
72
|
+
declare function suggest(data: any, methodology: any, modelConfig?: ModelConfig): Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* Reviews data against TIDAS methodology rules and provides structured feedback.
|
|
75
|
+
*
|
|
76
|
+
* This function uses AI to analyze the provided data against TIDAS methodology rules
|
|
77
|
+
* and provides a review with comments and a compliance score. Unlike the suggest function
|
|
78
|
+
* which modifies data, this function only provides assessment and feedback.
|
|
79
|
+
*
|
|
80
|
+
* @param data - The data object to be reviewed. Can be any JSON-serializable object
|
|
81
|
+
* such as process names, descriptions, or other TIDAS/ILCD data elements.
|
|
82
|
+
* @param methodology - The methodology rules to evaluate against. Can be:
|
|
83
|
+
* - A complete methodology object loaded from YAML
|
|
84
|
+
* - A specific rule object extracted using getRuleFromMethodologyByPath
|
|
85
|
+
* - A custom rule object with description and rules properties
|
|
86
|
+
* @param modelConfig - The configuration for the AI model. Can be:
|
|
87
|
+
* - A complete model configuration object
|
|
88
|
+
* - A custom model configuration object with model, apiKey, and baseURL properties
|
|
89
|
+
* @returns Promise<{review_comment: string, review_score: number}> - A structured review containing:
|
|
90
|
+
* - review_comment: Detailed feedback on compliance and suggestions for improvement
|
|
91
|
+
* - review_score: A numerical score from 0-100 indicating compliance level
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* // Example 1: Review a process name against specific rules
|
|
96
|
+
* const nameData = [{ '@xml:lang': 'en', '#text': 'Process 1' }];
|
|
97
|
+
* const rule = await getRuleFromMethodologyByPath(methodology, 'processDataSet.processInformation.dataSetInformation.name.baseName');
|
|
98
|
+
* const review = await reviewData(nameData, rule);
|
|
99
|
+
* // Returns: {
|
|
100
|
+
* // review_comment: "The process name 'Process 1' is too generic. It should include specific information about...",
|
|
101
|
+
* // review_score: 45
|
|
102
|
+
* // }
|
|
103
|
+
*
|
|
104
|
+
* // Example 2: Review complete process data
|
|
105
|
+
* const processData = { name: 'test', description: 'simple desc' };
|
|
106
|
+
* const review = await reviewData(processData, fullMethodology);
|
|
107
|
+
* // Returns comprehensive review with score
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @throws {Error} If the AI model fails to generate valid structured output
|
|
111
|
+
* @throws {Error} If the OpenAI API is not configured properly
|
|
112
|
+
*/
|
|
113
|
+
declare function reviewData(data: any, methodology: any, modelConfig?: ModelConfig): Promise<{
|
|
114
|
+
review_comment: string;
|
|
115
|
+
review_score: number;
|
|
116
|
+
}>;
|
|
117
|
+
/**
|
|
118
|
+
* Suggests improvements for an entire object based on all applicable methodology rules.
|
|
119
|
+
*
|
|
120
|
+
* This function analyzes a complete data object against all relevant methodology rules,
|
|
121
|
+
* applies AI suggestions to each applicable field, and returns a new object with improvements.
|
|
122
|
+
*
|
|
123
|
+
* @param data - The complete data object to improve (TidasEntity or plain object)
|
|
124
|
+
* @param methodologyType - The type of methodology to use:
|
|
125
|
+
* - A string key from methodologyFilesMapping (e.g., 'processes', 'flows')
|
|
126
|
+
* - A methodology object already loaded
|
|
127
|
+
* @param options - Optional configuration:
|
|
128
|
+
* - parallelRequests: Number of parallel AI requests (default: 1)
|
|
129
|
+
* - skipPaths: Array of paths to skip
|
|
130
|
+
* - maxRetries: Maximum retries per rule (default: 1)
|
|
131
|
+
* @returns Promise<any> - Improved data object with the same structure as input
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* // Example: Improve an entire Process object
|
|
136
|
+
* const process = createProcess();
|
|
137
|
+
* process.processDataSet.processInformation.dataSetInformation['common:UUID'] = 'test-123';
|
|
138
|
+
* const improvedData = await suggestEntireObject(process, 'processes');
|
|
139
|
+
*
|
|
140
|
+
* // Create a new Process with improved data
|
|
141
|
+
* const improvedProcess = createProcess();
|
|
142
|
+
* Object.assign(improvedProcess, improvedData);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export declare function suggestEntireObject(data: any, methodologyType: string | Record<string, any>, options?: {
|
|
146
|
+
skipPaths?: string[];
|
|
147
|
+
maxRetries?: number;
|
|
148
|
+
}): Promise<any>;
|
|
149
|
+
export { extractJson, fixJsonDataWithAI, suggest, reviewData, getModel };
|
|
150
|
+
//# sourceMappingURL=ai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/core/methodology/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAGL,MAAM,EACP,MAAM,0BAA0B,CAAC;AAQlC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,iBAAe,QAAQ,CAAC,WAAW,EAAE,WAAW,0EAS/C;AAED;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GAAI,QAAQ,GAAG,EAAE,QAAQ,MAAM,EAAE,sBAAmB,KAAG,GA4CvE,CAAC;AAEF,iBAAe,iBAAiB,CAC9B,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EACjB,WAAW,CAAC,EAAE,WAAW,gBA+B1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,GAAG,CAAC,CAwEd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,iBAAe,OAAO,CACpB,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,GAAG,CAAC,CAsDd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,iBAAe,UAAU,CACvB,IAAI,EAAE,GAAG,EACT,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqI3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,GAAG,CAAC,CA8Jd;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC"}
|