@qawolf/api-contracts 0.58.0 → 0.63.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 (130) 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 -0
  6. package/dist/v1/agent/send.d.ts.map +1 -1
  7. package/dist/v1/agent/send.js +4 -0
  8. package/dist/v1/agent/send.js.map +1 -1
  9. package/dist/v1/agent/wait.d.ts +9 -0
  10. package/dist/v1/agent/wait.d.ts.map +1 -0
  11. package/dist/v1/agent/wait.js +6 -0
  12. package/dist/v1/agent/wait.js.map +1 -0
  13. package/dist/v1/deployment/find.d.ts +48 -0
  14. package/dist/v1/deployment/find.d.ts.map +1 -0
  15. package/dist/v1/deployment/find.js +30 -0
  16. package/dist/v1/deployment/find.js.map +1 -0
  17. package/dist/v1/deployment/index.d.ts +189 -0
  18. package/dist/v1/deployment/index.d.ts.map +1 -0
  19. package/dist/v1/deployment/index.js +9 -0
  20. package/dist/v1/deployment/index.js.map +1 -0
  21. package/dist/v1/deployment/listTriggerEvaluations.d.ts +96 -0
  22. package/dist/v1/deployment/listTriggerEvaluations.d.ts.map +1 -0
  23. package/dist/v1/deployment/listTriggerEvaluations.js +101 -0
  24. package/dist/v1/deployment/listTriggerEvaluations.js.map +1 -0
  25. package/dist/v1/deployment/resource.d.ts +29 -0
  26. package/dist/v1/deployment/resource.d.ts.map +1 -0
  27. package/dist/v1/deployment/resource.js +44 -0
  28. package/dist/v1/deployment/resource.js.map +1 -0
  29. package/dist/v1/environment/create.d.ts +1 -1
  30. package/dist/v1/environment/create.d.ts.map +1 -1
  31. package/dist/v1/environment/create.js.map +1 -1
  32. package/dist/v1/environment/deleteVariable.d.ts +1 -1
  33. package/dist/v1/environment/deleteVariable.d.ts.map +1 -1
  34. package/dist/v1/environment/deleteVariable.js.map +1 -1
  35. package/dist/v1/environment/getVariable.d.ts +1 -1
  36. package/dist/v1/environment/getVariable.d.ts.map +1 -1
  37. package/dist/v1/environment/getVariable.js.map +1 -1
  38. package/dist/v1/environment/index.d.ts +3 -3
  39. package/dist/v1/environment/index.d.ts.map +1 -1
  40. package/dist/v1/environment/index.js.map +1 -1
  41. package/dist/v1/environment/update.d.ts +1 -1
  42. package/dist/v1/environment/update.d.ts.map +1 -1
  43. package/dist/v1/environment/update.js.map +1 -1
  44. package/dist/v1/flow/addTag.d.ts.map +1 -1
  45. package/dist/v1/flow/addTag.js +0 -1
  46. package/dist/v1/flow/addTag.js.map +1 -1
  47. package/dist/v1/ids.d.ts +5 -8
  48. package/dist/v1/ids.d.ts.map +1 -1
  49. package/dist/v1/ids.js +4 -1
  50. package/dist/v1/ids.js.map +1 -1
  51. package/dist/v1/index.d.ts +994 -46
  52. package/dist/v1/index.d.ts.map +1 -1
  53. package/dist/v1/index.js +11 -53
  54. package/dist/v1/index.js.map +1 -1
  55. package/dist/v1/legacyTrigger/find.d.ts +89 -0
  56. package/dist/v1/legacyTrigger/find.d.ts.map +1 -0
  57. package/dist/v1/legacyTrigger/find.js +35 -0
  58. package/dist/v1/legacyTrigger/find.js.map +1 -0
  59. package/dist/v1/legacyTrigger/index.d.ts +129 -0
  60. package/dist/v1/legacyTrigger/index.d.ts.map +1 -0
  61. package/dist/v1/legacyTrigger/index.js +13 -0
  62. package/dist/v1/legacyTrigger/index.js.map +1 -0
  63. package/dist/v1/legacyTrigger/lifecycle.d.ts +41 -0
  64. package/dist/v1/legacyTrigger/lifecycle.d.ts.map +1 -0
  65. package/dist/v1/legacyTrigger/lifecycle.js +46 -0
  66. package/dist/v1/legacyTrigger/lifecycle.js.map +1 -0
  67. package/dist/v1/legacyTrigger/resource.d.ts +68 -0
  68. package/dist/v1/legacyTrigger/resource.d.ts.map +1 -0
  69. package/dist/v1/legacyTrigger/resource.js +66 -0
  70. package/dist/v1/legacyTrigger/resource.js.map +1 -0
  71. package/dist/v1/mcpToolDescription.d.ts.map +1 -1
  72. package/dist/v1/mcpToolDescription.js +2 -1
  73. package/dist/v1/mcpToolDescription.js.map +1 -1
  74. package/dist/v1/runner/actionSequence.d.ts +12 -0
  75. package/dist/v1/runner/actionSequence.d.ts.map +1 -0
  76. package/dist/v1/runner/actionSequence.js +11 -0
  77. package/dist/v1/runner/actionSequence.js.map +1 -0
  78. package/dist/v1/runner/catalog.d.ts +807 -0
  79. package/dist/v1/runner/catalog.d.ts.map +1 -0
  80. package/dist/v1/runner/catalog.js +34 -0
  81. package/dist/v1/runner/catalog.js.map +1 -0
  82. package/dist/v1/runner/performActions.d.ts +124 -0
  83. package/dist/v1/runner/performActions.d.ts.map +1 -0
  84. package/dist/v1/runner/performActions.js +83 -0
  85. package/dist/v1/runner/performActions.js.map +1 -0
  86. package/dist/v1/runner/performActionsSteps.d.ts +85 -0
  87. package/dist/v1/runner/performActionsSteps.d.ts.map +1 -0
  88. package/dist/v1/runner/performActionsSteps.js +80 -0
  89. package/dist/v1/runner/performActionsSteps.js.map +1 -0
  90. package/dist/v1/runnerReexports.d.ts +2 -0
  91. package/dist/v1/runnerReexports.d.ts.map +1 -1
  92. package/dist/v1/runnerReexports.js +2 -0
  93. package/dist/v1/runnerReexports.js.map +1 -1
  94. package/dist/v1/sharedSchemas.d.ts +1 -0
  95. package/dist/v1/sharedSchemas.d.ts.map +1 -1
  96. package/dist/v1/sharedSchemas.js +1 -0
  97. package/dist/v1/sharedSchemas.js.map +1 -1
  98. package/dist/v1/skill/index.d.ts +82 -0
  99. package/dist/v1/skill/index.d.ts.map +1 -0
  100. package/dist/v1/skill/index.js +63 -0
  101. package/dist/v1/skill/index.js.map +1 -0
  102. package/dist/v1/trigger/configuration.d.ts +20 -0
  103. package/dist/v1/trigger/configuration.d.ts.map +1 -1
  104. package/dist/v1/trigger/configuration.js +17 -3
  105. package/dist/v1/trigger/configuration.js.map +1 -1
  106. package/dist/v1/trigger/configurationRules.d.ts +2 -1
  107. package/dist/v1/trigger/configurationRules.d.ts.map +1 -1
  108. package/dist/v1/trigger/configurationRules.js +37 -21
  109. package/dist/v1/trigger/configurationRules.js.map +1 -1
  110. package/dist/v1/trigger/create.d.ts +20 -0
  111. package/dist/v1/trigger/create.d.ts.map +1 -1
  112. package/dist/v1/trigger/find.d.ts +10 -0
  113. package/dist/v1/trigger/find.d.ts.map +1 -1
  114. package/dist/v1/trigger/get.d.ts +10 -0
  115. package/dist/v1/trigger/get.d.ts.map +1 -1
  116. package/dist/v1/trigger/index.d.ts +578 -0
  117. package/dist/v1/trigger/index.d.ts.map +1 -1
  118. package/dist/v1/trigger/index.js +14 -0
  119. package/dist/v1/trigger/index.js.map +1 -1
  120. package/dist/v1/trigger/lifecycle.d.ts +20 -0
  121. package/dist/v1/trigger/lifecycle.d.ts.map +1 -1
  122. package/dist/v1/trigger/resource.d.ts +10 -0
  123. package/dist/v1/trigger/resource.d.ts.map +1 -1
  124. package/dist/v1/trigger/update.d.ts +20 -0
  125. package/dist/v1/trigger/update.d.ts.map +1 -1
  126. package/package.json +1 -1
  127. package/dist/v1/automate/index.d.ts +0 -24
  128. package/dist/v1/automate/index.d.ts.map +0 -1
  129. package/dist/v1/automate/index.js +0 -39
  130. package/dist/v1/automate/index.js.map +0 -1
@@ -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"}
@@ -15,6 +15,7 @@ export declare const makeAgentSendContract: <ChatSessionId extends PublicIdSchem
15
15
  environmentId: z.ZodOptional<PublicIdSchema>;
16
16
  filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
17
  message: z.ZodString;
18
+ runnerId: z.ZodOptional<z.ZodString>;
18
19
  sessionId: z.ZodOptional<ChatSessionId>;
19
20
  workspaceId: z.ZodOptional<WorkspaceId>;
20
21
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/v1/agent/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,qBAAqB,GAChC,aAAa,SAAS,cAAc,EACpC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEA,CAAC"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/v1/agent/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,eAAO,MAAM,qBAAqB,GAChC,aAAa,SAAS,cAAc,EACpC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEA,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { teamStoragePathSchema } from "../file/path.js";
3
3
  import { resource } from "../resource.js";
4
+ import { runnerIdSchema } from "../runner/identity.js";
4
5
  import { agentSessionStatusSchema } from "./status.js";
5
6
  export const makeAgentSendContract = (ids) => {
6
7
  const input = z.object({
@@ -18,6 +19,9 @@ export const makeAgentSendContract = (ids) => {
18
19
  .min(1)
19
20
  .max(10_000)
20
21
  .describe("What you want QA Wolf to do, in plain language. Name the journey, the part of the app it covers, and anything the AI cannot discover for itself, such as a test account, a feature flag, or how to reach a staging environment. When answering a question from agent.get, send the answer here."),
22
+ runnerId: runnerIdSchema
23
+ .optional()
24
+ .describe("The runner you explored on, from runner.launch. Pass it to hand that browser to QA Wolf instead of having a fresh one started, so the pages you opened and any sign-in the user completed there are carried over. Leave the runner running: QA Wolf takes it over and terminates it when the work is done. Omit this when you have no runner, or when you already terminated it."),
21
25
  sessionId: ids.chatSession
22
26
  .optional()
23
27
  .describe("Continue the session with this id instead of opening a new one. Omit to start fresh. Send this to answer a question or to add context to work already running."),
@@ -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,48BAA48B;QAC98B,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;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,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,QAAQ,EAAE,cAAc;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,kXAAkX,CACnX;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,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"}
@@ -0,0 +1,189 @@
1
+ import type { PublicIdSchema } from "../ids.js";
2
+ export declare const makeDeploymentContracts: <DeploymentId extends PublicIdSchema, EnvironmentId extends PublicIdSchema, RunId extends PublicIdSchema, TriggerId extends PublicIdSchema, WorkspaceId extends PublicIdSchema>(ids: {
3
+ deployment: DeploymentId;
4
+ environment: EnvironmentId;
5
+ run: RunId;
6
+ trigger: TriggerId;
7
+ workspace: WorkspaceId;
8
+ }) => {
9
+ find: {
10
+ readonly annotations: {
11
+ readonly destructiveHint: false;
12
+ readonly openWorldHint: false;
13
+ readonly readOnlyHint: true;
14
+ };
15
+ 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.";
16
+ readonly input: import("zod").ZodObject<{
17
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
18
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
19
+ workspaceId: import("zod").ZodOptional<WorkspaceId>;
20
+ }, import("zod/v4/core").$strip>;
21
+ readonly kind: "read";
22
+ readonly name: "deployment.find";
23
+ readonly output: import("zod").ZodObject<{
24
+ deployments: import("zod").ZodArray<import("zod").ZodObject<{
25
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
26
+ commitAuthorName: import("zod").ZodOptional<import("zod").ZodString>;
27
+ commitMessage: import("zod").ZodOptional<import("zod").ZodString>;
28
+ commitSha: import("zod").ZodOptional<import("zod").ZodString>;
29
+ deployedAt: import("zod").ZodISODateTime;
30
+ deployTarget: import("zod").ZodOptional<import("zod").ZodString>;
31
+ environmentId: EnvironmentId;
32
+ environmentName: import("zod").ZodOptional<import("zod").ZodString>;
33
+ id: DeploymentId;
34
+ provider: import("zod").ZodOptional<import("zod").ZodEnum<{
35
+ github: "github";
36
+ gitlab: "gitlab";
37
+ api: "api";
38
+ }>>;
39
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
40
+ success: "success";
41
+ pending: "pending";
42
+ failure: "failure";
43
+ inactive: "inactive";
44
+ }>>;
45
+ url: import("zod").ZodURL;
46
+ }, import("zod/v4/core").$strip>>;
47
+ nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
48
+ }, import("zod/v4/core").$strip>;
49
+ };
50
+ listTriggerEvaluations: {
51
+ readonly annotations: {
52
+ readonly destructiveHint: false;
53
+ readonly openWorldHint: false;
54
+ readonly readOnlyHint: true;
55
+ };
56
+ readonly description: "List the per-trigger verdicts recorded when a deployment was evaluated against the workspace's triggers. Each verdict says whether the trigger matched, did not match with the reason per condition, or was never considered and why. Verdicts are a snapshot from evaluation time: editing or deleting a trigger later does not change them.";
57
+ readonly input: import("zod").ZodObject<{
58
+ deploymentId: DeploymentId;
59
+ }, import("zod/v4/core").$strip>;
60
+ readonly kind: "read";
61
+ readonly name: "deployment.listTriggerEvaluations";
62
+ readonly output: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
63
+ evaluations: import("zod").ZodArray<import("zod").ZodObject<{
64
+ triggerId: import("zod").ZodOptional<TriggerId>;
65
+ triggerName: import("zod").ZodString;
66
+ verdict: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
67
+ conditionSets: import("zod").ZodArray<import("zod").ZodObject<{
68
+ conditions: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
69
+ kind: import("zod").ZodEnum<{
70
+ branch: "branch";
71
+ deployTarget: "deployTarget";
72
+ environment: "environment";
73
+ }>;
74
+ outcome: import("zod").ZodLiteral<"matched">;
75
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
76
+ kind: import("zod").ZodEnum<{
77
+ branch: "branch";
78
+ deployTarget: "deployTarget";
79
+ environment: "environment";
80
+ }>;
81
+ outcome: import("zod").ZodLiteral<"did-not-match">;
82
+ reason: import("zod").ZodString;
83
+ }, import("zod/v4/core").$strip>], "outcome">>;
84
+ outcome: import("zod").ZodEnum<{
85
+ matched: "matched";
86
+ "did-not-match": "did-not-match";
87
+ }>;
88
+ }, import("zod/v4/core").$strip>>;
89
+ outcome: import("zod").ZodLiteral<"matched">;
90
+ run: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
91
+ runId: RunId;
92
+ status: import("zod").ZodLiteral<"ran">;
93
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
94
+ status: import("zod").ZodLiteral<"starting">;
95
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
96
+ reason: import("zod").ZodString;
97
+ status: import("zod").ZodLiteral<"did-not-run">;
98
+ supersededByRunId: import("zod").ZodOptional<RunId>;
99
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
100
+ status: import("zod").ZodLiteral<"unknown">;
101
+ }, import("zod/v4/core").$strip>], "status">;
102
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
103
+ conditionSets: import("zod").ZodArray<import("zod").ZodObject<{
104
+ conditions: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
105
+ kind: import("zod").ZodEnum<{
106
+ branch: "branch";
107
+ deployTarget: "deployTarget";
108
+ environment: "environment";
109
+ }>;
110
+ outcome: import("zod").ZodLiteral<"matched">;
111
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
112
+ kind: import("zod").ZodEnum<{
113
+ branch: "branch";
114
+ deployTarget: "deployTarget";
115
+ environment: "environment";
116
+ }>;
117
+ outcome: import("zod").ZodLiteral<"did-not-match">;
118
+ reason: import("zod").ZodString;
119
+ }, import("zod/v4/core").$strip>], "outcome">>;
120
+ outcome: import("zod").ZodEnum<{
121
+ matched: "matched";
122
+ "did-not-match": "did-not-match";
123
+ }>;
124
+ }, import("zod/v4/core").$strip>>;
125
+ outcome: import("zod").ZodLiteral<"did-not-match">;
126
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
127
+ outcome: import("zod").ZodLiteral<"not-considered">;
128
+ reason: import("zod").ZodEnum<{
129
+ "trigger-paused": "trigger-paused";
130
+ "not-a-deployment-trigger": "not-a-deployment-trigger";
131
+ }>;
132
+ }, import("zod/v4/core").$strip>], "outcome">;
133
+ }, import("zod/v4/core").$strip>>;
134
+ state: import("zod").ZodLiteral<"evaluated">;
135
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
136
+ state: import("zod").ZodLiteral<"not-evaluated">;
137
+ }, import("zod/v4/core").$strip>], "state">;
138
+ };
139
+ reportStatus: {
140
+ readonly annotations: {
141
+ readonly destructiveHint: true;
142
+ readonly openWorldHint: true;
143
+ readonly readOnlyHint: false;
144
+ };
145
+ readonly description: "Report a deployment lifecycle status. A deployment's first success report evaluates global triggers asynchronously, and it is the only report that does: a trigger added or unpaused later does not make an already reported deployment evaluate again. Report that deployment under a new providerDeploymentId to evaluate it against the current triggers. The response contains the deployment only, not the resulting runs. This route requires an organization or user API key.";
146
+ readonly input: import("zod").ZodObject<{
147
+ deployTarget: import("zod").ZodOptional<import("zod").ZodURL>;
148
+ environment: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
149
+ id: EnvironmentId;
150
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
151
+ baseEphemeralEnvironment: import("zod").ZodOptional<import("zod").ZodString>;
152
+ ephemeral: import("zod").ZodOptional<import("zod").ZodBoolean>;
153
+ name: import("zod").ZodString;
154
+ }, import("zod/v4/core").$strict>]>>;
155
+ environmentVariables: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
156
+ metadata: import("zod").ZodOptional<import("zod").ZodObject<{
157
+ commitAuthorName: import("zod").ZodOptional<import("zod").ZodString>;
158
+ commitMessage: import("zod").ZodOptional<import("zod").ZodString>;
159
+ commitSha: import("zod").ZodOptional<import("zod").ZodString>;
160
+ pullRequestNumber: import("zod").ZodOptional<import("zod").ZodNumber>;
161
+ ref: import("zod").ZodOptional<import("zod").ZodString>;
162
+ repository: import("zod").ZodOptional<import("zod").ZodString>;
163
+ }, import("zod/v4/core").$strict>>;
164
+ providerDeploymentId: import("zod").ZodString;
165
+ status: import("zod").ZodEnum<{
166
+ success: "success";
167
+ pending: "pending";
168
+ failure: "failure";
169
+ inactive: "inactive";
170
+ }>;
171
+ workspaceId: WorkspaceId;
172
+ }, import("zod/v4/core").$strict>;
173
+ readonly kind: "write";
174
+ readonly name: "deployment.reportStatus";
175
+ readonly output: import("zod").ZodObject<{
176
+ deployment: import("zod").ZodObject<{
177
+ id: DeploymentId;
178
+ status: import("zod").ZodEnum<{
179
+ success: "success";
180
+ pending: "pending";
181
+ failure: "failure";
182
+ inactive: "inactive";
183
+ }>;
184
+ url: import("zod").ZodURL;
185
+ }, import("zod/v4/core").$strip>;
186
+ }, import("zod/v4/core").$strip>;
187
+ };
188
+ };
189
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,eAAO,MAAM,uBAAuB,GAClC,YAAY,SAAS,cAAc,EACnC,aAAa,SAAS,cAAc,EACpC,KAAK,SAAS,cAAc,EAC5B,SAAS,SAAS,cAAc,EAChC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC;IAC3B,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { makeFindDeploymentsContract } from "./find.js";
2
+ import { makeListDeploymentTriggerEvaluationsContract } from "./listTriggerEvaluations.js";
3
+ import { makeReportDeploymentStatusContract } from "./reportStatus.js";
4
+ export const makeDeploymentContracts = (ids) => ({
5
+ find: makeFindDeploymentsContract(ids),
6
+ listTriggerEvaluations: makeListDeploymentTriggerEvaluationsContract(ids),
7
+ reportStatus: makeReportDeploymentStatusContract(ids),
8
+ });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/deployment/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,4CAA4C,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAMrC,GAMD,EAAE,EAAE,CAAC,CAAC;IACL,IAAI,EAAE,2BAA2B,CAAC,GAAG,CAAC;IACtC,sBAAsB,EAAE,4CAA4C,CAAC,GAAG,CAAC;IACzE,YAAY,EAAE,kCAAkC,CAAC,GAAG,CAAC;CACtD,CAAC,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeListDeploymentTriggerEvaluationsContract: <DeploymentId extends PublicIdSchema, RunId extends PublicIdSchema, TriggerId extends PublicIdSchema>(ids: {
4
+ deployment: DeploymentId;
5
+ run: RunId;
6
+ trigger: TriggerId;
7
+ }) => {
8
+ readonly annotations: {
9
+ readonly destructiveHint: false;
10
+ readonly openWorldHint: false;
11
+ readonly readOnlyHint: true;
12
+ };
13
+ readonly description: "List the per-trigger verdicts recorded when a deployment was evaluated against the workspace's triggers. Each verdict says whether the trigger matched, did not match with the reason per condition, or was never considered and why. Verdicts are a snapshot from evaluation time: editing or deleting a trigger later does not change them.";
14
+ readonly input: z.ZodObject<{
15
+ deploymentId: DeploymentId;
16
+ }, z.core.$strip>;
17
+ readonly kind: "read";
18
+ readonly name: "deployment.listTriggerEvaluations";
19
+ readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
20
+ evaluations: z.ZodArray<z.ZodObject<{
21
+ triggerId: z.ZodOptional<TriggerId>;
22
+ triggerName: z.ZodString;
23
+ verdict: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ conditionSets: z.ZodArray<z.ZodObject<{
25
+ conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
26
+ kind: z.ZodEnum<{
27
+ branch: "branch";
28
+ deployTarget: "deployTarget";
29
+ environment: "environment";
30
+ }>;
31
+ outcome: z.ZodLiteral<"matched">;
32
+ }, z.core.$strip>, z.ZodObject<{
33
+ kind: z.ZodEnum<{
34
+ branch: "branch";
35
+ deployTarget: "deployTarget";
36
+ environment: "environment";
37
+ }>;
38
+ outcome: z.ZodLiteral<"did-not-match">;
39
+ reason: z.ZodString;
40
+ }, z.core.$strip>], "outcome">>;
41
+ outcome: z.ZodEnum<{
42
+ matched: "matched";
43
+ "did-not-match": "did-not-match";
44
+ }>;
45
+ }, z.core.$strip>>;
46
+ outcome: z.ZodLiteral<"matched">;
47
+ run: z.ZodDiscriminatedUnion<[z.ZodObject<{
48
+ runId: RunId;
49
+ status: z.ZodLiteral<"ran">;
50
+ }, z.core.$strip>, z.ZodObject<{
51
+ status: z.ZodLiteral<"starting">;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ reason: z.ZodString;
54
+ status: z.ZodLiteral<"did-not-run">;
55
+ supersededByRunId: z.ZodOptional<RunId>;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ status: z.ZodLiteral<"unknown">;
58
+ }, z.core.$strip>], "status">;
59
+ }, z.core.$strip>, z.ZodObject<{
60
+ conditionSets: z.ZodArray<z.ZodObject<{
61
+ conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
62
+ kind: z.ZodEnum<{
63
+ branch: "branch";
64
+ deployTarget: "deployTarget";
65
+ environment: "environment";
66
+ }>;
67
+ outcome: z.ZodLiteral<"matched">;
68
+ }, z.core.$strip>, z.ZodObject<{
69
+ kind: z.ZodEnum<{
70
+ branch: "branch";
71
+ deployTarget: "deployTarget";
72
+ environment: "environment";
73
+ }>;
74
+ outcome: z.ZodLiteral<"did-not-match">;
75
+ reason: z.ZodString;
76
+ }, z.core.$strip>], "outcome">>;
77
+ outcome: z.ZodEnum<{
78
+ matched: "matched";
79
+ "did-not-match": "did-not-match";
80
+ }>;
81
+ }, z.core.$strip>>;
82
+ outcome: z.ZodLiteral<"did-not-match">;
83
+ }, z.core.$strip>, z.ZodObject<{
84
+ outcome: z.ZodLiteral<"not-considered">;
85
+ reason: z.ZodEnum<{
86
+ "trigger-paused": "trigger-paused";
87
+ "not-a-deployment-trigger": "not-a-deployment-trigger";
88
+ }>;
89
+ }, z.core.$strip>], "outcome">;
90
+ }, z.core.$strip>>;
91
+ state: z.ZodLiteral<"evaluated">;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ state: z.ZodLiteral<"not-evaluated">;
94
+ }, z.core.$strip>], "state">;
95
+ };
96
+ //# sourceMappingURL=listTriggerEvaluations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listTriggerEvaluations.d.ts","sourceRoot":"","sources":["../../../src/v1/deployment/listTriggerEvaluations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAgHhD,eAAO,MAAM,4CAA4C,GACvD,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,cAAc,EAC5B,SAAS,SAAS,cAAc,EAChC,KAAK;IACL,UAAU,EAAE,YAAY,CAAC;IACzB,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCA,CAAC"}