@generacy-ai/agency-plugin-git 0.0.0-preview-20260302182740

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.
Files changed (118) hide show
  1. package/LICENSE +191 -0
  2. package/dist/config.d.ts +25 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +22 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/errors/auth-error.d.ts +23 -0
  7. package/dist/errors/auth-error.d.ts.map +1 -0
  8. package/dist/errors/auth-error.js +33 -0
  9. package/dist/errors/auth-error.js.map +1 -0
  10. package/dist/errors/conflict-error.d.ts +31 -0
  11. package/dist/errors/conflict-error.d.ts.map +1 -0
  12. package/dist/errors/conflict-error.js +49 -0
  13. package/dist/errors/conflict-error.js.map +1 -0
  14. package/dist/errors/detached-head-error.d.ts +26 -0
  15. package/dist/errors/detached-head-error.d.ts.map +1 -0
  16. package/dist/errors/detached-head-error.js +32 -0
  17. package/dist/errors/detached-head-error.js.map +1 -0
  18. package/dist/errors/git-error.d.ts +25 -0
  19. package/dist/errors/git-error.d.ts.map +1 -0
  20. package/dist/errors/git-error.js +33 -0
  21. package/dist/errors/git-error.js.map +1 -0
  22. package/dist/errors/index.d.ts +9 -0
  23. package/dist/errors/index.d.ts.map +1 -0
  24. package/dist/errors/index.js +9 -0
  25. package/dist/errors/index.js.map +1 -0
  26. package/dist/errors/network-error.d.ts +30 -0
  27. package/dist/errors/network-error.d.ts.map +1 -0
  28. package/dist/errors/network-error.js +67 -0
  29. package/dist/errors/network-error.js.map +1 -0
  30. package/dist/index.d.ts +26 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +29 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/plugin.d.ts +28 -0
  35. package/dist/plugin.d.ts.map +1 -0
  36. package/dist/plugin.js +79 -0
  37. package/dist/plugin.js.map +1 -0
  38. package/dist/tools/blame.d.ts +9 -0
  39. package/dist/tools/blame.d.ts.map +1 -0
  40. package/dist/tools/blame.js +67 -0
  41. package/dist/tools/blame.js.map +1 -0
  42. package/dist/tools/branch.d.ts +9 -0
  43. package/dist/tools/branch.d.ts.map +1 -0
  44. package/dist/tools/branch.js +141 -0
  45. package/dist/tools/branch.js.map +1 -0
  46. package/dist/tools/checkout.d.ts +9 -0
  47. package/dist/tools/checkout.d.ts.map +1 -0
  48. package/dist/tools/checkout.js +94 -0
  49. package/dist/tools/checkout.js.map +1 -0
  50. package/dist/tools/commit.d.ts +9 -0
  51. package/dist/tools/commit.d.ts.map +1 -0
  52. package/dist/tools/commit.js +90 -0
  53. package/dist/tools/commit.js.map +1 -0
  54. package/dist/tools/diff.d.ts +9 -0
  55. package/dist/tools/diff.d.ts.map +1 -0
  56. package/dist/tools/diff.js +97 -0
  57. package/dist/tools/diff.js.map +1 -0
  58. package/dist/tools/index.d.ts +26 -0
  59. package/dist/tools/index.d.ts.map +1 -0
  60. package/dist/tools/index.js +55 -0
  61. package/dist/tools/index.js.map +1 -0
  62. package/dist/tools/log.d.ts +9 -0
  63. package/dist/tools/log.d.ts.map +1 -0
  64. package/dist/tools/log.js +91 -0
  65. package/dist/tools/log.js.map +1 -0
  66. package/dist/tools/merge.d.ts +9 -0
  67. package/dist/tools/merge.d.ts.map +1 -0
  68. package/dist/tools/merge.js +119 -0
  69. package/dist/tools/merge.js.map +1 -0
  70. package/dist/tools/pull.d.ts +9 -0
  71. package/dist/tools/pull.d.ts.map +1 -0
  72. package/dist/tools/pull.js +113 -0
  73. package/dist/tools/pull.js.map +1 -0
  74. package/dist/tools/push.d.ts +9 -0
  75. package/dist/tools/push.d.ts.map +1 -0
  76. package/dist/tools/push.js +116 -0
  77. package/dist/tools/push.js.map +1 -0
  78. package/dist/tools/rebase.d.ts +9 -0
  79. package/dist/tools/rebase.d.ts.map +1 -0
  80. package/dist/tools/rebase.js +147 -0
  81. package/dist/tools/rebase.js.map +1 -0
  82. package/dist/tools/stash.d.ts +9 -0
  83. package/dist/tools/stash.d.ts.map +1 -0
  84. package/dist/tools/stash.js +151 -0
  85. package/dist/tools/stash.js.map +1 -0
  86. package/dist/tools/status.d.ts +9 -0
  87. package/dist/tools/status.d.ts.map +1 -0
  88. package/dist/tools/status.js +76 -0
  89. package/dist/tools/status.js.map +1 -0
  90. package/dist/types.d.ts +297 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +7 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/utils/conflict-parser.d.ts +38 -0
  95. package/dist/utils/conflict-parser.d.ts.map +1 -0
  96. package/dist/utils/conflict-parser.js +158 -0
  97. package/dist/utils/conflict-parser.js.map +1 -0
  98. package/dist/utils/exec-git.d.ts +45 -0
  99. package/dist/utils/exec-git.d.ts.map +1 -0
  100. package/dist/utils/exec-git.js +180 -0
  101. package/dist/utils/exec-git.js.map +1 -0
  102. package/dist/utils/parse-blame.d.ts +29 -0
  103. package/dist/utils/parse-blame.d.ts.map +1 -0
  104. package/dist/utils/parse-blame.js +97 -0
  105. package/dist/utils/parse-blame.js.map +1 -0
  106. package/dist/utils/parse-diff.d.ts +25 -0
  107. package/dist/utils/parse-diff.d.ts.map +1 -0
  108. package/dist/utils/parse-diff.js +105 -0
  109. package/dist/utils/parse-diff.js.map +1 -0
  110. package/dist/utils/parse-log.d.ts +33 -0
  111. package/dist/utils/parse-log.d.ts.map +1 -0
  112. package/dist/utils/parse-log.js +90 -0
  113. package/dist/utils/parse-log.js.map +1 -0
  114. package/dist/utils/parse-status.d.ts +22 -0
  115. package/dist/utils/parse-status.d.ts.map +1 -0
  116. package/dist/utils/parse-status.js +173 -0
  117. package/dist/utils/parse-status.js.map +1 -0
  118. package/package.json +82 -0
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Parse git status --porcelain=v2 output
3
+ */
4
+ /**
5
+ * Parse git status --porcelain=v2 output into structured StatusResult
6
+ *
7
+ * Porcelain v2 format:
8
+ * - Header lines start with #
9
+ * - # branch.oid <commit>
10
+ * - # branch.head <branch>
11
+ * - # branch.upstream <upstream>
12
+ * - # branch.ab +<ahead> -<behind>
13
+ * - Changed entries:
14
+ * - 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>
15
+ * - 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><tab><origPath>
16
+ * - Untracked: ? <path>
17
+ * - Ignored: ! <path>
18
+ * - Unmerged: u <XY> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>
19
+ */
20
+ export function parseStatus(output) {
21
+ const lines = output.split('\n').filter(Boolean);
22
+ const result = {
23
+ branch: '',
24
+ ahead: 0,
25
+ behind: 0,
26
+ staged: [],
27
+ unstaged: [],
28
+ untracked: [],
29
+ conflicts: [],
30
+ };
31
+ for (const line of lines) {
32
+ // Header lines
33
+ if (line.startsWith('# ')) {
34
+ parseHeaderLine(line, result);
35
+ continue;
36
+ }
37
+ // Untracked files
38
+ if (line.startsWith('? ')) {
39
+ result.untracked.push(line.slice(2));
40
+ continue;
41
+ }
42
+ // Ignored files (skip)
43
+ if (line.startsWith('! ')) {
44
+ continue;
45
+ }
46
+ // Unmerged entries (conflicts)
47
+ if (line.startsWith('u ')) {
48
+ parseUnmergedEntry(line, result);
49
+ continue;
50
+ }
51
+ // Changed entries (ordinary changed entry)
52
+ if (line.startsWith('1 ')) {
53
+ parseOrdinaryEntry(line, result);
54
+ continue;
55
+ }
56
+ // Renamed/copied entries
57
+ if (line.startsWith('2 ')) {
58
+ parseRenamedEntry(line, result);
59
+ continue;
60
+ }
61
+ }
62
+ return result;
63
+ }
64
+ function parseHeaderLine(line, result) {
65
+ const parts = line.slice(2).split(' ');
66
+ const key = parts[0];
67
+ switch (key) {
68
+ case 'branch.head':
69
+ result.branch = parts[1] ?? '';
70
+ break;
71
+ case 'branch.upstream':
72
+ result.upstream = parts[1];
73
+ break;
74
+ case 'branch.ab': {
75
+ // +<ahead> -<behind>
76
+ const ahead = parts[1];
77
+ const behind = parts[2];
78
+ if (ahead) {
79
+ result.ahead = parseInt(ahead.slice(1), 10) || 0;
80
+ }
81
+ if (behind) {
82
+ result.behind = parseInt(behind.slice(1), 10) || 0;
83
+ }
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ function parseUnmergedEntry(line, result) {
89
+ // u <XY> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>
90
+ // Format uses spaces, path is at the end after 10 space-separated fields
91
+ const parts = line.split(' ');
92
+ // The path starts at index 10 (after u, XY, sub, m1, m2, m3, mW, h1, h2, h3)
93
+ const path = parts.slice(10).join(' ');
94
+ if (path) {
95
+ result.conflicts.push(path);
96
+ }
97
+ }
98
+ function parseOrdinaryEntry(line, result) {
99
+ // 1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>
100
+ const parts = line.split(' ');
101
+ const xy = parts[1];
102
+ const path = parts.slice(8).join(' ');
103
+ if (!xy || !path)
104
+ return;
105
+ const indexStatus = xy[0];
106
+ const workTreeStatus = xy[1];
107
+ // Index status (staged)
108
+ if (indexStatus && indexStatus !== '.') {
109
+ result.staged.push({
110
+ path,
111
+ status: statusCharToStatus(indexStatus),
112
+ });
113
+ }
114
+ // Work tree status (unstaged)
115
+ if (workTreeStatus && workTreeStatus !== '.') {
116
+ result.unstaged.push({
117
+ path,
118
+ status: statusCharToStatus(workTreeStatus),
119
+ });
120
+ }
121
+ }
122
+ function parseRenamedEntry(line, result) {
123
+ // 2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><tab><origPath>
124
+ const tabIndex = line.indexOf('\t');
125
+ if (tabIndex === -1)
126
+ return;
127
+ const beforeTab = line.slice(0, tabIndex);
128
+ const afterTab = line.slice(tabIndex + 1);
129
+ const parts = beforeTab.split(' ');
130
+ const xy = parts[1];
131
+ const pathParts = afterTab.split('\t');
132
+ const path = pathParts[0];
133
+ const origPath = pathParts[1];
134
+ if (!xy || !path)
135
+ return;
136
+ const indexStatus = xy[0];
137
+ const workTreeStatus = xy[1];
138
+ // Index status (staged)
139
+ if (indexStatus && indexStatus !== '.') {
140
+ const change = {
141
+ path,
142
+ status: indexStatus === 'R' ? 'renamed' : indexStatus === 'C' ? 'copied' : statusCharToStatus(indexStatus),
143
+ };
144
+ if (origPath) {
145
+ change.oldPath = origPath;
146
+ }
147
+ result.staged.push(change);
148
+ }
149
+ // Work tree status (unstaged)
150
+ if (workTreeStatus && workTreeStatus !== '.') {
151
+ result.unstaged.push({
152
+ path,
153
+ status: statusCharToStatus(workTreeStatus),
154
+ });
155
+ }
156
+ }
157
+ function statusCharToStatus(char) {
158
+ switch (char) {
159
+ case 'A':
160
+ return 'added';
161
+ case 'M':
162
+ return 'modified';
163
+ case 'D':
164
+ return 'deleted';
165
+ case 'R':
166
+ return 'renamed';
167
+ case 'C':
168
+ return 'copied';
169
+ default:
170
+ return 'modified';
171
+ }
172
+ }
173
+ //# sourceMappingURL=parse-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-status.js","sourceRoot":"","sources":["../../src/utils/parse-status.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@generacy-ai/agency-plugin-git",
3
+ "version": "0.0.0-preview-20260302182740",
4
+ "description": "Git operations plugin for Agency - source control tools for agents",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/generacy-ai/agency.git",
8
+ "directory": "packages/agency-plugin-git"
9
+ },
10
+ "type": "module",
11
+ "main": "./dist/index.js",
12
+ "module": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "import": "./dist/index.js",
17
+ "types": "./dist/index.d.ts"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "keywords": [
24
+ "mcp",
25
+ "agent",
26
+ "generacy",
27
+ "git",
28
+ "source-control"
29
+ ],
30
+ "author": "Generacy AI",
31
+ "license": "Apache-2.0",
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "peerDependencies": {
36
+ "@generacy-ai/agency": "0.0.0-preview-20260302182740"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "@generacy-ai/agency-plugin-humancy": {
40
+ "optional": true
41
+ }
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^20.17.12",
45
+ "typescript": "^5.7.3",
46
+ "vitest": "^3.2.4",
47
+ "@generacy-ai/agency": "0.0.0-preview-20260302182740"
48
+ },
49
+ "agency": {
50
+ "id": "@generacy-ai/agency-plugin-git",
51
+ "name": "Git Plugin",
52
+ "tools": [
53
+ "source_control.status",
54
+ "source_control.diff",
55
+ "source_control.log",
56
+ "source_control.commit",
57
+ "source_control.push",
58
+ "source_control.pull",
59
+ "source_control.checkout",
60
+ "source_control.branch",
61
+ "source_control.stash",
62
+ "source_control.blame",
63
+ "source_control.merge",
64
+ "source_control.rebase"
65
+ ],
66
+ "modes": [
67
+ "research",
68
+ "coding",
69
+ "review"
70
+ ],
71
+ "dependencies": [],
72
+ "critical": false
73
+ },
74
+ "scripts": {
75
+ "build": "tsc",
76
+ "test": "vitest run",
77
+ "test:coverage": "vitest run --coverage",
78
+ "lint": "eslint src",
79
+ "typecheck": "tsc --noEmit",
80
+ "clean": "rm -rf dist"
81
+ }
82
+ }