@knpkv/herdr-work 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +86 -0
  2. package/dist/display-state.d.ts +10 -0
  3. package/dist/display-state.d.ts.map +1 -0
  4. package/dist/display-state.js +5 -0
  5. package/dist/display-state.js.map +1 -0
  6. package/dist/errors.d.ts +21 -0
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +12 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/internal/legacy-lane-claim.d.ts +74 -0
  15. package/dist/internal/legacy-lane-claim.d.ts.map +1 -0
  16. package/dist/internal/legacy-lane-claim.js +81 -0
  17. package/dist/internal/legacy-lane-claim.js.map +1 -0
  18. package/dist/internal/session-index.d.ts +18 -0
  19. package/dist/internal/session-index.d.ts.map +1 -0
  20. package/dist/internal/session-index.js +23 -0
  21. package/dist/internal/session-index.js.map +1 -0
  22. package/dist/internal/terminal-reconcile.d.ts +29 -0
  23. package/dist/internal/terminal-reconcile.d.ts.map +1 -0
  24. package/dist/internal/terminal-reconcile.js +79 -0
  25. package/dist/internal/terminal-reconcile.js.map +1 -0
  26. package/dist/model.d.ts +909 -29
  27. package/dist/model.d.ts.map +1 -1
  28. package/dist/model.js +236 -7
  29. package/dist/model.js.map +1 -1
  30. package/dist/observed.d.ts +77 -0
  31. package/dist/observed.d.ts.map +1 -0
  32. package/dist/observed.js +240 -0
  33. package/dist/observed.js.map +1 -0
  34. package/dist/projection.d.ts +192 -12
  35. package/dist/projection.d.ts.map +1 -1
  36. package/dist/service.d.ts +121 -992
  37. package/dist/service.d.ts.map +1 -1
  38. package/dist/service.js +13 -3
  39. package/dist/service.js.map +1 -1
  40. package/dist/sql.d.ts.map +1 -1
  41. package/dist/sql.js +76 -3
  42. package/dist/sql.js.map +1 -1
  43. package/dist/store.d.ts +193 -11
  44. package/dist/store.d.ts.map +1 -1
  45. package/dist/store.js +687 -37
  46. package/dist/store.js.map +1 -1
  47. package/dist/view.d.ts.map +1 -1
  48. package/dist/view.js +169 -103
  49. package/dist/view.js.map +1 -1
  50. package/dist/work-triage.d.ts +72 -0
  51. package/dist/work-triage.d.ts.map +1 -0
  52. package/dist/work-triage.js +114 -0
  53. package/dist/work-triage.js.map +1 -0
  54. package/package.json +3 -3
  55. package/src/styles.css +229 -237
package/dist/service.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Effect, Option } from "effect";
2
2
  import { WorkPullRequestLinkError, WorkRecoveryContextError } from "./errors.js";
3
- import type { WorkAdmissionConflictError, WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCheckpointConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkGoalAgentTargetConflictError, WorkGoalBindingRequiresAgentError, WorkGoalOwnerMismatchError, WorkGoalReassignmentConflictError, WorkGoalRevisionConflictError, WorkLaneClaimConflictError, WorkLaneGoalConflictError, WorkLaneOperationConflictError, WorkProjectionError, WorkStoreError, WorkTransactionConflictError } from "./errors.js";
4
- import type { WorkAdmissionPreflight, WorkAdmissionTarget, WorkAgentBinding, WorkAgentBindingRequest, WorkDecisionHandoff, WorkExistingGoalRecovery, WorkExistingOwnerReconciliation, WorkGoalCheckpoint, WorkGoalReassigned, WorkGoalReassignment, WorkLaneClaim, WorkLaneClaimed, WorkProspectiveAdmission, WorkRecoveryContext, WorkRecoveryPreflight, WorkRecoveryTarget, WorkSnapshots } from "./model.js";
3
+ import type { WorkAdmissionConflictError, WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCheckpointConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkGoalAbandonmentConflictError, WorkGoalAgentTargetConflictError, WorkGoalBindingRequiresAgentError, WorkGoalLaneActiveError, WorkGoalOwnerMismatchError, WorkGoalReassignmentConflictError, WorkGoalRevisionConflictError, WorkGoalTerminalError, WorkLaneClaimConflictError, WorkLaneGoalConflictError, WorkLaneOperationConflictError, WorkProjectionError, WorkStoreError, WorkTransactionConflictError } from "./errors.js";
4
+ import type { WorkAdmissionPreflight, WorkAdmissionTarget, WorkAgentBinding, WorkAgentBindingRequest, WorkDecisionHandoff, WorkExistingGoalRecovery, WorkExistingOwnerReconciliation, WorkGoalAbandoned, WorkGoalAbandonment, WorkGoalCheckpoint, WorkGoalReassigned, WorkGoalReassignment, WorkLaneClaim, WorkLaneClaimed, WorkObservationEnvelope, WorkObservedAdmission, WorkObserveReport, WorkProspectiveAdmission, WorkReconcileOutcome, WorkRecoveryContext, WorkRecoveryPreflight, WorkRecoveryTarget, WorkSnapshots } from "./model.js";
5
5
  import { WorkPullRequestLink, WorkPullRequestLinkRequest } from "./model.js";
6
6
  import type { WorkStoreService } from "./store.js";
7
7
  export interface WorkService {
@@ -11,16 +11,40 @@ export interface WorkService {
11
11
  readonly recoverExistingGoal: (request: WorkExistingGoalRecovery) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError>;
12
12
  /** Approval-bound owner transfer; replaying the same approval job returns the prior result. */
13
13
  readonly reassign: (request: WorkGoalReassignment) => Effect.Effect<WorkGoalReassigned, WorkGoalAgentTargetConflictError | WorkGoalBindingRequiresAgentError | WorkGoalOwnerMismatchError | WorkGoalReassignmentConflictError | WorkGoalRevisionConflictError | WorkProjectionError | WorkStoreError>;
14
+ /**
15
+ * Approval-bound move of a goal to `abandoned`; refuses a goal with an active
16
+ * lane or one already finished. Replaying the same approval job returns the
17
+ * prior result.
18
+ */
19
+ readonly abandon: (request: WorkGoalAbandonment) => Effect.Effect<WorkGoalAbandoned, WorkGoalAbandonmentConflictError | WorkGoalLaneActiveError | WorkGoalOwnerMismatchError | WorkGoalRevisionConflictError | WorkGoalTerminalError | WorkProjectionError | WorkStoreError>;
14
20
  readonly admissionPreflight: (target: WorkAdmissionTarget) => Effect.Effect<WorkAdmissionPreflight, WorkProjectionError | WorkStoreError>;
15
21
  readonly admitExistingOwner: (request: WorkProspectiveAdmission) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError>;
22
+ /**
23
+ * Admits a worker the reconciler observed, without an approval: the same
24
+ * write as `admitExistingOwner`, credited to the observation. The caller has
25
+ * checked the pane's host, lineage and worktree; the store re-checks the
26
+ * absence evidence.
27
+ */
28
+ readonly admitObserved: (request: WorkObservedAdmission) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError>;
16
29
  readonly inspectPullRequest: (request: WorkPullRequestLinkRequest) => Effect.Effect<WorkPullRequestLink, WorkPullRequestLinkError | WorkProjectionError | WorkStoreError>;
17
30
  readonly reconcileExistingOwner: (request: WorkExistingOwnerReconciliation) => Effect.Effect<WorkLaneClaimed, WorkPullRequestLinkError | WorkLaneClaimConflictError | WorkLaneGoalConflictError | WorkLaneOperationConflictError | WorkProjectionError | WorkStoreError>;
18
31
  readonly bindAgent: (request: WorkAgentBindingRequest) => Effect.Effect<WorkAgentBinding, WorkAgentBindingAuthorityError | WorkAgentBindingConflictError | WorkProjectionError | WorkStoreError>;
19
32
  readonly agentBinding: (dispatchRequestId: string) => Effect.Effect<Option.Option<WorkAgentBinding>, WorkStoreError>;
20
33
  readonly record: (event: WorkGoalCheckpoint) => Effect.Effect<WorkGoalCheckpoint, WorkCheckpointConflictError | WorkProjectionError | WorkStoreError>;
34
+ /**
35
+ * Records goals whose pull request is observed merged or closed as completed
36
+ * or abandoned. Run it after `observe`; it never writes anything else.
37
+ */
38
+ readonly reconcile: () => Effect.Effect<ReadonlyArray<WorkReconcileOutcome>, WorkCheckpointConflictError | WorkProjectionError | WorkStoreError>;
39
+ /**
40
+ * Stores observed facts (a pull request's state, an agent's status) for the
41
+ * Work tab. Facts are not goal history and never change an approval token.
42
+ */
43
+ readonly observe: (envelopes: ReadonlyArray<WorkObservationEnvelope>) => Effect.Effect<WorkObserveReport, WorkStoreError>;
21
44
  /**
22
45
  * Projects history at an explicit timestamp, or at the later of the current
23
- * clock and the coordinator-owned logical timestamp when none is given.
46
+ * clock and the coordinator-owned logical timestamp when none is given. The
47
+ * `now` window also carries each goal's observed facts.
24
48
  */
25
49
  readonly snapshots: (observedAt?: number) => Effect.Effect<WorkSnapshots, WorkStoreError | WorkProjectionError>;
26
50
  readonly recordMany: (transactionId: string, events: ReadonlyArray<WorkGoalCheckpoint>) => Effect.Effect<ReadonlyArray<WorkGoalCheckpoint>, WorkCheckpointConflictError | WorkProjectionError | WorkTransactionConflictError | WorkStoreError>;
@@ -113,7 +137,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
113
137
  readonly title: string;
114
138
  readonly summary: string;
115
139
  readonly detail: string;
116
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
140
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
117
141
  readonly owner: {
118
142
  readonly id: string;
119
143
  readonly name: string;
@@ -250,6 +274,14 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
250
274
  readonly approvalJobId: string;
251
275
  readonly approvalActor: string;
252
276
  };
277
+ readonly observedAdmission?: {
278
+ readonly sessionId: string;
279
+ readonly workAssignment: string;
280
+ readonly baseHead: string;
281
+ readonly expectedAbsenceToken: string;
282
+ readonly actor: "reconciler";
283
+ readonly observationId: string;
284
+ };
253
285
  readonly existingGoalRecovery?: {
254
286
  readonly sessionId: string;
255
287
  readonly workAssignment: string;
@@ -319,7 +351,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
319
351
  readonly title: string;
320
352
  readonly summary: string;
321
353
  readonly detail: string;
322
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
354
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
323
355
  readonly owner: {
324
356
  readonly id: string;
325
357
  readonly name: string;
@@ -503,6 +535,22 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
503
535
  readonly approvalApprovedAt: number;
504
536
  readonly approvalHash: string;
505
537
  }) => Effect.Effect<WorkGoalReassigned, WorkGoalAgentTargetConflictError | WorkGoalBindingRequiresAgentError | WorkGoalOwnerMismatchError | WorkGoalReassignmentConflictError | WorkGoalRevisionConflictError | WorkProjectionError | WorkStoreError, never>;
538
+ abandon: (request: {
539
+ readonly kind: "work.abandon";
540
+ readonly goalId: string;
541
+ readonly owner: {
542
+ readonly id: string;
543
+ readonly name: string;
544
+ };
545
+ readonly reason: string;
546
+ readonly expectedGoalEventId: string;
547
+ readonly expectedGoalUpdatedAt: number;
548
+ readonly approvalJobId: string;
549
+ readonly approvalActor: string;
550
+ readonly approvalApprovedBy: string;
551
+ readonly approvalApprovedAt: number;
552
+ readonly approvalHash: string;
553
+ }) => Effect.Effect<WorkGoalAbandoned, WorkGoalAbandonmentConflictError | WorkGoalLaneActiveError | WorkGoalOwnerMismatchError | WorkGoalRevisionConflictError | WorkGoalTerminalError | WorkProjectionError | WorkStoreError, never>;
506
554
  admissionPreflight: (target: WorkAdmissionTarget) => Effect.Effect<{
507
555
  readonly _tag: "conflict";
508
556
  readonly target: {
@@ -575,7 +623,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
575
623
  readonly title: string;
576
624
  readonly summary: string;
577
625
  readonly detail: string;
578
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
626
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
579
627
  readonly owner: {
580
628
  readonly id: string;
581
629
  readonly name: string;
@@ -712,6 +760,14 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
712
760
  readonly approvalJobId: string;
713
761
  readonly approvalActor: string;
714
762
  };
763
+ readonly observedAdmission?: {
764
+ readonly sessionId: string;
765
+ readonly workAssignment: string;
766
+ readonly baseHead: string;
767
+ readonly expectedAbsenceToken: string;
768
+ readonly actor: "reconciler";
769
+ readonly observationId: string;
770
+ };
715
771
  readonly existingGoalRecovery?: {
716
772
  readonly sessionId: string;
717
773
  readonly workAssignment: string;
@@ -781,7 +837,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
781
837
  readonly title: string;
782
838
  readonly summary: string;
783
839
  readonly detail: string;
784
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
840
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
785
841
  readonly owner: {
786
842
  readonly id: string;
787
843
  readonly name: string;
@@ -924,6 +980,39 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
924
980
  readonly approvalJobId: string;
925
981
  readonly approvalActor: string;
926
982
  }) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError, never>;
983
+ admitObserved: (request: {
984
+ readonly repository: string;
985
+ readonly pullRequest: number;
986
+ readonly reviewUrl: string;
987
+ readonly goalId: string;
988
+ readonly laneId: string;
989
+ readonly operationId: string;
990
+ readonly expectedAbsenceToken: string;
991
+ readonly head: string;
992
+ readonly baseHead: string;
993
+ readonly owner: {
994
+ readonly id: string;
995
+ readonly name: string;
996
+ };
997
+ readonly sessionId: string;
998
+ readonly expectedWork: string;
999
+ readonly worker: {
1000
+ readonly host: string;
1001
+ readonly agentId: string;
1002
+ readonly name: string;
1003
+ readonly paneId: string;
1004
+ readonly relationship?: {
1005
+ readonly parentAgentId: string;
1006
+ readonly relation: "delegated" | "pair" | "review";
1007
+ };
1008
+ };
1009
+ readonly worktree: string;
1010
+ readonly branch: string;
1011
+ readonly title: string;
1012
+ readonly summary: string;
1013
+ readonly detail: string;
1014
+ readonly observationId: string;
1015
+ }) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError, never>;
927
1016
  agentBinding: (dispatchRequestId: string) => Effect.Effect<Option.Option<WorkAgentBinding>, WorkStoreError, never>;
928
1017
  inspectPullRequest: (request: WorkPullRequestLinkRequest) => Effect.Effect<{
929
1018
  readonly request: {
@@ -938,7 +1027,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
938
1027
  readonly title: string;
939
1028
  readonly summary: string;
940
1029
  readonly detail: string;
941
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1030
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
942
1031
  readonly owner: {
943
1032
  readonly id: string;
944
1033
  readonly name: string;
@@ -1075,6 +1164,14 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
1075
1164
  readonly approvalJobId: string;
1076
1165
  readonly approvalActor: string;
1077
1166
  };
1167
+ readonly observedAdmission?: {
1168
+ readonly sessionId: string;
1169
+ readonly workAssignment: string;
1170
+ readonly baseHead: string;
1171
+ readonly expectedAbsenceToken: string;
1172
+ readonly actor: "reconciler";
1173
+ readonly observationId: string;
1174
+ };
1078
1175
  readonly existingGoalRecovery?: {
1079
1176
  readonly sessionId: string;
1080
1177
  readonly workAssignment: string;
@@ -1144,7 +1241,7 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
1144
1241
  readonly title: string;
1145
1242
  readonly summary: string;
1146
1243
  readonly detail: string;
1147
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1244
+ readonly state: "abandoned" | "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1148
1245
  readonly owner: {
1149
1246
  readonly id: string;
1150
1247
  readonly name: string;
@@ -1229,990 +1326,22 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
1229
1326
  currentClaim: (laneId: string) => Effect.Effect<Option.Option<WorkLaneClaimed>, WorkStoreError, never>;
1230
1327
  decisions: (laneId: string) => Effect.Effect<readonly WorkDecisionHandoff[], WorkStoreError, never>;
1231
1328
  handoff: (decision: WorkDecisionHandoff) => Effect.Effect<WorkDecisionHandoff, WorkCoordinatorHandoffConflictError | WorkDecisionAuthorityConflictError | WorkDecisionHandoffConflictError | WorkDecisionRevisionConflictError | WorkProjectionError | WorkStoreError, never>;
1329
+ observe: (envelopes: readonly WorkObservationEnvelope[]) => Effect.Effect<WorkObserveReport, WorkStoreError, never>;
1330
+ reconcile: () => Effect.Effect<readonly ({
1331
+ readonly _tag: "applied";
1332
+ readonly goalId: string;
1333
+ readonly eventId: string;
1334
+ readonly state: "abandoned" | "completed";
1335
+ } | {
1336
+ readonly _tag: "conflict";
1337
+ readonly goalId: string;
1338
+ } | {
1339
+ readonly _tag: "recorded";
1340
+ readonly goalId: string;
1341
+ readonly eventId: string;
1342
+ })[], WorkCheckpointConflictError | WorkProjectionError | WorkStoreError, never>;
1232
1343
  record: (event: WorkGoalCheckpoint) => Effect.Effect<WorkGoalCheckpoint, WorkCheckpointConflictError | WorkProjectionError | WorkStoreError, never>;
1233
1344
  recordMany: (transactionId: string, events: readonly WorkGoalCheckpoint[]) => Effect.Effect<readonly WorkGoalCheckpoint[], WorkCheckpointConflictError | WorkProjectionError | WorkStoreError | WorkTransactionConflictError, never>;
1234
- snapshots: (observedAt?: number | undefined) => Effect.Effect<{
1235
- readonly observedAt: number;
1236
- readonly now: {
1237
- readonly window: "day" | "month" | "now" | "week";
1238
- readonly observedAt: number;
1239
- readonly asOf: number;
1240
- readonly goals: readonly {
1241
- readonly id: string;
1242
- readonly title: string;
1243
- readonly summary: string;
1244
- readonly detail: string;
1245
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1246
- readonly owner: {
1247
- readonly id: string;
1248
- readonly name: string;
1249
- };
1250
- readonly repository: {
1251
- readonly repository: string;
1252
- readonly branch: string;
1253
- };
1254
- readonly spend: {
1255
- readonly currency: string;
1256
- readonly minorUnits: number;
1257
- } | null;
1258
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1259
- readonly blocker: {
1260
- readonly summary: string;
1261
- readonly since: number;
1262
- } | null;
1263
- readonly connectTarget: {
1264
- readonly host: string;
1265
- readonly agentId: string;
1266
- readonly url: string;
1267
- } | null;
1268
- readonly goalFamily?: {
1269
- readonly canonicalGoalId: string;
1270
- readonly role: "canonical" | "superseded";
1271
- };
1272
- readonly agentHierarchy?: {
1273
- readonly agent: {
1274
- readonly host: string;
1275
- readonly agentId: string;
1276
- readonly name: string;
1277
- readonly paneId: string;
1278
- readonly relationship?: {
1279
- readonly parentAgentId: string;
1280
- readonly relation: "delegated" | "pair" | "review";
1281
- };
1282
- };
1283
- } | null;
1284
- readonly activity?: readonly {
1285
- readonly id: string;
1286
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1287
- readonly summary: string;
1288
- readonly occurredAt: number;
1289
- }[];
1290
- readonly blockers?: readonly {
1291
- readonly summary: string;
1292
- readonly since: number;
1293
- }[];
1294
- readonly requests?: readonly {
1295
- readonly id: string;
1296
- readonly summary: string;
1297
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1298
- readonly requestedAt: number;
1299
- readonly approvalTarget: {
1300
- readonly host: string;
1301
- readonly jobId: string;
1302
- readonly url: string;
1303
- } | null;
1304
- }[];
1305
- readonly review?: {
1306
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1307
- readonly summary: string | null;
1308
- readonly updatedAt: number;
1309
- readonly url: string | null;
1310
- } | null;
1311
- readonly approvalTarget?: {
1312
- readonly host: string;
1313
- readonly jobId: string;
1314
- readonly url: string;
1315
- } | null;
1316
- readonly createdAt: number;
1317
- readonly updatedAt: number;
1318
- }[];
1319
- readonly families?: readonly {
1320
- readonly canonicalGoalId: string;
1321
- readonly canonical: {
1322
- readonly id: string;
1323
- readonly title: string;
1324
- readonly summary: string;
1325
- readonly detail: string;
1326
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1327
- readonly owner: {
1328
- readonly id: string;
1329
- readonly name: string;
1330
- };
1331
- readonly repository: {
1332
- readonly repository: string;
1333
- readonly branch: string;
1334
- };
1335
- readonly spend: {
1336
- readonly currency: string;
1337
- readonly minorUnits: number;
1338
- } | null;
1339
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1340
- readonly blocker: {
1341
- readonly summary: string;
1342
- readonly since: number;
1343
- } | null;
1344
- readonly connectTarget: {
1345
- readonly host: string;
1346
- readonly agentId: string;
1347
- readonly url: string;
1348
- } | null;
1349
- readonly goalFamily?: {
1350
- readonly canonicalGoalId: string;
1351
- readonly role: "canonical" | "superseded";
1352
- };
1353
- readonly agentHierarchy?: {
1354
- readonly agent: {
1355
- readonly host: string;
1356
- readonly agentId: string;
1357
- readonly name: string;
1358
- readonly paneId: string;
1359
- readonly relationship?: {
1360
- readonly parentAgentId: string;
1361
- readonly relation: "delegated" | "pair" | "review";
1362
- };
1363
- };
1364
- } | null;
1365
- readonly activity?: readonly {
1366
- readonly id: string;
1367
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1368
- readonly summary: string;
1369
- readonly occurredAt: number;
1370
- }[];
1371
- readonly blockers?: readonly {
1372
- readonly summary: string;
1373
- readonly since: number;
1374
- }[];
1375
- readonly requests?: readonly {
1376
- readonly id: string;
1377
- readonly summary: string;
1378
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1379
- readonly requestedAt: number;
1380
- readonly approvalTarget: {
1381
- readonly host: string;
1382
- readonly jobId: string;
1383
- readonly url: string;
1384
- } | null;
1385
- }[];
1386
- readonly review?: {
1387
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1388
- readonly summary: string | null;
1389
- readonly updatedAt: number;
1390
- readonly url: string | null;
1391
- } | null;
1392
- readonly approvalTarget?: {
1393
- readonly host: string;
1394
- readonly jobId: string;
1395
- readonly url: string;
1396
- } | null;
1397
- readonly createdAt: number;
1398
- readonly updatedAt: number;
1399
- };
1400
- readonly superseded: readonly {
1401
- readonly id: string;
1402
- readonly title: string;
1403
- readonly summary: string;
1404
- readonly detail: string;
1405
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1406
- readonly owner: {
1407
- readonly id: string;
1408
- readonly name: string;
1409
- };
1410
- readonly repository: {
1411
- readonly repository: string;
1412
- readonly branch: string;
1413
- };
1414
- readonly spend: {
1415
- readonly currency: string;
1416
- readonly minorUnits: number;
1417
- } | null;
1418
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1419
- readonly blocker: {
1420
- readonly summary: string;
1421
- readonly since: number;
1422
- } | null;
1423
- readonly connectTarget: {
1424
- readonly host: string;
1425
- readonly agentId: string;
1426
- readonly url: string;
1427
- } | null;
1428
- readonly goalFamily?: {
1429
- readonly canonicalGoalId: string;
1430
- readonly role: "canonical" | "superseded";
1431
- };
1432
- readonly agentHierarchy?: {
1433
- readonly agent: {
1434
- readonly host: string;
1435
- readonly agentId: string;
1436
- readonly name: string;
1437
- readonly paneId: string;
1438
- readonly relationship?: {
1439
- readonly parentAgentId: string;
1440
- readonly relation: "delegated" | "pair" | "review";
1441
- };
1442
- };
1443
- } | null;
1444
- readonly activity?: readonly {
1445
- readonly id: string;
1446
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1447
- readonly summary: string;
1448
- readonly occurredAt: number;
1449
- }[];
1450
- readonly blockers?: readonly {
1451
- readonly summary: string;
1452
- readonly since: number;
1453
- }[];
1454
- readonly requests?: readonly {
1455
- readonly id: string;
1456
- readonly summary: string;
1457
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1458
- readonly requestedAt: number;
1459
- readonly approvalTarget: {
1460
- readonly host: string;
1461
- readonly jobId: string;
1462
- readonly url: string;
1463
- } | null;
1464
- }[];
1465
- readonly review?: {
1466
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1467
- readonly summary: string | null;
1468
- readonly updatedAt: number;
1469
- readonly url: string | null;
1470
- } | null;
1471
- readonly approvalTarget?: {
1472
- readonly host: string;
1473
- readonly jobId: string;
1474
- readonly url: string;
1475
- } | null;
1476
- readonly createdAt: number;
1477
- readonly updatedAt: number;
1478
- }[];
1479
- }[];
1480
- };
1481
- readonly day: {
1482
- readonly window: "day" | "month" | "now" | "week";
1483
- readonly observedAt: number;
1484
- readonly asOf: number;
1485
- readonly goals: readonly {
1486
- readonly id: string;
1487
- readonly title: string;
1488
- readonly summary: string;
1489
- readonly detail: string;
1490
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1491
- readonly owner: {
1492
- readonly id: string;
1493
- readonly name: string;
1494
- };
1495
- readonly repository: {
1496
- readonly repository: string;
1497
- readonly branch: string;
1498
- };
1499
- readonly spend: {
1500
- readonly currency: string;
1501
- readonly minorUnits: number;
1502
- } | null;
1503
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1504
- readonly blocker: {
1505
- readonly summary: string;
1506
- readonly since: number;
1507
- } | null;
1508
- readonly connectTarget: {
1509
- readonly host: string;
1510
- readonly agentId: string;
1511
- readonly url: string;
1512
- } | null;
1513
- readonly goalFamily?: {
1514
- readonly canonicalGoalId: string;
1515
- readonly role: "canonical" | "superseded";
1516
- };
1517
- readonly agentHierarchy?: {
1518
- readonly agent: {
1519
- readonly host: string;
1520
- readonly agentId: string;
1521
- readonly name: string;
1522
- readonly paneId: string;
1523
- readonly relationship?: {
1524
- readonly parentAgentId: string;
1525
- readonly relation: "delegated" | "pair" | "review";
1526
- };
1527
- };
1528
- } | null;
1529
- readonly activity?: readonly {
1530
- readonly id: string;
1531
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1532
- readonly summary: string;
1533
- readonly occurredAt: number;
1534
- }[];
1535
- readonly blockers?: readonly {
1536
- readonly summary: string;
1537
- readonly since: number;
1538
- }[];
1539
- readonly requests?: readonly {
1540
- readonly id: string;
1541
- readonly summary: string;
1542
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1543
- readonly requestedAt: number;
1544
- readonly approvalTarget: {
1545
- readonly host: string;
1546
- readonly jobId: string;
1547
- readonly url: string;
1548
- } | null;
1549
- }[];
1550
- readonly review?: {
1551
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1552
- readonly summary: string | null;
1553
- readonly updatedAt: number;
1554
- readonly url: string | null;
1555
- } | null;
1556
- readonly approvalTarget?: {
1557
- readonly host: string;
1558
- readonly jobId: string;
1559
- readonly url: string;
1560
- } | null;
1561
- readonly createdAt: number;
1562
- readonly updatedAt: number;
1563
- }[];
1564
- readonly families?: readonly {
1565
- readonly canonicalGoalId: string;
1566
- readonly canonical: {
1567
- readonly id: string;
1568
- readonly title: string;
1569
- readonly summary: string;
1570
- readonly detail: string;
1571
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1572
- readonly owner: {
1573
- readonly id: string;
1574
- readonly name: string;
1575
- };
1576
- readonly repository: {
1577
- readonly repository: string;
1578
- readonly branch: string;
1579
- };
1580
- readonly spend: {
1581
- readonly currency: string;
1582
- readonly minorUnits: number;
1583
- } | null;
1584
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1585
- readonly blocker: {
1586
- readonly summary: string;
1587
- readonly since: number;
1588
- } | null;
1589
- readonly connectTarget: {
1590
- readonly host: string;
1591
- readonly agentId: string;
1592
- readonly url: string;
1593
- } | null;
1594
- readonly goalFamily?: {
1595
- readonly canonicalGoalId: string;
1596
- readonly role: "canonical" | "superseded";
1597
- };
1598
- readonly agentHierarchy?: {
1599
- readonly agent: {
1600
- readonly host: string;
1601
- readonly agentId: string;
1602
- readonly name: string;
1603
- readonly paneId: string;
1604
- readonly relationship?: {
1605
- readonly parentAgentId: string;
1606
- readonly relation: "delegated" | "pair" | "review";
1607
- };
1608
- };
1609
- } | null;
1610
- readonly activity?: readonly {
1611
- readonly id: string;
1612
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1613
- readonly summary: string;
1614
- readonly occurredAt: number;
1615
- }[];
1616
- readonly blockers?: readonly {
1617
- readonly summary: string;
1618
- readonly since: number;
1619
- }[];
1620
- readonly requests?: readonly {
1621
- readonly id: string;
1622
- readonly summary: string;
1623
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1624
- readonly requestedAt: number;
1625
- readonly approvalTarget: {
1626
- readonly host: string;
1627
- readonly jobId: string;
1628
- readonly url: string;
1629
- } | null;
1630
- }[];
1631
- readonly review?: {
1632
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1633
- readonly summary: string | null;
1634
- readonly updatedAt: number;
1635
- readonly url: string | null;
1636
- } | null;
1637
- readonly approvalTarget?: {
1638
- readonly host: string;
1639
- readonly jobId: string;
1640
- readonly url: string;
1641
- } | null;
1642
- readonly createdAt: number;
1643
- readonly updatedAt: number;
1644
- };
1645
- readonly superseded: readonly {
1646
- readonly id: string;
1647
- readonly title: string;
1648
- readonly summary: string;
1649
- readonly detail: string;
1650
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1651
- readonly owner: {
1652
- readonly id: string;
1653
- readonly name: string;
1654
- };
1655
- readonly repository: {
1656
- readonly repository: string;
1657
- readonly branch: string;
1658
- };
1659
- readonly spend: {
1660
- readonly currency: string;
1661
- readonly minorUnits: number;
1662
- } | null;
1663
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1664
- readonly blocker: {
1665
- readonly summary: string;
1666
- readonly since: number;
1667
- } | null;
1668
- readonly connectTarget: {
1669
- readonly host: string;
1670
- readonly agentId: string;
1671
- readonly url: string;
1672
- } | null;
1673
- readonly goalFamily?: {
1674
- readonly canonicalGoalId: string;
1675
- readonly role: "canonical" | "superseded";
1676
- };
1677
- readonly agentHierarchy?: {
1678
- readonly agent: {
1679
- readonly host: string;
1680
- readonly agentId: string;
1681
- readonly name: string;
1682
- readonly paneId: string;
1683
- readonly relationship?: {
1684
- readonly parentAgentId: string;
1685
- readonly relation: "delegated" | "pair" | "review";
1686
- };
1687
- };
1688
- } | null;
1689
- readonly activity?: readonly {
1690
- readonly id: string;
1691
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1692
- readonly summary: string;
1693
- readonly occurredAt: number;
1694
- }[];
1695
- readonly blockers?: readonly {
1696
- readonly summary: string;
1697
- readonly since: number;
1698
- }[];
1699
- readonly requests?: readonly {
1700
- readonly id: string;
1701
- readonly summary: string;
1702
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1703
- readonly requestedAt: number;
1704
- readonly approvalTarget: {
1705
- readonly host: string;
1706
- readonly jobId: string;
1707
- readonly url: string;
1708
- } | null;
1709
- }[];
1710
- readonly review?: {
1711
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1712
- readonly summary: string | null;
1713
- readonly updatedAt: number;
1714
- readonly url: string | null;
1715
- } | null;
1716
- readonly approvalTarget?: {
1717
- readonly host: string;
1718
- readonly jobId: string;
1719
- readonly url: string;
1720
- } | null;
1721
- readonly createdAt: number;
1722
- readonly updatedAt: number;
1723
- }[];
1724
- }[];
1725
- };
1726
- readonly week: {
1727
- readonly window: "day" | "month" | "now" | "week";
1728
- readonly observedAt: number;
1729
- readonly asOf: number;
1730
- readonly goals: readonly {
1731
- readonly id: string;
1732
- readonly title: string;
1733
- readonly summary: string;
1734
- readonly detail: string;
1735
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1736
- readonly owner: {
1737
- readonly id: string;
1738
- readonly name: string;
1739
- };
1740
- readonly repository: {
1741
- readonly repository: string;
1742
- readonly branch: string;
1743
- };
1744
- readonly spend: {
1745
- readonly currency: string;
1746
- readonly minorUnits: number;
1747
- } | null;
1748
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1749
- readonly blocker: {
1750
- readonly summary: string;
1751
- readonly since: number;
1752
- } | null;
1753
- readonly connectTarget: {
1754
- readonly host: string;
1755
- readonly agentId: string;
1756
- readonly url: string;
1757
- } | null;
1758
- readonly goalFamily?: {
1759
- readonly canonicalGoalId: string;
1760
- readonly role: "canonical" | "superseded";
1761
- };
1762
- readonly agentHierarchy?: {
1763
- readonly agent: {
1764
- readonly host: string;
1765
- readonly agentId: string;
1766
- readonly name: string;
1767
- readonly paneId: string;
1768
- readonly relationship?: {
1769
- readonly parentAgentId: string;
1770
- readonly relation: "delegated" | "pair" | "review";
1771
- };
1772
- };
1773
- } | null;
1774
- readonly activity?: readonly {
1775
- readonly id: string;
1776
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1777
- readonly summary: string;
1778
- readonly occurredAt: number;
1779
- }[];
1780
- readonly blockers?: readonly {
1781
- readonly summary: string;
1782
- readonly since: number;
1783
- }[];
1784
- readonly requests?: readonly {
1785
- readonly id: string;
1786
- readonly summary: string;
1787
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1788
- readonly requestedAt: number;
1789
- readonly approvalTarget: {
1790
- readonly host: string;
1791
- readonly jobId: string;
1792
- readonly url: string;
1793
- } | null;
1794
- }[];
1795
- readonly review?: {
1796
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1797
- readonly summary: string | null;
1798
- readonly updatedAt: number;
1799
- readonly url: string | null;
1800
- } | null;
1801
- readonly approvalTarget?: {
1802
- readonly host: string;
1803
- readonly jobId: string;
1804
- readonly url: string;
1805
- } | null;
1806
- readonly createdAt: number;
1807
- readonly updatedAt: number;
1808
- }[];
1809
- readonly families?: readonly {
1810
- readonly canonicalGoalId: string;
1811
- readonly canonical: {
1812
- readonly id: string;
1813
- readonly title: string;
1814
- readonly summary: string;
1815
- readonly detail: string;
1816
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1817
- readonly owner: {
1818
- readonly id: string;
1819
- readonly name: string;
1820
- };
1821
- readonly repository: {
1822
- readonly repository: string;
1823
- readonly branch: string;
1824
- };
1825
- readonly spend: {
1826
- readonly currency: string;
1827
- readonly minorUnits: number;
1828
- } | null;
1829
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1830
- readonly blocker: {
1831
- readonly summary: string;
1832
- readonly since: number;
1833
- } | null;
1834
- readonly connectTarget: {
1835
- readonly host: string;
1836
- readonly agentId: string;
1837
- readonly url: string;
1838
- } | null;
1839
- readonly goalFamily?: {
1840
- readonly canonicalGoalId: string;
1841
- readonly role: "canonical" | "superseded";
1842
- };
1843
- readonly agentHierarchy?: {
1844
- readonly agent: {
1845
- readonly host: string;
1846
- readonly agentId: string;
1847
- readonly name: string;
1848
- readonly paneId: string;
1849
- readonly relationship?: {
1850
- readonly parentAgentId: string;
1851
- readonly relation: "delegated" | "pair" | "review";
1852
- };
1853
- };
1854
- } | null;
1855
- readonly activity?: readonly {
1856
- readonly id: string;
1857
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1858
- readonly summary: string;
1859
- readonly occurredAt: number;
1860
- }[];
1861
- readonly blockers?: readonly {
1862
- readonly summary: string;
1863
- readonly since: number;
1864
- }[];
1865
- readonly requests?: readonly {
1866
- readonly id: string;
1867
- readonly summary: string;
1868
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1869
- readonly requestedAt: number;
1870
- readonly approvalTarget: {
1871
- readonly host: string;
1872
- readonly jobId: string;
1873
- readonly url: string;
1874
- } | null;
1875
- }[];
1876
- readonly review?: {
1877
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1878
- readonly summary: string | null;
1879
- readonly updatedAt: number;
1880
- readonly url: string | null;
1881
- } | null;
1882
- readonly approvalTarget?: {
1883
- readonly host: string;
1884
- readonly jobId: string;
1885
- readonly url: string;
1886
- } | null;
1887
- readonly createdAt: number;
1888
- readonly updatedAt: number;
1889
- };
1890
- readonly superseded: readonly {
1891
- readonly id: string;
1892
- readonly title: string;
1893
- readonly summary: string;
1894
- readonly detail: string;
1895
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1896
- readonly owner: {
1897
- readonly id: string;
1898
- readonly name: string;
1899
- };
1900
- readonly repository: {
1901
- readonly repository: string;
1902
- readonly branch: string;
1903
- };
1904
- readonly spend: {
1905
- readonly currency: string;
1906
- readonly minorUnits: number;
1907
- } | null;
1908
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1909
- readonly blocker: {
1910
- readonly summary: string;
1911
- readonly since: number;
1912
- } | null;
1913
- readonly connectTarget: {
1914
- readonly host: string;
1915
- readonly agentId: string;
1916
- readonly url: string;
1917
- } | null;
1918
- readonly goalFamily?: {
1919
- readonly canonicalGoalId: string;
1920
- readonly role: "canonical" | "superseded";
1921
- };
1922
- readonly agentHierarchy?: {
1923
- readonly agent: {
1924
- readonly host: string;
1925
- readonly agentId: string;
1926
- readonly name: string;
1927
- readonly paneId: string;
1928
- readonly relationship?: {
1929
- readonly parentAgentId: string;
1930
- readonly relation: "delegated" | "pair" | "review";
1931
- };
1932
- };
1933
- } | null;
1934
- readonly activity?: readonly {
1935
- readonly id: string;
1936
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
1937
- readonly summary: string;
1938
- readonly occurredAt: number;
1939
- }[];
1940
- readonly blockers?: readonly {
1941
- readonly summary: string;
1942
- readonly since: number;
1943
- }[];
1944
- readonly requests?: readonly {
1945
- readonly id: string;
1946
- readonly summary: string;
1947
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
1948
- readonly requestedAt: number;
1949
- readonly approvalTarget: {
1950
- readonly host: string;
1951
- readonly jobId: string;
1952
- readonly url: string;
1953
- } | null;
1954
- }[];
1955
- readonly review?: {
1956
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1957
- readonly summary: string | null;
1958
- readonly updatedAt: number;
1959
- readonly url: string | null;
1960
- } | null;
1961
- readonly approvalTarget?: {
1962
- readonly host: string;
1963
- readonly jobId: string;
1964
- readonly url: string;
1965
- } | null;
1966
- readonly createdAt: number;
1967
- readonly updatedAt: number;
1968
- }[];
1969
- }[];
1970
- };
1971
- readonly month: {
1972
- readonly window: "day" | "month" | "now" | "week";
1973
- readonly observedAt: number;
1974
- readonly asOf: number;
1975
- readonly goals: readonly {
1976
- readonly id: string;
1977
- readonly title: string;
1978
- readonly summary: string;
1979
- readonly detail: string;
1980
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
1981
- readonly owner: {
1982
- readonly id: string;
1983
- readonly name: string;
1984
- };
1985
- readonly repository: {
1986
- readonly repository: string;
1987
- readonly branch: string;
1988
- };
1989
- readonly spend: {
1990
- readonly currency: string;
1991
- readonly minorUnits: number;
1992
- } | null;
1993
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
1994
- readonly blocker: {
1995
- readonly summary: string;
1996
- readonly since: number;
1997
- } | null;
1998
- readonly connectTarget: {
1999
- readonly host: string;
2000
- readonly agentId: string;
2001
- readonly url: string;
2002
- } | null;
2003
- readonly goalFamily?: {
2004
- readonly canonicalGoalId: string;
2005
- readonly role: "canonical" | "superseded";
2006
- };
2007
- readonly agentHierarchy?: {
2008
- readonly agent: {
2009
- readonly host: string;
2010
- readonly agentId: string;
2011
- readonly name: string;
2012
- readonly paneId: string;
2013
- readonly relationship?: {
2014
- readonly parentAgentId: string;
2015
- readonly relation: "delegated" | "pair" | "review";
2016
- };
2017
- };
2018
- } | null;
2019
- readonly activity?: readonly {
2020
- readonly id: string;
2021
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
2022
- readonly summary: string;
2023
- readonly occurredAt: number;
2024
- }[];
2025
- readonly blockers?: readonly {
2026
- readonly summary: string;
2027
- readonly since: number;
2028
- }[];
2029
- readonly requests?: readonly {
2030
- readonly id: string;
2031
- readonly summary: string;
2032
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
2033
- readonly requestedAt: number;
2034
- readonly approvalTarget: {
2035
- readonly host: string;
2036
- readonly jobId: string;
2037
- readonly url: string;
2038
- } | null;
2039
- }[];
2040
- readonly review?: {
2041
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
2042
- readonly summary: string | null;
2043
- readonly updatedAt: number;
2044
- readonly url: string | null;
2045
- } | null;
2046
- readonly approvalTarget?: {
2047
- readonly host: string;
2048
- readonly jobId: string;
2049
- readonly url: string;
2050
- } | null;
2051
- readonly createdAt: number;
2052
- readonly updatedAt: number;
2053
- }[];
2054
- readonly families?: readonly {
2055
- readonly canonicalGoalId: string;
2056
- readonly canonical: {
2057
- readonly id: string;
2058
- readonly title: string;
2059
- readonly summary: string;
2060
- readonly detail: string;
2061
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
2062
- readonly owner: {
2063
- readonly id: string;
2064
- readonly name: string;
2065
- };
2066
- readonly repository: {
2067
- readonly repository: string;
2068
- readonly branch: string;
2069
- };
2070
- readonly spend: {
2071
- readonly currency: string;
2072
- readonly minorUnits: number;
2073
- } | null;
2074
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
2075
- readonly blocker: {
2076
- readonly summary: string;
2077
- readonly since: number;
2078
- } | null;
2079
- readonly connectTarget: {
2080
- readonly host: string;
2081
- readonly agentId: string;
2082
- readonly url: string;
2083
- } | null;
2084
- readonly goalFamily?: {
2085
- readonly canonicalGoalId: string;
2086
- readonly role: "canonical" | "superseded";
2087
- };
2088
- readonly agentHierarchy?: {
2089
- readonly agent: {
2090
- readonly host: string;
2091
- readonly agentId: string;
2092
- readonly name: string;
2093
- readonly paneId: string;
2094
- readonly relationship?: {
2095
- readonly parentAgentId: string;
2096
- readonly relation: "delegated" | "pair" | "review";
2097
- };
2098
- };
2099
- } | null;
2100
- readonly activity?: readonly {
2101
- readonly id: string;
2102
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
2103
- readonly summary: string;
2104
- readonly occurredAt: number;
2105
- }[];
2106
- readonly blockers?: readonly {
2107
- readonly summary: string;
2108
- readonly since: number;
2109
- }[];
2110
- readonly requests?: readonly {
2111
- readonly id: string;
2112
- readonly summary: string;
2113
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
2114
- readonly requestedAt: number;
2115
- readonly approvalTarget: {
2116
- readonly host: string;
2117
- readonly jobId: string;
2118
- readonly url: string;
2119
- } | null;
2120
- }[];
2121
- readonly review?: {
2122
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
2123
- readonly summary: string | null;
2124
- readonly updatedAt: number;
2125
- readonly url: string | null;
2126
- } | null;
2127
- readonly approvalTarget?: {
2128
- readonly host: string;
2129
- readonly jobId: string;
2130
- readonly url: string;
2131
- } | null;
2132
- readonly createdAt: number;
2133
- readonly updatedAt: number;
2134
- };
2135
- readonly superseded: readonly {
2136
- readonly id: string;
2137
- readonly title: string;
2138
- readonly summary: string;
2139
- readonly detail: string;
2140
- readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
2141
- readonly owner: {
2142
- readonly id: string;
2143
- readonly name: string;
2144
- };
2145
- readonly repository: {
2146
- readonly repository: string;
2147
- readonly branch: string;
2148
- };
2149
- readonly spend: {
2150
- readonly currency: string;
2151
- readonly minorUnits: number;
2152
- } | null;
2153
- readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
2154
- readonly blocker: {
2155
- readonly summary: string;
2156
- readonly since: number;
2157
- } | null;
2158
- readonly connectTarget: {
2159
- readonly host: string;
2160
- readonly agentId: string;
2161
- readonly url: string;
2162
- } | null;
2163
- readonly goalFamily?: {
2164
- readonly canonicalGoalId: string;
2165
- readonly role: "canonical" | "superseded";
2166
- };
2167
- readonly agentHierarchy?: {
2168
- readonly agent: {
2169
- readonly host: string;
2170
- readonly agentId: string;
2171
- readonly name: string;
2172
- readonly paneId: string;
2173
- readonly relationship?: {
2174
- readonly parentAgentId: string;
2175
- readonly relation: "delegated" | "pair" | "review";
2176
- };
2177
- };
2178
- } | null;
2179
- readonly activity?: readonly {
2180
- readonly id: string;
2181
- readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
2182
- readonly summary: string;
2183
- readonly occurredAt: number;
2184
- }[];
2185
- readonly blockers?: readonly {
2186
- readonly summary: string;
2187
- readonly since: number;
2188
- }[];
2189
- readonly requests?: readonly {
2190
- readonly id: string;
2191
- readonly summary: string;
2192
- readonly state: "approved" | "fulfilled" | "open" | "rejected";
2193
- readonly requestedAt: number;
2194
- readonly approvalTarget: {
2195
- readonly host: string;
2196
- readonly jobId: string;
2197
- readonly url: string;
2198
- } | null;
2199
- }[];
2200
- readonly review?: {
2201
- readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
2202
- readonly summary: string | null;
2203
- readonly updatedAt: number;
2204
- readonly url: string | null;
2205
- } | null;
2206
- readonly approvalTarget?: {
2207
- readonly host: string;
2208
- readonly jobId: string;
2209
- readonly url: string;
2210
- } | null;
2211
- readonly createdAt: number;
2212
- readonly updatedAt: number;
2213
- }[];
2214
- }[];
2215
- };
2216
- }, WorkProjectionError | WorkStoreError, never>;
1345
+ snapshots: (observedAt?: number | undefined) => Effect.Effect<WorkSnapshots, WorkProjectionError | WorkStoreError, never>;
2217
1346
  }, never, never>;
2218
1347
  //# sourceMappingURL=service.d.ts.map