@vfarcic/dot-ai 1.6.7 → 1.7.0
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/git-utils.d.ts.map +1 -1
- package/dist/core/git-utils.js +22 -11
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/core/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1E;AA2ED,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAc7E;AAED,wBAAgB,uBAAuB,IAAI,aAAa,CAyBvD;AAeD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/core/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1E;AA2ED,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAc7E;AAED,wBAAgB,uBAAuB,IAAI,aAAa,CAyBvD;AAeD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BhD;AAID,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B5E;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC,CAyErB"}
|
package/dist/core/git-utils.js
CHANGED
|
@@ -163,8 +163,15 @@ function gitOptions(baseDir) {
|
|
|
163
163
|
}
|
|
164
164
|
async function cloneRepo(repoUrl, targetDir, opts) {
|
|
165
165
|
const authConfig = getGitAuthConfigFromEnv();
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
let cloneUrl;
|
|
167
|
+
// Use authenticated URL if credentials are available, otherwise clone unauthenticated (public repos)
|
|
168
|
+
if (authConfig.pat || authConfig.githubApp) {
|
|
169
|
+
const token = await getAuthToken(authConfig);
|
|
170
|
+
cloneUrl = getAuthenticatedUrl(repoUrl, token);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
cloneUrl = repoUrl;
|
|
174
|
+
}
|
|
168
175
|
const git = (0, simple_git_1.default)(gitOptions());
|
|
169
176
|
const cloneOptions = [];
|
|
170
177
|
if (opts?.branch) {
|
|
@@ -173,7 +180,7 @@ async function cloneRepo(repoUrl, targetDir, opts) {
|
|
|
173
180
|
if (opts?.depth) {
|
|
174
181
|
cloneOptions.push('--depth', String(opts.depth));
|
|
175
182
|
}
|
|
176
|
-
await git.clone(
|
|
183
|
+
await git.clone(cloneUrl, targetDir, cloneOptions);
|
|
177
184
|
const repoGit = (0, simple_git_1.default)(targetDir);
|
|
178
185
|
const status = await repoGit.status();
|
|
179
186
|
const branch = status.current || opts?.branch || 'main';
|
|
@@ -182,14 +189,18 @@ async function cloneRepo(repoUrl, targetDir, opts) {
|
|
|
182
189
|
// ─── Pull ───
|
|
183
190
|
async function pullRepo(repoPath) {
|
|
184
191
|
const authConfig = getGitAuthConfigFromEnv();
|
|
185
|
-
const
|
|
192
|
+
const hasAuth = !!(authConfig.pat || authConfig.githubApp);
|
|
186
193
|
const git = (0, simple_git_1.default)(gitOptions(repoPath));
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
194
|
+
let originalOriginUrl;
|
|
195
|
+
if (hasAuth) {
|
|
196
|
+
const token = await getAuthToken(authConfig);
|
|
197
|
+
const remotes = await git.getRemotes(true);
|
|
198
|
+
const origin = remotes.find(r => r.name === 'origin');
|
|
199
|
+
originalOriginUrl = origin?.refs.fetch;
|
|
200
|
+
if (originalOriginUrl) {
|
|
201
|
+
const authUrl = getAuthenticatedUrl(originalOriginUrl, token);
|
|
202
|
+
await git.remote(['set-url', 'origin', authUrl]);
|
|
203
|
+
}
|
|
193
204
|
}
|
|
194
205
|
try {
|
|
195
206
|
await git.pull('origin', undefined, ['--ff-only']);
|
|
@@ -198,7 +209,7 @@ async function pullRepo(repoPath) {
|
|
|
198
209
|
}
|
|
199
210
|
finally {
|
|
200
211
|
// Restore original origin URL to prevent auth tokens persisting in .git/config
|
|
201
|
-
if (originalOriginUrl) {
|
|
212
|
+
if (hasAuth && originalOriginUrl) {
|
|
202
213
|
await git.remote(['set-url', 'origin', originalOriginUrl]);
|
|
203
214
|
}
|
|
204
215
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"mcpName": "io.github.vfarcic/dot-ai",
|
|
6
6
|
"main": "dist/index.js",
|