@knpkv/herdr-work 0.3.0 → 0.4.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.
package/README.md CHANGED
@@ -4,6 +4,8 @@ Durable fleet work checkpoints and the Rly departure-board projection used by th
4
4
 
5
5
  Each `WorkGoalCheckpoint` stores a complete, Schema-decoded goal state at its exact durable timestamp. `projectWorkSnapshots` selects the latest recorded checkpoint at now, 24 hours, 7 days, and 30 days. A goal does not appear before its creation checkpoint, and missing history is never synthesized.
6
6
 
7
+ `WorkGoal.goalFamily` records a goal as either the canonical member of a family or a superseded member pointing to that canonical goal. Superseded goals leave the active projection only after their durable relation checkpoint. Earlier snapshots still show their previous state, blockers, reviews, and activity. A relation cannot be removed or retargeted, and a superseded goal cannot precede its canonical member.
8
+
7
9
  `WorkStore` persists events in SQLite. Recording the exact same checkpoint again is an idempotent replay; reusing an event ID or goal timestamp with changed content returns `WorkCheckpointConflictError`. `makeWorkService` is the small runtime interface for recording checkpoints and reading all four snapshots.
8
10
 
9
11
  `WorkBoard` renders these persisted outbound-link forms:
@@ -13,3 +15,5 @@ Each `WorkGoalCheckpoint` stores a complete, Schema-decoded goal state at its ex
13
15
  - `WorkReview.url` — review destination.
14
16
 
15
17
  Every URL uses the credential-free HTTP(S) `LinkUrl` boundary. Provider credentials and private locators never enter these persisted or browser-visible links.
18
+
19
+ `WorkBoard` accepts `externalLinks="enabled"` by default. With `externalLinks="disabled"`, it keeps recorded approval, review, and Connect targets visible as metadata without rendering outbound links for read-only LAN Work.
@@ -0,0 +1,4 @@
1
+ import { WorkProjectionError } from "./errors.js";
2
+ import type { WorkGoalCheckpoint } from "./model.js";
3
+ export declare const validateGoalFamilyHistory: (events: ReadonlyArray<WorkGoalCheckpoint>) => WorkProjectionError | undefined;
4
+ //# sourceMappingURL=goal-family.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-family.d.ts","sourceRoot":"","sources":["../src/goal-family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAA;AAKpE,eAAO,MAAM,yBAAyB,WAC5B,aAAa,CAAC,kBAAkB,CAAC,KACxC,mBAAmB,GAAG,SAkCxB,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { WorkProjectionError } from "./errors.js";
2
+ const inconsistency = (detail, cause) => new WorkProjectionError({ cause, detail, reason: "inconsistent_history" });
3
+ export const validateGoalFamilyHistory = (events) => {
4
+ const familyByGoal = new Map();
5
+ const canonicalActivatedAt = new Map();
6
+ const ordered = events.toSorted((left, right) => left.occurredAt - right.occurredAt);
7
+ for (const event of ordered) {
8
+ const family = event.goal.goalFamily;
9
+ const previousFamily = familyByGoal.get(event.goal.id);
10
+ if (previousFamily !== undefined && (family === undefined ||
11
+ family.canonicalGoalId !== previousFamily.canonicalGoalId ||
12
+ family.role !== previousFamily.role)) {
13
+ return inconsistency(`goal ${event.goal.id} changed or removed its goal-family relation`, event);
14
+ }
15
+ if (family !== undefined) {
16
+ familyByGoal.set(event.goal.id, family);
17
+ if (family.role === "canonical" && !canonicalActivatedAt.has(event.goal.id)) {
18
+ canonicalActivatedAt.set(event.goal.id, event.occurredAt);
19
+ }
20
+ }
21
+ }
22
+ for (const event of ordered) {
23
+ const family = event.goal.goalFamily;
24
+ if (family?.role !== "superseded")
25
+ continue;
26
+ const canonicalAt = canonicalActivatedAt.get(family.canonicalGoalId);
27
+ if (canonicalAt === undefined || canonicalAt > event.occurredAt) {
28
+ return inconsistency(`goal ${event.goal.id} was superseded before canonical goal ${family.canonicalGoalId} was recorded`, event);
29
+ }
30
+ }
31
+ };
32
+ //# sourceMappingURL=goal-family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-family.js","sourceRoot":"","sources":["../src/goal-family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAyB,EAAE,EAAE,CAClE,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAAyC,EACR,EAAE;IACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAA;IACtD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IACpF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAA;QACpC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,IACE,cAAc,KAAK,SAAS,IAAI,CAC9B,MAAM,KAAK,SAAS;YACpB,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,eAAe;YACzD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CACpC,EACD,CAAC;YACD,OAAO,aAAa,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,8CAA8C,EAAE,KAAK,CAAC,CAAA;QAClG,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5E,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAA;QACpC,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY;YAAE,SAAQ;QAC3C,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACpE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YAChE,OAAO,aAAa,CAClB,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,yCAAyC,MAAM,CAAC,eAAe,eAAe,EACnG,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
package/dist/model.d.ts CHANGED
@@ -93,6 +93,12 @@ export declare const WorkReview: Schema.Struct<{
93
93
  }>;
94
94
  export interface WorkReview extends Schema.Schema.Type<typeof WorkReview> {
95
95
  }
96
+ export declare const WorkGoalFamily: Schema.Struct<{
97
+ readonly canonicalGoalId: Schema.String;
98
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
99
+ }>;
100
+ export interface WorkGoalFamily extends Schema.Schema.Type<typeof WorkGoalFamily> {
101
+ }
96
102
  export declare const WorkGoal: Schema.Struct<{
97
103
  readonly id: Schema.String;
98
104
  readonly title: Schema.String;
@@ -121,6 +127,10 @@ export declare const WorkGoal: Schema.Struct<{
121
127
  readonly agentId: Schema.String;
122
128
  readonly url: Schema.String;
123
129
  }>>;
130
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
131
+ readonly canonicalGoalId: Schema.String;
132
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
133
+ }>>;
124
134
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
125
135
  readonly agent: Schema.Struct<{
126
136
  readonly host: Schema.String;
@@ -202,6 +212,10 @@ export declare const WorkGoalCheckpoint: Schema.Struct<{
202
212
  readonly agentId: Schema.String;
203
213
  readonly url: Schema.String;
204
214
  }>>;
215
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
216
+ readonly canonicalGoalId: Schema.String;
217
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
218
+ }>>;
205
219
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
206
220
  readonly agent: Schema.Struct<{
207
221
  readonly host: Schema.String;
@@ -286,6 +300,10 @@ export declare const WorkSnapshot: Schema.Struct<{
286
300
  readonly agentId: Schema.String;
287
301
  readonly url: Schema.String;
288
302
  }>>;
303
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
304
+ readonly canonicalGoalId: Schema.String;
305
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
306
+ }>>;
289
307
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
290
308
  readonly agent: Schema.Struct<{
291
309
  readonly host: Schema.String;
@@ -370,6 +388,10 @@ export declare const WorkSnapshots: Schema.Struct<{
370
388
  readonly agentId: Schema.String;
371
389
  readonly url: Schema.String;
372
390
  }>>;
391
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
392
+ readonly canonicalGoalId: Schema.String;
393
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
394
+ }>>;
373
395
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
374
396
  readonly agent: Schema.Struct<{
375
397
  readonly host: Schema.String;
@@ -450,6 +472,10 @@ export declare const WorkSnapshots: Schema.Struct<{
450
472
  readonly agentId: Schema.String;
451
473
  readonly url: Schema.String;
452
474
  }>>;
475
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
476
+ readonly canonicalGoalId: Schema.String;
477
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
478
+ }>>;
453
479
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
454
480
  readonly agent: Schema.Struct<{
455
481
  readonly host: Schema.String;
@@ -530,6 +556,10 @@ export declare const WorkSnapshots: Schema.Struct<{
530
556
  readonly agentId: Schema.String;
531
557
  readonly url: Schema.String;
532
558
  }>>;
559
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
560
+ readonly canonicalGoalId: Schema.String;
561
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
562
+ }>>;
533
563
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
534
564
  readonly agent: Schema.Struct<{
535
565
  readonly host: Schema.String;
@@ -610,6 +640,10 @@ export declare const WorkSnapshots: Schema.Struct<{
610
640
  readonly agentId: Schema.String;
611
641
  readonly url: Schema.String;
612
642
  }>>;
643
+ readonly goalFamily: Schema.optionalKey<Schema.Struct<{
644
+ readonly canonicalGoalId: Schema.String;
645
+ readonly role: Schema.Literals<readonly ["canonical", "superseded"]>;
646
+ }>>;
613
647
  readonly agentHierarchy: Schema.optionalKey<Schema.NullOr<Schema.Struct<{
614
648
  readonly agent: Schema.Struct<{
615
649
  readonly host: Schema.String;
@@ -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
@@ -93,6 +93,10 @@ export const WorkReview = Schema.Struct({
93
93
  updatedAt: Timestamp,
94
94
  url: Schema.NullOr(LinkUrl)
95
95
  });
96
+ export const WorkGoalFamily = Schema.Struct({
97
+ canonicalGoalId: WorkGoalId,
98
+ role: Schema.Literals(["canonical", "superseded"])
99
+ });
96
100
  export const WorkGoal = Schema.Struct({
97
101
  id: WorkGoalId,
98
102
  title: Text,
@@ -105,6 +109,7 @@ export const WorkGoal = Schema.Struct({
105
109
  delivery: DeliveryStage,
106
110
  blocker: Schema.NullOr(WorkBlocker),
107
111
  connectTarget: Schema.NullOr(AgentConnectTarget),
112
+ goalFamily: Schema.optionalKey(WorkGoalFamily),
108
113
  agentHierarchy: Schema.optionalKey(Schema.NullOr(WorkAgentHierarchy)),
109
114
  activity: Schema.optionalKey(Schema.Array(WorkActivity)
110
115
  .check(Schema.isMaxLength(128))
@@ -123,6 +128,7 @@ export const WorkGoal = Schema.Struct({
123
128
  const hasBlocker = goal.blocker !== null ||
124
129
  (goal.blockers !== undefined && goal.blockers.length > 0);
125
130
  const agent = goal.agentHierarchy?.agent;
131
+ const family = goal.goalFamily;
126
132
  const isDetailTimestamp = (timestamp) => timestamp >= goal.createdAt && timestamp <= goal.updatedAt;
127
133
  return goal.updatedAt >= goal.createdAt &&
128
134
  ((goal.state === "blocked") === hasBlocker) &&
@@ -132,6 +138,7 @@ export const WorkGoal = Schema.Struct({
132
138
  (goal.activity === undefined || goal.activity.every(({ occurredAt }) => isDetailTimestamp(occurredAt))) &&
133
139
  (goal.requests === undefined || goal.requests.every(({ requestedAt }) => isDetailTimestamp(requestedAt))) &&
134
140
  (goal.review === undefined || goal.review === null || isDetailTimestamp(goal.review.updatedAt)) &&
141
+ (family === undefined || ((family.role === "canonical") === (family.canonicalGoalId === goal.id))) &&
135
142
  (agent === undefined || agent === null || ((agent.relationship === undefined || agent.relationship.parentAgentId !== agent.agentId) &&
136
143
  goal.connectTarget !== null &&
137
144
  goal.connectTarget.agentId === agent.agentId &&
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;AACpF,gFAAgF;AAChF,iCAAiC;AACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAA;AACnH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CACnC,MAAM,CAAC,KAAK,EAAE,EACd,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CACjE,CAAA;AACD;;;GAGG;AACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CACjC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EACzB,MAAM,CAAC,UAAU,CACf,CAAC,KAAK,EAAE,EAAE;IACR,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC5D,GAAG,CAAC,QAAQ,KAAK,EAAE;QACnB,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAA;AACvB,CAAC,EACD,EAAE,QAAQ,EAAE,6CAA6C,EAAE,CAC5D,CACF,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAA;AAGpC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AAG9G,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AAGvG,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACpH,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,SAAS;CACjB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,mBAAmB;CAC3B,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC9C,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;CACX,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,SAAS;CACtB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,OAAO;CACb,CAAC,CAAC,KAAK,CACN,MAAM,CAAC,UAAU,CACf,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IACvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9D,OAAO,MAAM,CAAC,QAAQ,KAAK,GAAG;QAC5B,MAAM,CAAC,IAAI,KAAK,EAAE;QAClB,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,WAAW;QAC9C,aAAa,CAAC,MAAM,KAAK,CAAC;QAC1B,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;QACtD,YAAY,CAAC,CAAC,CAAC,KAAK,KAAK,CAAA;AAC7B,CAAC,EACD,EAAE,QAAQ,EAAE,qDAAqD,EAAE,CACpE,CACF,CAAA;AAGD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAA0B,EAC1B,mBAA2B,EAClB,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAA;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AAG9F,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;CAClD,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAA;AAG/G,gFAAgF;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,SAAS,EAAE,SAAS;IACpB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;CAC5B,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;SACvB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC9B,KAAK,CACJ,MAAM,CAAC,UAAU,CACf,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAClF,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CACpC,CACF,CACJ;IACD,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;SACtB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC7B,KAAK,CACJ,MAAM,CAAC,UAAU,CACf,CAAC,QAAQ,EAAE,EAAE,CACX,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EACpG,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CACvC,CACF,CACJ;IACD,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;SACtB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC7B,KAAK,CACJ,MAAM,CAAC,UAAU,CACf,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAC5E,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CACnC,CACF,CACJ;IACD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrE,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC,KAAK,CACN,MAAM,CAAC,UAAU,CACf,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI;QACtC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAA;IACxC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAW,EAAE,CACvD,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;IAC5D,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QACrC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,UAAU,CAAC;QAC3C,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;QACtD,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QACvG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QACzG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/F,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CACxC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,aAAa,KAAK,IAAI;YAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CACnE,CAAC,CAAA;AACN,CAAC,EACD,EAAE,QAAQ,EAAE,mFAAmF,EAAE,CAClG,CACF,CAAA;AAGD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9C,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC,KAAK,CACN,MAAM,CAAC,UAAU,CACf,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,EACpD,EAAE,QAAQ,EAAE,kEAAkE,EAAE,CACjF,CACF,CAAA;AAGD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAGlF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;CAC9E,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,SAAS;IACrB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;CACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
35
35
  readonly agentId: string;
36
36
  readonly url: string;
37
37
  } | null;
38
+ readonly goalFamily?: {
39
+ readonly canonicalGoalId: string;
40
+ readonly role: "canonical" | "superseded";
41
+ };
38
42
  readonly agentHierarchy?: {
39
43
  readonly agent: {
40
44
  readonly host: string;
@@ -115,6 +119,10 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
115
119
  readonly agentId: string;
116
120
  readonly url: string;
117
121
  } | null;
122
+ readonly goalFamily?: {
123
+ readonly canonicalGoalId: string;
124
+ readonly role: "canonical" | "superseded";
125
+ };
118
126
  readonly agentHierarchy?: {
119
127
  readonly agent: {
120
128
  readonly host: string;
@@ -195,6 +203,10 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
195
203
  readonly agentId: string;
196
204
  readonly url: string;
197
205
  } | null;
206
+ readonly goalFamily?: {
207
+ readonly canonicalGoalId: string;
208
+ readonly role: "canonical" | "superseded";
209
+ };
198
210
  readonly agentHierarchy?: {
199
211
  readonly agent: {
200
212
  readonly host: string;
@@ -275,6 +287,10 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
275
287
  readonly agentId: string;
276
288
  readonly url: string;
277
289
  } | null;
290
+ readonly goalFamily?: {
291
+ readonly canonicalGoalId: string;
292
+ readonly role: "canonical" | "superseded";
293
+ };
278
294
  readonly agentHierarchy?: {
279
295
  readonly agent: {
280
296
  readonly host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAEL,kBAAkB,EAKnB,MAAM,YAAY,CAAA;AAkFnB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAiB/B,CAAA"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAEL,kBAAkB,EAKnB,MAAM,YAAY,CAAA;AAqFnB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAiB/B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import { WorkProjectionError } from "./errors.js";
3
+ import { validateGoalFamilyHistory } from "./goal-family.js";
3
4
  import { WorkGoalCheckpoint, workHistoryMaxEvents, WorkSnapshots } from "./model.js";
4
5
  const windowOffset = {
5
6
  now: 0,
@@ -13,7 +14,8 @@ const validateHistory = Effect.fn("HerdrWork.validateHistory")(function* (input)
13
14
  const eventIds = new Set();
14
15
  const goalTimes = new Set();
15
16
  const createdAt = new Map();
16
- for (const event of events) {
17
+ const ordered = events.toSorted((left, right) => left.occurredAt - right.occurredAt);
18
+ for (const event of ordered) {
17
19
  if (eventIds.has(event.eventId)) {
18
20
  return yield* projectionError("duplicate_event", `work event ${event.eventId} occurs more than once`, event);
19
21
  }
@@ -34,6 +36,9 @@ const validateHistory = Effect.fn("HerdrWork.validateHistory")(function* (input)
34
36
  return yield* projectionError("inconsistent_history", `goal ${goalId} has no checkpoint at its creation timestamp`, { goalId, timestamp });
35
37
  }
36
38
  }
39
+ const familyError = validateGoalFamilyHistory(events);
40
+ if (familyError !== undefined)
41
+ return yield* familyError;
37
42
  return events;
38
43
  });
39
44
  const snapshotAt = (events, observedAt, window) => {
@@ -47,7 +52,7 @@ const snapshotAt = (events, observedAt, window) => {
47
52
  window,
48
53
  observedAt,
49
54
  asOf,
50
- goals: [...latest.values()].toSorted((left, right) => right.updatedAt - left.updatedAt || left.title.localeCompare(right.title))
55
+ goals: [...latest.values()].filter((goal) => goal.goalFamily?.role !== "superseded").toSorted((left, right) => right.updatedAt - left.updatedAt || left.title.localeCompare(right.title))
51
56
  };
52
57
  };
53
58
  export const projectWorkSnapshots = Effect.fn("HerdrWork.projectSnapshots")(function* (input, observedAt) {
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,EAEpB,aAAa,EAEd,MAAM,YAAY,CAAA;AAEnB,MAAM,YAAY,GAAG;IACnB,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK;IACzB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK;IAC9B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK;CACsB,CAAA;AAExD,MAAM,eAAe,GAAG,CACtB,MAAqC,EACrC,MAAc,EACd,KAAc,EACd,EAAE,CAAC,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEvD,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EACtE,KAAwC;IAExC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CACjF,CAAC,KAAK,CAAC,CAAC,IAAI,CACX,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC,CACxG,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IACpF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,iBAAiB,EAAE,cAAc,KAAK,CAAC,OAAO,wBAAwB,EAAE,KAAK,CAAC,CAAA;QAC9G,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,CAAC,UAAU,EAAE,CAAA;QAC3D,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,eAAe,CAC3B,sBAAsB,EACtB,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,oCAAoC,KAAK,CAAC,UAAU,EAAE,EAC3E,KAAK,CACN,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACtB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5E,OAAO,KAAK,CAAC,CAAC,eAAe,CAC3B,sBAAsB,EACtB,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,iCAAiC,EACtD,KAAK,CACN,CAAA;QACH,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC,CAAC,eAAe,CAC3B,sBAAsB,EACtB,QAAQ,MAAM,8CAA8C,EAC5D,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACrD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,WAAW,CAAA;IACxD,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,CACjB,MAAyC,EACzC,UAAkB,EAClB,MAA0B,EACZ,EAAE;IAChB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACzF,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC;IACD,OAAO;QACL,MAAM;QACN,UAAU;QACV,IAAI;QACJ,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,CAC3F,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAC3F;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EACnF,KAAwC,EACxC,UAAkB;IAElB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CACnG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC,CAAC,CAC3G,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC5C,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACtD,UAAU,EAAE,SAAS;QACrB,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QACzC,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QACzC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;QAC3C,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;KAC9C,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAC,CACvG,CAAA;AACH,CAAC,CAAC,CAAA"}
package/dist/service.d.ts CHANGED
@@ -42,6 +42,10 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
42
42
  readonly agentId: string;
43
43
  readonly url: string;
44
44
  } | null;
45
+ readonly goalFamily?: {
46
+ readonly canonicalGoalId: string;
47
+ readonly role: "canonical" | "superseded";
48
+ };
45
49
  readonly agentHierarchy?: {
46
50
  readonly agent: {
47
51
  readonly host: string;
@@ -122,6 +126,10 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
122
126
  readonly agentId: string;
123
127
  readonly url: string;
124
128
  } | null;
129
+ readonly goalFamily?: {
130
+ readonly canonicalGoalId: string;
131
+ readonly role: "canonical" | "superseded";
132
+ };
125
133
  readonly agentHierarchy?: {
126
134
  readonly agent: {
127
135
  readonly host: string;
@@ -202,6 +210,10 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
202
210
  readonly agentId: string;
203
211
  readonly url: string;
204
212
  } | null;
213
+ readonly goalFamily?: {
214
+ readonly canonicalGoalId: string;
215
+ readonly role: "canonical" | "superseded";
216
+ };
205
217
  readonly agentHierarchy?: {
206
218
  readonly agent: {
207
219
  readonly host: string;
@@ -282,6 +294,10 @@ export declare const makeWorkService: (store: WorkStoreService) => Effect.Effect
282
294
  readonly agentId: string;
283
295
  readonly url: string;
284
296
  } | null;
297
+ readonly goalFamily?: {
298
+ readonly canonicalGoalId: string;
299
+ readonly role: "canonical" | "superseded";
300
+ };
285
301
  readonly agentHierarchy?: {
286
302
  readonly agent: {
287
303
  readonly host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,kBAAkB,KACtB,MAAM,CAAC,MAAM,CAChB,kBAAkB,EAClB,2BAA2B,GAAG,mBAAmB,GAAG,cAAc,CACnE,CAAA;IACD,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAA;CAChH;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAO1B,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,kBAAkB,KACtB,MAAM,CAAC,MAAM,CAChB,kBAAkB,EAClB,2BAA2B,GAAG,mBAAmB,GAAG,cAAc,CACnE,CAAA;IACD,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAA;CAChH;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAO1B,CAAA"}
package/dist/store.d.ts CHANGED
@@ -43,6 +43,10 @@ export declare class WorkStore implements WorkStoreService {
43
43
  readonly agentId: string;
44
44
  readonly url: string;
45
45
  } | null;
46
+ readonly goalFamily?: {
47
+ readonly canonicalGoalId: string;
48
+ readonly role: "canonical" | "superseded";
49
+ };
46
50
  readonly agentHierarchy?: {
47
51
  readonly agent: {
48
52
  readonly host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,IAAI,sBAAsB,EAGlD,MAAM,YAAY,CAAA;AAyDnB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,sBAAsB,KAC1B,MAAM,CAAC,MAAM,CAChB,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,cAAc,CACnE,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,cAAc,CAAC,CAAA;CAC1F;AAED,qBAAa,SAAU,YAAW,gBAAgB;;IAGhD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,OAAO,eAmBN;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,gGAgBlB;IAEF,QAAQ,CAAC,MAAM,+JA4Hb;IAEF,QAAQ,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCASX;IAEF,OAAO,CAAC,WAAW;IAiBnB,KAAK,IAAI,IAAI,CAEZ;CACF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,UAAU,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAA;AAEhE,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE9F,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,IAAI,sBAAsB,EAGlD,MAAM,YAAY,CAAA;AAsDnB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,sBAAsB,KAC1B,MAAM,CAAC,MAAM,CAChB,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,cAAc,CACnE,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,cAAc,CAAC,CAAA;CAC1F;AAED,qBAAa,SAAU,YAAW,gBAAgB;;IAGhD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,OAAO,eAmBN;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,gGAgBlB;IAEF,QAAQ,CAAC,MAAM,+JA6Hb;IAEF,QAAQ,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCASX;IAEF,OAAO,CAAC,WAAW;IAiBnB,KAAK,IAAI,IAAI,CAEZ;CACF"}
package/dist/store.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { fleetResponseBodyMaxBytes } from "@knpkv/herdr-fleet";
2
- import { Effect, FileSystem, Path, Schema } from "effect";
2
+ import { Effect, Equal, FileSystem, Path, Schema } from "effect";
3
3
  import { DatabaseSync } from "node:sqlite";
4
4
  import { WorkCheckpointConflictError, WorkProjectionError, WorkStoreError } from "./errors.js";
5
+ import { validateGoalFamilyHistory } from "./goal-family.js";
5
6
  import { WorkGoalCheckpoint, workHistoryMaxEvents, workSnapshotMaxGoals } from "./model.js";
6
7
  const StoredEventRow = Schema.Struct({ record: Schema.String });
7
8
  const StoredEventRows = Schema.Array(StoredEventRow);
@@ -31,7 +32,6 @@ const decodeRow = (row) => Schema.decodeUnknownEffect(StoredEventRow)(row).pipe(
31
32
  try: () => Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(record)),
32
33
  catch: storeError("decode.event")
33
34
  })));
34
- const encodeEvent = (event) => JSON.stringify(Schema.encodeSync(WorkGoalCheckpoint)(event));
35
35
  export class WorkStore {
36
36
  #database;
37
37
  #fileSystem;
@@ -72,7 +72,7 @@ export class WorkStore {
72
72
  });
73
73
  append = Effect.fn("WorkStore.append")(function* (event) {
74
74
  const decoded = yield* Schema.decodeUnknownEffect(WorkGoalCheckpoint)(event).pipe(Effect.mapError(storeError("append.decode")));
75
- const inserted = yield* Effect.try({
75
+ const decision = yield* Effect.try({
76
76
  try: () => {
77
77
  let transaction = false;
78
78
  try {
@@ -83,16 +83,15 @@ export class WorkStore {
83
83
  transaction = false;
84
84
  return { _tag: "rejected", error };
85
85
  };
86
- const existingRows = this.#database.prepare(`SELECT record FROM work_goal_events
87
- WHERE event_id = ? OR (goal_id = ? AND occurred_at = ?)`).all(decoded.eventId, decoded.goal.id, decoded.occurredAt);
88
- if (existingRows.length > 0) {
89
- const encoded = encodeEvent(decoded);
90
- const existingEvents = Schema.decodeUnknownSync(StoredEventRows)(existingRows).map(({ record }) => Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(record)));
91
- const existingEvent = existingEvents[0];
92
- if (existingEvents.length === 1 && existingEvent !== undefined && encodeEvent(existingEvent) === encoded) {
86
+ const collisions = Schema.decodeUnknownSync(StoredEventRows)(this.#database
87
+ .prepare(`SELECT record FROM work_goal_events
88
+ WHERE event_id = ? OR (goal_id = ? AND occurred_at = ?)`)
89
+ .all(decoded.eventId, decoded.goal.id, decoded.occurredAt)).map(({ record }) => Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(record)));
90
+ if (collisions.length > 0) {
91
+ if (collisions.every((existing) => Equal.equals(existing, decoded))) {
93
92
  this.#database.exec("ROLLBACK");
94
93
  transaction = false;
95
- return { _tag: "replayed", event: existingEvent };
94
+ return { _tag: "replayed", event: decoded };
96
95
  }
97
96
  return reject(new WorkCheckpointConflictError({
98
97
  eventId: decoded.eventId,
@@ -109,6 +108,9 @@ export class WorkStore {
109
108
  }));
110
109
  }
111
110
  const history = Schema.decodeUnknownSync(StoredEventRows)(this.#database.prepare("SELECT record FROM work_goal_events").all()).map(({ record }) => Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(record)));
111
+ const familyError = validateGoalFamilyHistory([...history, decoded]);
112
+ if (familyError !== undefined)
113
+ return reject(familyError);
112
114
  if (maximumSnapshotBytes(history, decoded) > fleetResponseBodyMaxBytes) {
113
115
  return reject(new WorkProjectionError({
114
116
  cause: decoded,
@@ -144,7 +146,7 @@ export class WorkStore {
144
146
  }));
145
147
  }
146
148
  }
147
- const result = this.#database.prepare("INSERT INTO work_goal_events (event_id, goal_id, occurred_at, record) VALUES (?, ?, ?, ?)").run(decoded.eventId, decoded.goal.id, decoded.occurredAt, encodeEvent(decoded));
149
+ const result = this.#database.prepare("INSERT INTO work_goal_events (event_id, goal_id, occurred_at, record) VALUES (?, ?, ?, ?)").run(decoded.eventId, decoded.goal.id, decoded.occurredAt, JSON.stringify(decoded));
148
150
  this.#database.exec("COMMIT");
149
151
  transaction = false;
150
152
  return { _tag: "inserted", changes: result.changes };
@@ -157,12 +159,12 @@ export class WorkStore {
157
159
  },
158
160
  catch: storeError("append.insert")
159
161
  });
160
- if (inserted._tag === "rejected")
161
- return yield* inserted.error;
162
- if (inserted._tag === "replayed")
163
- return inserted.event;
164
- if (inserted.changes !== 1 && inserted.changes !== 1n) {
165
- return yield* storeError("append.insert.count")(inserted.changes);
162
+ if (decision._tag === "rejected")
163
+ return yield* decision.error;
164
+ if (decision._tag === "replayed")
165
+ return decision.event;
166
+ if (decision.changes !== 1 && decision.changes !== 1n) {
167
+ return yield* storeError("append.insert.count")(decision.changes);
166
168
  }
167
169
  yield* this.secureFiles();
168
170
  return decoded;
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/view.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import { type ReactElement } from "react";
2
- import type { WorkSnapshots } from "./model.js";
3
- export declare const WorkBoard: ({ snapshots }: {
2
+ import type { WorkSnapshots, WorkSnapshotWindow } from "./model.js";
3
+ export declare const WorkBoard: ({ externalLinks, initialGoalId, initialWindow, navigation, snapshots }: {
4
4
  readonly snapshots: WorkSnapshots;
5
+ readonly externalLinks?: "disabled" | "enabled";
6
+ readonly initialGoalId?: string | null;
7
+ readonly initialWindow?: WorkSnapshotWindow;
8
+ readonly navigation?: (selection: {
9
+ readonly goalId: string | null;
10
+ readonly window: WorkSnapshotWindow;
11
+ }) => string;
5
12
  }) => ReactElement;
6
13
  //# sourceMappingURL=view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,KAAK,EAQV,aAAa,EAGd,MAAM,YAAY,CAAA;AA6HnB,eAAO,MAAM,SAAS,kBAAmB;IAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;CAAE,KAAG,YA2ShF,CAAA"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,KAAK,EAQV,aAAa,EACb,kBAAkB,EAEnB,MAAM,YAAY,CAAA;AA6HnB,eAAO,MAAM,SAAS,2EAMnB;IACD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,CAAA;CACrH,KAAG,YAuVH,CAAA"}
package/dist/view.js CHANGED
@@ -84,10 +84,10 @@ const stagesFor = (goal) => {
84
84
  };
85
85
  const SummaryCell = ({ label, value }) => (_jsxs(Surface, { className: "work-summary-cell", padding: "compact", tone: "secondary", children: [_jsx(Text, { tone: "secondary", variant: "meta", children: label }), _jsx(Text, { as: "span", variant: "card-title", children: value })] }));
86
86
  const snapshotFor = (snapshots, window) => snapshots[window];
87
- export const WorkBoard = ({ snapshots }) => {
88
- const [window, setWindow] = useState("now");
87
+ export const WorkBoard = ({ externalLinks = "enabled", initialGoalId, initialWindow = "now", navigation, snapshots }) => {
88
+ const [window, setWindow] = useState(initialWindow);
89
89
  const snapshot = snapshotFor(snapshots, window);
90
- const [selectedId, setSelectedId] = useState(snapshot.goals[0]?.id ?? null);
90
+ const [selectedId, setSelectedId] = useState(initialGoalId ?? snapshot.goals[0]?.id ?? null);
91
91
  const selected = snapshot.goals.find(({ id }) => id === selectedId) ?? null;
92
92
  const counts = {
93
93
  blocked: snapshot.goals.filter(({ state }) => state === "blocked").length,
@@ -96,8 +96,10 @@ export const WorkBoard = ({ snapshots }) => {
96
96
  review: snapshot.goals.filter(({ state }) => state === "review").length,
97
97
  working: snapshot.goals.filter(({ state }) => state === "working").length
98
98
  };
99
- return (_jsxs("section", { className: "work-page", "aria-labelledby": "work-board-title", children: [_jsxs("header", { className: "work-page-intro", children: [_jsxs("div", { children: [_jsx(Text, { as: "h1", id: "work-board-title", variant: "page-title", children: "Daily fleet Work" }), _jsx(Text, { tone: "secondary", variant: "body-large", children: "One durable view of who owns the work, what is blocked, and what ships next." })] }), _jsxs("div", { className: "work-snapshot-stamp", children: [_jsx(Text, { tone: "secondary", variant: "meta", children: "Durable snapshot" }), _jsx(Text, { variant: "code", children: formatTimestamp(snapshot.asOf) })] })] }), _jsxs(Surface, { className: "work-time-travel", padding: "compact", tone: "secondary", children: [_jsxs("div", { className: "work-time-heading", children: [_jsxs("div", { children: [_jsx(Text, { as: "h2", variant: "card-title", children: "Time travel" }), _jsx(Text, { tone: "secondary", variant: "meta", children: "Checkpoint events only. Missing history stays absent." })] }), _jsx(StateLabel, { label: window === "now" ? "Live" : "Historical", tone: window === "now" ? "positive" : "neutral" })] }), _jsx("div", { "aria-label": "Choose work snapshot", className: "work-time-controls", role: "group", children: windows.map((option) => (_jsx(Button, { "aria-pressed": window === option, onClick: () => setWindow(option), variant: window === option ? "primary" : "secondary", children: windowLabel[option] }, option))) })] }), _jsxs("div", { className: "work-summary-grid", "aria-label": "Work summary", children: [_jsx(SummaryCell, { label: "Goals", value: String(snapshot.goals.length) }), _jsx(SummaryCell, { label: "Working", value: String(counts.working) }), _jsx(SummaryCell, { label: "Blocked", value: String(counts.blocked) }), _jsx(SummaryCell, { label: "Open requests", value: String(counts.openRequests) }), _jsx(SummaryCell, { label: "In review", value: String(counts.review) }), _jsx(SummaryCell, { label: "Deployed", value: String(counts.deployed) })] }), snapshot.goals.length === 0 ? (_jsxs(Surface, { padding: "spacious", tone: "secondary", children: [_jsx(Text, { as: "h2", variant: "card-title", children: "No goals at this checkpoint" }), _jsx(Text, { tone: "secondary", children: "Record a WorkGoalCheckpoint to add durable work state." })] })) : (_jsxs("div", { className: "work-board-layout", children: [_jsxs(Surface, { className: "work-departure-board", padding: "none", tone: "secondary", children: [_jsxs("div", { className: "work-board-head", "aria-hidden": "true", children: [_jsx("span", { children: "Status" }), _jsx("span", { children: "Work" }), _jsx("span", { children: "Owner" }), _jsx("span", { children: "Agent / host" }), _jsx("span", { children: "Repository" }), _jsx("span", { children: "Shipment" }), _jsx("span", { children: "Spend" })] }), snapshot.goals.map((goal) => (_jsxs("button", { "aria-pressed": selected?.id === goal.id, className: "work-board-row", onClick: () => setSelectedId(goal.id), type: "button", children: [_jsx(StateLabel, { label: statePresentation[goal.state].label, size: "compact", tone: statePresentation[goal.state].tone }), _jsxs("span", { className: "work-board-copy", children: [_jsx(Text, { as: "strong", variant: "label", children: goal.title }), _jsx(Text, { tone: "secondary", variant: "meta", children: goal.summary })] }), _jsx(Text, { "data-label": "Owner", children: goal.owner.name }), _jsxs("span", { className: "work-board-copy", "data-label": "Agent / host", children: [_jsx(Text, { children: hierarchyLabel(goal) }), goal.agentHierarchy?.agent.relationship === undefined ? null : (_jsxs(Text, { tone: "secondary", variant: "meta", children: [goal.agentHierarchy.agent.relationship.relation, " \u00B7", " ", goal.agentHierarchy.agent.relationship.parentAgentId] }))] }), _jsxs("span", { className: "work-board-copy", "data-label": "Repository", children: [_jsx(Text, { variant: "code", children: goal.repository.repository }), _jsx(Text, { tone: "secondary", variant: "meta", children: goal.repository.branch })] }), _jsx(Text, { "data-label": "Shipment", children: deliveryLabel[goal.delivery] }), _jsx(Text, { "data-label": "Spend", variant: "code", children: formatSpend(goal) })] }, goal.id)))] }), selected === null ? null : (_jsxs(Surface, { as: "aside", className: "work-inspector", padding: "spacious", children: [_jsx(StateLabel, { label: statePresentation[selected.state].label, tone: statePresentation[selected.state].tone }), _jsx(Text, { as: "h2", variant: "section-title", children: selected.title }), _jsx(Text, { tone: "secondary", children: selected.detail }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Agent hierarchy" }), selected.agentHierarchy === undefined || selected.agentHierarchy === null ? (_jsx(Text, { tone: "secondary", children: "No authoritative agent assignment recorded." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { children: [selected.agentHierarchy.agent.host, " / ", selected.agentHierarchy.agent.name] }), _jsx(Text, { tone: "secondary", variant: "code", children: selected.agentHierarchy.agent.agentId }), selected.agentHierarchy.agent.relationship === undefined ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Fleet root agent" })) : (_jsxs(Text, { tone: "secondary", variant: "meta", children: [selected.agentHierarchy.agent.relationship.relation, " from", " ", selected.agentHierarchy.agent.relationship.parentAgentId] }))] }))] }), _jsx(Divider, {}), _jsxs("dl", { className: "work-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "Owner" }), _jsx("dd", { children: selected.owner.name })] }), _jsxs("div", { children: [_jsx("dt", { children: "Repository" }), _jsx("dd", { children: selected.repository.repository })] }), _jsxs("div", { children: [_jsx("dt", { children: "Branch" }), _jsx("dd", { children: selected.repository.branch })] }), _jsxs("div", { children: [_jsx("dt", { children: "Shipment stage" }), _jsx("dd", { children: deliveryLabel[selected.delivery] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Spend" }), _jsx("dd", { children: formatSpend(selected) })] })] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Blockers" }), blockersFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "No blockers recorded." })) : (blockersFor(selected).map((blocker) => (_jsxs(Surface, { padding: "compact", tone: "secondary", children: [_jsxs(Text, { variant: "meta", tone: "secondary", children: ["Since ", formatTimestamp(blocker.since)] }), _jsx(Text, { children: blocker.summary })] }, `${blocker.since}-${blocker.summary}`))))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Activity" }), selected.activity === undefined ? (_jsx(Text, { tone: "secondary", children: "No activity recorded." })) : activityFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "Activity is clear." })) : (_jsx("ul", { className: "work-detail-list", children: activityFor(selected).map((entry) => (_jsxs("li", { children: [_jsxs(Text, { variant: "meta", tone: "secondary", children: [entry.kind, " \u00B7 ", formatTimestamp(entry.occurredAt)] }), _jsx(Text, { children: entry.summary })] }, entry.id))) }))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Requests" }), selected.requests === undefined ? (_jsx(Text, { tone: "secondary", children: "No requests recorded." })) : requestsFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "No outstanding requests." })) : (_jsx("ul", { className: "work-detail-list", children: requestsFor(selected).map((request) => (_jsxs("li", { children: [_jsxs("div", { className: "work-request-heading", children: [_jsx(Text, { children: request.summary }), _jsx(StateLabel, { label: requestPresentation[request.state].label, size: "compact", tone: requestPresentation[request.state].tone })] }), request.approvalTarget === null ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "No approval link recorded." })) : (exactLink(request.approvalTarget, `Open ${request.approvalTarget.host} approval`))] }, request.id))) }))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Review" }), _jsxs("div", { className: "work-review-heading", children: [reviewLabel(selected.review), selected.review?.url === null || selected.review?.url === undefined
100
- ? null
101
- : reviewLink(selected.review.url)] }), selected.review?.summary === null || selected.review?.summary === undefined ? null : (_jsx(Text, { tone: "secondary", children: selected.review.summary }))] }), selected.connectTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact Connect target recorded." })) : (_jsx("a", { className: "work-connect-link", href: selected.connectTarget.url, children: "Open exact agent in Connect \u2192" })), selected.approvalTarget === undefined || selected.approvalTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact approval target recorded." })) : (exactLink(selected.approvalTarget, `Open ${selected.approvalTarget.host} approval`))] }))] })), selected === null ? null : (_jsx(Surface, { className: "work-delivery-evidence", padding: "spacious", children: _jsx(StageRail, { heading: `Shipment path · ${selected.title}`, stages: stagesFor(selected) }) }))] }));
99
+ return (_jsxs("section", { className: "work-page", "aria-labelledby": "work-board-title", children: [_jsxs("header", { className: "work-page-intro", children: [_jsxs("div", { children: [_jsx(Text, { as: "h1", id: "work-board-title", variant: "page-title", children: "Daily fleet Work" }), _jsx(Text, { tone: "secondary", variant: "body-large", children: "One durable view of who owns the work, what is blocked, and what ships next." })] }), _jsxs("div", { className: "work-snapshot-stamp", children: [_jsx(Text, { tone: "secondary", variant: "meta", children: "Durable snapshot" }), _jsx(Text, { variant: "code", children: formatTimestamp(snapshot.asOf) })] })] }), _jsxs(Surface, { className: "work-time-travel", padding: "compact", tone: "secondary", children: [_jsxs("div", { className: "work-time-heading", children: [_jsxs("div", { children: [_jsx(Text, { as: "h2", variant: "card-title", children: "Time travel" }), _jsx(Text, { tone: "secondary", variant: "meta", children: "Checkpoint events only. Missing history stays absent." })] }), _jsx(StateLabel, { label: window === "now" ? "Live" : "Historical", tone: window === "now" ? "positive" : "neutral" })] }), _jsx("div", { "aria-label": "Choose work snapshot", className: "work-time-controls", role: "group", children: windows.map((option) => navigation === undefined ? (_jsx(Button, { "aria-pressed": window === option, onClick: () => setWindow(option), variant: window === option ? "primary" : "secondary", children: windowLabel[option] }, option)) : (_jsx("a", { "aria-current": window === option ? "page" : undefined, className: "work-time-link", href: navigation({ goalId: null, window: option }), children: windowLabel[option] }, option))) })] }), _jsxs("div", { className: "work-summary-grid", "aria-label": "Work summary", children: [_jsx(SummaryCell, { label: "Goals", value: String(snapshot.goals.length) }), _jsx(SummaryCell, { label: "Working", value: String(counts.working) }), _jsx(SummaryCell, { label: "Blocked", value: String(counts.blocked) }), _jsx(SummaryCell, { label: "Open requests", value: String(counts.openRequests) }), _jsx(SummaryCell, { label: "In review", value: String(counts.review) }), _jsx(SummaryCell, { label: "Deployed", value: String(counts.deployed) })] }), snapshot.goals.length === 0 ? (_jsxs(Surface, { padding: "spacious", tone: "secondary", children: [_jsx(Text, { as: "h2", variant: "card-title", children: "No goals at this checkpoint" }), _jsx(Text, { tone: "secondary", children: "Record a WorkGoalCheckpoint to add durable work state." })] })) : (_jsxs("div", { className: "work-board-layout", children: [_jsxs(Surface, { className: "work-departure-board", padding: "none", tone: "secondary", children: [_jsxs("div", { className: "work-board-head", "aria-hidden": "true", children: [_jsx("span", { children: "Status" }), _jsx("span", { children: "Work" }), _jsx("span", { children: "Owner" }), _jsx("span", { children: "Agent / host" }), _jsx("span", { children: "Repository" }), _jsx("span", { children: "Shipment" }), _jsx("span", { children: "Spend" })] }), snapshot.goals.map((goal) => {
100
+ const row = (_jsxs(_Fragment, { children: [_jsx(StateLabel, { label: statePresentation[goal.state].label, size: "compact", tone: statePresentation[goal.state].tone }), _jsxs("span", { className: "work-board-copy", children: [_jsx(Text, { as: "strong", variant: "label", children: goal.title }), _jsx(Text, { tone: "secondary", variant: "meta", children: goal.summary })] }), _jsx(Text, { "data-label": "Owner", children: goal.owner.name }), _jsxs("span", { className: "work-board-copy", "data-label": "Agent / host", children: [_jsx(Text, { children: hierarchyLabel(goal) }), goal.agentHierarchy?.agent.relationship === undefined ? null : (_jsxs(Text, { tone: "secondary", variant: "meta", children: [goal.agentHierarchy.agent.relationship.relation, " \u00B7", " ", goal.agentHierarchy.agent.relationship.parentAgentId] }))] }), _jsxs("span", { className: "work-board-copy", "data-label": "Repository", children: [_jsx(Text, { variant: "code", children: goal.repository.repository }), _jsx(Text, { tone: "secondary", variant: "meta", children: goal.repository.branch })] }), _jsx(Text, { "data-label": "Shipment", children: deliveryLabel[goal.delivery] }), _jsx(Text, { "data-label": "Spend", variant: "code", children: formatSpend(goal) })] }));
101
+ return navigation === undefined ? (_jsx("button", { "aria-pressed": selected?.id === goal.id, className: "work-board-row", onClick: () => setSelectedId(goal.id), type: "button", children: row }, goal.id)) : (_jsx("a", { "aria-current": selected?.id === goal.id ? "true" : undefined, className: "work-board-row", href: navigation({ goalId: goal.id, window }), children: row }, goal.id));
102
+ })] }), selected === null ? null : (_jsxs(Surface, { as: "aside", className: "work-inspector", padding: "spacious", children: [_jsx(StateLabel, { label: statePresentation[selected.state].label, tone: statePresentation[selected.state].tone }), _jsx(Text, { as: "h2", variant: "section-title", children: selected.title }), _jsx(Text, { tone: "secondary", children: selected.detail }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Agent hierarchy" }), selected.agentHierarchy === undefined || selected.agentHierarchy === null ? (_jsx(Text, { tone: "secondary", children: "No authoritative agent assignment recorded." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { children: [selected.agentHierarchy.agent.host, " / ", selected.agentHierarchy.agent.name] }), _jsx(Text, { tone: "secondary", variant: "code", children: selected.agentHierarchy.agent.agentId }), selected.agentHierarchy.agent.relationship === undefined ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Fleet root agent" })) : (_jsxs(Text, { tone: "secondary", variant: "meta", children: [selected.agentHierarchy.agent.relationship.relation, " from", " ", selected.agentHierarchy.agent.relationship.parentAgentId] }))] }))] }), _jsx(Divider, {}), _jsxs("dl", { className: "work-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "Owner" }), _jsx("dd", { children: selected.owner.name })] }), _jsxs("div", { children: [_jsx("dt", { children: "Repository" }), _jsx("dd", { children: selected.repository.repository })] }), _jsxs("div", { children: [_jsx("dt", { children: "Branch" }), _jsx("dd", { children: selected.repository.branch })] }), _jsxs("div", { children: [_jsx("dt", { children: "Shipment stage" }), _jsx("dd", { children: deliveryLabel[selected.delivery] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Spend" }), _jsx("dd", { children: formatSpend(selected) })] })] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Blockers" }), blockersFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "No blockers recorded." })) : (blockersFor(selected).map((blocker) => (_jsxs(Surface, { padding: "compact", tone: "secondary", children: [_jsxs(Text, { variant: "meta", tone: "secondary", children: ["Since ", formatTimestamp(blocker.since)] }), _jsx(Text, { children: blocker.summary })] }, `${blocker.since}-${blocker.summary}`))))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Activity" }), selected.activity === undefined ? (_jsx(Text, { tone: "secondary", children: "No activity recorded." })) : activityFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "Activity is clear." })) : (_jsx("ul", { className: "work-detail-list", children: activityFor(selected).map((entry) => (_jsxs("li", { children: [_jsxs(Text, { variant: "meta", tone: "secondary", children: [entry.kind, " \u00B7 ", formatTimestamp(entry.occurredAt)] }), _jsx(Text, { children: entry.summary })] }, entry.id))) }))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Requests" }), selected.requests === undefined ? (_jsx(Text, { tone: "secondary", children: "No requests recorded." })) : requestsFor(selected).length === 0 ? (_jsx(Text, { tone: "secondary", children: "No outstanding requests." })) : (_jsx("ul", { className: "work-detail-list", children: requestsFor(selected).map((request) => (_jsxs("li", { children: [_jsxs("div", { className: "work-request-heading", children: [_jsx(Text, { children: request.summary }), _jsx(StateLabel, { label: requestPresentation[request.state].label, size: "compact", tone: requestPresentation[request.state].tone })] }), request.approvalTarget === null ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "No approval link recorded." })) : externalLinks === "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Approval target recorded." })) : (exactLink(request.approvalTarget, `Open ${request.approvalTarget.host} approval`))] }, request.id))) }))] }), _jsxs("div", { className: "work-inspector-section", children: [_jsx(Text, { as: "h3", variant: "label", children: "Review" }), _jsxs("div", { className: "work-review-heading", children: [reviewLabel(selected.review), selected.review?.url === null || selected.review?.url === undefined ? null : externalLinks ===
103
+ "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Review target recorded." })) : (reviewLink(selected.review.url))] }), selected.review?.summary === null || selected.review?.summary === undefined ? null : (_jsx(Text, { tone: "secondary", children: selected.review.summary }))] }), selected.connectTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact Connect target recorded." })) : externalLinks === "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Connect target recorded." })) : (_jsx("a", { className: "work-connect-link", href: selected.connectTarget.url, children: "Open exact agent in Connect \u2192" })), selected.approvalTarget === undefined || selected.approvalTarget === null ? (_jsx(Text, { tone: "secondary", children: "No exact approval target recorded." })) : externalLinks === "disabled" ? (_jsx(Text, { tone: "secondary", variant: "meta", children: "Approval target recorded." })) : (exactLink(selected.approvalTarget, `Open ${selected.approvalTarget.host} approval`))] }))] })), selected === null ? null : (_jsx(Surface, { className: "work-delivery-evidence", padding: "spacious", children: _jsx(StageRail, { heading: `Shipment path · ${selected.title}`, stages: stagesFor(selected) }) }))] }));
102
104
  };
103
105
  //# sourceMappingURL=view.js.map
package/dist/view.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knpkv/herdr-work",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Durable fleet work checkpoints and departure-board projections",
5
5
  "license": "MIT",
6
6
  "author": "knpkv",
@@ -44,8 +44,8 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "effect": "4.0.0-rc.109",
47
- "@knpkv/herdr-fleet": "^0.2.0",
48
- "@knpkv/rly": "^0.5.0"
47
+ "@knpkv/herdr-fleet": "^0.3.0",
48
+ "@knpkv/rly": "^0.5.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@effect/platform-node": "4.0.0-rc.109",