@git.zone/tsdoc 1.1.27 → 1.1.28
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_ts/aidocs_classes/description.js +21 -17
- package/dist_ts/aidocs_classes/readme.js +10 -6
- package/dist_ts/classes.aidoc.js +4 -2
- package/package.json +6 -6
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/aidocs_classes/description.ts +23 -23
- package/ts/aidocs_classes/readme.ts +9 -9
- package/ts/classes.aidoc.ts +3 -1
|
@@ -9,24 +9,28 @@ export class Description {
|
|
|
9
9
|
// we can now assemble the directory structure.
|
|
10
10
|
const projectContext = new ProjectContext(this.projectDir);
|
|
11
11
|
const contextString = await projectContext.update();
|
|
12
|
-
let result = await this.aiDocsRef.openaiInstance.chat(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
let result = await this.aiDocsRef.openaiInstance.chat({
|
|
13
|
+
systemMessage: `
|
|
14
|
+
You create a json adhering the following interface:
|
|
15
|
+
{
|
|
16
|
+
description: string; // a sensible short, one sentence description of the project
|
|
17
|
+
keywords: string[]; // an array of tags that describe the project
|
|
18
|
+
}
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
The description should be based on what you understand from the project's files.
|
|
21
|
+
The keywords should be based on use cases you see from the files.
|
|
22
|
+
Don't be cheap about the way you think.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
Important: Answer only in valid JSON.
|
|
25
|
+
You answer should be parseable with JSON.parse() without modifying anything.
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
Don't wrap the JSON in three ticks json!!!
|
|
28
|
+
`,
|
|
29
|
+
messageHistory: [],
|
|
30
|
+
userMessage: contextString,
|
|
31
|
+
});
|
|
32
|
+
console.log(result.message);
|
|
33
|
+
const resultObject = JSON.parse(result.message.replace('```json', '').replace('```', ''));
|
|
30
34
|
const npmextraJson = (await projectContext.gatherFiles()).smartfilesNpmextraJSON;
|
|
31
35
|
const npmextraJsonContent = JSON.parse(npmextraJson.contents.toString());
|
|
32
36
|
npmextraJsonContent.gitzone.module.description = resultObject.description;
|
|
@@ -43,7 +47,7 @@ export class Description {
|
|
|
43
47
|
console.log(`\n======================\n`);
|
|
44
48
|
console.log(JSON.stringify(resultObject, null, 2));
|
|
45
49
|
console.log(`\n======================\n`);
|
|
46
|
-
return result.message
|
|
50
|
+
return result.message;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9haWRvY3NfY2xhc3Nlcy9kZXNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFPckQsTUFBTSxPQUFPLFdBQVc7SUFLdEIsWUFBWSxTQUFnQixFQUFFLGFBQXFCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQiwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sYUFBYSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXBELElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3BELGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0tBZWhCO1lBQ0MsY0FBYyxFQUFFLEVBQUU7WUFDbEIsV0FBVyxFQUFFLGFBQWE7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsTUFBTSxZQUFZLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUMxRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXBFLFlBQVksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTNCLCtCQUErQjtRQUMvQixNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFDOUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RSxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUMxRCxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxXQUFXLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUxQixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
|
|
@@ -17,7 +17,8 @@ export class Readme {
|
|
|
17
17
|
const error = new Error(`No legal information found in npmextra.json`);
|
|
18
18
|
console.log(error);
|
|
19
19
|
}
|
|
20
|
-
let result = await this.aiDocsRef.openaiInstance.chat(
|
|
20
|
+
let result = await this.aiDocsRef.openaiInstance.chat({
|
|
21
|
+
systemMessage: `
|
|
21
22
|
You create markdown readmes for npm projects. You only output the markdown readme.
|
|
22
23
|
|
|
23
24
|
The Readme should follow the following template:
|
|
@@ -51,15 +52,18 @@ The Readme should follow the following template:
|
|
|
51
52
|
* npmextra.json contains overall module information.
|
|
52
53
|
* readme.hints.md provides valuable hints about module ideas.
|
|
53
54
|
]
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
`,
|
|
56
|
+
messageHistory: [],
|
|
57
|
+
userMessage: contextString,
|
|
58
|
+
});
|
|
59
|
+
finalReadmeString += result.message + '\n' + legalInfo;
|
|
56
60
|
console.log(`\n======================\n`);
|
|
57
|
-
console.log(result.message
|
|
61
|
+
console.log(result.message);
|
|
58
62
|
console.log(`\n======================\n`);
|
|
59
63
|
const readme = (await projectContext.gatherFiles()).smartfilesReadme;
|
|
60
64
|
readme.contents = Buffer.from(finalReadmeString);
|
|
61
65
|
await readme.write();
|
|
62
|
-
return result.message
|
|
66
|
+
return result.message;
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvYWlkb2NzX2NsYXNzZXMvcmVhZG1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sTUFBTTtJQU1qQixZQUFZLFNBQWdCLEVBQUUsYUFBcUI7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRTNCLCtDQUErQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFcEQscURBQXFEO1FBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuSCxNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUM1QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3BELGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQWtDUjtZQUNQLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxhQUFhO1NBQzNCLENBQUMsQ0FBQztRQUdILGlCQUFpQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUl2RCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRSxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNGIn0=
|
package/dist_ts/classes.aidoc.js
CHANGED
|
@@ -55,7 +55,9 @@ export class AiDoc {
|
|
|
55
55
|
this.openaiToken = await this.npmextraKV.readKey('OPENAI_TOKEN');
|
|
56
56
|
}
|
|
57
57
|
// lets assume we have an OPENAI_Token now
|
|
58
|
-
this.openaiInstance = new plugins.smartai.OpenAiProvider(
|
|
58
|
+
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
59
|
+
openaiToken: this.openaiToken,
|
|
60
|
+
});
|
|
59
61
|
await this.openaiInstance.start();
|
|
60
62
|
}
|
|
61
63
|
async buildReadme(projectDirArg) {
|
|
@@ -67,4 +69,4 @@ export class AiDoc {
|
|
|
67
69
|
return await descriptionInstance.build();
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5haWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuYWlkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sS0FBSztJQVVoQixZQUFZLE9BQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixpRkFBaUY7UUFDakYsSUFBSSxVQUFrQixDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsbURBQW1EO1lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRSxVQUFVLEdBQUcsR0FBRyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tsdoc",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.28",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -12,24 +12,24 @@
|
|
|
12
12
|
"tsdoc": "cli.js"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@git.zone/tsbuild": "^2.1.
|
|
15
|
+
"@git.zone/tsbuild": "^2.1.76",
|
|
16
16
|
"@git.zone/tsrun": "^1.2.46",
|
|
17
17
|
"@git.zone/tstest": "^1.0.90",
|
|
18
18
|
"@push.rocks/tapbundle": "^5.0.23",
|
|
19
|
-
"@types/node": "^20.12.
|
|
19
|
+
"@types/node": "^20.12.12"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@push.rocks/early": "^4.0.3",
|
|
23
23
|
"@push.rocks/npmextra": "^5.0.13",
|
|
24
24
|
"@push.rocks/qenv": "^6.0.5",
|
|
25
|
-
"@push.rocks/smartai": "^0.0.
|
|
25
|
+
"@push.rocks/smartai": "^0.0.17",
|
|
26
26
|
"@push.rocks/smartcli": "^4.0.10",
|
|
27
27
|
"@push.rocks/smartdelay": "^3.0.5",
|
|
28
28
|
"@push.rocks/smartfile": "^11.0.14",
|
|
29
29
|
"@push.rocks/smartinteract": "^2.0.15",
|
|
30
30
|
"@push.rocks/smartlog": "^3.0.1",
|
|
31
|
-
"@push.rocks/smartlog-destination-local": "^9.0.
|
|
32
|
-
"@push.rocks/smartpath": "^5.0.
|
|
31
|
+
"@push.rocks/smartlog-destination-local": "^9.0.2",
|
|
32
|
+
"@push.rocks/smartpath": "^5.0.18",
|
|
33
33
|
"@push.rocks/smartshell": "^3.0.5",
|
|
34
34
|
"typedoc": "^0.25.13",
|
|
35
35
|
"typescript": "^5.4.5"
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -8,7 +8,6 @@ interface IDescriptionInterface {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export class Description {
|
|
11
|
-
|
|
12
11
|
// INSTANCE
|
|
13
12
|
private aiDocsRef: AiDoc;
|
|
14
13
|
private projectDir: string;
|
|
@@ -23,30 +22,32 @@ export class Description {
|
|
|
23
22
|
const projectContext = new ProjectContext(this.projectDir);
|
|
24
23
|
const contextString = await projectContext.update();
|
|
25
24
|
|
|
26
|
-
let result = await this.aiDocsRef.openaiInstance.chat(
|
|
27
|
-
`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
let result = await this.aiDocsRef.openaiInstance.chat({
|
|
26
|
+
systemMessage: `
|
|
27
|
+
You create a json adhering the following interface:
|
|
28
|
+
{
|
|
29
|
+
description: string; // a sensible short, one sentence description of the project
|
|
30
|
+
keywords: string[]; // an array of tags that describe the project
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
The description should be based on what you understand from the project's files.
|
|
34
|
+
The keywords should be based on use cases you see from the files.
|
|
35
|
+
Don't be cheap about the way you think.
|
|
33
36
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Don't be cheap about the way you think.
|
|
37
|
+
Important: Answer only in valid JSON.
|
|
38
|
+
You answer should be parseable with JSON.parse() without modifying anything.
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
Don't wrap the JSON in three ticks json!!!
|
|
41
|
+
`,
|
|
42
|
+
messageHistory: [],
|
|
43
|
+
userMessage: contextString,
|
|
44
|
+
});
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
[]
|
|
46
|
+
console.log(result.message);
|
|
47
|
+
const resultObject: IDescriptionInterface = JSON.parse(
|
|
48
|
+
result.message.replace('```json', '').replace('```', '')
|
|
45
49
|
);
|
|
46
50
|
|
|
47
|
-
console.log(result.message.content);
|
|
48
|
-
const resultObject: IDescriptionInterface = JSON.parse(result.message.content.replace('```json', '').replace('```', ''));
|
|
49
|
-
|
|
50
51
|
const npmextraJson = (await projectContext.gatherFiles()).smartfilesNpmextraJSON;
|
|
51
52
|
const npmextraJsonContent = JSON.parse(npmextraJson.contents.toString());
|
|
52
53
|
|
|
@@ -64,10 +65,9 @@ export class Description {
|
|
|
64
65
|
packageJson.contents = Buffer.from(JSON.stringify(packageJsonContent, null, 2));
|
|
65
66
|
await packageJson.write();
|
|
66
67
|
|
|
67
|
-
|
|
68
68
|
console.log(`\n======================\n`);
|
|
69
69
|
console.log(JSON.stringify(resultObject, null, 2));
|
|
70
70
|
console.log(`\n======================\n`);
|
|
71
|
-
return result.message
|
|
71
|
+
return result.message;
|
|
72
72
|
}
|
|
73
|
-
}
|
|
73
|
+
}
|
|
@@ -28,8 +28,8 @@ export class Readme {
|
|
|
28
28
|
console.log(error);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
let result = await this.aiDocsRef.openaiInstance.chat(
|
|
32
|
-
`
|
|
31
|
+
let result = await this.aiDocsRef.openaiInstance.chat({
|
|
32
|
+
systemMessage: `
|
|
33
33
|
You create markdown readmes for npm projects. You only output the markdown readme.
|
|
34
34
|
|
|
35
35
|
The Readme should follow the following template:
|
|
@@ -63,24 +63,24 @@ The Readme should follow the following template:
|
|
|
63
63
|
* npmextra.json contains overall module information.
|
|
64
64
|
* readme.hints.md provides valuable hints about module ideas.
|
|
65
65
|
]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
);
|
|
66
|
+
`,
|
|
67
|
+
messageHistory: [],
|
|
68
|
+
userMessage: contextString,
|
|
69
|
+
});
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
finalReadmeString += result.message
|
|
72
|
+
finalReadmeString += result.message + '\n' + legalInfo;
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
console.log(`\n======================\n`);
|
|
77
|
-
console.log(result.message
|
|
77
|
+
console.log(result.message);
|
|
78
78
|
console.log(`\n======================\n`);
|
|
79
79
|
|
|
80
80
|
const readme = (await projectContext.gatherFiles()).smartfilesReadme;
|
|
81
81
|
readme.contents = Buffer.from(finalReadmeString);
|
|
82
82
|
await readme.write();
|
|
83
83
|
|
|
84
|
-
return result.message
|
|
84
|
+
return result.message;
|
|
85
85
|
}
|
|
86
86
|
}
|
package/ts/classes.aidoc.ts
CHANGED
|
@@ -69,7 +69,9 @@ export class AiDoc {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
// lets assume we have an OPENAI_Token now
|
|
72
|
-
this.openaiInstance = new plugins.smartai.OpenAiProvider(
|
|
72
|
+
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
73
|
+
openaiToken: this.openaiToken,
|
|
74
|
+
});
|
|
73
75
|
await this.openaiInstance.start();
|
|
74
76
|
}
|
|
75
77
|
|