@knpkv/herdr-work 0.3.0 → 0.5.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 (67) hide show
  1. package/README.md +99 -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/goal-family.d.ts +4 -0
  11. package/dist/goal-family.d.ts.map +1 -0
  12. package/dist/goal-family.js +32 -0
  13. package/dist/goal-family.js.map +1 -0
  14. package/dist/index.d.ts +4 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/internal/agent-binding-admission.d.ts +15 -0
  19. package/dist/internal/agent-binding-admission.d.ts.map +1 -0
  20. package/dist/internal/agent-binding-admission.js +92 -0
  21. package/dist/internal/agent-binding-admission.js.map +1 -0
  22. package/dist/internal/agent-binding-readback.d.ts +55 -0
  23. package/dist/internal/agent-binding-readback.d.ts.map +1 -0
  24. package/dist/internal/agent-binding-readback.js +124 -0
  25. package/dist/internal/agent-binding-readback.js.map +1 -0
  26. package/dist/internal/coordinator-authority.d.ts +62 -0
  27. package/dist/internal/coordinator-authority.d.ts.map +1 -0
  28. package/dist/internal/coordinator-authority.js +214 -0
  29. package/dist/internal/coordinator-authority.js.map +1 -0
  30. package/dist/internal/decision-handoff-migration.d.ts +126 -0
  31. package/dist/internal/decision-handoff-migration.d.ts.map +1 -0
  32. package/dist/internal/decision-handoff-migration.js +51 -0
  33. package/dist/internal/decision-handoff-migration.js.map +1 -0
  34. package/dist/internal/history-validation.d.ts +5 -0
  35. package/dist/internal/history-validation.d.ts.map +1 -0
  36. package/dist/internal/history-validation.js +33 -0
  37. package/dist/internal/history-validation.js.map +1 -0
  38. package/dist/model.d.ts +3109 -51
  39. package/dist/model.d.ts.map +1 -1
  40. package/dist/model.js +340 -11
  41. package/dist/model.js.map +1 -1
  42. package/dist/navigation.d.ts +17 -0
  43. package/dist/navigation.d.ts.map +1 -0
  44. package/dist/navigation.js +62 -0
  45. package/dist/navigation.js.map +1 -0
  46. package/dist/projection.d.ts +660 -0
  47. package/dist/projection.d.ts.map +1 -1
  48. package/dist/projection.js +65 -25
  49. package/dist/projection.js.map +1 -1
  50. package/dist/service.d.ts +1886 -3
  51. package/dist/service.d.ts.map +1 -1
  52. package/dist/service.js +138 -5
  53. package/dist/service.js.map +1 -1
  54. package/dist/sql.d.ts +30 -0
  55. package/dist/sql.d.ts.map +1 -0
  56. package/dist/sql.js +1454 -0
  57. package/dist/sql.js.map +1 -0
  58. package/dist/store.d.ts +1072 -4
  59. package/dist/store.d.ts.map +1 -1
  60. package/dist/store.js +3328 -43
  61. package/dist/store.js.map +1 -1
  62. package/dist/view.d.ts +9 -2
  63. package/dist/view.d.ts.map +1 -1
  64. package/dist/view.js +156 -8
  65. package/dist/view.js.map +1 -1
  66. package/package.json +25 -13
  67. package/src/styles.css +91 -17
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -1,10 +1,10 @@
1
- import { AgentConnectTarget, AgentWorkerIdentity } from "@knpkv/herdr-fleet/model";
2
- import { Schema } from "effect";
3
- const Identifier = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(256));
1
+ import { AgentConnectTarget, AgentWorkerIdentity, WorkAdmit, WorkReassign, workReassignIsRecordable, WorkRecover } from "@knpkv/herdr-fleet/model";
2
+ import { Equal, Schema } from "effect";
3
+ const Identifier = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(256), Schema.isPattern(/^(?:[^\uD800-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF])*$/));
4
4
  // Approval hosts are bounded identifiers, not DNS names; the approvals app also
5
5
  // accepts labels such as "PI 5".
6
6
  const ApprovalHostName = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(256));
7
- const Text = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(4_096), Schema.isPattern(/^[^\p{Cc}]+$/u));
7
+ const Text = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(4_096), Schema.isPattern(/^[^\p{Cc}\p{Cs}]+$/u));
8
8
  const Timestamp = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: 8_640_000_000_000_000 }));
9
9
  /**
10
10
  * Credential-free HTTP(S) URL persisted for an outbound handoff. Provider
@@ -21,6 +21,9 @@ const LinkUrl = Schema.String.check(Schema.isMaxLength(2_048), Schema.makeFilter
21
21
  export const workHistoryMaxEvents = 16_384;
22
22
  export const workSnapshotMaxGoals = 1_024;
23
23
  export const WorkGoalId = Identifier;
24
+ export const WorkDispatchRequestId = Identifier;
25
+ export const WorkLaneOperationId = Identifier;
26
+ export const WorkCoordinatorSessionId = Identifier;
24
27
  export const WorkState = Schema.Literals(["planned", "working", "blocked", "review", "deployed", "completed"]);
25
28
  export const DeliveryStage = Schema.Literals(["local", "review", "pull_request", "merged", "deployed"]);
26
29
  export const WorkOwner = Schema.Struct({ id: Identifier, name: Text });
@@ -62,7 +65,7 @@ export const WorkApprovalTarget = Schema.Struct({
62
65
  const queryKeys = [...parsed.searchParams.keys()];
63
66
  const approvalHosts = parsed.searchParams.getAll("approvalHost");
64
67
  const approvalJobs = parsed.searchParams.getAll("approvalJob");
65
- return parsed.pathname === "/" &&
68
+ return (parsed.pathname === "/" &&
66
69
  parsed.hash === "" &&
67
70
  queryKeys.length === 3 &&
68
71
  parsed.searchParams.getAll("tab").length === 1 &&
@@ -70,7 +73,7 @@ export const WorkApprovalTarget = Schema.Struct({
70
73
  approvalHosts.length === 1 &&
71
74
  approvalJobs.length === 1 &&
72
75
  approvalHosts[0]?.toLowerCase() === host.toLowerCase() &&
73
- approvalJobs[0] === jobId;
76
+ approvalJobs[0] === jobId);
74
77
  }, { expected: "an approval URL with matching host and job identity" }));
75
78
  /**
76
79
  * Checks a decoded approval target against the origin resolved by the
@@ -93,6 +96,10 @@ export const WorkReview = Schema.Struct({
93
96
  updatedAt: Timestamp,
94
97
  url: Schema.NullOr(LinkUrl)
95
98
  });
99
+ export const WorkGoalFamily = Schema.Struct({
100
+ canonicalGoalId: WorkGoalId,
101
+ role: Schema.Literals(["canonical", "superseded"])
102
+ });
96
103
  export const WorkGoal = Schema.Struct({
97
104
  id: WorkGoalId,
98
105
  title: Text,
@@ -105,6 +112,7 @@ export const WorkGoal = Schema.Struct({
105
112
  delivery: DeliveryStage,
106
113
  blocker: Schema.NullOr(WorkBlocker),
107
114
  connectTarget: Schema.NullOr(AgentConnectTarget),
115
+ goalFamily: Schema.optionalKey(WorkGoalFamily),
108
116
  agentHierarchy: Schema.optionalKey(Schema.NullOr(WorkAgentHierarchy)),
109
117
  activity: Schema.optionalKey(Schema.Array(WorkActivity)
110
118
  .check(Schema.isMaxLength(128))
@@ -123,33 +131,354 @@ export const WorkGoal = Schema.Struct({
123
131
  const hasBlocker = goal.blocker !== null ||
124
132
  (goal.blockers !== undefined && goal.blockers.length > 0);
125
133
  const agent = goal.agentHierarchy?.agent;
134
+ const family = goal.goalFamily;
126
135
  const isDetailTimestamp = (timestamp) => timestamp >= goal.createdAt && timestamp <= goal.updatedAt;
127
- return goal.updatedAt >= goal.createdAt &&
128
- ((goal.state === "blocked") === hasBlocker) &&
136
+ return (goal.updatedAt >= goal.createdAt &&
137
+ (goal.state === "blocked") === hasBlocker &&
129
138
  (goal.blockers === undefined || goal.blocker === null) &&
130
139
  (goal.blocker === null || isDetailTimestamp(goal.blocker.since)) &&
131
140
  (goal.blockers === undefined || goal.blockers.every(({ since }) => isDetailTimestamp(since))) &&
132
141
  (goal.activity === undefined || goal.activity.every(({ occurredAt }) => isDetailTimestamp(occurredAt))) &&
133
142
  (goal.requests === undefined || goal.requests.every(({ requestedAt }) => isDetailTimestamp(requestedAt))) &&
134
143
  (goal.review === undefined || goal.review === null || isDetailTimestamp(goal.review.updatedAt)) &&
144
+ (family === undefined || (family.role === "canonical") === (family.canonicalGoalId === goal.id)) &&
135
145
  (agent === undefined || agent === null || ((agent.relationship === undefined || agent.relationship.parentAgentId !== agent.agentId) &&
136
146
  goal.connectTarget !== null &&
137
147
  goal.connectTarget.agentId === agent.agentId &&
138
- goal.connectTarget.host.toLowerCase() === agent.host.toLowerCase()));
148
+ goal.connectTarget.host.toLowerCase() === agent.host.toLowerCase())));
139
149
  }, { expected: "ordered goal timestamps, blocker state, and non-cyclic authoritative agent target" }));
150
+ export const WorkGoalFamilyGroup = Schema.Struct({
151
+ canonicalGoalId: WorkGoalId,
152
+ canonical: WorkGoal,
153
+ superseded: Schema.Array(WorkGoal).check(Schema.isMaxLength(workSnapshotMaxGoals))
154
+ }).check(Schema.makeFilter((group) => group.superseded.length > 0 &&
155
+ group.canonical.goalFamily?.role === "canonical" &&
156
+ group.canonical.goalFamily.canonicalGoalId === group.canonicalGoalId &&
157
+ group.superseded.every((goal) => goal.goalFamily?.role === "superseded" &&
158
+ goal.goalFamily.canonicalGoalId === group.canonicalGoalId) &&
159
+ new Set(group.superseded.map(({ id }) => id)).size === group.superseded.length &&
160
+ !group.superseded.some(({ id }) => id === group.canonicalGoalId), { expected: "consistent goal-family history group" }));
140
161
  export const WorkGoalCheckpoint = Schema.Struct({
141
162
  version: Schema.Literal("herdr.work.event.v1"),
142
163
  eventId: Identifier,
143
164
  occurredAt: Timestamp,
144
165
  goal: WorkGoal
145
166
  }).check(Schema.makeFilter((event) => event.occurredAt === event.goal.updatedAt, { expected: "checkpoint occurrence equal to the durable goal update timestamp" }));
167
+ const CanonicalWorktree = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(2_048), Schema.isPattern(/^[^\p{Cc}\p{Cs}]+$/u), Schema.makeFilter((value) => {
168
+ const isPosix = value.startsWith("/") && !value.startsWith("//") && !value.includes("\\");
169
+ const isWindows = /^[A-Za-z]:[\\/]/.test(value) && !(value.includes("/") && value.includes("\\"));
170
+ if (!isPosix && !isWindows)
171
+ return false;
172
+ const separator = isPosix || value.includes("/") ? "/" : "\\";
173
+ const parts = value.split(separator);
174
+ const isReservedWindowsDevice = (part) => /^(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(?:\..*)?$/i.test(part);
175
+ return parts.slice(1).every((part) => part.length > 0 &&
176
+ part !== "." &&
177
+ part !== ".." &&
178
+ (!isWindows || (!/[<>:"|?*]/.test(part) && !/[. ]$/.test(part) && !isReservedWindowsDevice(part))));
179
+ }, { expected: "an absolute canonical worktree path" }));
180
+ const Branch = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(256), Schema.isPattern(/^[A-Za-z0-9._/-]+$/), Schema.makeFilter((value) => value !== "@" &&
181
+ value !== "HEAD" &&
182
+ !value.startsWith("-") &&
183
+ !value.startsWith("/") &&
184
+ !value.endsWith("/") &&
185
+ !value.endsWith(".") &&
186
+ !value.includes("//") &&
187
+ !value.includes("..") &&
188
+ !value.includes("@{") &&
189
+ value.split("/").every((part) => !part.startsWith(".") && !part.endsWith(".lock")), { expected: "a valid Git branch ref" }));
190
+ const ExactHead = Schema.String.check(Schema.isPattern(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/), Schema.isMaxLength(64));
191
+ const Revision = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }));
192
+ const ExpectedRevision = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER - 1 }));
193
+ export const WorkLanePhase = Schema.Literals([
194
+ "claim",
195
+ "implementation",
196
+ "validation",
197
+ "review",
198
+ "shipped"
199
+ ]);
200
+ const CodexSessionId = Schema.String.check(Schema.isPattern(/^[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/));
201
+ export const WorkLaneReconciliationProof = Schema.Struct({
202
+ repository: Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/)),
203
+ pullRequest: Schema.Number.check(Schema.isInt(), Schema.isGreaterThan(0)),
204
+ expectedHead: ExactHead,
205
+ expectedOwner: WorkOwner,
206
+ expectedGoalEventId: Identifier,
207
+ bindingDispatchRequestId: WorkDispatchRequestId,
208
+ sessionId: CodexSessionId,
209
+ worker: AgentWorkerIdentity
210
+ });
211
+ /** Compare-and-set authority for one package-owned Work lane. */
212
+ export const WorkLaneClaim = Schema.Struct({
213
+ operationId: WorkLaneOperationId,
214
+ goalId: WorkGoalId,
215
+ laneId: WorkGoalId,
216
+ worktree: CanonicalWorktree,
217
+ branch: Branch,
218
+ head: ExactHead,
219
+ owner: WorkOwner,
220
+ parent: Schema.NullOr(Identifier),
221
+ phase: WorkLanePhase,
222
+ expectedRevision: ExpectedRevision,
223
+ reconciliation: Schema.optionalKey(WorkLaneReconciliationProof)
224
+ });
225
+ export const WorkLaneClaimed = Schema.Struct({
226
+ ...WorkLaneClaim.fields,
227
+ revision: Revision
228
+ }).check(Schema.makeFilter(({ expectedRevision, revision }) => revision === expectedRevision + 1, { expected: "a claimed revision exactly one greater than its expected revision" }));
229
+ /** Compare-and-set authority used exactly when a dispatched worker starts. */
230
+ export const WorkAgentBindingRequest = Schema.Struct({
231
+ version: Schema.Literal("herdr.work.agent-binding-request.v1"),
232
+ dispatchRequestId: WorkDispatchRequestId,
233
+ laneId: WorkGoalId,
234
+ expectedRevision: ExpectedRevision,
235
+ worker: AgentWorkerIdentity,
236
+ prospectiveAdmission: Schema.optionalKey(Schema.Struct({
237
+ sessionId: CodexSessionId,
238
+ workAssignment: Text,
239
+ baseHead: ExactHead,
240
+ expectedAbsenceToken: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/)),
241
+ approvalJobId: Identifier,
242
+ approvalActor: Identifier
243
+ })),
244
+ existingGoalRecovery: Schema.optionalKey(Schema.Struct({
245
+ sessionId: CodexSessionId,
246
+ workAssignment: Text,
247
+ baseHead: ExactHead,
248
+ expectedHistoryToken: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/)),
249
+ expectedGoalEventId: Identifier,
250
+ expectedGoalUpdatedAt: Timestamp,
251
+ approvalJobId: Identifier,
252
+ approvalActor: Identifier,
253
+ approvalApprovedBy: Identifier,
254
+ approvalApprovedAt: Timestamp,
255
+ approvalHash: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/))
256
+ })),
257
+ /** Set when an approved `work.reassign` job moved the lane's binding to a new worker. */
258
+ ownerReassignment: Schema.optionalKey(Schema.Struct({
259
+ previousDispatchRequestId: WorkDispatchRequestId,
260
+ approvalJobId: Identifier,
261
+ approvalActor: Identifier,
262
+ approvalApprovedBy: Identifier,
263
+ approvalApprovedAt: Timestamp,
264
+ approvalHash: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/))
265
+ }))
266
+ }).check(Schema.makeFilter(({ existingGoalRecovery, ownerReassignment, prospectiveAdmission }) => [existingGoalRecovery, ownerReassignment, prospectiveAdmission].filter((kind) => kind !== undefined).length <=
267
+ 1, { expected: "one truthful owner-linkage provenance kind" }));
268
+ /** Durable result of atomically binding a started worker to its Work goal. */
269
+ export const WorkAgentBinding = Schema.Struct({
270
+ version: Schema.Literal("herdr.work.agent-binding.v1"),
271
+ request: WorkAgentBindingRequest,
272
+ lane: WorkLaneClaimed,
273
+ checkpoint: WorkGoalCheckpoint
274
+ }).check(Schema.makeFilter(({ checkpoint, lane, request }) => lane.laneId === request.laneId &&
275
+ lane.goalId === checkpoint.goal.id &&
276
+ lane.expectedRevision === request.expectedRevision &&
277
+ lane.revision === request.expectedRevision + 1 &&
278
+ lane.operationId === request.dispatchRequestId &&
279
+ checkpoint.eventId === request.dispatchRequestId &&
280
+ Equal.equals(checkpoint.goal.agentHierarchy?.agent, request.worker) &&
281
+ checkpoint.goal.connectTarget?.agentId === request.worker.agentId &&
282
+ checkpoint.goal.connectTarget.host.toLowerCase() === request.worker.host.toLowerCase(), { expected: "one exact dispatch, lane revision, worker, and Work checkpoint binding" }));
283
+ const PullRequestNumber = Schema.Number.check(Schema.isInt(), Schema.isGreaterThan(0));
284
+ const RepositoryName = Schema.String.check(Schema.isPattern(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/));
285
+ /** Exact authority requested by an existing-owner PR inspection. */
286
+ export const WorkPullRequestLinkRequest = Schema.Struct({
287
+ repository: RepositoryName,
288
+ pullRequest: PullRequestNumber,
289
+ goalId: WorkGoalId,
290
+ laneId: WorkGoalId
291
+ });
292
+ export const WorkPullRequestLink = Schema.Struct({
293
+ request: WorkPullRequestLinkRequest,
294
+ goalEventId: Identifier,
295
+ goal: WorkGoal,
296
+ lane: WorkLaneClaimed,
297
+ binding: WorkAgentBinding
298
+ }).check(Schema.makeFilter(({ binding, goal, lane, request }) => goal.id === request.goalId &&
299
+ goal.review?.url === `https://github.com/${request.repository}/pull/${request.pullRequest}` &&
300
+ lane.goalId === goal.id && lane.laneId === request.laneId &&
301
+ binding.lane.laneId === lane.laneId &&
302
+ binding.request.worker.agentId === goal.agentHierarchy?.agent.agentId &&
303
+ binding.request.worker.host.toLowerCase() === goal.agentHierarchy?.agent.host.toLowerCase() &&
304
+ goal.connectTarget?.agentId === binding.request.worker.agentId, { expected: "one PR goal, lane, and durable started-worker binding" }));
305
+ /** The session is checked against Herdr by the approval-bound host adapter before CAS. */
306
+ export const WorkExistingOwnerReconciliation = Schema.Struct({
307
+ ...WorkPullRequestLinkRequest.fields,
308
+ operationId: WorkLaneOperationId,
309
+ expectedRevision: ExpectedRevision,
310
+ expectedHead: ExactHead,
311
+ newHead: ExactHead,
312
+ expectedOwner: WorkOwner,
313
+ expectedGoalEventId: Identifier,
314
+ bindingDispatchRequestId: WorkDispatchRequestId,
315
+ sessionId: CodexSessionId,
316
+ worker: AgentWorkerIdentity,
317
+ worktree: CanonicalWorktree,
318
+ branch: Branch
319
+ });
320
+ /** The authenticated preflight is evidence, never permission to create a worker. */
321
+ export const WorkAdmissionTarget = Schema.Struct({
322
+ repository: WorkAdmit.fields.repository,
323
+ pullRequest: WorkAdmit.fields.pullRequest,
324
+ reviewUrl: WorkAdmit.fields.reviewUrl,
325
+ goalId: WorkAdmit.fields.goalId,
326
+ laneId: WorkAdmit.fields.laneId,
327
+ head: WorkAdmit.fields.head,
328
+ baseHead: WorkAdmit.fields.baseHead,
329
+ owner: WorkAdmit.fields.owner,
330
+ sessionId: WorkAdmit.fields.sessionId,
331
+ expectedWork: WorkAdmit.fields.expectedWork,
332
+ worker: WorkAdmit.fields.worker,
333
+ worktree: WorkAdmit.fields.worktree,
334
+ branch: WorkAdmit.fields.branch
335
+ }).check(Schema.makeFilter(({ pullRequest, repository, reviewUrl }) => reviewUrl === `https://github.com/${repository}/pull/${pullRequest}`, { expected: "an exact canonical PR URL" }));
336
+ export const WorkAdmissionPreflight = Schema.TaggedUnion({
337
+ prospective: { target: WorkAdmissionTarget, absenceToken: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/)) },
338
+ existing: { target: WorkAdmissionTarget, link: WorkPullRequestLink },
339
+ conflict: { target: WorkAdmissionTarget, reason: Schema.String }
340
+ });
341
+ /** Runtime-only approval provenance is supplied by the approved Fleet job. */
342
+ export const WorkProspectiveAdmission = Schema.Struct({
343
+ ...WorkAdmit.fields,
344
+ approvalJobId: Identifier,
345
+ approvalActor: Identifier
346
+ }).check(Schema.makeFilter(({ pullRequest, repository, reviewUrl }) => reviewUrl === `https://github.com/${repository}/pull/${pullRequest}`, { expected: "an exact canonical PR URL" }));
347
+ /** Read-only evidence for a genuine, existing unlinked canonical goal. */
348
+ export const WorkRecoveryTarget = Schema.Struct({
349
+ ...WorkAdmissionTarget.fields,
350
+ expectedGoalEventId: Identifier,
351
+ expectedGoalUpdatedAt: Timestamp
352
+ }).check(Schema.makeFilter(({ pullRequest, repository, reviewUrl }) => reviewUrl === `https://github.com/${repository}/pull/${pullRequest}`, { expected: "an exact canonical PR URL" }));
353
+ export const WorkRecoveryContext = Schema.Struct({
354
+ goalId: WorkGoalId,
355
+ expectedGoalEventId: Identifier,
356
+ expectedGoalUpdatedAt: Timestamp
357
+ });
358
+ export const WorkRecoveryPreflight = Schema.TaggedUnion({
359
+ recoverable: {
360
+ target: WorkRecoveryTarget,
361
+ historyToken: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/))
362
+ },
363
+ existing: { target: WorkRecoveryTarget, link: WorkPullRequestLink },
364
+ conflict: { target: WorkRecoveryTarget, reason: Schema.String }
365
+ });
366
+ /** The approved Fleet job supplies actor, job identity, and immutable hash. */
367
+ export const WorkExistingGoalRecovery = Schema.Struct({
368
+ ...WorkRecover.fields,
369
+ approvalJobId: Identifier,
370
+ approvalActor: Identifier,
371
+ approvalApprovedBy: Identifier,
372
+ approvalApprovedAt: Timestamp,
373
+ approvalHash: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/))
374
+ }).check(Schema.makeFilter(({ pullRequest, repository, reviewUrl }) => reviewUrl === `https://github.com/${repository}/pull/${pullRequest}`, { expected: "an exact canonical PR URL" }));
375
+ /** The approved Fleet job supplies actor, job identity, and immutable hash. */
376
+ export const WorkGoalReassignment = Schema.Struct({
377
+ ...WorkReassign.fields,
378
+ approvalJobId: Identifier,
379
+ approvalActor: Identifier,
380
+ approvalApprovedBy: Identifier,
381
+ approvalApprovedAt: Timestamp,
382
+ approvalHash: Schema.String.check(Schema.isPattern(/^[0-9a-f]{64}$/))
383
+ }).check(Schema.makeFilter(workReassignIsRecordable, {
384
+ expected: "a different, recordable target owner and a bounded single-line activity summary"
385
+ }));
386
+ /**
387
+ * Durable result of one reassignment. The checkpoint, any rewritten lane, and
388
+ * any rebound worker binding are all identified by the approval job id. `lane`
389
+ * is null when the goal had no active lane (a shipped lane keeps its previous
390
+ * owner); `binding` is null when that lane had no started-worker binding.
391
+ */
392
+ export const WorkGoalReassigned = Schema.Struct({
393
+ reassignment: WorkGoalReassignment,
394
+ checkpoint: WorkGoalCheckpoint,
395
+ lane: Schema.NullOr(WorkLaneClaimed),
396
+ binding: Schema.NullOr(WorkAgentBinding)
397
+ }).check(Schema.makeFilter(({ binding, checkpoint, lane, reassignment }) => checkpoint.eventId === reassignment.approvalJobId &&
398
+ checkpoint.goal.id === reassignment.goalId &&
399
+ Equal.equals(checkpoint.goal.owner, reassignment.to) &&
400
+ (lane === null || (lane.goalId === reassignment.goalId &&
401
+ lane.operationId === reassignment.approvalJobId &&
402
+ Equal.equals(lane.owner, reassignment.to))) &&
403
+ (binding === null || (lane !== null &&
404
+ Equal.equals(binding.lane, lane) &&
405
+ Equal.equals(binding.checkpoint, checkpoint) &&
406
+ binding.request.ownerReassignment?.approvalJobId === reassignment.approvalJobId)), { expected: "a checkpoint, lane, and binding owned by the approved target owner" }));
407
+ export const WorkCoordinatorBlocker = Schema.Struct({
408
+ id: Identifier,
409
+ detail: Text
410
+ });
411
+ export const WorkEvidenceReference = Schema.Struct({
412
+ id: Identifier,
413
+ kind: Schema.Literals(["commit", "test", "review", "document"]),
414
+ reference: Text
415
+ });
416
+ /** Bounded credential-free context carried from the accepted Work handoff into execution. */
417
+ export const WorkContextDelta = Text;
418
+ export const WorkDecisionHandoff = Schema.Struct({
419
+ version: Schema.Literal("herdr.work.decision.v2"),
420
+ id: Identifier,
421
+ sessionId: WorkCoordinatorSessionId,
422
+ laneId: WorkGoalId,
423
+ goalId: WorkGoalId,
424
+ expectedRevision: ExpectedRevision,
425
+ decision: Schema.Literals(["continue", "blocked", "handoff", "complete"]),
426
+ summary: Text,
427
+ contextDelta: WorkContextDelta,
428
+ owner: WorkOwner,
429
+ dispatchIds: Schema.Array(WorkDispatchRequestId).check(Schema.isMaxLength(32), Schema.makeFilter((ids) => new Set(ids).size === ids.length, { expected: "unique dispatch IDs in a coordinator handoff" })),
430
+ blockers: Schema.Array(WorkCoordinatorBlocker).check(Schema.isMaxLength(32), Schema.makeFilter((blockers) => new Set(blockers.map(({ id }) => id)).size === blockers.length, { expected: "unique blocker IDs in a coordinator handoff" })),
431
+ evidenceRefs: Schema.Array(WorkEvidenceReference).check(Schema.isMaxLength(64), Schema.makeFilter((references) => new Set(references.map(({ id }) => id)).size === references.length, { expected: "unique evidence reference IDs in a coordinator handoff" })),
432
+ occurredAt: Timestamp
433
+ });
434
+ /** A durable dispatch-to-Work binding written with the dispatch acceptance. */
435
+ export const WorkDispatchHandoff = Schema.Struct({
436
+ dispatchRequestId: WorkDispatchRequestId,
437
+ handoff: WorkDecisionHandoff,
438
+ lineage: Schema.Array(WorkDispatchRequestId).check(Schema.isMaxLength(32), Schema.makeFilter((ids) => new Set(ids).size === ids.length, { expected: "unique dispatch IDs in Work lineage" }))
439
+ }).check(Schema.makeFilter(({ handoff, lineage }) => lineage.every((dispatchId) => handoff.dispatchIds.includes(dispatchId)), { expected: "Work lineage contained in the persisted handoff dispatch IDs" }));
146
440
  export const WorkSnapshotWindow = Schema.Literals(["now", "day", "week", "month"]);
147
441
  export const WorkSnapshot = Schema.Struct({
148
442
  window: WorkSnapshotWindow,
149
443
  observedAt: Timestamp,
150
444
  asOf: Timestamp,
151
- goals: Schema.Array(WorkGoal).check(Schema.isMaxLength(workSnapshotMaxGoals))
152
- });
445
+ goals: Schema.Array(WorkGoal).check(Schema.isMaxLength(workSnapshotMaxGoals)),
446
+ families: Schema.optionalKey(Schema.Array(WorkGoalFamilyGroup).check(Schema.isMaxLength(workSnapshotMaxGoals)))
447
+ }).check(Schema.makeFilter((snapshot) => {
448
+ const families = snapshot.families ?? [];
449
+ const goalById = new Map();
450
+ for (const goal of snapshot.goals) {
451
+ if (goal.goalFamily?.role === "superseded" || goalById.has(goal.id)) {
452
+ return false;
453
+ }
454
+ goalById.set(goal.id, goal);
455
+ }
456
+ const seenCanonical = new Set();
457
+ const seenMember = new Set();
458
+ for (const group of families) {
459
+ if (seenCanonical.has(group.canonicalGoalId))
460
+ return false;
461
+ seenCanonical.add(group.canonicalGoalId);
462
+ const active = goalById.get(group.canonicalGoalId);
463
+ if (active === undefined)
464
+ return false;
465
+ if (!Equal.equals(active, group.canonical))
466
+ return false;
467
+ for (const member of group.superseded) {
468
+ if (seenMember.has(member.id))
469
+ return false;
470
+ seenMember.add(member.id);
471
+ if (goalById.has(member.id))
472
+ return false;
473
+ }
474
+ }
475
+ if (snapshot.goals.length + seenMember.size > workSnapshotMaxGoals) {
476
+ return false;
477
+ }
478
+ return true;
479
+ }, {
480
+ expected: "families consistent with non-superseded active goals, without duplicated active or superseded members, and within total distinct goal limit"
481
+ }));
153
482
  export const WorkSnapshots = Schema.Struct({
154
483
  observedAt: Timestamp,
155
484
  now: WorkSnapshot,
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type WorkGoalId as WorkGoalIdType, type WorkSnapshotWindow as WorkSnapshotWindowType, type WorkState as WorkStateType } from "./model.js";
2
+ export interface WorkBoardNavigationState {
3
+ readonly detailsOpen: boolean;
4
+ readonly goalId: WorkGoalIdType | null;
5
+ readonly statusFilter: "all" | WorkStateType;
6
+ readonly visibleGoalCount: number;
7
+ }
8
+ export declare const encodeWorkBoardNavigationGoal: (state: WorkBoardNavigationState) => string;
9
+ export declare const decodeWorkBoardNavigationGoal: (goalId: string | null) => WorkBoardNavigationState | null;
10
+ export type WorkNavigationSelection = {
11
+ readonly goalId: string | null;
12
+ readonly window: WorkSnapshotWindowType;
13
+ };
14
+ /** Builds the same-origin URL used by the Work board for one selected goal. */
15
+ export declare const workNavigationHref: ({ goalId, window }: WorkNavigationSelection) => string;
16
+ export declare const decodeWorkNavigationSelection: (search: string) => WorkNavigationSelection;
17
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,IAAI,cAAc,EAEjC,KAAK,kBAAkB,IAAI,sBAAsB,EAEjD,KAAK,SAAS,IAAI,aAAa,EAChC,MAAM,YAAY,CAAA;AAenB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,aAAa,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,6BAA6B,UAAW,wBAAwB,KAAG,MAQ/E,CAAA;AAED,eAAO,MAAM,6BAA6B,WAAY,MAAM,GAAG,IAAI,KAAG,wBAAwB,GAAG,IAahG,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,uBAAwB,uBAAuB,KAAG,MAIhF,CAAA;AAED,eAAO,MAAM,6BAA6B,WAAY,MAAM,KAAG,uBAiB9D,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { Schema } from "effect";
2
+ import { WorkGoalId, WorkSnapshotWindow, WorkState } from "./model.js";
3
+ // WorkGoalId is capped at 256 characters; 257 makes this transport namespace
4
+ // disjoint without reserving any otherwise-valid persisted goal identifier.
5
+ const workBoardNavigationGoalPrefix = "__work_board_v1__".padEnd(257, "_");
6
+ const WorkBoardNavigationStateParameters = Schema.Struct({
7
+ detailsOpen: Schema.Literals(["0", "1"]),
8
+ goalId: Schema.NullOr(WorkGoalId),
9
+ statusFilter: Schema.Union([Schema.Literal("all"), WorkState]),
10
+ visibleGoalCount: Schema.NumberFromString.check(Schema.isInt(), Schema.isBetween({ minimum: 10, maximum: 2_048 }))
11
+ });
12
+ export const encodeWorkBoardNavigationGoal = (state) => {
13
+ const parameters = new URLSearchParams({
14
+ details: state.detailsOpen ? "1" : "0",
15
+ status: state.statusFilter,
16
+ visible: String(state.visibleGoalCount)
17
+ });
18
+ if (state.goalId !== null)
19
+ parameters.set("goal", state.goalId);
20
+ return `${workBoardNavigationGoalPrefix}${parameters.toString()}`;
21
+ };
22
+ export const decodeWorkBoardNavigationGoal = (goalId) => {
23
+ if (goalId === null || !goalId.startsWith(workBoardNavigationGoalPrefix))
24
+ return null;
25
+ const parameters = new URLSearchParams(goalId.slice(workBoardNavigationGoalPrefix.length));
26
+ const selectedGoalId = parameters.get("goal");
27
+ const decoded = Schema.decodeUnknownResult(WorkBoardNavigationStateParameters)({
28
+ detailsOpen: parameters.get("details"),
29
+ goalId: selectedGoalId === "" ? null : selectedGoalId,
30
+ statusFilter: parameters.get("status"),
31
+ visibleGoalCount: parameters.get("visible")
32
+ });
33
+ return decoded._tag === "Success"
34
+ ? { ...decoded.success, detailsOpen: decoded.success.detailsOpen === "1" }
35
+ : null;
36
+ };
37
+ /** Builds the same-origin URL used by the Work board for one selected goal. */
38
+ export const workNavigationHref = ({ goalId, window }) => {
39
+ const parameters = new URLSearchParams({ tab: "work", window });
40
+ if (goalId !== null)
41
+ parameters.set("goal", goalId);
42
+ return `/?${parameters.toString()}`;
43
+ };
44
+ export const decodeWorkNavigationSelection = (search) => {
45
+ const parameters = new URLSearchParams(search);
46
+ const decodedWindow = Schema.decodeUnknownResult(WorkSnapshotWindow)(parameters.get("window") ?? "now");
47
+ const goal = parameters.get("goal");
48
+ const decodedGoal = goal === null ? null : Schema.decodeUnknownResult(WorkGoalId)(goal);
49
+ const decodedBoardNavigation = decodeWorkBoardNavigationGoal(goal);
50
+ const hasBoardNavigationPrefix = goal?.startsWith(workBoardNavigationGoalPrefix) ?? false;
51
+ return {
52
+ goalId: decodedBoardNavigation !== null
53
+ ? goal
54
+ : hasBoardNavigationPrefix
55
+ ? null
56
+ : decodedGoal !== null && decodedGoal._tag === "Success"
57
+ ? decodedGoal.success
58
+ : null,
59
+ window: decodedWindow._tag === "Success" ? decodedWindow.success : "now"
60
+ };
61
+ };
62
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"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"}