@mcoda/shared 0.1.9 → 0.1.11

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/index.d.ts CHANGED
@@ -2,6 +2,10 @@ export * from "./crypto/CryptoHelper.js";
2
2
  export * from "./paths/PathHelper.js";
3
3
  export * from "./openapi/OpenApiTypes.js";
4
4
  export * from "./qa/QaProfile.js";
5
+ export * from "./qa/QaPlan.js";
6
+ export * from "./qa/QaReadiness.js";
7
+ export * from "./qa/QaTechStack.js";
5
8
  export * from "./metadata/CommandMetadata.js";
9
+ export * from "./status/TaskStatus.js";
6
10
  export type { BacklogLaneTotals, BacklogTotals, BacklogSummary, EffectiveVelocity, EstimateResult, EstimateDurations, EstimateEtas, VelocitySource, AgentHealth, AgentHealthStatus, RoutingDefaults, RoutingDefault, RoutingProvenance, RoutingCandidate, RoutingPreview, RoutingDefaultsUpdate, RefineTasksRequest, RefineTasksPlan, RefineTasksResult, RefineStrategy, RefineOperation, UpdateTaskOp, SplitTaskOp, MergeTasksOp, UpdateEstimateOp, UpdateInfo, UpdateChannel, ApplyUpdateResponse, } from "./openapi/OpenApiTypes.js";
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,8 @@ export * from "./crypto/CryptoHelper.js";
2
2
  export * from "./paths/PathHelper.js";
3
3
  export * from "./openapi/OpenApiTypes.js";
4
4
  export * from "./qa/QaProfile.js";
5
+ export * from "./qa/QaPlan.js";
6
+ export * from "./qa/QaReadiness.js";
7
+ export * from "./qa/QaTechStack.js";
5
8
  export * from "./metadata/CommandMetadata.js";
9
+ export * from "./status/TaskStatus.js";
@@ -7,7 +7,7 @@ const FALLBACK_CAPABILITIES = {
7
7
  "refine-tasks": ["plan"],
8
8
  "work-on-tasks": ["code_write"],
9
9
  "code-review": ["code_review"],
10
- "qa-tasks": ["qa_interpretation"],
10
+ "qa-tasks": [],
11
11
  "agent-rating": [],
12
12
  pdr: ["docdex_query"],
13
13
  sds: ["docdex_query"],
@@ -4,6 +4,10 @@ export interface Agent {
4
4
  slug: string;
5
5
  adapter: string;
6
6
  defaultModel?: string;
7
+ openaiCompatible?: boolean;
8
+ contextWindow?: number;
9
+ maxOutputTokens?: number;
10
+ supportsTools?: boolean;
7
11
  rating?: number;
8
12
  reasoningRating?: number;
9
13
  bestUsage?: string;
@@ -27,6 +31,10 @@ export interface CreateAgentInput {
27
31
  slug: string;
28
32
  adapter: string;
29
33
  defaultModel?: string;
34
+ openaiCompatible?: boolean;
35
+ contextWindow?: number;
36
+ maxOutputTokens?: number;
37
+ supportsTools?: boolean;
30
38
  rating?: number;
31
39
  reasoningRating?: number;
32
40
  bestUsage?: string;
@@ -45,6 +53,10 @@ export interface CreateAgentInput {
45
53
  export interface UpdateAgentInput {
46
54
  adapter?: string;
47
55
  defaultModel?: string;
56
+ openaiCompatible?: boolean;
57
+ contextWindow?: number;
58
+ maxOutputTokens?: number;
59
+ supportsTools?: boolean;
48
60
  rating?: number;
49
61
  reasoningRating?: number;
50
62
  bestUsage?: string;
@@ -172,6 +184,7 @@ export interface EffectiveVelocity {
172
184
  reviewSpPerHour: number;
173
185
  qaSpPerHour: number;
174
186
  source: VelocitySource;
187
+ requestedMode?: VelocitySource;
175
188
  windowTasks?: 10 | 20 | 50;
176
189
  samples?: {
177
190
  implementation?: number;
@@ -203,6 +216,28 @@ export interface EstimateResult {
203
216
  durationsHours: EstimateDurations;
204
217
  etas: EstimateEtas;
205
218
  }
219
+ export interface TokenUsage {
220
+ timestamp: string;
221
+ workspaceId: string;
222
+ commandName: string;
223
+ action: string;
224
+ promptTokens: number;
225
+ completionTokens: number;
226
+ jobId?: string;
227
+ taskId?: string;
228
+ costUsd?: number;
229
+ modelName?: string;
230
+ agentId?: string;
231
+ invocationKind?: string;
232
+ provider?: string;
233
+ currency?: string;
234
+ tokensCached?: number;
235
+ tokensCacheRead?: number;
236
+ tokensCacheWrite?: number;
237
+ durationMs?: number;
238
+ startedAt?: string;
239
+ finishedAt?: string;
240
+ }
206
241
  export type RefineStrategy = "split" | "merge" | "enrich" | "estimate" | "auto";
207
242
  export interface RefineTasksRequest {
208
243
  projectKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiTypes.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenApiTypes.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiTypes.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,14 @@
3
3
  * The helpers intentionally avoid touching any other layer to keep shared free of deps.
4
4
  */
5
5
  export declare class PathHelper {
6
+ static normalizePathCase(value: string): string;
7
+ static resolveRelativePath(root: string, target: string): string;
8
+ static isPathInside(root: string, target: string): boolean;
6
9
  static getGlobalMcodaDir(): string;
7
10
  static getGlobalDbPath(): string;
8
- static getWorkspaceDir(cwd?: string): string;
9
- static getWorkspaceDbPath(cwd?: string): string;
11
+ static getGlobalWorkspaceDir(workspaceRoot: string): string;
12
+ static getWorkspaceDir(workspaceRoot?: string): string;
13
+ static getWorkspaceDbPath(workspaceRoot?: string): string;
10
14
  static ensureDir(dir: string): Promise<void>;
11
15
  }
12
16
  //# sourceMappingURL=PathHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PathHelper.d.ts","sourceRoot":"","sources":["../../src/paths/PathHelper.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAMlC,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,MAAM,CAAC,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM;IAI3D,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM;WAIjD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
1
+ {"version":3,"file":"PathHelper.d.ts","sourceRoot":"","sources":["../../src/paths/PathHelper.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK/C,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMhE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAM1D,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAMlC,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,MAAM,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAQ3D,MAAM,CAAC,eAAe,CAAC,aAAa,GAAE,MAAsB,GAAG,MAAM;IAIrE,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAE,MAAsB,GAAG,MAAM;WAI3D,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
@@ -1,11 +1,27 @@
1
1
  import os from "node:os";
2
2
  import path from "node:path";
3
3
  import { promises as fs } from "node:fs";
4
+ import { createHash } from "node:crypto";
4
5
  /**
5
6
  * Utility helpers for resolving mcoda paths in both global and workspace scopes.
6
7
  * The helpers intentionally avoid touching any other layer to keep shared free of deps.
7
8
  */
8
9
  export class PathHelper {
10
+ static normalizePathCase(value) {
11
+ const normalized = path.normalize(value);
12
+ return process.platform === "win32" ? normalized.toLowerCase() : normalized;
13
+ }
14
+ static resolveRelativePath(root, target) {
15
+ const resolvedRoot = this.normalizePathCase(path.resolve(root));
16
+ const resolvedTarget = this.normalizePathCase(path.resolve(root, target));
17
+ return path.relative(resolvedRoot, resolvedTarget).replace(/\\/g, "/");
18
+ }
19
+ static isPathInside(root, target) {
20
+ const relative = this.resolveRelativePath(root, target);
21
+ if (relative === "")
22
+ return true;
23
+ return !relative.startsWith("..") && !path.isAbsolute(relative);
24
+ }
9
25
  static getGlobalMcodaDir() {
10
26
  const envHome = process.env.HOME ?? process.env.USERPROFILE;
11
27
  const homeDir = envHome && envHome.trim().length > 0 ? envHome : os.homedir();
@@ -14,11 +30,18 @@ export class PathHelper {
14
30
  static getGlobalDbPath() {
15
31
  return path.join(this.getGlobalMcodaDir(), "mcoda.db");
16
32
  }
17
- static getWorkspaceDir(cwd = process.cwd()) {
18
- return path.join(cwd, ".mcoda");
33
+ static getGlobalWorkspaceDir(workspaceRoot) {
34
+ const normalizedRoot = this.normalizePathCase(path.resolve(workspaceRoot));
35
+ const hash = createHash("sha256").update(normalizedRoot).digest("hex").slice(0, 12);
36
+ const rawName = path.basename(normalizedRoot) || "workspace";
37
+ const safeName = rawName.replace(/[^a-zA-Z0-9._-]+/g, "_").slice(0, 32) || "workspace";
38
+ return path.join(this.getGlobalMcodaDir(), "workspaces", `${safeName}-${hash}`);
39
+ }
40
+ static getWorkspaceDir(workspaceRoot = process.cwd()) {
41
+ return this.getGlobalWorkspaceDir(workspaceRoot);
19
42
  }
20
- static getWorkspaceDbPath(cwd = process.cwd()) {
21
- return path.join(this.getWorkspaceDir(cwd), "mcoda.db");
43
+ static getWorkspaceDbPath(workspaceRoot = process.cwd()) {
44
+ return path.join(this.getWorkspaceDir(workspaceRoot), "mcoda.db");
22
45
  }
23
46
  static async ensureDir(dir) {
24
47
  await fs.mkdir(dir, { recursive: true });
@@ -0,0 +1,79 @@
1
+ export type QaPlan = {
2
+ task_profiles?: Record<string, string[]>;
3
+ task_plans?: Record<string, QaTaskPlan>;
4
+ notes?: string;
5
+ };
6
+ export interface QaTaskPlan {
7
+ profiles?: string[];
8
+ cli?: {
9
+ commands?: string[];
10
+ };
11
+ api?: {
12
+ base_url?: string;
13
+ requests?: QaApiRequest[];
14
+ };
15
+ browser?: {
16
+ base_url?: string;
17
+ actions?: QaBrowserAction[];
18
+ };
19
+ stress?: {
20
+ api?: QaApiStress[];
21
+ browser?: QaBrowserStress[];
22
+ };
23
+ }
24
+ export interface QaApiExpectation {
25
+ status?: number;
26
+ json_contains?: Record<string, unknown>;
27
+ text_includes?: string[];
28
+ }
29
+ export interface QaApiRequest {
30
+ id?: string;
31
+ method?: string;
32
+ path?: string;
33
+ url?: string;
34
+ headers?: Record<string, string>;
35
+ body?: unknown;
36
+ expect?: QaApiExpectation;
37
+ }
38
+ export type QaBrowserAction = {
39
+ type: 'navigate';
40
+ url?: string;
41
+ wait_for?: 'load' | 'idle';
42
+ timeout_ms?: number;
43
+ } | {
44
+ type: 'click';
45
+ selector: string;
46
+ text?: string;
47
+ } | {
48
+ type: 'type';
49
+ selector: string;
50
+ text: string;
51
+ clear?: boolean;
52
+ } | {
53
+ type: 'wait_for';
54
+ selector?: string;
55
+ timeout_ms?: number;
56
+ } | {
57
+ type: 'assert_text';
58
+ selector?: string;
59
+ text: string;
60
+ contains?: boolean;
61
+ } | {
62
+ type: 'snapshot';
63
+ name?: string;
64
+ } | {
65
+ type: 'script';
66
+ expression: string;
67
+ expect?: string;
68
+ };
69
+ export interface QaBrowserStress {
70
+ type: 'repeat';
71
+ count: number;
72
+ action: QaBrowserAction;
73
+ }
74
+ export interface QaApiStress {
75
+ type: 'burst';
76
+ count: number;
77
+ request: QaApiRequest;
78
+ }
79
+ //# sourceMappingURL=QaPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaPlan.d.ts","sourceRoot":"","sources":["../../src/qa/QaPlan.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;KAC7B,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ export type QaEntrypointKind = 'web' | 'api' | 'cli';
2
+ export interface QaEntrypoint {
3
+ kind: QaEntrypointKind;
4
+ base_url?: string;
5
+ command?: string;
6
+ }
7
+ export interface QaReadiness {
8
+ profiles_expected?: string[];
9
+ requires?: string[];
10
+ entrypoints?: QaEntrypoint[];
11
+ data_setup?: string[];
12
+ blockers?: string[];
13
+ notes?: string;
14
+ }
15
+ //# sourceMappingURL=QaReadiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaReadiness.d.ts","sourceRoot":"","sources":["../../src/qa/QaReadiness.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ export type QaTestCategory = 'unit' | 'component' | 'integration' | 'api';
2
+ export type QaToolCategory = QaTestCategory | 'e2e' | 'mocking' | 'load' | 'contract';
3
+ export type QaTechStackId = 'node' | 'python' | 'dotnet' | 'java' | 'go' | 'php' | 'ruby' | 'flutter' | 'react-native' | 'ios' | 'android' | 'cross-stack';
4
+ export type QaToolCatalog = Partial<Record<QaToolCategory, string[]>>;
5
+ export type QaToolPreferences = Partial<Record<QaToolCategory, string>>;
6
+ export interface QaTechStack {
7
+ id: QaTechStackId;
8
+ label: string;
9
+ tools: QaToolCatalog;
10
+ preferred?: QaToolPreferences;
11
+ }
12
+ export declare const QA_TEST_CATEGORY_ORDER: QaTestCategory[];
13
+ export declare const QA_TECH_STACKS: Record<QaTechStackId, QaTechStack>;
14
+ //# sourceMappingURL=QaTechStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaTechStack.d.ts","sourceRoot":"","sources":["../../src/qa/QaTechStack.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,KAAK,CAAC;AAC1E,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,KAAK,GACL,SAAS,GACT,MAAM,GACN,UAAU,CAAC;AAEf,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,KAAK,GACL,MAAM,GACN,SAAS,GACT,cAAc,GACd,KAAK,GACL,SAAS,GACT,aAAa,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,CAmM7D,CAAC"}
@@ -0,0 +1,202 @@
1
+ export const QA_TEST_CATEGORY_ORDER = [
2
+ 'unit',
3
+ 'component',
4
+ 'integration',
5
+ 'api',
6
+ ];
7
+ export const QA_TECH_STACKS = {
8
+ node: {
9
+ id: 'node',
10
+ label: 'JavaScript / TypeScript (Node.js, React, Next.js)',
11
+ tools: {
12
+ unit: ['Jest', 'Vitest', 'Mocha + Chai', 'AVA'],
13
+ integration: ['Jest', 'Vitest', 'Mocha + Chai', 'AVA'],
14
+ api: ['Supertest', 'Axios Mock Adapter', 'Nock'],
15
+ component: ['Testing Library'],
16
+ e2e: ['Chromium', 'Cypress (Chromium only)', 'Puppeteer (Chromium only)'],
17
+ },
18
+ preferred: {
19
+ unit: 'Vitest',
20
+ integration: 'Vitest',
21
+ api: 'Supertest',
22
+ component: 'Testing Library',
23
+ e2e: 'Chromium',
24
+ },
25
+ },
26
+ python: {
27
+ id: 'python',
28
+ label: 'Python (FastAPI, Django, Flask)',
29
+ tools: {
30
+ unit: ['pytest', 'unittest', 'nose2'],
31
+ integration: ['pytest', 'unittest', 'nose2'],
32
+ api: ['httpx', 'requests', 'pytest-httpx', 'pytest-django', 'pytest-flask'],
33
+ e2e: ['Chromium', 'Selenium (Chromium only)'],
34
+ },
35
+ preferred: {
36
+ unit: 'pytest',
37
+ integration: 'pytest',
38
+ api: 'httpx',
39
+ e2e: 'Chromium',
40
+ },
41
+ },
42
+ dotnet: {
43
+ id: 'dotnet',
44
+ label: 'C# / .NET',
45
+ tools: {
46
+ unit: ['xUnit', 'NUnit', 'MSTest'],
47
+ integration: ['xUnit', 'NUnit', 'MSTest'],
48
+ mocking: ['Moq', 'NSubstitute', 'FakeItEasy'],
49
+ api: [
50
+ 'Microsoft.AspNetCore.Mvc.Testing',
51
+ 'RestSharp',
52
+ 'WireMock.Net',
53
+ ],
54
+ e2e: ['Chromium', 'Selenium (Chromium only)'],
55
+ },
56
+ preferred: {
57
+ unit: 'xUnit',
58
+ integration: 'xUnit',
59
+ mocking: 'Moq',
60
+ api: 'Microsoft.AspNetCore.Mvc.Testing',
61
+ e2e: 'Chromium',
62
+ },
63
+ },
64
+ java: {
65
+ id: 'java',
66
+ label: 'Java (Spring Boot)',
67
+ tools: {
68
+ unit: ['JUnit 5', 'TestNG'],
69
+ integration: ['JUnit 5', 'TestNG'],
70
+ mocking: ['Mockito', 'MockK'],
71
+ api: ['Spring MockMvc', 'REST Assured', 'WireMock'],
72
+ e2e: ['Chromium', 'Selenium (Chromium only)'],
73
+ },
74
+ preferred: {
75
+ unit: 'JUnit 5',
76
+ integration: 'JUnit 5',
77
+ mocking: 'Mockito',
78
+ api: 'Spring MockMvc',
79
+ e2e: 'Chromium',
80
+ },
81
+ },
82
+ go: {
83
+ id: 'go',
84
+ label: 'Go',
85
+ tools: {
86
+ unit: ['testing', 'testify', 'ginkgo + gomega'],
87
+ integration: ['testing', 'testify', 'ginkgo + gomega'],
88
+ api: ['httptest', 'resty'],
89
+ mocking: ['gomock', 'testify/mock'],
90
+ },
91
+ preferred: {
92
+ unit: 'testing',
93
+ integration: 'testing',
94
+ api: 'httptest',
95
+ mocking: 'gomock',
96
+ },
97
+ },
98
+ php: {
99
+ id: 'php',
100
+ label: 'PHP (Laravel, Symfony)',
101
+ tools: {
102
+ unit: ['PHPUnit', 'Pest'],
103
+ integration: ['PHPUnit', 'Pest'],
104
+ api: ['Laravel HTTP Tests', 'Symfony WebTestCase'],
105
+ e2e: ['Laravel Dusk (Chromium only)', 'Chromium', 'Cypress (Chromium only)'],
106
+ },
107
+ preferred: {
108
+ unit: 'PHPUnit',
109
+ integration: 'PHPUnit',
110
+ api: 'Laravel HTTP Tests',
111
+ e2e: 'Chromium',
112
+ },
113
+ },
114
+ ruby: {
115
+ id: 'ruby',
116
+ label: 'Ruby (Rails)',
117
+ tools: {
118
+ unit: ['RSpec', 'Minitest'],
119
+ integration: ['RSpec', 'Minitest'],
120
+ api: ['Rack::Test'],
121
+ e2e: ['Capybara (Chromium only)', 'Chromium'],
122
+ },
123
+ preferred: {
124
+ unit: 'RSpec',
125
+ integration: 'RSpec',
126
+ api: 'Rack::Test',
127
+ e2e: 'Chromium',
128
+ },
129
+ },
130
+ flutter: {
131
+ id: 'flutter',
132
+ label: 'Flutter',
133
+ tools: {
134
+ unit: ['flutter_test'],
135
+ integration: ['integration_test'],
136
+ mocking: ['mockito'],
137
+ },
138
+ preferred: {
139
+ unit: 'flutter_test',
140
+ integration: 'integration_test',
141
+ mocking: 'mockito',
142
+ },
143
+ },
144
+ 'react-native': {
145
+ id: 'react-native',
146
+ label: 'React Native',
147
+ tools: {
148
+ unit: ['Jest'],
149
+ integration: ['Jest'],
150
+ component: ['React Native Testing Library'],
151
+ e2e: ['Detox'],
152
+ },
153
+ preferred: {
154
+ unit: 'Jest',
155
+ integration: 'Jest',
156
+ component: 'React Native Testing Library',
157
+ e2e: 'Detox',
158
+ },
159
+ },
160
+ ios: {
161
+ id: 'ios',
162
+ label: 'iOS (Swift)',
163
+ tools: {
164
+ unit: ['XCTest', 'Quick + Nimble'],
165
+ integration: ['XCTest', 'Quick + Nimble'],
166
+ },
167
+ preferred: {
168
+ unit: 'XCTest',
169
+ integration: 'XCTest',
170
+ },
171
+ },
172
+ android: {
173
+ id: 'android',
174
+ label: 'Android (Kotlin)',
175
+ tools: {
176
+ unit: ['JUnit'],
177
+ integration: ['Espresso'],
178
+ mocking: ['MockK'],
179
+ },
180
+ preferred: {
181
+ unit: 'JUnit',
182
+ integration: 'Espresso',
183
+ mocking: 'MockK',
184
+ },
185
+ },
186
+ 'cross-stack': {
187
+ id: 'cross-stack',
188
+ label: 'Cross-Stack / Infra / Contract',
189
+ tools: {
190
+ e2e: ['Chromium'],
191
+ api: ['Postman / Newman'],
192
+ load: ['k6', 'Artillery'],
193
+ contract: ['Pact'],
194
+ mocking: ['Testcontainers'],
195
+ },
196
+ preferred: {
197
+ e2e: 'Chromium',
198
+ load: 'k6',
199
+ contract: 'Pact',
200
+ },
201
+ },
202
+ };
@@ -0,0 +1,5 @@
1
+ export * from './QaPlan.js';
2
+ export * from './QaProfile.js';
3
+ export * from './QaReadiness.js';
4
+ export * from './QaTechStack.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/qa/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './QaPlan.js';
2
+ export * from './QaProfile.js';
3
+ export * from './QaReadiness.js';
4
+ export * from './QaTechStack.js';
@@ -0,0 +1,12 @@
1
+ export declare const READY_TO_CODE_REVIEW = "ready_to_code_review";
2
+ export declare const CHANGES_REQUESTED = "changes_requested";
3
+ export declare const WORK_ALLOWED_STATUSES: string[];
4
+ export declare const REVIEW_ALLOWED_STATUSES: string[];
5
+ export declare const QA_ALLOWED_STATUSES: string[];
6
+ export declare const normalizeReviewStatuses: (statuses: string[]) => string[];
7
+ export declare const filterTaskStatuses: (input: string[] | undefined, allowed: string[], fallback: string[]) => {
8
+ filtered: string[];
9
+ rejected: string[];
10
+ };
11
+ export declare const isReadyToReviewStatus: (status?: string | null) => boolean;
12
+ //# sourceMappingURL=TaskStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskStatus.d.ts","sourceRoot":"","sources":["../../src/status/TaskStatus.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AACvF,eAAO,MAAM,uBAAuB,UAAyB,CAAC;AAC9D,eAAO,MAAM,mBAAmB,UAAkB,CAAC;AAOnD,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,EAAE,KAAG,MAAM,EAQlE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EAAE,GAAG,SAAS,EAC3B,SAAS,MAAM,EAAE,EACjB,UAAU,MAAM,EAAE,KACjB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAgB1C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAG9D,CAAC"}
@@ -0,0 +1,32 @@
1
+ export const READY_TO_CODE_REVIEW = "ready_to_code_review";
2
+ export const CHANGES_REQUESTED = "changes_requested";
3
+ export const WORK_ALLOWED_STATUSES = ["not_started", "in_progress", CHANGES_REQUESTED];
4
+ export const REVIEW_ALLOWED_STATUSES = [READY_TO_CODE_REVIEW];
5
+ export const QA_ALLOWED_STATUSES = ["ready_to_qa"];
6
+ const normalizeStatus = (status) => {
7
+ const normalized = status?.toLowerCase().trim();
8
+ return normalized ? normalized : undefined;
9
+ };
10
+ export const normalizeReviewStatuses = (statuses) => {
11
+ return Array.from(new Set((statuses ?? [])
12
+ .map((status) => status.toLowerCase().trim())
13
+ .filter((status) => Boolean(status) && status !== "blocked" && status !== "ready_to_review")));
14
+ };
15
+ export const filterTaskStatuses = (input, allowed, fallback) => {
16
+ const allowedSet = new Set(allowed.map((status) => normalizeStatus(status)).filter(Boolean));
17
+ const normalized = Array.from(new Set((input ?? [])
18
+ .map((status) => normalizeStatus(status))
19
+ .filter((status) => Boolean(status) && status !== "blocked" && status !== "ready_to_review")));
20
+ const cleaned = normalizeReviewStatuses(normalized);
21
+ const filtered = cleaned.filter((status) => allowedSet.has(status));
22
+ const rejected = cleaned.filter((status) => !allowedSet.has(status));
23
+ if (filtered.length === 0) {
24
+ return { filtered: fallback.map((status) => normalizeStatus(status)).filter(Boolean), rejected };
25
+ }
26
+ return { filtered, rejected };
27
+ };
28
+ export const isReadyToReviewStatus = (status) => {
29
+ if (!status)
30
+ return false;
31
+ return status.toLowerCase().trim() === READY_TO_CODE_REVIEW;
32
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcoda/shared",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Shared utilities and schemas for mcoda.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",