@mcoda/core 0.1.4
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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/dist/api/AgentsApi.d.ts +36 -0
- package/dist/api/AgentsApi.d.ts.map +1 -0
- package/dist/api/AgentsApi.js +176 -0
- package/dist/api/QaTasksApi.d.ts +8 -0
- package/dist/api/QaTasksApi.d.ts.map +1 -0
- package/dist/api/QaTasksApi.js +36 -0
- package/dist/api/TasksApi.d.ts +7 -0
- package/dist/api/TasksApi.d.ts.map +1 -0
- package/dist/api/TasksApi.js +34 -0
- package/dist/config/ConfigService.d.ts +3 -0
- package/dist/config/ConfigService.d.ts.map +1 -0
- package/dist/config/ConfigService.js +2 -0
- package/dist/domain/dependencies/Dependency.d.ts +3 -0
- package/dist/domain/dependencies/Dependency.d.ts.map +1 -0
- package/dist/domain/dependencies/Dependency.js +2 -0
- package/dist/domain/epics/Epic.d.ts +3 -0
- package/dist/domain/epics/Epic.d.ts.map +1 -0
- package/dist/domain/epics/Epic.js +2 -0
- package/dist/domain/projects/Project.d.ts +3 -0
- package/dist/domain/projects/Project.d.ts.map +1 -0
- package/dist/domain/projects/Project.js +2 -0
- package/dist/domain/tasks/Task.d.ts +3 -0
- package/dist/domain/tasks/Task.d.ts.map +1 -0
- package/dist/domain/tasks/Task.js +2 -0
- package/dist/domain/userStories/UserStory.d.ts +3 -0
- package/dist/domain/userStories/UserStory.d.ts.map +1 -0
- package/dist/domain/userStories/UserStory.js +2 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/prompts/PdrPrompts.d.ts +4 -0
- package/dist/prompts/PdrPrompts.d.ts.map +1 -0
- package/dist/prompts/PdrPrompts.js +21 -0
- package/dist/prompts/PromptLoader.d.ts +3 -0
- package/dist/prompts/PromptLoader.d.ts.map +1 -0
- package/dist/prompts/PromptLoader.js +2 -0
- package/dist/prompts/SdsPrompts.d.ts +5 -0
- package/dist/prompts/SdsPrompts.d.ts.map +1 -0
- package/dist/prompts/SdsPrompts.js +44 -0
- package/dist/services/agents/AgentManagementService.d.ts +3 -0
- package/dist/services/agents/AgentManagementService.d.ts.map +1 -0
- package/dist/services/agents/AgentManagementService.js +2 -0
- package/dist/services/agents/GatewayAgentService.d.ts +92 -0
- package/dist/services/agents/GatewayAgentService.d.ts.map +1 -0
- package/dist/services/agents/GatewayAgentService.js +870 -0
- package/dist/services/agents/RoutingApiClient.d.ts +23 -0
- package/dist/services/agents/RoutingApiClient.d.ts.map +1 -0
- package/dist/services/agents/RoutingApiClient.js +62 -0
- package/dist/services/agents/RoutingService.d.ts +50 -0
- package/dist/services/agents/RoutingService.d.ts.map +1 -0
- package/dist/services/agents/RoutingService.js +386 -0
- package/dist/services/agents/generated/RoutingApiClient.d.ts +21 -0
- package/dist/services/agents/generated/RoutingApiClient.d.ts.map +1 -0
- package/dist/services/agents/generated/RoutingApiClient.js +68 -0
- package/dist/services/backlog/BacklogService.d.ts +98 -0
- package/dist/services/backlog/BacklogService.d.ts.map +1 -0
- package/dist/services/backlog/BacklogService.js +453 -0
- package/dist/services/backlog/TaskOrderingService.d.ts +88 -0
- package/dist/services/backlog/TaskOrderingService.d.ts.map +1 -0
- package/dist/services/backlog/TaskOrderingService.js +675 -0
- package/dist/services/docs/DocsService.d.ts +82 -0
- package/dist/services/docs/DocsService.d.ts.map +1 -0
- package/dist/services/docs/DocsService.js +1631 -0
- package/dist/services/estimate/EstimateService.d.ts +12 -0
- package/dist/services/estimate/EstimateService.d.ts.map +1 -0
- package/dist/services/estimate/EstimateService.js +103 -0
- package/dist/services/estimate/VelocityService.d.ts +19 -0
- package/dist/services/estimate/VelocityService.d.ts.map +1 -0
- package/dist/services/estimate/VelocityService.js +237 -0
- package/dist/services/estimate/types.d.ts +30 -0
- package/dist/services/estimate/types.d.ts.map +1 -0
- package/dist/services/estimate/types.js +1 -0
- package/dist/services/execution/ExecutionService.d.ts +3 -0
- package/dist/services/execution/ExecutionService.d.ts.map +1 -0
- package/dist/services/execution/ExecutionService.js +2 -0
- package/dist/services/execution/QaFollowupService.d.ts +38 -0
- package/dist/services/execution/QaFollowupService.d.ts.map +1 -0
- package/dist/services/execution/QaFollowupService.js +236 -0
- package/dist/services/execution/QaProfileService.d.ts +22 -0
- package/dist/services/execution/QaProfileService.d.ts.map +1 -0
- package/dist/services/execution/QaProfileService.js +142 -0
- package/dist/services/execution/QaTasksService.d.ts +101 -0
- package/dist/services/execution/QaTasksService.d.ts.map +1 -0
- package/dist/services/execution/QaTasksService.js +1117 -0
- package/dist/services/execution/TaskSelectionService.d.ts +50 -0
- package/dist/services/execution/TaskSelectionService.d.ts.map +1 -0
- package/dist/services/execution/TaskSelectionService.js +281 -0
- package/dist/services/execution/TaskStateService.d.ts +19 -0
- package/dist/services/execution/TaskStateService.d.ts.map +1 -0
- package/dist/services/execution/TaskStateService.js +59 -0
- package/dist/services/execution/WorkOnTasksService.d.ts +80 -0
- package/dist/services/execution/WorkOnTasksService.d.ts.map +1 -0
- package/dist/services/execution/WorkOnTasksService.js +1833 -0
- package/dist/services/jobs/JobInsightsService.d.ts +97 -0
- package/dist/services/jobs/JobInsightsService.d.ts.map +1 -0
- package/dist/services/jobs/JobInsightsService.js +263 -0
- package/dist/services/jobs/JobResumeService.d.ts +16 -0
- package/dist/services/jobs/JobResumeService.d.ts.map +1 -0
- package/dist/services/jobs/JobResumeService.js +113 -0
- package/dist/services/jobs/JobService.d.ts +149 -0
- package/dist/services/jobs/JobService.d.ts.map +1 -0
- package/dist/services/jobs/JobService.js +490 -0
- package/dist/services/jobs/JobsApiClient.d.ts +73 -0
- package/dist/services/jobs/JobsApiClient.d.ts.map +1 -0
- package/dist/services/jobs/JobsApiClient.js +67 -0
- package/dist/services/openapi/OpenApiService.d.ts +54 -0
- package/dist/services/openapi/OpenApiService.d.ts.map +1 -0
- package/dist/services/openapi/OpenApiService.js +503 -0
- package/dist/services/planning/CreateTasksService.d.ts +68 -0
- package/dist/services/planning/CreateTasksService.d.ts.map +1 -0
- package/dist/services/planning/CreateTasksService.js +989 -0
- package/dist/services/planning/KeyHelpers.d.ts +5 -0
- package/dist/services/planning/KeyHelpers.d.ts.map +1 -0
- package/dist/services/planning/KeyHelpers.js +62 -0
- package/dist/services/planning/PlanningService.d.ts +3 -0
- package/dist/services/planning/PlanningService.d.ts.map +1 -0
- package/dist/services/planning/PlanningService.js +2 -0
- package/dist/services/planning/RefineTasksService.d.ts +56 -0
- package/dist/services/planning/RefineTasksService.d.ts.map +1 -0
- package/dist/services/planning/RefineTasksService.js +1328 -0
- package/dist/services/review/CodeReviewService.d.ts +103 -0
- package/dist/services/review/CodeReviewService.d.ts.map +1 -0
- package/dist/services/review/CodeReviewService.js +1187 -0
- package/dist/services/system/SystemUpdateService.d.ts +55 -0
- package/dist/services/system/SystemUpdateService.d.ts.map +1 -0
- package/dist/services/system/SystemUpdateService.js +136 -0
- package/dist/services/tasks/TaskApiResolver.d.ts +7 -0
- package/dist/services/tasks/TaskApiResolver.d.ts.map +1 -0
- package/dist/services/tasks/TaskApiResolver.js +41 -0
- package/dist/services/tasks/TaskDetailService.d.ts +106 -0
- package/dist/services/tasks/TaskDetailService.d.ts.map +1 -0
- package/dist/services/tasks/TaskDetailService.js +332 -0
- package/dist/services/telemetry/TelemetryService.d.ts +53 -0
- package/dist/services/telemetry/TelemetryService.d.ts.map +1 -0
- package/dist/services/telemetry/TelemetryService.js +434 -0
- package/dist/workspace/WorkspaceManager.d.ts +35 -0
- package/dist/workspace/WorkspaceManager.d.ts.map +1 -0
- package/dist/workspace/WorkspaceManager.js +201 -0
- package/package.json +45 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const normalizeAreaCode: (input: string | undefined, fallback: string) => string;
|
|
2
|
+
export declare const createEpicKeyGenerator: (projectKey: string, existingKeys?: Iterable<string>) => ((area?: string) => string);
|
|
3
|
+
export declare const createStoryKeyGenerator: (epicKey: string, existingKeys?: Iterable<string>) => (() => string);
|
|
4
|
+
export declare const createTaskKeyGenerator: (storyKey: string, existingKeys?: Iterable<string>) => (() => string);
|
|
5
|
+
//# sourceMappingURL=KeyHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyHelpers.d.ts","sourceRoot":"","sources":["../../../src/services/planning/KeyHelpers.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,KAAG,MAI/E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,EAAE,eAAc,QAAQ,CAAC,MAAM,CAAM,KAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAU1H,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,eAAc,QAAQ,CAAC,MAAM,CAAM,KAClC,CAAC,MAAM,MAAM,CAQf,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,eAAc,QAAQ,CAAC,MAAM,CAAM,KAClC,CAAC,MAAM,MAAM,CAQf,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const AREA_ALIASES = {
|
|
2
|
+
admin: "adm",
|
|
3
|
+
backend: "bck",
|
|
4
|
+
infra: "ops",
|
|
5
|
+
infrastructure: "ops",
|
|
6
|
+
operations: "ops",
|
|
7
|
+
ops: "ops",
|
|
8
|
+
platform: "ops",
|
|
9
|
+
frontend: "web",
|
|
10
|
+
front: "web",
|
|
11
|
+
web: "web",
|
|
12
|
+
ui: "web",
|
|
13
|
+
mobile: "mob",
|
|
14
|
+
};
|
|
15
|
+
const escapeRegex = (value) => value.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
16
|
+
const pad = (num, width = 2) => String(num).padStart(width, "0");
|
|
17
|
+
const nextIndexedKey = (existing, formatter, matcher) => {
|
|
18
|
+
let max = 0;
|
|
19
|
+
for (const key of existing) {
|
|
20
|
+
const idx = matcher(key);
|
|
21
|
+
if (idx && idx > max) {
|
|
22
|
+
max = idx;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const next = max + 1;
|
|
26
|
+
const result = formatter(next);
|
|
27
|
+
existing.add(result);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
export const normalizeAreaCode = (input, fallback) => {
|
|
31
|
+
if (!input)
|
|
32
|
+
return fallback;
|
|
33
|
+
const normalized = input.trim().toLowerCase();
|
|
34
|
+
return (AREA_ALIASES[normalized] ?? normalized) || fallback;
|
|
35
|
+
};
|
|
36
|
+
export const createEpicKeyGenerator = (projectKey, existingKeys = []) => {
|
|
37
|
+
const known = new Set(existingKeys);
|
|
38
|
+
return (area) => {
|
|
39
|
+
const code = normalizeAreaCode(area, projectKey);
|
|
40
|
+
const pattern = new RegExp(`^${escapeRegex(code)}-(\\d+)$`);
|
|
41
|
+
return nextIndexedKey(known, (idx) => `${code}-${pad(idx)}`, (value) => {
|
|
42
|
+
const match = value.match(pattern);
|
|
43
|
+
return match ? Number(match[1]) : undefined;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export const createStoryKeyGenerator = (epicKey, existingKeys = []) => {
|
|
48
|
+
const known = new Set(existingKeys);
|
|
49
|
+
const pattern = new RegExp(`^${escapeRegex(epicKey)}-us-(\\d+)$`);
|
|
50
|
+
return () => nextIndexedKey(known, (idx) => `${epicKey}-us-${pad(idx)}`, (value) => {
|
|
51
|
+
const match = value.match(pattern);
|
|
52
|
+
return match ? Number(match[1]) : undefined;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
export const createTaskKeyGenerator = (storyKey, existingKeys = []) => {
|
|
56
|
+
const known = new Set(existingKeys);
|
|
57
|
+
const pattern = new RegExp(`^${escapeRegex(storyKey)}-t(\\d+)$`);
|
|
58
|
+
return () => nextIndexedKey(known, (idx) => `${storyKey}-t${pad(idx)}`, (value) => {
|
|
59
|
+
const match = value.match(pattern);
|
|
60
|
+
return match ? Number(match[1]) : undefined;
|
|
61
|
+
});
|
|
62
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanningService.d.ts","sourceRoot":"","sources":["../../../src/services/planning/PlanningService.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;CAAG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AgentService } from "@mcoda/agents";
|
|
2
|
+
import { DocdexClient } from "@mcoda/integrations";
|
|
3
|
+
import { GlobalRepository, WorkspaceRepository } from "@mcoda/db";
|
|
4
|
+
import { RefineTasksRequest, RefineTasksResult } from "@mcoda/shared";
|
|
5
|
+
import { WorkspaceResolution } from "../../workspace/WorkspaceManager.js";
|
|
6
|
+
import { JobService } from "../jobs/JobService.js";
|
|
7
|
+
import { RoutingService } from "../agents/RoutingService.js";
|
|
8
|
+
interface RefineTasksOptions extends RefineTasksRequest {
|
|
9
|
+
workspace: WorkspaceResolution;
|
|
10
|
+
storyKey?: string;
|
|
11
|
+
agentName?: string;
|
|
12
|
+
agentStream?: boolean;
|
|
13
|
+
fromDb?: boolean;
|
|
14
|
+
planInPath?: string;
|
|
15
|
+
planOutPath?: string;
|
|
16
|
+
jobId?: string;
|
|
17
|
+
apply?: boolean;
|
|
18
|
+
excludeAlreadyRefined?: boolean;
|
|
19
|
+
allowEmptySelection?: boolean;
|
|
20
|
+
outputJson?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare class RefineTasksService {
|
|
23
|
+
private docdex;
|
|
24
|
+
private jobService;
|
|
25
|
+
private agentService;
|
|
26
|
+
private repo;
|
|
27
|
+
private workspaceRepo;
|
|
28
|
+
private routingService;
|
|
29
|
+
private workspace;
|
|
30
|
+
constructor(workspace: WorkspaceResolution, deps: {
|
|
31
|
+
docdex: DocdexClient;
|
|
32
|
+
jobService: JobService;
|
|
33
|
+
agentService: AgentService;
|
|
34
|
+
repo: GlobalRepository;
|
|
35
|
+
workspaceRepo: WorkspaceRepository;
|
|
36
|
+
routingService: RoutingService;
|
|
37
|
+
});
|
|
38
|
+
static create(workspace: WorkspaceResolution): Promise<RefineTasksService>;
|
|
39
|
+
close(): Promise<void>;
|
|
40
|
+
private resolveAgent;
|
|
41
|
+
private selectTasks;
|
|
42
|
+
private parseTaskKeyParts;
|
|
43
|
+
private ensureTaskExists;
|
|
44
|
+
private buildStoryPrompt;
|
|
45
|
+
private summarizeDocs;
|
|
46
|
+
private summarizeHistory;
|
|
47
|
+
private logWarningsToTasks;
|
|
48
|
+
private mergeMetadata;
|
|
49
|
+
private validateOperation;
|
|
50
|
+
private detectCycle;
|
|
51
|
+
private applyOperations;
|
|
52
|
+
private invokeAgent;
|
|
53
|
+
refineTasks(options: RefineTasksOptions): Promise<RefineTasksResult>;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=RefineTasksService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefineTasksService.d.ts","sourceRoot":"","sources":["../../../src/services/planning/RefineTasksService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAA6C,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC7G,OAAO,EAIL,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,SAAS,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsFD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAsB;gBAGrC,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,YAAY,EAAE,YAAY,CAAC;QAC3B,IAAI,EAAE,gBAAgB,CAAC;QACvB,aAAa,EAAE,mBAAmB,CAAC;QACnC,cAAc,EAAE,cAAc,CAAC;KAChC;WAWU,MAAM,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoB1E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBd,YAAY;YASZ,WAAW;IA4KzB,OAAO,CAAC,iBAAiB;YASX,gBAAgB;IAkK9B,OAAO,CAAC,gBAAgB;YA4BV,aAAa;YAoDb,gBAAgB;YA+BhB,kBAAkB;IAkChC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IA8EzB,OAAO,CAAC,WAAW;YA0BL,eAAe;YAoSf,WAAW;IA6FnB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAuX3E"}
|