@medicine-wheel/infra 0.5.6 → 0.5.8
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 +92 -15
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -5
- package/dist/index.js.map +1 -1
- package/dist/preconditions.d.ts +198 -0
- package/dist/preconditions.d.ts.map +1 -0
- package/dist/preconditions.js +181 -0
- package/dist/preconditions.js.map +1 -0
- package/dist/reconcile.d.ts +111 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +130 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/schemas.d.ts +406 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +71 -2
- package/dist/schemas.js.map +1 -1
- package/package.json +2 -2
package/dist/schemas.d.ts
CHANGED
|
@@ -13,6 +13,12 @@ export declare const MetisHoldSchema: z.ZodObject<{
|
|
|
13
13
|
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
14
|
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
15
15
|
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
16
|
+
/**
|
|
17
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
18
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
19
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
20
|
+
* nothing, and only one of those is honest.
|
|
21
|
+
*/
|
|
16
22
|
heldBy: z.ZodOptional<z.ZodString>;
|
|
17
23
|
}, "strip", z.ZodTypeAny, {
|
|
18
24
|
exceptions?: string[] | undefined;
|
|
@@ -77,6 +83,12 @@ export declare const HostFacetSchema: z.ZodObject<{
|
|
|
77
83
|
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
78
84
|
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
79
85
|
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
86
|
+
/**
|
|
87
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
88
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
89
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
90
|
+
* nothing, and only one of those is honest.
|
|
91
|
+
*/
|
|
80
92
|
heldBy: z.ZodOptional<z.ZodString>;
|
|
81
93
|
}, "strip", z.ZodTypeAny, {
|
|
82
94
|
exceptions?: string[] | undefined;
|
|
@@ -125,6 +137,12 @@ export declare const TenantFacetSchema: z.ZodObject<{
|
|
|
125
137
|
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
126
138
|
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
127
139
|
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
140
|
+
/**
|
|
141
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
142
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
143
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
144
|
+
* nothing, and only one of those is honest.
|
|
145
|
+
*/
|
|
128
146
|
heldBy: z.ZodOptional<z.ZodString>;
|
|
129
147
|
}, "strip", z.ZodTypeAny, {
|
|
130
148
|
exceptions?: string[] | undefined;
|
|
@@ -191,6 +209,12 @@ export declare const ServiceFacetSchema: z.ZodObject<{
|
|
|
191
209
|
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
192
210
|
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
193
211
|
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
212
|
+
/**
|
|
213
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
214
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
215
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
216
|
+
* nothing, and only one of those is honest.
|
|
217
|
+
*/
|
|
194
218
|
heldBy: z.ZodOptional<z.ZodString>;
|
|
195
219
|
}, "strip", z.ZodTypeAny, {
|
|
196
220
|
exceptions?: string[] | undefined;
|
|
@@ -242,10 +266,392 @@ export declare const ServiceFacetSchema: z.ZodObject<{
|
|
|
242
266
|
workingDirectory?: string | undefined;
|
|
243
267
|
execStop?: string | undefined;
|
|
244
268
|
}>;
|
|
269
|
+
export declare const PreconditionKindSchema: z.ZodEnum<["linger", "port-free", "unit-present", "working-directory"]>;
|
|
270
|
+
/**
|
|
271
|
+
* `observed` is `.optional()` and NOT `.default()`. An unread fact must stay
|
|
272
|
+
* distinguishable from a read one — a default would quietly turn "nobody looked"
|
|
273
|
+
* into a value, which is the exact confusion `preconditionGuard` returns
|
|
274
|
+
* `unknown` to prevent.
|
|
275
|
+
*/
|
|
276
|
+
export declare const MachineFactSchema: z.ZodObject<{
|
|
277
|
+
kind: z.ZodEnum<["linger", "port-free", "unit-present", "working-directory"]>;
|
|
278
|
+
facetNodeId: z.ZodString;
|
|
279
|
+
expected: z.ZodString;
|
|
280
|
+
observed: z.ZodOptional<z.ZodString>;
|
|
281
|
+
observedAt: z.ZodOptional<z.ZodString>;
|
|
282
|
+
}, "strip", z.ZodTypeAny, {
|
|
283
|
+
expected: string;
|
|
284
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
285
|
+
facetNodeId: string;
|
|
286
|
+
observed?: string | undefined;
|
|
287
|
+
observedAt?: string | undefined;
|
|
288
|
+
}, {
|
|
289
|
+
expected: string;
|
|
290
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
291
|
+
facetNodeId: string;
|
|
292
|
+
observed?: string | undefined;
|
|
293
|
+
observedAt?: string | undefined;
|
|
294
|
+
}>;
|
|
295
|
+
/**
|
|
296
|
+
* `state` is a bare string, not an enum. `infra` records what the consent
|
|
297
|
+
* lifecycle said; it does not get to decide which states exist, and an enum here
|
|
298
|
+
* would let this package reject a state the lifecycle legitimately issued.
|
|
299
|
+
*/
|
|
300
|
+
export declare const ConsentReferenceSchema: z.ZodObject<{
|
|
301
|
+
consentId: z.ZodString;
|
|
302
|
+
state: z.ZodOptional<z.ZodString>;
|
|
303
|
+
readAt: z.ZodOptional<z.ZodString>;
|
|
304
|
+
}, "strip", z.ZodTypeAny, {
|
|
305
|
+
consentId: string;
|
|
306
|
+
state?: string | undefined;
|
|
307
|
+
readAt?: string | undefined;
|
|
308
|
+
}, {
|
|
309
|
+
consentId: string;
|
|
310
|
+
state?: string | undefined;
|
|
311
|
+
readAt?: string | undefined;
|
|
312
|
+
}>;
|
|
313
|
+
export declare const PreconditionSchema: z.ZodObject<{
|
|
314
|
+
id: z.ZodString;
|
|
315
|
+
gates: z.ZodString;
|
|
316
|
+
description: z.ZodOptional<z.ZodString>;
|
|
317
|
+
fact: z.ZodOptional<z.ZodObject<{
|
|
318
|
+
kind: z.ZodEnum<["linger", "port-free", "unit-present", "working-directory"]>;
|
|
319
|
+
facetNodeId: z.ZodString;
|
|
320
|
+
expected: z.ZodString;
|
|
321
|
+
observed: z.ZodOptional<z.ZodString>;
|
|
322
|
+
observedAt: z.ZodOptional<z.ZodString>;
|
|
323
|
+
}, "strip", z.ZodTypeAny, {
|
|
324
|
+
expected: string;
|
|
325
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
326
|
+
facetNodeId: string;
|
|
327
|
+
observed?: string | undefined;
|
|
328
|
+
observedAt?: string | undefined;
|
|
329
|
+
}, {
|
|
330
|
+
expected: string;
|
|
331
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
332
|
+
facetNodeId: string;
|
|
333
|
+
observed?: string | undefined;
|
|
334
|
+
observedAt?: string | undefined;
|
|
335
|
+
}>>;
|
|
336
|
+
consent: z.ZodOptional<z.ZodObject<{
|
|
337
|
+
consentId: z.ZodString;
|
|
338
|
+
state: z.ZodOptional<z.ZodString>;
|
|
339
|
+
readAt: z.ZodOptional<z.ZodString>;
|
|
340
|
+
}, "strip", z.ZodTypeAny, {
|
|
341
|
+
consentId: string;
|
|
342
|
+
state?: string | undefined;
|
|
343
|
+
readAt?: string | undefined;
|
|
344
|
+
}, {
|
|
345
|
+
consentId: string;
|
|
346
|
+
state?: string | undefined;
|
|
347
|
+
readAt?: string | undefined;
|
|
348
|
+
}>>;
|
|
349
|
+
metis: z.ZodOptional<z.ZodObject<{
|
|
350
|
+
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
351
|
+
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
352
|
+
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
353
|
+
/**
|
|
354
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
355
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
356
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
357
|
+
* nothing, and only one of those is honest.
|
|
358
|
+
*/
|
|
359
|
+
heldBy: z.ZodOptional<z.ZodString>;
|
|
360
|
+
}, "strip", z.ZodTypeAny, {
|
|
361
|
+
exceptions?: string[] | undefined;
|
|
362
|
+
invisibleWork?: string[] | undefined;
|
|
363
|
+
notes?: string[] | undefined;
|
|
364
|
+
heldBy?: string | undefined;
|
|
365
|
+
}, {
|
|
366
|
+
exceptions?: string[] | undefined;
|
|
367
|
+
invisibleWork?: string[] | undefined;
|
|
368
|
+
notes?: string[] | undefined;
|
|
369
|
+
heldBy?: string | undefined;
|
|
370
|
+
}>>;
|
|
371
|
+
}, "strip", z.ZodTypeAny, {
|
|
372
|
+
id: string;
|
|
373
|
+
gates: string;
|
|
374
|
+
metis?: {
|
|
375
|
+
exceptions?: string[] | undefined;
|
|
376
|
+
invisibleWork?: string[] | undefined;
|
|
377
|
+
notes?: string[] | undefined;
|
|
378
|
+
heldBy?: string | undefined;
|
|
379
|
+
} | undefined;
|
|
380
|
+
description?: string | undefined;
|
|
381
|
+
fact?: {
|
|
382
|
+
expected: string;
|
|
383
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
384
|
+
facetNodeId: string;
|
|
385
|
+
observed?: string | undefined;
|
|
386
|
+
observedAt?: string | undefined;
|
|
387
|
+
} | undefined;
|
|
388
|
+
consent?: {
|
|
389
|
+
consentId: string;
|
|
390
|
+
state?: string | undefined;
|
|
391
|
+
readAt?: string | undefined;
|
|
392
|
+
} | undefined;
|
|
393
|
+
}, {
|
|
394
|
+
id: string;
|
|
395
|
+
gates: string;
|
|
396
|
+
metis?: {
|
|
397
|
+
exceptions?: string[] | undefined;
|
|
398
|
+
invisibleWork?: string[] | undefined;
|
|
399
|
+
notes?: string[] | undefined;
|
|
400
|
+
heldBy?: string | undefined;
|
|
401
|
+
} | undefined;
|
|
402
|
+
description?: string | undefined;
|
|
403
|
+
fact?: {
|
|
404
|
+
expected: string;
|
|
405
|
+
kind: "linger" | "port-free" | "unit-present" | "working-directory";
|
|
406
|
+
facetNodeId: string;
|
|
407
|
+
observed?: string | undefined;
|
|
408
|
+
observedAt?: string | undefined;
|
|
409
|
+
} | undefined;
|
|
410
|
+
consent?: {
|
|
411
|
+
consentId: string;
|
|
412
|
+
state?: string | undefined;
|
|
413
|
+
readAt?: string | undefined;
|
|
414
|
+
} | undefined;
|
|
415
|
+
}>;
|
|
416
|
+
export declare const PreconditionVerdictSchema: z.ZodEnum<["satisfied", "unsatisfied", "unauthorized", "unknown"]>;
|
|
417
|
+
export declare const DriftStateSchema: z.ZodEnum<["converged", "drifted", "unrealized", "undeclared"]>;
|
|
418
|
+
/**
|
|
419
|
+
* `observedBy` and `observedAt` are required. An observation without a reader
|
|
420
|
+
* and a time is a rumour, and this schema is the boundary that refuses one.
|
|
421
|
+
*/
|
|
422
|
+
export declare const ObservedStateSchema: z.ZodObject<{
|
|
423
|
+
observedBy: z.ZodString;
|
|
424
|
+
/**
|
|
425
|
+
* `.datetime()`, not `.min(1)`. An unparseable stamp made `observationAgeMs`
|
|
426
|
+
* vanish from the result — the same output as "no `now` was given" — so a
|
|
427
|
+
* caller whose entire reason to read that field is *refuse a stale reading*
|
|
428
|
+
* could not tell a garbage timestamp from a deliberate clock-free call, and
|
|
429
|
+
* would proceed.
|
|
430
|
+
*/
|
|
431
|
+
observedAt: z.ZodString;
|
|
432
|
+
services: z.ZodArray<z.ZodObject<{
|
|
433
|
+
nodeId: z.ZodString;
|
|
434
|
+
unit: z.ZodString;
|
|
435
|
+
scope: z.ZodEnum<["user", "system"]>;
|
|
436
|
+
ownedBy: z.ZodString;
|
|
437
|
+
ports: z.ZodArray<z.ZodObject<{
|
|
438
|
+
port: z.ZodNumber;
|
|
439
|
+
proto: z.ZodOptional<z.ZodEnum<["tcp", "udp"]>>;
|
|
440
|
+
host: z.ZodString;
|
|
441
|
+
boundBy: z.ZodString;
|
|
442
|
+
}, "strip", z.ZodTypeAny, {
|
|
443
|
+
host: string;
|
|
444
|
+
port: number;
|
|
445
|
+
boundBy: string;
|
|
446
|
+
proto?: "tcp" | "udp" | undefined;
|
|
447
|
+
}, {
|
|
448
|
+
host: string;
|
|
449
|
+
port: number;
|
|
450
|
+
boundBy: string;
|
|
451
|
+
proto?: "tcp" | "udp" | undefined;
|
|
452
|
+
}>, "many">;
|
|
453
|
+
workingDirectory: z.ZodOptional<z.ZodString>;
|
|
454
|
+
execStop: z.ZodOptional<z.ZodString>;
|
|
455
|
+
metis: z.ZodOptional<z.ZodObject<{
|
|
456
|
+
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
457
|
+
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
458
|
+
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
459
|
+
/**
|
|
460
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
461
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
462
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
463
|
+
* nothing, and only one of those is honest.
|
|
464
|
+
*/
|
|
465
|
+
heldBy: z.ZodOptional<z.ZodString>;
|
|
466
|
+
}, "strip", z.ZodTypeAny, {
|
|
467
|
+
exceptions?: string[] | undefined;
|
|
468
|
+
invisibleWork?: string[] | undefined;
|
|
469
|
+
notes?: string[] | undefined;
|
|
470
|
+
heldBy?: string | undefined;
|
|
471
|
+
}, {
|
|
472
|
+
exceptions?: string[] | undefined;
|
|
473
|
+
invisibleWork?: string[] | undefined;
|
|
474
|
+
notes?: string[] | undefined;
|
|
475
|
+
heldBy?: string | undefined;
|
|
476
|
+
}>>;
|
|
477
|
+
}, "strip", z.ZodTypeAny, {
|
|
478
|
+
nodeId: string;
|
|
479
|
+
unit: string;
|
|
480
|
+
scope: "user" | "system";
|
|
481
|
+
ownedBy: string;
|
|
482
|
+
ports: {
|
|
483
|
+
host: string;
|
|
484
|
+
port: number;
|
|
485
|
+
boundBy: string;
|
|
486
|
+
proto?: "tcp" | "udp" | undefined;
|
|
487
|
+
}[];
|
|
488
|
+
metis?: {
|
|
489
|
+
exceptions?: string[] | undefined;
|
|
490
|
+
invisibleWork?: string[] | undefined;
|
|
491
|
+
notes?: string[] | undefined;
|
|
492
|
+
heldBy?: string | undefined;
|
|
493
|
+
} | undefined;
|
|
494
|
+
workingDirectory?: string | undefined;
|
|
495
|
+
execStop?: string | undefined;
|
|
496
|
+
}, {
|
|
497
|
+
nodeId: string;
|
|
498
|
+
unit: string;
|
|
499
|
+
scope: "user" | "system";
|
|
500
|
+
ownedBy: string;
|
|
501
|
+
ports: {
|
|
502
|
+
host: string;
|
|
503
|
+
port: number;
|
|
504
|
+
boundBy: string;
|
|
505
|
+
proto?: "tcp" | "udp" | undefined;
|
|
506
|
+
}[];
|
|
507
|
+
metis?: {
|
|
508
|
+
exceptions?: string[] | undefined;
|
|
509
|
+
invisibleWork?: string[] | undefined;
|
|
510
|
+
notes?: string[] | undefined;
|
|
511
|
+
heldBy?: string | undefined;
|
|
512
|
+
} | undefined;
|
|
513
|
+
workingDirectory?: string | undefined;
|
|
514
|
+
execStop?: string | undefined;
|
|
515
|
+
}>, "many">;
|
|
516
|
+
tenants: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
517
|
+
nodeId: z.ZodString;
|
|
518
|
+
account: z.ZodString;
|
|
519
|
+
uid: z.ZodOptional<z.ZodNumber>;
|
|
520
|
+
home: z.ZodOptional<z.ZodString>;
|
|
521
|
+
onHost: z.ZodString;
|
|
522
|
+
linger: z.ZodEnum<["enabled", "disabled", "unknown"]>;
|
|
523
|
+
metis: z.ZodOptional<z.ZodObject<{
|
|
524
|
+
exceptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
525
|
+
invisibleWork: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
526
|
+
notes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
527
|
+
/**
|
|
528
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
529
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
530
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
531
|
+
* nothing, and only one of those is honest.
|
|
532
|
+
*/
|
|
533
|
+
heldBy: z.ZodOptional<z.ZodString>;
|
|
534
|
+
}, "strip", z.ZodTypeAny, {
|
|
535
|
+
exceptions?: string[] | undefined;
|
|
536
|
+
invisibleWork?: string[] | undefined;
|
|
537
|
+
notes?: string[] | undefined;
|
|
538
|
+
heldBy?: string | undefined;
|
|
539
|
+
}, {
|
|
540
|
+
exceptions?: string[] | undefined;
|
|
541
|
+
invisibleWork?: string[] | undefined;
|
|
542
|
+
notes?: string[] | undefined;
|
|
543
|
+
heldBy?: string | undefined;
|
|
544
|
+
}>>;
|
|
545
|
+
}, "strip", z.ZodTypeAny, {
|
|
546
|
+
nodeId: string;
|
|
547
|
+
account: string;
|
|
548
|
+
onHost: string;
|
|
549
|
+
linger: "enabled" | "disabled" | "unknown";
|
|
550
|
+
metis?: {
|
|
551
|
+
exceptions?: string[] | undefined;
|
|
552
|
+
invisibleWork?: string[] | undefined;
|
|
553
|
+
notes?: string[] | undefined;
|
|
554
|
+
heldBy?: string | undefined;
|
|
555
|
+
} | undefined;
|
|
556
|
+
uid?: number | undefined;
|
|
557
|
+
home?: string | undefined;
|
|
558
|
+
}, {
|
|
559
|
+
nodeId: string;
|
|
560
|
+
account: string;
|
|
561
|
+
onHost: string;
|
|
562
|
+
linger: "enabled" | "disabled" | "unknown";
|
|
563
|
+
metis?: {
|
|
564
|
+
exceptions?: string[] | undefined;
|
|
565
|
+
invisibleWork?: string[] | undefined;
|
|
566
|
+
notes?: string[] | undefined;
|
|
567
|
+
heldBy?: string | undefined;
|
|
568
|
+
} | undefined;
|
|
569
|
+
uid?: number | undefined;
|
|
570
|
+
home?: string | undefined;
|
|
571
|
+
}>, "many">>;
|
|
572
|
+
}, "strip", z.ZodTypeAny, {
|
|
573
|
+
observedAt: string;
|
|
574
|
+
observedBy: string;
|
|
575
|
+
services: {
|
|
576
|
+
nodeId: string;
|
|
577
|
+
unit: string;
|
|
578
|
+
scope: "user" | "system";
|
|
579
|
+
ownedBy: string;
|
|
580
|
+
ports: {
|
|
581
|
+
host: string;
|
|
582
|
+
port: number;
|
|
583
|
+
boundBy: string;
|
|
584
|
+
proto?: "tcp" | "udp" | undefined;
|
|
585
|
+
}[];
|
|
586
|
+
metis?: {
|
|
587
|
+
exceptions?: string[] | undefined;
|
|
588
|
+
invisibleWork?: string[] | undefined;
|
|
589
|
+
notes?: string[] | undefined;
|
|
590
|
+
heldBy?: string | undefined;
|
|
591
|
+
} | undefined;
|
|
592
|
+
workingDirectory?: string | undefined;
|
|
593
|
+
execStop?: string | undefined;
|
|
594
|
+
}[];
|
|
595
|
+
tenants?: {
|
|
596
|
+
nodeId: string;
|
|
597
|
+
account: string;
|
|
598
|
+
onHost: string;
|
|
599
|
+
linger: "enabled" | "disabled" | "unknown";
|
|
600
|
+
metis?: {
|
|
601
|
+
exceptions?: string[] | undefined;
|
|
602
|
+
invisibleWork?: string[] | undefined;
|
|
603
|
+
notes?: string[] | undefined;
|
|
604
|
+
heldBy?: string | undefined;
|
|
605
|
+
} | undefined;
|
|
606
|
+
uid?: number | undefined;
|
|
607
|
+
home?: string | undefined;
|
|
608
|
+
}[] | undefined;
|
|
609
|
+
}, {
|
|
610
|
+
observedAt: string;
|
|
611
|
+
observedBy: string;
|
|
612
|
+
services: {
|
|
613
|
+
nodeId: string;
|
|
614
|
+
unit: string;
|
|
615
|
+
scope: "user" | "system";
|
|
616
|
+
ownedBy: string;
|
|
617
|
+
ports: {
|
|
618
|
+
host: string;
|
|
619
|
+
port: number;
|
|
620
|
+
boundBy: string;
|
|
621
|
+
proto?: "tcp" | "udp" | undefined;
|
|
622
|
+
}[];
|
|
623
|
+
metis?: {
|
|
624
|
+
exceptions?: string[] | undefined;
|
|
625
|
+
invisibleWork?: string[] | undefined;
|
|
626
|
+
notes?: string[] | undefined;
|
|
627
|
+
heldBy?: string | undefined;
|
|
628
|
+
} | undefined;
|
|
629
|
+
workingDirectory?: string | undefined;
|
|
630
|
+
execStop?: string | undefined;
|
|
631
|
+
}[];
|
|
632
|
+
tenants?: {
|
|
633
|
+
nodeId: string;
|
|
634
|
+
account: string;
|
|
635
|
+
onHost: string;
|
|
636
|
+
linger: "enabled" | "disabled" | "unknown";
|
|
637
|
+
metis?: {
|
|
638
|
+
exceptions?: string[] | undefined;
|
|
639
|
+
invisibleWork?: string[] | undefined;
|
|
640
|
+
notes?: string[] | undefined;
|
|
641
|
+
heldBy?: string | undefined;
|
|
642
|
+
} | undefined;
|
|
643
|
+
uid?: number | undefined;
|
|
644
|
+
home?: string | undefined;
|
|
645
|
+
}[] | undefined;
|
|
646
|
+
}>;
|
|
245
647
|
export type ValidatedMetisHold = z.infer<typeof MetisHoldSchema>;
|
|
246
648
|
export type ValidatedPortBinding = z.infer<typeof PortBindingSchema>;
|
|
247
649
|
export type ValidatedPortConflict = z.infer<typeof PortConflictSchema>;
|
|
248
650
|
export type ValidatedHostFacet = z.infer<typeof HostFacetSchema>;
|
|
249
651
|
export type ValidatedTenantFacet = z.infer<typeof TenantFacetSchema>;
|
|
250
652
|
export type ValidatedServiceFacet = z.infer<typeof ServiceFacetSchema>;
|
|
653
|
+
export type ValidatedMachineFact = z.infer<typeof MachineFactSchema>;
|
|
654
|
+
export type ValidatedConsentReference = z.infer<typeof ConsentReferenceSchema>;
|
|
655
|
+
export type ValidatedPrecondition = z.infer<typeof PreconditionSchema>;
|
|
656
|
+
export type ValidatedObservedState = z.infer<typeof ObservedStateSchema>;
|
|
251
657
|
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -10,14 +10,20 @@
|
|
|
10
10
|
* Spec: /opt/eury/rispecs/foundations/02-specifications.md §S1.
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.ServiceFacetSchema = exports.TenantFacetSchema = exports.HostFacetSchema = exports.PortConflictSchema = exports.PortBindingSchema = exports.PortNumberSchema = exports.ServiceScopeSchema = exports.PortProtoSchema = exports.ReachabilitySchema = exports.LingerStateSchema = exports.MetisHoldSchema = void 0;
|
|
13
|
+
exports.ObservedStateSchema = exports.DriftStateSchema = exports.PreconditionVerdictSchema = exports.PreconditionSchema = exports.ConsentReferenceSchema = exports.MachineFactSchema = exports.PreconditionKindSchema = exports.ServiceFacetSchema = exports.TenantFacetSchema = exports.HostFacetSchema = exports.PortConflictSchema = exports.PortBindingSchema = exports.PortNumberSchema = exports.ServiceScopeSchema = exports.PortProtoSchema = exports.ReachabilitySchema = exports.LingerStateSchema = exports.MetisHoldSchema = void 0;
|
|
14
14
|
const zod_1 = require("zod");
|
|
15
15
|
// ── Métis (S5) ──────────────────────────────────────────────────────────────
|
|
16
16
|
exports.MetisHoldSchema = zod_1.z.object({
|
|
17
17
|
exceptions: zod_1.z.array(zod_1.z.string()).optional(),
|
|
18
18
|
invisibleWork: zod_1.z.array(zod_1.z.string()).optional(),
|
|
19
19
|
notes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* `.min(1)` is load-bearing. An empty string passes every other check while
|
|
22
|
+
* anonymising the carrier — which is precisely the erasure this field exists
|
|
23
|
+
* to refuse. Absent means nobody was named; empty means somebody was named
|
|
24
|
+
* nothing, and only one of those is honest.
|
|
25
|
+
*/
|
|
26
|
+
heldBy: zod_1.z.string().min(1).optional(),
|
|
21
27
|
});
|
|
22
28
|
// ── Enumerations ────────────────────────────────────────────────────────────
|
|
23
29
|
exports.LingerStateSchema = zod_1.z.enum(['enabled', 'disabled', 'unknown']);
|
|
@@ -71,4 +77,67 @@ exports.ServiceFacetSchema = zod_1.z.object({
|
|
|
71
77
|
execStop: zod_1.z.string().optional(),
|
|
72
78
|
metis: exports.MetisHoldSchema.optional(),
|
|
73
79
|
});
|
|
80
|
+
// ── Preconditions (S4) ──────────────────────────────────────────────────────
|
|
81
|
+
exports.PreconditionKindSchema = zod_1.z.enum([
|
|
82
|
+
'linger',
|
|
83
|
+
'port-free',
|
|
84
|
+
'unit-present',
|
|
85
|
+
'working-directory',
|
|
86
|
+
]);
|
|
87
|
+
/**
|
|
88
|
+
* `observed` is `.optional()` and NOT `.default()`. An unread fact must stay
|
|
89
|
+
* distinguishable from a read one — a default would quietly turn "nobody looked"
|
|
90
|
+
* into a value, which is the exact confusion `preconditionGuard` returns
|
|
91
|
+
* `unknown` to prevent.
|
|
92
|
+
*/
|
|
93
|
+
exports.MachineFactSchema = zod_1.z.object({
|
|
94
|
+
kind: exports.PreconditionKindSchema,
|
|
95
|
+
facetNodeId: zod_1.z.string().min(1),
|
|
96
|
+
expected: zod_1.z.string(),
|
|
97
|
+
observed: zod_1.z.string().optional(),
|
|
98
|
+
observedAt: zod_1.z.string().optional(),
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* `state` is a bare string, not an enum. `infra` records what the consent
|
|
102
|
+
* lifecycle said; it does not get to decide which states exist, and an enum here
|
|
103
|
+
* would let this package reject a state the lifecycle legitimately issued.
|
|
104
|
+
*/
|
|
105
|
+
exports.ConsentReferenceSchema = zod_1.z.object({
|
|
106
|
+
consentId: zod_1.z.string().min(1),
|
|
107
|
+
state: zod_1.z.string().optional(),
|
|
108
|
+
readAt: zod_1.z.string().optional(),
|
|
109
|
+
});
|
|
110
|
+
exports.PreconditionSchema = zod_1.z.object({
|
|
111
|
+
id: zod_1.z.string().min(1),
|
|
112
|
+
gates: zod_1.z.string().min(1),
|
|
113
|
+
description: zod_1.z.string().optional(),
|
|
114
|
+
fact: exports.MachineFactSchema.optional(),
|
|
115
|
+
consent: exports.ConsentReferenceSchema.optional(),
|
|
116
|
+
metis: exports.MetisHoldSchema.optional(),
|
|
117
|
+
});
|
|
118
|
+
exports.PreconditionVerdictSchema = zod_1.z.enum([
|
|
119
|
+
'satisfied',
|
|
120
|
+
'unsatisfied',
|
|
121
|
+
'unauthorized',
|
|
122
|
+
'unknown',
|
|
123
|
+
]);
|
|
124
|
+
// ── Observed state & drift (S6) ─────────────────────────────────────────────
|
|
125
|
+
exports.DriftStateSchema = zod_1.z.enum(['converged', 'drifted', 'unrealized', 'undeclared']);
|
|
126
|
+
/**
|
|
127
|
+
* `observedBy` and `observedAt` are required. An observation without a reader
|
|
128
|
+
* and a time is a rumour, and this schema is the boundary that refuses one.
|
|
129
|
+
*/
|
|
130
|
+
exports.ObservedStateSchema = zod_1.z.object({
|
|
131
|
+
observedBy: zod_1.z.string().min(1),
|
|
132
|
+
/**
|
|
133
|
+
* `.datetime()`, not `.min(1)`. An unparseable stamp made `observationAgeMs`
|
|
134
|
+
* vanish from the result — the same output as "no `now` was given" — so a
|
|
135
|
+
* caller whose entire reason to read that field is *refuse a stale reading*
|
|
136
|
+
* could not tell a garbage timestamp from a deliberate clock-free call, and
|
|
137
|
+
* would proceed.
|
|
138
|
+
*/
|
|
139
|
+
observedAt: zod_1.z.string().datetime(),
|
|
140
|
+
services: zod_1.z.array(exports.ServiceFacetSchema),
|
|
141
|
+
tenants: zod_1.z.array(exports.TenantFacetSchema).optional(),
|
|
142
|
+
});
|
|
74
143
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,6BAAwB;AAExB,+EAA+E;AAElE,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medicine-wheel/infra",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.8",
|
|
4
4
|
"description": "Typed infrastructure facets for the Medicine Wheel Developer Suite — hosts, tenants, services, and port bindings as facets keyed by relational node id, with port-conflict detection over declared ∪ observed state",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"directory": "src/infra"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@medicine-wheel/ontology-core": "^0.5.
|
|
56
|
+
"@medicine-wheel/ontology-core": "^0.5.8",
|
|
57
57
|
"zod": "^3.23.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|