intention-coding 0.4.5 → 0.4.8
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/index.cjs
CHANGED
|
@@ -5011,6 +5011,7 @@ ${requirementSection}
|
|
|
5011
5011
|
logger_logger.info("\u5F00\u59CB\u56FE\u7247\u5185\u5BB9\u5206\u6790", {
|
|
5012
5012
|
imagePath: imagePath
|
|
5013
5013
|
});
|
|
5014
|
+
await this.validateParams(imagePath);
|
|
5014
5015
|
const basicInfo = await this.getImageBasicInfo(imagePath);
|
|
5015
5016
|
const analysisContent = await this.performAIAnalysis(imagePath, basicInfo);
|
|
5016
5017
|
const processingTime = Date.now() - startTime;
|
|
@@ -5556,13 +5557,15 @@ ${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}
|
|
|
5556
5557
|
}
|
|
5557
5558
|
}
|
|
5558
5559
|
const ImageAnalysisParamsSchema = objectType({
|
|
5559
|
-
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84")
|
|
5560
|
+
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84"),
|
|
5561
|
+
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u5F53\u524D\u5DE5\u7A0B\u7684.aico/image-recognition\u76EE\u5F55")
|
|
5560
5562
|
});
|
|
5561
|
-
const
|
|
5562
|
-
name: "
|
|
5563
|
-
description: "\u4E13\u4E1A\u56FE\u7247\u5185\u5BB9\u5206\u6790\u5DE5\u5177\uFF0C\u652F\u6301\u901A\u7528\u5206\u6790\u3001\u7269\u4F53\u8BC6\u522B\u3001\u6587\u5B57\u8BC6\u522B\u3001\u573A\u666F\u5206\u6790\u3001\u4EBA\u7269\u5206\u6790\u3001\u6280\u672F\u5206\u6790\u3001UI\u8BBE\u8BA1\u7A3F\u5206\u6790\u3001\u9700\u6C42\u8BC6\u522B\u7B49\u591A\u79CD\u6A21\u5F0F\uFF0C\u7279\u522B\u64C5\u957FUI\u8BBE\u8BA1\u7A3F\u7684\u7ED3\u6784\u5206\u6790\u548C\u9875\u9762\u9700\u6C42\u63D0\u53D6\u3002\u5206\u6790\u7ED3\u679C\u5C06\u4FDD\u5B58\
|
|
5563
|
+
const read_imageTool = {
|
|
5564
|
+
name: "read_image",
|
|
5565
|
+
description: "\u4E13\u4E1A\u56FE\u7247\u5185\u5BB9\u5206\u6790\u5DE5\u5177\uFF0C\u652F\u6301\u901A\u7528\u5206\u6790\u3001\u7269\u4F53\u8BC6\u522B\u3001\u6587\u5B57\u8BC6\u522B\u3001\u573A\u666F\u5206\u6790\u3001\u4EBA\u7269\u5206\u6790\u3001\u6280\u672F\u5206\u6790\u3001UI\u8BBE\u8BA1\u7A3F\u5206\u6790\u3001\u9700\u6C42\u8BC6\u522B\u7B49\u591A\u79CD\u6A21\u5F0F\uFF0C\u7279\u522B\u64C5\u957FUI\u8BBE\u8BA1\u7A3F\u7684\u7ED3\u6784\u5206\u6790\u548C\u9875\u9762\u9700\u6C42\u63D0\u53D6\u3002\u5206\u6790\u7ED3\u679C\u5C06\u4FDD\u5B58\u5230\u5F53\u524D\u5DE5\u7A0B\u7684.aico/image-recognition\u76EE\u5F55\u3002",
|
|
5564
5566
|
inputSchema: {
|
|
5565
|
-
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84")
|
|
5567
|
+
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84"),
|
|
5568
|
+
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u5F53\u524D\u5DE5\u7A0B\u7684.aico/image-recognition\u76EE\u5F55")
|
|
5566
5569
|
},
|
|
5567
5570
|
handler: async (args)=>{
|
|
5568
5571
|
initializeProjectRoot();
|
|
@@ -5573,7 +5576,7 @@ ${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}
|
|
|
5573
5576
|
});
|
|
5574
5577
|
const validatedArgs = ImageAnalysisParamsSchema.parse(args);
|
|
5575
5578
|
const result = await analyzer.analyzeImage(validatedArgs.image_path);
|
|
5576
|
-
const outputPath = await generateOutputFile(result, validatedArgs.image_path);
|
|
5579
|
+
const outputPath = await generateOutputFile(result, validatedArgs.image_path, validatedArgs.output_path);
|
|
5577
5580
|
formatAnalysisResult(result, validatedArgs);
|
|
5578
5581
|
logger_logger.info("\u56FE\u7247\u5185\u5BB9\u7406\u89E3\u667A\u80FD\u4F53\u6267\u884C\u5B8C\u6210", {
|
|
5579
5582
|
imagePath: validatedArgs.image_path,
|
|
@@ -5653,33 +5656,43 @@ ${result.content.tags.map((tag)=>`\`${tag}\``).join(' ')}
|
|
|
5653
5656
|
}
|
|
5654
5657
|
}
|
|
5655
5658
|
};
|
|
5656
|
-
|
|
5657
|
-
async function generateOutputFile(result, imagePath) {
|
|
5659
|
+
async function generateOutputFile(result, imagePath, outputPath) {
|
|
5658
5660
|
try {
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5661
|
+
let finalOutputPath;
|
|
5662
|
+
if (outputPath) {
|
|
5663
|
+
finalOutputPath = outputPath;
|
|
5664
|
+
const outputDir = external_path_namespaceObject.dirname(finalOutputPath);
|
|
5665
|
+
await promises_namespaceObject.mkdir(outputDir, {
|
|
5666
|
+
recursive: true
|
|
5667
|
+
});
|
|
5668
|
+
} else {
|
|
5669
|
+
const baseDir = config_getStorageDir();
|
|
5670
|
+
const dateDir = new Date().toISOString().split('T')[0];
|
|
5671
|
+
const outputDirectory = external_path_namespaceObject.join(baseDir, 'image-recognition', dateDir);
|
|
5672
|
+
await promises_namespaceObject.mkdir(outputDirectory, {
|
|
5673
|
+
recursive: true
|
|
5674
|
+
});
|
|
5675
|
+
const timestamp = new Date().toTimeString().slice(0, 8).replace(/:/g, '');
|
|
5676
|
+
const imageBaseName = external_path_namespaceObject.basename(imagePath, external_path_namespaceObject.extname(imagePath));
|
|
5677
|
+
const fileName = `${imageBaseName}_analysis_${timestamp}.md`;
|
|
5678
|
+
finalOutputPath = external_path_namespaceObject.join(outputDirectory, fileName);
|
|
5679
|
+
}
|
|
5669
5680
|
const reportContent = generateAnalysisReport(result, imagePath);
|
|
5670
|
-
await promises_namespaceObject.writeFile(
|
|
5681
|
+
await promises_namespaceObject.writeFile(finalOutputPath, reportContent, 'utf8');
|
|
5671
5682
|
logger_logger.info("\u5206\u6790\u62A5\u544A\u5DF2\u751F\u6210", {
|
|
5672
|
-
outputPath,
|
|
5673
|
-
fileSize: await getFileSize(
|
|
5683
|
+
outputPath: finalOutputPath,
|
|
5684
|
+
fileSize: await getFileSize(finalOutputPath)
|
|
5674
5685
|
});
|
|
5675
|
-
return
|
|
5686
|
+
return finalOutputPath;
|
|
5676
5687
|
} catch (error) {
|
|
5677
5688
|
logger_logger.error("\u751F\u6210\u8F93\u51FA\u6587\u4EF6\u5931\u8D25", {
|
|
5678
5689
|
error,
|
|
5679
|
-
imagePath
|
|
5690
|
+
imagePath,
|
|
5691
|
+
outputPath
|
|
5680
5692
|
});
|
|
5681
5693
|
throw new ImageAnalysisError(`\u{751F}\u{6210}\u{8F93}\u{51FA}\u{6587}\u{4EF6}\u{5931}\u{8D25}: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`, types_AnalysisErrorCodes.ANALYSIS_FAILED, {
|
|
5682
5694
|
imagePath,
|
|
5695
|
+
outputPath,
|
|
5683
5696
|
error
|
|
5684
5697
|
});
|
|
5685
5698
|
}
|
|
@@ -10095,7 +10108,7 @@ ${new Date().toISOString()}
|
|
|
10095
10108
|
initProjectStandard,
|
|
10096
10109
|
requirementAnalyzerTool,
|
|
10097
10110
|
changeSummarizer,
|
|
10098
|
-
|
|
10111
|
+
read_imageTool,
|
|
10099
10112
|
imageConverterTool,
|
|
10100
10113
|
codeGeneratorTool,
|
|
10101
10114
|
imageRecognitionAgentTool,
|
|
@@ -1,24 +1,61 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
declare const ImageAnalysisParamsSchema: z.ZodObject<{
|
|
3
3
|
image_path: z.ZodString;
|
|
4
|
+
output_path: z.ZodOptional<z.ZodString>;
|
|
4
5
|
}, "strip", z.ZodTypeAny, {
|
|
5
6
|
image_path: string;
|
|
7
|
+
output_path?: string | undefined;
|
|
6
8
|
}, {
|
|
7
9
|
image_path: string;
|
|
10
|
+
output_path?: string | undefined;
|
|
8
11
|
}>;
|
|
9
12
|
export type ImageAnalysisToolParams = z.infer<typeof ImageAnalysisParamsSchema>;
|
|
10
13
|
/**
|
|
11
14
|
* 图片内容理解智能体
|
|
12
15
|
* 提供多种类型的图片内容分析和理解,并输出到image-recognition目录
|
|
13
16
|
*/
|
|
17
|
+
export declare const read_imageTool: {
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
inputSchema: {
|
|
21
|
+
image_path: z.ZodString;
|
|
22
|
+
output_path: z.ZodOptional<z.ZodString>;
|
|
23
|
+
};
|
|
24
|
+
handler: (args: {
|
|
25
|
+
image_path: string;
|
|
26
|
+
output_path?: string;
|
|
27
|
+
}) => Promise<{
|
|
28
|
+
content: {
|
|
29
|
+
type: string;
|
|
30
|
+
text: string;
|
|
31
|
+
}[];
|
|
32
|
+
metadata: {
|
|
33
|
+
actions: {
|
|
34
|
+
type: string;
|
|
35
|
+
path: string;
|
|
36
|
+
description: string;
|
|
37
|
+
}[];
|
|
38
|
+
};
|
|
39
|
+
isError?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
content: {
|
|
42
|
+
type: string;
|
|
43
|
+
text: string;
|
|
44
|
+
}[];
|
|
45
|
+
isError: boolean;
|
|
46
|
+
metadata?: undefined;
|
|
47
|
+
}>;
|
|
48
|
+
};
|
|
14
49
|
export declare const imageAnalysisTool: {
|
|
15
50
|
name: string;
|
|
16
51
|
description: string;
|
|
17
52
|
inputSchema: {
|
|
18
53
|
image_path: z.ZodString;
|
|
54
|
+
output_path: z.ZodOptional<z.ZodString>;
|
|
19
55
|
};
|
|
20
56
|
handler: (args: {
|
|
21
57
|
image_path: string;
|
|
58
|
+
output_path?: string;
|
|
22
59
|
}) => Promise<{
|
|
23
60
|
content: {
|
|
24
61
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,yBAAyB;;;;;;;;;EAI3B,CAAC;AAEL,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;oBASH;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;CA6FnE,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;oBAhGN;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;CAgGrB,CAAC;AAsmBhD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/types.ts"],"names":[],"mappings":"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"}
|