@wardby/cli 0.3.0 → 0.4.1

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 (275) hide show
  1. package/.env.example +22 -3
  2. package/README.md +11 -9
  3. package/dist/cli-help.d.ts +1 -1
  4. package/dist/cli-help.js +1 -0
  5. package/dist/cli.js +68 -10
  6. package/dist/coding/base-commit.d.ts +6 -0
  7. package/dist/coding/base-commit.js +12 -0
  8. package/dist/coding/protocol.d.ts +17 -1
  9. package/dist/coding/protocol.js +17 -6
  10. package/dist/coding/provider.d.ts +6 -1
  11. package/dist/coding/provider.js +16 -9
  12. package/dist/config/providers.d.ts +25 -0
  13. package/dist/config/providers.js +71 -0
  14. package/dist/core/attribution.d.ts +101 -0
  15. package/dist/core/attribution.js +208 -0
  16. package/dist/core/budget-groups.d.ts +17 -10
  17. package/dist/core/budget-groups.js +15 -12
  18. package/dist/core/coding-queue.d.ts +3 -0
  19. package/dist/core/coding-queue.js +6 -2
  20. package/dist/core/coding-service-status.d.ts +11 -0
  21. package/dist/core/coding-service-status.js +17 -0
  22. package/dist/core/cost-report.d.ts +88 -0
  23. package/dist/core/cost-report.js +248 -0
  24. package/dist/core/dispatch.d.ts +42 -2
  25. package/dist/core/dispatch.js +144 -26
  26. package/dist/core/engine-native.js +17 -4
  27. package/dist/core/glob.d.ts +10 -0
  28. package/dist/core/glob.js +33 -0
  29. package/dist/core/host-events.d.ts +24 -1
  30. package/dist/core/host-events.js +341 -1
  31. package/dist/core/host-status.d.ts +19 -2
  32. package/dist/core/host-status.js +47 -30
  33. package/dist/core/issue-bridge.d.ts +60 -0
  34. package/dist/core/issue-bridge.js +189 -0
  35. package/dist/core/issue-dedupe.d.ts +70 -0
  36. package/dist/core/issue-dedupe.js +255 -0
  37. package/dist/core/issue-events.d.ts +42 -0
  38. package/dist/core/issue-events.js +155 -0
  39. package/dist/core/issue-status.d.ts +29 -0
  40. package/dist/core/issue-status.js +241 -0
  41. package/dist/core/issue-tracker-tools.d.ts +64 -0
  42. package/dist/core/issue-tracker-tools.js +850 -0
  43. package/dist/core/model-usage.d.ts +10 -0
  44. package/dist/core/model-usage.js +24 -0
  45. package/dist/core/reconciler.d.ts +8 -4
  46. package/dist/core/reconciler.js +15 -4
  47. package/dist/core/review-host-tools.js +10 -3
  48. package/dist/core/run-pricing.d.ts +61 -0
  49. package/dist/core/run-pricing.js +56 -0
  50. package/dist/core/runner.d.ts +5 -2
  51. package/dist/core/runner.js +178 -27
  52. package/dist/core/scheduler.d.ts +4 -1
  53. package/dist/core/scheduler.js +3 -2
  54. package/dist/core/self-defects.d.ts +80 -0
  55. package/dist/core/self-defects.js +180 -0
  56. package/dist/core/tool-names.js +3 -0
  57. package/dist/core/webhooks.d.ts +9 -1
  58. package/dist/core/webhooks.js +19 -1
  59. package/dist/env.js +6 -1
  60. package/dist/generated/prisma/browser.d.ts +66 -0
  61. package/dist/generated/prisma/client.d.ts +66 -0
  62. package/dist/generated/prisma/commonInputTypes.d.ts +122 -52
  63. package/dist/generated/prisma/enums.d.ts +7 -0
  64. package/dist/generated/prisma/enums.js +6 -0
  65. package/dist/generated/prisma/internal/class.d.ts +99 -0
  66. package/dist/generated/prisma/internal/class.js +4 -4
  67. package/dist/generated/prisma/internal/prismaNamespace.d.ts +826 -1
  68. package/dist/generated/prisma/internal/prismaNamespace.js +135 -2
  69. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +142 -0
  70. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +135 -2
  71. package/dist/generated/prisma/models/Agent.d.ts +389 -1
  72. package/dist/generated/prisma/models/AgentIssueProject.d.ts +1838 -0
  73. package/dist/generated/prisma/models/AgentIssueProject.js +1 -0
  74. package/dist/generated/prisma/models/AgentRepository.d.ts +1 -1
  75. package/dist/generated/prisma/models/AuthUser.d.ts +1 -1
  76. package/dist/generated/prisma/models/CodingProxySession.d.ts +73 -1
  77. package/dist/generated/prisma/models/CodingRun.d.ts +130 -1
  78. package/dist/generated/prisma/models/CodingRunServiceStatus.d.ts +1404 -0
  79. package/dist/generated/prisma/models/CodingRunServiceStatus.js +1 -0
  80. package/dist/generated/prisma/models/IssueFingerprint.d.ts +1183 -0
  81. package/dist/generated/prisma/models/IssueFingerprint.js +1 -0
  82. package/dist/generated/prisma/models/IssuePullRequest.d.ts +1255 -0
  83. package/dist/generated/prisma/models/IssuePullRequest.js +1 -0
  84. package/dist/generated/prisma/models/ModelCatalogEntry.d.ts +1322 -0
  85. package/dist/generated/prisma/models/ModelCatalogEntry.js +1 -0
  86. package/dist/generated/prisma/models/Run.d.ts +933 -1
  87. package/dist/generated/prisma/models/RunAttribution.d.ts +1259 -0
  88. package/dist/generated/prisma/models/RunAttribution.js +1 -0
  89. package/dist/generated/prisma/models/RunIssueStatus.d.ts +1199 -0
  90. package/dist/generated/prisma/models/RunIssueStatus.js +1 -0
  91. package/dist/generated/prisma/models/RunModelUsage.d.ts +1316 -0
  92. package/dist/generated/prisma/models/RunModelUsage.js +1 -0
  93. package/dist/generated/prisma/models/WorkItem.d.ts +1408 -0
  94. package/dist/generated/prisma/models/WorkItem.js +1 -0
  95. package/dist/generated/prisma/models.d.ts +9 -0
  96. package/dist/help-index.json +355 -16
  97. package/dist/import/neutral-schema.d.ts +16 -16
  98. package/dist/knowledge/check.d.ts +13 -0
  99. package/dist/knowledge/check.js +69 -0
  100. package/dist/knowledge/cli.d.ts +14 -0
  101. package/dist/knowledge/cli.js +67 -0
  102. package/dist/knowledge/concept.d.ts +54 -0
  103. package/dist/knowledge/concept.js +78 -0
  104. package/dist/knowledge/note.d.ts +11 -0
  105. package/dist/knowledge/note.js +39 -0
  106. package/dist/knowledge/relevance.d.ts +11 -0
  107. package/dist/knowledge/relevance.js +14 -0
  108. package/dist/knowledge/span-hash.d.ts +3 -0
  109. package/dist/knowledge/span-hash.js +16 -0
  110. package/dist/mcp/auth/access.d.ts +4 -2
  111. package/dist/mcp/auth/ownership.d.ts +9 -9
  112. package/dist/mcp/auth/resource-server.d.ts +3 -1
  113. package/dist/mcp/auth/resource-server.js +18 -3
  114. package/dist/mcp/auth/self-hosted/credentials.d.ts +3 -3
  115. package/dist/mcp/auth/self-hosted/session.d.ts +5 -5
  116. package/dist/mcp/context.d.ts +3 -0
  117. package/dist/mcp/host-events/deliveries.d.ts +9 -0
  118. package/dist/mcp/host-events/deliveries.js +17 -0
  119. package/dist/mcp/host-events/github-ingress.d.ts +4 -2
  120. package/dist/mcp/host-events/github-ingress.js +4 -13
  121. package/dist/mcp/host-events/jira-ingress.d.ts +29 -0
  122. package/dist/mcp/host-events/jira-ingress.js +92 -0
  123. package/dist/mcp/index.d.ts +2 -0
  124. package/dist/mcp/index.js +87 -9
  125. package/dist/mcp/server.js +5 -2
  126. package/dist/mcp/tools/agents.js +74 -3
  127. package/dist/mcp/tools/cost-report.d.ts +8 -0
  128. package/dist/mcp/tools/cost-report.js +60 -0
  129. package/dist/mcp/tools/issue-projects.d.ts +2 -0
  130. package/dist/mcp/tools/issue-projects.js +238 -0
  131. package/dist/mcp/tools/model-catalog.d.ts +22 -0
  132. package/dist/mcp/tools/model-catalog.js +423 -0
  133. package/dist/mcp/tools/repositories.js +2 -1
  134. package/dist/mcp/tools/tools.d.ts +2 -2
  135. package/dist/mcp/tools/trigger.js +33 -5
  136. package/dist/mcp/transport/streamable-http.d.ts +5 -0
  137. package/dist/mcp/transport/streamable-http.js +23 -1
  138. package/dist/mcp/webhooks/ingress.d.ts +2 -1
  139. package/dist/mcp/webhooks/ingress.js +9 -2
  140. package/dist/providers/auth/self-hosted.d.ts +8 -1
  141. package/dist/providers/auth/self-hosted.js +39 -2
  142. package/dist/providers/coding-proxy/memory-ledger.d.ts +1 -1
  143. package/dist/providers/coding-proxy/memory-ledger.js +10 -1
  144. package/dist/providers/coding-proxy/metering.d.ts +2 -1
  145. package/dist/providers/coding-proxy/metering.js +13 -2
  146. package/dist/providers/coding-proxy/prisma-ledger.js +59 -6
  147. package/dist/providers/coding-proxy/proxy.d.ts +12 -2
  148. package/dist/providers/coding-proxy/proxy.js +92 -30
  149. package/dist/providers/coding-proxy/types.d.ts +18 -1
  150. package/dist/providers/coding-proxy/types.js +12 -1
  151. package/dist/providers/engine/types.d.ts +19 -0
  152. package/dist/providers/executor/composition.js +9 -1
  153. package/dist/providers/executor/container.d.ts +30 -2
  154. package/dist/providers/executor/container.js +98 -17
  155. package/dist/providers/executor/dbos.d.ts +2 -0
  156. package/dist/providers/executor/dbos.js +7 -5
  157. package/dist/providers/executor/routing.d.ts +6 -0
  158. package/dist/providers/executor/routing.js +5 -0
  159. package/dist/providers/executor/types.d.ts +12 -0
  160. package/dist/providers/issue-tracker/adf.d.ts +31 -0
  161. package/dist/providers/issue-tracker/adf.js +181 -0
  162. package/dist/providers/issue-tracker/index.d.ts +5 -0
  163. package/dist/providers/issue-tracker/index.js +12 -0
  164. package/dist/providers/issue-tracker/jira-client.d.ts +41 -0
  165. package/dist/providers/issue-tracker/jira-client.js +151 -0
  166. package/dist/providers/issue-tracker/jira-events.d.ts +3 -0
  167. package/dist/providers/issue-tracker/jira-events.js +98 -0
  168. package/dist/providers/issue-tracker/jira.d.ts +116 -0
  169. package/dist/providers/issue-tracker/jira.js +502 -0
  170. package/dist/providers/issue-tracker/types.d.ts +269 -0
  171. package/dist/providers/issue-tracker/types.js +16 -0
  172. package/dist/providers/jobs/docker.d.ts +5 -1
  173. package/dist/providers/jobs/docker.js +61 -33
  174. package/dist/providers/jobs/kubernetes.d.ts +3 -0
  175. package/dist/providers/jobs/kubernetes.js +44 -4
  176. package/dist/providers/jobs/service-state.d.ts +22 -0
  177. package/dist/providers/jobs/service-state.js +17 -0
  178. package/dist/providers/llm/anthropic.d.ts +3 -3
  179. package/dist/providers/llm/anthropic.js +3 -9
  180. package/dist/providers/llm/bedrock.d.ts +3 -3
  181. package/dist/providers/llm/bedrock.js +3 -9
  182. package/dist/providers/llm/catalog-lookup.d.ts +10 -0
  183. package/dist/providers/llm/catalog-lookup.js +15 -0
  184. package/dist/providers/llm/catalog-shipped.d.ts +18 -0
  185. package/dist/providers/llm/catalog-shipped.js +197 -0
  186. package/dist/providers/llm/catalog-store.d.ts +58 -0
  187. package/dist/providers/llm/catalog-store.js +138 -0
  188. package/dist/providers/llm/catalog-types.d.ts +66 -0
  189. package/dist/providers/llm/catalog-types.js +64 -0
  190. package/dist/providers/llm/catalog.d.ts +61 -0
  191. package/dist/providers/llm/catalog.js +147 -0
  192. package/dist/providers/llm/claude-provider.d.ts +10 -14
  193. package/dist/providers/llm/claude-provider.js +11 -6
  194. package/dist/providers/llm/index.d.ts +9 -6
  195. package/dist/providers/llm/index.js +8 -5
  196. package/dist/providers/llm/openai.d.ts +14 -5
  197. package/dist/providers/llm/openai.js +24 -14
  198. package/dist/providers/llm/pricing-core.d.ts +5 -3
  199. package/dist/providers/llm/registration.js +8 -12
  200. package/dist/providers/llm/routing.d.ts +18 -17
  201. package/dist/providers/llm/routing.js +40 -24
  202. package/dist/providers/review-host/github-events.js +47 -1
  203. package/dist/providers/review-host/github.js +7 -6
  204. package/dist/providers/review-host/types.d.ts +25 -0
  205. package/dist/providers/vcs/git.js +2 -22
  206. package/dist/providers/vcs/github.d.ts +20 -0
  207. package/dist/providers/vcs/github.js +28 -2
  208. package/dist/providers/vcs/types.d.ts +6 -0
  209. package/dist/quickstart/index.d.ts +8 -0
  210. package/dist/quickstart/index.js +34 -34
  211. package/dist/serve.js +8 -2
  212. package/dist/viewer/api-schema.d.ts +2757 -0
  213. package/dist/viewer/api-schema.js +165 -0
  214. package/dist/viewer/build-schemas.d.ts +2 -0
  215. package/dist/viewer/build-schemas.js +18 -0
  216. package/dist/viewer/event-bus.d.ts +38 -0
  217. package/dist/viewer/event-bus.js +232 -0
  218. package/dist/viewer/graph.d.ts +40 -0
  219. package/dist/viewer/graph.js +243 -0
  220. package/dist/viewer/http.d.ts +30 -0
  221. package/dist/viewer/http.js +133 -0
  222. package/dist/viewer/run-detail.d.ts +4 -0
  223. package/dist/viewer/run-detail.js +61 -0
  224. package/dist/wardby-bin.js +5 -0
  225. package/docs/README.md +10 -0
  226. package/docs/agent-recipes.md +383 -0
  227. package/docs/code-review-agents.md +29 -2
  228. package/docs/coding-agent-setup.md +3 -0
  229. package/docs/coding-worker-isolation.md +39 -5
  230. package/docs/getting-started-gke.md +28 -11
  231. package/docs/getting-started-identity-provider.md +49 -38
  232. package/docs/getting-started.md +14 -0
  233. package/docs/jira-agents.md +649 -0
  234. package/docs/knowledge.md +387 -0
  235. package/docs/models.md +221 -0
  236. package/docs/security-deployment.md +19 -9
  237. package/docs/viewer-api.md +142 -0
  238. package/help/admin-viewer.md +39 -0
  239. package/help/agent-recipes.md +173 -0
  240. package/help/architecture-agent.md +189 -0
  241. package/help/builder-agent.md +80 -0
  242. package/help/code-review-agents.md +6 -0
  243. package/help/cost-attribution.md +67 -0
  244. package/help/creating-agents.md +22 -0
  245. package/help/deploy-gke.md +6 -0
  246. package/help/errors/model-unavailable.md +63 -0
  247. package/help/getting-started.md +1 -0
  248. package/help/github.md +18 -0
  249. package/help/identity-and-access.md +8 -3
  250. package/help/jira.md +135 -0
  251. package/help/knowledge.md +47 -0
  252. package/help/models.md +90 -0
  253. package/help/operating-agents.md +7 -1
  254. package/help/troubleshooting/budgets.md +6 -0
  255. package/package.json +5 -2
  256. package/prisma/migrations/20260930000000_jira_issue_projects/migration.sql +34 -0
  257. package/prisma/migrations/20261001000000_jira_phase2_allowlists/migration.sql +3 -0
  258. package/prisma/migrations/20261001010000_jira_link_types_allowlist/migration.sql +2 -0
  259. package/prisma/migrations/20261002000000_jira_coding_bridge/migration.sql +28 -0
  260. package/prisma/migrations/20261002010000_jira_issue_creation/migration.sql +25 -0
  261. package/prisma/migrations/20261003000000_issue_cost_attribution/migration.sql +56 -0
  262. package/prisma/migrations/20261003010000_coding_run_service_status/migration.sql +23 -0
  263. package/prisma/migrations/20261003020000_viewer_notify/migration.sql +54 -0
  264. package/prisma/migrations/20261003030000_viewer_notify_fixes/migration.sql +47 -0
  265. package/prisma/migrations/20261003040000_viewer_indexes/migration.sql +12 -0
  266. package/prisma/migrations/20261004000000_model_catalog/migration.sql +26 -0
  267. package/prisma/schema.prisma +258 -2
  268. package/dist/mcp/tools/models.d.ts +0 -8
  269. package/dist/mcp/tools/models.js +0 -15
  270. package/dist/providers/llm/pricing-anthropic.d.ts +0 -14
  271. package/dist/providers/llm/pricing-anthropic.js +0 -48
  272. package/dist/providers/llm/pricing-bedrock-claude.d.ts +0 -20
  273. package/dist/providers/llm/pricing-bedrock-claude.js +0 -46
  274. package/dist/providers/llm/pricing.d.ts +0 -30
  275. package/dist/providers/llm/pricing.js +0 -74
@@ -0,0 +1,2757 @@
1
+ /**
2
+ * The admin viewer API's contract (docs/viewer-api.md). Every response and
3
+ * live event the API sends is defined here; build-schemas.ts publishes them as
4
+ * JSON Schema under src/viewer/schemas/, which the viewer app generates its
5
+ * types from (it never imports server source). Change a shape here, run
6
+ * `npm run build:viewer-schemas`, and commit the regenerated files.
7
+ */
8
+ import { z } from "zod";
9
+ export declare const RunStatusSchema: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
10
+ /** What started a run, resolved for display. A sub-agent run's cause is its parent (parentRunId). */
11
+ export declare const RunTriggerSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
12
+ kind: z.ZodLiteral<"manual">;
13
+ }, "strip", z.ZodTypeAny, {
14
+ kind: "manual";
15
+ }, {
16
+ kind: "manual";
17
+ }>, z.ZodObject<{
18
+ kind: z.ZodLiteral<"scheduled">;
19
+ schedule: z.ZodNullable<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ kind: "scheduled";
22
+ schedule: string | null;
23
+ }, {
24
+ kind: "scheduled";
25
+ schedule: string | null;
26
+ }>, z.ZodObject<{
27
+ kind: z.ZodLiteral<"webhook">;
28
+ }, "strip", z.ZodTypeAny, {
29
+ kind: "webhook";
30
+ }, {
31
+ kind: "webhook";
32
+ }>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"subagent">;
34
+ }, "strip", z.ZodTypeAny, {
35
+ kind: "subagent";
36
+ }, {
37
+ kind: "subagent";
38
+ }>, z.ZodObject<{
39
+ kind: z.ZodLiteral<"code_host">;
40
+ provider: z.ZodString;
41
+ repository: z.ZodString;
42
+ number: z.ZodNullable<z.ZodNumber>;
43
+ event: z.ZodEnum<["review", "mention"]>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ number: number | null;
46
+ repository: string;
47
+ provider: string;
48
+ event: "mention" | "review";
49
+ kind: "code_host";
50
+ }, {
51
+ number: number | null;
52
+ repository: string;
53
+ provider: string;
54
+ event: "mention" | "review";
55
+ kind: "code_host";
56
+ }>, z.ZodObject<{
57
+ kind: z.ZodLiteral<"issue">;
58
+ provider: z.ZodString;
59
+ issueKey: z.ZodString;
60
+ }, "strip", z.ZodTypeAny, {
61
+ provider: string;
62
+ kind: "issue";
63
+ issueKey: string;
64
+ }, {
65
+ provider: string;
66
+ kind: "issue";
67
+ issueKey: string;
68
+ }>, z.ZodObject<{
69
+ kind: z.ZodLiteral<"host_event">;
70
+ }, "strip", z.ZodTypeAny, {
71
+ kind: "host_event";
72
+ }, {
73
+ kind: "host_event";
74
+ }>]>;
75
+ export declare const OutcomeSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
76
+ kind: z.ZodLiteral<"pull_request">;
77
+ provider: z.ZodString;
78
+ repository: z.ZodString;
79
+ number: z.ZodNumber;
80
+ url: z.ZodString;
81
+ state: z.ZodNullable<z.ZodString>;
82
+ at: z.ZodNullable<z.ZodString>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ number: number;
85
+ at: string | null;
86
+ repository: string;
87
+ provider: string;
88
+ kind: "pull_request";
89
+ url: string;
90
+ state: string | null;
91
+ }, {
92
+ number: number;
93
+ at: string | null;
94
+ repository: string;
95
+ provider: string;
96
+ kind: "pull_request";
97
+ url: string;
98
+ state: string | null;
99
+ }>, z.ZodObject<{
100
+ kind: z.ZodLiteral<"code_host_comment">;
101
+ provider: z.ZodString;
102
+ repository: z.ZodString;
103
+ number: z.ZodNumber;
104
+ at: z.ZodNullable<z.ZodString>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ number: number;
107
+ at: string | null;
108
+ repository: string;
109
+ provider: string;
110
+ kind: "code_host_comment";
111
+ }, {
112
+ number: number;
113
+ at: string | null;
114
+ repository: string;
115
+ provider: string;
116
+ kind: "code_host_comment";
117
+ }>, z.ZodObject<{
118
+ kind: z.ZodLiteral<"issue_comment">;
119
+ provider: z.ZodString;
120
+ issueKey: z.ZodString;
121
+ at: z.ZodNullable<z.ZodString>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ at: string | null;
124
+ provider: string;
125
+ kind: "issue_comment";
126
+ issueKey: string;
127
+ }, {
128
+ at: string | null;
129
+ provider: string;
130
+ kind: "issue_comment";
131
+ issueKey: string;
132
+ }>, z.ZodObject<{
133
+ kind: z.ZodLiteral<"check">;
134
+ provider: z.ZodString;
135
+ repository: z.ZodString;
136
+ number: z.ZodNullable<z.ZodNumber>;
137
+ completed: z.ZodBoolean;
138
+ at: z.ZodNullable<z.ZodString>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ number: number | null;
141
+ at: string | null;
142
+ repository: string;
143
+ provider: string;
144
+ completed: boolean;
145
+ kind: "check";
146
+ }, {
147
+ number: number | null;
148
+ at: string | null;
149
+ repository: string;
150
+ provider: string;
151
+ completed: boolean;
152
+ kind: "check";
153
+ }>]>;
154
+ export declare const ServiceStatusSchema: z.ZodObject<{
155
+ name: z.ZodString;
156
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
157
+ attempts: z.ZodNullable<z.ZodNumber>;
158
+ reason: z.ZodNullable<z.ZodString>;
159
+ readyAt: z.ZodNullable<z.ZodString>;
160
+ failedAt: z.ZodNullable<z.ZodString>;
161
+ createdAt: z.ZodString;
162
+ }, "strip", z.ZodTypeAny, {
163
+ name: string;
164
+ createdAt: string;
165
+ state: "failed" | "pending" | "probing" | "ready";
166
+ reason: string | null;
167
+ attempts: number | null;
168
+ readyAt: string | null;
169
+ failedAt: string | null;
170
+ }, {
171
+ name: string;
172
+ createdAt: string;
173
+ state: "failed" | "pending" | "probing" | "ready";
174
+ reason: string | null;
175
+ attempts: number | null;
176
+ readyAt: string | null;
177
+ failedAt: string | null;
178
+ }>;
179
+ export declare const GraphRunSchema: z.ZodObject<{
180
+ id: z.ZodString;
181
+ parentRunId: z.ZodNullable<z.ZodString>;
182
+ agentId: z.ZodString;
183
+ agentName: z.ZodString;
184
+ agentKind: z.ZodEnum<["native", "coding"]>;
185
+ /** The coding run's model, else the agent's. */
186
+ model: z.ZodString;
187
+ /** The coding worker (e.g. `codex`, `claude-code`); null for native runs. */
188
+ codingProvider: z.ZodNullable<z.ZodString>;
189
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
190
+ trigger: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
191
+ kind: z.ZodLiteral<"manual">;
192
+ }, "strip", z.ZodTypeAny, {
193
+ kind: "manual";
194
+ }, {
195
+ kind: "manual";
196
+ }>, z.ZodObject<{
197
+ kind: z.ZodLiteral<"scheduled">;
198
+ schedule: z.ZodNullable<z.ZodString>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ kind: "scheduled";
201
+ schedule: string | null;
202
+ }, {
203
+ kind: "scheduled";
204
+ schedule: string | null;
205
+ }>, z.ZodObject<{
206
+ kind: z.ZodLiteral<"webhook">;
207
+ }, "strip", z.ZodTypeAny, {
208
+ kind: "webhook";
209
+ }, {
210
+ kind: "webhook";
211
+ }>, z.ZodObject<{
212
+ kind: z.ZodLiteral<"subagent">;
213
+ }, "strip", z.ZodTypeAny, {
214
+ kind: "subagent";
215
+ }, {
216
+ kind: "subagent";
217
+ }>, z.ZodObject<{
218
+ kind: z.ZodLiteral<"code_host">;
219
+ provider: z.ZodString;
220
+ repository: z.ZodString;
221
+ number: z.ZodNullable<z.ZodNumber>;
222
+ event: z.ZodEnum<["review", "mention"]>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ number: number | null;
225
+ repository: string;
226
+ provider: string;
227
+ event: "mention" | "review";
228
+ kind: "code_host";
229
+ }, {
230
+ number: number | null;
231
+ repository: string;
232
+ provider: string;
233
+ event: "mention" | "review";
234
+ kind: "code_host";
235
+ }>, z.ZodObject<{
236
+ kind: z.ZodLiteral<"issue">;
237
+ provider: z.ZodString;
238
+ issueKey: z.ZodString;
239
+ }, "strip", z.ZodTypeAny, {
240
+ provider: string;
241
+ kind: "issue";
242
+ issueKey: string;
243
+ }, {
244
+ provider: string;
245
+ kind: "issue";
246
+ issueKey: string;
247
+ }>, z.ZodObject<{
248
+ kind: z.ZodLiteral<"host_event">;
249
+ }, "strip", z.ZodTypeAny, {
250
+ kind: "host_event";
251
+ }, {
252
+ kind: "host_event";
253
+ }>]>;
254
+ turns: z.ZodNumber;
255
+ tokensIn: z.ZodNumber;
256
+ tokensOut: z.ZodNumber;
257
+ costUsd: z.ZodNumber;
258
+ budgetUsd: z.ZodNumber;
259
+ startedAt: z.ZodString;
260
+ finishedAt: z.ZodNullable<z.ZodString>;
261
+ heartbeatAt: z.ZodNullable<z.ZodString>;
262
+ outcomes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
263
+ kind: z.ZodLiteral<"pull_request">;
264
+ provider: z.ZodString;
265
+ repository: z.ZodString;
266
+ number: z.ZodNumber;
267
+ url: z.ZodString;
268
+ state: z.ZodNullable<z.ZodString>;
269
+ at: z.ZodNullable<z.ZodString>;
270
+ }, "strip", z.ZodTypeAny, {
271
+ number: number;
272
+ at: string | null;
273
+ repository: string;
274
+ provider: string;
275
+ kind: "pull_request";
276
+ url: string;
277
+ state: string | null;
278
+ }, {
279
+ number: number;
280
+ at: string | null;
281
+ repository: string;
282
+ provider: string;
283
+ kind: "pull_request";
284
+ url: string;
285
+ state: string | null;
286
+ }>, z.ZodObject<{
287
+ kind: z.ZodLiteral<"code_host_comment">;
288
+ provider: z.ZodString;
289
+ repository: z.ZodString;
290
+ number: z.ZodNumber;
291
+ at: z.ZodNullable<z.ZodString>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ number: number;
294
+ at: string | null;
295
+ repository: string;
296
+ provider: string;
297
+ kind: "code_host_comment";
298
+ }, {
299
+ number: number;
300
+ at: string | null;
301
+ repository: string;
302
+ provider: string;
303
+ kind: "code_host_comment";
304
+ }>, z.ZodObject<{
305
+ kind: z.ZodLiteral<"issue_comment">;
306
+ provider: z.ZodString;
307
+ issueKey: z.ZodString;
308
+ at: z.ZodNullable<z.ZodString>;
309
+ }, "strip", z.ZodTypeAny, {
310
+ at: string | null;
311
+ provider: string;
312
+ kind: "issue_comment";
313
+ issueKey: string;
314
+ }, {
315
+ at: string | null;
316
+ provider: string;
317
+ kind: "issue_comment";
318
+ issueKey: string;
319
+ }>, z.ZodObject<{
320
+ kind: z.ZodLiteral<"check">;
321
+ provider: z.ZodString;
322
+ repository: z.ZodString;
323
+ number: z.ZodNullable<z.ZodNumber>;
324
+ completed: z.ZodBoolean;
325
+ at: z.ZodNullable<z.ZodString>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ number: number | null;
328
+ at: string | null;
329
+ repository: string;
330
+ provider: string;
331
+ completed: boolean;
332
+ kind: "check";
333
+ }, {
334
+ number: number | null;
335
+ at: string | null;
336
+ repository: string;
337
+ provider: string;
338
+ completed: boolean;
339
+ kind: "check";
340
+ }>]>, "many">;
341
+ /** The services a coding run was started with, recorded or not; empty for native runs. */
342
+ declaredServices: z.ZodArray<z.ZodObject<{
343
+ name: z.ZodString;
344
+ version: z.ZodString;
345
+ }, "strip", z.ZodTypeAny, {
346
+ name: string;
347
+ version: string;
348
+ }, {
349
+ name: string;
350
+ version: string;
351
+ }>, "many">;
352
+ /** Recorded readiness of the run's services (none before status tracking existed). */
353
+ services: z.ZodArray<z.ZodObject<{
354
+ name: z.ZodString;
355
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
356
+ attempts: z.ZodNullable<z.ZodNumber>;
357
+ reason: z.ZodNullable<z.ZodString>;
358
+ readyAt: z.ZodNullable<z.ZodString>;
359
+ failedAt: z.ZodNullable<z.ZodString>;
360
+ createdAt: z.ZodString;
361
+ }, "strip", z.ZodTypeAny, {
362
+ name: string;
363
+ createdAt: string;
364
+ state: "failed" | "pending" | "probing" | "ready";
365
+ reason: string | null;
366
+ attempts: number | null;
367
+ readyAt: string | null;
368
+ failedAt: string | null;
369
+ }, {
370
+ name: string;
371
+ createdAt: string;
372
+ state: "failed" | "pending" | "probing" | "ready";
373
+ reason: string | null;
374
+ attempts: number | null;
375
+ readyAt: string | null;
376
+ failedAt: string | null;
377
+ }>, "many">;
378
+ }, "strip", z.ZodTypeAny, {
379
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
380
+ tokensIn: number;
381
+ tokensOut: number;
382
+ costUsd: number;
383
+ model: string;
384
+ budgetUsd: number;
385
+ services: {
386
+ name: string;
387
+ createdAt: string;
388
+ state: "failed" | "pending" | "probing" | "ready";
389
+ reason: string | null;
390
+ attempts: number | null;
391
+ readyAt: string | null;
392
+ failedAt: string | null;
393
+ }[];
394
+ id: string;
395
+ agentId: string;
396
+ trigger: {
397
+ kind: "manual";
398
+ } | {
399
+ kind: "scheduled";
400
+ schedule: string | null;
401
+ } | {
402
+ kind: "webhook";
403
+ } | {
404
+ kind: "subagent";
405
+ } | {
406
+ number: number | null;
407
+ repository: string;
408
+ provider: string;
409
+ event: "mention" | "review";
410
+ kind: "code_host";
411
+ } | {
412
+ provider: string;
413
+ kind: "issue";
414
+ issueKey: string;
415
+ } | {
416
+ kind: "host_event";
417
+ };
418
+ startedAt: string;
419
+ finishedAt: string | null;
420
+ heartbeatAt: string | null;
421
+ turns: number;
422
+ parentRunId: string | null;
423
+ agentKind: "native" | "coding";
424
+ agentName: string;
425
+ codingProvider: string | null;
426
+ outcomes: ({
427
+ number: number;
428
+ at: string | null;
429
+ repository: string;
430
+ provider: string;
431
+ kind: "pull_request";
432
+ url: string;
433
+ state: string | null;
434
+ } | {
435
+ number: number;
436
+ at: string | null;
437
+ repository: string;
438
+ provider: string;
439
+ kind: "code_host_comment";
440
+ } | {
441
+ at: string | null;
442
+ provider: string;
443
+ kind: "issue_comment";
444
+ issueKey: string;
445
+ } | {
446
+ number: number | null;
447
+ at: string | null;
448
+ repository: string;
449
+ provider: string;
450
+ completed: boolean;
451
+ kind: "check";
452
+ })[];
453
+ declaredServices: {
454
+ name: string;
455
+ version: string;
456
+ }[];
457
+ }, {
458
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
459
+ tokensIn: number;
460
+ tokensOut: number;
461
+ costUsd: number;
462
+ model: string;
463
+ budgetUsd: number;
464
+ services: {
465
+ name: string;
466
+ createdAt: string;
467
+ state: "failed" | "pending" | "probing" | "ready";
468
+ reason: string | null;
469
+ attempts: number | null;
470
+ readyAt: string | null;
471
+ failedAt: string | null;
472
+ }[];
473
+ id: string;
474
+ agentId: string;
475
+ trigger: {
476
+ kind: "manual";
477
+ } | {
478
+ kind: "scheduled";
479
+ schedule: string | null;
480
+ } | {
481
+ kind: "webhook";
482
+ } | {
483
+ kind: "subagent";
484
+ } | {
485
+ number: number | null;
486
+ repository: string;
487
+ provider: string;
488
+ event: "mention" | "review";
489
+ kind: "code_host";
490
+ } | {
491
+ provider: string;
492
+ kind: "issue";
493
+ issueKey: string;
494
+ } | {
495
+ kind: "host_event";
496
+ };
497
+ startedAt: string;
498
+ finishedAt: string | null;
499
+ heartbeatAt: string | null;
500
+ turns: number;
501
+ parentRunId: string | null;
502
+ agentKind: "native" | "coding";
503
+ agentName: string;
504
+ codingProvider: string | null;
505
+ outcomes: ({
506
+ number: number;
507
+ at: string | null;
508
+ repository: string;
509
+ provider: string;
510
+ kind: "pull_request";
511
+ url: string;
512
+ state: string | null;
513
+ } | {
514
+ number: number;
515
+ at: string | null;
516
+ repository: string;
517
+ provider: string;
518
+ kind: "code_host_comment";
519
+ } | {
520
+ at: string | null;
521
+ provider: string;
522
+ kind: "issue_comment";
523
+ issueKey: string;
524
+ } | {
525
+ number: number | null;
526
+ at: string | null;
527
+ repository: string;
528
+ provider: string;
529
+ completed: boolean;
530
+ kind: "check";
531
+ })[];
532
+ declaredServices: {
533
+ name: string;
534
+ version: string;
535
+ }[];
536
+ }>;
537
+ export declare const BudgetGroupSpendSchema: z.ZodObject<{
538
+ id: z.ZodString;
539
+ name: z.ZodString;
540
+ dailyBudgetUsd: z.ZodNullable<z.ZodNumber>;
541
+ spentTodayUsd: z.ZodNumber;
542
+ }, "strip", z.ZodTypeAny, {
543
+ name: string;
544
+ id: string;
545
+ dailyBudgetUsd: number | null;
546
+ spentTodayUsd: number;
547
+ }, {
548
+ name: string;
549
+ id: string;
550
+ dailyBudgetUsd: number | null;
551
+ spentTodayUsd: number;
552
+ }>;
553
+ export declare const GraphSnapshotSchema: z.ZodObject<{
554
+ generatedAt: z.ZodString;
555
+ since: z.ZodString;
556
+ limit: z.ZodNumber;
557
+ truncated: z.ZodBoolean;
558
+ runs: z.ZodArray<z.ZodObject<{
559
+ id: z.ZodString;
560
+ parentRunId: z.ZodNullable<z.ZodString>;
561
+ agentId: z.ZodString;
562
+ agentName: z.ZodString;
563
+ agentKind: z.ZodEnum<["native", "coding"]>;
564
+ /** The coding run's model, else the agent's. */
565
+ model: z.ZodString;
566
+ /** The coding worker (e.g. `codex`, `claude-code`); null for native runs. */
567
+ codingProvider: z.ZodNullable<z.ZodString>;
568
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
569
+ trigger: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
570
+ kind: z.ZodLiteral<"manual">;
571
+ }, "strip", z.ZodTypeAny, {
572
+ kind: "manual";
573
+ }, {
574
+ kind: "manual";
575
+ }>, z.ZodObject<{
576
+ kind: z.ZodLiteral<"scheduled">;
577
+ schedule: z.ZodNullable<z.ZodString>;
578
+ }, "strip", z.ZodTypeAny, {
579
+ kind: "scheduled";
580
+ schedule: string | null;
581
+ }, {
582
+ kind: "scheduled";
583
+ schedule: string | null;
584
+ }>, z.ZodObject<{
585
+ kind: z.ZodLiteral<"webhook">;
586
+ }, "strip", z.ZodTypeAny, {
587
+ kind: "webhook";
588
+ }, {
589
+ kind: "webhook";
590
+ }>, z.ZodObject<{
591
+ kind: z.ZodLiteral<"subagent">;
592
+ }, "strip", z.ZodTypeAny, {
593
+ kind: "subagent";
594
+ }, {
595
+ kind: "subagent";
596
+ }>, z.ZodObject<{
597
+ kind: z.ZodLiteral<"code_host">;
598
+ provider: z.ZodString;
599
+ repository: z.ZodString;
600
+ number: z.ZodNullable<z.ZodNumber>;
601
+ event: z.ZodEnum<["review", "mention"]>;
602
+ }, "strip", z.ZodTypeAny, {
603
+ number: number | null;
604
+ repository: string;
605
+ provider: string;
606
+ event: "mention" | "review";
607
+ kind: "code_host";
608
+ }, {
609
+ number: number | null;
610
+ repository: string;
611
+ provider: string;
612
+ event: "mention" | "review";
613
+ kind: "code_host";
614
+ }>, z.ZodObject<{
615
+ kind: z.ZodLiteral<"issue">;
616
+ provider: z.ZodString;
617
+ issueKey: z.ZodString;
618
+ }, "strip", z.ZodTypeAny, {
619
+ provider: string;
620
+ kind: "issue";
621
+ issueKey: string;
622
+ }, {
623
+ provider: string;
624
+ kind: "issue";
625
+ issueKey: string;
626
+ }>, z.ZodObject<{
627
+ kind: z.ZodLiteral<"host_event">;
628
+ }, "strip", z.ZodTypeAny, {
629
+ kind: "host_event";
630
+ }, {
631
+ kind: "host_event";
632
+ }>]>;
633
+ turns: z.ZodNumber;
634
+ tokensIn: z.ZodNumber;
635
+ tokensOut: z.ZodNumber;
636
+ costUsd: z.ZodNumber;
637
+ budgetUsd: z.ZodNumber;
638
+ startedAt: z.ZodString;
639
+ finishedAt: z.ZodNullable<z.ZodString>;
640
+ heartbeatAt: z.ZodNullable<z.ZodString>;
641
+ outcomes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
642
+ kind: z.ZodLiteral<"pull_request">;
643
+ provider: z.ZodString;
644
+ repository: z.ZodString;
645
+ number: z.ZodNumber;
646
+ url: z.ZodString;
647
+ state: z.ZodNullable<z.ZodString>;
648
+ at: z.ZodNullable<z.ZodString>;
649
+ }, "strip", z.ZodTypeAny, {
650
+ number: number;
651
+ at: string | null;
652
+ repository: string;
653
+ provider: string;
654
+ kind: "pull_request";
655
+ url: string;
656
+ state: string | null;
657
+ }, {
658
+ number: number;
659
+ at: string | null;
660
+ repository: string;
661
+ provider: string;
662
+ kind: "pull_request";
663
+ url: string;
664
+ state: string | null;
665
+ }>, z.ZodObject<{
666
+ kind: z.ZodLiteral<"code_host_comment">;
667
+ provider: z.ZodString;
668
+ repository: z.ZodString;
669
+ number: z.ZodNumber;
670
+ at: z.ZodNullable<z.ZodString>;
671
+ }, "strip", z.ZodTypeAny, {
672
+ number: number;
673
+ at: string | null;
674
+ repository: string;
675
+ provider: string;
676
+ kind: "code_host_comment";
677
+ }, {
678
+ number: number;
679
+ at: string | null;
680
+ repository: string;
681
+ provider: string;
682
+ kind: "code_host_comment";
683
+ }>, z.ZodObject<{
684
+ kind: z.ZodLiteral<"issue_comment">;
685
+ provider: z.ZodString;
686
+ issueKey: z.ZodString;
687
+ at: z.ZodNullable<z.ZodString>;
688
+ }, "strip", z.ZodTypeAny, {
689
+ at: string | null;
690
+ provider: string;
691
+ kind: "issue_comment";
692
+ issueKey: string;
693
+ }, {
694
+ at: string | null;
695
+ provider: string;
696
+ kind: "issue_comment";
697
+ issueKey: string;
698
+ }>, z.ZodObject<{
699
+ kind: z.ZodLiteral<"check">;
700
+ provider: z.ZodString;
701
+ repository: z.ZodString;
702
+ number: z.ZodNullable<z.ZodNumber>;
703
+ completed: z.ZodBoolean;
704
+ at: z.ZodNullable<z.ZodString>;
705
+ }, "strip", z.ZodTypeAny, {
706
+ number: number | null;
707
+ at: string | null;
708
+ repository: string;
709
+ provider: string;
710
+ completed: boolean;
711
+ kind: "check";
712
+ }, {
713
+ number: number | null;
714
+ at: string | null;
715
+ repository: string;
716
+ provider: string;
717
+ completed: boolean;
718
+ kind: "check";
719
+ }>]>, "many">;
720
+ /** The services a coding run was started with, recorded or not; empty for native runs. */
721
+ declaredServices: z.ZodArray<z.ZodObject<{
722
+ name: z.ZodString;
723
+ version: z.ZodString;
724
+ }, "strip", z.ZodTypeAny, {
725
+ name: string;
726
+ version: string;
727
+ }, {
728
+ name: string;
729
+ version: string;
730
+ }>, "many">;
731
+ /** Recorded readiness of the run's services (none before status tracking existed). */
732
+ services: z.ZodArray<z.ZodObject<{
733
+ name: z.ZodString;
734
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
735
+ attempts: z.ZodNullable<z.ZodNumber>;
736
+ reason: z.ZodNullable<z.ZodString>;
737
+ readyAt: z.ZodNullable<z.ZodString>;
738
+ failedAt: z.ZodNullable<z.ZodString>;
739
+ createdAt: z.ZodString;
740
+ }, "strip", z.ZodTypeAny, {
741
+ name: string;
742
+ createdAt: string;
743
+ state: "failed" | "pending" | "probing" | "ready";
744
+ reason: string | null;
745
+ attempts: number | null;
746
+ readyAt: string | null;
747
+ failedAt: string | null;
748
+ }, {
749
+ name: string;
750
+ createdAt: string;
751
+ state: "failed" | "pending" | "probing" | "ready";
752
+ reason: string | null;
753
+ attempts: number | null;
754
+ readyAt: string | null;
755
+ failedAt: string | null;
756
+ }>, "many">;
757
+ }, "strip", z.ZodTypeAny, {
758
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
759
+ tokensIn: number;
760
+ tokensOut: number;
761
+ costUsd: number;
762
+ model: string;
763
+ budgetUsd: number;
764
+ services: {
765
+ name: string;
766
+ createdAt: string;
767
+ state: "failed" | "pending" | "probing" | "ready";
768
+ reason: string | null;
769
+ attempts: number | null;
770
+ readyAt: string | null;
771
+ failedAt: string | null;
772
+ }[];
773
+ id: string;
774
+ agentId: string;
775
+ trigger: {
776
+ kind: "manual";
777
+ } | {
778
+ kind: "scheduled";
779
+ schedule: string | null;
780
+ } | {
781
+ kind: "webhook";
782
+ } | {
783
+ kind: "subagent";
784
+ } | {
785
+ number: number | null;
786
+ repository: string;
787
+ provider: string;
788
+ event: "mention" | "review";
789
+ kind: "code_host";
790
+ } | {
791
+ provider: string;
792
+ kind: "issue";
793
+ issueKey: string;
794
+ } | {
795
+ kind: "host_event";
796
+ };
797
+ startedAt: string;
798
+ finishedAt: string | null;
799
+ heartbeatAt: string | null;
800
+ turns: number;
801
+ parentRunId: string | null;
802
+ agentKind: "native" | "coding";
803
+ agentName: string;
804
+ codingProvider: string | null;
805
+ outcomes: ({
806
+ number: number;
807
+ at: string | null;
808
+ repository: string;
809
+ provider: string;
810
+ kind: "pull_request";
811
+ url: string;
812
+ state: string | null;
813
+ } | {
814
+ number: number;
815
+ at: string | null;
816
+ repository: string;
817
+ provider: string;
818
+ kind: "code_host_comment";
819
+ } | {
820
+ at: string | null;
821
+ provider: string;
822
+ kind: "issue_comment";
823
+ issueKey: string;
824
+ } | {
825
+ number: number | null;
826
+ at: string | null;
827
+ repository: string;
828
+ provider: string;
829
+ completed: boolean;
830
+ kind: "check";
831
+ })[];
832
+ declaredServices: {
833
+ name: string;
834
+ version: string;
835
+ }[];
836
+ }, {
837
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
838
+ tokensIn: number;
839
+ tokensOut: number;
840
+ costUsd: number;
841
+ model: string;
842
+ budgetUsd: number;
843
+ services: {
844
+ name: string;
845
+ createdAt: string;
846
+ state: "failed" | "pending" | "probing" | "ready";
847
+ reason: string | null;
848
+ attempts: number | null;
849
+ readyAt: string | null;
850
+ failedAt: string | null;
851
+ }[];
852
+ id: string;
853
+ agentId: string;
854
+ trigger: {
855
+ kind: "manual";
856
+ } | {
857
+ kind: "scheduled";
858
+ schedule: string | null;
859
+ } | {
860
+ kind: "webhook";
861
+ } | {
862
+ kind: "subagent";
863
+ } | {
864
+ number: number | null;
865
+ repository: string;
866
+ provider: string;
867
+ event: "mention" | "review";
868
+ kind: "code_host";
869
+ } | {
870
+ provider: string;
871
+ kind: "issue";
872
+ issueKey: string;
873
+ } | {
874
+ kind: "host_event";
875
+ };
876
+ startedAt: string;
877
+ finishedAt: string | null;
878
+ heartbeatAt: string | null;
879
+ turns: number;
880
+ parentRunId: string | null;
881
+ agentKind: "native" | "coding";
882
+ agentName: string;
883
+ codingProvider: string | null;
884
+ outcomes: ({
885
+ number: number;
886
+ at: string | null;
887
+ repository: string;
888
+ provider: string;
889
+ kind: "pull_request";
890
+ url: string;
891
+ state: string | null;
892
+ } | {
893
+ number: number;
894
+ at: string | null;
895
+ repository: string;
896
+ provider: string;
897
+ kind: "code_host_comment";
898
+ } | {
899
+ at: string | null;
900
+ provider: string;
901
+ kind: "issue_comment";
902
+ issueKey: string;
903
+ } | {
904
+ number: number | null;
905
+ at: string | null;
906
+ repository: string;
907
+ provider: string;
908
+ completed: boolean;
909
+ kind: "check";
910
+ })[];
911
+ declaredServices: {
912
+ name: string;
913
+ version: string;
914
+ }[];
915
+ }>, "many">;
916
+ spend: z.ZodObject<{
917
+ todayUsd: z.ZodNumber;
918
+ groups: z.ZodArray<z.ZodObject<{
919
+ id: z.ZodString;
920
+ name: z.ZodString;
921
+ dailyBudgetUsd: z.ZodNullable<z.ZodNumber>;
922
+ spentTodayUsd: z.ZodNumber;
923
+ }, "strip", z.ZodTypeAny, {
924
+ name: string;
925
+ id: string;
926
+ dailyBudgetUsd: number | null;
927
+ spentTodayUsd: number;
928
+ }, {
929
+ name: string;
930
+ id: string;
931
+ dailyBudgetUsd: number | null;
932
+ spentTodayUsd: number;
933
+ }>, "many">;
934
+ }, "strip", z.ZodTypeAny, {
935
+ todayUsd: number;
936
+ groups: {
937
+ name: string;
938
+ id: string;
939
+ dailyBudgetUsd: number | null;
940
+ spentTodayUsd: number;
941
+ }[];
942
+ }, {
943
+ todayUsd: number;
944
+ groups: {
945
+ name: string;
946
+ id: string;
947
+ dailyBudgetUsd: number | null;
948
+ spentTodayUsd: number;
949
+ }[];
950
+ }>;
951
+ }, "strip", z.ZodTypeAny, {
952
+ runs: {
953
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
954
+ tokensIn: number;
955
+ tokensOut: number;
956
+ costUsd: number;
957
+ model: string;
958
+ budgetUsd: number;
959
+ services: {
960
+ name: string;
961
+ createdAt: string;
962
+ state: "failed" | "pending" | "probing" | "ready";
963
+ reason: string | null;
964
+ attempts: number | null;
965
+ readyAt: string | null;
966
+ failedAt: string | null;
967
+ }[];
968
+ id: string;
969
+ agentId: string;
970
+ trigger: {
971
+ kind: "manual";
972
+ } | {
973
+ kind: "scheduled";
974
+ schedule: string | null;
975
+ } | {
976
+ kind: "webhook";
977
+ } | {
978
+ kind: "subagent";
979
+ } | {
980
+ number: number | null;
981
+ repository: string;
982
+ provider: string;
983
+ event: "mention" | "review";
984
+ kind: "code_host";
985
+ } | {
986
+ provider: string;
987
+ kind: "issue";
988
+ issueKey: string;
989
+ } | {
990
+ kind: "host_event";
991
+ };
992
+ startedAt: string;
993
+ finishedAt: string | null;
994
+ heartbeatAt: string | null;
995
+ turns: number;
996
+ parentRunId: string | null;
997
+ agentKind: "native" | "coding";
998
+ agentName: string;
999
+ codingProvider: string | null;
1000
+ outcomes: ({
1001
+ number: number;
1002
+ at: string | null;
1003
+ repository: string;
1004
+ provider: string;
1005
+ kind: "pull_request";
1006
+ url: string;
1007
+ state: string | null;
1008
+ } | {
1009
+ number: number;
1010
+ at: string | null;
1011
+ repository: string;
1012
+ provider: string;
1013
+ kind: "code_host_comment";
1014
+ } | {
1015
+ at: string | null;
1016
+ provider: string;
1017
+ kind: "issue_comment";
1018
+ issueKey: string;
1019
+ } | {
1020
+ number: number | null;
1021
+ at: string | null;
1022
+ repository: string;
1023
+ provider: string;
1024
+ completed: boolean;
1025
+ kind: "check";
1026
+ })[];
1027
+ declaredServices: {
1028
+ name: string;
1029
+ version: string;
1030
+ }[];
1031
+ }[];
1032
+ truncated: boolean;
1033
+ limit: number;
1034
+ generatedAt: string;
1035
+ since: string;
1036
+ spend: {
1037
+ todayUsd: number;
1038
+ groups: {
1039
+ name: string;
1040
+ id: string;
1041
+ dailyBudgetUsd: number | null;
1042
+ spentTodayUsd: number;
1043
+ }[];
1044
+ };
1045
+ }, {
1046
+ runs: {
1047
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1048
+ tokensIn: number;
1049
+ tokensOut: number;
1050
+ costUsd: number;
1051
+ model: string;
1052
+ budgetUsd: number;
1053
+ services: {
1054
+ name: string;
1055
+ createdAt: string;
1056
+ state: "failed" | "pending" | "probing" | "ready";
1057
+ reason: string | null;
1058
+ attempts: number | null;
1059
+ readyAt: string | null;
1060
+ failedAt: string | null;
1061
+ }[];
1062
+ id: string;
1063
+ agentId: string;
1064
+ trigger: {
1065
+ kind: "manual";
1066
+ } | {
1067
+ kind: "scheduled";
1068
+ schedule: string | null;
1069
+ } | {
1070
+ kind: "webhook";
1071
+ } | {
1072
+ kind: "subagent";
1073
+ } | {
1074
+ number: number | null;
1075
+ repository: string;
1076
+ provider: string;
1077
+ event: "mention" | "review";
1078
+ kind: "code_host";
1079
+ } | {
1080
+ provider: string;
1081
+ kind: "issue";
1082
+ issueKey: string;
1083
+ } | {
1084
+ kind: "host_event";
1085
+ };
1086
+ startedAt: string;
1087
+ finishedAt: string | null;
1088
+ heartbeatAt: string | null;
1089
+ turns: number;
1090
+ parentRunId: string | null;
1091
+ agentKind: "native" | "coding";
1092
+ agentName: string;
1093
+ codingProvider: string | null;
1094
+ outcomes: ({
1095
+ number: number;
1096
+ at: string | null;
1097
+ repository: string;
1098
+ provider: string;
1099
+ kind: "pull_request";
1100
+ url: string;
1101
+ state: string | null;
1102
+ } | {
1103
+ number: number;
1104
+ at: string | null;
1105
+ repository: string;
1106
+ provider: string;
1107
+ kind: "code_host_comment";
1108
+ } | {
1109
+ at: string | null;
1110
+ provider: string;
1111
+ kind: "issue_comment";
1112
+ issueKey: string;
1113
+ } | {
1114
+ number: number | null;
1115
+ at: string | null;
1116
+ repository: string;
1117
+ provider: string;
1118
+ completed: boolean;
1119
+ kind: "check";
1120
+ })[];
1121
+ declaredServices: {
1122
+ name: string;
1123
+ version: string;
1124
+ }[];
1125
+ }[];
1126
+ truncated: boolean;
1127
+ limit: number;
1128
+ generatedAt: string;
1129
+ since: string;
1130
+ spend: {
1131
+ todayUsd: number;
1132
+ groups: {
1133
+ name: string;
1134
+ id: string;
1135
+ dailyBudgetUsd: number | null;
1136
+ spentTodayUsd: number;
1137
+ }[];
1138
+ };
1139
+ }>;
1140
+ export declare const RunDetailSchema: z.ZodObject<{
1141
+ id: z.ZodString;
1142
+ parentRunId: z.ZodNullable<z.ZodString>;
1143
+ agentId: z.ZodString;
1144
+ agentName: z.ZodString;
1145
+ agentKind: z.ZodEnum<["native", "coding"]>;
1146
+ /** The coding run's model, else the agent's. */
1147
+ model: z.ZodString;
1148
+ /** The coding worker (e.g. `codex`, `claude-code`); null for native runs. */
1149
+ codingProvider: z.ZodNullable<z.ZodString>;
1150
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
1151
+ trigger: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1152
+ kind: z.ZodLiteral<"manual">;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ kind: "manual";
1155
+ }, {
1156
+ kind: "manual";
1157
+ }>, z.ZodObject<{
1158
+ kind: z.ZodLiteral<"scheduled">;
1159
+ schedule: z.ZodNullable<z.ZodString>;
1160
+ }, "strip", z.ZodTypeAny, {
1161
+ kind: "scheduled";
1162
+ schedule: string | null;
1163
+ }, {
1164
+ kind: "scheduled";
1165
+ schedule: string | null;
1166
+ }>, z.ZodObject<{
1167
+ kind: z.ZodLiteral<"webhook">;
1168
+ }, "strip", z.ZodTypeAny, {
1169
+ kind: "webhook";
1170
+ }, {
1171
+ kind: "webhook";
1172
+ }>, z.ZodObject<{
1173
+ kind: z.ZodLiteral<"subagent">;
1174
+ }, "strip", z.ZodTypeAny, {
1175
+ kind: "subagent";
1176
+ }, {
1177
+ kind: "subagent";
1178
+ }>, z.ZodObject<{
1179
+ kind: z.ZodLiteral<"code_host">;
1180
+ provider: z.ZodString;
1181
+ repository: z.ZodString;
1182
+ number: z.ZodNullable<z.ZodNumber>;
1183
+ event: z.ZodEnum<["review", "mention"]>;
1184
+ }, "strip", z.ZodTypeAny, {
1185
+ number: number | null;
1186
+ repository: string;
1187
+ provider: string;
1188
+ event: "mention" | "review";
1189
+ kind: "code_host";
1190
+ }, {
1191
+ number: number | null;
1192
+ repository: string;
1193
+ provider: string;
1194
+ event: "mention" | "review";
1195
+ kind: "code_host";
1196
+ }>, z.ZodObject<{
1197
+ kind: z.ZodLiteral<"issue">;
1198
+ provider: z.ZodString;
1199
+ issueKey: z.ZodString;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ provider: string;
1202
+ kind: "issue";
1203
+ issueKey: string;
1204
+ }, {
1205
+ provider: string;
1206
+ kind: "issue";
1207
+ issueKey: string;
1208
+ }>, z.ZodObject<{
1209
+ kind: z.ZodLiteral<"host_event">;
1210
+ }, "strip", z.ZodTypeAny, {
1211
+ kind: "host_event";
1212
+ }, {
1213
+ kind: "host_event";
1214
+ }>]>;
1215
+ turns: z.ZodNumber;
1216
+ tokensIn: z.ZodNumber;
1217
+ tokensOut: z.ZodNumber;
1218
+ costUsd: z.ZodNumber;
1219
+ budgetUsd: z.ZodNumber;
1220
+ startedAt: z.ZodString;
1221
+ finishedAt: z.ZodNullable<z.ZodString>;
1222
+ heartbeatAt: z.ZodNullable<z.ZodString>;
1223
+ outcomes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1224
+ kind: z.ZodLiteral<"pull_request">;
1225
+ provider: z.ZodString;
1226
+ repository: z.ZodString;
1227
+ number: z.ZodNumber;
1228
+ url: z.ZodString;
1229
+ state: z.ZodNullable<z.ZodString>;
1230
+ at: z.ZodNullable<z.ZodString>;
1231
+ }, "strip", z.ZodTypeAny, {
1232
+ number: number;
1233
+ at: string | null;
1234
+ repository: string;
1235
+ provider: string;
1236
+ kind: "pull_request";
1237
+ url: string;
1238
+ state: string | null;
1239
+ }, {
1240
+ number: number;
1241
+ at: string | null;
1242
+ repository: string;
1243
+ provider: string;
1244
+ kind: "pull_request";
1245
+ url: string;
1246
+ state: string | null;
1247
+ }>, z.ZodObject<{
1248
+ kind: z.ZodLiteral<"code_host_comment">;
1249
+ provider: z.ZodString;
1250
+ repository: z.ZodString;
1251
+ number: z.ZodNumber;
1252
+ at: z.ZodNullable<z.ZodString>;
1253
+ }, "strip", z.ZodTypeAny, {
1254
+ number: number;
1255
+ at: string | null;
1256
+ repository: string;
1257
+ provider: string;
1258
+ kind: "code_host_comment";
1259
+ }, {
1260
+ number: number;
1261
+ at: string | null;
1262
+ repository: string;
1263
+ provider: string;
1264
+ kind: "code_host_comment";
1265
+ }>, z.ZodObject<{
1266
+ kind: z.ZodLiteral<"issue_comment">;
1267
+ provider: z.ZodString;
1268
+ issueKey: z.ZodString;
1269
+ at: z.ZodNullable<z.ZodString>;
1270
+ }, "strip", z.ZodTypeAny, {
1271
+ at: string | null;
1272
+ provider: string;
1273
+ kind: "issue_comment";
1274
+ issueKey: string;
1275
+ }, {
1276
+ at: string | null;
1277
+ provider: string;
1278
+ kind: "issue_comment";
1279
+ issueKey: string;
1280
+ }>, z.ZodObject<{
1281
+ kind: z.ZodLiteral<"check">;
1282
+ provider: z.ZodString;
1283
+ repository: z.ZodString;
1284
+ number: z.ZodNullable<z.ZodNumber>;
1285
+ completed: z.ZodBoolean;
1286
+ at: z.ZodNullable<z.ZodString>;
1287
+ }, "strip", z.ZodTypeAny, {
1288
+ number: number | null;
1289
+ at: string | null;
1290
+ repository: string;
1291
+ provider: string;
1292
+ completed: boolean;
1293
+ kind: "check";
1294
+ }, {
1295
+ number: number | null;
1296
+ at: string | null;
1297
+ repository: string;
1298
+ provider: string;
1299
+ completed: boolean;
1300
+ kind: "check";
1301
+ }>]>, "many">;
1302
+ /** The services a coding run was started with, recorded or not; empty for native runs. */
1303
+ declaredServices: z.ZodArray<z.ZodObject<{
1304
+ name: z.ZodString;
1305
+ version: z.ZodString;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ name: string;
1308
+ version: string;
1309
+ }, {
1310
+ name: string;
1311
+ version: string;
1312
+ }>, "many">;
1313
+ /** Recorded readiness of the run's services (none before status tracking existed). */
1314
+ services: z.ZodArray<z.ZodObject<{
1315
+ name: z.ZodString;
1316
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
1317
+ attempts: z.ZodNullable<z.ZodNumber>;
1318
+ reason: z.ZodNullable<z.ZodString>;
1319
+ readyAt: z.ZodNullable<z.ZodString>;
1320
+ failedAt: z.ZodNullable<z.ZodString>;
1321
+ createdAt: z.ZodString;
1322
+ }, "strip", z.ZodTypeAny, {
1323
+ name: string;
1324
+ createdAt: string;
1325
+ state: "failed" | "pending" | "probing" | "ready";
1326
+ reason: string | null;
1327
+ attempts: number | null;
1328
+ readyAt: string | null;
1329
+ failedAt: string | null;
1330
+ }, {
1331
+ name: string;
1332
+ createdAt: string;
1333
+ state: "failed" | "pending" | "probing" | "ready";
1334
+ reason: string | null;
1335
+ attempts: number | null;
1336
+ readyAt: string | null;
1337
+ failedAt: string | null;
1338
+ }>, "many">;
1339
+ } & {
1340
+ error: z.ZodNullable<z.ZodString>;
1341
+ finalText: z.ZodNullable<z.ZodString>;
1342
+ childRunIds: z.ZodArray<z.ZodString, "many">;
1343
+ coding: z.ZodNullable<z.ZodObject<{
1344
+ provider: z.ZodString;
1345
+ repository: z.ZodString;
1346
+ baseRef: z.ZodString;
1347
+ headRef: z.ZodString;
1348
+ queuedAt: z.ZodNullable<z.ZodString>;
1349
+ failureCategory: z.ZodNullable<z.ZodString>;
1350
+ services: z.ZodArray<z.ZodObject<{
1351
+ name: z.ZodString;
1352
+ version: z.ZodString;
1353
+ image: z.ZodString;
1354
+ envNames: z.ZodArray<z.ZodString, "many">;
1355
+ }, "strip", z.ZodTypeAny, {
1356
+ name: string;
1357
+ version: string;
1358
+ image: string;
1359
+ envNames: string[];
1360
+ }, {
1361
+ name: string;
1362
+ version: string;
1363
+ image: string;
1364
+ envNames: string[];
1365
+ }>, "many">;
1366
+ }, "strip", z.ZodTypeAny, {
1367
+ repository: string;
1368
+ baseRef: string;
1369
+ headRef: string;
1370
+ services: {
1371
+ name: string;
1372
+ version: string;
1373
+ image: string;
1374
+ envNames: string[];
1375
+ }[];
1376
+ provider: string;
1377
+ failureCategory: string | null;
1378
+ queuedAt: string | null;
1379
+ }, {
1380
+ repository: string;
1381
+ baseRef: string;
1382
+ headRef: string;
1383
+ services: {
1384
+ name: string;
1385
+ version: string;
1386
+ image: string;
1387
+ envNames: string[];
1388
+ }[];
1389
+ provider: string;
1390
+ failureCategory: string | null;
1391
+ queuedAt: string | null;
1392
+ }>>;
1393
+ }, "strip", z.ZodTypeAny, {
1394
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1395
+ tokensIn: number;
1396
+ tokensOut: number;
1397
+ costUsd: number;
1398
+ model: string;
1399
+ budgetUsd: number;
1400
+ services: {
1401
+ name: string;
1402
+ createdAt: string;
1403
+ state: "failed" | "pending" | "probing" | "ready";
1404
+ reason: string | null;
1405
+ attempts: number | null;
1406
+ readyAt: string | null;
1407
+ failedAt: string | null;
1408
+ }[];
1409
+ error: string | null;
1410
+ id: string;
1411
+ agentId: string;
1412
+ trigger: {
1413
+ kind: "manual";
1414
+ } | {
1415
+ kind: "scheduled";
1416
+ schedule: string | null;
1417
+ } | {
1418
+ kind: "webhook";
1419
+ } | {
1420
+ kind: "subagent";
1421
+ } | {
1422
+ number: number | null;
1423
+ repository: string;
1424
+ provider: string;
1425
+ event: "mention" | "review";
1426
+ kind: "code_host";
1427
+ } | {
1428
+ provider: string;
1429
+ kind: "issue";
1430
+ issueKey: string;
1431
+ } | {
1432
+ kind: "host_event";
1433
+ };
1434
+ startedAt: string;
1435
+ finishedAt: string | null;
1436
+ heartbeatAt: string | null;
1437
+ finalText: string | null;
1438
+ turns: number;
1439
+ parentRunId: string | null;
1440
+ coding: {
1441
+ repository: string;
1442
+ baseRef: string;
1443
+ headRef: string;
1444
+ services: {
1445
+ name: string;
1446
+ version: string;
1447
+ image: string;
1448
+ envNames: string[];
1449
+ }[];
1450
+ provider: string;
1451
+ failureCategory: string | null;
1452
+ queuedAt: string | null;
1453
+ } | null;
1454
+ agentKind: "native" | "coding";
1455
+ agentName: string;
1456
+ codingProvider: string | null;
1457
+ outcomes: ({
1458
+ number: number;
1459
+ at: string | null;
1460
+ repository: string;
1461
+ provider: string;
1462
+ kind: "pull_request";
1463
+ url: string;
1464
+ state: string | null;
1465
+ } | {
1466
+ number: number;
1467
+ at: string | null;
1468
+ repository: string;
1469
+ provider: string;
1470
+ kind: "code_host_comment";
1471
+ } | {
1472
+ at: string | null;
1473
+ provider: string;
1474
+ kind: "issue_comment";
1475
+ issueKey: string;
1476
+ } | {
1477
+ number: number | null;
1478
+ at: string | null;
1479
+ repository: string;
1480
+ provider: string;
1481
+ completed: boolean;
1482
+ kind: "check";
1483
+ })[];
1484
+ declaredServices: {
1485
+ name: string;
1486
+ version: string;
1487
+ }[];
1488
+ childRunIds: string[];
1489
+ }, {
1490
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1491
+ tokensIn: number;
1492
+ tokensOut: number;
1493
+ costUsd: number;
1494
+ model: string;
1495
+ budgetUsd: number;
1496
+ services: {
1497
+ name: string;
1498
+ createdAt: string;
1499
+ state: "failed" | "pending" | "probing" | "ready";
1500
+ reason: string | null;
1501
+ attempts: number | null;
1502
+ readyAt: string | null;
1503
+ failedAt: string | null;
1504
+ }[];
1505
+ error: string | null;
1506
+ id: string;
1507
+ agentId: string;
1508
+ trigger: {
1509
+ kind: "manual";
1510
+ } | {
1511
+ kind: "scheduled";
1512
+ schedule: string | null;
1513
+ } | {
1514
+ kind: "webhook";
1515
+ } | {
1516
+ kind: "subagent";
1517
+ } | {
1518
+ number: number | null;
1519
+ repository: string;
1520
+ provider: string;
1521
+ event: "mention" | "review";
1522
+ kind: "code_host";
1523
+ } | {
1524
+ provider: string;
1525
+ kind: "issue";
1526
+ issueKey: string;
1527
+ } | {
1528
+ kind: "host_event";
1529
+ };
1530
+ startedAt: string;
1531
+ finishedAt: string | null;
1532
+ heartbeatAt: string | null;
1533
+ finalText: string | null;
1534
+ turns: number;
1535
+ parentRunId: string | null;
1536
+ coding: {
1537
+ repository: string;
1538
+ baseRef: string;
1539
+ headRef: string;
1540
+ services: {
1541
+ name: string;
1542
+ version: string;
1543
+ image: string;
1544
+ envNames: string[];
1545
+ }[];
1546
+ provider: string;
1547
+ failureCategory: string | null;
1548
+ queuedAt: string | null;
1549
+ } | null;
1550
+ agentKind: "native" | "coding";
1551
+ agentName: string;
1552
+ codingProvider: string | null;
1553
+ outcomes: ({
1554
+ number: number;
1555
+ at: string | null;
1556
+ repository: string;
1557
+ provider: string;
1558
+ kind: "pull_request";
1559
+ url: string;
1560
+ state: string | null;
1561
+ } | {
1562
+ number: number;
1563
+ at: string | null;
1564
+ repository: string;
1565
+ provider: string;
1566
+ kind: "code_host_comment";
1567
+ } | {
1568
+ at: string | null;
1569
+ provider: string;
1570
+ kind: "issue_comment";
1571
+ issueKey: string;
1572
+ } | {
1573
+ number: number | null;
1574
+ at: string | null;
1575
+ repository: string;
1576
+ provider: string;
1577
+ completed: boolean;
1578
+ kind: "check";
1579
+ })[];
1580
+ declaredServices: {
1581
+ name: string;
1582
+ version: string;
1583
+ }[];
1584
+ childRunIds: string[];
1585
+ }>;
1586
+ export declare const ViewerEventSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1587
+ kind: z.ZodLiteral<"run">;
1588
+ runId: z.ZodString;
1589
+ parentRunId: z.ZodNullable<z.ZodString>;
1590
+ agentId: z.ZodString;
1591
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
1592
+ turns: z.ZodNumber;
1593
+ tokensIn: z.ZodNumber;
1594
+ tokensOut: z.ZodNumber;
1595
+ costUsd: z.ZodNumber;
1596
+ finishedAt: z.ZodNullable<z.ZodString>;
1597
+ }, "strip", z.ZodTypeAny, {
1598
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1599
+ tokensIn: number;
1600
+ tokensOut: number;
1601
+ costUsd: number;
1602
+ runId: string;
1603
+ kind: "run";
1604
+ agentId: string;
1605
+ finishedAt: string | null;
1606
+ turns: number;
1607
+ parentRunId: string | null;
1608
+ }, {
1609
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1610
+ tokensIn: number;
1611
+ tokensOut: number;
1612
+ costUsd: number;
1613
+ runId: string;
1614
+ kind: "run";
1615
+ agentId: string;
1616
+ finishedAt: string | null;
1617
+ turns: number;
1618
+ parentRunId: string | null;
1619
+ }>, z.ZodObject<{
1620
+ kind: z.ZodLiteral<"service">;
1621
+ runId: z.ZodString;
1622
+ name: z.ZodString;
1623
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
1624
+ attempts: z.ZodNullable<z.ZodNumber>;
1625
+ }, "strip", z.ZodTypeAny, {
1626
+ name: string;
1627
+ runId: string;
1628
+ kind: "service";
1629
+ state: "failed" | "pending" | "probing" | "ready";
1630
+ attempts: number | null;
1631
+ }, {
1632
+ name: string;
1633
+ runId: string;
1634
+ kind: "service";
1635
+ state: "failed" | "pending" | "probing" | "ready";
1636
+ attempts: number | null;
1637
+ }>, z.ZodObject<{
1638
+ kind: z.ZodLiteral<"outcome">;
1639
+ runId: z.ZodString;
1640
+ /** Which table changed (the viewer NOTIFY trigger names them). */
1641
+ source: z.ZodEnum<["pull_request", "host_status", "issue_status", "host_check"]>;
1642
+ }, "strip", z.ZodTypeAny, {
1643
+ runId: string;
1644
+ kind: "outcome";
1645
+ source: "pull_request" | "host_status" | "issue_status" | "host_check";
1646
+ }, {
1647
+ runId: string;
1648
+ kind: "outcome";
1649
+ source: "pull_request" | "host_status" | "issue_status" | "host_check";
1650
+ }>]>;
1651
+ export type RunTriggerInfo = z.infer<typeof RunTriggerSchema>;
1652
+ export type Outcome = z.infer<typeof OutcomeSchema>;
1653
+ export type ServiceStatus = z.infer<typeof ServiceStatusSchema>;
1654
+ export type GraphRun = z.infer<typeof GraphRunSchema>;
1655
+ export type GraphSnapshot = z.infer<typeof GraphSnapshotSchema>;
1656
+ export type RunDetail = z.infer<typeof RunDetailSchema>;
1657
+ export type ViewerEvent = z.infer<typeof ViewerEventSchema>;
1658
+ export declare const VIEWER_SCHEMAS: {
1659
+ readonly "graph-snapshot": z.ZodObject<{
1660
+ generatedAt: z.ZodString;
1661
+ since: z.ZodString;
1662
+ limit: z.ZodNumber;
1663
+ truncated: z.ZodBoolean;
1664
+ runs: z.ZodArray<z.ZodObject<{
1665
+ id: z.ZodString;
1666
+ parentRunId: z.ZodNullable<z.ZodString>;
1667
+ agentId: z.ZodString;
1668
+ agentName: z.ZodString;
1669
+ agentKind: z.ZodEnum<["native", "coding"]>;
1670
+ /** The coding run's model, else the agent's. */
1671
+ model: z.ZodString;
1672
+ /** The coding worker (e.g. `codex`, `claude-code`); null for native runs. */
1673
+ codingProvider: z.ZodNullable<z.ZodString>;
1674
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
1675
+ trigger: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1676
+ kind: z.ZodLiteral<"manual">;
1677
+ }, "strip", z.ZodTypeAny, {
1678
+ kind: "manual";
1679
+ }, {
1680
+ kind: "manual";
1681
+ }>, z.ZodObject<{
1682
+ kind: z.ZodLiteral<"scheduled">;
1683
+ schedule: z.ZodNullable<z.ZodString>;
1684
+ }, "strip", z.ZodTypeAny, {
1685
+ kind: "scheduled";
1686
+ schedule: string | null;
1687
+ }, {
1688
+ kind: "scheduled";
1689
+ schedule: string | null;
1690
+ }>, z.ZodObject<{
1691
+ kind: z.ZodLiteral<"webhook">;
1692
+ }, "strip", z.ZodTypeAny, {
1693
+ kind: "webhook";
1694
+ }, {
1695
+ kind: "webhook";
1696
+ }>, z.ZodObject<{
1697
+ kind: z.ZodLiteral<"subagent">;
1698
+ }, "strip", z.ZodTypeAny, {
1699
+ kind: "subagent";
1700
+ }, {
1701
+ kind: "subagent";
1702
+ }>, z.ZodObject<{
1703
+ kind: z.ZodLiteral<"code_host">;
1704
+ provider: z.ZodString;
1705
+ repository: z.ZodString;
1706
+ number: z.ZodNullable<z.ZodNumber>;
1707
+ event: z.ZodEnum<["review", "mention"]>;
1708
+ }, "strip", z.ZodTypeAny, {
1709
+ number: number | null;
1710
+ repository: string;
1711
+ provider: string;
1712
+ event: "mention" | "review";
1713
+ kind: "code_host";
1714
+ }, {
1715
+ number: number | null;
1716
+ repository: string;
1717
+ provider: string;
1718
+ event: "mention" | "review";
1719
+ kind: "code_host";
1720
+ }>, z.ZodObject<{
1721
+ kind: z.ZodLiteral<"issue">;
1722
+ provider: z.ZodString;
1723
+ issueKey: z.ZodString;
1724
+ }, "strip", z.ZodTypeAny, {
1725
+ provider: string;
1726
+ kind: "issue";
1727
+ issueKey: string;
1728
+ }, {
1729
+ provider: string;
1730
+ kind: "issue";
1731
+ issueKey: string;
1732
+ }>, z.ZodObject<{
1733
+ kind: z.ZodLiteral<"host_event">;
1734
+ }, "strip", z.ZodTypeAny, {
1735
+ kind: "host_event";
1736
+ }, {
1737
+ kind: "host_event";
1738
+ }>]>;
1739
+ turns: z.ZodNumber;
1740
+ tokensIn: z.ZodNumber;
1741
+ tokensOut: z.ZodNumber;
1742
+ costUsd: z.ZodNumber;
1743
+ budgetUsd: z.ZodNumber;
1744
+ startedAt: z.ZodString;
1745
+ finishedAt: z.ZodNullable<z.ZodString>;
1746
+ heartbeatAt: z.ZodNullable<z.ZodString>;
1747
+ outcomes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1748
+ kind: z.ZodLiteral<"pull_request">;
1749
+ provider: z.ZodString;
1750
+ repository: z.ZodString;
1751
+ number: z.ZodNumber;
1752
+ url: z.ZodString;
1753
+ state: z.ZodNullable<z.ZodString>;
1754
+ at: z.ZodNullable<z.ZodString>;
1755
+ }, "strip", z.ZodTypeAny, {
1756
+ number: number;
1757
+ at: string | null;
1758
+ repository: string;
1759
+ provider: string;
1760
+ kind: "pull_request";
1761
+ url: string;
1762
+ state: string | null;
1763
+ }, {
1764
+ number: number;
1765
+ at: string | null;
1766
+ repository: string;
1767
+ provider: string;
1768
+ kind: "pull_request";
1769
+ url: string;
1770
+ state: string | null;
1771
+ }>, z.ZodObject<{
1772
+ kind: z.ZodLiteral<"code_host_comment">;
1773
+ provider: z.ZodString;
1774
+ repository: z.ZodString;
1775
+ number: z.ZodNumber;
1776
+ at: z.ZodNullable<z.ZodString>;
1777
+ }, "strip", z.ZodTypeAny, {
1778
+ number: number;
1779
+ at: string | null;
1780
+ repository: string;
1781
+ provider: string;
1782
+ kind: "code_host_comment";
1783
+ }, {
1784
+ number: number;
1785
+ at: string | null;
1786
+ repository: string;
1787
+ provider: string;
1788
+ kind: "code_host_comment";
1789
+ }>, z.ZodObject<{
1790
+ kind: z.ZodLiteral<"issue_comment">;
1791
+ provider: z.ZodString;
1792
+ issueKey: z.ZodString;
1793
+ at: z.ZodNullable<z.ZodString>;
1794
+ }, "strip", z.ZodTypeAny, {
1795
+ at: string | null;
1796
+ provider: string;
1797
+ kind: "issue_comment";
1798
+ issueKey: string;
1799
+ }, {
1800
+ at: string | null;
1801
+ provider: string;
1802
+ kind: "issue_comment";
1803
+ issueKey: string;
1804
+ }>, z.ZodObject<{
1805
+ kind: z.ZodLiteral<"check">;
1806
+ provider: z.ZodString;
1807
+ repository: z.ZodString;
1808
+ number: z.ZodNullable<z.ZodNumber>;
1809
+ completed: z.ZodBoolean;
1810
+ at: z.ZodNullable<z.ZodString>;
1811
+ }, "strip", z.ZodTypeAny, {
1812
+ number: number | null;
1813
+ at: string | null;
1814
+ repository: string;
1815
+ provider: string;
1816
+ completed: boolean;
1817
+ kind: "check";
1818
+ }, {
1819
+ number: number | null;
1820
+ at: string | null;
1821
+ repository: string;
1822
+ provider: string;
1823
+ completed: boolean;
1824
+ kind: "check";
1825
+ }>]>, "many">;
1826
+ /** The services a coding run was started with, recorded or not; empty for native runs. */
1827
+ declaredServices: z.ZodArray<z.ZodObject<{
1828
+ name: z.ZodString;
1829
+ version: z.ZodString;
1830
+ }, "strip", z.ZodTypeAny, {
1831
+ name: string;
1832
+ version: string;
1833
+ }, {
1834
+ name: string;
1835
+ version: string;
1836
+ }>, "many">;
1837
+ /** Recorded readiness of the run's services (none before status tracking existed). */
1838
+ services: z.ZodArray<z.ZodObject<{
1839
+ name: z.ZodString;
1840
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
1841
+ attempts: z.ZodNullable<z.ZodNumber>;
1842
+ reason: z.ZodNullable<z.ZodString>;
1843
+ readyAt: z.ZodNullable<z.ZodString>;
1844
+ failedAt: z.ZodNullable<z.ZodString>;
1845
+ createdAt: z.ZodString;
1846
+ }, "strip", z.ZodTypeAny, {
1847
+ name: string;
1848
+ createdAt: string;
1849
+ state: "failed" | "pending" | "probing" | "ready";
1850
+ reason: string | null;
1851
+ attempts: number | null;
1852
+ readyAt: string | null;
1853
+ failedAt: string | null;
1854
+ }, {
1855
+ name: string;
1856
+ createdAt: string;
1857
+ state: "failed" | "pending" | "probing" | "ready";
1858
+ reason: string | null;
1859
+ attempts: number | null;
1860
+ readyAt: string | null;
1861
+ failedAt: string | null;
1862
+ }>, "many">;
1863
+ }, "strip", z.ZodTypeAny, {
1864
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1865
+ tokensIn: number;
1866
+ tokensOut: number;
1867
+ costUsd: number;
1868
+ model: string;
1869
+ budgetUsd: number;
1870
+ services: {
1871
+ name: string;
1872
+ createdAt: string;
1873
+ state: "failed" | "pending" | "probing" | "ready";
1874
+ reason: string | null;
1875
+ attempts: number | null;
1876
+ readyAt: string | null;
1877
+ failedAt: string | null;
1878
+ }[];
1879
+ id: string;
1880
+ agentId: string;
1881
+ trigger: {
1882
+ kind: "manual";
1883
+ } | {
1884
+ kind: "scheduled";
1885
+ schedule: string | null;
1886
+ } | {
1887
+ kind: "webhook";
1888
+ } | {
1889
+ kind: "subagent";
1890
+ } | {
1891
+ number: number | null;
1892
+ repository: string;
1893
+ provider: string;
1894
+ event: "mention" | "review";
1895
+ kind: "code_host";
1896
+ } | {
1897
+ provider: string;
1898
+ kind: "issue";
1899
+ issueKey: string;
1900
+ } | {
1901
+ kind: "host_event";
1902
+ };
1903
+ startedAt: string;
1904
+ finishedAt: string | null;
1905
+ heartbeatAt: string | null;
1906
+ turns: number;
1907
+ parentRunId: string | null;
1908
+ agentKind: "native" | "coding";
1909
+ agentName: string;
1910
+ codingProvider: string | null;
1911
+ outcomes: ({
1912
+ number: number;
1913
+ at: string | null;
1914
+ repository: string;
1915
+ provider: string;
1916
+ kind: "pull_request";
1917
+ url: string;
1918
+ state: string | null;
1919
+ } | {
1920
+ number: number;
1921
+ at: string | null;
1922
+ repository: string;
1923
+ provider: string;
1924
+ kind: "code_host_comment";
1925
+ } | {
1926
+ at: string | null;
1927
+ provider: string;
1928
+ kind: "issue_comment";
1929
+ issueKey: string;
1930
+ } | {
1931
+ number: number | null;
1932
+ at: string | null;
1933
+ repository: string;
1934
+ provider: string;
1935
+ completed: boolean;
1936
+ kind: "check";
1937
+ })[];
1938
+ declaredServices: {
1939
+ name: string;
1940
+ version: string;
1941
+ }[];
1942
+ }, {
1943
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
1944
+ tokensIn: number;
1945
+ tokensOut: number;
1946
+ costUsd: number;
1947
+ model: string;
1948
+ budgetUsd: number;
1949
+ services: {
1950
+ name: string;
1951
+ createdAt: string;
1952
+ state: "failed" | "pending" | "probing" | "ready";
1953
+ reason: string | null;
1954
+ attempts: number | null;
1955
+ readyAt: string | null;
1956
+ failedAt: string | null;
1957
+ }[];
1958
+ id: string;
1959
+ agentId: string;
1960
+ trigger: {
1961
+ kind: "manual";
1962
+ } | {
1963
+ kind: "scheduled";
1964
+ schedule: string | null;
1965
+ } | {
1966
+ kind: "webhook";
1967
+ } | {
1968
+ kind: "subagent";
1969
+ } | {
1970
+ number: number | null;
1971
+ repository: string;
1972
+ provider: string;
1973
+ event: "mention" | "review";
1974
+ kind: "code_host";
1975
+ } | {
1976
+ provider: string;
1977
+ kind: "issue";
1978
+ issueKey: string;
1979
+ } | {
1980
+ kind: "host_event";
1981
+ };
1982
+ startedAt: string;
1983
+ finishedAt: string | null;
1984
+ heartbeatAt: string | null;
1985
+ turns: number;
1986
+ parentRunId: string | null;
1987
+ agentKind: "native" | "coding";
1988
+ agentName: string;
1989
+ codingProvider: string | null;
1990
+ outcomes: ({
1991
+ number: number;
1992
+ at: string | null;
1993
+ repository: string;
1994
+ provider: string;
1995
+ kind: "pull_request";
1996
+ url: string;
1997
+ state: string | null;
1998
+ } | {
1999
+ number: number;
2000
+ at: string | null;
2001
+ repository: string;
2002
+ provider: string;
2003
+ kind: "code_host_comment";
2004
+ } | {
2005
+ at: string | null;
2006
+ provider: string;
2007
+ kind: "issue_comment";
2008
+ issueKey: string;
2009
+ } | {
2010
+ number: number | null;
2011
+ at: string | null;
2012
+ repository: string;
2013
+ provider: string;
2014
+ completed: boolean;
2015
+ kind: "check";
2016
+ })[];
2017
+ declaredServices: {
2018
+ name: string;
2019
+ version: string;
2020
+ }[];
2021
+ }>, "many">;
2022
+ spend: z.ZodObject<{
2023
+ todayUsd: z.ZodNumber;
2024
+ groups: z.ZodArray<z.ZodObject<{
2025
+ id: z.ZodString;
2026
+ name: z.ZodString;
2027
+ dailyBudgetUsd: z.ZodNullable<z.ZodNumber>;
2028
+ spentTodayUsd: z.ZodNumber;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ name: string;
2031
+ id: string;
2032
+ dailyBudgetUsd: number | null;
2033
+ spentTodayUsd: number;
2034
+ }, {
2035
+ name: string;
2036
+ id: string;
2037
+ dailyBudgetUsd: number | null;
2038
+ spentTodayUsd: number;
2039
+ }>, "many">;
2040
+ }, "strip", z.ZodTypeAny, {
2041
+ todayUsd: number;
2042
+ groups: {
2043
+ name: string;
2044
+ id: string;
2045
+ dailyBudgetUsd: number | null;
2046
+ spentTodayUsd: number;
2047
+ }[];
2048
+ }, {
2049
+ todayUsd: number;
2050
+ groups: {
2051
+ name: string;
2052
+ id: string;
2053
+ dailyBudgetUsd: number | null;
2054
+ spentTodayUsd: number;
2055
+ }[];
2056
+ }>;
2057
+ }, "strip", z.ZodTypeAny, {
2058
+ runs: {
2059
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2060
+ tokensIn: number;
2061
+ tokensOut: number;
2062
+ costUsd: number;
2063
+ model: string;
2064
+ budgetUsd: number;
2065
+ services: {
2066
+ name: string;
2067
+ createdAt: string;
2068
+ state: "failed" | "pending" | "probing" | "ready";
2069
+ reason: string | null;
2070
+ attempts: number | null;
2071
+ readyAt: string | null;
2072
+ failedAt: string | null;
2073
+ }[];
2074
+ id: string;
2075
+ agentId: string;
2076
+ trigger: {
2077
+ kind: "manual";
2078
+ } | {
2079
+ kind: "scheduled";
2080
+ schedule: string | null;
2081
+ } | {
2082
+ kind: "webhook";
2083
+ } | {
2084
+ kind: "subagent";
2085
+ } | {
2086
+ number: number | null;
2087
+ repository: string;
2088
+ provider: string;
2089
+ event: "mention" | "review";
2090
+ kind: "code_host";
2091
+ } | {
2092
+ provider: string;
2093
+ kind: "issue";
2094
+ issueKey: string;
2095
+ } | {
2096
+ kind: "host_event";
2097
+ };
2098
+ startedAt: string;
2099
+ finishedAt: string | null;
2100
+ heartbeatAt: string | null;
2101
+ turns: number;
2102
+ parentRunId: string | null;
2103
+ agentKind: "native" | "coding";
2104
+ agentName: string;
2105
+ codingProvider: string | null;
2106
+ outcomes: ({
2107
+ number: number;
2108
+ at: string | null;
2109
+ repository: string;
2110
+ provider: string;
2111
+ kind: "pull_request";
2112
+ url: string;
2113
+ state: string | null;
2114
+ } | {
2115
+ number: number;
2116
+ at: string | null;
2117
+ repository: string;
2118
+ provider: string;
2119
+ kind: "code_host_comment";
2120
+ } | {
2121
+ at: string | null;
2122
+ provider: string;
2123
+ kind: "issue_comment";
2124
+ issueKey: string;
2125
+ } | {
2126
+ number: number | null;
2127
+ at: string | null;
2128
+ repository: string;
2129
+ provider: string;
2130
+ completed: boolean;
2131
+ kind: "check";
2132
+ })[];
2133
+ declaredServices: {
2134
+ name: string;
2135
+ version: string;
2136
+ }[];
2137
+ }[];
2138
+ truncated: boolean;
2139
+ limit: number;
2140
+ generatedAt: string;
2141
+ since: string;
2142
+ spend: {
2143
+ todayUsd: number;
2144
+ groups: {
2145
+ name: string;
2146
+ id: string;
2147
+ dailyBudgetUsd: number | null;
2148
+ spentTodayUsd: number;
2149
+ }[];
2150
+ };
2151
+ }, {
2152
+ runs: {
2153
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2154
+ tokensIn: number;
2155
+ tokensOut: number;
2156
+ costUsd: number;
2157
+ model: string;
2158
+ budgetUsd: number;
2159
+ services: {
2160
+ name: string;
2161
+ createdAt: string;
2162
+ state: "failed" | "pending" | "probing" | "ready";
2163
+ reason: string | null;
2164
+ attempts: number | null;
2165
+ readyAt: string | null;
2166
+ failedAt: string | null;
2167
+ }[];
2168
+ id: string;
2169
+ agentId: string;
2170
+ trigger: {
2171
+ kind: "manual";
2172
+ } | {
2173
+ kind: "scheduled";
2174
+ schedule: string | null;
2175
+ } | {
2176
+ kind: "webhook";
2177
+ } | {
2178
+ kind: "subagent";
2179
+ } | {
2180
+ number: number | null;
2181
+ repository: string;
2182
+ provider: string;
2183
+ event: "mention" | "review";
2184
+ kind: "code_host";
2185
+ } | {
2186
+ provider: string;
2187
+ kind: "issue";
2188
+ issueKey: string;
2189
+ } | {
2190
+ kind: "host_event";
2191
+ };
2192
+ startedAt: string;
2193
+ finishedAt: string | null;
2194
+ heartbeatAt: string | null;
2195
+ turns: number;
2196
+ parentRunId: string | null;
2197
+ agentKind: "native" | "coding";
2198
+ agentName: string;
2199
+ codingProvider: string | null;
2200
+ outcomes: ({
2201
+ number: number;
2202
+ at: string | null;
2203
+ repository: string;
2204
+ provider: string;
2205
+ kind: "pull_request";
2206
+ url: string;
2207
+ state: string | null;
2208
+ } | {
2209
+ number: number;
2210
+ at: string | null;
2211
+ repository: string;
2212
+ provider: string;
2213
+ kind: "code_host_comment";
2214
+ } | {
2215
+ at: string | null;
2216
+ provider: string;
2217
+ kind: "issue_comment";
2218
+ issueKey: string;
2219
+ } | {
2220
+ number: number | null;
2221
+ at: string | null;
2222
+ repository: string;
2223
+ provider: string;
2224
+ completed: boolean;
2225
+ kind: "check";
2226
+ })[];
2227
+ declaredServices: {
2228
+ name: string;
2229
+ version: string;
2230
+ }[];
2231
+ }[];
2232
+ truncated: boolean;
2233
+ limit: number;
2234
+ generatedAt: string;
2235
+ since: string;
2236
+ spend: {
2237
+ todayUsd: number;
2238
+ groups: {
2239
+ name: string;
2240
+ id: string;
2241
+ dailyBudgetUsd: number | null;
2242
+ spentTodayUsd: number;
2243
+ }[];
2244
+ };
2245
+ }>;
2246
+ readonly "run-detail": z.ZodObject<{
2247
+ id: z.ZodString;
2248
+ parentRunId: z.ZodNullable<z.ZodString>;
2249
+ agentId: z.ZodString;
2250
+ agentName: z.ZodString;
2251
+ agentKind: z.ZodEnum<["native", "coding"]>;
2252
+ /** The coding run's model, else the agent's. */
2253
+ model: z.ZodString;
2254
+ /** The coding worker (e.g. `codex`, `claude-code`); null for native runs. */
2255
+ codingProvider: z.ZodNullable<z.ZodString>;
2256
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
2257
+ trigger: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2258
+ kind: z.ZodLiteral<"manual">;
2259
+ }, "strip", z.ZodTypeAny, {
2260
+ kind: "manual";
2261
+ }, {
2262
+ kind: "manual";
2263
+ }>, z.ZodObject<{
2264
+ kind: z.ZodLiteral<"scheduled">;
2265
+ schedule: z.ZodNullable<z.ZodString>;
2266
+ }, "strip", z.ZodTypeAny, {
2267
+ kind: "scheduled";
2268
+ schedule: string | null;
2269
+ }, {
2270
+ kind: "scheduled";
2271
+ schedule: string | null;
2272
+ }>, z.ZodObject<{
2273
+ kind: z.ZodLiteral<"webhook">;
2274
+ }, "strip", z.ZodTypeAny, {
2275
+ kind: "webhook";
2276
+ }, {
2277
+ kind: "webhook";
2278
+ }>, z.ZodObject<{
2279
+ kind: z.ZodLiteral<"subagent">;
2280
+ }, "strip", z.ZodTypeAny, {
2281
+ kind: "subagent";
2282
+ }, {
2283
+ kind: "subagent";
2284
+ }>, z.ZodObject<{
2285
+ kind: z.ZodLiteral<"code_host">;
2286
+ provider: z.ZodString;
2287
+ repository: z.ZodString;
2288
+ number: z.ZodNullable<z.ZodNumber>;
2289
+ event: z.ZodEnum<["review", "mention"]>;
2290
+ }, "strip", z.ZodTypeAny, {
2291
+ number: number | null;
2292
+ repository: string;
2293
+ provider: string;
2294
+ event: "mention" | "review";
2295
+ kind: "code_host";
2296
+ }, {
2297
+ number: number | null;
2298
+ repository: string;
2299
+ provider: string;
2300
+ event: "mention" | "review";
2301
+ kind: "code_host";
2302
+ }>, z.ZodObject<{
2303
+ kind: z.ZodLiteral<"issue">;
2304
+ provider: z.ZodString;
2305
+ issueKey: z.ZodString;
2306
+ }, "strip", z.ZodTypeAny, {
2307
+ provider: string;
2308
+ kind: "issue";
2309
+ issueKey: string;
2310
+ }, {
2311
+ provider: string;
2312
+ kind: "issue";
2313
+ issueKey: string;
2314
+ }>, z.ZodObject<{
2315
+ kind: z.ZodLiteral<"host_event">;
2316
+ }, "strip", z.ZodTypeAny, {
2317
+ kind: "host_event";
2318
+ }, {
2319
+ kind: "host_event";
2320
+ }>]>;
2321
+ turns: z.ZodNumber;
2322
+ tokensIn: z.ZodNumber;
2323
+ tokensOut: z.ZodNumber;
2324
+ costUsd: z.ZodNumber;
2325
+ budgetUsd: z.ZodNumber;
2326
+ startedAt: z.ZodString;
2327
+ finishedAt: z.ZodNullable<z.ZodString>;
2328
+ heartbeatAt: z.ZodNullable<z.ZodString>;
2329
+ outcomes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2330
+ kind: z.ZodLiteral<"pull_request">;
2331
+ provider: z.ZodString;
2332
+ repository: z.ZodString;
2333
+ number: z.ZodNumber;
2334
+ url: z.ZodString;
2335
+ state: z.ZodNullable<z.ZodString>;
2336
+ at: z.ZodNullable<z.ZodString>;
2337
+ }, "strip", z.ZodTypeAny, {
2338
+ number: number;
2339
+ at: string | null;
2340
+ repository: string;
2341
+ provider: string;
2342
+ kind: "pull_request";
2343
+ url: string;
2344
+ state: string | null;
2345
+ }, {
2346
+ number: number;
2347
+ at: string | null;
2348
+ repository: string;
2349
+ provider: string;
2350
+ kind: "pull_request";
2351
+ url: string;
2352
+ state: string | null;
2353
+ }>, z.ZodObject<{
2354
+ kind: z.ZodLiteral<"code_host_comment">;
2355
+ provider: z.ZodString;
2356
+ repository: z.ZodString;
2357
+ number: z.ZodNumber;
2358
+ at: z.ZodNullable<z.ZodString>;
2359
+ }, "strip", z.ZodTypeAny, {
2360
+ number: number;
2361
+ at: string | null;
2362
+ repository: string;
2363
+ provider: string;
2364
+ kind: "code_host_comment";
2365
+ }, {
2366
+ number: number;
2367
+ at: string | null;
2368
+ repository: string;
2369
+ provider: string;
2370
+ kind: "code_host_comment";
2371
+ }>, z.ZodObject<{
2372
+ kind: z.ZodLiteral<"issue_comment">;
2373
+ provider: z.ZodString;
2374
+ issueKey: z.ZodString;
2375
+ at: z.ZodNullable<z.ZodString>;
2376
+ }, "strip", z.ZodTypeAny, {
2377
+ at: string | null;
2378
+ provider: string;
2379
+ kind: "issue_comment";
2380
+ issueKey: string;
2381
+ }, {
2382
+ at: string | null;
2383
+ provider: string;
2384
+ kind: "issue_comment";
2385
+ issueKey: string;
2386
+ }>, z.ZodObject<{
2387
+ kind: z.ZodLiteral<"check">;
2388
+ provider: z.ZodString;
2389
+ repository: z.ZodString;
2390
+ number: z.ZodNullable<z.ZodNumber>;
2391
+ completed: z.ZodBoolean;
2392
+ at: z.ZodNullable<z.ZodString>;
2393
+ }, "strip", z.ZodTypeAny, {
2394
+ number: number | null;
2395
+ at: string | null;
2396
+ repository: string;
2397
+ provider: string;
2398
+ completed: boolean;
2399
+ kind: "check";
2400
+ }, {
2401
+ number: number | null;
2402
+ at: string | null;
2403
+ repository: string;
2404
+ provider: string;
2405
+ completed: boolean;
2406
+ kind: "check";
2407
+ }>]>, "many">;
2408
+ /** The services a coding run was started with, recorded or not; empty for native runs. */
2409
+ declaredServices: z.ZodArray<z.ZodObject<{
2410
+ name: z.ZodString;
2411
+ version: z.ZodString;
2412
+ }, "strip", z.ZodTypeAny, {
2413
+ name: string;
2414
+ version: string;
2415
+ }, {
2416
+ name: string;
2417
+ version: string;
2418
+ }>, "many">;
2419
+ /** Recorded readiness of the run's services (none before status tracking existed). */
2420
+ services: z.ZodArray<z.ZodObject<{
2421
+ name: z.ZodString;
2422
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
2423
+ attempts: z.ZodNullable<z.ZodNumber>;
2424
+ reason: z.ZodNullable<z.ZodString>;
2425
+ readyAt: z.ZodNullable<z.ZodString>;
2426
+ failedAt: z.ZodNullable<z.ZodString>;
2427
+ createdAt: z.ZodString;
2428
+ }, "strip", z.ZodTypeAny, {
2429
+ name: string;
2430
+ createdAt: string;
2431
+ state: "failed" | "pending" | "probing" | "ready";
2432
+ reason: string | null;
2433
+ attempts: number | null;
2434
+ readyAt: string | null;
2435
+ failedAt: string | null;
2436
+ }, {
2437
+ name: string;
2438
+ createdAt: string;
2439
+ state: "failed" | "pending" | "probing" | "ready";
2440
+ reason: string | null;
2441
+ attempts: number | null;
2442
+ readyAt: string | null;
2443
+ failedAt: string | null;
2444
+ }>, "many">;
2445
+ } & {
2446
+ error: z.ZodNullable<z.ZodString>;
2447
+ finalText: z.ZodNullable<z.ZodString>;
2448
+ childRunIds: z.ZodArray<z.ZodString, "many">;
2449
+ coding: z.ZodNullable<z.ZodObject<{
2450
+ provider: z.ZodString;
2451
+ repository: z.ZodString;
2452
+ baseRef: z.ZodString;
2453
+ headRef: z.ZodString;
2454
+ queuedAt: z.ZodNullable<z.ZodString>;
2455
+ failureCategory: z.ZodNullable<z.ZodString>;
2456
+ services: z.ZodArray<z.ZodObject<{
2457
+ name: z.ZodString;
2458
+ version: z.ZodString;
2459
+ image: z.ZodString;
2460
+ envNames: z.ZodArray<z.ZodString, "many">;
2461
+ }, "strip", z.ZodTypeAny, {
2462
+ name: string;
2463
+ version: string;
2464
+ image: string;
2465
+ envNames: string[];
2466
+ }, {
2467
+ name: string;
2468
+ version: string;
2469
+ image: string;
2470
+ envNames: string[];
2471
+ }>, "many">;
2472
+ }, "strip", z.ZodTypeAny, {
2473
+ repository: string;
2474
+ baseRef: string;
2475
+ headRef: string;
2476
+ services: {
2477
+ name: string;
2478
+ version: string;
2479
+ image: string;
2480
+ envNames: string[];
2481
+ }[];
2482
+ provider: string;
2483
+ failureCategory: string | null;
2484
+ queuedAt: string | null;
2485
+ }, {
2486
+ repository: string;
2487
+ baseRef: string;
2488
+ headRef: string;
2489
+ services: {
2490
+ name: string;
2491
+ version: string;
2492
+ image: string;
2493
+ envNames: string[];
2494
+ }[];
2495
+ provider: string;
2496
+ failureCategory: string | null;
2497
+ queuedAt: string | null;
2498
+ }>>;
2499
+ }, "strip", z.ZodTypeAny, {
2500
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2501
+ tokensIn: number;
2502
+ tokensOut: number;
2503
+ costUsd: number;
2504
+ model: string;
2505
+ budgetUsd: number;
2506
+ services: {
2507
+ name: string;
2508
+ createdAt: string;
2509
+ state: "failed" | "pending" | "probing" | "ready";
2510
+ reason: string | null;
2511
+ attempts: number | null;
2512
+ readyAt: string | null;
2513
+ failedAt: string | null;
2514
+ }[];
2515
+ error: string | null;
2516
+ id: string;
2517
+ agentId: string;
2518
+ trigger: {
2519
+ kind: "manual";
2520
+ } | {
2521
+ kind: "scheduled";
2522
+ schedule: string | null;
2523
+ } | {
2524
+ kind: "webhook";
2525
+ } | {
2526
+ kind: "subagent";
2527
+ } | {
2528
+ number: number | null;
2529
+ repository: string;
2530
+ provider: string;
2531
+ event: "mention" | "review";
2532
+ kind: "code_host";
2533
+ } | {
2534
+ provider: string;
2535
+ kind: "issue";
2536
+ issueKey: string;
2537
+ } | {
2538
+ kind: "host_event";
2539
+ };
2540
+ startedAt: string;
2541
+ finishedAt: string | null;
2542
+ heartbeatAt: string | null;
2543
+ finalText: string | null;
2544
+ turns: number;
2545
+ parentRunId: string | null;
2546
+ coding: {
2547
+ repository: string;
2548
+ baseRef: string;
2549
+ headRef: string;
2550
+ services: {
2551
+ name: string;
2552
+ version: string;
2553
+ image: string;
2554
+ envNames: string[];
2555
+ }[];
2556
+ provider: string;
2557
+ failureCategory: string | null;
2558
+ queuedAt: string | null;
2559
+ } | null;
2560
+ agentKind: "native" | "coding";
2561
+ agentName: string;
2562
+ codingProvider: string | null;
2563
+ outcomes: ({
2564
+ number: number;
2565
+ at: string | null;
2566
+ repository: string;
2567
+ provider: string;
2568
+ kind: "pull_request";
2569
+ url: string;
2570
+ state: string | null;
2571
+ } | {
2572
+ number: number;
2573
+ at: string | null;
2574
+ repository: string;
2575
+ provider: string;
2576
+ kind: "code_host_comment";
2577
+ } | {
2578
+ at: string | null;
2579
+ provider: string;
2580
+ kind: "issue_comment";
2581
+ issueKey: string;
2582
+ } | {
2583
+ number: number | null;
2584
+ at: string | null;
2585
+ repository: string;
2586
+ provider: string;
2587
+ completed: boolean;
2588
+ kind: "check";
2589
+ })[];
2590
+ declaredServices: {
2591
+ name: string;
2592
+ version: string;
2593
+ }[];
2594
+ childRunIds: string[];
2595
+ }, {
2596
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2597
+ tokensIn: number;
2598
+ tokensOut: number;
2599
+ costUsd: number;
2600
+ model: string;
2601
+ budgetUsd: number;
2602
+ services: {
2603
+ name: string;
2604
+ createdAt: string;
2605
+ state: "failed" | "pending" | "probing" | "ready";
2606
+ reason: string | null;
2607
+ attempts: number | null;
2608
+ readyAt: string | null;
2609
+ failedAt: string | null;
2610
+ }[];
2611
+ error: string | null;
2612
+ id: string;
2613
+ agentId: string;
2614
+ trigger: {
2615
+ kind: "manual";
2616
+ } | {
2617
+ kind: "scheduled";
2618
+ schedule: string | null;
2619
+ } | {
2620
+ kind: "webhook";
2621
+ } | {
2622
+ kind: "subagent";
2623
+ } | {
2624
+ number: number | null;
2625
+ repository: string;
2626
+ provider: string;
2627
+ event: "mention" | "review";
2628
+ kind: "code_host";
2629
+ } | {
2630
+ provider: string;
2631
+ kind: "issue";
2632
+ issueKey: string;
2633
+ } | {
2634
+ kind: "host_event";
2635
+ };
2636
+ startedAt: string;
2637
+ finishedAt: string | null;
2638
+ heartbeatAt: string | null;
2639
+ finalText: string | null;
2640
+ turns: number;
2641
+ parentRunId: string | null;
2642
+ coding: {
2643
+ repository: string;
2644
+ baseRef: string;
2645
+ headRef: string;
2646
+ services: {
2647
+ name: string;
2648
+ version: string;
2649
+ image: string;
2650
+ envNames: string[];
2651
+ }[];
2652
+ provider: string;
2653
+ failureCategory: string | null;
2654
+ queuedAt: string | null;
2655
+ } | null;
2656
+ agentKind: "native" | "coding";
2657
+ agentName: string;
2658
+ codingProvider: string | null;
2659
+ outcomes: ({
2660
+ number: number;
2661
+ at: string | null;
2662
+ repository: string;
2663
+ provider: string;
2664
+ kind: "pull_request";
2665
+ url: string;
2666
+ state: string | null;
2667
+ } | {
2668
+ number: number;
2669
+ at: string | null;
2670
+ repository: string;
2671
+ provider: string;
2672
+ kind: "code_host_comment";
2673
+ } | {
2674
+ at: string | null;
2675
+ provider: string;
2676
+ kind: "issue_comment";
2677
+ issueKey: string;
2678
+ } | {
2679
+ number: number | null;
2680
+ at: string | null;
2681
+ repository: string;
2682
+ provider: string;
2683
+ completed: boolean;
2684
+ kind: "check";
2685
+ })[];
2686
+ declaredServices: {
2687
+ name: string;
2688
+ version: string;
2689
+ }[];
2690
+ childRunIds: string[];
2691
+ }>;
2692
+ readonly "viewer-event": z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2693
+ kind: z.ZodLiteral<"run">;
2694
+ runId: z.ZodString;
2695
+ parentRunId: z.ZodNullable<z.ZodString>;
2696
+ agentId: z.ZodString;
2697
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "refused", "lost", "budget_exhausted", "cancelled"]>;
2698
+ turns: z.ZodNumber;
2699
+ tokensIn: z.ZodNumber;
2700
+ tokensOut: z.ZodNumber;
2701
+ costUsd: z.ZodNumber;
2702
+ finishedAt: z.ZodNullable<z.ZodString>;
2703
+ }, "strip", z.ZodTypeAny, {
2704
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2705
+ tokensIn: number;
2706
+ tokensOut: number;
2707
+ costUsd: number;
2708
+ runId: string;
2709
+ kind: "run";
2710
+ agentId: string;
2711
+ finishedAt: string | null;
2712
+ turns: number;
2713
+ parentRunId: string | null;
2714
+ }, {
2715
+ status: "failed" | "budget_exhausted" | "lost" | "pending" | "running" | "succeeded" | "refused" | "cancelled";
2716
+ tokensIn: number;
2717
+ tokensOut: number;
2718
+ costUsd: number;
2719
+ runId: string;
2720
+ kind: "run";
2721
+ agentId: string;
2722
+ finishedAt: string | null;
2723
+ turns: number;
2724
+ parentRunId: string | null;
2725
+ }>, z.ZodObject<{
2726
+ kind: z.ZodLiteral<"service">;
2727
+ runId: z.ZodString;
2728
+ name: z.ZodString;
2729
+ state: z.ZodEnum<["pending", "probing", "ready", "failed"]>;
2730
+ attempts: z.ZodNullable<z.ZodNumber>;
2731
+ }, "strip", z.ZodTypeAny, {
2732
+ name: string;
2733
+ runId: string;
2734
+ kind: "service";
2735
+ state: "failed" | "pending" | "probing" | "ready";
2736
+ attempts: number | null;
2737
+ }, {
2738
+ name: string;
2739
+ runId: string;
2740
+ kind: "service";
2741
+ state: "failed" | "pending" | "probing" | "ready";
2742
+ attempts: number | null;
2743
+ }>, z.ZodObject<{
2744
+ kind: z.ZodLiteral<"outcome">;
2745
+ runId: z.ZodString;
2746
+ /** Which table changed (the viewer NOTIFY trigger names them). */
2747
+ source: z.ZodEnum<["pull_request", "host_status", "issue_status", "host_check"]>;
2748
+ }, "strip", z.ZodTypeAny, {
2749
+ runId: string;
2750
+ kind: "outcome";
2751
+ source: "pull_request" | "host_status" | "issue_status" | "host_check";
2752
+ }, {
2753
+ runId: string;
2754
+ kind: "outcome";
2755
+ source: "pull_request" | "host_status" | "issue_status" | "host_check";
2756
+ }>]>;
2757
+ };