partnercore-proxy 0.1.5 → 0.4.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bc-container.js","sourceRoot":"","sources":["../../src/container/bc-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Git Operations Module
3
+ *
4
+ * Provides tools for common Git operations within the AL workspace.
5
+ * Enables version control directly from AI agents.
6
+ */
7
+ export interface GitStatus {
8
+ branch: string;
9
+ ahead: number;
10
+ behind: number;
11
+ staged: FileChange[];
12
+ modified: FileChange[];
13
+ untracked: string[];
14
+ hasChanges: boolean;
15
+ }
16
+ export interface FileChange {
17
+ path: string;
18
+ status: 'added' | 'modified' | 'deleted' | 'renamed' | 'copied';
19
+ oldPath?: string;
20
+ }
21
+ export interface GitCommit {
22
+ hash: string;
23
+ shortHash: string;
24
+ author: string;
25
+ email: string;
26
+ date: string;
27
+ message: string;
28
+ files?: string[];
29
+ }
30
+ export interface GitBranch {
31
+ name: string;
32
+ current: boolean;
33
+ remote?: string;
34
+ upstream?: string;
35
+ }
36
+ /**
37
+ * Git Operations Manager
38
+ */
39
+ export declare class GitOperations {
40
+ private workspaceRoot;
41
+ private logger;
42
+ constructor(workspaceRoot: string);
43
+ /**
44
+ * Execute a git command
45
+ */
46
+ private git;
47
+ /**
48
+ * Check if workspace is a git repository
49
+ */
50
+ isGitRepository(): Promise<boolean>;
51
+ /**
52
+ * Get current git status
53
+ */
54
+ getStatus(): Promise<GitStatus>;
55
+ /**
56
+ * Parse status code to status string
57
+ */
58
+ private parseStatusCode;
59
+ /**
60
+ * Get diff of changes
61
+ */
62
+ getDiff(options?: {
63
+ staged?: boolean;
64
+ file?: string;
65
+ unified?: number;
66
+ }): Promise<string>;
67
+ /**
68
+ * Stage files
69
+ */
70
+ stage(paths: string[] | 'all'): Promise<{
71
+ success: boolean;
72
+ message: string;
73
+ }>;
74
+ /**
75
+ * Unstage files
76
+ */
77
+ unstage(paths: string[] | 'all'): Promise<{
78
+ success: boolean;
79
+ message: string;
80
+ }>;
81
+ /**
82
+ * Commit staged changes
83
+ */
84
+ commit(message: string, options?: {
85
+ amend?: boolean;
86
+ allowEmpty?: boolean;
87
+ }): Promise<{
88
+ success: boolean;
89
+ message: string;
90
+ hash?: string;
91
+ }>;
92
+ /**
93
+ * Get commit history
94
+ */
95
+ getLog(options?: {
96
+ limit?: number;
97
+ since?: string;
98
+ until?: string;
99
+ author?: string;
100
+ grep?: string;
101
+ file?: string;
102
+ }): Promise<GitCommit[]>;
103
+ /**
104
+ * List branches
105
+ */
106
+ listBranches(remote?: boolean): Promise<GitBranch[]>;
107
+ /**
108
+ * Create a new branch
109
+ */
110
+ createBranch(name: string, options?: {
111
+ checkout?: boolean;
112
+ from?: string;
113
+ }): Promise<{
114
+ success: boolean;
115
+ message: string;
116
+ }>;
117
+ /**
118
+ * Switch to a branch
119
+ */
120
+ checkout(branchOrPath: string, options?: {
121
+ create?: boolean;
122
+ }): Promise<{
123
+ success: boolean;
124
+ message: string;
125
+ }>;
126
+ /**
127
+ * Pull changes from remote
128
+ */
129
+ pull(options?: {
130
+ remote?: string;
131
+ branch?: string;
132
+ rebase?: boolean;
133
+ }): Promise<{
134
+ success: boolean;
135
+ message: string;
136
+ }>;
137
+ /**
138
+ * Push changes to remote
139
+ */
140
+ push(options?: {
141
+ remote?: string;
142
+ branch?: string;
143
+ setUpstream?: boolean;
144
+ force?: boolean;
145
+ }): Promise<{
146
+ success: boolean;
147
+ message: string;
148
+ }>;
149
+ /**
150
+ * Stash changes
151
+ */
152
+ stash(options?: {
153
+ message?: string;
154
+ includeUntracked?: boolean;
155
+ }): Promise<{
156
+ success: boolean;
157
+ message: string;
158
+ }>;
159
+ /**
160
+ * Apply stash
161
+ */
162
+ stashPop(index?: number): Promise<{
163
+ success: boolean;
164
+ message: string;
165
+ }>;
166
+ /**
167
+ * List stashes
168
+ */
169
+ stashList(): Promise<{
170
+ index: number;
171
+ message: string;
172
+ date: string;
173
+ }[]>;
174
+ /**
175
+ * Discard changes in a file
176
+ */
177
+ discardChanges(path: string): Promise<{
178
+ success: boolean;
179
+ message: string;
180
+ }>;
181
+ }
182
+ //# sourceMappingURL=git-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-operations.d.ts","sourceRoot":"","sources":["../../src/git/git-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,446 @@
1
+ "use strict";
2
+ /**
3
+ * Git Operations Module
4
+ *
5
+ * Provides tools for common Git operations within the AL workspace.
6
+ * Enables version control directly from AI agents.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.GitOperations = void 0;
10
+ const child_process_1 = require("child_process");
11
+ const util_1 = require("util");
12
+ const logger_js_1 = require("../utils/logger.js");
13
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
14
+ /**
15
+ * Git Operations Manager
16
+ */
17
+ class GitOperations {
18
+ workspaceRoot;
19
+ logger = (0, logger_js_1.getLogger)();
20
+ constructor(workspaceRoot) {
21
+ this.workspaceRoot = workspaceRoot;
22
+ }
23
+ /**
24
+ * Execute a git command
25
+ */
26
+ async git(args) {
27
+ return execAsync(`git ${args}`, {
28
+ cwd: this.workspaceRoot,
29
+ maxBuffer: 10 * 1024 * 1024,
30
+ });
31
+ }
32
+ /**
33
+ * Check if workspace is a git repository
34
+ */
35
+ async isGitRepository() {
36
+ try {
37
+ await this.git('rev-parse --git-dir');
38
+ return true;
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ /**
45
+ * Get current git status
46
+ */
47
+ async getStatus() {
48
+ // Get branch info
49
+ let branch = '';
50
+ let ahead = 0;
51
+ let behind = 0;
52
+ try {
53
+ const { stdout: branchOut } = await this.git('branch --show-current');
54
+ branch = branchOut.trim();
55
+ // Get ahead/behind counts
56
+ try {
57
+ const { stdout: trackingOut } = await this.git(`rev-list --left-right --count ${branch}...@{upstream}`);
58
+ const [aheadStr, behindStr] = trackingOut.trim().split('\t');
59
+ ahead = parseInt(aheadStr) || 0;
60
+ behind = parseInt(behindStr) || 0;
61
+ }
62
+ catch {
63
+ // No upstream configured
64
+ }
65
+ }
66
+ catch {
67
+ // Detached HEAD or other issue
68
+ const { stdout: headOut } = await this.git('rev-parse --short HEAD');
69
+ branch = `(detached at ${headOut.trim()})`;
70
+ }
71
+ // Get status
72
+ const staged = [];
73
+ const modified = [];
74
+ const untracked = [];
75
+ try {
76
+ const { stdout: statusOut } = await this.git('status --porcelain=v2');
77
+ const lines = statusOut.trim().split('\n').filter(l => l);
78
+ for (const line of lines) {
79
+ if (line.startsWith('1 ')) {
80
+ // Ordinary changed entry
81
+ const parts = line.split(' ');
82
+ const xy = parts[1];
83
+ const filePath = parts.slice(8).join(' ');
84
+ if (xy[0] !== '.') {
85
+ // Staged change
86
+ staged.push({
87
+ path: filePath,
88
+ status: this.parseStatusCode(xy[0]),
89
+ });
90
+ }
91
+ if (xy[1] !== '.') {
92
+ // Unstaged change
93
+ modified.push({
94
+ path: filePath,
95
+ status: this.parseStatusCode(xy[1]),
96
+ });
97
+ }
98
+ }
99
+ else if (line.startsWith('2 ')) {
100
+ // Renamed/copied entry
101
+ const parts = line.split(' ');
102
+ const xy = parts[1];
103
+ const pathParts = parts.slice(9).join(' ').split('\t');
104
+ const newPath = pathParts[0];
105
+ const oldPath = pathParts[1];
106
+ if (xy[0] !== '.') {
107
+ staged.push({
108
+ path: newPath,
109
+ oldPath,
110
+ status: xy[0] === 'R' ? 'renamed' : 'copied',
111
+ });
112
+ }
113
+ }
114
+ else if (line.startsWith('? ')) {
115
+ // Untracked file
116
+ untracked.push(line.slice(2));
117
+ }
118
+ }
119
+ }
120
+ catch (error) {
121
+ this.logger.error('Failed to get git status:', error);
122
+ }
123
+ return {
124
+ branch,
125
+ ahead,
126
+ behind,
127
+ staged,
128
+ modified,
129
+ untracked,
130
+ hasChanges: staged.length > 0 || modified.length > 0 || untracked.length > 0,
131
+ };
132
+ }
133
+ /**
134
+ * Parse status code to status string
135
+ */
136
+ parseStatusCode(code) {
137
+ switch (code) {
138
+ case 'A': return 'added';
139
+ case 'M': return 'modified';
140
+ case 'D': return 'deleted';
141
+ case 'R': return 'renamed';
142
+ case 'C': return 'copied';
143
+ default: return 'modified';
144
+ }
145
+ }
146
+ /**
147
+ * Get diff of changes
148
+ */
149
+ async getDiff(options) {
150
+ let args = 'diff';
151
+ if (options?.staged) {
152
+ args += ' --staged';
153
+ }
154
+ if (options?.unified !== undefined) {
155
+ args += ` -U${options.unified}`;
156
+ }
157
+ if (options?.file) {
158
+ args += ` -- "${options.file}"`;
159
+ }
160
+ const { stdout } = await this.git(args);
161
+ return stdout;
162
+ }
163
+ /**
164
+ * Stage files
165
+ */
166
+ async stage(paths) {
167
+ try {
168
+ if (paths === 'all') {
169
+ await this.git('add -A');
170
+ }
171
+ else {
172
+ const pathsStr = paths.map(p => `"${p}"`).join(' ');
173
+ await this.git(`add ${pathsStr}`);
174
+ }
175
+ return { success: true, message: 'Files staged successfully' };
176
+ }
177
+ catch (error) {
178
+ const errorMessage = error instanceof Error ? error.message : String(error);
179
+ return { success: false, message: errorMessage };
180
+ }
181
+ }
182
+ /**
183
+ * Unstage files
184
+ */
185
+ async unstage(paths) {
186
+ try {
187
+ if (paths === 'all') {
188
+ await this.git('reset HEAD');
189
+ }
190
+ else {
191
+ const pathsStr = paths.map(p => `"${p}"`).join(' ');
192
+ await this.git(`reset HEAD -- ${pathsStr}`);
193
+ }
194
+ return { success: true, message: 'Files unstaged successfully' };
195
+ }
196
+ catch (error) {
197
+ const errorMessage = error instanceof Error ? error.message : String(error);
198
+ return { success: false, message: errorMessage };
199
+ }
200
+ }
201
+ /**
202
+ * Commit staged changes
203
+ */
204
+ async commit(message, options) {
205
+ try {
206
+ let args = `commit -m "${message.replace(/"/g, '\\"')}"`;
207
+ if (options?.amend) {
208
+ args += ' --amend';
209
+ }
210
+ if (options?.allowEmpty) {
211
+ args += ' --allow-empty';
212
+ }
213
+ const { stdout } = await this.git(args);
214
+ // Extract commit hash
215
+ const hashMatch = stdout.match(/\[[\w-]+ ([a-f0-9]+)\]/);
216
+ const hash = hashMatch ? hashMatch[1] : undefined;
217
+ return { success: true, message: 'Committed successfully', hash };
218
+ }
219
+ catch (error) {
220
+ const errorMessage = error instanceof Error ? error.message : String(error);
221
+ return { success: false, message: errorMessage };
222
+ }
223
+ }
224
+ /**
225
+ * Get commit history
226
+ */
227
+ async getLog(options) {
228
+ const format = '--format=%H|%h|%an|%ae|%aI|%s';
229
+ let args = `log ${format}`;
230
+ if (options?.limit) {
231
+ args += ` -n ${options.limit}`;
232
+ }
233
+ if (options?.since) {
234
+ args += ` --since="${options.since}"`;
235
+ }
236
+ if (options?.until) {
237
+ args += ` --until="${options.until}"`;
238
+ }
239
+ if (options?.author) {
240
+ args += ` --author="${options.author}"`;
241
+ }
242
+ if (options?.grep) {
243
+ args += ` --grep="${options.grep}"`;
244
+ }
245
+ if (options?.file) {
246
+ args += ` -- "${options.file}"`;
247
+ }
248
+ try {
249
+ const { stdout } = await this.git(args);
250
+ const lines = stdout.trim().split('\n').filter(l => l);
251
+ return lines.map(line => {
252
+ const [hash, shortHash, author, email, date, message] = line.split('|');
253
+ return { hash, shortHash, author, email, date, message };
254
+ });
255
+ }
256
+ catch {
257
+ return [];
258
+ }
259
+ }
260
+ /**
261
+ * List branches
262
+ */
263
+ async listBranches(remote) {
264
+ const branches = [];
265
+ try {
266
+ const { stdout } = await this.git(`branch ${remote ? '-r' : ''} -vv`);
267
+ const lines = stdout.trim().split('\n').filter(l => l);
268
+ for (const line of lines) {
269
+ const current = line.startsWith('*');
270
+ const parts = line.slice(2).trim().split(/\s+/);
271
+ const name = parts[0];
272
+ // Extract upstream from [origin/main] format
273
+ const upstreamMatch = line.match(/\[([^\]]+)\]/);
274
+ const upstream = upstreamMatch ? upstreamMatch[1].split(':')[0] : undefined;
275
+ branches.push({
276
+ name,
277
+ current,
278
+ remote: remote ? name.split('/')[0] : undefined,
279
+ upstream,
280
+ });
281
+ }
282
+ }
283
+ catch (error) {
284
+ this.logger.error('Failed to list branches:', error);
285
+ }
286
+ return branches;
287
+ }
288
+ /**
289
+ * Create a new branch
290
+ */
291
+ async createBranch(name, options) {
292
+ try {
293
+ let args = `branch "${name}"`;
294
+ if (options?.from) {
295
+ args += ` "${options.from}"`;
296
+ }
297
+ await this.git(args);
298
+ if (options?.checkout) {
299
+ await this.git(`checkout "${name}"`);
300
+ }
301
+ return { success: true, message: `Branch '${name}' created${options?.checkout ? ' and checked out' : ''}` };
302
+ }
303
+ catch (error) {
304
+ const errorMessage = error instanceof Error ? error.message : String(error);
305
+ return { success: false, message: errorMessage };
306
+ }
307
+ }
308
+ /**
309
+ * Switch to a branch
310
+ */
311
+ async checkout(branchOrPath, options) {
312
+ try {
313
+ let args = 'checkout';
314
+ if (options?.create) {
315
+ args += ' -b';
316
+ }
317
+ args += ` "${branchOrPath}"`;
318
+ await this.git(args);
319
+ return { success: true, message: `Switched to '${branchOrPath}'` };
320
+ }
321
+ catch (error) {
322
+ const errorMessage = error instanceof Error ? error.message : String(error);
323
+ return { success: false, message: errorMessage };
324
+ }
325
+ }
326
+ /**
327
+ * Pull changes from remote
328
+ */
329
+ async pull(options) {
330
+ try {
331
+ let args = 'pull';
332
+ if (options?.rebase) {
333
+ args += ' --rebase';
334
+ }
335
+ if (options?.remote) {
336
+ args += ` ${options.remote}`;
337
+ if (options?.branch) {
338
+ args += ` ${options.branch}`;
339
+ }
340
+ }
341
+ const { stdout, stderr } = await this.git(args);
342
+ return { success: true, message: (stdout + stderr).trim() || 'Pull successful' };
343
+ }
344
+ catch (error) {
345
+ const errorMessage = error instanceof Error ? error.message : String(error);
346
+ return { success: false, message: errorMessage };
347
+ }
348
+ }
349
+ /**
350
+ * Push changes to remote
351
+ */
352
+ async push(options) {
353
+ try {
354
+ let args = 'push';
355
+ if (options?.setUpstream) {
356
+ args += ' -u';
357
+ }
358
+ if (options?.force) {
359
+ args += ' --force-with-lease';
360
+ }
361
+ if (options?.remote) {
362
+ args += ` ${options.remote}`;
363
+ if (options?.branch) {
364
+ args += ` ${options.branch}`;
365
+ }
366
+ }
367
+ const { stdout, stderr } = await this.git(args);
368
+ return { success: true, message: (stdout + stderr).trim() || 'Push successful' };
369
+ }
370
+ catch (error) {
371
+ const errorMessage = error instanceof Error ? error.message : String(error);
372
+ return { success: false, message: errorMessage };
373
+ }
374
+ }
375
+ /**
376
+ * Stash changes
377
+ */
378
+ async stash(options) {
379
+ try {
380
+ let args = 'stash push';
381
+ if (options?.includeUntracked) {
382
+ args += ' -u';
383
+ }
384
+ if (options?.message) {
385
+ args += ` -m "${options.message}"`;
386
+ }
387
+ await this.git(args);
388
+ return { success: true, message: 'Changes stashed' };
389
+ }
390
+ catch (error) {
391
+ const errorMessage = error instanceof Error ? error.message : String(error);
392
+ return { success: false, message: errorMessage };
393
+ }
394
+ }
395
+ /**
396
+ * Apply stash
397
+ */
398
+ async stashPop(index) {
399
+ try {
400
+ const stashRef = index !== undefined ? `stash@{${index}}` : '';
401
+ await this.git(`stash pop ${stashRef}`);
402
+ return { success: true, message: 'Stash applied and removed' };
403
+ }
404
+ catch (error) {
405
+ const errorMessage = error instanceof Error ? error.message : String(error);
406
+ return { success: false, message: errorMessage };
407
+ }
408
+ }
409
+ /**
410
+ * List stashes
411
+ */
412
+ async stashList() {
413
+ try {
414
+ const { stdout } = await this.git('stash list --format=%gd|%s|%ai');
415
+ const lines = stdout.trim().split('\n').filter(l => l);
416
+ return lines.map(line => {
417
+ const [ref, message, date] = line.split('|');
418
+ const index = parseInt(ref.match(/\{(\d+)\}/)?.[1] || '0');
419
+ return { index, message, date };
420
+ });
421
+ }
422
+ catch {
423
+ return [];
424
+ }
425
+ }
426
+ /**
427
+ * Discard changes in a file
428
+ */
429
+ async discardChanges(path) {
430
+ try {
431
+ if (path === 'all') {
432
+ await this.git('checkout -- .');
433
+ }
434
+ else {
435
+ await this.git(`checkout -- "${path}"`);
436
+ }
437
+ return { success: true, message: 'Changes discarded' };
438
+ }
439
+ catch (error) {
440
+ const errorMessage = error instanceof Error ? error.message : String(error);
441
+ return { success: false, message: errorMessage };
442
+ }
443
+ }
444
+ }
445
+ exports.GitOperations = GitOperations;
446
+ //# sourceMappingURL=git-operations.js.map