@you-agent-factory/factory-replay 0.0.0 → 0.0.2

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/src/index.d.ts DELETED
@@ -1,324 +0,0 @@
1
- import type { FactoryEvent } from "@you-agent-factory/client";
2
- import type { FactoryDefinition } from "@you-agent-factory/client";
3
-
4
- export type FactoryTopologyNodeKind =
5
- | "resource"
6
- | "worker"
7
- | "work-state"
8
- | "work-type"
9
- | "workstation";
10
-
11
- export type FactoryTopologyConnectionKind =
12
- | "worker-assignment"
13
- | "worker-resource"
14
- | "workstation-input"
15
- | "workstation-on-continue"
16
- | "workstation-on-failure"
17
- | "workstation-on-rejection"
18
- | "workstation-output"
19
- | "workstation-resource"
20
- | "work-type-state";
21
-
22
- export interface FactoryTopologyHandle {
23
- id: string;
24
- role: "source" | "target";
25
- }
26
-
27
- interface FactoryTopologyNodeBase {
28
- entityId: string;
29
- handles: FactoryTopologyHandle[];
30
- id: string;
31
- kind: FactoryTopologyNodeKind;
32
- label: string;
33
- }
34
-
35
- export interface FactoryResourceTopologyNode extends FactoryTopologyNodeBase {
36
- capacity: number;
37
- kind: "resource";
38
- }
39
-
40
- export interface FactoryWorkerTopologyNode extends FactoryTopologyNodeBase {
41
- kind: "worker";
42
- }
43
-
44
- export interface FactoryWorkTypeTopologyNode extends FactoryTopologyNodeBase {
45
- kind: "work-type";
46
- }
47
-
48
- export interface FactoryWorkStateTopologyNode extends FactoryTopologyNodeBase {
49
- category: NonNullable<FactoryDefinition["workTypes"]>[number]["states"][number]["type"];
50
- kind: "work-state";
51
- workTypeId: string;
52
- }
53
-
54
- export interface FactoryWorkstationTopologyNode
55
- extends FactoryTopologyNodeBase {
56
- kind: "workstation";
57
- }
58
-
59
- export type FactoryTopologyNode =
60
- | FactoryResourceTopologyNode
61
- | FactoryWorkerTopologyNode
62
- | FactoryWorkStateTopologyNode
63
- | FactoryWorkTypeTopologyNode
64
- | FactoryWorkstationTopologyNode;
65
-
66
- export interface FactoryTopologyConnectionEndpoint {
67
- handleId: string;
68
- nodeId: string;
69
- }
70
-
71
- export interface FactoryTopologyConnection {
72
- id: string;
73
- kind: FactoryTopologyConnectionKind;
74
- source: FactoryTopologyConnectionEndpoint;
75
- target: FactoryTopologyConnectionEndpoint;
76
- }
77
-
78
- export interface FactoryTopologyProjectionIssue {
79
- code: "DUPLICATE_ENTITY_ID" | "MISSING_FACTORY" | "UNRESOLVED_CONNECTION";
80
- connectionKind?: FactoryTopologyConnectionKind;
81
- id: string;
82
- message: string;
83
- nodeId?: string;
84
- sourceReference?: string;
85
- targetReference?: string;
86
- }
87
-
88
- export interface FactoryTopologyProjection {
89
- connections: FactoryTopologyConnection[];
90
- issues: FactoryTopologyProjectionIssue[];
91
- nodes: FactoryTopologyNode[];
92
- selectedTick: number;
93
- }
94
-
95
- export interface FactoryTopologyProjectionInput {
96
- factory?: FactoryDefinition | undefined;
97
- selectedTick: number;
98
- }
99
-
100
- export interface FactoryTopologyAtTickInput {
101
- events: readonly FactoryEvent[];
102
- tick: number;
103
- }
104
-
105
- export interface FactoryActiveDispatchEvidence {
106
- id: string;
107
- resourceNames?: readonly string[];
108
- startedTick: number;
109
- transitionId: string;
110
- workIds: readonly string[];
111
- }
112
-
113
- export interface FactoryActiveDispatchProjection {
114
- id: string;
115
- resourceIds: string[];
116
- startedTick: number;
117
- transitionId: string;
118
- workIds: string[];
119
- workerId?: string;
120
- workstationId?: string;
121
- workstationNodeId?: string;
122
- }
123
-
124
- export interface FactoryResourceOccupancyProjection {
125
- availableQuantity?: number;
126
- capacity: number;
127
- evidence: "known" | "unavailable";
128
- occupiedQuantity?: number;
129
- occupiedTokenIds?: string[];
130
- resourceId: string;
131
- resourceNodeId: string;
132
- }
133
-
134
- export interface FactoryActivityProjectionIssue {
135
- code:
136
- | "RESOURCE_CAPACITY_EXCEEDED"
137
- | "UNRESOLVED_RESOURCE"
138
- | "UNRESOLVED_WORKER"
139
- | "UNRESOLVED_WORKSTATION";
140
- dispatchId?: string;
141
- id: string;
142
- message: string;
143
- reference?: string;
144
- }
145
-
146
- export interface FactoryActivityProjection {
147
- activeDispatches: FactoryActiveDispatchProjection[];
148
- activeWorkstationIds: string[];
149
- issues: FactoryActivityProjectionIssue[];
150
- resourceOccupancy: FactoryResourceOccupancyProjection[];
151
- selectedTick: number;
152
- }
153
-
154
- export interface FactoryActivityProjectionInput {
155
- activeDispatches: readonly FactoryActiveDispatchEvidence[];
156
- factory?: FactoryDefinition | undefined;
157
- selectedTick: number;
158
- }
159
-
160
- export interface FactoryActivityAtTickInput {
161
- events: readonly FactoryEvent[];
162
- tick: number;
163
- }
164
-
165
- export type FactoryWorkStateCategory =
166
- | "FAILED"
167
- | "INITIAL"
168
- | "PROCESSING"
169
- | "TERMINAL";
170
-
171
- export type FactoryWorkProgressCategory =
172
- | "failed"
173
- | "completed"
174
- | "active"
175
- | "queued"
176
- | "unclassified";
177
-
178
- export interface FactoryWorkProgressStateEvidence {
179
- category?: FactoryWorkStateCategory;
180
- id?: string;
181
- name?: string;
182
- }
183
-
184
- export interface FactoryWorkProgressEvidence {
185
- id: string;
186
- state?: FactoryWorkProgressStateEvidence;
187
- workTypeId?: string;
188
- }
189
-
190
- export interface FactoryWorkProgressItem {
191
- id: string;
192
- stateId?: string;
193
- stateName?: string;
194
- workTypeId?: string;
195
- }
196
-
197
- export type FactoryWorkProgressCounts = Record<FactoryWorkProgressCategory, number>;
198
-
199
- export interface FactoryWorkProgressProjection {
200
- active: FactoryWorkProgressItem[];
201
- completed: FactoryWorkProgressItem[];
202
- counts: FactoryWorkProgressCounts;
203
- failed: FactoryWorkProgressItem[];
204
- queued: FactoryWorkProgressItem[];
205
- selectedTick: number;
206
- total: number;
207
- unclassified: FactoryWorkProgressItem[];
208
- }
209
-
210
- export interface FactoryWorkProgressProjectionInput {
211
- activeWorkIds: readonly string[];
212
- factory?: FactoryDefinition | undefined;
213
- selectedTick: number;
214
- works: readonly FactoryWorkProgressEvidence[];
215
- }
216
-
217
- export interface FactoryWorkProgressAtTickInput {
218
- events: readonly FactoryEvent[];
219
- tick: number;
220
- }
221
-
222
- export type FactoryReplaySelection =
223
- | { mode: "current" }
224
- | { mode: "fixed"; tick: number };
225
-
226
- export interface FactoryReplayReducer<State, World> {
227
- createState(selectedTick: number): State;
228
- applyEvent(state: State, event: FactoryEvent): State;
229
- projectWorld(state: State): World;
230
- }
231
-
232
- export interface FactoryReplayInitialization<State, World> {
233
- events: readonly FactoryEvent[];
234
- reducer: FactoryReplayReducer<State, World>;
235
- selection: FactoryReplaySelection;
236
- }
237
-
238
- export interface FactoryReplayResult<State, World> {
239
- appliedEvents: FactoryEvent[];
240
- events: FactoryEvent[];
241
- latestTick: number;
242
- selectedTick: number;
243
- selection: FactoryReplaySelection;
244
- state: State;
245
- world: World;
246
- }
247
-
248
- export type FactoryReplayStateCloner<State> = (state: State) => State;
249
-
250
- export interface FactoryReplayCheckpoint<State> {
251
- acceptedEventIDs: readonly string[];
252
- selectedTick: number;
253
- state: State;
254
- }
255
-
256
- export interface FactoryReplayAdvanceInput<State, World> {
257
- checkpoint: FactoryReplayCheckpoint<State>;
258
- cloneState: FactoryReplayStateCloner<State>;
259
- events: readonly FactoryEvent[];
260
- reducer: FactoryReplayReducer<State, World>;
261
- setSelectedTick(state: State, tick: number): State;
262
- tick: number;
263
- }
264
-
265
- export interface FactoryReplayAdvanceResult<State, World> {
266
- appliedEvents: FactoryEvent[];
267
- checkpoint: FactoryReplayCheckpoint<State>;
268
- latestTick: number;
269
- selectedTick: number;
270
- state: State;
271
- world: World;
272
- }
273
-
274
- export function compareFactoryEvents(
275
- left: FactoryEvent,
276
- right: FactoryEvent,
277
- ): number;
278
-
279
- export function canonicalizeFactoryEvents(
280
- events: readonly FactoryEvent[],
281
- ): FactoryEvent[];
282
-
283
- export function initializeFactoryReplay<State, World>(
284
- input: FactoryReplayInitialization<State, World>,
285
- ): FactoryReplayResult<State, World>;
286
-
287
- export function createFactoryReplayCheckpoint<State, World>(
288
- result: FactoryReplayResult<State, World>,
289
- cloneState: FactoryReplayStateCloner<State>,
290
- ): FactoryReplayCheckpoint<State>;
291
-
292
- export function advanceFactoryReplay<State, World>(
293
- input: FactoryReplayAdvanceInput<State, World>,
294
- ): FactoryReplayAdvanceResult<State, World>;
295
-
296
- export function projectFactoryWorldAtTick<State, World>(
297
- input: Omit<FactoryReplayInitialization<State, World>, "selection"> & {
298
- tick: number;
299
- },
300
- ): FactoryReplayResult<State, World>;
301
-
302
- export function projectFactoryTopology(
303
- input: FactoryTopologyProjectionInput,
304
- ): FactoryTopologyProjection;
305
-
306
- export function projectFactoryTopologyAtTick(
307
- input: FactoryTopologyAtTickInput,
308
- ): FactoryTopologyProjection;
309
-
310
- export function projectFactoryActivity(
311
- input: FactoryActivityProjectionInput,
312
- ): FactoryActivityProjection;
313
-
314
- export function projectFactoryActivityAtTick(
315
- input: FactoryActivityAtTickInput,
316
- ): FactoryActivityProjection;
317
-
318
- export function projectFactoryWorkProgress(
319
- input: FactoryWorkProgressProjectionInput,
320
- ): FactoryWorkProgressProjection;
321
-
322
- export function projectFactoryWorkProgressAtTick(
323
- input: FactoryWorkProgressAtTickInput,
324
- ): FactoryWorkProgressProjection;