@qawolf/api-contracts 0.68.0 → 0.69.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.
Files changed (42) hide show
  1. package/dist/v1/agent/status.js +1 -1
  2. package/dist/v1/agent/status.js.map +1 -1
  3. package/dist/v1/index.d.ts +422 -0
  4. package/dist/v1/index.d.ts.map +1 -1
  5. package/dist/v1/index.js +2 -0
  6. package/dist/v1/index.js.map +1 -1
  7. package/dist/v1/investigation/finding.d.ts +51 -0
  8. package/dist/v1/investigation/finding.d.ts.map +1 -0
  9. package/dist/v1/investigation/finding.js +55 -0
  10. package/dist/v1/investigation/finding.js.map +1 -0
  11. package/dist/v1/investigation/findingInputFields.d.ts +14 -0
  12. package/dist/v1/investigation/findingInputFields.d.ts.map +1 -0
  13. package/dist/v1/investigation/findingInputFields.js +46 -0
  14. package/dist/v1/investigation/findingInputFields.js.map +1 -0
  15. package/dist/v1/investigation/get.d.ts +74 -0
  16. package/dist/v1/investigation/get.d.ts.map +1 -0
  17. package/dist/v1/investigation/get.js +30 -0
  18. package/dist/v1/investigation/get.js.map +1 -0
  19. package/dist/v1/investigation/index.d.ts +219 -0
  20. package/dist/v1/investigation/index.d.ts.map +1 -0
  21. package/dist/v1/investigation/index.js +7 -0
  22. package/dist/v1/investigation/index.js.map +1 -0
  23. package/dist/v1/investigation/recordFinding.d.ts +153 -0
  24. package/dist/v1/investigation/recordFinding.d.ts.map +1 -0
  25. package/dist/v1/investigation/recordFinding.js +112 -0
  26. package/dist/v1/investigation/recordFinding.js.map +1 -0
  27. package/dist/v1/mcpInputSchema.d.ts +6 -0
  28. package/dist/v1/mcpInputSchema.d.ts.map +1 -1
  29. package/dist/v1/mcpInputSchema.js +51 -20
  30. package/dist/v1/mcpInputSchema.js.map +1 -1
  31. package/dist/v1/mcpInputShape.d.ts +13 -0
  32. package/dist/v1/mcpInputShape.d.ts.map +1 -0
  33. package/dist/v1/mcpInputShape.js +31 -0
  34. package/dist/v1/mcpInputShape.js.map +1 -0
  35. package/dist/v1/mcpInputUnion.d.ts +3 -0
  36. package/dist/v1/mcpInputUnion.d.ts.map +1 -0
  37. package/dist/v1/mcpInputUnion.js +83 -0
  38. package/dist/v1/mcpInputUnion.js.map +1 -0
  39. package/dist/v1/mcpToolDescription.d.ts.map +1 -1
  40. package/dist/v1/mcpToolDescription.js +1 -0
  41. package/dist/v1/mcpToolDescription.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ export declare const headline: z.ZodString;
3
+ export declare const summary: z.ZodString;
4
+ export declare const commitHash: z.ZodString;
5
+ export declare const question: z.ZodString;
6
+ export declare const bugReport: {
7
+ actual: z.ZodString;
8
+ expected: z.ZodString;
9
+ steps: z.ZodArray<z.ZodString>;
10
+ };
11
+ export declare const matchReason: z.ZodString;
12
+ export declare const answerTitle: z.ZodString;
13
+ export declare const answerDescription: z.ZodString;
14
+ //# sourceMappingURL=findingInputFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findingInputFields.d.ts","sourceRoot":"","sources":["../../../src/v1/investigation/findingInputFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ,aAKoB,CAAC;AAE1C,eAAO,MAAM,OAAO,aAOjB,CAAC;AAEJ,eAAO,MAAM,UAAU,aAKpB,CAAC;AAEJ,eAAO,MAAM,QAAQ,aAKqC,CAAC;AAE3D,eAAO,MAAM,SAAS;;;;CAarB,CAAC;AAEF,eAAO,MAAM,WAAW,aAOrB,CAAC;AAEJ,eAAO,MAAM,WAAW,aAAmC,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAAoC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { z } from "zod";
2
+ export const headline = z
3
+ .string()
4
+ .trim()
5
+ .min(1)
6
+ .max(200)
7
+ .describe("One line naming the cause.");
8
+ export const summary = z
9
+ .string()
10
+ .trim()
11
+ .min(1)
12
+ .max(2000)
13
+ .describe("What happened and what the AI did about it, in a short paragraph.");
14
+ export const commitHash = z
15
+ .string()
16
+ .regex(/^[0-9a-f]{7,40}$/)
17
+ .describe("The commit with the fix: on the flow code branch once it is fixed, on the sub-session's branch while it is proposed.");
18
+ export const question = z
19
+ .string()
20
+ .trim()
21
+ .min(1)
22
+ .max(300)
23
+ .describe("The question for a person, in one sentence.");
24
+ export const bugReport = {
25
+ actual: z.string().trim().min(1).max(1000).describe("What the app did."),
26
+ expected: z
27
+ .string()
28
+ .trim()
29
+ .min(1)
30
+ .max(1000)
31
+ .describe("What the app should have done."),
32
+ steps: z
33
+ .array(z.string().trim().min(1).max(500))
34
+ .min(1)
35
+ .max(30)
36
+ .describe("The steps that reproduce the bug, in order."),
37
+ };
38
+ export const matchReason = z
39
+ .string()
40
+ .trim()
41
+ .min(1)
42
+ .max(500)
43
+ .describe("Why the flows belong to that already open report. Omit for a new report.");
44
+ export const answerTitle = z.string().trim().min(1).max(80);
45
+ export const answerDescription = z.string().trim().min(1).max(200);
46
+ //# sourceMappingURL=findingInputFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findingInputFields.js","sourceRoot":"","sources":["../../../src/v1/investigation/findingInputFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,IAAI,CAAC;KACT,QAAQ,CACP,mEAAmE,CACpE,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,CAAC;KACzB,QAAQ,CACP,sHAAsH,CACvH,CAAC;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,QAAQ,CAAC,6CAA6C,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACxE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,QAAQ,CACP,0EAA0E,CAC3E,CAAC;AAEJ,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeGetInvestigationContract: <ChatSessionId extends PublicIdSchema, FlowId extends PublicIdSchema, IssueId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: {
4
+ [key: string]: unknown;
5
+ chatSession: ChatSessionId;
6
+ flow: FlowId;
7
+ issue: IssueId;
8
+ run: RunId;
9
+ }) => {
10
+ readonly annotations: {
11
+ readonly destructiveHint: false;
12
+ readonly openWorldHint: false;
13
+ readonly readOnlyHint: true;
14
+ };
15
+ readonly description: string;
16
+ readonly input: z.ZodObject<{
17
+ runId: RunId;
18
+ }, z.core.$strip>;
19
+ readonly kind: "read";
20
+ readonly name: "investigation.get";
21
+ readonly output: z.ZodObject<{
22
+ findings: z.ZodArray<z.ZodObject<{
23
+ actual: z.ZodOptional<z.ZodString>;
24
+ commitHash: z.ZodOptional<z.ZodString>;
25
+ decidedBy: z.ZodOptional<z.ZodEnum<{
26
+ user: "user";
27
+ agent: "agent";
28
+ }>>;
29
+ disputeReason: z.ZodOptional<z.ZodString>;
30
+ expected: z.ZodOptional<z.ZodString>;
31
+ findingId: z.ZodString;
32
+ flowIds: z.ZodArray<FlowId>;
33
+ headline: z.ZodOptional<z.ZodString>;
34
+ issueId: z.ZodOptional<IssueId>;
35
+ kind: z.ZodString;
36
+ matchReason: z.ZodOptional<z.ZodString>;
37
+ priority: z.ZodOptional<z.ZodEnum<{
38
+ unprioritized: "unprioritized";
39
+ low: "low";
40
+ medium: "medium";
41
+ high: "high";
42
+ urgent: "urgent";
43
+ }>>;
44
+ question: z.ZodOptional<z.ZodObject<{
45
+ answers: z.ZodArray<z.ZodObject<{
46
+ description: z.ZodOptional<z.ZodString>;
47
+ title: z.ZodString;
48
+ value: z.ZodString;
49
+ }, z.core.$strip>>;
50
+ text: z.ZodString;
51
+ }, z.core.$strip>>;
52
+ response: z.ZodOptional<z.ZodObject<{
53
+ answer: z.ZodOptional<z.ZodString>;
54
+ at: z.ZodISODateTime;
55
+ reason: z.ZodOptional<z.ZodString>;
56
+ type: z.ZodString;
57
+ }, z.core.$strip>>;
58
+ state: z.ZodString;
59
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ subSessionIds: z.ZodArray<ChatSessionId>;
61
+ summary: z.ZodOptional<z.ZodString>;
62
+ updatedAt: z.ZodISODateTime;
63
+ }, z.core.$strip>>;
64
+ runId: RunId;
65
+ sessionId: z.ZodOptional<ChatSessionId>;
66
+ status: z.ZodEnum<{
67
+ investigating: "investigating";
68
+ finished: "finished";
69
+ "not-investigated": "not-investigated";
70
+ }>;
71
+ url: z.ZodURL;
72
+ }, z.core.$strip>;
73
+ };
74
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/investigation/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,4BAA4B,GACvC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,cAAc,EAC9B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCA,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import { resource } from "../resource.js";
3
+ import { makeInvestigationFindingSchema } from "./finding.js";
4
+ export const makeGetInvestigationContract = (ids) => {
5
+ const input = z.object({ runId: ids.run });
6
+ const output = resource({
7
+ findings: z.array(makeInvestigationFindingSchema(ids)),
8
+ runId: ids.run,
9
+ sessionId: ids.chatSession
10
+ .optional()
11
+ .describe("The investigation session. Absent when the run has none."),
12
+ status: z
13
+ .enum(["investigating", "finished", "not-investigated"])
14
+ .describe('Whether the investigation session is still working. "not-investigated" when the run has no investigation.'),
15
+ }, { urlFieldDescription: "The run in the QA Wolf app." });
16
+ return {
17
+ annotations: {
18
+ destructiveHint: false,
19
+ openWorldHint: false,
20
+ readOnlyHint: true,
21
+ },
22
+ description: "Read what the QA Wolf AI investigating a run has concluded: one finding per cause of its failures, " +
23
+ "with the question waiting for a person and any answer or dispute the investigation hasn't acted on yet.",
24
+ input,
25
+ kind: "read",
26
+ name: "investigation.get",
27
+ output,
28
+ };
29
+ };
30
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/v1/investigation/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAK1C,GAMD,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;QACtD,KAAK,EAAE,GAAG,CAAC,GAAG;QACd,SAAS,EAAE,GAAG,CAAC,WAAW;aACvB,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;aACvD,QAAQ,CACP,2GAA2G,CAC5G;KACJ,EACD,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,CACvD,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,qGAAqG;YACrG,yGAAyG;QAC3G,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,mBAAmB;QACzB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,219 @@
1
+ import type { PublicIdSchema } from "../ids.js";
2
+ export declare const makeInvestigationContracts: <ChatSessionId extends PublicIdSchema, FlowId extends PublicIdSchema, IssueId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: {
3
+ [key: string]: unknown;
4
+ chatSession: ChatSessionId;
5
+ flow: FlowId;
6
+ issue: IssueId;
7
+ run: RunId;
8
+ }) => {
9
+ get: {
10
+ readonly annotations: {
11
+ readonly destructiveHint: false;
12
+ readonly openWorldHint: false;
13
+ readonly readOnlyHint: true;
14
+ };
15
+ readonly description: string;
16
+ readonly input: import("zod").ZodObject<{
17
+ runId: RunId;
18
+ }, import("zod/v4/core").$strip>;
19
+ readonly kind: "read";
20
+ readonly name: "investigation.get";
21
+ readonly output: import("zod").ZodObject<{
22
+ findings: import("zod").ZodArray<import("zod").ZodObject<{
23
+ actual: import("zod").ZodOptional<import("zod").ZodString>;
24
+ commitHash: import("zod").ZodOptional<import("zod").ZodString>;
25
+ decidedBy: import("zod").ZodOptional<import("zod").ZodEnum<{
26
+ user: "user";
27
+ agent: "agent";
28
+ }>>;
29
+ disputeReason: import("zod").ZodOptional<import("zod").ZodString>;
30
+ expected: import("zod").ZodOptional<import("zod").ZodString>;
31
+ findingId: import("zod").ZodString;
32
+ flowIds: import("zod").ZodArray<FlowId>;
33
+ headline: import("zod").ZodOptional<import("zod").ZodString>;
34
+ issueId: import("zod").ZodOptional<IssueId>;
35
+ kind: import("zod").ZodString;
36
+ matchReason: import("zod").ZodOptional<import("zod").ZodString>;
37
+ priority: import("zod").ZodOptional<import("zod").ZodEnum<{
38
+ unprioritized: "unprioritized";
39
+ low: "low";
40
+ medium: "medium";
41
+ high: "high";
42
+ urgent: "urgent";
43
+ }>>;
44
+ question: import("zod").ZodOptional<import("zod").ZodObject<{
45
+ answers: import("zod").ZodArray<import("zod").ZodObject<{
46
+ description: import("zod").ZodOptional<import("zod").ZodString>;
47
+ title: import("zod").ZodString;
48
+ value: import("zod").ZodString;
49
+ }, import("zod/v4/core").$strip>>;
50
+ text: import("zod").ZodString;
51
+ }, import("zod/v4/core").$strip>>;
52
+ response: import("zod").ZodOptional<import("zod").ZodObject<{
53
+ answer: import("zod").ZodOptional<import("zod").ZodString>;
54
+ at: import("zod").ZodISODateTime;
55
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
56
+ type: import("zod").ZodString;
57
+ }, import("zod/v4/core").$strip>>;
58
+ state: import("zod").ZodString;
59
+ steps: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
60
+ subSessionIds: import("zod").ZodArray<ChatSessionId>;
61
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
62
+ updatedAt: import("zod").ZodISODateTime;
63
+ }, import("zod/v4/core").$strip>>;
64
+ runId: RunId;
65
+ sessionId: import("zod").ZodOptional<ChatSessionId>;
66
+ status: import("zod").ZodEnum<{
67
+ investigating: "investigating";
68
+ finished: "finished";
69
+ "not-investigated": "not-investigated";
70
+ }>;
71
+ url: import("zod").ZodURL;
72
+ }, import("zod/v4/core").$strip>;
73
+ };
74
+ recordFinding: {
75
+ readonly annotations: {
76
+ readonly destructiveHint: true;
77
+ readonly openWorldHint: false;
78
+ readonly readOnlyHint: false;
79
+ };
80
+ readonly description: string;
81
+ readonly input: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
82
+ headline: import("zod").ZodOptional<import("zod").ZodString>;
83
+ state: import("zod").ZodLiteral<"investigating">;
84
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
85
+ findingId: import("zod").ZodString;
86
+ flowIds: import("zod").ZodArray<FlowId>;
87
+ runId: RunId;
88
+ sessionId: ChatSessionId;
89
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
90
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
91
+ commitHash: import("zod").ZodString;
92
+ headline: import("zod").ZodString;
93
+ state: import("zod").ZodLiteral<"fixed">;
94
+ summary: import("zod").ZodString;
95
+ findingId: import("zod").ZodString;
96
+ flowIds: import("zod").ZodArray<FlowId>;
97
+ runId: RunId;
98
+ sessionId: ChatSessionId;
99
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
100
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
101
+ commitHash: import("zod").ZodString;
102
+ headline: import("zod").ZodString;
103
+ question: import("zod").ZodOptional<import("zod").ZodString>;
104
+ state: import("zod").ZodLiteral<"fix-proposed">;
105
+ summary: import("zod").ZodString;
106
+ findingId: import("zod").ZodString;
107
+ flowIds: import("zod").ZodArray<FlowId>;
108
+ runId: RunId;
109
+ sessionId: ChatSessionId;
110
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
111
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
112
+ headline: import("zod").ZodString;
113
+ issueId: IssueId;
114
+ matchReason: import("zod").ZodOptional<import("zod").ZodString>;
115
+ state: import("zod").ZodLiteral<"reported">;
116
+ summary: import("zod").ZodString;
117
+ actual: import("zod").ZodString;
118
+ expected: import("zod").ZodString;
119
+ steps: import("zod").ZodArray<import("zod").ZodString>;
120
+ findingId: import("zod").ZodString;
121
+ flowIds: import("zod").ZodArray<FlowId>;
122
+ runId: RunId;
123
+ sessionId: ChatSessionId;
124
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
125
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
126
+ headline: import("zod").ZodString;
127
+ issueId: import("zod").ZodOptional<IssueId>;
128
+ matchReason: import("zod").ZodOptional<import("zod").ZodString>;
129
+ priority: import("zod").ZodEnum<{
130
+ unprioritized: "unprioritized";
131
+ low: "low";
132
+ medium: "medium";
133
+ high: "high";
134
+ urgent: "urgent";
135
+ }>;
136
+ question: import("zod").ZodOptional<import("zod").ZodString>;
137
+ state: import("zod").ZodLiteral<"report-proposed">;
138
+ summary: import("zod").ZodString;
139
+ actual: import("zod").ZodString;
140
+ expected: import("zod").ZodString;
141
+ steps: import("zod").ZodArray<import("zod").ZodString>;
142
+ findingId: import("zod").ZodString;
143
+ flowIds: import("zod").ZodArray<FlowId>;
144
+ runId: RunId;
145
+ sessionId: ChatSessionId;
146
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
147
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
148
+ headline: import("zod").ZodString;
149
+ state: import("zod").ZodLiteral<"flake">;
150
+ summary: import("zod").ZodString;
151
+ findingId: import("zod").ZodString;
152
+ flowIds: import("zod").ZodArray<FlowId>;
153
+ runId: RunId;
154
+ sessionId: ChatSessionId;
155
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
156
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
157
+ bugAnswer: import("zod").ZodString;
158
+ bugAnswerDescription: import("zod").ZodOptional<import("zod").ZodString>;
159
+ headline: import("zod").ZodString;
160
+ maintenanceAnswer: import("zod").ZodString;
161
+ maintenanceAnswerDescription: import("zod").ZodOptional<import("zod").ZodString>;
162
+ question: import("zod").ZodString;
163
+ state: import("zod").ZodLiteral<"question">;
164
+ summary: import("zod").ZodString;
165
+ findingId: import("zod").ZodString;
166
+ flowIds: import("zod").ZodArray<FlowId>;
167
+ runId: RunId;
168
+ sessionId: ChatSessionId;
169
+ subSessionIds: import("zod").ZodOptional<import("zod").ZodArray<ChatSessionId>>;
170
+ }, import("zod/v4/core").$strip>], "state">;
171
+ readonly kind: "write";
172
+ readonly name: "investigation.recordFinding";
173
+ readonly output: import("zod").ZodObject<{
174
+ finding: import("zod").ZodObject<{
175
+ actual: import("zod").ZodOptional<import("zod").ZodString>;
176
+ commitHash: import("zod").ZodOptional<import("zod").ZodString>;
177
+ decidedBy: import("zod").ZodOptional<import("zod").ZodEnum<{
178
+ user: "user";
179
+ agent: "agent";
180
+ }>>;
181
+ disputeReason: import("zod").ZodOptional<import("zod").ZodString>;
182
+ expected: import("zod").ZodOptional<import("zod").ZodString>;
183
+ findingId: import("zod").ZodString;
184
+ flowIds: import("zod").ZodArray<FlowId>;
185
+ headline: import("zod").ZodOptional<import("zod").ZodString>;
186
+ issueId: import("zod").ZodOptional<IssueId>;
187
+ kind: import("zod").ZodString;
188
+ matchReason: import("zod").ZodOptional<import("zod").ZodString>;
189
+ priority: import("zod").ZodOptional<import("zod").ZodEnum<{
190
+ unprioritized: "unprioritized";
191
+ low: "low";
192
+ medium: "medium";
193
+ high: "high";
194
+ urgent: "urgent";
195
+ }>>;
196
+ question: import("zod").ZodOptional<import("zod").ZodObject<{
197
+ answers: import("zod").ZodArray<import("zod").ZodObject<{
198
+ description: import("zod").ZodOptional<import("zod").ZodString>;
199
+ title: import("zod").ZodString;
200
+ value: import("zod").ZodString;
201
+ }, import("zod/v4/core").$strip>>;
202
+ text: import("zod").ZodString;
203
+ }, import("zod/v4/core").$strip>>;
204
+ response: import("zod").ZodOptional<import("zod").ZodObject<{
205
+ answer: import("zod").ZodOptional<import("zod").ZodString>;
206
+ at: import("zod").ZodISODateTime;
207
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
208
+ type: import("zod").ZodString;
209
+ }, import("zod/v4/core").$strip>>;
210
+ state: import("zod").ZodString;
211
+ steps: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
212
+ subSessionIds: import("zod").ZodArray<ChatSessionId>;
213
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
214
+ updatedAt: import("zod").ZodISODateTime;
215
+ }, import("zod/v4/core").$strip>;
216
+ }, import("zod/v4/core").$strip>;
217
+ };
218
+ };
219
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/investigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,0BAA0B,GACrC,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,cAAc,EAC9B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { makeGetInvestigationContract } from "./get.js";
2
+ import { makeRecordInvestigationFindingContract } from "./recordFinding.js";
3
+ export const makeInvestigationContracts = (ids) => ({
4
+ get: makeGetInvestigationContract(ids),
5
+ recordFinding: makeRecordInvestigationFindingContract(ids),
6
+ });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/investigation/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAKxC,GAMD,EAAE,EAAE,CAAC,CAAC;IACL,GAAG,EAAE,4BAA4B,CAAC,GAAG,CAAC;IACtC,aAAa,EAAE,sCAAsC,CAAC,GAAG,CAAC;CAC3D,CAAC,CAAC"}
@@ -0,0 +1,153 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeRecordInvestigationFindingContract: <ChatSessionId extends PublicIdSchema, FlowId extends PublicIdSchema, IssueId extends PublicIdSchema, RunId extends PublicIdSchema>(ids: {
4
+ [key: string]: unknown;
5
+ chatSession: ChatSessionId;
6
+ flow: FlowId;
7
+ issue: IssueId;
8
+ run: RunId;
9
+ }) => {
10
+ readonly annotations: {
11
+ readonly destructiveHint: true;
12
+ readonly openWorldHint: false;
13
+ readonly readOnlyHint: false;
14
+ };
15
+ readonly description: string;
16
+ readonly input: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ headline: z.ZodOptional<z.ZodString>;
18
+ state: z.ZodLiteral<"investigating">;
19
+ summary: z.ZodOptional<z.ZodString>;
20
+ findingId: z.ZodString;
21
+ flowIds: z.ZodArray<FlowId>;
22
+ runId: RunId;
23
+ sessionId: ChatSessionId;
24
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
25
+ }, z.core.$strip>, z.ZodObject<{
26
+ commitHash: z.ZodString;
27
+ headline: z.ZodString;
28
+ state: z.ZodLiteral<"fixed">;
29
+ summary: z.ZodString;
30
+ findingId: z.ZodString;
31
+ flowIds: z.ZodArray<FlowId>;
32
+ runId: RunId;
33
+ sessionId: ChatSessionId;
34
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
35
+ }, z.core.$strip>, z.ZodObject<{
36
+ commitHash: z.ZodString;
37
+ headline: z.ZodString;
38
+ question: z.ZodOptional<z.ZodString>;
39
+ state: z.ZodLiteral<"fix-proposed">;
40
+ summary: z.ZodString;
41
+ findingId: z.ZodString;
42
+ flowIds: z.ZodArray<FlowId>;
43
+ runId: RunId;
44
+ sessionId: ChatSessionId;
45
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ headline: z.ZodString;
48
+ issueId: IssueId;
49
+ matchReason: z.ZodOptional<z.ZodString>;
50
+ state: z.ZodLiteral<"reported">;
51
+ summary: z.ZodString;
52
+ actual: z.ZodString;
53
+ expected: z.ZodString;
54
+ steps: z.ZodArray<z.ZodString>;
55
+ findingId: z.ZodString;
56
+ flowIds: z.ZodArray<FlowId>;
57
+ runId: RunId;
58
+ sessionId: ChatSessionId;
59
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
60
+ }, z.core.$strip>, z.ZodObject<{
61
+ headline: z.ZodString;
62
+ issueId: z.ZodOptional<IssueId>;
63
+ matchReason: z.ZodOptional<z.ZodString>;
64
+ priority: z.ZodEnum<{
65
+ unprioritized: "unprioritized";
66
+ low: "low";
67
+ medium: "medium";
68
+ high: "high";
69
+ urgent: "urgent";
70
+ }>;
71
+ question: z.ZodOptional<z.ZodString>;
72
+ state: z.ZodLiteral<"report-proposed">;
73
+ summary: z.ZodString;
74
+ actual: z.ZodString;
75
+ expected: z.ZodString;
76
+ steps: z.ZodArray<z.ZodString>;
77
+ findingId: z.ZodString;
78
+ flowIds: z.ZodArray<FlowId>;
79
+ runId: RunId;
80
+ sessionId: ChatSessionId;
81
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ headline: z.ZodString;
84
+ state: z.ZodLiteral<"flake">;
85
+ summary: z.ZodString;
86
+ findingId: z.ZodString;
87
+ flowIds: z.ZodArray<FlowId>;
88
+ runId: RunId;
89
+ sessionId: ChatSessionId;
90
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ bugAnswer: z.ZodString;
93
+ bugAnswerDescription: z.ZodOptional<z.ZodString>;
94
+ headline: z.ZodString;
95
+ maintenanceAnswer: z.ZodString;
96
+ maintenanceAnswerDescription: z.ZodOptional<z.ZodString>;
97
+ question: z.ZodString;
98
+ state: z.ZodLiteral<"question">;
99
+ summary: z.ZodString;
100
+ findingId: z.ZodString;
101
+ flowIds: z.ZodArray<FlowId>;
102
+ runId: RunId;
103
+ sessionId: ChatSessionId;
104
+ subSessionIds: z.ZodOptional<z.ZodArray<ChatSessionId>>;
105
+ }, z.core.$strip>], "state">;
106
+ readonly kind: "write";
107
+ readonly name: "investigation.recordFinding";
108
+ readonly output: z.ZodObject<{
109
+ finding: z.ZodObject<{
110
+ actual: z.ZodOptional<z.ZodString>;
111
+ commitHash: z.ZodOptional<z.ZodString>;
112
+ decidedBy: z.ZodOptional<z.ZodEnum<{
113
+ user: "user";
114
+ agent: "agent";
115
+ }>>;
116
+ disputeReason: z.ZodOptional<z.ZodString>;
117
+ expected: z.ZodOptional<z.ZodString>;
118
+ findingId: z.ZodString;
119
+ flowIds: z.ZodArray<FlowId>;
120
+ headline: z.ZodOptional<z.ZodString>;
121
+ issueId: z.ZodOptional<IssueId>;
122
+ kind: z.ZodString;
123
+ matchReason: z.ZodOptional<z.ZodString>;
124
+ priority: z.ZodOptional<z.ZodEnum<{
125
+ unprioritized: "unprioritized";
126
+ low: "low";
127
+ medium: "medium";
128
+ high: "high";
129
+ urgent: "urgent";
130
+ }>>;
131
+ question: z.ZodOptional<z.ZodObject<{
132
+ answers: z.ZodArray<z.ZodObject<{
133
+ description: z.ZodOptional<z.ZodString>;
134
+ title: z.ZodString;
135
+ value: z.ZodString;
136
+ }, z.core.$strip>>;
137
+ text: z.ZodString;
138
+ }, z.core.$strip>>;
139
+ response: z.ZodOptional<z.ZodObject<{
140
+ answer: z.ZodOptional<z.ZodString>;
141
+ at: z.ZodISODateTime;
142
+ reason: z.ZodOptional<z.ZodString>;
143
+ type: z.ZodString;
144
+ }, z.core.$strip>>;
145
+ state: z.ZodString;
146
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
147
+ subSessionIds: z.ZodArray<ChatSessionId>;
148
+ summary: z.ZodOptional<z.ZodString>;
149
+ updatedAt: z.ZodISODateTime;
150
+ }, z.core.$strip>;
151
+ }, z.core.$strip>;
152
+ };
153
+ //# sourceMappingURL=recordFinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordFinding.d.ts","sourceRoot":"","sources":["../../../src/v1/investigation/recordFinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAehD,eAAO,MAAM,sCAAsC,GACjD,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,cAAc,EAC9B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkIA,CAAC"}