@git.zone/tsdoc 1.7.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/aidocs_classes/commit.js +10 -2
- package/dist_ts/aidocs_classes/description.js +2 -2
- package/dist_ts/aidocs_classes/readme.js +2 -2
- package/dist_ts/classes.aidoc.js +7 -3
- package/dist_ts/context/iterative-context-builder.d.ts +6 -2
- package/dist_ts/context/iterative-context-builder.js +35 -12
- package/dist_ts/context/task-context-factory.d.ts +4 -2
- package/dist_ts/context/task-context-factory.js +9 -8
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/aidocs_classes/commit.ts +12 -1
- package/ts/aidocs_classes/description.ts +4 -1
- package/ts/aidocs_classes/readme.ts +4 -1
- package/ts/classes.aidoc.ts +6 -2
- package/ts/context/iterative-context-builder.ts +39 -11
- package/ts/context/task-context-factory.ts +12 -7
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tsdoc',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.8.0',
|
|
7
7
|
description: 'A comprehensive TypeScript documentation tool that leverages AI to generate and enhance project documentation, including dynamic README creation, API docs via TypeDoc, and smart commit message generation.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDhNQUE4TTtDQUM1TixDQUFBIn0=
|
|
@@ -13,9 +13,17 @@ export class Commit {
|
|
|
13
13
|
const diffStringArray = await gitRepo.getUncommittedDiff([
|
|
14
14
|
'pnpm-lock.yaml',
|
|
15
15
|
'package-lock.json',
|
|
16
|
+
'npm-shrinkwrap.json',
|
|
17
|
+
'yarn.lock',
|
|
18
|
+
'deno.lock',
|
|
19
|
+
'bun.lockb',
|
|
20
|
+
'.claude/*',
|
|
21
|
+
'.cursor/*',
|
|
22
|
+
'.vscode/*',
|
|
23
|
+
'.idea/*',
|
|
16
24
|
]);
|
|
17
25
|
// Use the new TaskContextFactory for optimized context
|
|
18
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir);
|
|
26
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir, this.aiDocsRef.openaiInstance);
|
|
19
27
|
await taskContextFactory.initialize();
|
|
20
28
|
// Generate context specifically for commit task
|
|
21
29
|
const contextResult = await taskContextFactory.createContextForCommit(diffStringArray[0] ? diffStringArray.join('\n\n') : 'No changes.');
|
|
@@ -108,4 +116,4 @@ ${JSON.stringify(commitMessages, null, 2)}
|
|
|
108
116
|
return resultObject;
|
|
109
117
|
}
|
|
110
118
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvYWlkb2NzX2NsYXNzZXMvY29tbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXckQsTUFBTSxPQUFPLE1BQU07SUFJakIsWUFBWSxTQUFnQixFQUFFLGFBQXFCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FDL0QsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztZQUN2RCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsV0FBVztZQUNYLFdBQVc7WUFDWCxXQUFXO1lBQ1gsV0FBVztZQUNYLFdBQVc7WUFDWCxTQUFTO1NBQ1YsQ0FBQyxDQUFDO1FBQ0gsdURBQXVEO1FBQ3ZELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FDckYsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMs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
|
|
@@ -7,7 +7,7 @@ export class Description {
|
|
|
7
7
|
}
|
|
8
8
|
async build() {
|
|
9
9
|
// Use the new TaskContextFactory for optimized context
|
|
10
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir);
|
|
10
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir, this.aiDocsRef.openaiInstance);
|
|
11
11
|
await taskContextFactory.initialize();
|
|
12
12
|
// Generate context specifically for description task
|
|
13
13
|
const contextResult = await taskContextFactory.createContextForDescription();
|
|
@@ -58,4 +58,4 @@ Don't wrap the JSON in three ticks json!!!
|
|
|
58
58
|
return result.message;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9haWRvY3NfY2xhc3Nlcy9kZXNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFPckQsTUFBTSxPQUFPLFdBQVc7SUFLdEIsWUFBWSxTQUFnQixFQUFFLGFBQXFCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQix1REFBdUQ7UUFDdkQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUNyRixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUM5QixDQUFDO1FBQ0YsTUFBTSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0QyxxREFBcUQ7UUFDckQsTUFBTSxhQUFhLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQzdFLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFFNUMsNkJBQTZCO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLGFBQWEsQ0FBQyxVQUFVLFlBQVksYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLGNBQWMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFNUwsSUFBSSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDcEQsYUFBYSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlaEI7WUFDQyxjQUFjLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsYUFBYTtTQUMzQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixNQUFNLFlBQVksR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FDcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQ3pELENBQUM7UUFFRixnRUFBZ0U7UUFDaEUsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztRQUNsRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDMUUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUVwRSxZQUFZLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixNQUFNLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUzQiwrQkFBK0I7UUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDO1FBQy9DLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsa0JBQWtCLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDMUQsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDcEQsV0FBVyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0NBQ0YifQ==
|
|
@@ -10,7 +10,7 @@ export class Readme {
|
|
|
10
10
|
async build() {
|
|
11
11
|
let finalReadmeString = ``;
|
|
12
12
|
// Use the new TaskContextFactory for optimized context
|
|
13
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir);
|
|
13
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(this.projectDir, this.aiDocsRef.openaiInstance);
|
|
14
14
|
await taskContextFactory.initialize();
|
|
15
15
|
// Generate context specifically for readme task
|
|
16
16
|
const contextResult = await taskContextFactory.createContextForReadme();
|
|
@@ -131,4 +131,4 @@ The Readme should follow the following template:
|
|
|
131
131
|
return result.message;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvYWlkb2NzX2NsYXNzZXMvcmVhZG1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxNQUFNO0lBS2pCLFlBQVksU0FBZ0IsRUFBRSxhQUFxQjtRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFM0IsdURBQXVEO1FBQ3ZELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FDckYsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FDOUIsQ0FBQztRQUNGLE1BQU0sa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdEMsZ0RBQWdEO1FBQ2hELE1BQU0sYUFBYSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN4RSxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBRTVDLDZCQUE2QjtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixhQUFhLENBQUMsVUFBVSxZQUFZLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxjQUFjLGFBQWEsQ0FBQyxZQUFZLEVB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
|
package/dist_ts/classes.aidoc.js
CHANGED
|
@@ -51,7 +51,7 @@ export class AiDoc {
|
|
|
51
51
|
await this.npmextraKV.writeKey('OPENAI_TOKEN', this.openaiToken);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
if (!this.openaiToken) {
|
|
54
|
+
if (!this.openaiToken && this.npmextraKV) {
|
|
55
55
|
this.openaiToken = await this.npmextraKV.readKey('OPENAI_TOKEN');
|
|
56
56
|
}
|
|
57
57
|
// lets assume we have an OPENAI_Token now
|
|
@@ -61,7 +61,11 @@ export class AiDoc {
|
|
|
61
61
|
await this.openaiInstance.start();
|
|
62
62
|
}
|
|
63
63
|
async stop() {
|
|
64
|
-
|
|
64
|
+
if (this.openaiInstance) {
|
|
65
|
+
await this.openaiInstance.stop();
|
|
66
|
+
}
|
|
67
|
+
// No explicit cleanup needed for npmextraKV or aidocInteract
|
|
68
|
+
// They don't keep event loop alive
|
|
65
69
|
}
|
|
66
70
|
async buildReadme(projectDirArg) {
|
|
67
71
|
const readmeInstance = new aiDocsClasses.Readme(this, projectDirArg);
|
|
@@ -110,4 +114,4 @@ export class AiDoc {
|
|
|
110
114
|
return projectContextInstance.countTokens(text, model);
|
|
111
115
|
}
|
|
112
116
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5haWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuYWlkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sS0FBSztJQVVoQixZQUFZLE9BQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixpRkFBaUY7UUFDakYsSUFBSSxVQUFrQixDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsbURBQW1EO1lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRSxVQUFVLEdBQUcsR0FBRyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJ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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
1
2
|
import type { TaskType, IIterativeContextResult, IIterativeConfig } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Iterative context builder that uses AI to intelligently select files
|
|
@@ -11,12 +12,14 @@ export declare class IterativeContextBuilder {
|
|
|
11
12
|
private config;
|
|
12
13
|
private tokenBudget;
|
|
13
14
|
private openaiInstance;
|
|
15
|
+
private externalOpenaiInstance?;
|
|
14
16
|
/**
|
|
15
17
|
* Creates a new IterativeContextBuilder
|
|
16
18
|
* @param projectRoot - Root directory of the project
|
|
17
19
|
* @param config - Iterative configuration
|
|
20
|
+
* @param openaiInstance - Optional pre-configured OpenAI provider instance
|
|
18
21
|
*/
|
|
19
|
-
constructor(projectRoot: string, config?: Partial<IIterativeConfig
|
|
22
|
+
constructor(projectRoot: string, config?: Partial<IIterativeConfig>, openaiInstance?: plugins.smartai.OpenAiProvider);
|
|
20
23
|
/**
|
|
21
24
|
* Initialize the builder
|
|
22
25
|
*/
|
|
@@ -24,9 +27,10 @@ export declare class IterativeContextBuilder {
|
|
|
24
27
|
/**
|
|
25
28
|
* Build context iteratively using AI decision making
|
|
26
29
|
* @param taskType - Type of task being performed
|
|
30
|
+
* @param additionalContext - Optional additional context (e.g., git diff for commit tasks)
|
|
27
31
|
* @returns Complete iterative context result
|
|
28
32
|
*/
|
|
29
|
-
buildContextIteratively(taskType: TaskType): Promise<IIterativeContextResult>;
|
|
33
|
+
buildContextIteratively(taskType: TaskType, additionalContext?: string): Promise<IIterativeContextResult>;
|
|
30
34
|
/**
|
|
31
35
|
* Scan project files based on task type
|
|
32
36
|
*/
|
|
@@ -14,13 +14,15 @@ export class IterativeContextBuilder {
|
|
|
14
14
|
* Creates a new IterativeContextBuilder
|
|
15
15
|
* @param projectRoot - Root directory of the project
|
|
16
16
|
* @param config - Iterative configuration
|
|
17
|
+
* @param openaiInstance - Optional pre-configured OpenAI provider instance
|
|
17
18
|
*/
|
|
18
|
-
constructor(projectRoot, config) {
|
|
19
|
+
constructor(projectRoot, config, openaiInstance) {
|
|
19
20
|
this.tokenBudget = 190000;
|
|
20
21
|
this.projectRoot = projectRoot;
|
|
21
22
|
this.lazyLoader = new LazyFileLoader(projectRoot);
|
|
22
23
|
this.cache = new ContextCache(projectRoot);
|
|
23
24
|
this.analyzer = new ContextAnalyzer(projectRoot);
|
|
25
|
+
this.externalOpenaiInstance = openaiInstance;
|
|
24
26
|
// Default configuration
|
|
25
27
|
this.config = {
|
|
26
28
|
maxIterations: config?.maxIterations ?? 5,
|
|
@@ -38,23 +40,30 @@ export class IterativeContextBuilder {
|
|
|
38
40
|
const configManager = ConfigManager.getInstance();
|
|
39
41
|
await configManager.initialize(this.projectRoot);
|
|
40
42
|
this.tokenBudget = configManager.getMaxTokens();
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
// Use external OpenAI instance if provided, otherwise create a new one
|
|
44
|
+
if (this.externalOpenaiInstance) {
|
|
45
|
+
this.openaiInstance = this.externalOpenaiInstance;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// Initialize OpenAI instance from environment
|
|
49
|
+
const qenvInstance = new plugins.qenv.Qenv();
|
|
50
|
+
const openaiToken = await qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN');
|
|
51
|
+
if (!openaiToken) {
|
|
52
|
+
throw new Error('OPENAI_TOKEN environment variable is required for iterative context building');
|
|
53
|
+
}
|
|
54
|
+
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
55
|
+
openaiToken,
|
|
56
|
+
});
|
|
57
|
+
await this.openaiInstance.start();
|
|
46
58
|
}
|
|
47
|
-
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
48
|
-
openaiToken,
|
|
49
|
-
});
|
|
50
|
-
await this.openaiInstance.start();
|
|
51
59
|
}
|
|
52
60
|
/**
|
|
53
61
|
* Build context iteratively using AI decision making
|
|
54
62
|
* @param taskType - Type of task being performed
|
|
63
|
+
* @param additionalContext - Optional additional context (e.g., git diff for commit tasks)
|
|
55
64
|
* @returns Complete iterative context result
|
|
56
65
|
*/
|
|
57
|
-
async buildContextIteratively(taskType) {
|
|
66
|
+
async buildContextIteratively(taskType, additionalContext) {
|
|
58
67
|
const startTime = Date.now();
|
|
59
68
|
logger.log('info', '🤖 Starting iterative context building...');
|
|
60
69
|
logger.log('info', ` Task: ${taskType}, Budget: ${this.tokenBudget} tokens, Max iterations: ${this.config.maxIterations}`);
|
|
@@ -73,6 +82,20 @@ export class IterativeContextBuilder {
|
|
|
73
82
|
let apiCallCount = 0;
|
|
74
83
|
let loadedContent = '';
|
|
75
84
|
const includedFiles = [];
|
|
85
|
+
// If additional context (e.g., git diff) is provided, prepend it
|
|
86
|
+
if (additionalContext) {
|
|
87
|
+
const diffSection = `
|
|
88
|
+
====== GIT DIFF ======
|
|
89
|
+
|
|
90
|
+
${additionalContext}
|
|
91
|
+
|
|
92
|
+
====== END OF GIT DIFF ======
|
|
93
|
+
`;
|
|
94
|
+
loadedContent = diffSection;
|
|
95
|
+
const diffTokens = this.countTokens(diffSection);
|
|
96
|
+
totalTokensUsed += diffTokens;
|
|
97
|
+
logger.log('info', `📝 Added git diff to context (${diffTokens} tokens)`);
|
|
98
|
+
}
|
|
76
99
|
// Phase 3: Iterative file selection and loading
|
|
77
100
|
for (let iteration = 1; iteration <= this.config.maxIterations; iteration++) {
|
|
78
101
|
const iterationStart = Date.now();
|
|
@@ -358,4 +381,4 @@ ${file.contents}
|
|
|
358
381
|
}
|
|
359
382
|
}
|
|
360
383
|
}
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0aXZlLWNvbnRleHQtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2NvbnRleHQvaXRlcmF0aXZlLWNvbnRleHQtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBV3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDOzs7O09BSUc7SUFDSCxZQUFZLFdBQW1CLEVBQUUsTUFBa0M7UUFSM0QsZ0JBQVcsR0FBVyxNQUFNLENBQUM7UUFTbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFakQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsSUFBSSxDQUFDO1lBQ3pDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsSUFBSSxFQUFFO1lBQ3BELHVCQUF1QixFQUFFLE1BQU0sRUFBRSx1QkFBdUIs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
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0aXZlLWNvbnRleHQtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2NvbnRleHQvaXRlcmF0aXZlLWNvbnRleHQtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBV3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBVWxDOzs7OztPQUtHO0lBQ0gsWUFDRSxXQUFtQixFQUNuQixNQUFrQyxFQUNsQyxjQUErQztRQWJ6QyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQWVuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDO1FBRTdDLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLElBQUksQ0FBQztZQUN6QyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUs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
|
|
@@ -5,11 +5,13 @@ import type { IIterativeContextResult, TaskType } from './types.js';
|
|
|
5
5
|
export declare class TaskContextFactory {
|
|
6
6
|
private projectDir;
|
|
7
7
|
private configManager;
|
|
8
|
+
private openaiInstance?;
|
|
8
9
|
/**
|
|
9
10
|
* Create a new TaskContextFactory
|
|
10
11
|
* @param projectDirArg The project directory
|
|
12
|
+
* @param openaiInstance Optional pre-configured OpenAI provider instance
|
|
11
13
|
*/
|
|
12
|
-
constructor(projectDirArg: string);
|
|
14
|
+
constructor(projectDirArg: string, openaiInstance?: any);
|
|
13
15
|
/**
|
|
14
16
|
* Initialize the factory
|
|
15
17
|
*/
|
|
@@ -24,7 +26,7 @@ export declare class TaskContextFactory {
|
|
|
24
26
|
createContextForDescription(): Promise<IIterativeContextResult>;
|
|
25
27
|
/**
|
|
26
28
|
* Create context for commit message generation
|
|
27
|
-
* @param gitDiff Optional git diff to include
|
|
29
|
+
* @param gitDiff Optional git diff to include in the context
|
|
28
30
|
*/
|
|
29
31
|
createContextForCommit(gitDiff?: string): Promise<IIterativeContextResult>;
|
|
30
32
|
/**
|
|
@@ -8,10 +8,12 @@ export class TaskContextFactory {
|
|
|
8
8
|
/**
|
|
9
9
|
* Create a new TaskContextFactory
|
|
10
10
|
* @param projectDirArg The project directory
|
|
11
|
+
* @param openaiInstance Optional pre-configured OpenAI provider instance
|
|
11
12
|
*/
|
|
12
|
-
constructor(projectDirArg) {
|
|
13
|
+
constructor(projectDirArg, openaiInstance) {
|
|
13
14
|
this.projectDir = projectDirArg;
|
|
14
15
|
this.configManager = ConfigManager.getInstance();
|
|
16
|
+
this.openaiInstance = openaiInstance;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Initialize the factory
|
|
@@ -23,7 +25,7 @@ export class TaskContextFactory {
|
|
|
23
25
|
* Create context for README generation
|
|
24
26
|
*/
|
|
25
27
|
async createContextForReadme() {
|
|
26
|
-
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig());
|
|
28
|
+
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig(), this.openaiInstance);
|
|
27
29
|
await iterativeBuilder.initialize();
|
|
28
30
|
return await iterativeBuilder.buildContextIteratively('readme');
|
|
29
31
|
}
|
|
@@ -31,19 +33,18 @@ export class TaskContextFactory {
|
|
|
31
33
|
* Create context for description generation
|
|
32
34
|
*/
|
|
33
35
|
async createContextForDescription() {
|
|
34
|
-
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig());
|
|
36
|
+
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig(), this.openaiInstance);
|
|
35
37
|
await iterativeBuilder.initialize();
|
|
36
38
|
return await iterativeBuilder.buildContextIteratively('description');
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Create context for commit message generation
|
|
40
|
-
* @param gitDiff Optional git diff to include
|
|
42
|
+
* @param gitDiff Optional git diff to include in the context
|
|
41
43
|
*/
|
|
42
44
|
async createContextForCommit(gitDiff) {
|
|
43
|
-
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig());
|
|
45
|
+
const iterativeBuilder = new IterativeContextBuilder(this.projectDir, this.configManager.getIterativeConfig(), this.openaiInstance);
|
|
44
46
|
await iterativeBuilder.initialize();
|
|
45
|
-
|
|
46
|
-
return await iterativeBuilder.buildContextIteratively('commit');
|
|
47
|
+
return await iterativeBuilder.buildContextIteratively('commit', gitDiff);
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* Create context for any task type
|
|
@@ -82,4 +83,4 @@ export class TaskContextFactory {
|
|
|
82
83
|
return stats;
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jb250ZXh0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jb250ZXh0L3Rhc2stY29udGV4dC1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFLN0I7Ozs7T0FJRztJQUNILFlBQVksYUFBcUIsRUFBRSxjQUFvQjtRQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCO1FBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FDbEQsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEVBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7UUFDRixNQUFNLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsMkJBQTJCO1FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FDbEQsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEVBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7UUFDRixNQUFNLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLHNCQUFzQixDQUFDLE9BQWdCO1FBQ2xELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FDbEQsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEVBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUM7UUFDRixNQUFNLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQy9CLFFBQWtCLEVBQ2xCLGlCQUEwQjtRQUUxQixRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4RDtnQkFDRSwyQ0FBMkM7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBT3hCLE1BQU0sU0FBUyxHQUFlLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRSxNQUFNLEtBQUssR0FBMEIsRUFBUyxDQUFDO1FBRS9DLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHO2dCQUNoQixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWTtnQkFDNUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTTtnQkFDMUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtnQkFDeEMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTTthQUMzQyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tsdoc",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive TypeScript documentation tool that leverages AI to generate and enhance project documentation, including dynamic README creation, API docs via TypeDoc, and smart commit message generation.",
|
|
6
6
|
"type": "module",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tsdoc',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.8.0',
|
|
7
7
|
description: 'A comprehensive TypeScript documentation tool that leverages AI to generate and enhance project documentation, including dynamic README creation, API docs via TypeDoc, and smart commit message generation.'
|
|
8
8
|
}
|
|
@@ -30,9 +30,20 @@ export class Commit {
|
|
|
30
30
|
const diffStringArray = await gitRepo.getUncommittedDiff([
|
|
31
31
|
'pnpm-lock.yaml',
|
|
32
32
|
'package-lock.json',
|
|
33
|
+
'npm-shrinkwrap.json',
|
|
34
|
+
'yarn.lock',
|
|
35
|
+
'deno.lock',
|
|
36
|
+
'bun.lockb',
|
|
37
|
+
'.claude/*',
|
|
38
|
+
'.cursor/*',
|
|
39
|
+
'.vscode/*',
|
|
40
|
+
'.idea/*',
|
|
33
41
|
]);
|
|
34
42
|
// Use the new TaskContextFactory for optimized context
|
|
35
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
43
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
44
|
+
this.projectDir,
|
|
45
|
+
this.aiDocsRef.openaiInstance
|
|
46
|
+
);
|
|
36
47
|
await taskContextFactory.initialize();
|
|
37
48
|
|
|
38
49
|
// Generate context specifically for commit task
|
|
@@ -19,7 +19,10 @@ export class Description {
|
|
|
19
19
|
|
|
20
20
|
public async build() {
|
|
21
21
|
// Use the new TaskContextFactory for optimized context
|
|
22
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
22
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
23
|
+
this.projectDir,
|
|
24
|
+
this.aiDocsRef.openaiInstance
|
|
25
|
+
);
|
|
23
26
|
await taskContextFactory.initialize();
|
|
24
27
|
|
|
25
28
|
// Generate context specifically for description task
|
|
@@ -18,7 +18,10 @@ export class Readme {
|
|
|
18
18
|
let finalReadmeString = ``;
|
|
19
19
|
|
|
20
20
|
// Use the new TaskContextFactory for optimized context
|
|
21
|
-
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
21
|
+
const taskContextFactory = new (await import('../context/index.js')).TaskContextFactory(
|
|
22
|
+
this.projectDir,
|
|
23
|
+
this.aiDocsRef.openaiInstance
|
|
24
|
+
);
|
|
22
25
|
await taskContextFactory.initialize();
|
|
23
26
|
|
|
24
27
|
// Generate context specifically for readme task
|
package/ts/classes.aidoc.ts
CHANGED
|
@@ -64,7 +64,7 @@ export class AiDoc {
|
|
|
64
64
|
await this.npmextraKV.writeKey('OPENAI_TOKEN', this.openaiToken);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
if (!this.openaiToken) {
|
|
67
|
+
if (!this.openaiToken && this.npmextraKV) {
|
|
68
68
|
this.openaiToken = await this.npmextraKV.readKey('OPENAI_TOKEN');
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -76,7 +76,11 @@ export class AiDoc {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
public async stop() {
|
|
79
|
-
|
|
79
|
+
if (this.openaiInstance) {
|
|
80
|
+
await this.openaiInstance.stop();
|
|
81
|
+
}
|
|
82
|
+
// No explicit cleanup needed for npmextraKV or aidocInteract
|
|
83
|
+
// They don't keep event loop alive
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
public async buildReadme(projectDirArg: string) {
|
|
@@ -28,17 +28,24 @@ export class IterativeContextBuilder {
|
|
|
28
28
|
private config: Required<IIterativeConfig>;
|
|
29
29
|
private tokenBudget: number = 190000;
|
|
30
30
|
private openaiInstance: plugins.smartai.OpenAiProvider;
|
|
31
|
+
private externalOpenaiInstance?: plugins.smartai.OpenAiProvider;
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Creates a new IterativeContextBuilder
|
|
34
35
|
* @param projectRoot - Root directory of the project
|
|
35
36
|
* @param config - Iterative configuration
|
|
37
|
+
* @param openaiInstance - Optional pre-configured OpenAI provider instance
|
|
36
38
|
*/
|
|
37
|
-
constructor(
|
|
39
|
+
constructor(
|
|
40
|
+
projectRoot: string,
|
|
41
|
+
config?: Partial<IIterativeConfig>,
|
|
42
|
+
openaiInstance?: plugins.smartai.OpenAiProvider
|
|
43
|
+
) {
|
|
38
44
|
this.projectRoot = projectRoot;
|
|
39
45
|
this.lazyLoader = new LazyFileLoader(projectRoot);
|
|
40
46
|
this.cache = new ContextCache(projectRoot);
|
|
41
47
|
this.analyzer = new ContextAnalyzer(projectRoot);
|
|
48
|
+
this.externalOpenaiInstance = openaiInstance;
|
|
42
49
|
|
|
43
50
|
// Default configuration
|
|
44
51
|
this.config = {
|
|
@@ -60,24 +67,30 @@ export class IterativeContextBuilder {
|
|
|
60
67
|
await configManager.initialize(this.projectRoot);
|
|
61
68
|
this.tokenBudget = configManager.getMaxTokens();
|
|
62
69
|
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
// Use external OpenAI instance if provided, otherwise create a new one
|
|
71
|
+
if (this.externalOpenaiInstance) {
|
|
72
|
+
this.openaiInstance = this.externalOpenaiInstance;
|
|
73
|
+
} else {
|
|
74
|
+
// Initialize OpenAI instance from environment
|
|
75
|
+
const qenvInstance = new plugins.qenv.Qenv();
|
|
76
|
+
const openaiToken = await qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN');
|
|
77
|
+
if (!openaiToken) {
|
|
78
|
+
throw new Error('OPENAI_TOKEN environment variable is required for iterative context building');
|
|
79
|
+
}
|
|
80
|
+
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
81
|
+
openaiToken,
|
|
82
|
+
});
|
|
83
|
+
await this.openaiInstance.start();
|
|
68
84
|
}
|
|
69
|
-
this.openaiInstance = new plugins.smartai.OpenAiProvider({
|
|
70
|
-
openaiToken,
|
|
71
|
-
});
|
|
72
|
-
await this.openaiInstance.start();
|
|
73
85
|
}
|
|
74
86
|
|
|
75
87
|
/**
|
|
76
88
|
* Build context iteratively using AI decision making
|
|
77
89
|
* @param taskType - Type of task being performed
|
|
90
|
+
* @param additionalContext - Optional additional context (e.g., git diff for commit tasks)
|
|
78
91
|
* @returns Complete iterative context result
|
|
79
92
|
*/
|
|
80
|
-
public async buildContextIteratively(taskType: TaskType): Promise<IIterativeContextResult> {
|
|
93
|
+
public async buildContextIteratively(taskType: TaskType, additionalContext?: string): Promise<IIterativeContextResult> {
|
|
81
94
|
const startTime = Date.now();
|
|
82
95
|
logger.log('info', '🤖 Starting iterative context building...');
|
|
83
96
|
logger.log('info', ` Task: ${taskType}, Budget: ${this.tokenBudget} tokens, Max iterations: ${this.config.maxIterations}`);
|
|
@@ -100,6 +113,21 @@ export class IterativeContextBuilder {
|
|
|
100
113
|
let loadedContent = '';
|
|
101
114
|
const includedFiles: IFileInfo[] = [];
|
|
102
115
|
|
|
116
|
+
// If additional context (e.g., git diff) is provided, prepend it
|
|
117
|
+
if (additionalContext) {
|
|
118
|
+
const diffSection = `
|
|
119
|
+
====== GIT DIFF ======
|
|
120
|
+
|
|
121
|
+
${additionalContext}
|
|
122
|
+
|
|
123
|
+
====== END OF GIT DIFF ======
|
|
124
|
+
`;
|
|
125
|
+
loadedContent = diffSection;
|
|
126
|
+
const diffTokens = this.countTokens(diffSection);
|
|
127
|
+
totalTokensUsed += diffTokens;
|
|
128
|
+
logger.log('info', `📝 Added git diff to context (${diffTokens} tokens)`);
|
|
129
|
+
}
|
|
130
|
+
|
|
103
131
|
// Phase 3: Iterative file selection and loading
|
|
104
132
|
for (let iteration = 1; iteration <= this.config.maxIterations; iteration++) {
|
|
105
133
|
const iterationStart = Date.now();
|
|
@@ -9,14 +9,17 @@ import type { IIterativeContextResult, TaskType } from './types.js';
|
|
|
9
9
|
export class TaskContextFactory {
|
|
10
10
|
private projectDir: string;
|
|
11
11
|
private configManager: ConfigManager;
|
|
12
|
+
private openaiInstance?: any; // OpenAI provider instance
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Create a new TaskContextFactory
|
|
15
16
|
* @param projectDirArg The project directory
|
|
17
|
+
* @param openaiInstance Optional pre-configured OpenAI provider instance
|
|
16
18
|
*/
|
|
17
|
-
constructor(projectDirArg: string) {
|
|
19
|
+
constructor(projectDirArg: string, openaiInstance?: any) {
|
|
18
20
|
this.projectDir = projectDirArg;
|
|
19
21
|
this.configManager = ConfigManager.getInstance();
|
|
22
|
+
this.openaiInstance = openaiInstance;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
/**
|
|
@@ -32,7 +35,8 @@ export class TaskContextFactory {
|
|
|
32
35
|
public async createContextForReadme(): Promise<IIterativeContextResult> {
|
|
33
36
|
const iterativeBuilder = new IterativeContextBuilder(
|
|
34
37
|
this.projectDir,
|
|
35
|
-
this.configManager.getIterativeConfig()
|
|
38
|
+
this.configManager.getIterativeConfig(),
|
|
39
|
+
this.openaiInstance
|
|
36
40
|
);
|
|
37
41
|
await iterativeBuilder.initialize();
|
|
38
42
|
return await iterativeBuilder.buildContextIteratively('readme');
|
|
@@ -44,7 +48,8 @@ export class TaskContextFactory {
|
|
|
44
48
|
public async createContextForDescription(): Promise<IIterativeContextResult> {
|
|
45
49
|
const iterativeBuilder = new IterativeContextBuilder(
|
|
46
50
|
this.projectDir,
|
|
47
|
-
this.configManager.getIterativeConfig()
|
|
51
|
+
this.configManager.getIterativeConfig(),
|
|
52
|
+
this.openaiInstance
|
|
48
53
|
);
|
|
49
54
|
await iterativeBuilder.initialize();
|
|
50
55
|
return await iterativeBuilder.buildContextIteratively('description');
|
|
@@ -52,16 +57,16 @@ export class TaskContextFactory {
|
|
|
52
57
|
|
|
53
58
|
/**
|
|
54
59
|
* Create context for commit message generation
|
|
55
|
-
* @param gitDiff Optional git diff to include
|
|
60
|
+
* @param gitDiff Optional git diff to include in the context
|
|
56
61
|
*/
|
|
57
62
|
public async createContextForCommit(gitDiff?: string): Promise<IIterativeContextResult> {
|
|
58
63
|
const iterativeBuilder = new IterativeContextBuilder(
|
|
59
64
|
this.projectDir,
|
|
60
|
-
this.configManager.getIterativeConfig()
|
|
65
|
+
this.configManager.getIterativeConfig(),
|
|
66
|
+
this.openaiInstance
|
|
61
67
|
);
|
|
62
68
|
await iterativeBuilder.initialize();
|
|
63
|
-
|
|
64
|
-
return await iterativeBuilder.buildContextIteratively('commit');
|
|
69
|
+
return await iterativeBuilder.buildContextIteratively('commit', gitDiff);
|
|
65
70
|
}
|
|
66
71
|
|
|
67
72
|
/**
|