@knpkv/herdr-work 0.9.5 → 0.10.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 +4 -0
- package/dist/internal/agent-binding-admission.d.ts +0 -3
- package/dist/internal/agent-binding-admission.d.ts.map +1 -1
- package/dist/internal/agent-binding-admission.js +0 -59
- package/dist/internal/agent-binding-admission.js.map +1 -1
- package/dist/model.d.ts +112 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +44 -0
- package/dist/model.js.map +1 -1
- package/dist/projection.d.ts +41 -1
- package/dist/projection.d.ts.map +1 -1
- package/dist/projection.js +148 -17
- package/dist/projection.js.map +1 -1
- package/dist/store.d.ts +1 -6
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -51
- package/dist/store.js.map +1 -1
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +25 -8
- package/dist/view.js.map +1 -1
- package/dist/work-triage.d.ts +3 -3
- package/dist/work-triage.js +3 -3
- package/package.json +3 -3
package/dist/projection.d.ts
CHANGED
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { WorkProjectionError } from "./errors.js";
|
|
3
|
-
import { WorkGoalCheckpoint } from "./model.js";
|
|
3
|
+
import { WorkGoalCheckpoint, type WorkSnapshot, type WorkSnapshotWindow } from "./model.js";
|
|
4
|
+
/**
|
|
5
|
+
* The encoded size the projected goals may take: the Fleet response limit, less
|
|
6
|
+
* a quarter kept for the `now` window's observed facts and activity provenance,
|
|
7
|
+
* which are added on top and trim themselves to what is left.
|
|
8
|
+
*/
|
|
9
|
+
export declare const workSnapshotGoalBudgetBytes: number;
|
|
10
|
+
type Windows = {
|
|
11
|
+
readonly [W in WorkSnapshotWindow]: WorkSnapshot;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Drops whole goals until every window holds at most `workSnapshotMaxGoals`
|
|
15
|
+
* goals (counting superseded family members) and the windows together encode
|
|
16
|
+
* within `budgetBytes`. Finished goals leave first, the least recently updated
|
|
17
|
+
* first; family goals leave after every lone goal. Each window counts what it
|
|
18
|
+
* lost in `goalsOmitted`. Size is bounded here, at read time, so recording a
|
|
19
|
+
* goal never fails because the board has grown.
|
|
20
|
+
*/
|
|
21
|
+
export declare const boundWorkSnapshotWindows: (projected: Windows, budgetBytes: number) => Windows;
|
|
4
22
|
export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[], observedAt: number) => Effect.Effect<{
|
|
23
|
+
readonly version?: number;
|
|
5
24
|
readonly observedAt: number;
|
|
6
25
|
readonly now: {
|
|
7
26
|
readonly window: "day" | "month" | "now" | "week";
|
|
@@ -247,6 +266,11 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
|
|
|
247
266
|
readonly updatedAt: number;
|
|
248
267
|
}[];
|
|
249
268
|
}[];
|
|
269
|
+
readonly goalsOmitted?: number;
|
|
270
|
+
readonly finishedOmitted?: number;
|
|
271
|
+
readonly activityOmitted?: {
|
|
272
|
+
readonly [x: string]: number;
|
|
273
|
+
};
|
|
250
274
|
readonly observed?: readonly {
|
|
251
275
|
readonly pullRequest: {
|
|
252
276
|
readonly fact: {
|
|
@@ -537,6 +561,11 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
|
|
|
537
561
|
readonly updatedAt: number;
|
|
538
562
|
}[];
|
|
539
563
|
}[];
|
|
564
|
+
readonly goalsOmitted?: number;
|
|
565
|
+
readonly finishedOmitted?: number;
|
|
566
|
+
readonly activityOmitted?: {
|
|
567
|
+
readonly [x: string]: number;
|
|
568
|
+
};
|
|
540
569
|
readonly observed?: readonly {
|
|
541
570
|
readonly pullRequest: {
|
|
542
571
|
readonly fact: {
|
|
@@ -827,6 +856,11 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
|
|
|
827
856
|
readonly updatedAt: number;
|
|
828
857
|
}[];
|
|
829
858
|
}[];
|
|
859
|
+
readonly goalsOmitted?: number;
|
|
860
|
+
readonly finishedOmitted?: number;
|
|
861
|
+
readonly activityOmitted?: {
|
|
862
|
+
readonly [x: string]: number;
|
|
863
|
+
};
|
|
830
864
|
readonly observed?: readonly {
|
|
831
865
|
readonly pullRequest: {
|
|
832
866
|
readonly fact: {
|
|
@@ -1117,6 +1151,11 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
|
|
|
1117
1151
|
readonly updatedAt: number;
|
|
1118
1152
|
}[];
|
|
1119
1153
|
}[];
|
|
1154
|
+
readonly goalsOmitted?: number;
|
|
1155
|
+
readonly finishedOmitted?: number;
|
|
1156
|
+
readonly activityOmitted?: {
|
|
1157
|
+
readonly [x: string]: number;
|
|
1158
|
+
};
|
|
1120
1159
|
readonly observed?: readonly {
|
|
1121
1160
|
readonly pullRequest: {
|
|
1122
1161
|
readonly fact: {
|
|
@@ -1164,4 +1203,5 @@ export declare const projectWorkSnapshots: (input: readonly WorkGoalCheckpoint[]
|
|
|
1164
1203
|
readonly activityProvenanceOmitted?: number;
|
|
1165
1204
|
};
|
|
1166
1205
|
}, WorkProjectionError, never>;
|
|
1206
|
+
export {};
|
|
1167
1207
|
//# sourceMappingURL=projection.d.ts.map
|
package/dist/projection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAGL,kBAAkB,EAGlB,KAAK,YAAY,EAMjB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAuJnB;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAgD,CAAA;AAKxF,KAAK,OAAO,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,kBAAkB,GAAG,YAAY;CAAE,CAAA;AAgBnE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,cAAe,OAAO,eAAe,MAAM,KAAG,OAwFlF,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAwB/B,CAAA"}
|
package/dist/projection.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { fleetResponseBodyMaxBytes } from "@knpkv/herdr-fleet";
|
|
1
2
|
import { Effect, Schema } from "effect";
|
|
2
3
|
import { WorkProjectionError } from "./errors.js";
|
|
3
4
|
import { workHistoryError } from "./internal/history-validation.js";
|
|
4
|
-
import { WorkGoalCheckpoint, workHistoryMaxEvents, WorkSnapshots } from "./model.js";
|
|
5
|
+
import { isTerminalWorkState, WorkGoalCheckpoint, workHistoryMaxEvents, workSnapshotActivityMax, workSnapshotFinishedRetentionMs, workSnapshotMaxGoals, WorkSnapshots, workSnapshotsVersion } from "./model.js";
|
|
5
6
|
const windowOffset = {
|
|
6
7
|
now: 0,
|
|
7
8
|
day: 24 * 60 * 60 * 1_000,
|
|
@@ -61,12 +62,46 @@ const familiesFor = (latest) => {
|
|
|
61
62
|
compareString(left.canonical.title, right.canonical.title) ||
|
|
62
63
|
compareString(left.canonicalGoalId, right.canonicalGoalId));
|
|
63
64
|
};
|
|
65
|
+
/** The goal with only its `workSnapshotActivityMax` most recent activities, and how many it lost. */
|
|
66
|
+
const recentActivity = (goal) => {
|
|
67
|
+
const activity = goal.activity;
|
|
68
|
+
if (activity === undefined || activity.length <= workSnapshotActivityMax)
|
|
69
|
+
return { goal, omitted: 0 };
|
|
70
|
+
const kept = new Set(activity
|
|
71
|
+
.toSorted((left, right) => right.occurredAt - left.occurredAt || compareString(right.id, left.id))
|
|
72
|
+
.slice(0, workSnapshotActivityMax)
|
|
73
|
+
.map(({ id }) => id));
|
|
74
|
+
return {
|
|
75
|
+
goal: { ...goal, activity: activity.filter(({ id }) => kept.has(id)) },
|
|
76
|
+
omitted: activity.length - workSnapshotActivityMax
|
|
77
|
+
};
|
|
78
|
+
};
|
|
64
79
|
const snapshotAt = (events, observedAt, window) => {
|
|
65
80
|
const asOf = Math.max(0, observedAt - windowOffset[window]);
|
|
66
|
-
const
|
|
81
|
+
const recorded = new Map();
|
|
67
82
|
for (const event of events.toSorted((left, right) => left.occurredAt - right.occurredAt)) {
|
|
68
83
|
if (event.occurredAt <= asOf)
|
|
69
|
-
|
|
84
|
+
recorded.set(event.goal.id, event.goal);
|
|
85
|
+
}
|
|
86
|
+
// A goal that finished more than a day before this window's time has left it; the window counts it. A family
|
|
87
|
+
// leaves only as a whole: a canonical goal stays, with its group, while any goal it superseded is still open or
|
|
88
|
+
// recently finished, so no open goal leaves with it. A family that leaves counts once, as its canonical goal.
|
|
89
|
+
const doneLongAgo = (goal) => isTerminalWorkState(goal.state) && asOf - goal.updatedAt > workSnapshotFinishedRetentionMs;
|
|
90
|
+
const familiesStillOpen = new Set([...recorded.values()].flatMap((goal) => goal.goalFamily?.role === "superseded" && !doneLongAgo(goal) ? [goal.goalFamily.canonicalGoalId] : []));
|
|
91
|
+
const finishedLongAgo = (goal) => goal.goalFamily?.role !== "superseded" && doneLongAgo(goal) && !familiesStillOpen.has(goal.id);
|
|
92
|
+
// Activity is trimmed here, before families are built, so a group's canonical stays equal to its listed goal.
|
|
93
|
+
const latest = new Map();
|
|
94
|
+
const activityOmitted = new Map();
|
|
95
|
+
let finishedOmitted = 0;
|
|
96
|
+
for (const [id, goal] of recorded) {
|
|
97
|
+
if (finishedLongAgo(goal)) {
|
|
98
|
+
finishedOmitted += 1;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const recent = recentActivity(goal);
|
|
102
|
+
latest.set(id, recent.goal);
|
|
103
|
+
if (recent.omitted > 0)
|
|
104
|
+
activityOmitted.set(id, recent.omitted);
|
|
70
105
|
}
|
|
71
106
|
const families = familiesFor(latest);
|
|
72
107
|
const goals = [...latest.values()]
|
|
@@ -74,31 +109,127 @@ const snapshotAt = (events, observedAt, window) => {
|
|
|
74
109
|
.toSorted((left, right) => right.updatedAt - left.updatedAt ||
|
|
75
110
|
compareString(left.title, right.title) ||
|
|
76
111
|
compareString(left.id, right.id));
|
|
77
|
-
|
|
112
|
+
const listed = { window, observedAt, asOf, goals };
|
|
113
|
+
const grouped = families.length > 0 ? { ...listed, families } : listed;
|
|
114
|
+
const counted = finishedOmitted > 0 ? { ...grouped, finishedOmitted } : grouped;
|
|
115
|
+
return activityOmitted.size > 0 ? { ...counted, activityOmitted: Object.fromEntries(activityOmitted) } : counted;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* The encoded size the projected goals may take: the Fleet response limit, less
|
|
119
|
+
* a quarter kept for the `now` window's observed facts and activity provenance,
|
|
120
|
+
* which are added on top and trim themselves to what is left.
|
|
121
|
+
*/
|
|
122
|
+
export const workSnapshotGoalBudgetBytes = Math.floor(fleetResponseBodyMaxBytes * 3 / 4);
|
|
123
|
+
const utf8 = new TextEncoder();
|
|
124
|
+
const windows = ["now", "day", "week", "month"];
|
|
125
|
+
const encodedBytes = (value) => utf8.encode(JSON.stringify(value)).byteLength;
|
|
126
|
+
/**
|
|
127
|
+
* Drops whole goals until every window holds at most `workSnapshotMaxGoals`
|
|
128
|
+
* goals (counting superseded family members) and the windows together encode
|
|
129
|
+
* within `budgetBytes`. Finished goals leave first, the least recently updated
|
|
130
|
+
* first; family goals leave after every lone goal. Each window counts what it
|
|
131
|
+
* lost in `goalsOmitted`. Size is bounded here, at read time, so recording a
|
|
132
|
+
* goal never fails because the board has grown.
|
|
133
|
+
*/
|
|
134
|
+
export const boundWorkSnapshotWindows = (projected, budgetBytes) => {
|
|
135
|
+
const latest = new Map();
|
|
136
|
+
const familyIds = new Set();
|
|
137
|
+
for (const window of windows) {
|
|
138
|
+
for (const goal of projected[window].goals) {
|
|
139
|
+
const seen = latest.get(goal.id);
|
|
140
|
+
if (seen === undefined || seen.updatedAt < goal.updatedAt)
|
|
141
|
+
latest.set(goal.id, goal);
|
|
142
|
+
}
|
|
143
|
+
for (const group of projected[window].families ?? [])
|
|
144
|
+
familyIds.add(group.canonicalGoalId);
|
|
145
|
+
}
|
|
146
|
+
const units = [...latest.values()]
|
|
147
|
+
.map((goal) => ({ goalId: goal.id, terminal: isTerminalWorkState(goal.state), updatedAt: goal.updatedAt }))
|
|
148
|
+
.toSorted((left, right) => Number(familyIds.has(left.goalId)) - Number(familyIds.has(right.goalId)) ||
|
|
149
|
+
Number(right.terminal) - Number(left.terminal) ||
|
|
150
|
+
left.updatedAt - right.updatedAt ||
|
|
151
|
+
compareString(left.goalId, right.goalId));
|
|
152
|
+
const without = (omitted) => {
|
|
153
|
+
const bound = (snapshot) => {
|
|
154
|
+
const { activityOmitted, families, goalsOmitted: _previous, ...rest } = snapshot;
|
|
155
|
+
const goals = snapshot.goals.filter(({ id }) => !omitted.has(id));
|
|
156
|
+
const kept = (families ?? []).filter(({ canonicalGoalId }) => !omitted.has(canonicalGoalId));
|
|
157
|
+
const lost = snapshot.goals.length - goals.length;
|
|
158
|
+
// A goal that left takes its activity count with it, and so does a group that left with its canonical goal.
|
|
159
|
+
const present = new Set([
|
|
160
|
+
...goals.map(({ id }) => id),
|
|
161
|
+
...kept.flatMap(({ superseded }) => superseded.map(({ id }) => id))
|
|
162
|
+
]);
|
|
163
|
+
const counts = Object.entries(activityOmitted ?? {}).filter(([id]) => present.has(id));
|
|
164
|
+
const base = { ...rest, goals };
|
|
165
|
+
const grouped = kept.length > 0 ? { ...base, families: kept } : base;
|
|
166
|
+
const trimmed = counts.length > 0
|
|
167
|
+
? { ...grouped, activityOmitted: Object.fromEntries(counts) }
|
|
168
|
+
: grouped;
|
|
169
|
+
return lost > 0 ? { ...trimmed, goalsOmitted: lost } : trimmed;
|
|
170
|
+
};
|
|
78
171
|
return {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
families
|
|
172
|
+
now: bound(projected.now),
|
|
173
|
+
day: bound(projected.day),
|
|
174
|
+
week: bound(projected.week),
|
|
175
|
+
month: bound(projected.month)
|
|
84
176
|
};
|
|
85
|
-
}
|
|
86
|
-
return {
|
|
87
|
-
window,
|
|
88
|
-
observedAt,
|
|
89
|
-
asOf,
|
|
90
|
-
goals
|
|
91
177
|
};
|
|
178
|
+
const fits = (bounded) => windows.every((window) => bounded[window].goals.length +
|
|
179
|
+
(bounded[window].families ?? []).reduce((sum, group) => sum + group.superseded.length, 0) <=
|
|
180
|
+
workSnapshotMaxGoals) && encodedBytes(bounded) <= budgetBytes;
|
|
181
|
+
// Estimate from each goal's own encoding and each window's count, then
|
|
182
|
+
// confirm against the real encoding and drop more if the estimate was short.
|
|
183
|
+
const goalBytes = new Map();
|
|
184
|
+
const goalWindows = new Map();
|
|
185
|
+
const counts = new Map();
|
|
186
|
+
for (const window of windows) {
|
|
187
|
+
const supersededCount = (projected[window].families ?? []).reduce((sum, group) => sum + group.superseded.length, 0);
|
|
188
|
+
counts.set(window, projected[window].goals.length + supersededCount);
|
|
189
|
+
for (const goal of projected[window].goals) {
|
|
190
|
+
goalBytes.set(goal.id, (goalBytes.get(goal.id) ?? 0) + encodedBytes(goal) + 1);
|
|
191
|
+
goalWindows.set(goal.id, [...(goalWindows.get(goal.id) ?? []), window]);
|
|
192
|
+
}
|
|
193
|
+
for (const group of projected[window].families ?? []) {
|
|
194
|
+
goalBytes.set(group.canonicalGoalId, (goalBytes.get(group.canonicalGoalId) ?? 0) + encodedBytes(group) + 1);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const supersededOf = (window, goalId) => projected[window].families?.find(({ canonicalGoalId }) => canonicalGoalId === goalId)?.superseded.length ?? 0;
|
|
198
|
+
const overCount = () => windows.some((window) => (counts.get(window) ?? 0) > workSnapshotMaxGoals);
|
|
199
|
+
const omitted = new Set();
|
|
200
|
+
let estimate = encodedBytes(projected);
|
|
201
|
+
let next = 0;
|
|
202
|
+
let bounded = projected;
|
|
203
|
+
while (!fits(bounded) && next < units.length) {
|
|
204
|
+
do {
|
|
205
|
+
const unit = units[next];
|
|
206
|
+
next += 1;
|
|
207
|
+
if (unit === undefined)
|
|
208
|
+
break;
|
|
209
|
+
omitted.add(unit.goalId);
|
|
210
|
+
estimate -= goalBytes.get(unit.goalId) ?? 0;
|
|
211
|
+
for (const window of goalWindows.get(unit.goalId) ?? []) {
|
|
212
|
+
counts.set(window, (counts.get(window) ?? 0) - 1 - supersededOf(window, unit.goalId));
|
|
213
|
+
}
|
|
214
|
+
} while ((estimate > budgetBytes || overCount()) && next < units.length);
|
|
215
|
+
bounded = without(omitted);
|
|
216
|
+
estimate = encodedBytes(bounded);
|
|
217
|
+
}
|
|
218
|
+
return bounded;
|
|
92
219
|
};
|
|
93
220
|
export const projectWorkSnapshots = Effect.fn("HerdrWork.projectSnapshots")(function* (input, observedAt) {
|
|
94
221
|
const timestamp = yield* Schema.decodeUnknownEffect(WorkSnapshots.fields.observedAt)(observedAt).pipe(Effect.mapError((cause) => projectionError("malformed", "work observation timestamp is malformed", cause)));
|
|
95
222
|
const events = yield* validateHistory(input);
|
|
96
|
-
|
|
97
|
-
observedAt: timestamp,
|
|
223
|
+
const bounded = boundWorkSnapshotWindows({
|
|
98
224
|
now: snapshotAt(events, timestamp, "now"),
|
|
99
225
|
day: snapshotAt(events, timestamp, "day"),
|
|
100
226
|
week: snapshotAt(events, timestamp, "week"),
|
|
101
227
|
month: snapshotAt(events, timestamp, "month")
|
|
228
|
+
}, workSnapshotGoalBudgetBytes);
|
|
229
|
+
return yield* Schema.decodeUnknownEffect(WorkSnapshots)({
|
|
230
|
+
version: workSnapshotsVersion,
|
|
231
|
+
observedAt: timestamp,
|
|
232
|
+
...bounded
|
|
102
233
|
}).pipe(Effect.mapError((cause) => projectionError("malformed", "work snapshots could not be encoded", cause)));
|
|
103
234
|
});
|
|
104
235
|
//# sourceMappingURL=projection.js.map
|
package/dist/projection.js.map
CHANGED
|
@@ -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,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EACL,mBAAmB,EAEnB,kBAAkB,EAElB,oBAAoB,EAEpB,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EAErB,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,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC5D,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;IAChC,OAAO,EAAE,GAAG,UAAU,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;YAAE,MAAK;QAC5D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,EAAE,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,EAAE,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,IAAI,WAAW;QAAE,OAAO,CAAC,CAAA;IACnD,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,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,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,YAAY,CAAA;IAC1D,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,MAAqC,EAAsC,EAAE;IAChG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAA;IACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,WAAW;YAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;IACD,MAAM,MAAM,GAA+B,EAAE,CAAA;IAC7C,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;aACpC,MAAM,CACL,CAAC,IAAI,EAAoB,EAAE,CACzB,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY;YACtC,IAAI,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC,EAAE,CACnD;aACA,QAAQ,CACP,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAChC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACtC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CACnC,CAAA;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QACrC,MAAM,CAAC,IAAI,CAAC;YACV,eAAe,EAAE,SAAS,CAAC,EAAE;YAC7B,SAAS;YACT,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CACpB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS;QACpD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1D,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,CAC7D,CAAA;AACH,CAAC,CAAA;AAQD,qGAAqG;AACrG,MAAM,cAAc,GAAG,CAAC,IAAc,EAAkB,EAAE;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,IAAI,uBAAuB;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IACrG,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,QAAQ;SACL,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACjG,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACjC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CACvB,CAAA;IACD,OAAO;QACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;QACtE,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,uBAAuB;KACnD,CAAA;AACH,CAAC,CAAA;AAED,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,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC5C,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,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC;IACD,6GAA6G;IAC7G,gHAAgH;IAChH,8GAA8G;IAC9G,MAAM,WAAW,GAAG,CAAC,IAAc,EAAW,EAAE,CAC9C,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,+BAA+B,CAAA;IAC5F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CACtG,CACF,CAAA;IACD,MAAM,eAAe,GAAG,CAAC,IAAc,EAAW,EAAE,CAClD,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChG,8GAA8G;IAC9G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjD,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,eAAe,IAAI,CAAC,CAAA;YACpB,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;YAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,CAAC;SACxD,QAAQ,CACP,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAChC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACtC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CACnC,CAAA;IACH,MAAM,MAAM,GAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAChE,MAAM,OAAO,GAAiB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IACpF,MAAM,OAAO,GAAiB,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7F,OAAO,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AAClH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAExF,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAA;AAE9B,MAAM,OAAO,GAAsC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAGlF,MAAM,YAAY,GAAG,CAAC,KAA+C,EAAU,EAAE,CAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAA;AAa/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAkB,EAAE,WAAmB,EAAW,EAAE;IAC3F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACtF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,EAAE;YAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,KAAK,GAAgC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SAC5D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC1G,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;QAChC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CACzC,CAAA;IACH,MAAM,OAAO,GAAG,CAAC,OAA4B,EAAW,EAAE;QACxD,MAAM,KAAK,GAAG,CAAC,QAAsB,EAAgB,EAAE;YACrD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAA;YAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACjE,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;YAC5F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YACjD,4GAA4G;YAC5G,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;gBACtB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC5B,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;aACpE,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACtF,MAAM,IAAI,GAAiB,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAA;YAC7C,MAAM,OAAO,GAAiB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YAClF,MAAM,OAAO,GAAiB,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC7C,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;gBAC7D,CAAC,CAAC,OAAO,CAAA;YACX,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAChE,CAAC,CAAA;QACD,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SAC9B,CAAA;IACH,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAW,EAAE,CACzC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CACvB,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,oBAAoB,CACvB,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,WAAW,CAAA;IAC3C,uEAAuE;IACvE,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqC,CAAA;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;IACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACnH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC,CAAA;QACpE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9E,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACzE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACrD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7G,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,MAAc,EAAU,EAAE,CAC1E,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IAC/G,MAAM,SAAS,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAA;IAC3G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,IAAI,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IACtC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,OAAO,GAAG,SAAS,CAAA;IACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,IAAI,CAAC,CAAA;YACT,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAK;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxB,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3C,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACvF,CAAC;QACH,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAC;QACxE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1B,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,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,MAAM,OAAO,GAAG,wBAAwB,CACtC;QACE,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,EACD,2BAA2B,CAC5B,CAAA;IACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,SAAS;QACrB,GAAG,OAAO;KACX,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/store.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { Crypto, Effect, Option
|
|
1
|
+
import { Crypto, Effect, Option } from "effect";
|
|
2
2
|
import { WorkAdmissionConflictError, WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCheckpointConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkGoalAbandonmentConflictError, WorkGoalAgentTargetConflictError, WorkGoalBindingRequiresAgentError, WorkGoalLaneActiveError, WorkGoalOwnerMismatchError, WorkGoalReassignmentConflictError, WorkGoalRevisionConflictError, WorkGoalTerminalError, WorkLaneClaimConflictError, WorkLaneGoalConflictError, WorkLaneOperationConflictError, WorkProjectionError, WorkPullRequestLinkError, WorkStoreError, WorkTransactionConflictError } from "./errors.js";
|
|
3
|
-
import { workAgentBindingMaximumSnapshotBytes } from "./internal/agent-binding-admission.js";
|
|
4
3
|
import { WorkAdmissionTarget, WorkAgentBinding, WorkAgentBindingRequest, WorkDecisionHandoff, WorkGoalAbandoned, WorkGoalCheckpoint, WorkGoalReassigned, WorkLaneClaim, WorkLaneClaimed, WorkObservationEnvelope, WorkPullRequestLink, WorkReconcileOptions, WorkRecoveryTarget } from "./model.js";
|
|
5
4
|
import type { WorkActivity as WorkActivityType, WorkAdmissionPreflight as WorkAdmissionPreflightType, WorkAdmissionTarget as WorkAdmissionTargetType, WorkAgentBinding as WorkAgentBindingType, WorkAgentBindingRequest as WorkAgentBindingRequestType, WorkExistingGoalRecovery as WorkExistingGoalRecoveryType, WorkGoalAbandoned as WorkGoalAbandonedType, WorkGoalAbandonment as WorkGoalAbandonmentType, WorkGoalCheckpoint as WorkGoalCheckpointType, WorkGoalReassigned as WorkGoalReassignedType, WorkGoalReassignment as WorkGoalReassignmentType, WorkObservationEnvelope as WorkObservationEnvelopeType, WorkObservedAdmission as WorkObservedAdmissionType, WorkObservedFact as WorkObservedFactType, WorkObservedFailure as WorkObservedFailureType, WorkObserveReport, WorkProspectiveAdmission as WorkProspectiveAdmissionType, WorkPullRequestLink as WorkPullRequestLinkType, WorkReconcileOutcome, WorkReconcilePlanStep, WorkRecoveryPreflight as WorkRecoveryPreflightType, WorkRecoveryTarget as WorkRecoveryTargetType } from "./model.js";
|
|
6
5
|
import { type WorkApprovedActivity } from "./observed.js";
|
|
7
6
|
type ReassignRejection = WorkGoalAgentTargetConflictError | WorkGoalBindingRequiresAgentError | WorkGoalOwnerMismatchError | WorkGoalReassignmentConflictError | WorkGoalRevisionConflictError | WorkProjectionError | WorkStoreError;
|
|
8
7
|
type AbandonRejection = WorkGoalAbandonmentConflictError | WorkGoalLaneActiveError | WorkGoalOwnerMismatchError | WorkGoalRevisionConflictError | WorkGoalTerminalError | WorkProjectionError | WorkStoreError;
|
|
9
|
-
declare const encodedBytes: (value: typeof Schema.Json.Type) => number;
|
|
10
|
-
export declare const __herdrWorkMaximumSnapshotBytesForTest: typeof workAgentBindingMaximumSnapshotBytes;
|
|
11
|
-
export declare const __herdrWorkEncodedBytesForTest: typeof encodedBytes;
|
|
12
|
-
export declare const __herdrWorkSnapshotEnvelopeMaxBytesForTest: number;
|
|
13
8
|
export declare const __herdrWorkLaneOperationMaxBytesForTest: number;
|
|
14
9
|
export interface WorkStoreService {
|
|
15
10
|
readonly recoveryPreflight: (target: WorkRecoveryTargetType) => Effect.Effect<WorkRecoveryPreflightType, WorkProjectionError | WorkStoreError>;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { agentConnectTarget,
|
|
1
|
+
import { agentConnectTarget, workAbandonActivitySummary, workReassignActivitySummary } from "@knpkv/herdr-fleet";
|
|
2
2
|
import { openPrivateSqlite } from "@knpkv/herdr-fleet/sqlite";
|
|
3
3
|
import { Clock, Crypto, Effect, Equal, Option, Result, Schema } from "effect";
|
|
4
4
|
import { Hex } from "effect/encoding";
|
|
5
5
|
import { makeWorkAgentBinding } from "./agent-binding.js";
|
|
6
6
|
import { WorkAdmissionConflictError, WorkAgentBindingAuthorityError, WorkAgentBindingConflictError, WorkCheckpointConflictError, WorkCoordinatorHandoffConflictError, WorkDecisionAuthorityConflictError, WorkDecisionHandoffConflictError, WorkDecisionRevisionConflictError, WorkGoalAbandonmentConflictError, WorkGoalAgentTargetConflictError, WorkGoalBindingRequiresAgentError, WorkGoalLaneActiveError, WorkGoalOwnerMismatchError, WorkGoalReassignmentConflictError, WorkGoalRevisionConflictError, WorkGoalTerminalError, WorkLaneClaimConflictError, WorkLaneGoalConflictError, WorkLaneOperationConflictError, WorkProjectionError, WorkPullRequestLinkError, WorkStoreError, WorkTransactionConflictError } from "./errors.js";
|
|
7
7
|
import { validateGoalFamilyHistory } from "./goal-family.js";
|
|
8
|
-
import { agentBindingAdmissionError, workAgentBindingLaneOperationMaxBytes, workAgentBindingLaneOperationMaxRecords
|
|
8
|
+
import { agentBindingAdmissionError, workAgentBindingLaneOperationMaxBytes, workAgentBindingLaneOperationMaxRecords } from "./internal/agent-binding-admission.js";
|
|
9
9
|
import { AgentBindingGoalEventRow, AgentBindingLaneOperationRow, agentBindingReadbackError, AgentBindingRow, decodeAgentBindingGoalEvent, decodeAgentBindingRow, laneOperationReadbackError } from "./internal/agent-binding-readback.js";
|
|
10
10
|
import { CoordinatorCommandRow, CoordinatorLifecycleDispatchRow, CoordinatorLifecycleEventRow, coordinatorLifecycleRunningAt, CoordinatorRouteDiscriminatorRow, coordinatorRouteRequiresWorkLink, requireCoordinatorFailedLunaAuthority, requireCoordinatorLifecycleAuthority, requireCoordinatorRouteAuthority, requireCoordinatorRouteBinding } from "./internal/coordinator-authority.js";
|
|
11
11
|
import { currentDecisionHandoffEquivalent, CurrentMetadataWorkLink, decodePreviousDecisionHandoff, previousDecisionHandoffEquivalent, PreviousWorkDecisionHandoff, upgradePreviousDecisionHandoff, workDispatchLineageContainedBy, workDispatchLineageEquivalent } from "./internal/decision-handoff-migration.js";
|
|
@@ -885,7 +885,6 @@ const withReassignedAgent = (goal, toAgent) => {
|
|
|
885
885
|
}
|
|
886
886
|
};
|
|
887
887
|
const utf8 = new TextEncoder();
|
|
888
|
-
const encodedBytes = (value) => utf8.encode(JSON.stringify(value)).byteLength;
|
|
889
888
|
const maximumTimestamp = 8_640_000_000_000_000;
|
|
890
889
|
const workTransactionMaxRecords = 16_384;
|
|
891
890
|
const workTransactionMaxBytes = 2 * 1024 * 1024;
|
|
@@ -896,12 +895,7 @@ const workLaneOperationMaxBytes = workAgentBindingLaneOperationMaxBytes;
|
|
|
896
895
|
const workDecisionMaxRecords = 16_384;
|
|
897
896
|
const workDecisionMaxBytes = 2 * 1024 * 1024;
|
|
898
897
|
const workStoreBusyTimeoutMillis = 5_000;
|
|
899
|
-
const workSnapshotEnvelopeMaxBytes = workAgentBindingSnapshotEnvelopeMaxBytes;
|
|
900
|
-
const maximumSnapshotBytes = workAgentBindingMaximumSnapshotBytes;
|
|
901
898
|
const transactionContent = (events) => JSON.stringify(events);
|
|
902
|
-
export const __herdrWorkMaximumSnapshotBytesForTest = maximumSnapshotBytes;
|
|
903
|
-
export const __herdrWorkEncodedBytesForTest = encodedBytes;
|
|
904
|
-
export const __herdrWorkSnapshotEnvelopeMaxBytesForTest = workSnapshotEnvelopeMaxBytes;
|
|
905
899
|
export const __herdrWorkLaneOperationMaxBytesForTest = workLaneOperationMaxBytes;
|
|
906
900
|
const decodeRow = (row) => Schema.decodeUnknownEffect(StoredEventRow)(row).pipe(Effect.mapError(storeError("decode.row")), Effect.flatMap(({ record }) => Effect.try({
|
|
907
901
|
try: () => Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(record)),
|
|
@@ -2511,7 +2505,6 @@ export class WorkStore {
|
|
|
2511
2505
|
if (lanes._tag === "invalid")
|
|
2512
2506
|
throw lanes.error;
|
|
2513
2507
|
if (capacity !== undefined || lanes.entries.length >= workLaneMaxRecords ||
|
|
2514
|
-
new Set(history.map(({ goal: previous }) => previous.id)).size >= workSnapshotMaxGoals ||
|
|
2515
2508
|
claimBytes + utf8.encode(decoded.laneId).byteLength + utf8.encode(laneRecord).byteLength > workLaneMaxBytes) {
|
|
2516
2509
|
this.#database.exec("ROLLBACK");
|
|
2517
2510
|
transaction = false;
|
|
@@ -2905,13 +2898,6 @@ export class WorkStore {
|
|
|
2905
2898
|
const familyError = validateGoalFamilyHistory([...history, decoded]);
|
|
2906
2899
|
if (familyError !== undefined)
|
|
2907
2900
|
return reject(familyError);
|
|
2908
|
-
if (maximumSnapshotBytes(history, decoded) > fleetResponseBodyMaxBytes) {
|
|
2909
|
-
return reject(new WorkProjectionError({
|
|
2910
|
-
cause: decoded,
|
|
2911
|
-
detail: `work snapshots cannot exceed ${fleetResponseBodyMaxBytes} encoded bytes`,
|
|
2912
|
-
reason: "capacity_exceeded"
|
|
2913
|
-
}));
|
|
2914
|
-
}
|
|
2915
2901
|
const firstGoalRow = this.#database.prepare("SELECT record FROM work_goal_events WHERE goal_id = ? ORDER BY occurred_at ASC, event_id ASC LIMIT 1").get(decoded.goal.id);
|
|
2916
2902
|
if (firstGoalRow === undefined) {
|
|
2917
2903
|
if (decoded.occurredAt !== decoded.goal.createdAt) {
|
|
@@ -2921,14 +2907,6 @@ export class WorkStore {
|
|
|
2921
2907
|
reason: "inconsistent_history"
|
|
2922
2908
|
}));
|
|
2923
2909
|
}
|
|
2924
|
-
const goalCount = Schema.decodeUnknownSync(CountRow)(this.#database.prepare("SELECT COUNT(DISTINCT goal_id) AS count FROM work_goal_events").get()).count;
|
|
2925
|
-
if (goalCount >= workSnapshotMaxGoals) {
|
|
2926
|
-
return reject(new WorkProjectionError({
|
|
2927
|
-
cause: decoded,
|
|
2928
|
-
detail: `work snapshots cannot exceed ${workSnapshotMaxGoals} goals`,
|
|
2929
|
-
reason: "capacity_exceeded"
|
|
2930
|
-
}));
|
|
2931
|
-
}
|
|
2932
2910
|
}
|
|
2933
2911
|
else {
|
|
2934
2912
|
const firstGoal = Schema.decodeUnknownSync(WorkGoalCheckpoint)(JSON.parse(Schema.decodeUnknownSync(StoredEventRow)(firstGoalRow).record));
|
|
@@ -3293,33 +3271,6 @@ export class WorkStore {
|
|
|
3293
3271
|
inTransaction = false;
|
|
3294
3272
|
return { _tag: "rejected", error: familyError };
|
|
3295
3273
|
}
|
|
3296
|
-
if (workMaximumSnapshotBytesForHistory(prospective) > fleetResponseBodyMaxBytes) {
|
|
3297
|
-
this.#database.exec("ROLLBACK");
|
|
3298
|
-
inTransaction = false;
|
|
3299
|
-
return {
|
|
3300
|
-
_tag: "rejected",
|
|
3301
|
-
error: new WorkProjectionError({
|
|
3302
|
-
cause: decoded,
|
|
3303
|
-
detail: `work snapshots cannot exceed ${fleetResponseBodyMaxBytes} encoded bytes`,
|
|
3304
|
-
reason: "capacity_exceeded"
|
|
3305
|
-
})
|
|
3306
|
-
};
|
|
3307
|
-
}
|
|
3308
|
-
const goalIds = new Set(history.map(({ goal }) => goal.id));
|
|
3309
|
-
for (const event of newEvents)
|
|
3310
|
-
goalIds.add(event.goal.id);
|
|
3311
|
-
if (goalIds.size > workSnapshotMaxGoals) {
|
|
3312
|
-
this.#database.exec("ROLLBACK");
|
|
3313
|
-
inTransaction = false;
|
|
3314
|
-
return {
|
|
3315
|
-
_tag: "rejected",
|
|
3316
|
-
error: new WorkProjectionError({
|
|
3317
|
-
cause: decoded,
|
|
3318
|
-
detail: `work snapshots cannot exceed ${workSnapshotMaxGoals} goals`,
|
|
3319
|
-
reason: "capacity_exceeded"
|
|
3320
|
-
})
|
|
3321
|
-
};
|
|
3322
|
-
}
|
|
3323
3274
|
const creationTimes = new Map();
|
|
3324
3275
|
for (const event of prospective) {
|
|
3325
3276
|
const creationTime = creationTimes.get(event.goal.id);
|