@git.zone/tsdoc 1.12.0 → 2.0.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 +2 -2
- package/dist_ts/aidocs_classes/commit.js +53 -86
- package/dist_ts/aidocs_classes/description.js +36 -55
- package/dist_ts/aidocs_classes/projectcontext.js +2 -2
- package/dist_ts/aidocs_classes/readme.js +60 -98
- package/dist_ts/classes.aidoc.d.ts +2 -7
- package/dist_ts/classes.aidoc.js +14 -24
- package/dist_ts/plugins.d.ts +3 -2
- package/dist_ts/plugins.js +4 -3
- package/package.json +14 -14
- package/readme.md +137 -313
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/aidocs_classes/commit.ts +52 -88
- package/ts/aidocs_classes/description.ts +38 -58
- package/ts/aidocs_classes/projectcontext.ts +1 -1
- package/ts/aidocs_classes/readme.ts +60 -99
- package/ts/classes.aidoc.ts +18 -29
- package/ts/plugins.ts +3 -1
|
@@ -11,58 +11,35 @@ export class Readme {
|
|
|
11
11
|
let finalReadmeString = ``;
|
|
12
12
|
// First check legal info before introducing any cost
|
|
13
13
|
const projectContext = new ProjectContext(this.projectDir);
|
|
14
|
-
const
|
|
15
|
-
const legalInfo =
|
|
14
|
+
const smartconfigJson = JSON.parse((await projectContext.gatherFiles()).smartfilesNpmextraJSON.contents.toString());
|
|
15
|
+
const legalInfo = smartconfigJson?.['@git.zone/tsdoc']?.legal;
|
|
16
16
|
if (!legalInfo) {
|
|
17
|
-
const error = new Error(`No legal information found in
|
|
17
|
+
const error = new Error(`No legal information found in smartconfig.json`);
|
|
18
18
|
console.log(error);
|
|
19
19
|
}
|
|
20
|
-
// Use
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
defaultProvider: 'openai',
|
|
24
|
-
maxIterations: 25,
|
|
25
|
-
maxResultChars: 15000, // Limit tool output to prevent token explosion
|
|
26
|
-
maxHistoryMessages: 20, // Limit history window
|
|
27
|
-
logPrefix: '[README]',
|
|
28
|
-
onProgress: (event) => logger.log(event.logLevel, event.logMessage),
|
|
29
|
-
guardianPolicyPrompt: `
|
|
30
|
-
You validate README generation tool calls and outputs.
|
|
31
|
-
|
|
32
|
-
APPROVE tool calls for:
|
|
33
|
-
- Reading any files within the project directory (package.json, ts/*.ts, readme.md, etc.)
|
|
34
|
-
- Using tree to see project structure
|
|
35
|
-
- Using glob to find source files
|
|
36
|
-
- Listing directory contents
|
|
37
|
-
|
|
38
|
-
REJECT tool calls for:
|
|
39
|
-
- Reading files outside the project directory
|
|
40
|
-
- Writing, deleting, or modifying any files
|
|
41
|
-
- Any destructive operations
|
|
42
|
-
|
|
43
|
-
For final README output, APPROVE if:
|
|
44
|
-
- README follows proper markdown format
|
|
45
|
-
- Contains Install and Usage sections
|
|
46
|
-
- Code examples are correct TypeScript/ESM syntax
|
|
47
|
-
- Documentation is comprehensive and helpful
|
|
48
|
-
|
|
49
|
-
REJECT final output if:
|
|
50
|
-
- README is incomplete or poorly formatted
|
|
51
|
-
- Contains licensing information (added separately)
|
|
52
|
-
- Uses CommonJS syntax instead of ESM
|
|
53
|
-
- Contains "in conclusion" or similar filler
|
|
54
|
-
`,
|
|
55
|
-
});
|
|
56
|
-
// Register scoped filesystem tool for agent exploration
|
|
57
|
-
readmeOrchestrator.registerScopedFilesystemTool(this.projectDir);
|
|
58
|
-
await readmeOrchestrator.start();
|
|
59
|
-
const readmeTaskPrompt = `
|
|
20
|
+
// Use runAgent with filesystem tool for agent-driven exploration
|
|
21
|
+
const fsTools = plugins.smartagentTools.filesystemTool({ rootDir: this.projectDir });
|
|
22
|
+
const readmeSystemPrompt = `
|
|
60
23
|
You create markdown READMEs for npm projects. You only output the markdown readme.
|
|
61
24
|
|
|
25
|
+
You have access to filesystem tools to explore the project. Use them to understand the codebase.
|
|
26
|
+
|
|
27
|
+
IMPORTANT RULES:
|
|
28
|
+
- Only READ files within the project directory
|
|
29
|
+
- Do NOT write, delete, or modify any files
|
|
30
|
+
- README must follow proper markdown format
|
|
31
|
+
- Must contain Install and Usage sections
|
|
32
|
+
- Code examples must use correct TypeScript/ESM syntax
|
|
33
|
+
- Documentation must be comprehensive and helpful
|
|
34
|
+
- Do NOT include licensing information (added separately)
|
|
35
|
+
- Do NOT use CommonJS syntax - only ESM
|
|
36
|
+
- Do NOT include "in conclusion" or similar filler
|
|
37
|
+
`;
|
|
38
|
+
const readmeTaskPrompt = `
|
|
62
39
|
PROJECT DIRECTORY: ${this.projectDir}
|
|
63
40
|
|
|
64
|
-
Use the filesystem
|
|
65
|
-
1. First, use
|
|
41
|
+
Use the filesystem tools to explore the project and understand what it does:
|
|
42
|
+
1. First, use list_directory to see the project structure
|
|
66
43
|
2. Read package.json to understand the package name, description, and dependencies
|
|
67
44
|
3. Read the existing readme.md if it exists (use it as a base, improve and expand)
|
|
68
45
|
4. Read readme.hints.md if it exists (contains hints for documentation)
|
|
@@ -91,13 +68,17 @@ Then generate a comprehensive README following this template:
|
|
|
91
68
|
Avoid "in conclusion" statements.
|
|
92
69
|
]
|
|
93
70
|
`;
|
|
94
|
-
|
|
95
|
-
await
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
71
|
+
logger.log('info', 'Starting README generation with agent...');
|
|
72
|
+
const readmeResult = await plugins.smartagent.runAgent({
|
|
73
|
+
model: this.aiDocsRef.model,
|
|
74
|
+
prompt: readmeTaskPrompt,
|
|
75
|
+
system: readmeSystemPrompt,
|
|
76
|
+
tools: fsTools,
|
|
77
|
+
maxSteps: 25,
|
|
78
|
+
onToolCall: (toolName) => logger.log('info', `[README] Tool call: ${toolName}`),
|
|
79
|
+
});
|
|
99
80
|
// Clean up markdown formatting if wrapped in code blocks
|
|
100
|
-
let resultMessage = readmeResult.
|
|
81
|
+
let resultMessage = readmeResult.text
|
|
101
82
|
.replace(/^```markdown\n?/i, '')
|
|
102
83
|
.replace(/\n?```$/i, '');
|
|
103
84
|
finalReadmeString += resultMessage + '\n' + legalInfo;
|
|
@@ -118,37 +99,17 @@ Then generate a comprehensive README following this template:
|
|
|
118
99
|
.file(plugins.path.join(subModulePath, 'tspublish.json'))
|
|
119
100
|
.encoding('utf8')
|
|
120
101
|
.read();
|
|
121
|
-
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
defaultProvider: 'openai',
|
|
125
|
-
maxIterations: 20,
|
|
126
|
-
maxResultChars: 12000,
|
|
127
|
-
maxHistoryMessages: 15,
|
|
128
|
-
logPrefix: `[README:${subModule}]`,
|
|
129
|
-
onProgress: (event) => logger.log(event.logLevel, event.logMessage),
|
|
130
|
-
guardianPolicyPrompt: `
|
|
131
|
-
You validate README generation for submodules.
|
|
132
|
-
|
|
133
|
-
APPROVE tool calls for:
|
|
134
|
-
- Reading any files within the submodule directory
|
|
135
|
-
- Using tree to see structure
|
|
136
|
-
- Using glob to find source files
|
|
137
|
-
|
|
138
|
-
REJECT tool calls for:
|
|
139
|
-
- Reading files outside the submodule directory
|
|
140
|
-
- Writing, deleting, or modifying any files
|
|
141
|
-
- Any destructive operations
|
|
102
|
+
const subModuleFsTools = plugins.smartagentTools.filesystemTool({ rootDir: subModulePath });
|
|
103
|
+
const subModuleSystemPrompt = `
|
|
104
|
+
You create markdown READMEs for npm projects. You only output the markdown readme.
|
|
142
105
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
await subModuleOrchestrator.start();
|
|
106
|
+
IMPORTANT RULES:
|
|
107
|
+
- Only READ files within the submodule directory
|
|
108
|
+
- Do NOT write, delete, or modify any files
|
|
109
|
+
- README must be comprehensive, well-formatted markdown with ESM TypeScript examples
|
|
110
|
+
- Do NOT include licensing information (added separately)
|
|
111
|
+
`;
|
|
150
112
|
const subModulePrompt = `
|
|
151
|
-
You create markdown READMEs for npm projects. You only output the markdown readme.
|
|
152
113
|
SUB MODULE: ${subModule}
|
|
153
114
|
SUB MODULE DIRECTORY: ${subModulePath}
|
|
154
115
|
|
|
@@ -156,8 +117,8 @@ IMPORTANT: YOU ARE CREATING THE README FOR THIS SUB MODULE: ${subModule}
|
|
|
156
117
|
The Sub Module will be published with:
|
|
157
118
|
${JSON.stringify(tspublishData, null, 2)}
|
|
158
119
|
|
|
159
|
-
Use the filesystem
|
|
160
|
-
1. Use
|
|
120
|
+
Use the filesystem tools to explore the submodule:
|
|
121
|
+
1. Use list_directory to see the submodule structure
|
|
161
122
|
2. Read package.json to understand the submodule
|
|
162
123
|
3. Read source files in ts/ directory to understand the implementation
|
|
163
124
|
|
|
@@ -180,23 +141,24 @@ Generate a README following the template:
|
|
|
180
141
|
|
|
181
142
|
Don't use \`\`\` at the beginning or end. Only for code blocks.
|
|
182
143
|
`;
|
|
183
|
-
const subModuleResult = await
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
144
|
+
const subModuleResult = await plugins.smartagent.runAgent({
|
|
145
|
+
model: this.aiDocsRef.model,
|
|
146
|
+
prompt: subModulePrompt,
|
|
147
|
+
system: subModuleSystemPrompt,
|
|
148
|
+
tools: subModuleFsTools,
|
|
149
|
+
maxSteps: 20,
|
|
150
|
+
onToolCall: (toolName) => logger.log('info', `[README:${subModule}] Tool call: ${toolName}`),
|
|
151
|
+
});
|
|
152
|
+
const subModuleReadmeString = subModuleResult.text
|
|
153
|
+
.replace(/^```markdown\n?/i, '')
|
|
154
|
+
.replace(/\n?```$/i, '') + '\n' + legalInfo;
|
|
155
|
+
await plugins.fsInstance
|
|
156
|
+
.file(plugins.path.join(subModulePath, 'readme.md'))
|
|
157
|
+
.encoding('utf8')
|
|
158
|
+
.write(subModuleReadmeString);
|
|
159
|
+
logger.log('success', `Built readme for ${subModule}`);
|
|
198
160
|
}
|
|
199
161
|
return resultMessage;
|
|
200
162
|
}
|
|
201
163
|
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvYWlkb2NzX2NsYXNzZXMvcmVhZG1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxNQUFNO0lBS2pCLFlBQVksU0FBZ0IsRUFBRSxhQUFxQjtRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFM0IscURBQXFEO1FBQ3JELE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNoQyxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUNoRixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsZUFBZSxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztZQUMxRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxpRUFBaUU7UUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGVB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
|
|
@@ -2,20 +2,15 @@ import * as plugins from './plugins.js';
|
|
|
2
2
|
import * as aiDocsClasses from './aidocs_classes/index.js';
|
|
3
3
|
export declare class AiDoc {
|
|
4
4
|
private openaiToken;
|
|
5
|
-
|
|
5
|
+
smartconfigKV: plugins.npmextra.KeyValueStore;
|
|
6
6
|
qenvInstance: plugins.qenv.Qenv;
|
|
7
7
|
aidocInteract: plugins.smartinteract.SmartInteract;
|
|
8
|
-
|
|
8
|
+
model: plugins.smartai.LanguageModelV3;
|
|
9
9
|
argvArg: any;
|
|
10
10
|
constructor(argvArg?: any);
|
|
11
11
|
private printSanitizedToken;
|
|
12
12
|
start(): Promise<void>;
|
|
13
13
|
stop(): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Get the OpenAI provider for direct chat calls
|
|
16
|
-
* This is a convenience getter to access the provider from SmartAi
|
|
17
|
-
*/
|
|
18
|
-
get openaiProvider(): plugins.smartai.OpenAiProvider;
|
|
19
14
|
getOpenaiToken(): string;
|
|
20
15
|
buildReadme(projectDirArg: string): Promise<string>;
|
|
21
16
|
buildDescription(projectDirArg: string): Promise<string>;
|
package/dist_ts/classes.aidoc.js
CHANGED
|
@@ -26,8 +26,8 @@ export class AiDoc {
|
|
|
26
26
|
if (!(await this.qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN'))) {
|
|
27
27
|
// Migrate old KV store path to new path if needed
|
|
28
28
|
const homeDir = plugins.smartpath.get.home();
|
|
29
|
-
const oldKvPath = plugins.path.join(homeDir, '.
|
|
30
|
-
const newKvDir = plugins.path.join(homeDir, '.
|
|
29
|
+
const oldKvPath = plugins.path.join(homeDir, '.smartconfig/kv/tsdoc.json');
|
|
30
|
+
const newKvDir = plugins.path.join(homeDir, '.smartconfig/kv/@git.zone');
|
|
31
31
|
const newKvPath = plugins.path.join(newKvDir, 'tsdoc.json');
|
|
32
32
|
if (await plugins.fsInstance.file(oldKvPath).exists() &&
|
|
33
33
|
!(await plugins.fsInstance.file(newKvPath).exists())) {
|
|
@@ -37,12 +37,12 @@ export class AiDoc {
|
|
|
37
37
|
await plugins.fsInstance.file(oldKvPath).delete();
|
|
38
38
|
console.log('Migration complete: tsdoc.json -> @git.zone/tsdoc.json');
|
|
39
39
|
}
|
|
40
|
-
this.
|
|
40
|
+
this.smartconfigKV = new plugins.npmextra.KeyValueStore({
|
|
41
41
|
typeArg: 'userHomeDir',
|
|
42
42
|
identityArg: '@git.zone/tsdoc',
|
|
43
43
|
mandatoryKeys: ['OPENAI_TOKEN'],
|
|
44
44
|
});
|
|
45
|
-
const missingKeys = await this.
|
|
45
|
+
const missingKeys = await this.smartconfigKV.getMissingMandatoryKeys();
|
|
46
46
|
if (missingKeys.length > 0) {
|
|
47
47
|
// lets try argv
|
|
48
48
|
if (this.argvArg?.OPENAI_TOKEN) {
|
|
@@ -61,31 +61,21 @@ export class AiDoc {
|
|
|
61
61
|
this.openaiToken = answerObject.value;
|
|
62
62
|
}
|
|
63
63
|
this.printSanitizedToken();
|
|
64
|
-
await this.
|
|
64
|
+
await this.smartconfigKV.writeKey('OPENAI_TOKEN', this.openaiToken);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
if (!this.openaiToken && this.
|
|
68
|
-
this.openaiToken = await this.
|
|
67
|
+
if (!this.openaiToken && this.smartconfigKV) {
|
|
68
|
+
this.openaiToken = await this.smartconfigKV.readKey('OPENAI_TOKEN');
|
|
69
69
|
}
|
|
70
|
-
//
|
|
71
|
-
this.
|
|
72
|
-
|
|
70
|
+
// Create model using getModel()
|
|
71
|
+
this.model = plugins.smartai.getModel({
|
|
72
|
+
provider: 'openai',
|
|
73
|
+
model: 'gpt-5.4',
|
|
74
|
+
apiKey: this.openaiToken,
|
|
73
75
|
});
|
|
74
|
-
await this.smartAiInstance.start();
|
|
75
76
|
}
|
|
76
77
|
async stop() {
|
|
77
|
-
|
|
78
|
-
await this.smartAiInstance.stop();
|
|
79
|
-
}
|
|
80
|
-
// No explicit cleanup needed for npmextraKV or aidocInteract
|
|
81
|
-
// They don't keep event loop alive
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Get the OpenAI provider for direct chat calls
|
|
85
|
-
* This is a convenience getter to access the provider from SmartAi
|
|
86
|
-
*/
|
|
87
|
-
get openaiProvider() {
|
|
88
|
-
return this.smartAiInstance.openaiProvider;
|
|
78
|
+
// No lifecycle management needed with getModel() API
|
|
89
79
|
}
|
|
90
80
|
getOpenaiToken() {
|
|
91
81
|
return this.openaiToken;
|
|
@@ -136,4 +126,4 @@ export class AiDoc {
|
|
|
136
126
|
return projectContextInstance.countTokens(text);
|
|
137
127
|
}
|
|
138
128
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5haWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuYWlkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sS0FBSztJQVVoQixZQUFZLE9BQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixpRkFBaUY7UUFDakYsSUFBSSxVQUFrQixDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsbURBQW1EO1lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRSxVQUFVLEdBQUcsR0FBRyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJ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
|
package/dist_ts/plugins.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
export { path };
|
|
3
|
-
import * as npmextra from '@push.rocks/
|
|
3
|
+
import * as npmextra from '@push.rocks/smartconfig';
|
|
4
4
|
import * as qenv from '@push.rocks/qenv';
|
|
5
5
|
import * as smartagent from '@push.rocks/smartagent';
|
|
6
|
+
import * as smartagentTools from '@push.rocks/smartagent/tools';
|
|
6
7
|
import * as smartai from '@push.rocks/smartai';
|
|
7
8
|
import * as smartcli from '@push.rocks/smartcli';
|
|
8
9
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
@@ -15,7 +16,7 @@ import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-loca
|
|
|
15
16
|
import * as smartpath from '@push.rocks/smartpath';
|
|
16
17
|
import * as smartshell from '@push.rocks/smartshell';
|
|
17
18
|
import * as smarttime from '@push.rocks/smarttime';
|
|
18
|
-
export { npmextra, qenv, smartagent, smartai, smartcli, smartdelay, smartfile, smartfs, smartgit, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell, smarttime, };
|
|
19
|
+
export { npmextra, qenv, smartagent, smartagentTools, smartai, smartcli, smartdelay, smartfile, smartfs, smartgit, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell, smarttime, };
|
|
19
20
|
export declare const fsInstance: smartfs.SmartFs;
|
|
20
21
|
export declare const smartfileFactory: smartfile.SmartFileFactory;
|
|
21
22
|
import * as tspublish from '@git.zone/tspublish';
|
package/dist_ts/plugins.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
export { path };
|
|
4
4
|
// pushrocks scope
|
|
5
|
-
import * as npmextra from '@push.rocks/
|
|
5
|
+
import * as npmextra from '@push.rocks/smartconfig';
|
|
6
6
|
import * as qenv from '@push.rocks/qenv';
|
|
7
7
|
import * as smartagent from '@push.rocks/smartagent';
|
|
8
|
+
import * as smartagentTools from '@push.rocks/smartagent/tools';
|
|
8
9
|
import * as smartai from '@push.rocks/smartai';
|
|
9
10
|
import * as smartcli from '@push.rocks/smartcli';
|
|
10
11
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
@@ -17,7 +18,7 @@ import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-loca
|
|
|
17
18
|
import * as smartpath from '@push.rocks/smartpath';
|
|
18
19
|
import * as smartshell from '@push.rocks/smartshell';
|
|
19
20
|
import * as smarttime from '@push.rocks/smarttime';
|
|
20
|
-
export { npmextra, qenv, smartagent, smartai, smartcli, smartdelay, smartfile, smartfs, smartgit, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell, smarttime, };
|
|
21
|
+
export { npmextra, qenv, smartagent, smartagentTools, smartai, smartcli, smartdelay, smartfile, smartfs, smartgit, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell, smarttime, };
|
|
21
22
|
// Create a shared SmartFs instance for filesystem operations
|
|
22
23
|
const smartFsNodeProvider = new smartfs.SmartFsProviderNode();
|
|
23
24
|
export const fsInstance = new smartfs.SmartFs(smartFsNodeProvider);
|
|
@@ -29,4 +30,4 @@ export { tspublish };
|
|
|
29
30
|
// third party scope
|
|
30
31
|
import * as typedoc from 'typedoc';
|
|
31
32
|
export { typedoc };
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUVoQixrQkFBa0I7QUFDbEIsT0FBTyxLQUFLLFFBQVEsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxRQUFRLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssYUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxRQUFRLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxLQUFLLHdCQUF3QixNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFVBQVUsRUFDVixlQUFlLEVBQ2YsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsYUFBYSxFQUNiLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsQ0FBQztBQUVGLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBRW5FLGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7QUFFcEUsa0JBQWtCO0FBQ2xCLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBRXJCLG9CQUFvQjtBQUNwQixPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tsdoc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.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",
|
|
@@ -19,30 +19,30 @@
|
|
|
19
19
|
"buildDocs": "tsdoc"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@git.zone/tsbuild": "^4.0
|
|
22
|
+
"@git.zone/tsbuild": "^4.3.0",
|
|
23
23
|
"@git.zone/tsrun": "^2.0.1",
|
|
24
|
-
"@git.zone/tstest": "^3.
|
|
25
|
-
"@types/node": "^25.0
|
|
24
|
+
"@git.zone/tstest": "^3.3.2",
|
|
25
|
+
"@types/node": "^25.4.0"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@git.zone/tspublish": "^1.11.
|
|
28
|
+
"@git.zone/tspublish": "^1.11.2",
|
|
29
29
|
"@push.rocks/early": "^4.0.4",
|
|
30
|
-
"@push.rocks/
|
|
30
|
+
"@push.rocks/smartconfig": "^6.0.0",
|
|
31
31
|
"@push.rocks/qenv": "^6.1.3",
|
|
32
|
-
"@push.rocks/smartagent": "
|
|
33
|
-
"@push.rocks/smartai": "^0.
|
|
34
|
-
"@push.rocks/smartcli": "^4.0.
|
|
32
|
+
"@push.rocks/smartagent": "^3.0.2",
|
|
33
|
+
"@push.rocks/smartai": "^2.0.0",
|
|
34
|
+
"@push.rocks/smartcli": "^4.0.20",
|
|
35
35
|
"@push.rocks/smartdelay": "^3.0.5",
|
|
36
36
|
"@push.rocks/smartfile": "^13.1.2",
|
|
37
|
-
"@push.rocks/smartfs": "^1.
|
|
37
|
+
"@push.rocks/smartfs": "^1.5.0",
|
|
38
38
|
"@push.rocks/smartgit": "^3.3.1",
|
|
39
39
|
"@push.rocks/smartinteract": "^2.0.16",
|
|
40
|
-
"@push.rocks/smartlog": "^3.1
|
|
40
|
+
"@push.rocks/smartlog": "^3.2.1",
|
|
41
41
|
"@push.rocks/smartlog-destination-local": "^9.0.2",
|
|
42
42
|
"@push.rocks/smartpath": "^6.0.0",
|
|
43
|
-
"@push.rocks/smartshell": "^3.3.
|
|
44
|
-
"@push.rocks/smarttime": "^4.
|
|
45
|
-
"typedoc": "^0.28.
|
|
43
|
+
"@push.rocks/smartshell": "^3.3.7",
|
|
44
|
+
"@push.rocks/smarttime": "^4.2.3",
|
|
45
|
+
"typedoc": "^0.28.17",
|
|
46
46
|
"typescript": "^5.9.3"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|