@xera-ai/core 0.1.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/bin/internal.ts +4 -0
- package/dist/adapter/types.d.ts +70 -0
- package/dist/adapter/types.d.ts.map +1 -0
- package/dist/artifact/hash.d.ts +4 -0
- package/dist/artifact/hash.d.ts.map +1 -0
- package/dist/artifact/meta.d.ts +46 -0
- package/dist/artifact/meta.d.ts.map +1 -0
- package/dist/artifact/paths.d.ts +25 -0
- package/dist/artifact/paths.d.ts.map +1 -0
- package/dist/artifact/status.d.ts +96 -0
- package/dist/artifact/status.d.ts.map +1 -0
- package/dist/auth/encrypt.d.ts +4 -0
- package/dist/auth/encrypt.d.ts.map +1 -0
- package/dist/auth/key.d.ts +3 -0
- package/dist/auth/key.d.ts.map +1 -0
- package/dist/auth/refresh.d.ts +9 -0
- package/dist/auth/refresh.d.ts.map +1 -0
- package/dist/auth/state.d.ts +24 -0
- package/dist/auth/state.d.ts.map +1 -0
- package/dist/bin/internal.js +1013 -0
- package/dist/bin-internal/exec.d.ts +2 -0
- package/dist/bin-internal/exec.d.ts.map +1 -0
- package/dist/bin-internal/fetch.d.ts +5 -0
- package/dist/bin-internal/fetch.d.ts.map +1 -0
- package/dist/bin-internal/index.d.ts +2 -0
- package/dist/bin-internal/index.d.ts.map +1 -0
- package/dist/bin-internal/lint.d.ts +2 -0
- package/dist/bin-internal/lint.d.ts.map +1 -0
- package/dist/bin-internal/normalize.d.ts +2 -0
- package/dist/bin-internal/normalize.d.ts.map +1 -0
- package/dist/bin-internal/post.d.ts +2 -0
- package/dist/bin-internal/post.d.ts.map +1 -0
- package/dist/bin-internal/promote.d.ts +2 -0
- package/dist/bin-internal/promote.d.ts.map +1 -0
- package/dist/bin-internal/report.d.ts +2 -0
- package/dist/bin-internal/report.d.ts.map +1 -0
- package/dist/bin-internal/status-cmd.d.ts +2 -0
- package/dist/bin-internal/status-cmd.d.ts.map +1 -0
- package/dist/bin-internal/typecheck.d.ts +2 -0
- package/dist/bin-internal/typecheck.d.ts.map +1 -0
- package/dist/bin-internal/unlock.d.ts +2 -0
- package/dist/bin-internal/unlock.d.ts.map +1 -0
- package/dist/bin-internal/validate-feature.d.ts +2 -0
- package/dist/bin-internal/validate-feature.d.ts.map +1 -0
- package/dist/classifier/aggregate.d.ts +3 -0
- package/dist/classifier/aggregate.d.ts.map +1 -0
- package/dist/classifier/history.d.ts +13 -0
- package/dist/classifier/history.d.ts.map +1 -0
- package/dist/classifier/types.d.ts +26 -0
- package/dist/classifier/types.d.ts.map +1 -0
- package/dist/config/define.d.ts +3 -0
- package/dist/config/define.d.ts.map +1 -0
- package/dist/config/load.d.ts +3 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/schema.d.ts +326 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/jira/client.d.ts +11 -0
- package/dist/jira/client.d.ts.map +1 -0
- package/dist/jira/fields.d.ts +7 -0
- package/dist/jira/fields.d.ts.map +1 -0
- package/dist/jira/mcp-backend.d.ts +3 -0
- package/dist/jira/mcp-backend.d.ts.map +1 -0
- package/dist/jira/rest-backend.d.ts +8 -0
- package/dist/jira/rest-backend.d.ts.map +1 -0
- package/dist/jira/retry.d.ts +8 -0
- package/dist/jira/retry.d.ts.map +1 -0
- package/dist/jira/types.d.ts +29 -0
- package/dist/jira/types.d.ts.map +1 -0
- package/dist/lock/file-lock.d.ts +12 -0
- package/dist/lock/file-lock.d.ts.map +1 -0
- package/dist/logging/ndjson-logger.d.ts +11 -0
- package/dist/logging/ndjson-logger.d.ts.map +1 -0
- package/dist/reporter/jira-comment.d.ts +9 -0
- package/dist/reporter/jira-comment.d.ts.map +1 -0
- package/dist/reporter/status-writer.d.ts +14 -0
- package/dist/reporter/status-writer.d.ts.map +1 -0
- package/dist/src/index.js +587 -0
- package/package.json +30 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/bin-internal/exec.ts"],"names":[],"mappings":"AAWA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoF7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/bin-internal/fetch.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAAG,GAAG,CAAC,EAAE,MAAM,CAAC;CAAE;AAE/C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin-internal/index.ts"],"names":[],"mappings":"AA0BA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAYzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/bin-internal/lint.ts"],"names":[],"mappings":"AAGA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/bin-internal/normalize.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAclE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/bin-internal/post.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/bin-internal/promote.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAShE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/bin-internal/report.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-cmd.d.ts","sourceRoot":"","sources":["../../src/bin-internal/status-cmd.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheck.d.ts","sourceRoot":"","sources":["../../src/bin-internal/typecheck.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../src/bin-internal/unlock.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAc/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-feature.d.ts","sourceRoot":"","sources":["../../src/bin-internal/validate-feature.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CASxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../src/classifier/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAc,MAAM,SAAS,CAAC;AAQlF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,cAAc,CAiBtF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Classification } from '../artifact/status';
|
|
2
|
+
export interface HistorySummary {
|
|
3
|
+
firstRun: boolean;
|
|
4
|
+
consecutiveFails: number;
|
|
5
|
+
lastResult: 'PASS' | 'FAIL' | null;
|
|
6
|
+
lastClass: Classification | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function summarizeHistory(history: Array<{
|
|
9
|
+
ts: string;
|
|
10
|
+
result: 'PASS' | 'FAIL';
|
|
11
|
+
class: Classification;
|
|
12
|
+
}>): HistorySummary;
|
|
13
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/classifier/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC,GAC7E,cAAc,CAehB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Classification } from '../artifact/status';
|
|
2
|
+
export type { Classification };
|
|
3
|
+
export type Confidence = 'low' | 'medium' | 'high';
|
|
4
|
+
export interface ScenarioClassification {
|
|
5
|
+
name: string;
|
|
6
|
+
outcome: 'PASS' | 'FAIL' | 'SKIPPED';
|
|
7
|
+
class: Classification;
|
|
8
|
+
confidence: Confidence;
|
|
9
|
+
rationale: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ClassifyOutput {
|
|
12
|
+
overall: Classification;
|
|
13
|
+
overallConfidence: Confidence;
|
|
14
|
+
scenarios: ScenarioClassification[];
|
|
15
|
+
}
|
|
16
|
+
export interface ClassifyContextInput {
|
|
17
|
+
history: Array<{
|
|
18
|
+
ts: string;
|
|
19
|
+
result: 'PASS' | 'FAIL';
|
|
20
|
+
class: Classification;
|
|
21
|
+
}>;
|
|
22
|
+
storyHashChanged: boolean;
|
|
23
|
+
specHashChanged: boolean;
|
|
24
|
+
firstRun: boolean;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/classifier/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,YAAY,EAAE,cAAc,EAAE,CAAC;AAC/B,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,iBAAiB,EAAE,UAAU,CAAC;IAC9B,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQjE"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const XeraConfigSchema: z.ZodObject<{
|
|
3
|
+
jira: z.ZodObject<{
|
|
4
|
+
baseUrl: z.ZodString;
|
|
5
|
+
projectKeys: z.ZodArray<z.ZodString, "many">;
|
|
6
|
+
fields: z.ZodObject<{
|
|
7
|
+
story: z.ZodString;
|
|
8
|
+
acceptanceCriteria: z.ZodOptional<z.ZodString>;
|
|
9
|
+
attachments: z.ZodDefault<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
story: string;
|
|
12
|
+
attachments: string;
|
|
13
|
+
acceptanceCriteria?: string | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
story: string;
|
|
16
|
+
acceptanceCriteria?: string | undefined;
|
|
17
|
+
attachments?: string | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
projectKeys: string[];
|
|
22
|
+
fields: {
|
|
23
|
+
story: string;
|
|
24
|
+
attachments: string;
|
|
25
|
+
acceptanceCriteria?: string | undefined;
|
|
26
|
+
};
|
|
27
|
+
}, {
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
projectKeys: string[];
|
|
30
|
+
fields: {
|
|
31
|
+
story: string;
|
|
32
|
+
acceptanceCriteria?: string | undefined;
|
|
33
|
+
attachments?: string | undefined;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
web: z.ZodEffects<z.ZodObject<{
|
|
37
|
+
baseUrl: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
|
|
38
|
+
defaultEnv: z.ZodString;
|
|
39
|
+
auth: z.ZodDefault<z.ZodObject<{
|
|
40
|
+
strategy: z.ZodDefault<z.ZodEnum<["storageState", "apiToken", "none"]>>;
|
|
41
|
+
ttl: z.ZodDefault<z.ZodString>;
|
|
42
|
+
refreshBuffer: z.ZodDefault<z.ZodString>;
|
|
43
|
+
setupScript: z.ZodOptional<z.ZodString>;
|
|
44
|
+
roles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
45
|
+
envEmail: z.ZodString;
|
|
46
|
+
envPassword: z.ZodString;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
envEmail: string;
|
|
49
|
+
envPassword: string;
|
|
50
|
+
}, {
|
|
51
|
+
envEmail: string;
|
|
52
|
+
envPassword: string;
|
|
53
|
+
}>>>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
strategy: "storageState" | "apiToken" | "none";
|
|
56
|
+
ttl: string;
|
|
57
|
+
refreshBuffer: string;
|
|
58
|
+
roles: Record<string, {
|
|
59
|
+
envEmail: string;
|
|
60
|
+
envPassword: string;
|
|
61
|
+
}>;
|
|
62
|
+
setupScript?: string | undefined;
|
|
63
|
+
}, {
|
|
64
|
+
strategy?: "storageState" | "apiToken" | "none" | undefined;
|
|
65
|
+
ttl?: string | undefined;
|
|
66
|
+
refreshBuffer?: string | undefined;
|
|
67
|
+
setupScript?: string | undefined;
|
|
68
|
+
roles?: Record<string, {
|
|
69
|
+
envEmail: string;
|
|
70
|
+
envPassword: string;
|
|
71
|
+
}> | undefined;
|
|
72
|
+
}>>;
|
|
73
|
+
testData: z.ZodDefault<z.ZodObject<{
|
|
74
|
+
users: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
75
|
+
fromAuth: z.ZodString;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
fromAuth: string;
|
|
78
|
+
}, {
|
|
79
|
+
fromAuth: string;
|
|
80
|
+
}>>>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
users: Record<string, {
|
|
83
|
+
fromAuth: string;
|
|
84
|
+
}>;
|
|
85
|
+
}, {
|
|
86
|
+
users?: Record<string, {
|
|
87
|
+
fromAuth: string;
|
|
88
|
+
}> | undefined;
|
|
89
|
+
}>>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
baseUrl: Record<string, string>;
|
|
92
|
+
defaultEnv: string;
|
|
93
|
+
auth: {
|
|
94
|
+
strategy: "storageState" | "apiToken" | "none";
|
|
95
|
+
ttl: string;
|
|
96
|
+
refreshBuffer: string;
|
|
97
|
+
roles: Record<string, {
|
|
98
|
+
envEmail: string;
|
|
99
|
+
envPassword: string;
|
|
100
|
+
}>;
|
|
101
|
+
setupScript?: string | undefined;
|
|
102
|
+
};
|
|
103
|
+
testData: {
|
|
104
|
+
users: Record<string, {
|
|
105
|
+
fromAuth: string;
|
|
106
|
+
}>;
|
|
107
|
+
};
|
|
108
|
+
}, {
|
|
109
|
+
baseUrl: Record<string, string>;
|
|
110
|
+
defaultEnv: string;
|
|
111
|
+
auth?: {
|
|
112
|
+
strategy?: "storageState" | "apiToken" | "none" | undefined;
|
|
113
|
+
ttl?: string | undefined;
|
|
114
|
+
refreshBuffer?: string | undefined;
|
|
115
|
+
setupScript?: string | undefined;
|
|
116
|
+
roles?: Record<string, {
|
|
117
|
+
envEmail: string;
|
|
118
|
+
envPassword: string;
|
|
119
|
+
}> | undefined;
|
|
120
|
+
} | undefined;
|
|
121
|
+
testData?: {
|
|
122
|
+
users?: Record<string, {
|
|
123
|
+
fromAuth: string;
|
|
124
|
+
}> | undefined;
|
|
125
|
+
} | undefined;
|
|
126
|
+
}>, {
|
|
127
|
+
baseUrl: Record<string, string>;
|
|
128
|
+
defaultEnv: string;
|
|
129
|
+
auth: {
|
|
130
|
+
strategy: "storageState" | "apiToken" | "none";
|
|
131
|
+
ttl: string;
|
|
132
|
+
refreshBuffer: string;
|
|
133
|
+
roles: Record<string, {
|
|
134
|
+
envEmail: string;
|
|
135
|
+
envPassword: string;
|
|
136
|
+
}>;
|
|
137
|
+
setupScript?: string | undefined;
|
|
138
|
+
};
|
|
139
|
+
testData: {
|
|
140
|
+
users: Record<string, {
|
|
141
|
+
fromAuth: string;
|
|
142
|
+
}>;
|
|
143
|
+
};
|
|
144
|
+
}, {
|
|
145
|
+
baseUrl: Record<string, string>;
|
|
146
|
+
defaultEnv: string;
|
|
147
|
+
auth?: {
|
|
148
|
+
strategy?: "storageState" | "apiToken" | "none" | undefined;
|
|
149
|
+
ttl?: string | undefined;
|
|
150
|
+
refreshBuffer?: string | undefined;
|
|
151
|
+
setupScript?: string | undefined;
|
|
152
|
+
roles?: Record<string, {
|
|
153
|
+
envEmail: string;
|
|
154
|
+
envPassword: string;
|
|
155
|
+
}> | undefined;
|
|
156
|
+
} | undefined;
|
|
157
|
+
testData?: {
|
|
158
|
+
users?: Record<string, {
|
|
159
|
+
fromAuth: string;
|
|
160
|
+
}> | undefined;
|
|
161
|
+
} | undefined;
|
|
162
|
+
}>;
|
|
163
|
+
ai: z.ZodDefault<z.ZodObject<{
|
|
164
|
+
livePageSnapshot: z.ZodDefault<z.ZodBoolean>;
|
|
165
|
+
confidenceThreshold: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
|
|
166
|
+
maxRetries: z.ZodDefault<z.ZodObject<{
|
|
167
|
+
typecheck: z.ZodDefault<z.ZodNumber>;
|
|
168
|
+
lint: z.ZodDefault<z.ZodNumber>;
|
|
169
|
+
validateFeature: z.ZodDefault<z.ZodNumber>;
|
|
170
|
+
}, "strip", z.ZodTypeAny, {
|
|
171
|
+
typecheck: number;
|
|
172
|
+
lint: number;
|
|
173
|
+
validateFeature: number;
|
|
174
|
+
}, {
|
|
175
|
+
typecheck?: number | undefined;
|
|
176
|
+
lint?: number | undefined;
|
|
177
|
+
validateFeature?: number | undefined;
|
|
178
|
+
}>>;
|
|
179
|
+
}, "strip", z.ZodTypeAny, {
|
|
180
|
+
livePageSnapshot: boolean;
|
|
181
|
+
confidenceThreshold: "low" | "medium" | "high";
|
|
182
|
+
maxRetries: {
|
|
183
|
+
typecheck: number;
|
|
184
|
+
lint: number;
|
|
185
|
+
validateFeature: number;
|
|
186
|
+
};
|
|
187
|
+
}, {
|
|
188
|
+
livePageSnapshot?: boolean | undefined;
|
|
189
|
+
confidenceThreshold?: "low" | "medium" | "high" | undefined;
|
|
190
|
+
maxRetries?: {
|
|
191
|
+
typecheck?: number | undefined;
|
|
192
|
+
lint?: number | undefined;
|
|
193
|
+
validateFeature?: number | undefined;
|
|
194
|
+
} | undefined;
|
|
195
|
+
}>>;
|
|
196
|
+
reporting: z.ZodDefault<z.ZodObject<{
|
|
197
|
+
language: z.ZodDefault<z.ZodEnum<["en", "vi"]>>;
|
|
198
|
+
postToJira: z.ZodDefault<z.ZodBoolean>;
|
|
199
|
+
transition: z.ZodDefault<z.ZodObject<{
|
|
200
|
+
onPass: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
201
|
+
onFail: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
202
|
+
}, "strip", z.ZodTypeAny, {
|
|
203
|
+
onPass: string | null;
|
|
204
|
+
onFail: string | null;
|
|
205
|
+
}, {
|
|
206
|
+
onPass?: string | null | undefined;
|
|
207
|
+
onFail?: string | null | undefined;
|
|
208
|
+
}>>;
|
|
209
|
+
artifactLinks: z.ZodDefault<z.ZodEnum<["git", "local"]>>;
|
|
210
|
+
}, "strip", z.ZodTypeAny, {
|
|
211
|
+
language: "en" | "vi";
|
|
212
|
+
postToJira: boolean;
|
|
213
|
+
transition: {
|
|
214
|
+
onPass: string | null;
|
|
215
|
+
onFail: string | null;
|
|
216
|
+
};
|
|
217
|
+
artifactLinks: "git" | "local";
|
|
218
|
+
}, {
|
|
219
|
+
language?: "en" | "vi" | undefined;
|
|
220
|
+
postToJira?: boolean | undefined;
|
|
221
|
+
transition?: {
|
|
222
|
+
onPass?: string | null | undefined;
|
|
223
|
+
onFail?: string | null | undefined;
|
|
224
|
+
} | undefined;
|
|
225
|
+
artifactLinks?: "git" | "local" | undefined;
|
|
226
|
+
}>>;
|
|
227
|
+
adapters: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
228
|
+
}, "strip", z.ZodTypeAny, {
|
|
229
|
+
jira: {
|
|
230
|
+
baseUrl: string;
|
|
231
|
+
projectKeys: string[];
|
|
232
|
+
fields: {
|
|
233
|
+
story: string;
|
|
234
|
+
attachments: string;
|
|
235
|
+
acceptanceCriteria?: string | undefined;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
web: {
|
|
239
|
+
baseUrl: Record<string, string>;
|
|
240
|
+
defaultEnv: string;
|
|
241
|
+
auth: {
|
|
242
|
+
strategy: "storageState" | "apiToken" | "none";
|
|
243
|
+
ttl: string;
|
|
244
|
+
refreshBuffer: string;
|
|
245
|
+
roles: Record<string, {
|
|
246
|
+
envEmail: string;
|
|
247
|
+
envPassword: string;
|
|
248
|
+
}>;
|
|
249
|
+
setupScript?: string | undefined;
|
|
250
|
+
};
|
|
251
|
+
testData: {
|
|
252
|
+
users: Record<string, {
|
|
253
|
+
fromAuth: string;
|
|
254
|
+
}>;
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
ai: {
|
|
258
|
+
livePageSnapshot: boolean;
|
|
259
|
+
confidenceThreshold: "low" | "medium" | "high";
|
|
260
|
+
maxRetries: {
|
|
261
|
+
typecheck: number;
|
|
262
|
+
lint: number;
|
|
263
|
+
validateFeature: number;
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
reporting: {
|
|
267
|
+
language: "en" | "vi";
|
|
268
|
+
postToJira: boolean;
|
|
269
|
+
transition: {
|
|
270
|
+
onPass: string | null;
|
|
271
|
+
onFail: string | null;
|
|
272
|
+
};
|
|
273
|
+
artifactLinks: "git" | "local";
|
|
274
|
+
};
|
|
275
|
+
adapters: string[];
|
|
276
|
+
}, {
|
|
277
|
+
jira: {
|
|
278
|
+
baseUrl: string;
|
|
279
|
+
projectKeys: string[];
|
|
280
|
+
fields: {
|
|
281
|
+
story: string;
|
|
282
|
+
acceptanceCriteria?: string | undefined;
|
|
283
|
+
attachments?: string | undefined;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
web: {
|
|
287
|
+
baseUrl: Record<string, string>;
|
|
288
|
+
defaultEnv: string;
|
|
289
|
+
auth?: {
|
|
290
|
+
strategy?: "storageState" | "apiToken" | "none" | undefined;
|
|
291
|
+
ttl?: string | undefined;
|
|
292
|
+
refreshBuffer?: string | undefined;
|
|
293
|
+
setupScript?: string | undefined;
|
|
294
|
+
roles?: Record<string, {
|
|
295
|
+
envEmail: string;
|
|
296
|
+
envPassword: string;
|
|
297
|
+
}> | undefined;
|
|
298
|
+
} | undefined;
|
|
299
|
+
testData?: {
|
|
300
|
+
users?: Record<string, {
|
|
301
|
+
fromAuth: string;
|
|
302
|
+
}> | undefined;
|
|
303
|
+
} | undefined;
|
|
304
|
+
};
|
|
305
|
+
ai?: {
|
|
306
|
+
livePageSnapshot?: boolean | undefined;
|
|
307
|
+
confidenceThreshold?: "low" | "medium" | "high" | undefined;
|
|
308
|
+
maxRetries?: {
|
|
309
|
+
typecheck?: number | undefined;
|
|
310
|
+
lint?: number | undefined;
|
|
311
|
+
validateFeature?: number | undefined;
|
|
312
|
+
} | undefined;
|
|
313
|
+
} | undefined;
|
|
314
|
+
reporting?: {
|
|
315
|
+
language?: "en" | "vi" | undefined;
|
|
316
|
+
postToJira?: boolean | undefined;
|
|
317
|
+
transition?: {
|
|
318
|
+
onPass?: string | null | undefined;
|
|
319
|
+
onFail?: string | null | undefined;
|
|
320
|
+
} | undefined;
|
|
321
|
+
artifactLinks?: "git" | "local" | undefined;
|
|
322
|
+
} | undefined;
|
|
323
|
+
adapters?: string[] | undefined;
|
|
324
|
+
}>;
|
|
325
|
+
export type XeraConfig = z.infer<typeof XeraConfigSchema>;
|
|
326
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiExB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const VERSION = "0.1.0";
|
|
2
|
+
export type * from './adapter/types';
|
|
3
|
+
export * from './config/schema';
|
|
4
|
+
export * from './config/define';
|
|
5
|
+
export * from './config/load';
|
|
6
|
+
export * from './artifact/paths';
|
|
7
|
+
export * from './artifact/hash';
|
|
8
|
+
export * from './artifact/meta';
|
|
9
|
+
export * from './artifact/status';
|
|
10
|
+
export * from './logging/ndjson-logger';
|
|
11
|
+
export * from './lock/file-lock';
|
|
12
|
+
export * from './jira/types';
|
|
13
|
+
export * from './jira/client';
|
|
14
|
+
export * from './jira/fields';
|
|
15
|
+
export * from './jira/retry';
|
|
16
|
+
export * from './auth/encrypt';
|
|
17
|
+
export * from './auth/key';
|
|
18
|
+
export * from './auth/state';
|
|
19
|
+
export * from './auth/refresh';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,mBAAmB,iBAAiB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { JiraClient } from './types';
|
|
2
|
+
export interface CreateJiraClientOptions {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
preferMcp?: boolean;
|
|
5
|
+
rest?: {
|
|
6
|
+
email: string;
|
|
7
|
+
apiToken: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare function createJiraClient(opts: CreateJiraClientOptions): Promise<JiraClient>;
|
|
11
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/jira/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CASzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/jira/fields.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-backend.d.ts","sourceRoot":"","sources":["../../src/jira/mcp-backend.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAItD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgCnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-backend.d.ts","sourceRoot":"","sources":["../../src/jira/rest-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,SAAS,CAAC;AAEpE,UAAU,SAAS;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAAE;AAExD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,CA0E/E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface RetryOptions {
|
|
2
|
+
maxAttempts: number;
|
|
3
|
+
baseMs: number;
|
|
4
|
+
factor: number;
|
|
5
|
+
shouldRetry?: (err: unknown) => boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function withRetry<T>(fn: () => Promise<T>, opts: RetryOptions): Promise<T>;
|
|
8
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/jira/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;CACzC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBvF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface JiraTicket {
|
|
2
|
+
key: string;
|
|
3
|
+
summary: string;
|
|
4
|
+
story: string;
|
|
5
|
+
acceptanceCriteria?: string;
|
|
6
|
+
attachments: Array<{
|
|
7
|
+
filename: string;
|
|
8
|
+
url: string;
|
|
9
|
+
}>;
|
|
10
|
+
raw: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface JiraFieldMap {
|
|
13
|
+
story: string;
|
|
14
|
+
acceptanceCriteria?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface JiraClient {
|
|
17
|
+
readonly backend: 'mcp' | 'rest';
|
|
18
|
+
fetchTicket(key: string, fields: JiraFieldMap): Promise<JiraTicket>;
|
|
19
|
+
postComment(key: string, body: string): Promise<{
|
|
20
|
+
id: string;
|
|
21
|
+
}>;
|
|
22
|
+
transitionStatus(key: string, statusName: string): Promise<void>;
|
|
23
|
+
listFields(sampleKey: string): Promise<Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
hasContent: boolean;
|
|
27
|
+
}>>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jira/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;CAClG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface LockData {
|
|
2
|
+
pid: number;
|
|
3
|
+
hostname: string;
|
|
4
|
+
started_at: string;
|
|
5
|
+
run_id: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function acquireLock(path: string, runId: string): boolean;
|
|
8
|
+
export declare function releaseLock(path: string): void;
|
|
9
|
+
export declare function readLock(path: string): LockData | null;
|
|
10
|
+
export declare function isLockStale(path: string): boolean;
|
|
11
|
+
export declare function forceUnlock(path: string): void;
|
|
12
|
+
//# sourceMappingURL=file-lock.d.ts.map
|