@knpkv/herdr-work 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +95 -1
  2. package/dist/agent-binding.d.ts +4 -0
  3. package/dist/agent-binding.d.ts.map +1 -0
  4. package/dist/agent-binding.js +26 -0
  5. package/dist/agent-binding.js.map +1 -0
  6. package/dist/errors.d.ts +141 -0
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +97 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/index.d.ts +4 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/internal/agent-binding-admission.d.ts +15 -0
  15. package/dist/internal/agent-binding-admission.d.ts.map +1 -0
  16. package/dist/internal/agent-binding-admission.js +92 -0
  17. package/dist/internal/agent-binding-admission.js.map +1 -0
  18. package/dist/internal/agent-binding-readback.d.ts +55 -0
  19. package/dist/internal/agent-binding-readback.d.ts.map +1 -0
  20. package/dist/internal/agent-binding-readback.js +124 -0
  21. package/dist/internal/agent-binding-readback.js.map +1 -0
  22. package/dist/internal/coordinator-authority.d.ts +62 -0
  23. package/dist/internal/coordinator-authority.d.ts.map +1 -0
  24. package/dist/internal/coordinator-authority.js +214 -0
  25. package/dist/internal/coordinator-authority.js.map +1 -0
  26. package/dist/internal/decision-handoff-migration.d.ts +126 -0
  27. package/dist/internal/decision-handoff-migration.d.ts.map +1 -0
  28. package/dist/internal/decision-handoff-migration.js +51 -0
  29. package/dist/internal/decision-handoff-migration.js.map +1 -0
  30. package/dist/internal/history-validation.d.ts +5 -0
  31. package/dist/internal/history-validation.d.ts.map +1 -0
  32. package/dist/internal/history-validation.js +33 -0
  33. package/dist/internal/history-validation.js.map +1 -0
  34. package/dist/model.d.ts +3075 -51
  35. package/dist/model.d.ts.map +1 -1
  36. package/dist/model.js +334 -12
  37. package/dist/model.js.map +1 -1
  38. package/dist/navigation.d.ts +17 -0
  39. package/dist/navigation.d.ts.map +1 -0
  40. package/dist/navigation.js +62 -0
  41. package/dist/navigation.js.map +1 -0
  42. package/dist/projection.d.ts +644 -0
  43. package/dist/projection.d.ts.map +1 -1
  44. package/dist/projection.js +65 -30
  45. package/dist/projection.js.map +1 -1
  46. package/dist/service.d.ts +1870 -3
  47. package/dist/service.d.ts.map +1 -1
  48. package/dist/service.js +138 -5
  49. package/dist/service.js.map +1 -1
  50. package/dist/sql.d.ts +30 -0
  51. package/dist/sql.d.ts.map +1 -0
  52. package/dist/sql.js +1454 -0
  53. package/dist/sql.js.map +1 -0
  54. package/dist/store.d.ts +1068 -4
  55. package/dist/store.d.ts.map +1 -1
  56. package/dist/store.js +3275 -51
  57. package/dist/store.js.map +1 -1
  58. package/dist/view.d.ts.map +1 -1
  59. package/dist/view.js +154 -8
  60. package/dist/view.js.map +1 -1
  61. package/package.json +25 -13
  62. package/src/styles.css +91 -17
package/dist/store.d.ts CHANGED
@@ -1,16 +1,1075 @@
1
- import { Effect, FileSystem, Path } from "effect";
2
- import { WorkCheckpointConflictError, WorkProjectionError, WorkStoreError } from "./errors.js";
3
- import { WorkGoalCheckpoint, type WorkGoalCheckpoint as WorkGoalCheckpointType } from "./model.js";
1
+ import { Crypto, Effect, Option, Schema } from "effect";
2
+ import { WorkAdmissionConflictError, WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCheckpointConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkGoalAgentTargetConflictError, WorkGoalBindingRequiresAgentError, WorkGoalOwnerMismatchError, WorkGoalReassignmentConflictError, WorkGoalRevisionConflictError, WorkLaneClaimConflictError, WorkLaneGoalConflictError, WorkLaneOperationConflictError, WorkProjectionError, WorkPullRequestLinkError, WorkStoreError, WorkTransactionConflictError } from "./errors.js";
3
+ import { workAgentBindingMaximumSnapshotBytes } from "./internal/agent-binding-admission.js";
4
+ import { WorkAdmissionTarget, WorkAgentBinding, WorkAgentBindingRequest, WorkDecisionHandoff, WorkGoalCheckpoint, WorkGoalReassigned, WorkLaneClaim, WorkLaneClaimed, WorkPullRequestLink, WorkRecoveryTarget } from "./model.js";
5
+ import type { WorkAdmissionPreflight as WorkAdmissionPreflightType, WorkAdmissionTarget as WorkAdmissionTargetType, WorkAgentBinding as WorkAgentBindingType, WorkAgentBindingRequest as WorkAgentBindingRequestType, WorkExistingGoalRecovery as WorkExistingGoalRecoveryType, WorkGoalCheckpoint as WorkGoalCheckpointType, WorkGoalReassigned as WorkGoalReassignedType, WorkGoalReassignment as WorkGoalReassignmentType, WorkProspectiveAdmission as WorkProspectiveAdmissionType, WorkPullRequestLink as WorkPullRequestLinkType, WorkRecoveryPreflight as WorkRecoveryPreflightType, WorkRecoveryTarget as WorkRecoveryTargetType } from "./model.js";
6
+ type ReassignRejection = WorkGoalAgentTargetConflictError | WorkGoalBindingRequiresAgentError | WorkGoalOwnerMismatchError | WorkGoalReassignmentConflictError | WorkGoalRevisionConflictError | WorkProjectionError | WorkStoreError;
7
+ declare const encodedBytes: (value: typeof Schema.Json.Type) => number;
8
+ export declare const __herdrWorkMaximumSnapshotBytesForTest: typeof workAgentBindingMaximumSnapshotBytes;
9
+ export declare const __herdrWorkEncodedBytesForTest: typeof encodedBytes;
10
+ export declare const __herdrWorkSnapshotEnvelopeMaxBytesForTest: number;
11
+ export declare const __herdrWorkLaneOperationMaxBytesForTest: number;
4
12
  export interface WorkStoreService {
13
+ readonly recoveryPreflight: (target: WorkRecoveryTargetType) => Effect.Effect<WorkRecoveryPreflightType, WorkProjectionError | WorkStoreError>;
14
+ readonly recoverExistingGoal: (request: WorkExistingGoalRecoveryType) => Effect.Effect<WorkPullRequestLinkType, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError>;
15
+ /** Moves one goal, and its active lane, from the exact current owner under an approved Fleet job. */
16
+ readonly reassign: (request: WorkGoalReassignmentType) => Effect.Effect<WorkGoalReassignedType, ReassignRejection>;
17
+ readonly admissionPreflight: (target: WorkAdmissionTargetType) => Effect.Effect<WorkAdmissionPreflightType, WorkProjectionError | WorkStoreError>;
18
+ readonly admitExistingOwner: (request: WorkProspectiveAdmissionType) => Effect.Effect<WorkPullRequestLinkType, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError>;
19
+ readonly bindAgent: (request: WorkAgentBindingRequestType) => Effect.Effect<WorkAgentBindingType, WorkAgentBindingAuthorityError | WorkAgentBindingConflictError | WorkProjectionError | WorkStoreError>;
20
+ readonly agentBinding: (dispatchRequestId: string) => Effect.Effect<Option.Option<WorkAgentBindingType>, WorkStoreError>;
21
+ readonly bindingDispatchesForLane: (laneId: string) => Effect.Effect<ReadonlyArray<string>, WorkStoreError>;
5
22
  readonly append: (event: WorkGoalCheckpointType) => Effect.Effect<WorkGoalCheckpointType, WorkCheckpointConflictError | WorkProjectionError | WorkStoreError>;
23
+ readonly appendMany: (transactionId: string, events: ReadonlyArray<WorkGoalCheckpointType>) => Effect.Effect<ReadonlyArray<WorkGoalCheckpointType>, WorkCheckpointConflictError | WorkProjectionError | WorkTransactionConflictError | WorkStoreError>;
24
+ readonly claim: (claim: WorkLaneClaim) => Effect.Effect<WorkLaneClaimed, WorkLaneClaimConflictError | WorkLaneGoalConflictError | WorkLaneOperationConflictError | WorkPullRequestLinkError | WorkProjectionError | WorkStoreError>;
25
+ readonly currentClaim: (laneId: string) => Effect.Effect<Option.Option<WorkLaneClaimed>, WorkStoreError>;
26
+ readonly activeGoalClaim: (goalId: string) => Effect.Effect<Option.Option<WorkLaneClaimed>, WorkStoreError>;
27
+ readonly decision: (handoff: WorkDecisionHandoff) => Effect.Effect<WorkDecisionHandoff, WorkCoordinatorHandoffConflictError | WorkDecisionAuthorityConflictError | WorkDecisionHandoffConflictError | WorkDecisionRevisionConflictError | WorkProjectionError | WorkStoreError>;
28
+ readonly coordinatorHandoff: (sessionId: string) => Effect.Effect<Option.Option<WorkDecisionHandoff>, WorkStoreError>;
29
+ readonly decisions: (laneId: string) => Effect.Effect<ReadonlyArray<WorkDecisionHandoff>, WorkStoreError>;
6
30
  readonly list: () => Effect.Effect<ReadonlyArray<WorkGoalCheckpointType>, WorkStoreError>;
31
+ /** Atomically reads projection history and its coordinator-owned logical-time boundary. */
32
+ readonly snapshotInput: () => Effect.Effect<{
33
+ readonly events: ReadonlyArray<WorkGoalCheckpointType>;
34
+ readonly logicalObservedAt: number | null;
35
+ }, WorkStoreError>;
7
36
  }
8
37
  export declare class WorkStore implements WorkStoreService {
9
38
  #private;
10
39
  readonly path: string;
11
40
  private constructor();
12
- static readonly open: (path: string) => Effect.Effect<WorkStore, WorkStoreError, FileSystem.FileSystem | Path.Path>;
41
+ static readonly open: (path: string) => Effect.Effect<WorkStore, WorkStoreError, Crypto.Crypto | import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
42
+ readonly recoveryPreflight: (this: WorkStore, target: WorkRecoveryTarget) => Effect.Effect<{
43
+ readonly _tag: "conflict";
44
+ readonly target: {
45
+ readonly repository: string;
46
+ readonly pullRequest: number;
47
+ readonly reviewUrl: string;
48
+ readonly goalId: string;
49
+ readonly laneId: string;
50
+ readonly head: string;
51
+ readonly baseHead: string;
52
+ readonly owner: {
53
+ readonly id: string;
54
+ readonly name: string;
55
+ };
56
+ readonly sessionId: string;
57
+ readonly expectedWork: string;
58
+ readonly worker: {
59
+ readonly host: string;
60
+ readonly agentId: string;
61
+ readonly name: string;
62
+ readonly paneId: string;
63
+ readonly relationship?: {
64
+ readonly parentAgentId: string;
65
+ readonly relation: "delegated" | "pair" | "review";
66
+ };
67
+ };
68
+ readonly worktree: string;
69
+ readonly branch: string;
70
+ readonly expectedGoalEventId: string;
71
+ readonly expectedGoalUpdatedAt: number;
72
+ };
73
+ readonly reason: string;
74
+ } | {
75
+ readonly _tag: "existing";
76
+ readonly target: {
77
+ readonly repository: string;
78
+ readonly pullRequest: number;
79
+ readonly reviewUrl: string;
80
+ readonly goalId: string;
81
+ readonly laneId: string;
82
+ readonly head: string;
83
+ readonly baseHead: string;
84
+ readonly owner: {
85
+ readonly id: string;
86
+ readonly name: string;
87
+ };
88
+ readonly sessionId: string;
89
+ readonly expectedWork: string;
90
+ readonly worker: {
91
+ readonly host: string;
92
+ readonly agentId: string;
93
+ readonly name: string;
94
+ readonly paneId: string;
95
+ readonly relationship?: {
96
+ readonly parentAgentId: string;
97
+ readonly relation: "delegated" | "pair" | "review";
98
+ };
99
+ };
100
+ readonly worktree: string;
101
+ readonly branch: string;
102
+ readonly expectedGoalEventId: string;
103
+ readonly expectedGoalUpdatedAt: number;
104
+ };
105
+ readonly link: {
106
+ readonly request: {
107
+ readonly repository: string;
108
+ readonly pullRequest: number;
109
+ readonly goalId: string;
110
+ readonly laneId: string;
111
+ };
112
+ readonly goalEventId: string;
113
+ readonly goal: {
114
+ readonly id: string;
115
+ readonly title: string;
116
+ readonly summary: string;
117
+ readonly detail: string;
118
+ readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
119
+ readonly owner: {
120
+ readonly id: string;
121
+ readonly name: string;
122
+ };
123
+ readonly repository: {
124
+ readonly repository: string;
125
+ readonly branch: string;
126
+ };
127
+ readonly spend: {
128
+ readonly currency: string;
129
+ readonly minorUnits: number;
130
+ } | null;
131
+ readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
132
+ readonly blocker: {
133
+ readonly summary: string;
134
+ readonly since: number;
135
+ } | null;
136
+ readonly connectTarget: {
137
+ readonly host: string;
138
+ readonly agentId: string;
139
+ readonly url: string;
140
+ } | null;
141
+ readonly goalFamily?: {
142
+ readonly canonicalGoalId: string;
143
+ readonly role: "canonical" | "superseded";
144
+ };
145
+ readonly agentHierarchy?: {
146
+ readonly agent: {
147
+ readonly host: string;
148
+ readonly agentId: string;
149
+ readonly name: string;
150
+ readonly paneId: string;
151
+ readonly relationship?: {
152
+ readonly parentAgentId: string;
153
+ readonly relation: "delegated" | "pair" | "review";
154
+ };
155
+ };
156
+ } | null;
157
+ readonly activity?: readonly {
158
+ readonly id: string;
159
+ readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
160
+ readonly summary: string;
161
+ readonly occurredAt: number;
162
+ }[];
163
+ readonly blockers?: readonly {
164
+ readonly summary: string;
165
+ readonly since: number;
166
+ }[];
167
+ readonly requests?: readonly {
168
+ readonly id: string;
169
+ readonly summary: string;
170
+ readonly state: "approved" | "fulfilled" | "open" | "rejected";
171
+ readonly requestedAt: number;
172
+ readonly approvalTarget: {
173
+ readonly host: string;
174
+ readonly jobId: string;
175
+ readonly url: string;
176
+ } | null;
177
+ }[];
178
+ readonly review?: {
179
+ readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
180
+ readonly summary: string | null;
181
+ readonly updatedAt: number;
182
+ readonly url: string | null;
183
+ } | null;
184
+ readonly approvalTarget?: {
185
+ readonly host: string;
186
+ readonly jobId: string;
187
+ readonly url: string;
188
+ } | null;
189
+ readonly createdAt: number;
190
+ readonly updatedAt: number;
191
+ };
192
+ readonly lane: {
193
+ readonly operationId: string;
194
+ readonly goalId: string;
195
+ readonly laneId: string;
196
+ readonly worktree: string;
197
+ readonly branch: string;
198
+ readonly head: string;
199
+ readonly owner: {
200
+ readonly id: string;
201
+ readonly name: string;
202
+ };
203
+ readonly parent: string | null;
204
+ readonly phase: "claim" | "implementation" | "review" | "shipped" | "validation";
205
+ readonly expectedRevision: number;
206
+ readonly reconciliation?: {
207
+ readonly repository: string;
208
+ readonly pullRequest: number;
209
+ readonly expectedHead: string;
210
+ readonly expectedOwner: {
211
+ readonly id: string;
212
+ readonly name: string;
213
+ };
214
+ readonly expectedGoalEventId: string;
215
+ readonly bindingDispatchRequestId: string;
216
+ readonly sessionId: string;
217
+ readonly worker: {
218
+ readonly host: string;
219
+ readonly agentId: string;
220
+ readonly name: string;
221
+ readonly paneId: string;
222
+ readonly relationship?: {
223
+ readonly parentAgentId: string;
224
+ readonly relation: "delegated" | "pair" | "review";
225
+ };
226
+ };
227
+ };
228
+ readonly revision: number;
229
+ };
230
+ readonly binding: {
231
+ readonly version: "herdr.work.agent-binding.v1";
232
+ readonly request: {
233
+ readonly version: "herdr.work.agent-binding-request.v1";
234
+ readonly dispatchRequestId: string;
235
+ readonly laneId: string;
236
+ readonly expectedRevision: number;
237
+ readonly worker: {
238
+ readonly host: string;
239
+ readonly agentId: string;
240
+ readonly name: string;
241
+ readonly paneId: string;
242
+ readonly relationship?: {
243
+ readonly parentAgentId: string;
244
+ readonly relation: "delegated" | "pair" | "review";
245
+ };
246
+ };
247
+ readonly prospectiveAdmission?: {
248
+ readonly sessionId: string;
249
+ readonly workAssignment: string;
250
+ readonly baseHead: string;
251
+ readonly expectedAbsenceToken: string;
252
+ readonly approvalJobId: string;
253
+ readonly approvalActor: string;
254
+ };
255
+ readonly existingGoalRecovery?: {
256
+ readonly sessionId: string;
257
+ readonly workAssignment: string;
258
+ readonly baseHead: string;
259
+ readonly expectedHistoryToken: string;
260
+ readonly expectedGoalEventId: string;
261
+ readonly expectedGoalUpdatedAt: number;
262
+ readonly approvalJobId: string;
263
+ readonly approvalActor: string;
264
+ readonly approvalApprovedBy: string;
265
+ readonly approvalApprovedAt: number;
266
+ readonly approvalHash: string;
267
+ };
268
+ readonly ownerReassignment?: {
269
+ readonly previousDispatchRequestId: string;
270
+ readonly approvalJobId: string;
271
+ readonly approvalActor: string;
272
+ readonly approvalApprovedBy: string;
273
+ readonly approvalApprovedAt: number;
274
+ readonly approvalHash: string;
275
+ };
276
+ };
277
+ readonly lane: {
278
+ readonly operationId: string;
279
+ readonly goalId: string;
280
+ readonly laneId: string;
281
+ readonly worktree: string;
282
+ readonly branch: string;
283
+ readonly head: string;
284
+ readonly owner: {
285
+ readonly id: string;
286
+ readonly name: string;
287
+ };
288
+ readonly parent: string | null;
289
+ readonly phase: "claim" | "implementation" | "review" | "shipped" | "validation";
290
+ readonly expectedRevision: number;
291
+ readonly reconciliation?: {
292
+ readonly repository: string;
293
+ readonly pullRequest: number;
294
+ readonly expectedHead: string;
295
+ readonly expectedOwner: {
296
+ readonly id: string;
297
+ readonly name: string;
298
+ };
299
+ readonly expectedGoalEventId: string;
300
+ readonly bindingDispatchRequestId: string;
301
+ readonly sessionId: string;
302
+ readonly worker: {
303
+ readonly host: string;
304
+ readonly agentId: string;
305
+ readonly name: string;
306
+ readonly paneId: string;
307
+ readonly relationship?: {
308
+ readonly parentAgentId: string;
309
+ readonly relation: "delegated" | "pair" | "review";
310
+ };
311
+ };
312
+ };
313
+ readonly revision: number;
314
+ };
315
+ readonly checkpoint: {
316
+ readonly version: "herdr.work.event.v1";
317
+ readonly eventId: string;
318
+ readonly occurredAt: number;
319
+ readonly goal: {
320
+ readonly id: string;
321
+ readonly title: string;
322
+ readonly summary: string;
323
+ readonly detail: string;
324
+ readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
325
+ readonly owner: {
326
+ readonly id: string;
327
+ readonly name: string;
328
+ };
329
+ readonly repository: {
330
+ readonly repository: string;
331
+ readonly branch: string;
332
+ };
333
+ readonly spend: {
334
+ readonly currency: string;
335
+ readonly minorUnits: number;
336
+ } | null;
337
+ readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
338
+ readonly blocker: {
339
+ readonly summary: string;
340
+ readonly since: number;
341
+ } | null;
342
+ readonly connectTarget: {
343
+ readonly host: string;
344
+ readonly agentId: string;
345
+ readonly url: string;
346
+ } | null;
347
+ readonly goalFamily?: {
348
+ readonly canonicalGoalId: string;
349
+ readonly role: "canonical" | "superseded";
350
+ };
351
+ readonly agentHierarchy?: {
352
+ readonly agent: {
353
+ readonly host: string;
354
+ readonly agentId: string;
355
+ readonly name: string;
356
+ readonly paneId: string;
357
+ readonly relationship?: {
358
+ readonly parentAgentId: string;
359
+ readonly relation: "delegated" | "pair" | "review";
360
+ };
361
+ };
362
+ } | null;
363
+ readonly activity?: readonly {
364
+ readonly id: string;
365
+ readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
366
+ readonly summary: string;
367
+ readonly occurredAt: number;
368
+ }[];
369
+ readonly blockers?: readonly {
370
+ readonly summary: string;
371
+ readonly since: number;
372
+ }[];
373
+ readonly requests?: readonly {
374
+ readonly id: string;
375
+ readonly summary: string;
376
+ readonly state: "approved" | "fulfilled" | "open" | "rejected";
377
+ readonly requestedAt: number;
378
+ readonly approvalTarget: {
379
+ readonly host: string;
380
+ readonly jobId: string;
381
+ readonly url: string;
382
+ } | null;
383
+ }[];
384
+ readonly review?: {
385
+ readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
386
+ readonly summary: string | null;
387
+ readonly updatedAt: number;
388
+ readonly url: string | null;
389
+ } | null;
390
+ readonly approvalTarget?: {
391
+ readonly host: string;
392
+ readonly jobId: string;
393
+ readonly url: string;
394
+ } | null;
395
+ readonly createdAt: number;
396
+ readonly updatedAt: number;
397
+ };
398
+ };
399
+ };
400
+ };
401
+ } | {
402
+ readonly _tag: "recoverable";
403
+ readonly target: {
404
+ readonly repository: string;
405
+ readonly pullRequest: number;
406
+ readonly reviewUrl: string;
407
+ readonly goalId: string;
408
+ readonly laneId: string;
409
+ readonly head: string;
410
+ readonly baseHead: string;
411
+ readonly owner: {
412
+ readonly id: string;
413
+ readonly name: string;
414
+ };
415
+ readonly sessionId: string;
416
+ readonly expectedWork: string;
417
+ readonly worker: {
418
+ readonly host: string;
419
+ readonly agentId: string;
420
+ readonly name: string;
421
+ readonly paneId: string;
422
+ readonly relationship?: {
423
+ readonly parentAgentId: string;
424
+ readonly relation: "delegated" | "pair" | "review";
425
+ };
426
+ };
427
+ readonly worktree: string;
428
+ readonly branch: string;
429
+ readonly expectedGoalEventId: string;
430
+ readonly expectedGoalUpdatedAt: number;
431
+ };
432
+ readonly historyToken: string;
433
+ }, WorkStoreError, never>;
434
+ readonly recoverExistingGoal: (this: WorkStore, request: {
435
+ readonly kind: "work.recover";
436
+ readonly repository: string;
437
+ readonly pullRequest: number;
438
+ readonly reviewUrl: string;
439
+ readonly goalId: string;
440
+ readonly laneId: string;
441
+ readonly operationId: string;
442
+ readonly expectedGoalEventId: string;
443
+ readonly expectedGoalUpdatedAt: number;
444
+ readonly expectedHistoryToken: string;
445
+ readonly head: string;
446
+ readonly baseHead: string;
447
+ readonly owner: {
448
+ readonly id: string;
449
+ readonly name: string;
450
+ };
451
+ readonly sessionId: string;
452
+ readonly expectedWork: string;
453
+ readonly worker: {
454
+ readonly host: string;
455
+ readonly agentId: string;
456
+ readonly name: string;
457
+ readonly paneId: string;
458
+ readonly relationship?: {
459
+ readonly parentAgentId: string;
460
+ readonly relation: "delegated" | "pair" | "review";
461
+ };
462
+ };
463
+ readonly worktree: string;
464
+ readonly branch: string;
465
+ readonly approvalJobId: string;
466
+ readonly approvalActor: string;
467
+ readonly approvalApprovedBy: string;
468
+ readonly approvalApprovedAt: number;
469
+ readonly approvalHash: string;
470
+ }) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError, never>;
471
+ readonly reassign: (this: WorkStore, request: {
472
+ readonly kind: "work.reassign";
473
+ readonly goalId: string;
474
+ readonly from: {
475
+ readonly id: string;
476
+ readonly name: string;
477
+ };
478
+ readonly to: {
479
+ readonly id: string;
480
+ readonly name: string;
481
+ };
482
+ readonly toAgent: {
483
+ readonly _tag: "clear";
484
+ } | {
485
+ readonly _tag: "keep";
486
+ } | {
487
+ readonly _tag: "set";
488
+ readonly agent: {
489
+ readonly host: string;
490
+ readonly agentId: string;
491
+ readonly name: string;
492
+ readonly paneId: string;
493
+ readonly relationship?: {
494
+ readonly parentAgentId: string;
495
+ readonly relation: "delegated" | "pair" | "review";
496
+ };
497
+ };
498
+ };
499
+ readonly reason: string;
500
+ readonly expectedGoalEventId: string;
501
+ readonly expectedGoalUpdatedAt: number;
502
+ readonly approvalJobId: string;
503
+ readonly approvalActor: string;
504
+ readonly approvalApprovedBy: string;
505
+ readonly approvalApprovedAt: number;
506
+ readonly approvalHash: string;
507
+ }) => Effect.Effect<WorkGoalReassigned, WorkGoalAgentTargetConflictError | WorkGoalBindingRequiresAgentError | WorkGoalOwnerMismatchError | WorkGoalReassignmentConflictError | WorkGoalRevisionConflictError | WorkProjectionError | WorkStoreError, never>;
508
+ readonly admissionPreflight: (this: WorkStore, target: WorkAdmissionTarget) => Effect.Effect<{
509
+ readonly _tag: "conflict";
510
+ readonly target: {
511
+ readonly repository: string;
512
+ readonly pullRequest: number;
513
+ readonly reviewUrl: string;
514
+ readonly goalId: string;
515
+ readonly laneId: string;
516
+ readonly head: string;
517
+ readonly baseHead: string;
518
+ readonly owner: {
519
+ readonly id: string;
520
+ readonly name: string;
521
+ };
522
+ readonly sessionId: string;
523
+ readonly expectedWork: string;
524
+ readonly worker: {
525
+ readonly host: string;
526
+ readonly agentId: string;
527
+ readonly name: string;
528
+ readonly paneId: string;
529
+ readonly relationship?: {
530
+ readonly parentAgentId: string;
531
+ readonly relation: "delegated" | "pair" | "review";
532
+ };
533
+ };
534
+ readonly worktree: string;
535
+ readonly branch: string;
536
+ };
537
+ readonly reason: string;
538
+ } | {
539
+ readonly _tag: "existing";
540
+ readonly target: {
541
+ readonly repository: string;
542
+ readonly pullRequest: number;
543
+ readonly reviewUrl: string;
544
+ readonly goalId: string;
545
+ readonly laneId: string;
546
+ readonly head: string;
547
+ readonly baseHead: string;
548
+ readonly owner: {
549
+ readonly id: string;
550
+ readonly name: string;
551
+ };
552
+ readonly sessionId: string;
553
+ readonly expectedWork: string;
554
+ readonly worker: {
555
+ readonly host: string;
556
+ readonly agentId: string;
557
+ readonly name: string;
558
+ readonly paneId: string;
559
+ readonly relationship?: {
560
+ readonly parentAgentId: string;
561
+ readonly relation: "delegated" | "pair" | "review";
562
+ };
563
+ };
564
+ readonly worktree: string;
565
+ readonly branch: string;
566
+ };
567
+ readonly link: {
568
+ readonly request: {
569
+ readonly repository: string;
570
+ readonly pullRequest: number;
571
+ readonly goalId: string;
572
+ readonly laneId: string;
573
+ };
574
+ readonly goalEventId: string;
575
+ readonly goal: {
576
+ readonly id: string;
577
+ readonly title: string;
578
+ readonly summary: string;
579
+ readonly detail: string;
580
+ readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
581
+ readonly owner: {
582
+ readonly id: string;
583
+ readonly name: string;
584
+ };
585
+ readonly repository: {
586
+ readonly repository: string;
587
+ readonly branch: string;
588
+ };
589
+ readonly spend: {
590
+ readonly currency: string;
591
+ readonly minorUnits: number;
592
+ } | null;
593
+ readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
594
+ readonly blocker: {
595
+ readonly summary: string;
596
+ readonly since: number;
597
+ } | null;
598
+ readonly connectTarget: {
599
+ readonly host: string;
600
+ readonly agentId: string;
601
+ readonly url: string;
602
+ } | null;
603
+ readonly goalFamily?: {
604
+ readonly canonicalGoalId: string;
605
+ readonly role: "canonical" | "superseded";
606
+ };
607
+ readonly agentHierarchy?: {
608
+ readonly agent: {
609
+ readonly host: string;
610
+ readonly agentId: string;
611
+ readonly name: string;
612
+ readonly paneId: string;
613
+ readonly relationship?: {
614
+ readonly parentAgentId: string;
615
+ readonly relation: "delegated" | "pair" | "review";
616
+ };
617
+ };
618
+ } | null;
619
+ readonly activity?: readonly {
620
+ readonly id: string;
621
+ readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
622
+ readonly summary: string;
623
+ readonly occurredAt: number;
624
+ }[];
625
+ readonly blockers?: readonly {
626
+ readonly summary: string;
627
+ readonly since: number;
628
+ }[];
629
+ readonly requests?: readonly {
630
+ readonly id: string;
631
+ readonly summary: string;
632
+ readonly state: "approved" | "fulfilled" | "open" | "rejected";
633
+ readonly requestedAt: number;
634
+ readonly approvalTarget: {
635
+ readonly host: string;
636
+ readonly jobId: string;
637
+ readonly url: string;
638
+ } | null;
639
+ }[];
640
+ readonly review?: {
641
+ readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
642
+ readonly summary: string | null;
643
+ readonly updatedAt: number;
644
+ readonly url: string | null;
645
+ } | null;
646
+ readonly approvalTarget?: {
647
+ readonly host: string;
648
+ readonly jobId: string;
649
+ readonly url: string;
650
+ } | null;
651
+ readonly createdAt: number;
652
+ readonly updatedAt: number;
653
+ };
654
+ readonly lane: {
655
+ readonly operationId: string;
656
+ readonly goalId: string;
657
+ readonly laneId: string;
658
+ readonly worktree: string;
659
+ readonly branch: string;
660
+ readonly head: string;
661
+ readonly owner: {
662
+ readonly id: string;
663
+ readonly name: string;
664
+ };
665
+ readonly parent: string | null;
666
+ readonly phase: "claim" | "implementation" | "review" | "shipped" | "validation";
667
+ readonly expectedRevision: number;
668
+ readonly reconciliation?: {
669
+ readonly repository: string;
670
+ readonly pullRequest: number;
671
+ readonly expectedHead: string;
672
+ readonly expectedOwner: {
673
+ readonly id: string;
674
+ readonly name: string;
675
+ };
676
+ readonly expectedGoalEventId: string;
677
+ readonly bindingDispatchRequestId: string;
678
+ readonly sessionId: string;
679
+ readonly worker: {
680
+ readonly host: string;
681
+ readonly agentId: string;
682
+ readonly name: string;
683
+ readonly paneId: string;
684
+ readonly relationship?: {
685
+ readonly parentAgentId: string;
686
+ readonly relation: "delegated" | "pair" | "review";
687
+ };
688
+ };
689
+ };
690
+ readonly revision: number;
691
+ };
692
+ readonly binding: {
693
+ readonly version: "herdr.work.agent-binding.v1";
694
+ readonly request: {
695
+ readonly version: "herdr.work.agent-binding-request.v1";
696
+ readonly dispatchRequestId: string;
697
+ readonly laneId: string;
698
+ readonly expectedRevision: number;
699
+ readonly worker: {
700
+ readonly host: string;
701
+ readonly agentId: string;
702
+ readonly name: string;
703
+ readonly paneId: string;
704
+ readonly relationship?: {
705
+ readonly parentAgentId: string;
706
+ readonly relation: "delegated" | "pair" | "review";
707
+ };
708
+ };
709
+ readonly prospectiveAdmission?: {
710
+ readonly sessionId: string;
711
+ readonly workAssignment: string;
712
+ readonly baseHead: string;
713
+ readonly expectedAbsenceToken: string;
714
+ readonly approvalJobId: string;
715
+ readonly approvalActor: string;
716
+ };
717
+ readonly existingGoalRecovery?: {
718
+ readonly sessionId: string;
719
+ readonly workAssignment: string;
720
+ readonly baseHead: string;
721
+ readonly expectedHistoryToken: string;
722
+ readonly expectedGoalEventId: string;
723
+ readonly expectedGoalUpdatedAt: number;
724
+ readonly approvalJobId: string;
725
+ readonly approvalActor: string;
726
+ readonly approvalApprovedBy: string;
727
+ readonly approvalApprovedAt: number;
728
+ readonly approvalHash: string;
729
+ };
730
+ readonly ownerReassignment?: {
731
+ readonly previousDispatchRequestId: string;
732
+ readonly approvalJobId: string;
733
+ readonly approvalActor: string;
734
+ readonly approvalApprovedBy: string;
735
+ readonly approvalApprovedAt: number;
736
+ readonly approvalHash: string;
737
+ };
738
+ };
739
+ readonly lane: {
740
+ readonly operationId: string;
741
+ readonly goalId: string;
742
+ readonly laneId: string;
743
+ readonly worktree: string;
744
+ readonly branch: string;
745
+ readonly head: string;
746
+ readonly owner: {
747
+ readonly id: string;
748
+ readonly name: string;
749
+ };
750
+ readonly parent: string | null;
751
+ readonly phase: "claim" | "implementation" | "review" | "shipped" | "validation";
752
+ readonly expectedRevision: number;
753
+ readonly reconciliation?: {
754
+ readonly repository: string;
755
+ readonly pullRequest: number;
756
+ readonly expectedHead: string;
757
+ readonly expectedOwner: {
758
+ readonly id: string;
759
+ readonly name: string;
760
+ };
761
+ readonly expectedGoalEventId: string;
762
+ readonly bindingDispatchRequestId: string;
763
+ readonly sessionId: string;
764
+ readonly worker: {
765
+ readonly host: string;
766
+ readonly agentId: string;
767
+ readonly name: string;
768
+ readonly paneId: string;
769
+ readonly relationship?: {
770
+ readonly parentAgentId: string;
771
+ readonly relation: "delegated" | "pair" | "review";
772
+ };
773
+ };
774
+ };
775
+ readonly revision: number;
776
+ };
777
+ readonly checkpoint: {
778
+ readonly version: "herdr.work.event.v1";
779
+ readonly eventId: string;
780
+ readonly occurredAt: number;
781
+ readonly goal: {
782
+ readonly id: string;
783
+ readonly title: string;
784
+ readonly summary: string;
785
+ readonly detail: string;
786
+ readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
787
+ readonly owner: {
788
+ readonly id: string;
789
+ readonly name: string;
790
+ };
791
+ readonly repository: {
792
+ readonly repository: string;
793
+ readonly branch: string;
794
+ };
795
+ readonly spend: {
796
+ readonly currency: string;
797
+ readonly minorUnits: number;
798
+ } | null;
799
+ readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
800
+ readonly blocker: {
801
+ readonly summary: string;
802
+ readonly since: number;
803
+ } | null;
804
+ readonly connectTarget: {
805
+ readonly host: string;
806
+ readonly agentId: string;
807
+ readonly url: string;
808
+ } | null;
809
+ readonly goalFamily?: {
810
+ readonly canonicalGoalId: string;
811
+ readonly role: "canonical" | "superseded";
812
+ };
813
+ readonly agentHierarchy?: {
814
+ readonly agent: {
815
+ readonly host: string;
816
+ readonly agentId: string;
817
+ readonly name: string;
818
+ readonly paneId: string;
819
+ readonly relationship?: {
820
+ readonly parentAgentId: string;
821
+ readonly relation: "delegated" | "pair" | "review";
822
+ };
823
+ };
824
+ } | null;
825
+ readonly activity?: readonly {
826
+ readonly id: string;
827
+ readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
828
+ readonly summary: string;
829
+ readonly occurredAt: number;
830
+ }[];
831
+ readonly blockers?: readonly {
832
+ readonly summary: string;
833
+ readonly since: number;
834
+ }[];
835
+ readonly requests?: readonly {
836
+ readonly id: string;
837
+ readonly summary: string;
838
+ readonly state: "approved" | "fulfilled" | "open" | "rejected";
839
+ readonly requestedAt: number;
840
+ readonly approvalTarget: {
841
+ readonly host: string;
842
+ readonly jobId: string;
843
+ readonly url: string;
844
+ } | null;
845
+ }[];
846
+ readonly review?: {
847
+ readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
848
+ readonly summary: string | null;
849
+ readonly updatedAt: number;
850
+ readonly url: string | null;
851
+ } | null;
852
+ readonly approvalTarget?: {
853
+ readonly host: string;
854
+ readonly jobId: string;
855
+ readonly url: string;
856
+ } | null;
857
+ readonly createdAt: number;
858
+ readonly updatedAt: number;
859
+ };
860
+ };
861
+ };
862
+ };
863
+ } | {
864
+ readonly _tag: "prospective";
865
+ readonly target: {
866
+ readonly repository: string;
867
+ readonly pullRequest: number;
868
+ readonly reviewUrl: string;
869
+ readonly goalId: string;
870
+ readonly laneId: string;
871
+ readonly head: string;
872
+ readonly baseHead: string;
873
+ readonly owner: {
874
+ readonly id: string;
875
+ readonly name: string;
876
+ };
877
+ readonly sessionId: string;
878
+ readonly expectedWork: string;
879
+ readonly worker: {
880
+ readonly host: string;
881
+ readonly agentId: string;
882
+ readonly name: string;
883
+ readonly paneId: string;
884
+ readonly relationship?: {
885
+ readonly parentAgentId: string;
886
+ readonly relation: "delegated" | "pair" | "review";
887
+ };
888
+ };
889
+ readonly worktree: string;
890
+ readonly branch: string;
891
+ };
892
+ readonly absenceToken: string;
893
+ }, WorkStoreError, never>;
894
+ readonly admitExistingOwner: (this: WorkStore, request: {
895
+ readonly kind: "work.admit";
896
+ readonly repository: string;
897
+ readonly pullRequest: number;
898
+ readonly reviewUrl: string;
899
+ readonly goalId: string;
900
+ readonly laneId: string;
901
+ readonly operationId: string;
902
+ readonly expectedAbsenceToken: string;
903
+ readonly head: string;
904
+ readonly baseHead: string;
905
+ readonly owner: {
906
+ readonly id: string;
907
+ readonly name: string;
908
+ };
909
+ readonly sessionId: string;
910
+ readonly expectedWork: string;
911
+ readonly worker: {
912
+ readonly host: string;
913
+ readonly agentId: string;
914
+ readonly name: string;
915
+ readonly paneId: string;
916
+ readonly relationship?: {
917
+ readonly parentAgentId: string;
918
+ readonly relation: "delegated" | "pair" | "review";
919
+ };
920
+ };
921
+ readonly worktree: string;
922
+ readonly branch: string;
923
+ readonly title: string;
924
+ readonly summary: string;
925
+ readonly detail: string;
926
+ readonly approvalJobId: string;
927
+ readonly approvalActor: string;
928
+ }) => Effect.Effect<WorkPullRequestLink, WorkAdmissionConflictError | WorkProjectionError | WorkStoreError, never>;
929
+ readonly bindAgent: (this: WorkStore, request: WorkAgentBindingRequest) => Effect.Effect<WorkAgentBinding, WorkAgentBindingAuthorityError | WorkAgentBindingConflictError | WorkProjectionError | WorkStoreError, never>;
930
+ readonly agentBinding: (this: WorkStore, dispatchRequestId: string) => Effect.Effect<Option.None<WorkAgentBinding> | Option.Some<WorkAgentBinding>, WorkStoreError, never>;
931
+ readonly bindingDispatchesForLane: (this: WorkStore, laneId: string) => Effect.Effect<string[], WorkStoreError, never>;
13
932
  readonly append: (this: WorkStore, event: WorkGoalCheckpoint) => Effect.Effect<WorkGoalCheckpoint, WorkCheckpointConflictError | WorkProjectionError | WorkStoreError, never>;
933
+ readonly appendMany: (this: WorkStore, transactionId: string, events: readonly WorkGoalCheckpoint[]) => Effect.Effect<{
934
+ readonly version: "herdr.work.event.v1";
935
+ readonly eventId: string;
936
+ readonly occurredAt: number;
937
+ readonly goal: {
938
+ readonly id: string;
939
+ readonly title: string;
940
+ readonly summary: string;
941
+ readonly detail: string;
942
+ readonly state: "blocked" | "completed" | "deployed" | "planned" | "review" | "working";
943
+ readonly owner: {
944
+ readonly id: string;
945
+ readonly name: string;
946
+ };
947
+ readonly repository: {
948
+ readonly repository: string;
949
+ readonly branch: string;
950
+ };
951
+ readonly spend: {
952
+ readonly currency: string;
953
+ readonly minorUnits: number;
954
+ } | null;
955
+ readonly delivery: "deployed" | "local" | "merged" | "pull_request" | "review";
956
+ readonly blocker: {
957
+ readonly summary: string;
958
+ readonly since: number;
959
+ } | null;
960
+ readonly connectTarget: {
961
+ readonly host: string;
962
+ readonly agentId: string;
963
+ readonly url: string;
964
+ } | null;
965
+ readonly goalFamily?: {
966
+ readonly canonicalGoalId: string;
967
+ readonly role: "canonical" | "superseded";
968
+ };
969
+ readonly agentHierarchy?: {
970
+ readonly agent: {
971
+ readonly host: string;
972
+ readonly agentId: string;
973
+ readonly name: string;
974
+ readonly paneId: string;
975
+ readonly relationship?: {
976
+ readonly parentAgentId: string;
977
+ readonly relation: "delegated" | "pair" | "review";
978
+ };
979
+ };
980
+ } | null;
981
+ readonly activity?: readonly {
982
+ readonly id: string;
983
+ readonly kind: "blocker" | "note" | "request" | "review" | "shipment" | "status";
984
+ readonly summary: string;
985
+ readonly occurredAt: number;
986
+ }[];
987
+ readonly blockers?: readonly {
988
+ readonly summary: string;
989
+ readonly since: number;
990
+ }[];
991
+ readonly requests?: readonly {
992
+ readonly id: string;
993
+ readonly summary: string;
994
+ readonly state: "approved" | "fulfilled" | "open" | "rejected";
995
+ readonly requestedAt: number;
996
+ readonly approvalTarget: {
997
+ readonly host: string;
998
+ readonly jobId: string;
999
+ readonly url: string;
1000
+ } | null;
1001
+ }[];
1002
+ readonly review?: {
1003
+ readonly state: "approved" | "changes_requested" | "not_requested" | "requested";
1004
+ readonly summary: string | null;
1005
+ readonly updatedAt: number;
1006
+ readonly url: string | null;
1007
+ } | null;
1008
+ readonly approvalTarget?: {
1009
+ readonly host: string;
1010
+ readonly jobId: string;
1011
+ readonly url: string;
1012
+ } | null;
1013
+ readonly createdAt: number;
1014
+ readonly updatedAt: number;
1015
+ };
1016
+ }[], WorkCheckpointConflictError | WorkProjectionError | WorkStoreError | WorkTransactionConflictError, never>;
1017
+ readonly claim: (this: WorkStore, claim: WorkLaneClaim) => Effect.Effect<WorkLaneClaimed, WorkLaneClaimConflictError | WorkLaneGoalConflictError | WorkLaneOperationConflictError | WorkProjectionError | WorkPullRequestLinkError | WorkStoreError, never>;
1018
+ readonly decision: (this: WorkStore, handoff: WorkDecisionHandoff) => Effect.Effect<{
1019
+ readonly version: "herdr.work.decision.v2";
1020
+ readonly id: string;
1021
+ readonly sessionId: string;
1022
+ readonly laneId: string;
1023
+ readonly goalId: string;
1024
+ readonly expectedRevision: number;
1025
+ readonly decision: "blocked" | "complete" | "continue" | "handoff";
1026
+ readonly summary: string;
1027
+ readonly contextDelta: string;
1028
+ readonly owner: {
1029
+ readonly id: string;
1030
+ readonly name: string;
1031
+ };
1032
+ readonly dispatchIds: readonly string[];
1033
+ readonly blockers: readonly {
1034
+ readonly id: string;
1035
+ readonly detail: string;
1036
+ }[];
1037
+ readonly evidenceRefs: readonly {
1038
+ readonly id: string;
1039
+ readonly kind: "commit" | "document" | "review" | "test";
1040
+ readonly reference: string;
1041
+ }[];
1042
+ readonly occurredAt: number;
1043
+ }, WorkCoordinatorHandoffConflictError | WorkDecisionAuthorityConflictError | WorkDecisionHandoffConflictError | WorkDecisionRevisionConflictError | WorkProjectionError | WorkStoreError, never>;
1044
+ readonly currentClaim: (this: WorkStore, laneId: string) => Effect.Effect<Option.Option<WorkLaneClaimed>, WorkStoreError, never>;
1045
+ readonly activeGoalClaim: (this: WorkStore, goalId: string) => Effect.Effect<Option.Option<WorkLaneClaimed>, WorkStoreError, never>;
1046
+ readonly coordinatorHandoff: (this: WorkStore, sessionId: string) => Effect.Effect<Option.None<WorkDecisionHandoff> | Option.Some<WorkDecisionHandoff>, WorkStoreError, never>;
1047
+ readonly decisions: (this: WorkStore, laneId: string) => Effect.Effect<{
1048
+ readonly version: "herdr.work.decision.v2";
1049
+ readonly id: string;
1050
+ readonly sessionId: string;
1051
+ readonly laneId: string;
1052
+ readonly goalId: string;
1053
+ readonly expectedRevision: number;
1054
+ readonly decision: "blocked" | "complete" | "continue" | "handoff";
1055
+ readonly summary: string;
1056
+ readonly contextDelta: string;
1057
+ readonly owner: {
1058
+ readonly id: string;
1059
+ readonly name: string;
1060
+ };
1061
+ readonly dispatchIds: readonly string[];
1062
+ readonly blockers: readonly {
1063
+ readonly id: string;
1064
+ readonly detail: string;
1065
+ }[];
1066
+ readonly evidenceRefs: readonly {
1067
+ readonly id: string;
1068
+ readonly kind: "commit" | "document" | "review" | "test";
1069
+ readonly reference: string;
1070
+ }[];
1071
+ readonly occurredAt: number;
1072
+ }[], WorkStoreError, never>;
14
1073
  readonly list: (this: WorkStore) => Effect.Effect<{
15
1074
  readonly version: "herdr.work.event.v1";
16
1075
  readonly eventId: string;
@@ -95,7 +1154,12 @@ export declare class WorkStore implements WorkStoreService {
95
1154
  readonly updatedAt: number;
96
1155
  };
97
1156
  }[], WorkStoreError, never>;
1157
+ readonly snapshotInput: (this: WorkStore) => Effect.Effect<{
1158
+ events: WorkGoalCheckpoint[];
1159
+ logicalObservedAt: number | null;
1160
+ }, WorkStoreError, never>;
98
1161
  private secureFiles;
99
1162
  close(): void;
100
1163
  }
1164
+ export {};
101
1165
  //# sourceMappingURL=store.d.ts.map