@qawolf/api-contracts 0.54.0 → 0.59.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 (76) hide show
  1. package/dist/v1/agent/get.d.ts +8 -1
  2. package/dist/v1/agent/get.d.ts.map +1 -1
  3. package/dist/v1/agent/get.js +16 -1
  4. package/dist/v1/agent/get.js.map +1 -1
  5. package/dist/v1/agent/send.d.ts +1 -1
  6. package/dist/v1/agent/send.js +1 -1
  7. package/dist/v1/agent/send.js.map +1 -1
  8. package/dist/v1/agent/wait.d.ts +9 -0
  9. package/dist/v1/agent/wait.d.ts.map +1 -0
  10. package/dist/v1/agent/wait.js +6 -0
  11. package/dist/v1/agent/wait.js.map +1 -0
  12. package/dist/v1/codeHostIntegration/find.d.ts +30 -0
  13. package/dist/v1/codeHostIntegration/find.d.ts.map +1 -0
  14. package/dist/v1/codeHostIntegration/find.js +32 -0
  15. package/dist/v1/codeHostIntegration/find.js.map +1 -0
  16. package/dist/v1/codeHostIntegration/index.d.ts +4 -0
  17. package/dist/v1/codeHostIntegration/index.d.ts.map +1 -0
  18. package/dist/v1/codeHostIntegration/index.js +4 -0
  19. package/dist/v1/codeHostIntegration/index.js.map +1 -0
  20. package/dist/v1/codeHostIntegration/listRepositories.d.ts +35 -0
  21. package/dist/v1/codeHostIntegration/listRepositories.d.ts.map +1 -0
  22. package/dist/v1/codeHostIntegration/listRepositories.js +34 -0
  23. package/dist/v1/codeHostIntegration/listRepositories.js.map +1 -0
  24. package/dist/v1/codeHostIntegration/resource.d.ts +19 -0
  25. package/dist/v1/codeHostIntegration/resource.d.ts.map +1 -0
  26. package/dist/v1/codeHostIntegration/resource.js +27 -0
  27. package/dist/v1/codeHostIntegration/resource.js.map +1 -0
  28. package/dist/v1/deployment/find.d.ts +48 -0
  29. package/dist/v1/deployment/find.d.ts.map +1 -0
  30. package/dist/v1/deployment/find.js +30 -0
  31. package/dist/v1/deployment/find.js.map +1 -0
  32. package/dist/v1/deployment/index.d.ts +189 -0
  33. package/dist/v1/deployment/index.d.ts.map +1 -0
  34. package/dist/v1/deployment/index.js +9 -0
  35. package/dist/v1/deployment/index.js.map +1 -0
  36. package/dist/v1/deployment/listTriggerEvaluations.d.ts +96 -0
  37. package/dist/v1/deployment/listTriggerEvaluations.d.ts.map +1 -0
  38. package/dist/v1/deployment/listTriggerEvaluations.js +101 -0
  39. package/dist/v1/deployment/listTriggerEvaluations.js.map +1 -0
  40. package/dist/v1/deployment/resource.d.ts +29 -0
  41. package/dist/v1/deployment/resource.d.ts.map +1 -0
  42. package/dist/v1/deployment/resource.js +44 -0
  43. package/dist/v1/deployment/resource.js.map +1 -0
  44. package/dist/v1/environment/create.d.ts +1 -0
  45. package/dist/v1/environment/create.d.ts.map +1 -1
  46. package/dist/v1/environment/find.d.ts +1 -0
  47. package/dist/v1/environment/find.d.ts.map +1 -1
  48. package/dist/v1/environment/index.d.ts +1 -0
  49. package/dist/v1/environment/index.d.ts.map +1 -1
  50. package/dist/v1/environment/resource.d.ts +1 -0
  51. package/dist/v1/environment/resource.d.ts.map +1 -1
  52. package/dist/v1/environment/resource.js +4 -0
  53. package/dist/v1/environment/resource.js.map +1 -1
  54. package/dist/v1/environment/update.d.ts +1 -0
  55. package/dist/v1/environment/update.d.ts.map +1 -1
  56. package/dist/v1/ids.d.ts +2 -6
  57. package/dist/v1/ids.d.ts.map +1 -1
  58. package/dist/v1/ids.js.map +1 -1
  59. package/dist/v1/index.d.ts +406 -10
  60. package/dist/v1/index.d.ts.map +1 -1
  61. package/dist/v1/index.js +7 -3
  62. package/dist/v1/index.js.map +1 -1
  63. package/dist/v1/runner/identity.js +1 -1
  64. package/dist/v1/runner/identity.js.map +1 -1
  65. package/dist/v1/runner/index.d.ts +1 -1
  66. package/dist/v1/runner/index.js +1 -1
  67. package/dist/v1/runner/index.js.map +1 -1
  68. package/dist/v1/runner/performAction.d.ts +1 -1
  69. package/dist/v1/runner/performAction.d.ts.map +1 -1
  70. package/dist/v1/runner/performAction.js +4 -7
  71. package/dist/v1/runner/performAction.js.map +1 -1
  72. package/dist/v1/sharedSchemas.d.ts +1 -0
  73. package/dist/v1/sharedSchemas.d.ts.map +1 -1
  74. package/dist/v1/sharedSchemas.js +1 -0
  75. package/dist/v1/sharedSchemas.js.map +1 -1
  76. package/package.json +2 -2
@@ -9,10 +9,11 @@ export declare const makeAgentGetContract: <ChatSessionId extends PublicIdSchema
9
9
  readonly openWorldHint: false;
10
10
  readonly readOnlyHint: true;
11
11
  };
12
- readonly description: "Monitor a QA Wolf AI session by reading its status and replies. After agent.send, share the returned session URL before monitoring. Wait 30 to 60 seconds between checks; do not call this in a tight loop. Pass the nextCursor from one response as the cursor on the next check; it then reads only what is new, and only for the session that minted it. Continue monitoring silently when the status is unchanged and no replies come back; do not narrate waiting, announce the next check, or ask whether to keep monitoring. Report only substantive new progress, questions, blockers, or the final outcome. A status of \"waiting-for-you\" means the last reply is a question the work is blocked on, and answering it with agent.send is what unblocks it. Surface an explicit request for user input even if the status still says \"working\". Include the session URL when reporting a blocker or final outcome. On \"completed\", stop status checks and verify the requested result before claiming success. For new flows, validation, publication in the target environment, and readiness are separate checks; a Git push or final reply does not prove the flow is active. If every requested result is verified but status remains \"working\", report the mismatch and stop monitoring. Stop on \"failed\" or \"cancelled\" and report any confirmed partial result.";
12
+ readonly description: "Monitor a QA Wolf AI session by reading its status and replies. After agent.send, share the returned session URL before monitoring. Pass waitSeconds 45 so the server holds the check open and answers the moment something happens. Check again as soon as it returns; never sleep between checks or loop without waitSeconds. Pass the nextCursor from one response as the cursor on the next check; it then reads only what is new, and only for the session that minted it. Continue monitoring silently when the status is unchanged and no replies come back; do not narrate waiting, announce the next check, or ask whether to keep monitoring. Report only substantive new progress, questions, blockers, or the final outcome. A status of \"waiting-for-you\" means the last reply is a question the work is blocked on, and answering it with agent.send is what unblocks it. Surface an explicit request for user input even if the status still says \"working\". Include the session URL when reporting a blocker or final outcome. On \"completed\", stop status checks and verify the requested result before claiming success. For new flows, validation, publication in the target environment, and readiness are separate checks; a Git push or final reply does not prove the flow is active. If every requested result is verified but status remains \"working\", report the mismatch and stop monitoring. Stop on \"failed\" or \"cancelled\" and report any confirmed partial result.";
13
13
  readonly input: z.ZodObject<{
14
14
  cursor: z.ZodOptional<z.ZodString>;
15
15
  sessionId: ChatSessionId;
16
+ waitSeconds: z.ZodOptional<z.ZodNumber>;
16
17
  }, z.core.$strip>;
17
18
  readonly kind: "read";
18
19
  readonly name: "agent.get";
@@ -31,6 +32,12 @@ export declare const makeAgentGetContract: <ChatSessionId extends PublicIdSchema
31
32
  failed: "failed";
32
33
  cancelled: "cancelled";
33
34
  }>;
35
+ waitSeconds: z.ZodOptional<z.ZodNumber>;
36
+ wokeOn: z.ZodOptional<z.ZodEnum<{
37
+ reply: "reply";
38
+ status: "status";
39
+ timeout: "timeout";
40
+ }>>;
34
41
  url: z.ZodURL;
35
42
  }, z.core.$strip>;
36
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/agent/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,oBAAoB,GAC/B,aAAa,SAAS,cAAc,EACpC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDA,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/v1/agent/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,eAAO,MAAM,oBAAoB,GAC/B,aAAa,SAAS,cAAc,EACpC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEA,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { resource } from "../resource.js";
3
3
  import { agentReplySchema, agentSessionStatusSchema } from "./status.js";
4
+ import { agentWakeReasonSchema, maxAgentWaitSeconds } from "./wait.js";
4
5
  export const makeAgentGetContract = (ids) => {
5
6
  const input = z.object({
6
7
  cursor: z
@@ -9,6 +10,12 @@ export const makeAgentGetContract = (ids) => {
9
10
  .optional()
10
11
  .describe("Opaque cursor copied from this same session's previous nextCursor. Omit to read from its first reply."),
11
12
  sessionId: ids.chatSession.describe("The id agent.send answered with."),
13
+ waitSeconds: z
14
+ .number()
15
+ .int()
16
+ .min(0)
17
+ .optional()
18
+ .describe(`How long the server may hold this check open, in seconds. Omit or pass 0 to answer at once. A larger value clamps to ${maxAgentWaitSeconds}. Check again as soon as a held check returns.`),
12
19
  });
13
20
  const output = resource({
14
21
  nextCursor: z
@@ -20,6 +27,14 @@ export const makeAgentGetContract = (ids) => {
20
27
  .describe("What the AI has said since the cursor, oldest first. A reply still being written returns again, longer. A reply carrying choices is a question the work is blocked on."),
21
28
  sessionId: ids.chatSession,
22
29
  status: agentSessionStatusSchema,
30
+ waitSeconds: z
31
+ .number()
32
+ .int()
33
+ .optional()
34
+ .describe("The hold this check was allowed, in seconds, after clamping. Absent when the check did not wait."),
35
+ wokeOn: agentWakeReasonSchema
36
+ .optional()
37
+ .describe('Why this check answered when it did. Absent when the check did not wait. "timeout" means nothing new: replies is empty and nextCursor unchanged, so check again with the same cursor.'),
23
38
  }, {
24
39
  urlFieldDescription: "Absolute URL of the live session in the QA Wolf app.",
25
40
  });
@@ -29,7 +44,7 @@ export const makeAgentGetContract = (ids) => {
29
44
  openWorldHint: false,
30
45
  readOnlyHint: true,
31
46
  },
32
- description: 'Monitor a QA Wolf AI session by reading its status and replies. After agent.send, share the returned session URL before monitoring. Wait 30 to 60 seconds between checks; do not call this in a tight loop. Pass the nextCursor from one response as the cursor on the next check; it then reads only what is new, and only for the session that minted it. Continue monitoring silently when the status is unchanged and no replies come back; do not narrate waiting, announce the next check, or ask whether to keep monitoring. Report only substantive new progress, questions, blockers, or the final outcome. A status of "waiting-for-you" means the last reply is a question the work is blocked on, and answering it with agent.send is what unblocks it. Surface an explicit request for user input even if the status still says "working". Include the session URL when reporting a blocker or final outcome. On "completed", stop status checks and verify the requested result before claiming success. For new flows, validation, publication in the target environment, and readiness are separate checks; a Git push or final reply does not prove the flow is active. If every requested result is verified but status remains "working", report the mismatch and stop monitoring. Stop on "failed" or "cancelled" and report any confirmed partial result.',
47
+ description: 'Monitor a QA Wolf AI session by reading its status and replies. After agent.send, share the returned session URL before monitoring. Pass waitSeconds 45 so the server holds the check open and answers the moment something happens. Check again as soon as it returns; never sleep between checks or loop without waitSeconds. Pass the nextCursor from one response as the cursor on the next check; it then reads only what is new, and only for the session that minted it. Continue monitoring silently when the status is unchanged and no replies come back; do not narrate waiting, announce the next check, or ask whether to keep monitoring. Report only substantive new progress, questions, blockers, or the final outcome. A status of "waiting-for-you" means the last reply is a question the work is blocked on, and answering it with agent.send is what unblocks it. Surface an explicit request for user input even if the status still says "working". Include the session URL when reporting a blocker or final outcome. On "completed", stop status checks and verify the requested result before claiming success. For new flows, validation, publication in the target environment, and readiness are separate checks; a Git push or final reply does not prove the flow is active. If every requested result is verified but status remains "working", report the mismatch and stop monitoring. Stop on "failed" or "cancelled" and report any confirmed partial result.',
33
48
  input,
34
49
  kind: "read",
35
50
  name: "agent.get",
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/v1/agent/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAGlC,GAGD,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,uGAAuG,CACxG;QACH,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACxE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,uIAAuI,CACxI;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,gBAAgB,CAAC;aACvB,QAAQ,CACP,wKAAwK,CACzK;QACH,SAAS,EAAE,GAAG,CAAC,WAAW;QAC1B,MAAM,EAAE,wBAAwB;KACjC,EACD;QACE,mBAAmB,EACjB,sDAAsD;KACzD,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,gzCAAgzC;QAClzC,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/v1/agent/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAGlC,GAGD,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,uGAAuG,CACxG;QACH,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,wHAAwH,mBAAmB,gDAAgD,CAC5L;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,uIAAuI,CACxI;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,gBAAgB,CAAC;aACvB,QAAQ,CACP,wKAAwK,CACzK;QACH,SAAS,EAAE,GAAG,CAAC,WAAW;QAC1B,MAAM,EAAE,wBAAwB;QAChC,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CACP,kGAAkG,CACnG;QACH,MAAM,EAAE,qBAAqB;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,uLAAuL,CACxL;KACJ,EACD;QACE,mBAAmB,EACjB,sDAAsD;KACzD,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,o6CAAo6C;QACt6C,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -10,7 +10,7 @@ export declare const makeAgentSendContract: <ChatSessionId extends PublicIdSchem
10
10
  readonly openWorldHint: true;
11
11
  readonly readOnlyHint: false;
12
12
  };
13
- readonly description: "Start or continue work with the QA Wolf AI and return a live session URL to share with the user. Use it to cover a user journey, investigate a failing run, or fix a broken flow. This is the one verb that starts work from nothing: every other write acts on a flow, run or issue that already exists. Returns sessionId, status, and url as soon as the request is accepted; work can take minutes to tens of minutes. After each send, make the next action a normal user-visible assistant message containing the exact returned url, before any tool call or wait. Tool output and internal reasoning do not count as sharing the link. Do not run a timer or monitoring call alongside this send. Acceptance does not mean the work is complete. Then monitor the session with agent.get, reporting new progress, blockers, and the final outcome rather than unchanged status. Send here again to answer a question or add context to the same session.";
13
+ readonly description: "Start or continue work with the QA Wolf AI and return a live session URL to share with the user. Use it to cover a user journey, investigate a failing run, or fix a broken flow. This is the one verb that starts work from nothing: every other write acts on a flow, run or issue that already exists. Returns sessionId, status, and url as soon as the request is accepted; work can take minutes to tens of minutes. After each send, put the exact returned url in a normal user-visible assistant message, and repeat it in the last message of the turn: only a turn's trailing message is shown expanded. Tool output and internal reasoning do not count as sharing the link. Do not run a timer or monitoring call alongside this send. Acceptance does not mean the work is complete. Then monitor the session with agent.get, reporting new progress, blockers, and the final outcome rather than unchanged status. Send here again to answer a question or add context to the same session.";
14
14
  readonly input: z.ZodObject<{
15
15
  environmentId: z.ZodOptional<PublicIdSchema>;
16
16
  filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -37,7 +37,7 @@ export const makeAgentSendContract = (ids) => {
37
37
  openWorldHint: true,
38
38
  readOnlyHint: false,
39
39
  },
40
- description: "Start or continue work with the QA Wolf AI and return a live session URL to share with the user. Use it to cover a user journey, investigate a failing run, or fix a broken flow. This is the one verb that starts work from nothing: every other write acts on a flow, run or issue that already exists. Returns sessionId, status, and url as soon as the request is accepted; work can take minutes to tens of minutes. After each send, make the next action a normal user-visible assistant message containing the exact returned url, before any tool call or wait. Tool output and internal reasoning do not count as sharing the link. Do not run a timer or monitoring call alongside this send. Acceptance does not mean the work is complete. Then monitor the session with agent.get, reporting new progress, blockers, and the final outcome rather than unchanged status. Send here again to answer a question or add context to the same session.",
40
+ description: "Start or continue work with the QA Wolf AI and return a live session URL to share with the user. Use it to cover a user journey, investigate a failing run, or fix a broken flow. This is the one verb that starts work from nothing: every other write acts on a flow, run or issue that already exists. Returns sessionId, status, and url as soon as the request is accepted; work can take minutes to tens of minutes. After each send, put the exact returned url in a normal user-visible assistant message, and repeat it in the last message of the turn: only a turn's trailing message is shown expanded. Tool output and internal reasoning do not count as sharing the link. Do not run a timer or monitoring call alongside this send. Acceptance does not mean the work is complete. Then monitor the session with agent.get, reporting new progress, blockers, and the final outcome rather than unchanged status. Send here again to answer a question or add context to the same session.",
41
41
  input,
42
42
  kind: "write",
43
43
  name: "agent.send",
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/v1/agent/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAGnC,GAID,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,gKAAgK,CACjK;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,qBAAqB,CAAC;aAC5B,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,iLAAiL,CAClL;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,CACP,iSAAiS,CAClS;QACH,SAAS,EAAE,GAAG,CAAC,WAAW;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,gKAAgK,CACjK;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,8FAA8F,CAC/F;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CACjC,+CAA+C,CAChD;QACD,MAAM,EAAE,wBAAwB;KACjC,EACD;QACE,mBAAmB,EACjB,sDAAsD;KACzD,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,k6BAAk6B;QACp6B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/v1/agent/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAGnC,GAID,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,aAAa,EAAE,GAAG,CAAC,cAAc;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,gKAAgK,CACjK;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,qBAAqB,CAAC;aAC5B,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,iLAAiL,CAClL;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,CACP,iSAAiS,CAClS;QACH,SAAS,EAAE,GAAG,CAAC,WAAW;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,gKAAgK,CACjK;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,8FAA8F,CAC/F;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CACjC,+CAA+C,CAChD;QACD,MAAM,EAAE,wBAAwB;KACjC,EACD;QACE,mBAAmB,EACjB,sDAAsD;KACzD,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;QACD,WAAW,EACT,48BAA48B;QAC98B,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export declare const maxAgentWaitSeconds = 45;
3
+ export declare const agentWakeReasonSchema: z.ZodEnum<{
4
+ reply: "reply";
5
+ status: "status";
6
+ timeout: "timeout";
7
+ }>;
8
+ export type AgentWakeReason = z.infer<typeof agentWakeReasonSchema>;
9
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/v1/agent/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,eAAO,MAAM,qBAAqB;;;;EAI/B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { z } from "zod";
2
+ export const maxAgentWaitSeconds = 45;
3
+ export const agentWakeReasonSchema = z
4
+ .enum(["reply", "status", "timeout"])
5
+ .describe('Why a held check answered. "reply" means the AI said something new, "status" means the session settled or needs you, "timeout" means the hold ran out with nothing new.');
6
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/v1/agent/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;KACpC,QAAQ,CACP,yKAAyK,CAC1K,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeFindCodeHostIntegrationsContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
+ workspace: WorkspaceId;
5
+ }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: false;
8
+ readonly openWorldHint: false;
9
+ readonly readOnlyHint: true;
10
+ };
11
+ readonly description: "List the workspace's code host integrations (GitHub or GitLab). A connected integration lets QA Wolf read repositories and receive the code host's webhooks. codeHostIntegration.listRepositories pages the repositories each integration covers.";
12
+ readonly input: z.ZodObject<{
13
+ workspaceId: z.ZodOptional<WorkspaceId>;
14
+ }, z.core.$strip>;
15
+ readonly kind: "read";
16
+ readonly name: "codeHostIntegration.find";
17
+ readonly output: z.ZodObject<{
18
+ integrations: z.ZodArray<z.ZodObject<{
19
+ connectedAt: z.ZodISODateTime;
20
+ provider: z.ZodEnum<{
21
+ github: "github";
22
+ gitlab: "gitlab";
23
+ }>;
24
+ suspendedAt: z.ZodOptional<z.ZodISODateTime>;
25
+ url: z.ZodURL;
26
+ }, z.core.$strip>>;
27
+ settingsUrl: z.ZodURL;
28
+ }, z.core.$strip>;
29
+ };
30
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,oCAAoC,GAC/C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;CAuCA,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { makeCodeHostIntegrationResourceSchema } from "./resource.js";
3
+ export const makeFindCodeHostIntegrationsContract = (ids) => {
4
+ const input = z.object({
5
+ workspaceId: ids.workspace
6
+ .optional()
7
+ .describe("The workspace to list code host integrations from. Required when authenticating with an organization or user API key."),
8
+ });
9
+ const output = z.object({
10
+ // Every integration, with no page: a workspace connects at most one
11
+ // integration per code host, so the list never grows past a few entries.
12
+ integrations: z
13
+ .array(makeCodeHostIntegrationResourceSchema())
14
+ .describe("The workspace's code host integrations. Empty when no code host is connected."),
15
+ settingsUrl: z
16
+ .url()
17
+ .describe("Absolute URL of the workspace's integrations settings page."),
18
+ });
19
+ return {
20
+ annotations: {
21
+ destructiveHint: false,
22
+ openWorldHint: false,
23
+ readOnlyHint: true,
24
+ },
25
+ description: "List the workspace's code host integrations (GitHub or GitLab). A connected integration lets QA Wolf read repositories and receive the code host's webhooks. codeHostIntegration.listRepositories pages the repositories each integration covers.",
26
+ input,
27
+ kind: "read",
28
+ name: "codeHostIntegration.find",
29
+ output,
30
+ };
31
+ };
32
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAElD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,uHAAuH,CACxH;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,oEAAoE;QACpE,yEAAyE;QACzE,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,qCAAqC,EAAE,CAAC;aAC9C,QAAQ,CACP,+EAA+E,CAChF;QACH,WAAW,EAAE,CAAC;aACX,GAAG,EAAE;aACL,QAAQ,CAAC,6DAA6D,CAAC;KAC3E,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,mPAAmP;QACrP,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,0BAA0B;QAChC,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { makeFindCodeHostIntegrationsContract } from "./find.js";
2
+ export { makeListCodeHostRepositoriesContract } from "./listRepositories.js";
3
+ export { makeCodeHostIntegrationResourceSchema, makeCodeHostRepositoryResourceSchema, } from "./resource.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { makeFindCodeHostIntegrationsContract } from "./find.js";
2
+ export { makeListCodeHostRepositoriesContract } from "./listRepositories.js";
3
+ export { makeCodeHostIntegrationResourceSchema, makeCodeHostRepositoryResourceSchema, } from "./resource.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,eAAe,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeListCodeHostRepositoriesContract: <WorkspaceId extends PublicIdSchema>(ids: {
4
+ workspace: WorkspaceId;
5
+ }) => {
6
+ readonly annotations: {
7
+ readonly destructiveHint: false;
8
+ readonly openWorldHint: false;
9
+ readonly readOnlyHint: true;
10
+ };
11
+ readonly description: "List the repositories the workspace's code host integrations cover, alphabetical by full name. The list reflects the last sync from the code host; codeHostIntegration.find lists the integrations themselves.";
12
+ readonly input: z.ZodObject<{
13
+ cursor: z.ZodOptional<z.ZodString>;
14
+ limit: z.ZodDefault<z.ZodNumber>;
15
+ provider: z.ZodOptional<z.ZodEnum<{
16
+ github: "github";
17
+ gitlab: "gitlab";
18
+ }>>;
19
+ workspaceId: z.ZodOptional<WorkspaceId>;
20
+ }, z.core.$strip>;
21
+ readonly kind: "read";
22
+ readonly name: "codeHostIntegration.listRepositories";
23
+ readonly output: z.ZodObject<{
24
+ nextCursor: z.ZodOptional<z.ZodString>;
25
+ repositories: z.ZodArray<z.ZodObject<{
26
+ fullName: z.ZodString;
27
+ provider: z.ZodEnum<{
28
+ github: "github";
29
+ gitlab: "gitlab";
30
+ }>;
31
+ url: z.ZodURL;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>;
34
+ };
35
+ //# sourceMappingURL=listRepositories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listRepositories.d.ts","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/listRepositories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,oCAAoC,GAC/C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CA,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { makePaginationInputFields, nextCursorSchema } from "../pagination.js";
3
+ import { makeCodeHostRepositoryResourceSchema } from "./resource.js";
4
+ export const makeListCodeHostRepositoriesContract = (ids) => {
5
+ const input = z.object({
6
+ provider: z
7
+ .enum(["github", "gitlab"])
8
+ .optional()
9
+ .describe("Only list repositories covered by this code host's integration. Omit for all."),
10
+ workspaceId: ids.workspace
11
+ .optional()
12
+ .describe("The workspace to list covered repositories from. Required when authenticating with an organization or user API key."),
13
+ ...makePaginationInputFields({ defaultLimit: 20, maxLimit: 100 }),
14
+ });
15
+ const output = z.object({
16
+ nextCursor: nextCursorSchema,
17
+ repositories: z
18
+ .array(makeCodeHostRepositoryResourceSchema())
19
+ .describe("The repositories the workspace's code host integrations cover, alphabetical by full name."),
20
+ });
21
+ return {
22
+ annotations: {
23
+ destructiveHint: false,
24
+ openWorldHint: false,
25
+ readOnlyHint: true,
26
+ },
27
+ description: "List the repositories the workspace's code host integrations cover, alphabetical by full name. The list reflects the last sync from the code host; codeHostIntegration.find lists the integrations themselves.",
28
+ input,
29
+ kind: "read",
30
+ name: "codeHostIntegration.listRepositories",
31
+ output,
32
+ };
33
+ };
34
+ //# sourceMappingURL=listRepositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listRepositories.js","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/listRepositories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAElD,GAED,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,+EAA+E,CAChF;QACH,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;QACH,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,oCAAoC,EAAE,CAAC;aAC7C,QAAQ,CACP,2FAA2F,CAC5F;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,gNAAgN;QAClN,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,sCAAsC;QAC5C,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const makeCodeHostIntegrationResourceSchema: () => z.ZodObject<{
3
+ connectedAt: z.ZodISODateTime;
4
+ provider: z.ZodEnum<{
5
+ github: "github";
6
+ gitlab: "gitlab";
7
+ }>;
8
+ suspendedAt: z.ZodOptional<z.ZodISODateTime>;
9
+ url: z.ZodURL;
10
+ }, z.core.$strip>;
11
+ export declare const makeCodeHostRepositoryResourceSchema: () => z.ZodObject<{
12
+ fullName: z.ZodString;
13
+ provider: z.ZodEnum<{
14
+ github: "github";
15
+ gitlab: "gitlab";
16
+ }>;
17
+ url: z.ZodURL;
18
+ }, z.core.$strip>;
19
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qCAAqC;;;;;;;;iBAoB/C,CAAC;AAEJ,eAAO,MAAM,oCAAoC;;;;;;;iBAgB9C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { resource } from "../resource.js";
3
+ export const makeCodeHostIntegrationResourceSchema = () => resource({
4
+ connectedAt: z.iso
5
+ .datetime()
6
+ .describe("When the code host was connected to the workspace."),
7
+ provider: z
8
+ .enum(["github", "gitlab"])
9
+ .describe("The code host this integration connects."),
10
+ suspendedAt: z.iso
11
+ .datetime()
12
+ .optional()
13
+ .describe("Set while GitHub has the QA Wolf app installation suspended. While suspended, GitHub sends QA Wolf no webhooks."),
14
+ }, {
15
+ urlFieldDescription: "Absolute URL of the workspace's integrations settings page.",
16
+ });
17
+ export const makeCodeHostRepositoryResourceSchema = () => resource({
18
+ fullName: z
19
+ .string()
20
+ .describe('The repository\'s full name on the code host, such as "acme/storefront".'),
21
+ provider: z
22
+ .enum(["github", "gitlab"])
23
+ .describe("The code host the covering integration connects."),
24
+ }, {
25
+ urlFieldDescription: "Absolute URL of the workspace's integrations settings page.",
26
+ });
27
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/v1/codeHostIntegration/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,EAAE,CACxD,QAAQ,CACN;IACE,WAAW,EAAE,CAAC,CAAC,GAAG;SACf,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1B,QAAQ,CAAC,0CAA0C,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,GAAG;SACf,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,EACD;IACE,mBAAmB,EACjB,6DAA6D;CAChE,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,EAAE,CACvD,QAAQ,CACN;IACE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,0EAA0E,CAC3E;IACH,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1B,QAAQ,CAAC,kDAAkD,CAAC;CAChE,EACD;IACE,mBAAmB,EACjB,6DAA6D;CAChE,CACF,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeFindDeploymentsContract: <DeploymentId extends PublicIdSchema, EnvironmentId extends PublicIdSchema, WorkspaceId extends PublicIdSchema>(ids: {
4
+ deployment: DeploymentId;
5
+ environment: EnvironmentId;
6
+ workspace: WorkspaceId;
7
+ }) => {
8
+ readonly annotations: {
9
+ readonly destructiveHint: false;
10
+ readonly openWorldHint: false;
11
+ readonly readOnlyHint: true;
12
+ };
13
+ readonly description: "List the deployments QA Wolf has received for the workspace, newest first. A deployment arrives through a code host integration's webhook or through deployment.reportStatus, and is what a deployment trigger evaluates against. deployment.listTriggerEvaluations reports each trigger's verdict for one deployment.";
14
+ readonly input: z.ZodObject<{
15
+ cursor: z.ZodOptional<z.ZodString>;
16
+ limit: z.ZodDefault<z.ZodNumber>;
17
+ workspaceId: z.ZodOptional<WorkspaceId>;
18
+ }, z.core.$strip>;
19
+ readonly kind: "read";
20
+ readonly name: "deployment.find";
21
+ readonly output: z.ZodObject<{
22
+ deployments: z.ZodArray<z.ZodObject<{
23
+ branch: z.ZodOptional<z.ZodString>;
24
+ commitAuthorName: z.ZodOptional<z.ZodString>;
25
+ commitMessage: z.ZodOptional<z.ZodString>;
26
+ commitSha: z.ZodOptional<z.ZodString>;
27
+ deployedAt: z.ZodISODateTime;
28
+ deployTarget: z.ZodOptional<z.ZodString>;
29
+ environmentId: EnvironmentId;
30
+ environmentName: z.ZodOptional<z.ZodString>;
31
+ id: DeploymentId;
32
+ provider: z.ZodOptional<z.ZodEnum<{
33
+ github: "github";
34
+ gitlab: "gitlab";
35
+ api: "api";
36
+ }>>;
37
+ status: z.ZodOptional<z.ZodEnum<{
38
+ success: "success";
39
+ pending: "pending";
40
+ failure: "failure";
41
+ inactive: "inactive";
42
+ }>>;
43
+ url: z.ZodURL;
44
+ }, z.core.$strip>>;
45
+ nextCursor: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>;
47
+ };
48
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/v1/deployment/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,2BAA2B,GACtC,YAAY,SAAS,cAAc,EACnC,aAAa,SAAS,cAAc,EACpC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCA,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import { makePaginationInputFields, nextCursorSchema } from "../pagination.js";
3
+ import { makeDeploymentResourceSchema } from "./resource.js";
4
+ export const makeFindDeploymentsContract = (ids) => {
5
+ const input = z.object({
6
+ workspaceId: ids.workspace
7
+ .optional()
8
+ .describe("The workspace to list deployments from. Required when authenticating with an organization or user API key."),
9
+ ...makePaginationInputFields({ defaultLimit: 20, maxLimit: 100 }),
10
+ });
11
+ const output = z.object({
12
+ deployments: z
13
+ .array(makeDeploymentResourceSchema(ids))
14
+ .describe("The workspace's deployments, newest first."),
15
+ nextCursor: nextCursorSchema,
16
+ });
17
+ return {
18
+ annotations: {
19
+ destructiveHint: false,
20
+ openWorldHint: false,
21
+ readOnlyHint: true,
22
+ },
23
+ description: "List the deployments QA Wolf has received for the workspace, newest first. A deployment arrives through a code host integration's webhook or through deployment.reportStatus, and is what a deployment trigger evaluates against. deployment.listTriggerEvaluations reports each trigger's verdict for one deployment.",
24
+ input,
25
+ kind: "read",
26
+ name: "deployment.find",
27
+ output,
28
+ };
29
+ };
30
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/v1/deployment/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAIzC,GAID,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,GAAG,CAAC,SAAS;aACvB,QAAQ,EAAE;aACV,QAAQ,CACP,4GAA4G,CAC7G;QACH,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,CAAC;aACX,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;aACxC,QAAQ,CAAC,4CAA4C,CAAC;QACzD,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;SACnB;QACD,WAAW,EACT,wTAAwT;QAC1T,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}