bopodev-agent-sdk 0.1.24 → 0.1.26

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 (41) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-lint.log +4 -0
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/agent-sdk/src/adapters.d.ts +12 -1
  5. package/dist/agent-sdk/src/provider-failures/anthropic-api.d.ts +5 -0
  6. package/dist/agent-sdk/src/provider-failures/claude-code.d.ts +5 -0
  7. package/dist/agent-sdk/src/provider-failures/codex.d.ts +5 -0
  8. package/dist/agent-sdk/src/provider-failures/common.d.ts +7 -0
  9. package/dist/agent-sdk/src/provider-failures/cursor.d.ts +5 -0
  10. package/dist/agent-sdk/src/provider-failures/gemini-cli.d.ts +5 -0
  11. package/dist/agent-sdk/src/provider-failures/http.d.ts +5 -0
  12. package/dist/agent-sdk/src/provider-failures/index.d.ts +5 -0
  13. package/dist/agent-sdk/src/provider-failures/openai-api.d.ts +5 -0
  14. package/dist/agent-sdk/src/provider-failures/opencode.d.ts +5 -0
  15. package/dist/agent-sdk/src/provider-failures/shell.d.ts +5 -0
  16. package/dist/agent-sdk/src/provider-failures/types.d.ts +20 -0
  17. package/dist/agent-sdk/src/runtime-core.d.ts +1 -1
  18. package/dist/agent-sdk/src/runtime-http.d.ts +4 -2
  19. package/dist/agent-sdk/src/runtime-parsers.d.ts +1 -1
  20. package/dist/agent-sdk/src/runtime.d.ts +13 -0
  21. package/dist/agent-sdk/src/types.d.ts +17 -1
  22. package/dist/contracts/src/index.d.ts +1134 -2
  23. package/package.json +2 -2
  24. package/src/adapters.ts +426 -52
  25. package/src/provider-failures/anthropic-api.ts +20 -0
  26. package/src/provider-failures/claude-code.ts +20 -0
  27. package/src/provider-failures/codex.ts +23 -0
  28. package/src/provider-failures/common.ts +86 -0
  29. package/src/provider-failures/cursor.ts +20 -0
  30. package/src/provider-failures/gemini-cli.ts +20 -0
  31. package/src/provider-failures/http.ts +12 -0
  32. package/src/provider-failures/index.ts +54 -0
  33. package/src/provider-failures/openai-api.ts +20 -0
  34. package/src/provider-failures/opencode.ts +20 -0
  35. package/src/provider-failures/shell.ts +12 -0
  36. package/src/provider-failures/types.ts +28 -0
  37. package/src/runtime-core.ts +7 -1
  38. package/src/runtime-http.ts +51 -6
  39. package/src/runtime-parsers.ts +1 -0
  40. package/src/runtime.ts +283 -0
  41. package/src/types.ts +17 -1
@@ -21,6 +21,9 @@ export declare const ProjectSchema: z.ZodObject<{
21
21
  archived: "archived";
22
22
  }>;
23
23
  plannedStartAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ monthlyBudgetUsd: z.ZodNumber;
25
+ usedBudgetUsd: z.ZodNumber;
26
+ budgetWindowStartAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
27
  executionWorkspacePolicy: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
25
28
  gitDiagnostics: z.ZodOptional<z.ZodObject<{
26
29
  workspaceStatus: z.ZodOptional<z.ZodEnum<{
@@ -165,11 +168,77 @@ export declare const IssueAttachmentSchema: z.ZodObject<{
165
168
  createdAt: z.ZodString;
166
169
  }, z.core.$strip>;
167
170
  export type IssueAttachment = z.infer<typeof IssueAttachmentSchema>;
171
+ export declare const IssueCommentRecipientSchema: z.ZodObject<{
172
+ recipientType: z.ZodEnum<{
173
+ agent: "agent";
174
+ board: "board";
175
+ member: "member";
176
+ }>;
177
+ recipientId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ deliveryStatus: z.ZodDefault<z.ZodEnum<{
179
+ pending: "pending";
180
+ dispatched: "dispatched";
181
+ failed: "failed";
182
+ skipped: "skipped";
183
+ }>>;
184
+ dispatchedRunId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
185
+ dispatchedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
186
+ acknowledgedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ }, z.core.$strip>;
188
+ export type IssueCommentRecipient = z.infer<typeof IssueCommentRecipientSchema>;
189
+ export declare const IssueCommentSchema: z.ZodObject<{
190
+ id: z.ZodString;
191
+ issueId: z.ZodString;
192
+ companyId: z.ZodString;
193
+ authorType: z.ZodEnum<{
194
+ human: "human";
195
+ agent: "agent";
196
+ system: "system";
197
+ }>;
198
+ authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
199
+ recipients: z.ZodDefault<z.ZodArray<z.ZodObject<{
200
+ recipientType: z.ZodEnum<{
201
+ agent: "agent";
202
+ board: "board";
203
+ member: "member";
204
+ }>;
205
+ recipientId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
206
+ deliveryStatus: z.ZodDefault<z.ZodEnum<{
207
+ pending: "pending";
208
+ dispatched: "dispatched";
209
+ failed: "failed";
210
+ skipped: "skipped";
211
+ }>>;
212
+ dispatchedRunId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
+ dispatchedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ acknowledgedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
215
+ }, z.core.$strip>>>;
216
+ runId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
+ body: z.ZodString;
218
+ createdAt: z.ZodString;
219
+ }, z.core.$strip>;
220
+ export type IssueComment = z.infer<typeof IssueCommentSchema>;
168
221
  export declare const GoalLevelSchema: z.ZodEnum<{
169
222
  agent: "agent";
170
223
  company: "company";
171
224
  project: "project";
172
225
  }>;
226
+ export declare const AgentRoleKeySchema: z.ZodEnum<{
227
+ ceo: "ceo";
228
+ cto: "cto";
229
+ cmo: "cmo";
230
+ cfo: "cfo";
231
+ engineer: "engineer";
232
+ designer: "designer";
233
+ pm: "pm";
234
+ qa: "qa";
235
+ devops: "devops";
236
+ researcher: "researcher";
237
+ general: "general";
238
+ }>;
239
+ export type AgentRoleKey = z.infer<typeof AgentRoleKeySchema>;
240
+ export declare const AGENT_ROLE_KEYS: ("ceo" | "cto" | "cmo" | "cfo" | "engineer" | "designer" | "pm" | "qa" | "devops" | "researcher" | "general")[];
241
+ export declare const AGENT_ROLE_LABELS: Record<AgentRoleKey, string>;
173
242
  export declare const GoalSchema: z.ZodObject<{
174
243
  id: z.ZodString;
175
244
  companyId: z.ZodString;
@@ -251,6 +320,20 @@ export declare const TemplateManifestGoalSchema: z.ZodObject<{
251
320
  export declare const TemplateManifestAgentSchema: z.ZodObject<{
252
321
  key: z.ZodString;
253
322
  role: z.ZodString;
323
+ roleKey: z.ZodOptional<z.ZodEnum<{
324
+ ceo: "ceo";
325
+ cto: "cto";
326
+ cmo: "cmo";
327
+ cfo: "cfo";
328
+ engineer: "engineer";
329
+ designer: "designer";
330
+ pm: "pm";
331
+ qa: "qa";
332
+ devops: "devops";
333
+ researcher: "researcher";
334
+ general: "general";
335
+ }>>;
336
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
254
337
  name: z.ZodString;
255
338
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
256
339
  claude_code: "claude_code";
@@ -364,6 +447,20 @@ export declare const TemplateManifestSchema: z.ZodObject<{
364
447
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
365
448
  key: z.ZodString;
366
449
  role: z.ZodString;
450
+ roleKey: z.ZodOptional<z.ZodEnum<{
451
+ ceo: "ceo";
452
+ cto: "cto";
453
+ cmo: "cmo";
454
+ cfo: "cfo";
455
+ engineer: "engineer";
456
+ designer: "designer";
457
+ pm: "pm";
458
+ qa: "qa";
459
+ devops: "devops";
460
+ researcher: "researcher";
461
+ general: "general";
462
+ }>>;
463
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
367
464
  name: z.ZodString;
368
465
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
369
466
  claude_code: "claude_code";
@@ -510,6 +607,20 @@ export declare const TemplateSchema: z.ZodObject<{
510
607
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
511
608
  key: z.ZodString;
512
609
  role: z.ZodString;
610
+ roleKey: z.ZodOptional<z.ZodEnum<{
611
+ ceo: "ceo";
612
+ cto: "cto";
613
+ cmo: "cmo";
614
+ cfo: "cfo";
615
+ engineer: "engineer";
616
+ designer: "designer";
617
+ pm: "pm";
618
+ qa: "qa";
619
+ devops: "devops";
620
+ researcher: "researcher";
621
+ general: "general";
622
+ }>>;
623
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
513
624
  name: z.ZodString;
514
625
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
515
626
  claude_code: "claude_code";
@@ -656,6 +767,20 @@ export declare const TemplateCreateRequestSchema: z.ZodObject<{
656
767
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
657
768
  key: z.ZodString;
658
769
  role: z.ZodString;
770
+ roleKey: z.ZodOptional<z.ZodEnum<{
771
+ ceo: "ceo";
772
+ cto: "cto";
773
+ cmo: "cmo";
774
+ cfo: "cfo";
775
+ engineer: "engineer";
776
+ designer: "designer";
777
+ pm: "pm";
778
+ qa: "qa";
779
+ devops: "devops";
780
+ researcher: "researcher";
781
+ general: "general";
782
+ }>>;
783
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
659
784
  name: z.ZodString;
660
785
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
661
786
  claude_code: "claude_code";
@@ -800,6 +925,20 @@ export declare const TemplateUpdateRequestSchema: z.ZodObject<{
800
925
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
801
926
  key: z.ZodString;
802
927
  role: z.ZodString;
928
+ roleKey: z.ZodOptional<z.ZodEnum<{
929
+ ceo: "ceo";
930
+ cto: "cto";
931
+ cmo: "cmo";
932
+ cfo: "cfo";
933
+ engineer: "engineer";
934
+ designer: "designer";
935
+ pm: "pm";
936
+ qa: "qa";
937
+ devops: "devops";
938
+ researcher: "researcher";
939
+ general: "general";
940
+ }>>;
941
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
803
942
  name: z.ZodString;
804
943
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
805
944
  claude_code: "claude_code";
@@ -995,6 +1134,20 @@ export declare const TemplateExportSchema: z.ZodObject<{
995
1134
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
996
1135
  key: z.ZodString;
997
1136
  role: z.ZodString;
1137
+ roleKey: z.ZodOptional<z.ZodEnum<{
1138
+ ceo: "ceo";
1139
+ cto: "cto";
1140
+ cmo: "cmo";
1141
+ cfo: "cfo";
1142
+ engineer: "engineer";
1143
+ designer: "designer";
1144
+ pm: "pm";
1145
+ qa: "qa";
1146
+ devops: "devops";
1147
+ researcher: "researcher";
1148
+ general: "general";
1149
+ }>>;
1150
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
998
1151
  name: z.ZodString;
999
1152
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
1000
1153
  claude_code: "claude_code";
@@ -1143,6 +1296,20 @@ export declare const TemplateImportRequestSchema: z.ZodObject<{
1143
1296
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
1144
1297
  key: z.ZodString;
1145
1298
  role: z.ZodString;
1299
+ roleKey: z.ZodOptional<z.ZodEnum<{
1300
+ ceo: "ceo";
1301
+ cto: "cto";
1302
+ cmo: "cmo";
1303
+ cfo: "cfo";
1304
+ engineer: "engineer";
1305
+ designer: "designer";
1306
+ pm: "pm";
1307
+ qa: "qa";
1308
+ devops: "devops";
1309
+ researcher: "researcher";
1310
+ general: "general";
1311
+ }>>;
1312
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1146
1313
  name: z.ZodString;
1147
1314
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
1148
1315
  claude_code: "claude_code";
@@ -1268,6 +1435,20 @@ export declare const TemplateVersionSchema: z.ZodObject<{
1268
1435
  agents: z.ZodDefault<z.ZodArray<z.ZodObject<{
1269
1436
  key: z.ZodString;
1270
1437
  role: z.ZodString;
1438
+ roleKey: z.ZodOptional<z.ZodEnum<{
1439
+ ceo: "ceo";
1440
+ cto: "cto";
1441
+ cmo: "cmo";
1442
+ cfo: "cfo";
1443
+ engineer: "engineer";
1444
+ designer: "designer";
1445
+ pm: "pm";
1446
+ qa: "qa";
1447
+ devops: "devops";
1448
+ researcher: "researcher";
1449
+ general: "general";
1450
+ }>>;
1451
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1271
1452
  name: z.ZodString;
1272
1453
  providerType: z.ZodDefault<z.ZodLazy<z.ZodEnum<{
1273
1454
  claude_code: "claude_code";
@@ -1359,9 +1540,9 @@ export declare const TemplateInstallSchema: z.ZodObject<{
1359
1540
  templateId: z.ZodNullable<z.ZodString>;
1360
1541
  templateVersionId: z.ZodNullable<z.ZodString>;
1361
1542
  status: z.ZodEnum<{
1543
+ failed: "failed";
1362
1544
  applied: "applied";
1363
1545
  queued: "queued";
1364
- failed: "failed";
1365
1546
  }>;
1366
1547
  summary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1367
1548
  variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -1434,6 +1615,9 @@ export declare const ControlPlaneRuntimeEnvSchema: z.ZodObject<{
1434
1615
  BOPODEV_ACTOR_COMPANIES: z.ZodOptional<z.ZodString>;
1435
1616
  BOPODEV_ACTOR_PERMISSIONS: z.ZodOptional<z.ZodString>;
1436
1617
  BOPODEV_REQUEST_HEADERS_JSON: z.ZodOptional<z.ZodString>;
1618
+ BOPODEV_WAKE_REASON: z.ZodOptional<z.ZodString>;
1619
+ BOPODEV_WAKE_COMMENT_ID: z.ZodOptional<z.ZodString>;
1620
+ BOPODEV_LINKED_ISSUE_IDS: z.ZodOptional<z.ZodString>;
1437
1621
  }, z.core.$strip>;
1438
1622
  export type ControlPlaneRuntimeEnv = z.infer<typeof ControlPlaneRuntimeEnvSchema>;
1439
1623
  export declare const ExecutionOutcomeKindSchema: z.ZodEnum<{
@@ -1497,6 +1681,211 @@ export declare const ExecutionOutcomeSchema: z.ZodObject<{
1497
1681
  }>>;
1498
1682
  }, z.core.$strip>;
1499
1683
  export type ExecutionOutcome = z.infer<typeof ExecutionOutcomeSchema>;
1684
+ export declare const AgentFinalRunOutputArtifactSchema: z.ZodObject<{
1685
+ kind: z.ZodString;
1686
+ path: z.ZodString;
1687
+ }, z.core.$strict>;
1688
+ export type AgentFinalRunOutputArtifact = z.infer<typeof AgentFinalRunOutputArtifactSchema>;
1689
+ export declare const AgentFinalRunOutputSchema: z.ZodObject<{
1690
+ employee_comment: z.ZodString;
1691
+ results: z.ZodDefault<z.ZodArray<z.ZodString>>;
1692
+ errors: z.ZodDefault<z.ZodArray<z.ZodString>>;
1693
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
1694
+ kind: z.ZodString;
1695
+ path: z.ZodString;
1696
+ }, z.core.$strict>>>;
1697
+ }, z.core.$loose>;
1698
+ export type AgentFinalRunOutput = z.infer<typeof AgentFinalRunOutputSchema>;
1699
+ export declare const RunUsdCostStatusSchema: z.ZodEnum<{
1700
+ unknown: "unknown";
1701
+ exact: "exact";
1702
+ estimated: "estimated";
1703
+ }>;
1704
+ export type RunUsdCostStatus = z.infer<typeof RunUsdCostStatusSchema>;
1705
+ export declare const RunCompletionReasonSchema: z.ZodEnum<{
1706
+ blocked: "blocked";
1707
+ unknown: "unknown";
1708
+ task_completed: "task_completed";
1709
+ no_assigned_work: "no_assigned_work";
1710
+ provider_rate_limited: "provider_rate_limited";
1711
+ provider_out_of_funds: "provider_out_of_funds";
1712
+ provider_quota_exhausted: "provider_quota_exhausted";
1713
+ auth_error: "auth_error";
1714
+ timeout: "timeout";
1715
+ cancelled: "cancelled";
1716
+ contract_invalid: "contract_invalid";
1717
+ runtime_error: "runtime_error";
1718
+ runtime_missing: "runtime_missing";
1719
+ budget_hard_stop: "budget_hard_stop";
1720
+ overlap_in_progress: "overlap_in_progress";
1721
+ provider_unavailable: "provider_unavailable";
1722
+ }>;
1723
+ export type RunCompletionReason = z.infer<typeof RunCompletionReasonSchema>;
1724
+ export declare const RunResultStatusSchema: z.ZodEnum<{
1725
+ reported: "reported";
1726
+ none_reported: "none_reported";
1727
+ }>;
1728
+ export type RunResultStatus = z.infer<typeof RunResultStatusSchema>;
1729
+ export declare const RunArtifactSchema: z.ZodObject<{
1730
+ path: z.ZodString;
1731
+ kind: z.ZodString;
1732
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1733
+ relativePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1734
+ absolutePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1735
+ }, z.core.$strip>;
1736
+ export type RunArtifact = z.infer<typeof RunArtifactSchema>;
1737
+ export declare const RunCostSummarySchema: z.ZodObject<{
1738
+ tokenInput: z.ZodDefault<z.ZodNumber>;
1739
+ tokenOutput: z.ZodDefault<z.ZodNumber>;
1740
+ usdCost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1741
+ usdCostStatus: z.ZodDefault<z.ZodEnum<{
1742
+ unknown: "unknown";
1743
+ exact: "exact";
1744
+ estimated: "estimated";
1745
+ }>>;
1746
+ pricingSource: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1747
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1748
+ }, z.core.$strip>;
1749
+ export type RunCostSummary = z.infer<typeof RunCostSummarySchema>;
1750
+ export declare const RunManagerReportSchema: z.ZodObject<{
1751
+ agentName: z.ZodString;
1752
+ providerType: z.ZodEnum<{
1753
+ claude_code: "claude_code";
1754
+ codex: "codex";
1755
+ cursor: "cursor";
1756
+ opencode: "opencode";
1757
+ gemini_cli: "gemini_cli";
1758
+ openai_api: "openai_api";
1759
+ anthropic_api: "anthropic_api";
1760
+ http: "http";
1761
+ shell: "shell";
1762
+ }>;
1763
+ whatWasDone: z.ZodString;
1764
+ resultSummary: z.ZodString;
1765
+ artifactPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
1766
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
1767
+ nextAction: z.ZodString;
1768
+ costLine: z.ZodString;
1769
+ }, z.core.$strip>;
1770
+ export type RunManagerReport = z.infer<typeof RunManagerReportSchema>;
1771
+ export declare const RunCompletionReportSchema: z.ZodObject<{
1772
+ finalStatus: z.ZodEnum<{
1773
+ completed: "completed";
1774
+ failed: "failed";
1775
+ }>;
1776
+ completionReason: z.ZodEnum<{
1777
+ blocked: "blocked";
1778
+ unknown: "unknown";
1779
+ task_completed: "task_completed";
1780
+ no_assigned_work: "no_assigned_work";
1781
+ provider_rate_limited: "provider_rate_limited";
1782
+ provider_out_of_funds: "provider_out_of_funds";
1783
+ provider_quota_exhausted: "provider_quota_exhausted";
1784
+ auth_error: "auth_error";
1785
+ timeout: "timeout";
1786
+ cancelled: "cancelled";
1787
+ contract_invalid: "contract_invalid";
1788
+ runtime_error: "runtime_error";
1789
+ runtime_missing: "runtime_missing";
1790
+ budget_hard_stop: "budget_hard_stop";
1791
+ overlap_in_progress: "overlap_in_progress";
1792
+ provider_unavailable: "provider_unavailable";
1793
+ }>;
1794
+ statusHeadline: z.ZodString;
1795
+ summary: z.ZodString;
1796
+ employeeComment: z.ZodString;
1797
+ results: z.ZodDefault<z.ZodArray<z.ZodString>>;
1798
+ errors: z.ZodDefault<z.ZodArray<z.ZodString>>;
1799
+ resultStatus: z.ZodDefault<z.ZodEnum<{
1800
+ reported: "reported";
1801
+ none_reported: "none_reported";
1802
+ }>>;
1803
+ resultSummary: z.ZodString;
1804
+ issueIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
1805
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
1806
+ path: z.ZodString;
1807
+ kind: z.ZodString;
1808
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1809
+ relativePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1810
+ absolutePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1811
+ }, z.core.$strip>>>;
1812
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
1813
+ nextAction: z.ZodString;
1814
+ cost: z.ZodObject<{
1815
+ tokenInput: z.ZodDefault<z.ZodNumber>;
1816
+ tokenOutput: z.ZodDefault<z.ZodNumber>;
1817
+ usdCost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1818
+ usdCostStatus: z.ZodDefault<z.ZodEnum<{
1819
+ unknown: "unknown";
1820
+ exact: "exact";
1821
+ estimated: "estimated";
1822
+ }>>;
1823
+ pricingSource: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1824
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1825
+ }, z.core.$strip>;
1826
+ managerReport: z.ZodObject<{
1827
+ agentName: z.ZodString;
1828
+ providerType: z.ZodEnum<{
1829
+ claude_code: "claude_code";
1830
+ codex: "codex";
1831
+ cursor: "cursor";
1832
+ opencode: "opencode";
1833
+ gemini_cli: "gemini_cli";
1834
+ openai_api: "openai_api";
1835
+ anthropic_api: "anthropic_api";
1836
+ http: "http";
1837
+ shell: "shell";
1838
+ }>;
1839
+ whatWasDone: z.ZodString;
1840
+ resultSummary: z.ZodString;
1841
+ artifactPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
1842
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
1843
+ nextAction: z.ZodString;
1844
+ costLine: z.ZodString;
1845
+ }, z.core.$strip>;
1846
+ outcome: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1847
+ kind: z.ZodEnum<{
1848
+ blocked: "blocked";
1849
+ completed: "completed";
1850
+ failed: "failed";
1851
+ skipped: "skipped";
1852
+ }>;
1853
+ issueIdsTouched: z.ZodDefault<z.ZodArray<z.ZodString>>;
1854
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
1855
+ path: z.ZodString;
1856
+ kind: z.ZodString;
1857
+ }, z.core.$strip>>>;
1858
+ actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1859
+ type: z.ZodString;
1860
+ targetId: z.ZodOptional<z.ZodString>;
1861
+ status: z.ZodEnum<{
1862
+ error: "error";
1863
+ ok: "ok";
1864
+ warn: "warn";
1865
+ }>;
1866
+ detail: z.ZodOptional<z.ZodString>;
1867
+ }, z.core.$strip>>>;
1868
+ blockers: z.ZodDefault<z.ZodArray<z.ZodObject<{
1869
+ code: z.ZodString;
1870
+ message: z.ZodString;
1871
+ retryable: z.ZodBoolean;
1872
+ }, z.core.$strip>>>;
1873
+ nextSuggestedState: z.ZodOptional<z.ZodEnum<{
1874
+ blocked: "blocked";
1875
+ todo: "todo";
1876
+ in_progress: "in_progress";
1877
+ in_review: "in_review";
1878
+ done: "done";
1879
+ }>>;
1880
+ }, z.core.$strip>>>;
1881
+ debug: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1882
+ persistedRunStatus: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1883
+ failureType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1884
+ errorType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1885
+ errorMessage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1886
+ }, z.core.$strip>>>;
1887
+ }, z.core.$strip>;
1888
+ export type RunCompletionReport = z.infer<typeof RunCompletionReportSchema>;
1500
1889
  export declare const ThinkingEffortSchema: z.ZodEnum<{
1501
1890
  low: "low";
1502
1891
  medium: "medium";
@@ -1685,7 +2074,21 @@ export declare const PluginInvocationResultSchema: z.ZodObject<{
1685
2074
  export type PluginInvocationResult = z.infer<typeof PluginInvocationResultSchema>;
1686
2075
  export declare const AgentCreateRequestSchema: z.ZodObject<{
1687
2076
  managerAgentId: z.ZodOptional<z.ZodString>;
1688
- role: z.ZodString;
2077
+ role: z.ZodOptional<z.ZodString>;
2078
+ roleKey: z.ZodOptional<z.ZodEnum<{
2079
+ ceo: "ceo";
2080
+ cto: "cto";
2081
+ cmo: "cmo";
2082
+ cfo: "cfo";
2083
+ engineer: "engineer";
2084
+ designer: "designer";
2085
+ pm: "pm";
2086
+ qa: "qa";
2087
+ devops: "devops";
2088
+ researcher: "researcher";
2089
+ general: "general";
2090
+ }>>;
2091
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1689
2092
  name: z.ZodString;
1690
2093
  providerType: z.ZodEnum<{
1691
2094
  claude_code: "claude_code";
@@ -1706,6 +2109,20 @@ export declare const AgentCreateRequestSchema: z.ZodObject<{
1706
2109
  delegationIntent: z.ZodOptional<z.ZodObject<{
1707
2110
  intentType: z.ZodLiteral<"agent_hiring_request">;
1708
2111
  requestedRole: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2112
+ requestedRoleKey: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2113
+ ceo: "ceo";
2114
+ cto: "cto";
2115
+ cmo: "cmo";
2116
+ cfo: "cfo";
2117
+ engineer: "engineer";
2118
+ designer: "designer";
2119
+ pm: "pm";
2120
+ qa: "qa";
2121
+ devops: "devops";
2122
+ researcher: "researcher";
2123
+ general: "general";
2124
+ }>>>;
2125
+ requestedTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1709
2126
  requestedName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1710
2127
  requestedManagerAgentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1711
2128
  requestedProviderType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -1750,6 +2167,20 @@ export type AgentCreateRequest = z.infer<typeof AgentCreateRequestSchema>;
1750
2167
  export declare const AgentUpdateRequestSchema: z.ZodObject<{
1751
2168
  managerAgentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1752
2169
  role: z.ZodOptional<z.ZodString>;
2170
+ roleKey: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2171
+ ceo: "ceo";
2172
+ cto: "cto";
2173
+ cmo: "cmo";
2174
+ cfo: "cfo";
2175
+ engineer: "engineer";
2176
+ designer: "designer";
2177
+ pm: "pm";
2178
+ qa: "qa";
2179
+ devops: "devops";
2180
+ researcher: "researcher";
2181
+ general: "general";
2182
+ }>>>;
2183
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1753
2184
  name: z.ZodOptional<z.ZodString>;
1754
2185
  providerType: z.ZodOptional<z.ZodEnum<{
1755
2186
  claude_code: "claude_code";
@@ -1801,6 +2232,20 @@ export declare const AgentSchema: z.ZodObject<{
1801
2232
  companyId: z.ZodString;
1802
2233
  managerAgentId: z.ZodNullable<z.ZodString>;
1803
2234
  role: z.ZodString;
2235
+ roleKey: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
2236
+ ceo: "ceo";
2237
+ cto: "cto";
2238
+ cmo: "cmo";
2239
+ cfo: "cfo";
2240
+ engineer: "engineer";
2241
+ designer: "designer";
2242
+ pm: "pm";
2243
+ qa: "qa";
2244
+ devops: "devops";
2245
+ researcher: "researcher";
2246
+ general: "general";
2247
+ }>>>;
2248
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1804
2249
  name: z.ZodString;
1805
2250
  providerType: z.ZodEnum<{
1806
2251
  claude_code: "claude_code";
@@ -2022,6 +2467,242 @@ export declare const GovernanceInboxResponseSchema: z.ZodObject<{
2022
2467
  }, z.core.$strip>>;
2023
2468
  }, z.core.$strip>;
2024
2469
  export type GovernanceInboxResponse = z.infer<typeof GovernanceInboxResponseSchema>;
2470
+ export declare const BoardAttentionCategorySchema: z.ZodEnum<{
2471
+ budget_hard_stop: "budget_hard_stop";
2472
+ approval_required: "approval_required";
2473
+ blocker_escalation: "blocker_escalation";
2474
+ stalled_work: "stalled_work";
2475
+ run_failure_spike: "run_failure_spike";
2476
+ board_mentioned_comment: "board_mentioned_comment";
2477
+ }>;
2478
+ export type BoardAttentionCategory = z.infer<typeof BoardAttentionCategorySchema>;
2479
+ export declare const BoardAttentionSeveritySchema: z.ZodEnum<{
2480
+ info: "info";
2481
+ warning: "warning";
2482
+ critical: "critical";
2483
+ }>;
2484
+ export type BoardAttentionSeverity = z.infer<typeof BoardAttentionSeveritySchema>;
2485
+ export declare const BoardAttentionRequiredActorSchema: z.ZodEnum<{
2486
+ agent: "agent";
2487
+ system: "system";
2488
+ board: "board";
2489
+ member: "member";
2490
+ }>;
2491
+ export type BoardAttentionRequiredActor = z.infer<typeof BoardAttentionRequiredActorSchema>;
2492
+ export declare const BoardAttentionStateSchema: z.ZodEnum<{
2493
+ open: "open";
2494
+ acknowledged: "acknowledged";
2495
+ resolved: "resolved";
2496
+ dismissed: "dismissed";
2497
+ }>;
2498
+ export type BoardAttentionState = z.infer<typeof BoardAttentionStateSchema>;
2499
+ export declare const BoardAttentionEvidenceSchema: z.ZodObject<{
2500
+ issueId: z.ZodOptional<z.ZodString>;
2501
+ runId: z.ZodOptional<z.ZodString>;
2502
+ projectId: z.ZodOptional<z.ZodString>;
2503
+ approvalId: z.ZodOptional<z.ZodString>;
2504
+ commentId: z.ZodOptional<z.ZodString>;
2505
+ agentId: z.ZodOptional<z.ZodString>;
2506
+ }, z.core.$strip>;
2507
+ export type BoardAttentionEvidence = z.infer<typeof BoardAttentionEvidenceSchema>;
2508
+ export declare const BoardAttentionItemSchema: z.ZodObject<{
2509
+ key: z.ZodString;
2510
+ category: z.ZodEnum<{
2511
+ budget_hard_stop: "budget_hard_stop";
2512
+ approval_required: "approval_required";
2513
+ blocker_escalation: "blocker_escalation";
2514
+ stalled_work: "stalled_work";
2515
+ run_failure_spike: "run_failure_spike";
2516
+ board_mentioned_comment: "board_mentioned_comment";
2517
+ }>;
2518
+ severity: z.ZodEnum<{
2519
+ info: "info";
2520
+ warning: "warning";
2521
+ critical: "critical";
2522
+ }>;
2523
+ requiredActor: z.ZodEnum<{
2524
+ agent: "agent";
2525
+ system: "system";
2526
+ board: "board";
2527
+ member: "member";
2528
+ }>;
2529
+ title: z.ZodString;
2530
+ contextSummary: z.ZodString;
2531
+ actionLabel: z.ZodString;
2532
+ actionHref: z.ZodString;
2533
+ impactSummary: z.ZodString;
2534
+ evidence: z.ZodDefault<z.ZodObject<{
2535
+ issueId: z.ZodOptional<z.ZodString>;
2536
+ runId: z.ZodOptional<z.ZodString>;
2537
+ projectId: z.ZodOptional<z.ZodString>;
2538
+ approvalId: z.ZodOptional<z.ZodString>;
2539
+ commentId: z.ZodOptional<z.ZodString>;
2540
+ agentId: z.ZodOptional<z.ZodString>;
2541
+ }, z.core.$strip>>;
2542
+ sourceTimestamp: z.ZodString;
2543
+ state: z.ZodEnum<{
2544
+ open: "open";
2545
+ acknowledged: "acknowledged";
2546
+ resolved: "resolved";
2547
+ dismissed: "dismissed";
2548
+ }>;
2549
+ seenAt: z.ZodNullable<z.ZodString>;
2550
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
2551
+ dismissedAt: z.ZodNullable<z.ZodString>;
2552
+ resolvedAt: z.ZodNullable<z.ZodString>;
2553
+ }, z.core.$strip>;
2554
+ export type BoardAttentionItem = z.infer<typeof BoardAttentionItemSchema>;
2555
+ export declare const BoardAttentionListResponseSchema: z.ZodObject<{
2556
+ actorId: z.ZodString;
2557
+ items: z.ZodArray<z.ZodObject<{
2558
+ key: z.ZodString;
2559
+ category: z.ZodEnum<{
2560
+ budget_hard_stop: "budget_hard_stop";
2561
+ approval_required: "approval_required";
2562
+ blocker_escalation: "blocker_escalation";
2563
+ stalled_work: "stalled_work";
2564
+ run_failure_spike: "run_failure_spike";
2565
+ board_mentioned_comment: "board_mentioned_comment";
2566
+ }>;
2567
+ severity: z.ZodEnum<{
2568
+ info: "info";
2569
+ warning: "warning";
2570
+ critical: "critical";
2571
+ }>;
2572
+ requiredActor: z.ZodEnum<{
2573
+ agent: "agent";
2574
+ system: "system";
2575
+ board: "board";
2576
+ member: "member";
2577
+ }>;
2578
+ title: z.ZodString;
2579
+ contextSummary: z.ZodString;
2580
+ actionLabel: z.ZodString;
2581
+ actionHref: z.ZodString;
2582
+ impactSummary: z.ZodString;
2583
+ evidence: z.ZodDefault<z.ZodObject<{
2584
+ issueId: z.ZodOptional<z.ZodString>;
2585
+ runId: z.ZodOptional<z.ZodString>;
2586
+ projectId: z.ZodOptional<z.ZodString>;
2587
+ approvalId: z.ZodOptional<z.ZodString>;
2588
+ commentId: z.ZodOptional<z.ZodString>;
2589
+ agentId: z.ZodOptional<z.ZodString>;
2590
+ }, z.core.$strip>>;
2591
+ sourceTimestamp: z.ZodString;
2592
+ state: z.ZodEnum<{
2593
+ open: "open";
2594
+ acknowledged: "acknowledged";
2595
+ resolved: "resolved";
2596
+ dismissed: "dismissed";
2597
+ }>;
2598
+ seenAt: z.ZodNullable<z.ZodString>;
2599
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
2600
+ dismissedAt: z.ZodNullable<z.ZodString>;
2601
+ resolvedAt: z.ZodNullable<z.ZodString>;
2602
+ }, z.core.$strip>>;
2603
+ }, z.core.$strip>;
2604
+ export type BoardAttentionListResponse = z.infer<typeof BoardAttentionListResponseSchema>;
2605
+ export declare const BoardAttentionNotificationEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2606
+ type: z.ZodLiteral<"attention.snapshot">;
2607
+ items: z.ZodArray<z.ZodObject<{
2608
+ key: z.ZodString;
2609
+ category: z.ZodEnum<{
2610
+ budget_hard_stop: "budget_hard_stop";
2611
+ approval_required: "approval_required";
2612
+ blocker_escalation: "blocker_escalation";
2613
+ stalled_work: "stalled_work";
2614
+ run_failure_spike: "run_failure_spike";
2615
+ board_mentioned_comment: "board_mentioned_comment";
2616
+ }>;
2617
+ severity: z.ZodEnum<{
2618
+ info: "info";
2619
+ warning: "warning";
2620
+ critical: "critical";
2621
+ }>;
2622
+ requiredActor: z.ZodEnum<{
2623
+ agent: "agent";
2624
+ system: "system";
2625
+ board: "board";
2626
+ member: "member";
2627
+ }>;
2628
+ title: z.ZodString;
2629
+ contextSummary: z.ZodString;
2630
+ actionLabel: z.ZodString;
2631
+ actionHref: z.ZodString;
2632
+ impactSummary: z.ZodString;
2633
+ evidence: z.ZodDefault<z.ZodObject<{
2634
+ issueId: z.ZodOptional<z.ZodString>;
2635
+ runId: z.ZodOptional<z.ZodString>;
2636
+ projectId: z.ZodOptional<z.ZodString>;
2637
+ approvalId: z.ZodOptional<z.ZodString>;
2638
+ commentId: z.ZodOptional<z.ZodString>;
2639
+ agentId: z.ZodOptional<z.ZodString>;
2640
+ }, z.core.$strip>>;
2641
+ sourceTimestamp: z.ZodString;
2642
+ state: z.ZodEnum<{
2643
+ open: "open";
2644
+ acknowledged: "acknowledged";
2645
+ resolved: "resolved";
2646
+ dismissed: "dismissed";
2647
+ }>;
2648
+ seenAt: z.ZodNullable<z.ZodString>;
2649
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
2650
+ dismissedAt: z.ZodNullable<z.ZodString>;
2651
+ resolvedAt: z.ZodNullable<z.ZodString>;
2652
+ }, z.core.$strip>>;
2653
+ }, z.core.$strip>, z.ZodObject<{
2654
+ type: z.ZodLiteral<"attention.updated">;
2655
+ item: z.ZodObject<{
2656
+ key: z.ZodString;
2657
+ category: z.ZodEnum<{
2658
+ budget_hard_stop: "budget_hard_stop";
2659
+ approval_required: "approval_required";
2660
+ blocker_escalation: "blocker_escalation";
2661
+ stalled_work: "stalled_work";
2662
+ run_failure_spike: "run_failure_spike";
2663
+ board_mentioned_comment: "board_mentioned_comment";
2664
+ }>;
2665
+ severity: z.ZodEnum<{
2666
+ info: "info";
2667
+ warning: "warning";
2668
+ critical: "critical";
2669
+ }>;
2670
+ requiredActor: z.ZodEnum<{
2671
+ agent: "agent";
2672
+ system: "system";
2673
+ board: "board";
2674
+ member: "member";
2675
+ }>;
2676
+ title: z.ZodString;
2677
+ contextSummary: z.ZodString;
2678
+ actionLabel: z.ZodString;
2679
+ actionHref: z.ZodString;
2680
+ impactSummary: z.ZodString;
2681
+ evidence: z.ZodDefault<z.ZodObject<{
2682
+ issueId: z.ZodOptional<z.ZodString>;
2683
+ runId: z.ZodOptional<z.ZodString>;
2684
+ projectId: z.ZodOptional<z.ZodString>;
2685
+ approvalId: z.ZodOptional<z.ZodString>;
2686
+ commentId: z.ZodOptional<z.ZodString>;
2687
+ agentId: z.ZodOptional<z.ZodString>;
2688
+ }, z.core.$strip>>;
2689
+ sourceTimestamp: z.ZodString;
2690
+ state: z.ZodEnum<{
2691
+ open: "open";
2692
+ acknowledged: "acknowledged";
2693
+ resolved: "resolved";
2694
+ dismissed: "dismissed";
2695
+ }>;
2696
+ seenAt: z.ZodNullable<z.ZodString>;
2697
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
2698
+ dismissedAt: z.ZodNullable<z.ZodString>;
2699
+ resolvedAt: z.ZodNullable<z.ZodString>;
2700
+ }, z.core.$strip>;
2701
+ }, z.core.$strip>, z.ZodObject<{
2702
+ type: z.ZodLiteral<"attention.resolved">;
2703
+ key: z.ZodString;
2704
+ }, z.core.$strip>], "type">;
2705
+ export type BoardAttentionNotificationEvent = z.infer<typeof BoardAttentionNotificationEventSchema>;
2025
2706
  export declare const OfficeRoomSchema: z.ZodEnum<{
2026
2707
  waiting_room: "waiting_room";
2027
2708
  work_space: "work_space";
@@ -2338,6 +3019,7 @@ export declare const RealtimeChannelSchema: z.ZodEnum<{
2338
3019
  governance: "governance";
2339
3020
  "office-space": "office-space";
2340
3021
  "heartbeat-runs": "heartbeat-runs";
3022
+ attention: "attention";
2341
3023
  }>;
2342
3024
  export type RealtimeChannel = z.infer<typeof RealtimeChannelSchema>;
2343
3025
  export declare const RealtimeEventEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -2649,6 +3331,108 @@ export declare const RealtimeEventEnvelopeSchema: z.ZodDiscriminatedUnion<[z.Zod
2649
3331
  }, z.core.$strip>>;
2650
3332
  nextCursor: z.ZodNullable<z.ZodString>;
2651
3333
  }, z.core.$strip>], "type">;
3334
+ }, z.core.$strip>, z.ZodObject<{
3335
+ channel: z.ZodLiteral<"attention">;
3336
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
3337
+ type: z.ZodLiteral<"attention.snapshot">;
3338
+ items: z.ZodArray<z.ZodObject<{
3339
+ key: z.ZodString;
3340
+ category: z.ZodEnum<{
3341
+ budget_hard_stop: "budget_hard_stop";
3342
+ approval_required: "approval_required";
3343
+ blocker_escalation: "blocker_escalation";
3344
+ stalled_work: "stalled_work";
3345
+ run_failure_spike: "run_failure_spike";
3346
+ board_mentioned_comment: "board_mentioned_comment";
3347
+ }>;
3348
+ severity: z.ZodEnum<{
3349
+ info: "info";
3350
+ warning: "warning";
3351
+ critical: "critical";
3352
+ }>;
3353
+ requiredActor: z.ZodEnum<{
3354
+ agent: "agent";
3355
+ system: "system";
3356
+ board: "board";
3357
+ member: "member";
3358
+ }>;
3359
+ title: z.ZodString;
3360
+ contextSummary: z.ZodString;
3361
+ actionLabel: z.ZodString;
3362
+ actionHref: z.ZodString;
3363
+ impactSummary: z.ZodString;
3364
+ evidence: z.ZodDefault<z.ZodObject<{
3365
+ issueId: z.ZodOptional<z.ZodString>;
3366
+ runId: z.ZodOptional<z.ZodString>;
3367
+ projectId: z.ZodOptional<z.ZodString>;
3368
+ approvalId: z.ZodOptional<z.ZodString>;
3369
+ commentId: z.ZodOptional<z.ZodString>;
3370
+ agentId: z.ZodOptional<z.ZodString>;
3371
+ }, z.core.$strip>>;
3372
+ sourceTimestamp: z.ZodString;
3373
+ state: z.ZodEnum<{
3374
+ open: "open";
3375
+ acknowledged: "acknowledged";
3376
+ resolved: "resolved";
3377
+ dismissed: "dismissed";
3378
+ }>;
3379
+ seenAt: z.ZodNullable<z.ZodString>;
3380
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
3381
+ dismissedAt: z.ZodNullable<z.ZodString>;
3382
+ resolvedAt: z.ZodNullable<z.ZodString>;
3383
+ }, z.core.$strip>>;
3384
+ }, z.core.$strip>, z.ZodObject<{
3385
+ type: z.ZodLiteral<"attention.updated">;
3386
+ item: z.ZodObject<{
3387
+ key: z.ZodString;
3388
+ category: z.ZodEnum<{
3389
+ budget_hard_stop: "budget_hard_stop";
3390
+ approval_required: "approval_required";
3391
+ blocker_escalation: "blocker_escalation";
3392
+ stalled_work: "stalled_work";
3393
+ run_failure_spike: "run_failure_spike";
3394
+ board_mentioned_comment: "board_mentioned_comment";
3395
+ }>;
3396
+ severity: z.ZodEnum<{
3397
+ info: "info";
3398
+ warning: "warning";
3399
+ critical: "critical";
3400
+ }>;
3401
+ requiredActor: z.ZodEnum<{
3402
+ agent: "agent";
3403
+ system: "system";
3404
+ board: "board";
3405
+ member: "member";
3406
+ }>;
3407
+ title: z.ZodString;
3408
+ contextSummary: z.ZodString;
3409
+ actionLabel: z.ZodString;
3410
+ actionHref: z.ZodString;
3411
+ impactSummary: z.ZodString;
3412
+ evidence: z.ZodDefault<z.ZodObject<{
3413
+ issueId: z.ZodOptional<z.ZodString>;
3414
+ runId: z.ZodOptional<z.ZodString>;
3415
+ projectId: z.ZodOptional<z.ZodString>;
3416
+ approvalId: z.ZodOptional<z.ZodString>;
3417
+ commentId: z.ZodOptional<z.ZodString>;
3418
+ agentId: z.ZodOptional<z.ZodString>;
3419
+ }, z.core.$strip>>;
3420
+ sourceTimestamp: z.ZodString;
3421
+ state: z.ZodEnum<{
3422
+ open: "open";
3423
+ acknowledged: "acknowledged";
3424
+ resolved: "resolved";
3425
+ dismissed: "dismissed";
3426
+ }>;
3427
+ seenAt: z.ZodNullable<z.ZodString>;
3428
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
3429
+ dismissedAt: z.ZodNullable<z.ZodString>;
3430
+ resolvedAt: z.ZodNullable<z.ZodString>;
3431
+ }, z.core.$strip>;
3432
+ }, z.core.$strip>, z.ZodObject<{
3433
+ type: z.ZodLiteral<"attention.resolved">;
3434
+ key: z.ZodString;
3435
+ }, z.core.$strip>], "type">;
2652
3436
  }, z.core.$strip>], "channel">;
2653
3437
  export type RealtimeEventEnvelope = z.infer<typeof RealtimeEventEnvelopeSchema>;
2654
3438
  export declare const RealtimeSubscribedMessageSchema: z.ZodObject<{
@@ -2658,6 +3442,7 @@ export declare const RealtimeSubscribedMessageSchema: z.ZodObject<{
2658
3442
  governance: "governance";
2659
3443
  "office-space": "office-space";
2660
3444
  "heartbeat-runs": "heartbeat-runs";
3445
+ attention: "attention";
2661
3446
  }>>;
2662
3447
  }, z.core.$strip>;
2663
3448
  export declare const RealtimeEventMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -2975,6 +3760,110 @@ export declare const RealtimeEventMessageSchema: z.ZodDiscriminatedUnion<[z.ZodO
2975
3760
  }, z.core.$strip>>;
2976
3761
  nextCursor: z.ZodNullable<z.ZodString>;
2977
3762
  }, z.core.$strip>], "type">;
3763
+ }, z.core.$strip>, z.ZodObject<{
3764
+ kind: z.ZodLiteral<"event">;
3765
+ companyId: z.ZodString;
3766
+ channel: z.ZodLiteral<"attention">;
3767
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
3768
+ type: z.ZodLiteral<"attention.snapshot">;
3769
+ items: z.ZodArray<z.ZodObject<{
3770
+ key: z.ZodString;
3771
+ category: z.ZodEnum<{
3772
+ budget_hard_stop: "budget_hard_stop";
3773
+ approval_required: "approval_required";
3774
+ blocker_escalation: "blocker_escalation";
3775
+ stalled_work: "stalled_work";
3776
+ run_failure_spike: "run_failure_spike";
3777
+ board_mentioned_comment: "board_mentioned_comment";
3778
+ }>;
3779
+ severity: z.ZodEnum<{
3780
+ info: "info";
3781
+ warning: "warning";
3782
+ critical: "critical";
3783
+ }>;
3784
+ requiredActor: z.ZodEnum<{
3785
+ agent: "agent";
3786
+ system: "system";
3787
+ board: "board";
3788
+ member: "member";
3789
+ }>;
3790
+ title: z.ZodString;
3791
+ contextSummary: z.ZodString;
3792
+ actionLabel: z.ZodString;
3793
+ actionHref: z.ZodString;
3794
+ impactSummary: z.ZodString;
3795
+ evidence: z.ZodDefault<z.ZodObject<{
3796
+ issueId: z.ZodOptional<z.ZodString>;
3797
+ runId: z.ZodOptional<z.ZodString>;
3798
+ projectId: z.ZodOptional<z.ZodString>;
3799
+ approvalId: z.ZodOptional<z.ZodString>;
3800
+ commentId: z.ZodOptional<z.ZodString>;
3801
+ agentId: z.ZodOptional<z.ZodString>;
3802
+ }, z.core.$strip>>;
3803
+ sourceTimestamp: z.ZodString;
3804
+ state: z.ZodEnum<{
3805
+ open: "open";
3806
+ acknowledged: "acknowledged";
3807
+ resolved: "resolved";
3808
+ dismissed: "dismissed";
3809
+ }>;
3810
+ seenAt: z.ZodNullable<z.ZodString>;
3811
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
3812
+ dismissedAt: z.ZodNullable<z.ZodString>;
3813
+ resolvedAt: z.ZodNullable<z.ZodString>;
3814
+ }, z.core.$strip>>;
3815
+ }, z.core.$strip>, z.ZodObject<{
3816
+ type: z.ZodLiteral<"attention.updated">;
3817
+ item: z.ZodObject<{
3818
+ key: z.ZodString;
3819
+ category: z.ZodEnum<{
3820
+ budget_hard_stop: "budget_hard_stop";
3821
+ approval_required: "approval_required";
3822
+ blocker_escalation: "blocker_escalation";
3823
+ stalled_work: "stalled_work";
3824
+ run_failure_spike: "run_failure_spike";
3825
+ board_mentioned_comment: "board_mentioned_comment";
3826
+ }>;
3827
+ severity: z.ZodEnum<{
3828
+ info: "info";
3829
+ warning: "warning";
3830
+ critical: "critical";
3831
+ }>;
3832
+ requiredActor: z.ZodEnum<{
3833
+ agent: "agent";
3834
+ system: "system";
3835
+ board: "board";
3836
+ member: "member";
3837
+ }>;
3838
+ title: z.ZodString;
3839
+ contextSummary: z.ZodString;
3840
+ actionLabel: z.ZodString;
3841
+ actionHref: z.ZodString;
3842
+ impactSummary: z.ZodString;
3843
+ evidence: z.ZodDefault<z.ZodObject<{
3844
+ issueId: z.ZodOptional<z.ZodString>;
3845
+ runId: z.ZodOptional<z.ZodString>;
3846
+ projectId: z.ZodOptional<z.ZodString>;
3847
+ approvalId: z.ZodOptional<z.ZodString>;
3848
+ commentId: z.ZodOptional<z.ZodString>;
3849
+ agentId: z.ZodOptional<z.ZodString>;
3850
+ }, z.core.$strip>>;
3851
+ sourceTimestamp: z.ZodString;
3852
+ state: z.ZodEnum<{
3853
+ open: "open";
3854
+ acknowledged: "acknowledged";
3855
+ resolved: "resolved";
3856
+ dismissed: "dismissed";
3857
+ }>;
3858
+ seenAt: z.ZodNullable<z.ZodString>;
3859
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
3860
+ dismissedAt: z.ZodNullable<z.ZodString>;
3861
+ resolvedAt: z.ZodNullable<z.ZodString>;
3862
+ }, z.core.$strip>;
3863
+ }, z.core.$strip>, z.ZodObject<{
3864
+ type: z.ZodLiteral<"attention.resolved">;
3865
+ key: z.ZodString;
3866
+ }, z.core.$strip>], "type">;
2978
3867
  }, z.core.$strip>], "channel">;
2979
3868
  export declare const RealtimeMessageSchema: z.ZodUnion<readonly [z.ZodObject<{
2980
3869
  kind: z.ZodLiteral<"subscribed">;
@@ -2983,6 +3872,7 @@ export declare const RealtimeMessageSchema: z.ZodUnion<readonly [z.ZodObject<{
2983
3872
  governance: "governance";
2984
3873
  "office-space": "office-space";
2985
3874
  "heartbeat-runs": "heartbeat-runs";
3875
+ attention: "attention";
2986
3876
  }>>;
2987
3877
  }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
2988
3878
  kind: z.ZodLiteral<"event">;
@@ -3299,11 +4189,116 @@ export declare const RealtimeMessageSchema: z.ZodUnion<readonly [z.ZodObject<{
3299
4189
  }, z.core.$strip>>;
3300
4190
  nextCursor: z.ZodNullable<z.ZodString>;
3301
4191
  }, z.core.$strip>], "type">;
4192
+ }, z.core.$strip>, z.ZodObject<{
4193
+ kind: z.ZodLiteral<"event">;
4194
+ companyId: z.ZodString;
4195
+ channel: z.ZodLiteral<"attention">;
4196
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
4197
+ type: z.ZodLiteral<"attention.snapshot">;
4198
+ items: z.ZodArray<z.ZodObject<{
4199
+ key: z.ZodString;
4200
+ category: z.ZodEnum<{
4201
+ budget_hard_stop: "budget_hard_stop";
4202
+ approval_required: "approval_required";
4203
+ blocker_escalation: "blocker_escalation";
4204
+ stalled_work: "stalled_work";
4205
+ run_failure_spike: "run_failure_spike";
4206
+ board_mentioned_comment: "board_mentioned_comment";
4207
+ }>;
4208
+ severity: z.ZodEnum<{
4209
+ info: "info";
4210
+ warning: "warning";
4211
+ critical: "critical";
4212
+ }>;
4213
+ requiredActor: z.ZodEnum<{
4214
+ agent: "agent";
4215
+ system: "system";
4216
+ board: "board";
4217
+ member: "member";
4218
+ }>;
4219
+ title: z.ZodString;
4220
+ contextSummary: z.ZodString;
4221
+ actionLabel: z.ZodString;
4222
+ actionHref: z.ZodString;
4223
+ impactSummary: z.ZodString;
4224
+ evidence: z.ZodDefault<z.ZodObject<{
4225
+ issueId: z.ZodOptional<z.ZodString>;
4226
+ runId: z.ZodOptional<z.ZodString>;
4227
+ projectId: z.ZodOptional<z.ZodString>;
4228
+ approvalId: z.ZodOptional<z.ZodString>;
4229
+ commentId: z.ZodOptional<z.ZodString>;
4230
+ agentId: z.ZodOptional<z.ZodString>;
4231
+ }, z.core.$strip>>;
4232
+ sourceTimestamp: z.ZodString;
4233
+ state: z.ZodEnum<{
4234
+ open: "open";
4235
+ acknowledged: "acknowledged";
4236
+ resolved: "resolved";
4237
+ dismissed: "dismissed";
4238
+ }>;
4239
+ seenAt: z.ZodNullable<z.ZodString>;
4240
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
4241
+ dismissedAt: z.ZodNullable<z.ZodString>;
4242
+ resolvedAt: z.ZodNullable<z.ZodString>;
4243
+ }, z.core.$strip>>;
4244
+ }, z.core.$strip>, z.ZodObject<{
4245
+ type: z.ZodLiteral<"attention.updated">;
4246
+ item: z.ZodObject<{
4247
+ key: z.ZodString;
4248
+ category: z.ZodEnum<{
4249
+ budget_hard_stop: "budget_hard_stop";
4250
+ approval_required: "approval_required";
4251
+ blocker_escalation: "blocker_escalation";
4252
+ stalled_work: "stalled_work";
4253
+ run_failure_spike: "run_failure_spike";
4254
+ board_mentioned_comment: "board_mentioned_comment";
4255
+ }>;
4256
+ severity: z.ZodEnum<{
4257
+ info: "info";
4258
+ warning: "warning";
4259
+ critical: "critical";
4260
+ }>;
4261
+ requiredActor: z.ZodEnum<{
4262
+ agent: "agent";
4263
+ system: "system";
4264
+ board: "board";
4265
+ member: "member";
4266
+ }>;
4267
+ title: z.ZodString;
4268
+ contextSummary: z.ZodString;
4269
+ actionLabel: z.ZodString;
4270
+ actionHref: z.ZodString;
4271
+ impactSummary: z.ZodString;
4272
+ evidence: z.ZodDefault<z.ZodObject<{
4273
+ issueId: z.ZodOptional<z.ZodString>;
4274
+ runId: z.ZodOptional<z.ZodString>;
4275
+ projectId: z.ZodOptional<z.ZodString>;
4276
+ approvalId: z.ZodOptional<z.ZodString>;
4277
+ commentId: z.ZodOptional<z.ZodString>;
4278
+ agentId: z.ZodOptional<z.ZodString>;
4279
+ }, z.core.$strip>>;
4280
+ sourceTimestamp: z.ZodString;
4281
+ state: z.ZodEnum<{
4282
+ open: "open";
4283
+ acknowledged: "acknowledged";
4284
+ resolved: "resolved";
4285
+ dismissed: "dismissed";
4286
+ }>;
4287
+ seenAt: z.ZodNullable<z.ZodString>;
4288
+ acknowledgedAt: z.ZodNullable<z.ZodString>;
4289
+ dismissedAt: z.ZodNullable<z.ZodString>;
4290
+ resolvedAt: z.ZodNullable<z.ZodString>;
4291
+ }, z.core.$strip>;
4292
+ }, z.core.$strip>, z.ZodObject<{
4293
+ type: z.ZodLiteral<"attention.resolved">;
4294
+ key: z.ZodString;
4295
+ }, z.core.$strip>], "type">;
3302
4296
  }, z.core.$strip>], "channel">]>;
3303
4297
  export type RealtimeMessage = z.infer<typeof RealtimeMessageSchema>;
3304
4298
  export declare const CostLedgerEntrySchema: z.ZodObject<{
3305
4299
  id: z.ZodString;
3306
4300
  companyId: z.ZodString;
4301
+ runId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3307
4302
  projectId: z.ZodNullable<z.ZodString>;
3308
4303
  issueId: z.ZodNullable<z.ZodString>;
3309
4304
  agentId: z.ZodNullable<z.ZodString>;
@@ -3333,6 +4328,11 @@ export declare const CostLedgerEntrySchema: z.ZodObject<{
3333
4328
  tokenInput: z.ZodNumber;
3334
4329
  tokenOutput: z.ZodNumber;
3335
4330
  usdCost: z.ZodNumber;
4331
+ usdCostStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
4332
+ unknown: "unknown";
4333
+ exact: "exact";
4334
+ estimated: "estimated";
4335
+ }>>>;
3336
4336
  createdAt: z.ZodString;
3337
4337
  }, z.core.$strip>;
3338
4338
  export declare const AuditEventSchema: z.ZodObject<{
@@ -3361,6 +4361,11 @@ export declare const HeartbeatRunSchema: z.ZodObject<{
3361
4361
  skipped: "skipped";
3362
4362
  started: "started";
3363
4363
  }>;
4364
+ publicStatus: z.ZodOptional<z.ZodEnum<{
4365
+ completed: "completed";
4366
+ failed: "failed";
4367
+ started: "started";
4368
+ }>>;
3364
4369
  startedAt: z.ZodString;
3365
4370
  finishedAt: z.ZodNullable<z.ZodString>;
3366
4371
  message: z.ZodOptional<z.ZodString>;
@@ -3444,6 +4449,11 @@ export declare const HeartbeatRunDetailSchema: z.ZodObject<{
3444
4449
  skipped: "skipped";
3445
4450
  started: "started";
3446
4451
  }>;
4452
+ publicStatus: z.ZodOptional<z.ZodEnum<{
4453
+ completed: "completed";
4454
+ failed: "failed";
4455
+ started: "started";
4456
+ }>>;
3447
4457
  startedAt: z.ZodString;
3448
4458
  finishedAt: z.ZodNullable<z.ZodString>;
3449
4459
  message: z.ZodOptional<z.ZodString>;
@@ -3489,10 +4499,132 @@ export declare const HeartbeatRunDetailSchema: z.ZodObject<{
3489
4499
  done: "done";
3490
4500
  }>>;
3491
4501
  }, z.core.$strip>>>;
4502
+ report: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4503
+ finalStatus: z.ZodEnum<{
4504
+ completed: "completed";
4505
+ failed: "failed";
4506
+ }>;
4507
+ completionReason: z.ZodEnum<{
4508
+ blocked: "blocked";
4509
+ unknown: "unknown";
4510
+ task_completed: "task_completed";
4511
+ no_assigned_work: "no_assigned_work";
4512
+ provider_rate_limited: "provider_rate_limited";
4513
+ provider_out_of_funds: "provider_out_of_funds";
4514
+ provider_quota_exhausted: "provider_quota_exhausted";
4515
+ auth_error: "auth_error";
4516
+ timeout: "timeout";
4517
+ cancelled: "cancelled";
4518
+ contract_invalid: "contract_invalid";
4519
+ runtime_error: "runtime_error";
4520
+ runtime_missing: "runtime_missing";
4521
+ budget_hard_stop: "budget_hard_stop";
4522
+ overlap_in_progress: "overlap_in_progress";
4523
+ provider_unavailable: "provider_unavailable";
4524
+ }>;
4525
+ statusHeadline: z.ZodString;
4526
+ summary: z.ZodString;
4527
+ employeeComment: z.ZodString;
4528
+ results: z.ZodDefault<z.ZodArray<z.ZodString>>;
4529
+ errors: z.ZodDefault<z.ZodArray<z.ZodString>>;
4530
+ resultStatus: z.ZodDefault<z.ZodEnum<{
4531
+ reported: "reported";
4532
+ none_reported: "none_reported";
4533
+ }>>;
4534
+ resultSummary: z.ZodString;
4535
+ issueIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
4536
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
4537
+ path: z.ZodString;
4538
+ kind: z.ZodString;
4539
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4540
+ relativePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4541
+ absolutePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4542
+ }, z.core.$strip>>>;
4543
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
4544
+ nextAction: z.ZodString;
4545
+ cost: z.ZodObject<{
4546
+ tokenInput: z.ZodDefault<z.ZodNumber>;
4547
+ tokenOutput: z.ZodDefault<z.ZodNumber>;
4548
+ usdCost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
4549
+ usdCostStatus: z.ZodDefault<z.ZodEnum<{
4550
+ unknown: "unknown";
4551
+ exact: "exact";
4552
+ estimated: "estimated";
4553
+ }>>;
4554
+ pricingSource: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4555
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4556
+ }, z.core.$strip>;
4557
+ managerReport: z.ZodObject<{
4558
+ agentName: z.ZodString;
4559
+ providerType: z.ZodEnum<{
4560
+ claude_code: "claude_code";
4561
+ codex: "codex";
4562
+ cursor: "cursor";
4563
+ opencode: "opencode";
4564
+ gemini_cli: "gemini_cli";
4565
+ openai_api: "openai_api";
4566
+ anthropic_api: "anthropic_api";
4567
+ http: "http";
4568
+ shell: "shell";
4569
+ }>;
4570
+ whatWasDone: z.ZodString;
4571
+ resultSummary: z.ZodString;
4572
+ artifactPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
4573
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
4574
+ nextAction: z.ZodString;
4575
+ costLine: z.ZodString;
4576
+ }, z.core.$strip>;
4577
+ outcome: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4578
+ kind: z.ZodEnum<{
4579
+ blocked: "blocked";
4580
+ completed: "completed";
4581
+ failed: "failed";
4582
+ skipped: "skipped";
4583
+ }>;
4584
+ issueIdsTouched: z.ZodDefault<z.ZodArray<z.ZodString>>;
4585
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
4586
+ path: z.ZodString;
4587
+ kind: z.ZodString;
4588
+ }, z.core.$strip>>>;
4589
+ actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
4590
+ type: z.ZodString;
4591
+ targetId: z.ZodOptional<z.ZodString>;
4592
+ status: z.ZodEnum<{
4593
+ error: "error";
4594
+ ok: "ok";
4595
+ warn: "warn";
4596
+ }>;
4597
+ detail: z.ZodOptional<z.ZodString>;
4598
+ }, z.core.$strip>>>;
4599
+ blockers: z.ZodDefault<z.ZodArray<z.ZodObject<{
4600
+ code: z.ZodString;
4601
+ message: z.ZodString;
4602
+ retryable: z.ZodBoolean;
4603
+ }, z.core.$strip>>>;
4604
+ nextSuggestedState: z.ZodOptional<z.ZodEnum<{
4605
+ blocked: "blocked";
4606
+ todo: "todo";
4607
+ in_progress: "in_progress";
4608
+ in_review: "in_review";
4609
+ done: "done";
4610
+ }>>;
4611
+ }, z.core.$strip>>>;
4612
+ debug: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4613
+ persistedRunStatus: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4614
+ failureType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4615
+ errorType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4616
+ errorMessage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4617
+ }, z.core.$strip>>>;
4618
+ }, z.core.$strip>>>;
3492
4619
  usage: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3493
4620
  tokenInput: z.ZodOptional<z.ZodNumber>;
3494
4621
  tokenOutput: z.ZodOptional<z.ZodNumber>;
3495
4622
  usdCost: z.ZodOptional<z.ZodNumber>;
4623
+ usdCostStatus: z.ZodOptional<z.ZodEnum<{
4624
+ unknown: "unknown";
4625
+ exact: "exact";
4626
+ estimated: "estimated";
4627
+ }>>;
3496
4628
  source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3497
4629
  }, z.core.$strip>>>;
3498
4630
  trace: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;