agentrix 0.0.6 → 0.2.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/api/auth.d.ts +11 -0
- package/dist/api/auth.d.ts.map +1 -1
- package/dist/api/auth.js +18 -3
- package/dist/api/auth.js.map +1 -1
- package/dist/api/automation.d.ts +27 -2
- package/dist/api/automation.d.ts.map +1 -1
- package/dist/api/automation.js +43 -15
- package/dist/api/automation.js.map +1 -1
- package/dist/api/base-handler.d.ts +9 -0
- package/dist/api/base-handler.d.ts.map +1 -1
- package/dist/api/base-handler.js +14 -12
- package/dist/api/base-handler.js.map +1 -1
- package/dist/api/create-plan.d.ts +11 -0
- package/dist/api/create-plan.d.ts.map +1 -1
- package/dist/api/create-plan.js +25 -10
- package/dist/api/create-plan.js.map +1 -1
- package/dist/api/git-status.d.ts +12 -0
- package/dist/api/git-status.d.ts.map +1 -1
- package/dist/api/git-status.js +20 -4
- package/dist/api/git-status.js.map +1 -1
- package/dist/api/plans.d.ts +18 -0
- package/dist/api/plans.d.ts.map +1 -1
- package/dist/api/plans.js +33 -14
- package/dist/api/plans.js.map +1 -1
- package/dist/api/repo-dashboard.d.ts.map +1 -1
- package/dist/api/repo-dashboard.js +4 -5
- package/dist/api/repo-dashboard.js.map +1 -1
- package/dist/api/repo-issue.d.ts.map +1 -1
- package/dist/api/repo-issue.js +6 -9
- package/dist/api/repo-issue.js.map +1 -1
- package/dist/api/repos.d.ts +5 -1
- package/dist/api/repos.d.ts.map +1 -1
- package/dist/api/repos.js +2 -2
- package/dist/api/repos.js.map +1 -1
- package/dist/api/sessions.d.ts +5 -1
- package/dist/api/sessions.d.ts.map +1 -1
- package/dist/api/sessions.js +2 -2
- package/dist/api/sessions.js.map +1 -1
- package/dist/api/tasks.d.ts +6 -1
- package/dist/api/tasks.d.ts.map +1 -1
- package/dist/api/tasks.js +7 -3
- package/dist/api/tasks.js.map +1 -1
- package/dist/api/terminal.d.ts +5 -2
- package/dist/api/terminal.d.ts.map +1 -1
- package/dist/api/terminal.js +2 -1
- package/dist/api/terminal.js.map +1 -1
- package/dist/api/worktrees.d.ts +5 -1
- package/dist/api/worktrees.d.ts.map +1 -1
- package/dist/api/worktrees.js +2 -2
- package/dist/api/worktrees.js.map +1 -1
- package/dist/cli/plans-command.d.ts +9 -0
- package/dist/cli/plans-command.d.ts.map +1 -1
- package/dist/cli/plans-command.js +17 -4
- package/dist/cli/plans-command.js.map +1 -1
- package/dist/cli/server-starter.d.ts +6 -0
- package/dist/cli/server-starter.d.ts.map +1 -1
- package/dist/cli/server-starter.js +14 -2
- package/dist/cli/server-starter.js.map +1 -1
- package/dist/core/agents.d.ts +11 -0
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +22 -8
- package/dist/core/agents.js.map +1 -1
- package/dist/core/auth.d.ts +10 -0
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +18 -4
- package/dist/core/auth.js.map +1 -1
- package/dist/core/branch-name.d.ts +10 -0
- package/dist/core/branch-name.d.ts.map +1 -1
- package/dist/core/branch-name.js +19 -6
- package/dist/core/branch-name.js.map +1 -1
- package/dist/core/plan-storage.js +2 -2
- package/dist/core/plan-storage.js.map +1 -1
- package/dist/repositories/git-repository.d.ts +6 -0
- package/dist/repositories/git-repository.d.ts.map +1 -1
- package/dist/repositories/git-repository.js +9 -1
- package/dist/repositories/git-repository.js.map +1 -1
- package/dist/repositories/repository-repository.d.ts +13 -0
- package/dist/repositories/repository-repository.d.ts.map +1 -1
- package/dist/repositories/repository-repository.js +29 -7
- package/dist/repositories/repository-repository.js.map +1 -1
- package/dist/repositories/worktree-repository.d.ts +11 -0
- package/dist/repositories/worktree-repository.d.ts.map +1 -1
- package/dist/repositories/worktree-repository.js +8 -1
- package/dist/repositories/worktree-repository.js.map +1 -1
- package/dist/services/repository-service.d.ts +14 -0
- package/dist/services/repository-service.d.ts.map +1 -1
- package/dist/services/repository-service.js +36 -8
- package/dist/services/repository-service.js.map +1 -1
- package/dist/services/session-service.d.ts +15 -0
- package/dist/services/session-service.d.ts.map +1 -1
- package/dist/services/session-service.js +38 -8
- package/dist/services/session-service.js.map +1 -1
- package/dist/services/terminal-service.d.ts +10 -0
- package/dist/services/terminal-service.d.ts.map +1 -1
- package/dist/services/terminal-service.js +30 -6
- package/dist/services/terminal-service.js.map +1 -1
- package/dist/utils/repository-cache.d.ts +11 -0
- package/dist/utils/repository-cache.d.ts.map +1 -1
- package/dist/utils/repository-cache.js +17 -2
- package/dist/utils/repository-cache.js.map +1 -1
- package/package.json +5 -3
- package/ui/dist/assets/{index-BI2EZLfU.js → index-Df_Dnr2P.js} +149 -134
- package/ui/dist/assets/index-Dq7NgFme.css +41 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-CwB7gOl4.css +0 -41
package/dist/api/plans.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/api/plans.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/api/plans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAmB,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,UAAU,iBAAiB;IACzB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAaD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAMpF;AAqCD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM;oBAC3B,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC;oBAmB9B,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC;EA0B5D"}
|
package/dist/api/plans.js
CHANGED
|
@@ -3,30 +3,49 @@ import { listPlansForWorktree, readPlanFromWorktree } from '../core/plan-storage
|
|
|
3
3
|
import { sendJson } from '../utils/http.js';
|
|
4
4
|
import { extractWorktreeParams } from '../validation/index.js';
|
|
5
5
|
import { ValidationError, extractErrorMessage } from '../infrastructure/errors/index.js';
|
|
6
|
+
const defaultDependencies = {
|
|
7
|
+
getWorktreePath,
|
|
8
|
+
listPlansForWorktree,
|
|
9
|
+
readPlanFromWorktree,
|
|
10
|
+
extractWorktreeParams,
|
|
11
|
+
sendJson,
|
|
12
|
+
extractErrorMessage,
|
|
13
|
+
};
|
|
14
|
+
let activeDependencies = { ...defaultDependencies };
|
|
15
|
+
/**
|
|
16
|
+
* @internal Test hook to override plans dependencies
|
|
17
|
+
*/
|
|
18
|
+
export function __setPlansTestOverrides(overrides) {
|
|
19
|
+
if (!overrides) {
|
|
20
|
+
activeDependencies = { ...defaultDependencies };
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
activeDependencies = { ...activeDependencies, ...overrides };
|
|
24
|
+
}
|
|
6
25
|
function parseCommonParams(context) {
|
|
7
26
|
try {
|
|
8
|
-
const { org, repo, branch } = extractWorktreeParams(context.url.searchParams);
|
|
27
|
+
const { org, repo, branch } = activeDependencies.extractWorktreeParams(context.url.searchParams);
|
|
9
28
|
const limitParam = context.url.searchParams.get('limit');
|
|
10
29
|
const limit = limitParam ? Number.parseInt(limitParam, 10) : undefined;
|
|
11
30
|
if (limitParam && (Number.isNaN(limit) || (limit && limit < 1))) {
|
|
12
|
-
sendJson(context.res, 400, { error: 'limit must be a positive integer' });
|
|
31
|
+
activeDependencies.sendJson(context.res, 400, { error: 'limit must be a positive integer' });
|
|
13
32
|
return null;
|
|
14
33
|
}
|
|
15
34
|
return { org, repo, branch, limit };
|
|
16
35
|
}
|
|
17
36
|
catch (error) {
|
|
18
|
-
const message = error instanceof ValidationError ? error.message : extractErrorMessage(error, 'Invalid parameters');
|
|
19
|
-
sendJson(context.res, 400, { error: message });
|
|
37
|
+
const message = error instanceof ValidationError ? error.message : activeDependencies.extractErrorMessage(error, 'Invalid parameters');
|
|
38
|
+
activeDependencies.sendJson(context.res, 400, { error: message });
|
|
20
39
|
return null;
|
|
21
40
|
}
|
|
22
41
|
}
|
|
23
42
|
function handleResolutionError(res, error) {
|
|
24
|
-
const message = extractErrorMessage(error, 'Unknown error');
|
|
43
|
+
const message = activeDependencies.extractErrorMessage(error, 'Unknown error');
|
|
25
44
|
if (/not found/i.test(message)) {
|
|
26
|
-
sendJson(res, 404, { error: message });
|
|
45
|
+
activeDependencies.sendJson(res, 404, { error: message });
|
|
27
46
|
return;
|
|
28
47
|
}
|
|
29
|
-
sendJson(res, 500, { error: message });
|
|
48
|
+
activeDependencies.sendJson(res, 500, { error: message });
|
|
30
49
|
}
|
|
31
50
|
export function createPlanArtifactHandlers(workdir) {
|
|
32
51
|
async function list(context) {
|
|
@@ -35,13 +54,13 @@ export function createPlanArtifactHandlers(workdir) {
|
|
|
35
54
|
return;
|
|
36
55
|
}
|
|
37
56
|
try {
|
|
38
|
-
const { worktreePath } = await getWorktreePath(workdir, parsed.org, parsed.repo, parsed.branch);
|
|
39
|
-
const plans = await listPlansForWorktree({
|
|
57
|
+
const { worktreePath } = await activeDependencies.getWorktreePath(workdir, parsed.org, parsed.repo, parsed.branch);
|
|
58
|
+
const plans = await activeDependencies.listPlansForWorktree({
|
|
40
59
|
worktreePath,
|
|
41
60
|
branch: parsed.branch,
|
|
42
61
|
limit: parsed.limit,
|
|
43
62
|
});
|
|
44
|
-
sendJson(context.res, 200, { data: plans });
|
|
63
|
+
activeDependencies.sendJson(context.res, 200, { data: plans });
|
|
45
64
|
}
|
|
46
65
|
catch (error) {
|
|
47
66
|
handleResolutionError(context.res, error);
|
|
@@ -54,17 +73,17 @@ export function createPlanArtifactHandlers(workdir) {
|
|
|
54
73
|
}
|
|
55
74
|
const planId = (context.url.searchParams.get('planId') || '').trim();
|
|
56
75
|
if (!planId) {
|
|
57
|
-
sendJson(context.res, 400, { error: 'planId is required' });
|
|
76
|
+
activeDependencies.sendJson(context.res, 400, { error: 'planId is required' });
|
|
58
77
|
return;
|
|
59
78
|
}
|
|
60
79
|
try {
|
|
61
|
-
const { worktreePath } = await getWorktreePath(workdir, parsed.org, parsed.repo, parsed.branch);
|
|
62
|
-
const plan = await readPlanFromWorktree({
|
|
80
|
+
const { worktreePath } = await activeDependencies.getWorktreePath(workdir, parsed.org, parsed.repo, parsed.branch);
|
|
81
|
+
const plan = await activeDependencies.readPlanFromWorktree({
|
|
63
82
|
worktreePath,
|
|
64
83
|
branch: parsed.branch,
|
|
65
84
|
id: planId,
|
|
66
85
|
});
|
|
67
|
-
sendJson(context.res, 200, { data: plan });
|
|
86
|
+
activeDependencies.sendJson(context.res, 200, { data: plan });
|
|
68
87
|
}
|
|
69
88
|
catch (error) {
|
|
70
89
|
handleResolutionError(context.res, error);
|
package/dist/api/plans.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/api/plans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/api/plans.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-dashboard.d.ts","sourceRoot":"","sources":["../../src/api/repo-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,sBAA2B;;
|
|
1
|
+
{"version":3,"file":"repo-dashboard.d.ts","sourceRoot":"","sources":["../../src/api/repo-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,sBAA2B;;EAiDlG"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ensureRepository, countLocalWorktrees } from '../core/git.js';
|
|
2
2
|
import { createGithubClient } from '../core/github.js';
|
|
3
|
-
import {
|
|
3
|
+
import { handleHeadRequest } from '../utils/http.js';
|
|
4
4
|
import { extractRepositoryParams } from '../validation/index.js';
|
|
5
5
|
import { createQueryHandler } from './base-handler.js';
|
|
6
|
-
import {
|
|
6
|
+
import { HttpError } from '../infrastructure/errors/index.js';
|
|
7
7
|
export function createRepoDashboardHandlers(workdir, overrides = {}) {
|
|
8
8
|
const { githubClient = createGithubClient(), ensureRepo = ensureRepository, worktreeCounter = countLocalWorktrees, now = () => new Date(), } = overrides;
|
|
9
9
|
const read = createQueryHandler(async (context) => {
|
|
@@ -13,10 +13,9 @@ export function createRepoDashboardHandlers(workdir, overrides = {}) {
|
|
|
13
13
|
({ repositoryPath } = await ensureRepo(workdir, org, repo));
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
|
-
const message =
|
|
16
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
17
17
|
const statusCode = message.includes('not found') ? 404 : 500;
|
|
18
|
-
|
|
19
|
-
return;
|
|
18
|
+
throw new HttpError(message, statusCode);
|
|
20
19
|
}
|
|
21
20
|
if (context.method === 'HEAD') {
|
|
22
21
|
handleHeadRequest(context.res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-dashboard.js","sourceRoot":"","sources":["../../src/api/repo-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"repo-dashboard.js","sourceRoot":"","sources":["../../src/api/repo-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAU9D,MAAM,UAAU,2BAA2B,CAAC,OAAe,EAAE,YAAoC,EAAE;IACjG,MAAM,EACJ,YAAY,GAAG,kBAAkB,EAAE,EACnC,UAAU,GAAG,gBAAgB,EAC7B,eAAe,GAAG,mBAAmB,EACrC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,GACvB,GAAG,SAAS,CAAC;IAEd,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAChE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAExE,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3F,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC;YAC7C,YAAY,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;YACvC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;YACtC,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAEtC,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG;gBACH,IAAI;gBACJ,SAAS;gBACT,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACrD,SAAS,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBACxC,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aACpC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-issue.d.ts","sourceRoot":"","sources":["../../src/api/repo-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,kBAAuB;;
|
|
1
|
+
{"version":3,"file":"repo-issue.d.ts","sourceRoot":"","sources":["../../src/api/repo-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,kBAAuB;;EA+C1F"}
|
package/dist/api/repo-issue.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ensureRepository } from '../core/git.js';
|
|
2
2
|
import { createGithubClient } from '../core/github.js';
|
|
3
|
-
import {
|
|
3
|
+
import { handleHeadRequest } from '../utils/http.js';
|
|
4
4
|
import { extractRepositoryParams } from '../validation/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { HttpError, ValidationError } from '../infrastructure/errors/index.js';
|
|
6
6
|
import { createQueryHandler } from './base-handler.js';
|
|
7
7
|
export function createRepoIssueHandlers(workdir, overrides = {}) {
|
|
8
8
|
const { githubClient = createGithubClient(), ensureRepo = ensureRepository, now = () => new Date(), } = overrides;
|
|
@@ -10,22 +10,19 @@ export function createRepoIssueHandlers(workdir, overrides = {}) {
|
|
|
10
10
|
const { org, repo } = extractRepositoryParams(context.url.searchParams);
|
|
11
11
|
const issueParam = context.url.searchParams.get('issue')?.trim() || '';
|
|
12
12
|
if (!issueParam) {
|
|
13
|
-
|
|
14
|
-
return;
|
|
13
|
+
throw new ValidationError('issue query parameter is required');
|
|
15
14
|
}
|
|
16
15
|
const issueNumber = Number.parseInt(issueParam, 10);
|
|
17
16
|
if (!Number.isInteger(issueNumber) || issueNumber <= 0) {
|
|
18
|
-
|
|
19
|
-
return;
|
|
17
|
+
throw new ValidationError('issue query parameter must be a positive integer');
|
|
20
18
|
}
|
|
21
19
|
try {
|
|
22
20
|
await ensureRepo(workdir, org, repo);
|
|
23
21
|
}
|
|
24
22
|
catch (error) {
|
|
25
|
-
const message =
|
|
23
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
26
24
|
const statusCode = message.includes('not found') ? 404 : 500;
|
|
27
|
-
|
|
28
|
-
return;
|
|
25
|
+
throw new HttpError(message, statusCode);
|
|
29
26
|
}
|
|
30
27
|
if (context.method === 'HEAD') {
|
|
31
28
|
handleHeadRequest(context.res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-issue.js","sourceRoot":"","sources":["../../src/api/repo-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"repo-issue.js","sourceRoot":"","sources":["../../src/api/repo-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,YAAgC,EAAE;IACzF,MAAM,EACJ,YAAY,GAAG,kBAAkB,EAAE,EACnC,UAAU,GAAG,gBAAgB,EAC7B,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,GACvB,GAAG,SAAS,CAAC;IAEd,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAChE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,mCAAmC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,eAAe,CAAC,kDAAkD,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAEtC,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG;gBACH,IAAI;gBACJ,KAAK;gBACL,SAAS;aACV;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
|
package/dist/api/repos.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { type RepositoryService } from '../services/index.js';
|
|
1
2
|
import type { RequestContext } from '../types/http.js';
|
|
2
|
-
export
|
|
3
|
+
export interface RepoHandlersOverrides {
|
|
4
|
+
repositoryService?: RepositoryService;
|
|
5
|
+
}
|
|
6
|
+
export declare function createRepoHandlers(workdir: string, overrides?: RepoHandlersOverrides): {
|
|
3
7
|
list: (context: RequestContext) => Promise<void>;
|
|
4
8
|
create: (context: RequestContext) => Promise<void>;
|
|
5
9
|
delete: (context: RequestContext) => Promise<void>;
|
package/dist/api/repos.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/api/repos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/api/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOvD,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,qBAA0B;;;;;;EA8CxF"}
|
package/dist/api/repos.js
CHANGED
|
@@ -3,8 +3,8 @@ import { handleHeadRequest } from '../utils/http.js';
|
|
|
3
3
|
import { asyncHandler } from '../infrastructure/errors/index.js';
|
|
4
4
|
import { createHandler } from './base-handler.js';
|
|
5
5
|
import { validateRepositoryCreate, validateRepositoryDelete, validateInitCommandUpdate, } from '../validation/index.js';
|
|
6
|
-
export function createRepoHandlers(workdir) {
|
|
7
|
-
const repositoryService = createRepositoryService(workdir);
|
|
6
|
+
export function createRepoHandlers(workdir, overrides = {}) {
|
|
7
|
+
const repositoryService = overrides.repositoryService ?? createRepositoryService(workdir);
|
|
8
8
|
const list = asyncHandler(async (context) => {
|
|
9
9
|
if (context.method === 'HEAD') {
|
|
10
10
|
handleHeadRequest(context.res);
|
package/dist/api/repos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repos.js","sourceRoot":"","sources":["../../src/api/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"repos.js","sourceRoot":"","sources":["../../src/api/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAMhC,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,YAAmC,EAAE;IACvF,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,KAAK,EAAE,KAA2C,EAAE,EAAE,CAC7D,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC;KAChE,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,aAAa,CAAC;QAC/B,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,KAAK,EAAE,KAAoC,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,aAAa,CAAC;QACtC,SAAS,EAAE,yBAAyB;QACpC,OAAO,EAAE,KAAK,EAAE,KAAyD,EAAE,EAAE;YAC3E,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACjG,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM,EAAE,UAAU;QAClB,8CAA8C;QAC9C,OAAO,EAAE,UAAU;QACnB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
package/dist/api/sessions.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { type SessionService } from '../services/session-service.js';
|
|
1
2
|
import type { RequestContext } from '../types/http.js';
|
|
2
|
-
export
|
|
3
|
+
export interface SessionHandlersOverrides {
|
|
4
|
+
sessionService?: SessionService;
|
|
5
|
+
}
|
|
6
|
+
export declare function createSessionHandlers(workdir: string, overrides?: SessionHandlersOverrides): {
|
|
3
7
|
list: (context: RequestContext) => Promise<void>;
|
|
4
8
|
};
|
|
5
9
|
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/api/sessions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/api/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAG3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,wBAA6B;;EAiB9F"}
|
package/dist/api/sessions.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createSessionService } from '../services/session-service.js';
|
|
2
2
|
import { handleHeadRequest } from '../utils/http.js';
|
|
3
3
|
import { asyncHandler } from '../infrastructure/errors/index.js';
|
|
4
|
-
export function createSessionHandlers(workdir) {
|
|
5
|
-
const sessionService = createSessionService(workdir);
|
|
4
|
+
export function createSessionHandlers(workdir, overrides = {}) {
|
|
5
|
+
const sessionService = overrides.sessionService ?? createSessionService(workdir);
|
|
6
6
|
const list = asyncHandler(async (context) => {
|
|
7
7
|
if (context.method === 'HEAD') {
|
|
8
8
|
handleHeadRequest(context.res);
|
package/dist/api/sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/api/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/api/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAOjE,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,YAAsC,EAAE;IAC7F,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEjF,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
|
package/dist/api/tasks.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { getTaskById, listTasks } from '../core/tasks.js';
|
|
1
2
|
import type { RequestContext } from '../types/http.js';
|
|
2
|
-
export
|
|
3
|
+
export interface TaskHandlersOverrides {
|
|
4
|
+
listTasks?: typeof listTasks;
|
|
5
|
+
getTaskById?: typeof getTaskById;
|
|
6
|
+
}
|
|
7
|
+
export declare function createTaskHandlers(overrides?: TaskHandlersOverrides): {
|
|
3
8
|
list: (context: RequestContext) => Promise<void>;
|
|
4
9
|
read: (context: RequestContext, taskId: string) => Promise<void>;
|
|
5
10
|
};
|
package/dist/api/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/api/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/api/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,qBAA0B;;oBAQzC,cAAc,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;EAgB5E"}
|
package/dist/api/tasks.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { getTaskById, listTasks } from '../core/tasks.js';
|
|
2
2
|
import { sendJson } from '../utils/http.js';
|
|
3
3
|
import { createSimpleHandler } from './base-handler.js';
|
|
4
|
-
export function createTaskHandlers() {
|
|
5
|
-
const
|
|
4
|
+
export function createTaskHandlers(overrides = {}) {
|
|
5
|
+
const dependencies = {
|
|
6
|
+
listTasks: overrides.listTasks ?? listTasks,
|
|
7
|
+
getTaskById: overrides.getTaskById ?? getTaskById,
|
|
8
|
+
};
|
|
9
|
+
const list = createSimpleHandler(async () => ({ tasks: dependencies.listTasks() }));
|
|
6
10
|
async function read(context, taskId) {
|
|
7
11
|
const ctx = context;
|
|
8
12
|
const id = typeof taskId === 'string' && taskId ? taskId : ctx?.params?.id;
|
|
@@ -10,7 +14,7 @@ export function createTaskHandlers() {
|
|
|
10
14
|
sendJson(context.res, 400, { error: 'Task identifier is required' });
|
|
11
15
|
return;
|
|
12
16
|
}
|
|
13
|
-
const task = getTaskById(id);
|
|
17
|
+
const task = dependencies.getTaskById(id);
|
|
14
18
|
if (!task) {
|
|
15
19
|
sendJson(context.res, 404, { error: 'Task not found' });
|
|
16
20
|
return;
|
package/dist/api/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/api/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/api/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD,MAAM,UAAU,kBAAkB,CAAC,YAAmC,EAAE;IACtE,MAAM,YAAY,GAAG;QACnB,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,SAAS;QAC3C,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,WAAW;KAClD,CAAC;IAEF,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpF,KAAK,UAAU,IAAI,CAAC,OAAuB,EAAE,MAAc;QACzD,MAAM,GAAG,GAAG,OAAwD,CAAC;QACrE,MAAM,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QAC3E,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/api/terminal.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { type TerminalService } from '../services/index.js';
|
|
2
|
+
export interface TerminalHandlerOptions {
|
|
2
3
|
mode?: string;
|
|
3
|
-
|
|
4
|
+
terminalService?: TerminalService;
|
|
5
|
+
}
|
|
6
|
+
export declare function createTerminalHandlers(workdir: string, options?: TerminalHandlerOptions): {
|
|
4
7
|
open: (context: import("../types/http.js").RequestContext) => Promise<void>;
|
|
5
8
|
send: (context: import("../types/http.js").RequestContext) => Promise<void>;
|
|
6
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/api/terminal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/api/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKnF,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;;;EAe3F"}
|
package/dist/api/terminal.js
CHANGED
|
@@ -2,7 +2,8 @@ import { createTerminalService } from '../services/index.js';
|
|
|
2
2
|
import { createHandler } from './base-handler.js';
|
|
3
3
|
import { validateTerminalOpen, validateTerminalSend } from '../validation/index.js';
|
|
4
4
|
export function createTerminalHandlers(workdir, options = {}) {
|
|
5
|
-
const terminalService =
|
|
5
|
+
const { mode, terminalService: providedTerminalService } = options;
|
|
6
|
+
const terminalService = providedTerminalService ?? createTerminalService(workdir, mode ? { mode } : {});
|
|
6
7
|
const open = createHandler({
|
|
7
8
|
validator: validateTerminalOpen,
|
|
8
9
|
handler: async (input) => terminalService.openTerminal(input),
|
package/dist/api/terminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/api/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/api/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAwB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAQpF,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,UAAkC,EAAE;IAC1F,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,eAAe,GAAG,uBAAuB,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExG,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC;KACjF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC;KAC9E,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/api/worktrees.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { type WorktreeService } from '../services/index.js';
|
|
2
|
+
export interface WorktreeHandlerOverrides {
|
|
3
|
+
worktreeService?: WorktreeService;
|
|
4
|
+
}
|
|
5
|
+
export declare function createWorktreeHandlers(workdir: string, branchNameGenerator: unknown, defaultBranchConfig: unknown, overrides?: WorktreeHandlerOverrides): {
|
|
2
6
|
create: (context: import("../types/http.js").RequestContext) => Promise<void>;
|
|
3
7
|
delete: (context: import("../types/http.js").RequestContext) => Promise<void>;
|
|
4
8
|
upsert: (context: import("../types/http.js").RequestContext) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktrees.d.ts","sourceRoot":"","sources":["../../src/api/worktrees.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worktrees.d.ts","sourceRoot":"","sources":["../../src/api/worktrees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKnF,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,EAC5B,SAAS,GAAE,wBAA6B;;;;;EA0BzC"}
|
package/dist/api/worktrees.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createWorktreeService } from '../services/index.js';
|
|
2
2
|
import { createHandler } from './base-handler.js';
|
|
3
3
|
import { validateWorktreeCreate, validateWorktreeDelete } from '../validation/index.js';
|
|
4
|
-
export function createWorktreeHandlers(workdir, branchNameGenerator, defaultBranchConfig) {
|
|
5
|
-
const worktreeService = createWorktreeService(workdir, branchNameGenerator, defaultBranchConfig);
|
|
4
|
+
export function createWorktreeHandlers(workdir, branchNameGenerator, defaultBranchConfig, overrides = {}) {
|
|
5
|
+
const worktreeService = overrides.worktreeService ?? createWorktreeService(workdir, branchNameGenerator, defaultBranchConfig);
|
|
6
6
|
const createWorktree = createHandler({
|
|
7
7
|
validator: validateWorktreeCreate,
|
|
8
8
|
handler: async (input) => worktreeService.createWorktree(input),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../../src/api/worktrees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../../src/api/worktrees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAwB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAOxF,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,mBAA4B,EAC5B,mBAA4B,EAC5B,YAAsC,EAAE;IAExC,MAAM,eAAe,GACnB,SAAS,CAAC,eAAe,IAAI,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAExG,MAAM,cAAc,GAAG,aAAa,CAAC;QACnC,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,KAAK,EAAE,KAA0B,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC;QACpF,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,aAAa,CAAC;QACnC,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,KAAK,EAAE,KAA0B,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;QACtB,gDAAgD;QAChD,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { getWorktreePath } from '../core/git.js';
|
|
2
|
+
import { listPlansForWorktree, readPlanFromWorktree } from '../core/plan-storage.js';
|
|
1
3
|
export declare function printPlansHelp(): void;
|
|
4
|
+
interface PlansDependencies {
|
|
5
|
+
getWorktreePath: typeof getWorktreePath;
|
|
6
|
+
listPlansForWorktree: typeof listPlansForWorktree;
|
|
7
|
+
readPlanFromWorktree: typeof readPlanFromWorktree;
|
|
8
|
+
}
|
|
9
|
+
export declare function __setPlansCommandTestOverrides(overrides?: Partial<PlansDependencies>): void;
|
|
2
10
|
export declare function handlePlansCommand(argv: string[]): Promise<void>;
|
|
11
|
+
export {};
|
|
3
12
|
//# sourceMappingURL=plans-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans-command.d.ts","sourceRoot":"","sources":["../../src/cli/plans-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plans-command.d.ts","sourceRoot":"","sources":["../../src/cli/plans-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGrF,wBAAgB,cAAc,IAAI,IAAI,CAiBrC;AAED,UAAU,iBAAiB;IACzB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;CACnD;AAUD,wBAAgB,8BAA8B,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAM3F;AA2GD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CtE"}
|
|
@@ -19,6 +19,19 @@ Options:
|
|
|
19
19
|
`;
|
|
20
20
|
process.stdout.write(helpText);
|
|
21
21
|
}
|
|
22
|
+
const defaultDependencies = {
|
|
23
|
+
getWorktreePath,
|
|
24
|
+
listPlansForWorktree,
|
|
25
|
+
readPlanFromWorktree,
|
|
26
|
+
};
|
|
27
|
+
let activeDependencies = { ...defaultDependencies };
|
|
28
|
+
export function __setPlansCommandTestOverrides(overrides) {
|
|
29
|
+
if (!overrides) {
|
|
30
|
+
activeDependencies = { ...defaultDependencies };
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
activeDependencies = { ...activeDependencies, ...overrides };
|
|
34
|
+
}
|
|
22
35
|
function parsePlansOptions(args) {
|
|
23
36
|
const options = {
|
|
24
37
|
org: '',
|
|
@@ -75,8 +88,8 @@ function parsePlansOptions(args) {
|
|
|
75
88
|
return options;
|
|
76
89
|
}
|
|
77
90
|
async function handleListCommand(options) {
|
|
78
|
-
const { worktreePath } = await getWorktreePath(options.workdir, options.org, options.repo, options.branch);
|
|
79
|
-
const plans = await listPlansForWorktree({
|
|
91
|
+
const { worktreePath } = await activeDependencies.getWorktreePath(options.workdir, options.org, options.repo, options.branch);
|
|
92
|
+
const plans = await activeDependencies.listPlansForWorktree({
|
|
80
93
|
worktreePath,
|
|
81
94
|
branch: options.branch,
|
|
82
95
|
limit: options.limit,
|
|
@@ -95,8 +108,8 @@ async function handleShowCommand(options) {
|
|
|
95
108
|
process.exitCode = 1;
|
|
96
109
|
return;
|
|
97
110
|
}
|
|
98
|
-
const { worktreePath } = await getWorktreePath(options.workdir, options.org, options.repo, options.branch);
|
|
99
|
-
const plan = await readPlanFromWorktree({
|
|
111
|
+
const { worktreePath } = await activeDependencies.getWorktreePath(options.workdir, options.org, options.repo, options.branch);
|
|
112
|
+
const plan = await activeDependencies.readPlanFromWorktree({
|
|
100
113
|
worktreePath,
|
|
101
114
|
branch: options.branch,
|
|
102
115
|
id: options.planId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans-command.js","sourceRoot":"","sources":["../../src/cli/plans-command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plans-command.js","sourceRoot":"","sources":["../../src/cli/plans-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { startServer, generateRandomPassword } from '../server/index.js';
|
|
1
2
|
interface ServerConfig {
|
|
2
3
|
uiPath: string;
|
|
3
4
|
port: number;
|
|
@@ -21,6 +22,11 @@ interface ServerConfig {
|
|
|
21
22
|
planLlm: string | null;
|
|
22
23
|
terminalSessionMode: string;
|
|
23
24
|
}
|
|
25
|
+
interface ServerStarterDependencies {
|
|
26
|
+
startServer: typeof startServer;
|
|
27
|
+
generateRandomPassword: typeof generateRandomPassword;
|
|
28
|
+
}
|
|
29
|
+
export declare function __setServerStarterTestOverrides(overrides?: Partial<ServerStarterDependencies>): void;
|
|
24
30
|
export declare function startAppServer(config: ServerConfig): Promise<void>;
|
|
25
31
|
export {};
|
|
26
32
|
//# sourceMappingURL=server-starter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-starter.d.ts","sourceRoot":"","sources":["../../src/cli/server-starter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-starter.d.ts","sourceRoot":"","sources":["../../src/cli/server-starter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,yBAAyB;IACjC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;CACvD;AASD,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAMpG;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsExE"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { startServer, generateRandomPassword } from '../server/index.js';
|
|
2
|
+
const defaultDependencies = {
|
|
3
|
+
startServer,
|
|
4
|
+
generateRandomPassword,
|
|
5
|
+
};
|
|
6
|
+
let activeDependencies = { ...defaultDependencies };
|
|
7
|
+
export function __setServerStarterTestOverrides(overrides) {
|
|
8
|
+
if (!overrides) {
|
|
9
|
+
activeDependencies = { ...defaultDependencies };
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
activeDependencies = { ...activeDependencies, ...overrides };
|
|
13
|
+
}
|
|
2
14
|
export async function startAppServer(config) {
|
|
3
|
-
const chosenPassword = config.password || generateRandomPassword();
|
|
15
|
+
const chosenPassword = config.password || activeDependencies.generateRandomPassword();
|
|
4
16
|
const passwordWasProvided = config.password !== null;
|
|
5
17
|
const shouldPrintPassword = config.showPassword || !passwordWasProvided;
|
|
6
18
|
const commandOverrides = {
|
|
@@ -20,7 +32,7 @@ export async function startAppServer(config) {
|
|
|
20
32
|
overrides: config.defaultBranches || undefined,
|
|
21
33
|
}
|
|
22
34
|
: undefined;
|
|
23
|
-
const { server: _server, host, port, uiPath: resolvedUi, close, password: serverPassword, publicUrl, } = await startServer({
|
|
35
|
+
const { server: _server, host, port, uiPath: resolvedUi, close, password: serverPassword, publicUrl, } = await activeDependencies.startServer({
|
|
24
36
|
uiPath: config.uiPath,
|
|
25
37
|
port: config.port,
|
|
26
38
|
host: config.host,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-starter.js","sourceRoot":"","sources":["../../src/cli/server-starter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server-starter.js","sourceRoot":"","sources":["../../src/cli/server-starter.ts"],"names":[],"mappings":"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"}
|