@you-agent-factory/factory-visualizers 0.0.2 → 0.0.6
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 +13 -15
- package/dist/factory-emulator-controls.d.ts +2 -2
- package/dist/factory-emulator-error-boundary.d.ts +1 -1
- package/dist/factory-emulator-view.d.ts +1 -1
- package/dist/factory-recording-topology-replay.d.ts +2 -4
- package/dist/factory-timeline-scrubber.d.ts +1 -1
- package/dist/factory-topology-replay.d.ts +13 -17
- package/dist/factory-topology-state.d.ts +4 -5
- package/dist/index.d.ts +2 -3
- package/dist/index.js +29 -705
- package/dist/styles.css +25 -320
- package/dist/visualizer-error.d.ts +1 -8
- package/dist/work-progress-visualizer.d.ts +1 -1
- package/package.json +12 -10
- package/dist/factory-topology-active-work.d.ts +0 -11
- package/dist/factory-topology-chrome.d.ts +0 -14
- package/dist/factory-topology-flow-projection.d.ts +0 -12
- package/dist/factory-topology-replay-nodes.d.ts +0 -32
package/dist/styles.css
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
@import "@xyflow/react/dist/style.css";
|
|
2
2
|
|
|
3
|
-
.factory-recording-topology-replay
|
|
4
|
-
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
inline-size: 100%;
|
|
7
|
-
min-inline-size: 0;
|
|
8
|
-
gap: 1rem;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.factory-emulator-controls {
|
|
12
|
-
display: grid;
|
|
13
|
-
gap: 1rem;
|
|
14
|
-
}
|
|
15
|
-
|
|
3
|
+
.factory-recording-topology-replay,
|
|
4
|
+
.factory-emulator-controls,
|
|
16
5
|
.factory-emulator-view {
|
|
17
6
|
display: grid;
|
|
18
7
|
box-sizing: border-box;
|
|
@@ -25,18 +14,26 @@
|
|
|
25
14
|
min-inline-size: 0;
|
|
26
15
|
}
|
|
27
16
|
|
|
28
|
-
.factory-emulator-failure
|
|
17
|
+
.factory-emulator-failure,
|
|
18
|
+
.factory-timeline-scrubber,
|
|
19
|
+
.factory-work-progress {
|
|
29
20
|
box-sizing: border-box;
|
|
30
21
|
inline-size: 100%;
|
|
31
22
|
min-inline-size: 0;
|
|
32
23
|
padding: 1rem;
|
|
33
24
|
color: var(--color-on-surface);
|
|
34
25
|
background: var(--color-surface-container-low);
|
|
35
|
-
border: 1px solid var(--color-
|
|
26
|
+
border: 1px solid var(--color-outline-variant);
|
|
36
27
|
border-radius: 1rem;
|
|
37
28
|
}
|
|
38
29
|
|
|
39
|
-
.factory-emulator-
|
|
30
|
+
.factory-emulator-failure {
|
|
31
|
+
border-color: var(--color-error);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.factory-emulator-failure__content,
|
|
35
|
+
.factory-topology-replay__state,
|
|
36
|
+
.factory-work-progress__empty {
|
|
40
37
|
display: grid;
|
|
41
38
|
justify-items: center;
|
|
42
39
|
gap: 1rem;
|
|
@@ -48,29 +45,23 @@
|
|
|
48
45
|
border-radius: 0.75rem;
|
|
49
46
|
}
|
|
50
47
|
|
|
51
|
-
.factory-emulator-failure__content >
|
|
48
|
+
.factory-emulator-failure__content > *,
|
|
49
|
+
.factory-topology-replay__state > * {
|
|
52
50
|
margin: 0;
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
.factory-recording-topology-replay__tick
|
|
53
|
+
.factory-recording-topology-replay__tick,
|
|
54
|
+
.factory-timeline-scrubber__position,
|
|
55
|
+
.factory-timeline-scrubber__status,
|
|
56
|
+
.factory-timeline-scrubber__action-status,
|
|
57
|
+
.factory-work-progress__total {
|
|
56
58
|
margin: 0;
|
|
57
59
|
color: var(--color-on-surface-variant);
|
|
58
60
|
}
|
|
59
61
|
|
|
60
|
-
.factory-timeline-scrubber {
|
|
61
|
-
box-sizing: border-box;
|
|
62
|
-
inline-size: 100%;
|
|
63
|
-
min-inline-size: 0;
|
|
64
|
-
padding: 1rem;
|
|
65
|
-
color: var(--color-on-surface);
|
|
66
|
-
background: var(--color-surface-container-low);
|
|
67
|
-
border: 1px solid var(--color-outline-variant);
|
|
68
|
-
border-radius: 1rem;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
62
|
.factory-topology-replay {
|
|
72
|
-
box-sizing: border-box;
|
|
73
63
|
position: relative;
|
|
64
|
+
box-sizing: border-box;
|
|
74
65
|
inline-size: 100%;
|
|
75
66
|
block-size: clamp(28rem, 68vh, 48rem);
|
|
76
67
|
min-inline-size: 0;
|
|
@@ -88,261 +79,16 @@
|
|
|
88
79
|
}
|
|
89
80
|
|
|
90
81
|
.factory-topology-replay__state {
|
|
91
|
-
display: grid;
|
|
92
82
|
max-inline-size: 32rem;
|
|
93
|
-
justify-items: center;
|
|
94
|
-
gap: 1rem;
|
|
95
|
-
padding: 1.5rem;
|
|
96
|
-
color: var(--color-on-surface-variant);
|
|
97
|
-
text-align: center;
|
|
98
|
-
background: var(--color-surface-container);
|
|
99
|
-
border: 1px dashed var(--color-outline-variant);
|
|
100
|
-
border-radius: 0.75rem;
|
|
101
83
|
}
|
|
102
84
|
|
|
103
85
|
.factory-topology-replay__state[role="alert"] {
|
|
104
86
|
border-color: var(--color-error);
|
|
105
87
|
}
|
|
106
88
|
|
|
107
|
-
.factory-topology-replay__state > * {
|
|
108
|
-
margin: 0;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.factory-topology-replay .react-flow__node {
|
|
112
|
-
inline-size: 13.5rem;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.factory-topology-replay
|
|
116
|
-
.react-flow__node:has(.factory-topology-replay__annotation) {
|
|
117
|
-
inline-size: auto;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.factory-topology-replay__annotation-toggle {
|
|
121
|
-
position: absolute;
|
|
122
|
-
z-index: 5;
|
|
123
|
-
inset-block-start: 1rem;
|
|
124
|
-
inset-inline-end: 1rem;
|
|
125
|
-
padding: 0.5rem 0.75rem;
|
|
126
|
-
color: var(--color-on-surface);
|
|
127
|
-
cursor: pointer;
|
|
128
|
-
background: var(--color-surface-container-high);
|
|
129
|
-
border: 1px solid var(--color-outline);
|
|
130
|
-
border-radius: 0.5rem;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.factory-topology-replay__annotation-toggle:focus-visible {
|
|
134
|
-
outline: 0.1875rem solid var(--color-on-surface);
|
|
135
|
-
outline-offset: 0.25rem;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.factory-topology-replay__active-work {
|
|
139
|
-
position: absolute;
|
|
140
|
-
z-index: 5;
|
|
141
|
-
inset-block-start: 1rem;
|
|
142
|
-
inset-inline-start: 1rem;
|
|
143
|
-
box-sizing: border-box;
|
|
144
|
-
max-inline-size: calc(100% - 2rem);
|
|
145
|
-
padding: 0.5rem 0.75rem;
|
|
146
|
-
color: var(--color-on-surface);
|
|
147
|
-
background: var(--color-surface-container-high);
|
|
148
|
-
border: 1px solid var(--color-outline);
|
|
149
|
-
border-radius: 0.5rem;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.factory-topology-replay__active-work ul {
|
|
153
|
-
display: grid;
|
|
154
|
-
gap: 0.25rem;
|
|
155
|
-
padding: 0;
|
|
156
|
-
margin: 0;
|
|
157
|
-
list-style: none;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.factory-topology-replay__active-work li {
|
|
161
|
-
display: flex;
|
|
162
|
-
flex-wrap: wrap;
|
|
163
|
-
gap: 0.25rem 0.75rem;
|
|
164
|
-
justify-content: space-between;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.factory-topology-replay__active-work li > * {
|
|
168
|
-
min-inline-size: 0;
|
|
169
|
-
overflow-wrap: anywhere;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.factory-topology-replay__active-work p {
|
|
173
|
-
margin: 0.25rem 0 0;
|
|
174
|
-
color: var(--color-on-surface-variant);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.factory-topology-replay__annotation {
|
|
178
|
-
box-sizing: border-box;
|
|
179
|
-
display: grid;
|
|
180
|
-
gap: 0.5rem;
|
|
181
|
-
padding: 0.75rem;
|
|
182
|
-
margin: 0;
|
|
183
|
-
color: var(--color-on-surface);
|
|
184
|
-
pointer-events: none;
|
|
185
|
-
background: var(--color-surface-container);
|
|
186
|
-
border: 1px solid var(--color-outline);
|
|
187
|
-
border-radius: 0.75rem;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
.factory-topology-replay__annotation[data-tone="accent"] {
|
|
191
|
-
border-color: var(--color-primary, var(--color-af-foundation-accent));
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.factory-topology-replay__annotation[data-tone="info"] {
|
|
195
|
-
border-color: var(--color-info);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.factory-topology-replay__annotation[data-tone="success"] {
|
|
199
|
-
border-color: var(--color-success);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.factory-topology-replay__annotation[data-tone="warning"] {
|
|
203
|
-
border-color: var(--color-warning);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.factory-topology-replay__annotation[data-tone="danger"] {
|
|
207
|
-
border-color: var(--color-error);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
.factory-topology-replay__annotation-title,
|
|
211
|
-
.factory-topology-replay__annotation-body {
|
|
212
|
-
overflow-wrap: anywhere;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
.factory-topology-replay__annotation-body {
|
|
216
|
-
white-space: pre-wrap;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.factory-topology-replay__annotation--image {
|
|
220
|
-
display: block;
|
|
221
|
-
padding: 0;
|
|
222
|
-
overflow: hidden;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.factory-topology-replay__annotation-image {
|
|
226
|
-
display: block;
|
|
227
|
-
inline-size: 100%;
|
|
228
|
-
block-size: 100%;
|
|
229
|
-
object-fit: contain;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.factory-topology-replay__annotation-image-state {
|
|
233
|
-
display: grid;
|
|
234
|
-
min-block-size: 4rem;
|
|
235
|
-
place-items: center;
|
|
236
|
-
padding: 0.75rem;
|
|
237
|
-
color: var(--color-on-surface-variant);
|
|
238
|
-
text-align: center;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
.factory-topology-replay__annotation-image-state[role="alert"] {
|
|
242
|
-
color: var(--color-error);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
.factory-topology-replay__node-button,
|
|
246
|
-
.factory-topology-replay__node-static {
|
|
247
|
-
display: block;
|
|
248
|
-
inline-size: 100%;
|
|
249
|
-
margin: 0;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
.factory-topology-replay__node-button:focus-visible {
|
|
253
|
-
border-radius: 0.625rem;
|
|
254
|
-
outline: 0.1875rem solid
|
|
255
|
-
var(--color-primary, var(--color-af-foundation-accent));
|
|
256
|
-
outline-offset: 0.25rem;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
.factory-topology-replay__legend {
|
|
260
|
-
display: inline-block;
|
|
261
|
-
padding: 0.5rem 0.75rem;
|
|
262
|
-
margin: 0 0 0.75rem;
|
|
263
|
-
color: var(--color-on-surface);
|
|
264
|
-
background: var(--color-surface-container-low);
|
|
265
|
-
border: 1px solid var(--color-outline-variant);
|
|
266
|
-
border-radius: 0.5rem;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
.factory-topology-replay__legend ul {
|
|
270
|
-
display: grid;
|
|
271
|
-
gap: 0.25rem;
|
|
272
|
-
padding: 0;
|
|
273
|
-
margin: 0.25rem 0 0;
|
|
274
|
-
list-style: none;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
.factory-topology-replay__legend li {
|
|
278
|
-
display: flex;
|
|
279
|
-
align-items: center;
|
|
280
|
-
gap: 0.5rem;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.factory-topology-replay__legend-swatch {
|
|
284
|
-
inline-size: 1rem;
|
|
285
|
-
block-size: 0.1875rem;
|
|
286
|
-
background: var(--color-outline);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
.factory-topology-replay__legend-swatch--active {
|
|
290
|
-
background: var(--color-warning);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
.factory-topology-replay__node-title,
|
|
294
|
-
.factory-topology-replay__node-kind,
|
|
295
|
-
.factory-topology-replay__node-cue {
|
|
296
|
-
display: block;
|
|
297
|
-
min-inline-size: 0;
|
|
298
|
-
overflow-wrap: anywhere;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
.factory-topology-replay__node-kind,
|
|
302
|
-
.factory-topology-replay__node-cue {
|
|
303
|
-
color: var(--color-on-surface-variant);
|
|
304
|
-
font-size: 0.75rem;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
.factory-topology-replay__node-kind {
|
|
308
|
-
text-transform: capitalize;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
.factory-topology-replay__node-cue {
|
|
312
|
-
margin-block-start: 0.25rem;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
.factory-topology-replay__node-activity-detail {
|
|
316
|
-
min-inline-size: 0;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
.factory-topology-replay__node-empty-state {
|
|
320
|
-
display: block;
|
|
321
|
-
margin-block-start: 0.25rem;
|
|
322
|
-
color: var(--color-on-surface-variant);
|
|
323
|
-
overflow-wrap: anywhere;
|
|
324
|
-
white-space: pre-wrap;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
.factory-topology-replay__node-empty-state-image {
|
|
328
|
-
display: block;
|
|
329
|
-
max-inline-size: 100%;
|
|
330
|
-
max-block-size: 8rem;
|
|
331
|
-
margin-block-start: 0.5rem;
|
|
332
|
-
object-fit: contain;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
.factory-topology-replay__node--active {
|
|
336
|
-
border-block-start: 0.25rem solid var(--color-warning);
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
.factory-topology-replay .react-flow__edge.animated path {
|
|
340
|
-
stroke: var(--color-warning);
|
|
341
|
-
stroke-width: 0.1875rem;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
89
|
.factory-timeline-scrubber__header,
|
|
345
|
-
.factory-timeline-scrubber__controls
|
|
90
|
+
.factory-timeline-scrubber__controls,
|
|
91
|
+
.factory-work-progress__header {
|
|
346
92
|
display: flex;
|
|
347
93
|
flex-wrap: wrap;
|
|
348
94
|
align-items: center;
|
|
@@ -352,16 +98,11 @@
|
|
|
352
98
|
|
|
353
99
|
.factory-timeline-scrubber__header > *,
|
|
354
100
|
.factory-timeline-scrubber__status,
|
|
355
|
-
.factory-timeline-scrubber__action-status
|
|
101
|
+
.factory-timeline-scrubber__action-status,
|
|
102
|
+
.factory-work-progress__header > * {
|
|
356
103
|
margin: 0;
|
|
357
104
|
}
|
|
358
105
|
|
|
359
|
-
.factory-timeline-scrubber__position,
|
|
360
|
-
.factory-timeline-scrubber__status,
|
|
361
|
-
.factory-timeline-scrubber__action-status {
|
|
362
|
-
color: var(--color-on-surface-variant);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
106
|
.factory-timeline-scrubber__controls {
|
|
366
107
|
margin-block-start: 1rem;
|
|
367
108
|
}
|
|
@@ -392,33 +133,6 @@
|
|
|
392
133
|
margin-block-start: 0.25rem;
|
|
393
134
|
}
|
|
394
135
|
|
|
395
|
-
.factory-work-progress {
|
|
396
|
-
box-sizing: border-box;
|
|
397
|
-
inline-size: 100%;
|
|
398
|
-
min-inline-size: 0;
|
|
399
|
-
padding: 1rem;
|
|
400
|
-
color: var(--color-on-surface);
|
|
401
|
-
background: var(--color-surface-container-low);
|
|
402
|
-
border: 1px solid var(--color-outline-variant);
|
|
403
|
-
border-radius: 1rem;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
.factory-work-progress__header {
|
|
407
|
-
display: flex;
|
|
408
|
-
flex-wrap: wrap;
|
|
409
|
-
align-items: baseline;
|
|
410
|
-
justify-content: space-between;
|
|
411
|
-
gap: 0.5rem 1rem;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
.factory-work-progress__header > * {
|
|
415
|
-
margin: 0;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
.factory-work-progress__total {
|
|
419
|
-
color: var(--color-on-surface-variant);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
136
|
.factory-work-progress__categories {
|
|
423
137
|
display: grid;
|
|
424
138
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -474,11 +188,6 @@
|
|
|
474
188
|
.factory-work-progress__empty {
|
|
475
189
|
padding: 1rem;
|
|
476
190
|
margin: 1rem 0 0;
|
|
477
|
-
color: var(--color-on-surface-variant);
|
|
478
|
-
text-align: center;
|
|
479
|
-
background: var(--color-surface-container);
|
|
480
|
-
border: 1px dashed var(--color-outline-variant);
|
|
481
|
-
border-radius: 0.75rem;
|
|
482
191
|
}
|
|
483
192
|
|
|
484
193
|
@media (min-width: 34rem) {
|
|
@@ -504,8 +213,4 @@
|
|
|
504
213
|
animation-iteration-count: 1;
|
|
505
214
|
transition-duration: 0.01ms;
|
|
506
215
|
}
|
|
507
|
-
|
|
508
|
-
.factory-topology-replay .react-flow__edge.animated path {
|
|
509
|
-
animation: none;
|
|
510
|
-
}
|
|
511
216
|
}
|
|
@@ -9,13 +9,7 @@ export interface FactoryVisualizerError {
|
|
|
9
9
|
message: string;
|
|
10
10
|
recoverable: boolean;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
13
|
-
issues: readonly Pick<FactoryVisualizationLayoutIssue, "category" | "code" | "path">[];
|
|
14
|
-
kind: "layout-validation";
|
|
15
|
-
message: string;
|
|
16
|
-
recoverable: true;
|
|
17
|
-
}
|
|
18
|
-
export type FactoryTopologyReplayError = FactoryVisualizerError | FactoryVisualizationLayoutDiagnostic;
|
|
12
|
+
export type FactoryTopologyReplayError = FactoryVisualizerError;
|
|
19
13
|
export declare class FactoryVisualizerInternalError extends Error {
|
|
20
14
|
readonly kind: FactoryVisualizerErrorKind;
|
|
21
15
|
readonly originalCause: unknown;
|
|
@@ -24,4 +18,3 @@ export declare class FactoryVisualizerInternalError extends Error {
|
|
|
24
18
|
export declare function toFactoryVisualizerError(kind: FactoryVisualizerErrorKind, cause?: unknown): FactoryVisualizerError;
|
|
25
19
|
export declare function normalizeFactoryVisualizerError(error: unknown, fallbackKind: FactoryVisualizerErrorKind): FactoryVisualizerError;
|
|
26
20
|
export declare function factoryVisualizerErrorKey(error: FactoryVisualizerError): string;
|
|
27
|
-
import type { FactoryVisualizationLayoutIssue } from "@you-agent-factory/client";
|
|
@@ -16,4 +16,4 @@ export interface WorkProgressVisualizerProps extends Omit<HTMLAttributes<HTMLEle
|
|
|
16
16
|
messages: WorkProgressVisualizerMessages;
|
|
17
17
|
projection: FactoryWorkProgressProjection;
|
|
18
18
|
}
|
|
19
|
-
export declare function WorkProgressVisualizer({ className, formatNumber, messages, projection, ...sectionProps }: WorkProgressVisualizerProps): import("react").JSX.Element;
|
|
19
|
+
export declare function WorkProgressVisualizer({ className, formatNumber, messages, projection, ...sectionProps }: WorkProgressVisualizerProps): import("react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@you-agent-factory/factory-visualizers",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Controlled React
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "Controlled React hosts for the canonical Factory semantic graph.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"./examples/support-playback.factory-recording.v1.json": "./examples/support-playback.factory-recording.v1.json"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"build": "
|
|
35
|
+
"build": "bun run prepare:dependencies && bun run build:current",
|
|
36
|
+
"build:current": "node scripts/build-package.mjs",
|
|
36
37
|
"build-storybook": "storybook build --loglevel warn",
|
|
37
38
|
"check:installed-consumer": "node scripts/verify-installed-consumer.mjs",
|
|
38
39
|
"check:pack": "node scripts/verify-package-pack.mjs",
|
|
39
40
|
"check:package-boundary": "node scripts/check-package-boundary.mjs",
|
|
40
41
|
"lint": "biome check .",
|
|
41
|
-
"
|
|
42
|
-
"prepare:dependencies": "bun run --cwd ../client build && bun run --cwd ../components build && bun run --cwd ../factory-replay build",
|
|
42
|
+
"prepare:dependencies": "bun run --cwd ../client build && bun run --cwd ../components build && bun run --cwd ../factory-replay build && bun run --cwd ../factory-graph build",
|
|
43
43
|
"storybook": "storybook dev -p 6027",
|
|
44
44
|
"test": "vitest run --config vitest.config.ts",
|
|
45
45
|
"test-storybook": "bun run build-storybook && bun run verify:accessibility-responsive",
|
|
@@ -48,12 +48,13 @@
|
|
|
48
48
|
"verify": "bun run typecheck && bun run lint && bun run test && bun run build && bun run test-storybook && bun run check:package-boundary && bun run check:pack && bun run check:installed-consumer"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@you-agent-factory/components": "0.0.
|
|
51
|
+
"@you-agent-factory/components": "0.0.6",
|
|
52
|
+
"@you-agent-factory/factory-graph": "0.0.0",
|
|
52
53
|
"@xyflow/react": "^12.10.2"
|
|
53
54
|
},
|
|
54
55
|
"peerDependencies": {
|
|
55
|
-
"@you-agent-factory/client": "0.0.
|
|
56
|
-
"@you-agent-factory/factory-replay": "0.0.
|
|
56
|
+
"@you-agent-factory/client": "0.0.6",
|
|
57
|
+
"@you-agent-factory/factory-replay": "0.0.6",
|
|
57
58
|
"react": "^19.0.0",
|
|
58
59
|
"react-dom": "^19.0.0"
|
|
59
60
|
},
|
|
@@ -66,8 +67,9 @@
|
|
|
66
67
|
"@types/react": "^19.2.2",
|
|
67
68
|
"@types/react-dom": "^19.2.2",
|
|
68
69
|
"@vitejs/plugin-react-swc": "^4.1.0",
|
|
69
|
-
"@you-agent-factory/client": "
|
|
70
|
-
"@you-agent-factory/factory-
|
|
70
|
+
"@you-agent-factory/client": "0.0.6",
|
|
71
|
+
"@you-agent-factory/factory-graph": "workspace:*",
|
|
72
|
+
"@you-agent-factory/factory-replay": "0.0.6",
|
|
71
73
|
"axe-core": "^4.10.2",
|
|
72
74
|
"happy-dom": "^20.9.0",
|
|
73
75
|
"jest-axe": "^10.0.0",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { FactoryActivityProjection } from "@you-agent-factory/factory-replay";
|
|
2
|
-
export interface FactoryTopologyActiveWorkRow {
|
|
3
|
-
durationTicks: number;
|
|
4
|
-
id: string;
|
|
5
|
-
}
|
|
6
|
-
export interface FactoryTopologyActiveWorkSummary {
|
|
7
|
-
overflowCount: number;
|
|
8
|
-
rows: readonly FactoryTopologyActiveWorkRow[];
|
|
9
|
-
}
|
|
10
|
-
/** Derives bounded, read-only Work activity from the prepared projection. */
|
|
11
|
-
export declare function projectFactoryTopologyActiveWork(activity: FactoryActivityProjection): FactoryTopologyActiveWorkSummary;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/** Optional presentation regions for the public, read-only Factory topology. */
|
|
2
|
-
export type FactoryTopologyChromeRegion = "legend" | "background" | "viewportControls" | "visibilityControls";
|
|
3
|
-
export type FactoryTopologyChromePreset = "full" | "minimal" | "none";
|
|
4
|
-
export interface FactoryTopologyChromeConfiguration {
|
|
5
|
-
background?: boolean;
|
|
6
|
-
legend?: boolean;
|
|
7
|
-
preset?: FactoryTopologyChromePreset;
|
|
8
|
-
viewportControls?: boolean;
|
|
9
|
-
visibilityControls?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export type ResolvedFactoryTopologyChrome = Readonly<Record<FactoryTopologyChromeRegion, boolean>>;
|
|
12
|
-
export declare const DEFAULT_FACTORY_TOPOLOGY_CHROME_PRESET: FactoryTopologyChromePreset;
|
|
13
|
-
/** Resolves presentation without receiving or changing replay projection data. */
|
|
14
|
-
export declare function resolveFactoryTopologyChrome(configuration?: FactoryTopologyChromeConfiguration): ResolvedFactoryTopologyChrome;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Edge, Node } from "@xyflow/react";
|
|
2
|
-
import type { FactoryVisualizationLayoutV1 } from "@you-agent-factory/client";
|
|
3
|
-
import type { FactoryTopologyNode } from "@you-agent-factory/factory-replay";
|
|
4
|
-
import type { FactoryTopologyReplayMessages, FactoryTopologyReplayProjection } from "./factory-topology-replay";
|
|
5
|
-
import type { AnnotationNodeData, TopologyNodeData } from "./factory-topology-replay-nodes";
|
|
6
|
-
export interface FactoryTopologyFlowProjection {
|
|
7
|
-
edges: Edge[];
|
|
8
|
-
nodes: Node<TopologyNodeData | AnnotationNodeData>[];
|
|
9
|
-
validEndpoints: boolean;
|
|
10
|
-
}
|
|
11
|
-
/** Convert immutable replay projections into disposable React Flow view data. */
|
|
12
|
-
export declare function projectFactoryTopologyFlow(projection: FactoryTopologyReplayProjection, messages: FactoryTopologyReplayMessages, selectedNodeId: string | undefined, onSelectNode: ((node: FactoryTopologyNode) => void) | undefined, prefersReducedMotion?: boolean, layout?: FactoryVisualizationLayoutV1): FactoryTopologyFlowProjection;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { Node, NodeProps } from "@xyflow/react";
|
|
2
|
-
import type { FactoryVisualizationAnnotation, FactoryVisualizationNodeEmptyState } from "@you-agent-factory/client";
|
|
3
|
-
import type { FactoryTopologyNode } from "@you-agent-factory/factory-replay";
|
|
4
|
-
import type { FactoryTopologyReplayMessages } from "./factory-topology-replay";
|
|
5
|
-
export interface TopologyNodeData extends Record<string, unknown> {
|
|
6
|
-
activityCount: number;
|
|
7
|
-
emptyState?: FactoryVisualizationNodeEmptyState["content"];
|
|
8
|
-
messages: FactoryTopologyReplayMessages;
|
|
9
|
-
node: FactoryTopologyNode;
|
|
10
|
-
occupancy?: {
|
|
11
|
-
capacity?: number;
|
|
12
|
-
evidence: "known" | "unavailable";
|
|
13
|
-
occupied?: number;
|
|
14
|
-
};
|
|
15
|
-
onSelectNode?: (node: FactoryTopologyNode) => void;
|
|
16
|
-
selected: boolean;
|
|
17
|
-
workStateCount?: {
|
|
18
|
-
count?: number;
|
|
19
|
-
evidence: "known" | "unavailable";
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface AnnotationNodeData extends Record<string, unknown> {
|
|
23
|
-
annotation: FactoryVisualizationAnnotation;
|
|
24
|
-
messages: FactoryTopologyReplayMessages;
|
|
25
|
-
}
|
|
26
|
-
export declare const nodeTypes: {
|
|
27
|
-
factoryTopologyAnnotation: typeof FactoryTopologyAnnotationView;
|
|
28
|
-
factoryTopologyNode: typeof FactoryTopologyNodeView;
|
|
29
|
-
};
|
|
30
|
-
declare function FactoryTopologyAnnotationView({ data, }: NodeProps<Node<AnnotationNodeData>>): import("react").JSX.Element;
|
|
31
|
-
declare function FactoryTopologyNodeView({ data }: NodeProps<Node<TopologyNodeData>>): import("react").JSX.Element;
|
|
32
|
-
export {};
|