@qelos/aidev 0.2.1 → 0.2.3
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/aidev.log +2427 -0
- package/dist/__tests__/config.test.js +61 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/git.test.js +196 -0
- package/dist/__tests__/git.test.js.map +1 -1
- package/dist/__tests__/platform.test.js +15 -0
- package/dist/__tests__/platform.test.js.map +1 -1
- package/dist/__tests__/run.test.js +41 -0
- package/dist/__tests__/run.test.js.map +1 -1
- package/dist/ai/claude.d.ts.map +1 -1
- package/dist/ai/claude.js +1 -2
- package/dist/ai/claude.js.map +1 -1
- package/dist/ai/cursor.d.ts.map +1 -1
- package/dist/ai/cursor.js +1 -2
- package/dist/ai/cursor.js.map +1 -1
- package/dist/ai/windsurf.d.ts.map +1 -1
- package/dist/ai/windsurf.js +1 -2
- package/dist/ai/windsurf.js.map +1 -1
- package/dist/cli.js +40 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.js +3 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/run.d.ts +1 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +183 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/tasks.d.ts +5 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +265 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -4
- package/dist/config.js.map +1 -1
- package/dist/cron.d.ts +23 -0
- package/dist/cron.d.ts.map +1 -0
- package/dist/cron.js +94 -0
- package/dist/cron.js.map +1 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +2 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/git.d.ts +22 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +66 -0
- package/dist/git.js.map +1 -1
- package/dist/github.d.ts +12 -0
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +85 -1
- package/dist/github.js.map +1 -1
- package/dist/platform.d.ts +9 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +33 -0
- package/dist/platform.js.map +1 -1
- package/dist/providers/base.d.ts +2 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/clickup.d.ts +3 -1
- package/dist/providers/clickup.d.ts.map +1 -1
- package/dist/providers/clickup.js +23 -0
- package/dist/providers/clickup.js.map +1 -1
- package/dist/providers/jira.d.ts +2 -1
- package/dist/providers/jira.d.ts.map +1 -1
- package/dist/providers/jira.js +28 -0
- package/dist/providers/jira.js.map +1 -1
- package/dist/tasks.d.ts +11 -0
- package/dist/tasks.d.ts.map +1 -0
- package/dist/tasks.js +124 -0
- package/dist/tasks.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cron.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../src/cron.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmCH,8BAaC;AAMD,0CAaC;AASD,wCAmBC;AArFD,SAAS,UAAU,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,CAAC,CAAC;IAElG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAEhD,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,eAAe,CAAC,MAAkB,EAAE,IAAU;IAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzD,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,YAAqB;IAChE,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE5B,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAM,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,KAAK,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,KAAM,EAAE,CAAC;QAC7D,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AA8DD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkBvE;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAOjD"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.formatDiagnosticReport = formatDiagnosticReport;
|
|
|
4
4
|
exports.collectAndLogDiagnostics = collectAndLogDiagnostics;
|
|
5
5
|
const node_child_process_1 = require("node:child_process");
|
|
6
6
|
const logger_1 = require("./logger");
|
|
7
|
+
const platform_1 = require("./platform");
|
|
7
8
|
const TOOLS_TO_CHECK = [
|
|
8
9
|
{ name: 'git', versionArgs: ['--version'] },
|
|
9
10
|
{ name: 'gh', versionArgs: ['--version'] },
|
|
@@ -14,7 +15,7 @@ const TOOLS_TO_CHECK = [
|
|
|
14
15
|
];
|
|
15
16
|
function getToolVersion(name, versionArgs) {
|
|
16
17
|
try {
|
|
17
|
-
const result = (0,
|
|
18
|
+
const result = (0, platform_1.spawnCommand)(name, versionArgs, {
|
|
18
19
|
encoding: 'utf8',
|
|
19
20
|
timeout: 10000,
|
|
20
21
|
});
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/git.d.ts
CHANGED
|
@@ -12,5 +12,27 @@ export declare function push(remote: string, branch: string): boolean;
|
|
|
12
12
|
export declare function deleteBranch(branch: string): void;
|
|
13
13
|
/** Returns the name of the first usable remote (prefers origin). */
|
|
14
14
|
export declare function detectRemote(): string | null;
|
|
15
|
+
export interface ConflictCheckResult {
|
|
16
|
+
clean: boolean;
|
|
17
|
+
conflictFiles: string[];
|
|
18
|
+
behindCommits: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Checks whether the current branch can merge cleanly with the remote base
|
|
22
|
+
* branch. Performs a trial merge and aborts it regardless of the outcome.
|
|
23
|
+
*/
|
|
24
|
+
export declare function checkConflictsWithBase(remote: string, baseBranch: string): ConflictCheckResult;
|
|
25
|
+
/**
|
|
26
|
+
* Starts a real merge of the remote base branch into the current branch.
|
|
27
|
+
* Returns true if the merge completed without conflicts.
|
|
28
|
+
*/
|
|
29
|
+
export declare function mergeBaseBranch(remote: string, baseBranch: string): boolean;
|
|
30
|
+
export declare function abortMerge(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the content of files with conflict markers for AI resolution context.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getConflictDetails(): string;
|
|
35
|
+
/** Completes a merge after conflicts have been manually resolved. */
|
|
36
|
+
export declare function commitMerge(message: string): boolean;
|
|
15
37
|
export declare function slugify(text: string): string;
|
|
16
38
|
//# sourceMappingURL=git.d.ts.map
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAIhD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED,wBAAgB,YAAY,IAAI,OAAO,CAStC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAoC5E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CA4B9E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAiB3E;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,MAAM,IAAI,OAAO,CAGhC;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAmBxE;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAiB5D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED,oEAAoE;AACpE,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAS5C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAIhD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED,wBAAgB,YAAY,IAAI,OAAO,CAStC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAoC5E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CA4B9E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAiB3E;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,MAAM,IAAI,OAAO,CAGhC;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAmBxE;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAiB5D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED,oEAAoE;AACpE,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAS5C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAoB9F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAG3E;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAe3C;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYpD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
|
package/dist/git.js
CHANGED
|
@@ -13,6 +13,11 @@ exports.commit = commit;
|
|
|
13
13
|
exports.push = push;
|
|
14
14
|
exports.deleteBranch = deleteBranch;
|
|
15
15
|
exports.detectRemote = detectRemote;
|
|
16
|
+
exports.checkConflictsWithBase = checkConflictsWithBase;
|
|
17
|
+
exports.mergeBaseBranch = mergeBaseBranch;
|
|
18
|
+
exports.abortMerge = abortMerge;
|
|
19
|
+
exports.getConflictDetails = getConflictDetails;
|
|
20
|
+
exports.commitMerge = commitMerge;
|
|
16
21
|
exports.slugify = slugify;
|
|
17
22
|
const node_child_process_1 = require("node:child_process");
|
|
18
23
|
const logger_1 = require("./logger");
|
|
@@ -185,6 +190,67 @@ function detectRemote() {
|
|
|
185
190
|
const first = list.stdout.trim().split('\n')[0]?.trim();
|
|
186
191
|
return first || null;
|
|
187
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Checks whether the current branch can merge cleanly with the remote base
|
|
195
|
+
* branch. Performs a trial merge and aborts it regardless of the outcome.
|
|
196
|
+
*/
|
|
197
|
+
function checkConflictsWithBase(remote, baseBranch) {
|
|
198
|
+
const logResult = git(['rev-list', '--count', `HEAD..${remote}/${baseBranch}`]);
|
|
199
|
+
const behindCommits = logResult.status === 0 ? parseInt(logResult.stdout.trim(), 10) || 0 : 0;
|
|
200
|
+
if (behindCommits === 0) {
|
|
201
|
+
return { clean: true, conflictFiles: [], behindCommits: 0 };
|
|
202
|
+
}
|
|
203
|
+
const merge = git(['merge', '--no-commit', '--no-ff', `${remote}/${baseBranch}`]);
|
|
204
|
+
if (merge.status === 0) {
|
|
205
|
+
git(['merge', '--abort']);
|
|
206
|
+
return { clean: true, conflictFiles: [], behindCommits };
|
|
207
|
+
}
|
|
208
|
+
const diffResult = git(['diff', '--name-only', '--diff-filter=U']);
|
|
209
|
+
const files = diffResult.stdout.trim().split('\n').filter(Boolean);
|
|
210
|
+
git(['merge', '--abort']);
|
|
211
|
+
return { clean: false, conflictFiles: files, behindCommits };
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Starts a real merge of the remote base branch into the current branch.
|
|
215
|
+
* Returns true if the merge completed without conflicts.
|
|
216
|
+
*/
|
|
217
|
+
function mergeBaseBranch(remote, baseBranch) {
|
|
218
|
+
const result = git(['merge', `${remote}/${baseBranch}`, '--no-edit']);
|
|
219
|
+
return result.status === 0;
|
|
220
|
+
}
|
|
221
|
+
function abortMerge() {
|
|
222
|
+
git(['merge', '--abort']);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Returns the content of files with conflict markers for AI resolution context.
|
|
226
|
+
*/
|
|
227
|
+
function getConflictDetails() {
|
|
228
|
+
const diffResult = git(['diff', '--name-only', '--diff-filter=U']);
|
|
229
|
+
const files = diffResult.stdout.trim().split('\n').filter(Boolean);
|
|
230
|
+
const details = [];
|
|
231
|
+
for (const file of files) {
|
|
232
|
+
const content = git(['show', `:2:${file}`]);
|
|
233
|
+
const theirs = git(['show', `:3:${file}`]);
|
|
234
|
+
details.push(`### ${file}\n\n` +
|
|
235
|
+
`**Our version (task branch):**\n\`\`\`\n${content.stdout.slice(0, 3000)}\n\`\`\`\n\n` +
|
|
236
|
+
`**Their version (base branch):**\n\`\`\`\n${theirs.stdout.slice(0, 3000)}\n\`\`\``);
|
|
237
|
+
}
|
|
238
|
+
return details.join('\n\n');
|
|
239
|
+
}
|
|
240
|
+
/** Completes a merge after conflicts have been manually resolved. */
|
|
241
|
+
function commitMerge(message) {
|
|
242
|
+
const add = git(['add', '-A']);
|
|
243
|
+
if (add.status !== 0) {
|
|
244
|
+
logger_1.logger.error(`git add failed during merge resolution: ${add.stderr}`);
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const result = git(['commit', '-m', message]);
|
|
248
|
+
if (result.status !== 0) {
|
|
249
|
+
logger_1.logger.error(`git merge commit failed: ${result.stderr}`);
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
188
254
|
function slugify(text) {
|
|
189
255
|
return text
|
|
190
256
|
.toLowerCase()
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":";;AAiBA,8CAEC;AAED,4CAIC;AAED,gDAGC;AAED,oCASC;AAED,4CAoCC;AAED,wDA4BC;AAED,oCAiBC;AAED,gCAGC;AAED,wBAGC;AAED,wBAmBC;AAED,oBAiBC;AAED,oCAGC;AAGD,oCASC;AAED,0BAMC;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/github.d.ts
CHANGED
|
@@ -8,4 +8,16 @@ export interface PullRequestResult {
|
|
|
8
8
|
error: string;
|
|
9
9
|
}
|
|
10
10
|
export declare function createPullRequest(baseBranch: string, headBranch: string, title: string, body: string): PullRequestResult;
|
|
11
|
+
export interface ReviewThread {
|
|
12
|
+
id: string;
|
|
13
|
+
path: string;
|
|
14
|
+
line: number | null;
|
|
15
|
+
comments: Array<{
|
|
16
|
+
body: string;
|
|
17
|
+
author: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export declare function getPrNumberForBranch(branch: string): number | null;
|
|
21
|
+
export declare function fetchUnresolvedReviewThreads(owner: string, repo: string, prNumber: number): ReviewThread[];
|
|
22
|
+
export declare function resolveReviewThread(threadId: string): boolean;
|
|
11
23
|
//# sourceMappingURL=github.d.ts.map
|
package/dist/github.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AA4BA,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,iBAAiB,CAkBnB"}
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AA4BA,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,iBAAiB,CAkBnB;AAID,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AA6BD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,YAAY,EAAE,CAqDhB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB7D"}
|
package/dist/github.js
CHANGED
|
@@ -5,11 +5,14 @@ exports.isGhAuthenticated = isGhAuthenticated;
|
|
|
5
5
|
exports.getRemoteUrl = getRemoteUrl;
|
|
6
6
|
exports.isGitHubRemote = isGitHubRemote;
|
|
7
7
|
exports.createPullRequest = createPullRequest;
|
|
8
|
+
exports.getPrNumberForBranch = getPrNumberForBranch;
|
|
9
|
+
exports.fetchUnresolvedReviewThreads = fetchUnresolvedReviewThreads;
|
|
10
|
+
exports.resolveReviewThread = resolveReviewThread;
|
|
8
11
|
const node_child_process_1 = require("node:child_process");
|
|
9
12
|
const platform_1 = require("./platform");
|
|
10
13
|
const logger_1 = require("./logger");
|
|
11
14
|
function gh(args) {
|
|
12
|
-
const result = (0,
|
|
15
|
+
const result = (0, platform_1.spawnCommand)('gh', args, {
|
|
13
16
|
encoding: 'utf8',
|
|
14
17
|
timeout: 30000,
|
|
15
18
|
});
|
|
@@ -66,4 +69,85 @@ function createPullRequest(baseBranch, headBranch, title, body) {
|
|
|
66
69
|
logger_1.logger.info(`PR created: ${url}`);
|
|
67
70
|
return { success: true, url, error: '' };
|
|
68
71
|
}
|
|
72
|
+
function getPrNumberForBranch(branch) {
|
|
73
|
+
const result = gh(['pr', 'view', branch, '--json', 'number']);
|
|
74
|
+
if (result.status !== 0)
|
|
75
|
+
return null;
|
|
76
|
+
try {
|
|
77
|
+
const parsed = JSON.parse(result.stdout);
|
|
78
|
+
return parsed.number ?? null;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function fetchUnresolvedReviewThreads(owner, repo, prNumber) {
|
|
85
|
+
const query = `query($owner: String!, $repo: String!, $prNumber: Int!) {
|
|
86
|
+
repository(owner: $owner, name: $repo) {
|
|
87
|
+
pullRequest(number: $prNumber) {
|
|
88
|
+
reviewThreads(first: 100) {
|
|
89
|
+
nodes {
|
|
90
|
+
id
|
|
91
|
+
isResolved
|
|
92
|
+
path
|
|
93
|
+
line
|
|
94
|
+
comments(first: 50) {
|
|
95
|
+
nodes {
|
|
96
|
+
body
|
|
97
|
+
author { login }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}`;
|
|
105
|
+
const result = gh([
|
|
106
|
+
'api', 'graphql',
|
|
107
|
+
'-f', `query=${query}`,
|
|
108
|
+
'-F', `owner=${owner}`,
|
|
109
|
+
'-F', `repo=${repo}`,
|
|
110
|
+
'-F', `prNumber=${prNumber}`,
|
|
111
|
+
]);
|
|
112
|
+
if (result.status !== 0) {
|
|
113
|
+
logger_1.logger.warn(`Failed to fetch review threads: ${result.stderr.trim()}`);
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const response = JSON.parse(result.stdout);
|
|
118
|
+
const threads = response.data.repository.pullRequest.reviewThreads.nodes;
|
|
119
|
+
return threads
|
|
120
|
+
.filter((t) => !t.isResolved)
|
|
121
|
+
.map((t) => ({
|
|
122
|
+
id: t.id,
|
|
123
|
+
path: t.path,
|
|
124
|
+
line: t.line,
|
|
125
|
+
comments: t.comments.nodes.map((c) => ({
|
|
126
|
+
body: c.body,
|
|
127
|
+
author: c.author?.login ?? 'unknown',
|
|
128
|
+
})),
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
logger_1.logger.warn(`Failed to parse review threads: ${err}`);
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function resolveReviewThread(threadId) {
|
|
137
|
+
const mutation = `mutation($threadId: ID!) {
|
|
138
|
+
resolveReviewThread(input: { threadId: $threadId }) {
|
|
139
|
+
thread { isResolved }
|
|
140
|
+
}
|
|
141
|
+
}`;
|
|
142
|
+
const result = gh([
|
|
143
|
+
'api', 'graphql',
|
|
144
|
+
'-f', `query=${mutation}`,
|
|
145
|
+
'-F', `threadId=${threadId}`,
|
|
146
|
+
]);
|
|
147
|
+
if (result.status !== 0) {
|
|
148
|
+
logger_1.logger.debug(`Failed to resolve thread ${threadId}: ${result.stderr.trim()}`);
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
69
153
|
//# sourceMappingURL=github.js.map
|
package/dist/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;AA4BA,sCAEC;AAED,8CAIC;AAED,oCAIC;AAED,wCAGC;AAQD,8CAuBC;
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SpawnSyncOptionsWithStringEncoding, SpawnSyncReturns } from 'node:child_process';
|
|
1
2
|
export declare const isWindows: boolean;
|
|
2
3
|
/**
|
|
3
4
|
* Finds the full path of a binary by searching PATH (and PATHEXT on Windows).
|
|
@@ -6,6 +7,14 @@ export declare const isWindows: boolean;
|
|
|
6
7
|
*/
|
|
7
8
|
export declare function findBin(name: string): string | null;
|
|
8
9
|
export declare function commandExists(name: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Cross-platform `spawnSync` wrapper.
|
|
12
|
+
* On Windows, .cmd/.bat shims (common for npm-installed CLIs like cursor,
|
|
13
|
+
* claude, windsurf) cannot be spawned directly — Node.js only resolves .exe
|
|
14
|
+
* and .com via CreateProcessW. This helper detects .cmd/.bat and routes
|
|
15
|
+
* them through the system shell so they execute correctly.
|
|
16
|
+
*/
|
|
17
|
+
export declare function spawnCommand(command: string, args: string[], options: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
|
|
9
18
|
/**
|
|
10
19
|
* Returns the user's full login-shell environment merged with process.env.
|
|
11
20
|
* process.env always wins on conflicts, so we never lose what we already have.
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kCAAkC,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/F,eAAO,MAAM,SAAS,SAA+B,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,kCAAkC,GAC1C,gBAAgB,CAAC,MAAM,CAAC,CAW1B;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,UAAU,CAyBnD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C"}
|
package/dist/platform.js
CHANGED
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.isWindows = void 0;
|
|
37
37
|
exports.findBin = findBin;
|
|
38
38
|
exports.commandExists = commandExists;
|
|
39
|
+
exports.spawnCommand = spawnCommand;
|
|
39
40
|
exports.getUserShellEnv = getUserShellEnv;
|
|
40
41
|
exports.isScreenAvailable = isScreenAvailable;
|
|
41
42
|
const fs = __importStar(require("node:fs"));
|
|
@@ -64,11 +65,43 @@ function findBin(name) {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
if (exports.isWindows) {
|
|
69
|
+
try {
|
|
70
|
+
const result = (0, node_child_process_1.spawnSync)('where.exe', [name], {
|
|
71
|
+
encoding: 'utf8',
|
|
72
|
+
timeout: 5000,
|
|
73
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
74
|
+
});
|
|
75
|
+
if (result.status === 0 && result.stdout) {
|
|
76
|
+
const firstLine = result.stdout.trim().split(/\r?\n/)[0]?.trim();
|
|
77
|
+
if (firstLine)
|
|
78
|
+
return firstLine;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch { /* ignore */ }
|
|
82
|
+
}
|
|
67
83
|
return null;
|
|
68
84
|
}
|
|
69
85
|
function commandExists(name) {
|
|
70
86
|
return findBin(name) !== null;
|
|
71
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Cross-platform `spawnSync` wrapper.
|
|
90
|
+
* On Windows, .cmd/.bat shims (common for npm-installed CLIs like cursor,
|
|
91
|
+
* claude, windsurf) cannot be spawned directly — Node.js only resolves .exe
|
|
92
|
+
* and .com via CreateProcessW. This helper detects .cmd/.bat and routes
|
|
93
|
+
* them through the system shell so they execute correctly.
|
|
94
|
+
*/
|
|
95
|
+
function spawnCommand(command, args, options) {
|
|
96
|
+
if (!exports.isWindows) {
|
|
97
|
+
return (0, node_child_process_1.spawnSync)(command, args, options);
|
|
98
|
+
}
|
|
99
|
+
const resolved = findBin(command);
|
|
100
|
+
if (resolved && /\.(cmd|bat)$/i.test(resolved)) {
|
|
101
|
+
return (0, node_child_process_1.spawnSync)(resolved, args, { ...options, shell: true });
|
|
102
|
+
}
|
|
103
|
+
return (0, node_child_process_1.spawnSync)(resolved ?? command, args, options);
|
|
104
|
+
}
|
|
72
105
|
let _shellEnvCache;
|
|
73
106
|
/**
|
|
74
107
|
* Returns the user's full login-shell environment merged with process.env.
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/base.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Task, Comment } from '../types';
|
|
1
|
+
import { Task, Comment, CreateTaskParams, CreateTaskResult } from '../types';
|
|
2
2
|
export interface TaskProvider {
|
|
3
3
|
fetchTasks(): Promise<Task[]>;
|
|
4
4
|
postComment(taskId: string, text: string): Promise<void>;
|
|
5
5
|
getComments(taskId: string): Promise<Comment[]>;
|
|
6
6
|
updateStatus(taskId: string, status: string): Promise<void>;
|
|
7
|
+
createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjE"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { Task, Comment, Config } from '../types';
|
|
1
|
+
import { Task, Comment, Config, CreateTaskParams, CreateTaskResult } from '../types';
|
|
2
2
|
import { TaskProvider } from './base';
|
|
3
3
|
export declare class ClickUpProvider implements TaskProvider {
|
|
4
4
|
private apiKey;
|
|
5
5
|
private teamId;
|
|
6
6
|
private tag;
|
|
7
7
|
private assigneeTag;
|
|
8
|
+
private listId;
|
|
8
9
|
constructor(config: Config);
|
|
9
10
|
private request;
|
|
10
11
|
fetchTasks(): Promise<Task[]>;
|
|
11
12
|
postComment(taskId: string, text: string): Promise<void>;
|
|
12
13
|
getComments(taskId: string): Promise<Comment[]>;
|
|
13
14
|
updateStatus(taskId: string, status: string): Promise<void>;
|
|
15
|
+
createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=clickup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickup.d.ts","sourceRoot":"","sources":["../../src/providers/clickup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"clickup.d.ts","sourceRoot":"","sources":["../../src/providers/clickup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;YAQZ,OAAO;IA4Cf,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA8B7B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA6C/C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+BtE"}
|
|
@@ -8,6 +8,7 @@ class ClickUpProvider {
|
|
|
8
8
|
this.teamId = config.clickupTeamId;
|
|
9
9
|
this.tag = config.clickupTag;
|
|
10
10
|
this.assigneeTag = config.assigneeTag;
|
|
11
|
+
this.listId = config.clickupListId;
|
|
11
12
|
}
|
|
12
13
|
async request(path, options = {}) {
|
|
13
14
|
const url = `https://api.clickup.com/api/v2${path}`;
|
|
@@ -101,6 +102,28 @@ class ClickUpProvider {
|
|
|
101
102
|
body: JSON.stringify({ status }),
|
|
102
103
|
});
|
|
103
104
|
}
|
|
105
|
+
async createTask(params) {
|
|
106
|
+
const listId = params.listId || this.listId;
|
|
107
|
+
if (!listId) {
|
|
108
|
+
throw new Error('Cannot create task: no ClickUp list ID configured. Set CLICKUP_LIST_ID in .env.aidev or specify listId on the task.');
|
|
109
|
+
}
|
|
110
|
+
const body = {
|
|
111
|
+
name: params.title,
|
|
112
|
+
description: params.description,
|
|
113
|
+
tags: params.tags,
|
|
114
|
+
};
|
|
115
|
+
if (params.priority)
|
|
116
|
+
body.priority = params.priority;
|
|
117
|
+
if (params.dueDate) {
|
|
118
|
+
body.due_date = params.dueDate;
|
|
119
|
+
body.due_date_time = true;
|
|
120
|
+
}
|
|
121
|
+
const result = await this.request(`/list/${listId}/task`, {
|
|
122
|
+
method: 'POST',
|
|
123
|
+
body: JSON.stringify(body),
|
|
124
|
+
});
|
|
125
|
+
return { id: result.id, url: result.url };
|
|
126
|
+
}
|
|
104
127
|
}
|
|
105
128
|
exports.ClickUpProvider = ClickUpProvider;
|
|
106
129
|
//# sourceMappingURL=clickup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickup.js","sourceRoot":"","sources":["../../src/providers/clickup.ts"],"names":[],"mappings":";;;AAEA,sCAAmC;AAEnC,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"clickup.js","sourceRoot":"","sources":["../../src/providers/clickup.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/jira.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Task, Comment, Config } from '../types';
|
|
1
|
+
import { Task, Comment, Config, CreateTaskParams, CreateTaskResult } from '../types';
|
|
2
2
|
import { TaskProvider } from './base';
|
|
3
3
|
export declare class JiraProvider implements TaskProvider {
|
|
4
4
|
private baseUrl;
|
|
@@ -14,5 +14,6 @@ export declare class JiraProvider implements TaskProvider {
|
|
|
14
14
|
postComment(taskId: string, text: string): Promise<void>;
|
|
15
15
|
getComments(taskId: string): Promise<Comment[]>;
|
|
16
16
|
updateStatus(taskId: string, status: string): Promise<void>;
|
|
17
|
+
createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=jira.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../src/providers/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../src/providers/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,MAAM;YASZ,OAAO;IAoBrB,iEAAiE;IACjE,OAAO,CAAC,SAAS;IAUX,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAmC7B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA8B/C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAqCtE"}
|
package/dist/providers/jira.js
CHANGED
|
@@ -98,6 +98,34 @@ class JiraProvider {
|
|
|
98
98
|
body: JSON.stringify({ transition: { id: transition.id } }),
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
+
async createTask(params) {
|
|
102
|
+
const project = params.listId || this.project;
|
|
103
|
+
const fields = {
|
|
104
|
+
project: { key: project },
|
|
105
|
+
summary: params.title,
|
|
106
|
+
description: {
|
|
107
|
+
type: 'doc',
|
|
108
|
+
version: 1,
|
|
109
|
+
content: [
|
|
110
|
+
{ type: 'paragraph', content: [{ type: 'text', text: params.description || ' ' }] },
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
issuetype: { name: 'Task' },
|
|
114
|
+
labels: params.tags,
|
|
115
|
+
};
|
|
116
|
+
if (params.priority) {
|
|
117
|
+
const names = { 1: 'Highest', 2: 'High', 3: 'Medium', 4: 'Low' };
|
|
118
|
+
fields.priority = { name: names[params.priority] || 'Medium' };
|
|
119
|
+
}
|
|
120
|
+
if (params.dueDate) {
|
|
121
|
+
fields.duedate = new Date(params.dueDate).toISOString().split('T')[0];
|
|
122
|
+
}
|
|
123
|
+
const result = await this.request('/issue', {
|
|
124
|
+
method: 'POST',
|
|
125
|
+
body: JSON.stringify({ fields }),
|
|
126
|
+
});
|
|
127
|
+
return { id: result.key, url: `${this.baseUrl}/browse/${result.key}` };
|
|
128
|
+
}
|
|
101
129
|
}
|
|
102
130
|
exports.JiraProvider = JiraProvider;
|
|
103
131
|
//# sourceMappingURL=jira.js.map
|