@eir-labs/coltrane 0.8.1 → 0.9.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.
@@ -2377,4 +2377,506 @@ export declare function venueDefect(venue: VenueOutput): string | null;
2377
2377
  type JsonType = "string" | "number" | "boolean" | "array" | "object";
2378
2378
  /** The MCP `properties` map (field → JSON type) for a genome class schema. */
2379
2379
  export declare function zodToMcpProps(schema: z.ZodObject<z.ZodRawShape>): Record<string, JsonType>;
2380
+ /** How a Resource REFILLS, expressed in the resource's OWN unit — a monthly seat renews, a one-off
2381
+ * purchase does not, a rate-based capacity decays. `quantity` is a magnitude in the SAME unit the
2382
+ * Resource declares; `per_period` is the cadence it renews over (absent for a one-off). NOTHING
2383
+ * here converts between units — replenishment is a quantity-over-time in one unit, never a rate
2384
+ * table that would smuggle an exchange rate in. */
2385
+ export declare const ReplenishmentSchema: z.ZodObject<{
2386
+ kind: z.ZodEnum<["renewing", "one_off", "rate_based"]>;
2387
+ /** The magnitude that refills each period, in the Resource's OWN unit. Zero for a pure one-off. */
2388
+ quantity: z.ZodNumber;
2389
+ /** The cadence the quantity renews over (e.g. "monthly", "2026-Q3"). Absent for a one-off. */
2390
+ per_period: z.ZodOptional<z.ZodString>;
2391
+ }, "strict", z.ZodTypeAny, {
2392
+ kind: "renewing" | "one_off" | "rate_based";
2393
+ quantity: number;
2394
+ per_period?: string | undefined;
2395
+ }, {
2396
+ kind: "renewing" | "one_off" | "rate_based";
2397
+ quantity: number;
2398
+ per_period?: string | undefined;
2399
+ }>;
2400
+ /** One draw against declared capacity — UNIT-TAGGED. A booking draws a VECTOR of these; over-commitment
2401
+ * is checked per unit with NO exchange rate anywhere. */
2402
+ export declare const DrawSchema: z.ZodObject<{
2403
+ resource_slug: z.ZodString;
2404
+ unit: z.ZodString;
2405
+ quantity: z.ZodNumber;
2406
+ }, "strict", z.ZodTypeAny, {
2407
+ quantity: number;
2408
+ resource_slug: string;
2409
+ unit: string;
2410
+ }, {
2411
+ quantity: number;
2412
+ resource_slug: string;
2413
+ unit: string;
2414
+ }>;
2415
+ /** Capacity as its OWN class. A holding of some opaque, non-convertible `unit` by a `holder` (an
2416
+ * organization slug), for a `period`, transferable across organizations or not. `replenishment` is
2417
+ * OPTIONAL and describes how the holding refills IN ITS OWN UNIT — one Resource definition serves a
2418
+ * renewing, one-off, or rate-based holding without a parallel ledger that could disagree. */
2419
+ export declare const ResourceSchema: z.ZodObject<{
2420
+ slug: z.ZodString;
2421
+ holder: z.ZodString;
2422
+ quantity: z.ZodNumber;
2423
+ unit: z.ZodString;
2424
+ /**
2425
+ * REQUIRED, and it must stay required — this field is what makes a Resource a BUDGET rather
2426
+ * than a running balance, and the difference is load-bearing.
2427
+ *
2428
+ * A Resource is "this much, over this window". Capacity is settled ONCE, at declaration, and
2429
+ * held as a commitment for the window; anything continuous underneath it — a decaying holding,
2430
+ * a replenishing one — determines the NEXT declaration rather than being read live inside this
2431
+ * one. That is what a budget is, and it is consistent with a layer whose subject is committed
2432
+ * work: a commitment is a stored fact even when it was computed from something continuous.
2433
+ *
2434
+ * WHAT BREAKS IF THIS GOES OPTIONAL. The tempting change is a one-off holding that "has no
2435
+ * window" — it feels like it should not need one. But a quantity with no window is a running
2436
+ * balance, and a running balance is continuously readable: ask `checkTourCapacity` enough
2437
+ * times with varying draws and binary search recovers the holder's exact remaining capacity.
2438
+ *
2439
+ * For units whose magnitude is private — a pair's earned standing, an org's runway — that is an
2440
+ * arbitrary-precision oracle reconstructed from an admissibility check that was never meant to
2441
+ * answer it. The window is what stops it: within a period the answer is a fixed declared number
2442
+ * the holder chose to commit, not a live reading of what they have.
2443
+ *
2444
+ * So a one-off holding still declares its window. It is not bureaucracy; it is the reason the
2445
+ * check can be offered at all.
2446
+ */
2447
+ period: z.ZodString;
2448
+ transferable: z.ZodBoolean;
2449
+ replenishment: z.ZodOptional<z.ZodObject<{
2450
+ kind: z.ZodEnum<["renewing", "one_off", "rate_based"]>;
2451
+ /** The magnitude that refills each period, in the Resource's OWN unit. Zero for a pure one-off. */
2452
+ quantity: z.ZodNumber;
2453
+ /** The cadence the quantity renews over (e.g. "monthly", "2026-Q3"). Absent for a one-off. */
2454
+ per_period: z.ZodOptional<z.ZodString>;
2455
+ }, "strict", z.ZodTypeAny, {
2456
+ kind: "renewing" | "one_off" | "rate_based";
2457
+ quantity: number;
2458
+ per_period?: string | undefined;
2459
+ }, {
2460
+ kind: "renewing" | "one_off" | "rate_based";
2461
+ quantity: number;
2462
+ per_period?: string | undefined;
2463
+ }>>;
2464
+ }, "strict", z.ZodTypeAny, {
2465
+ slug: string;
2466
+ quantity: number;
2467
+ unit: string;
2468
+ holder: string;
2469
+ period: string;
2470
+ transferable: boolean;
2471
+ replenishment?: {
2472
+ kind: "renewing" | "one_off" | "rate_based";
2473
+ quantity: number;
2474
+ per_period?: string | undefined;
2475
+ } | undefined;
2476
+ }, {
2477
+ slug: string;
2478
+ quantity: number;
2479
+ unit: string;
2480
+ holder: string;
2481
+ period: string;
2482
+ transferable: boolean;
2483
+ replenishment?: {
2484
+ kind: "renewing" | "one_off" | "rate_based";
2485
+ quantity: number;
2486
+ per_period?: string | undefined;
2487
+ } | undefined;
2488
+ }>;
2489
+ /** One commitment in the binding middle place: the four load-bearing fields (aim, period,
2490
+ * accountable_office, acceptance) plus its draws, lifecycle and served north stars. `amount` is
2491
+ * OPTIONAL — a real commitment can have no price. `acceptance` and `antecedent` reuse the ONE
2492
+ * predicate form; `tier` reuses NormPairSchema's enum. */
2493
+ export declare const BookingSchema: z.ZodObject<{
2494
+ slug: z.ZodString;
2495
+ aim: z.ZodString;
2496
+ amount: z.ZodOptional<z.ZodNumber>;
2497
+ period: z.ZodString;
2498
+ accountable_office: z.ZodString;
2499
+ acceptance: z.ZodObject<{
2500
+ /** A normalized, serializable predicate (e.g. an s-expression) an evaluator invokes. */
2501
+ predicate: z.ZodString;
2502
+ /** The typed inputs the predicate reads: input name → its type name. */
2503
+ inputs: z.ZodRecord<z.ZodString, z.ZodString>;
2504
+ }, "strict", z.ZodTypeAny, {
2505
+ predicate: string;
2506
+ inputs: Record<string, string>;
2507
+ }, {
2508
+ predicate: string;
2509
+ inputs: Record<string, string>;
2510
+ }>;
2511
+ draws: z.ZodDefault<z.ZodArray<z.ZodObject<{
2512
+ resource_slug: z.ZodString;
2513
+ unit: z.ZodString;
2514
+ quantity: z.ZodNumber;
2515
+ }, "strict", z.ZodTypeAny, {
2516
+ quantity: number;
2517
+ resource_slug: string;
2518
+ unit: string;
2519
+ }, {
2520
+ quantity: number;
2521
+ resource_slug: string;
2522
+ unit: string;
2523
+ }>, "many">>;
2524
+ served_northstars: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2525
+ tier: z.ZodOptional<z.ZodEnum<["declared", "enforced"]>>;
2526
+ lifecycle: z.ZodObject<{
2527
+ state: z.ZodEnum<["conditional", "active", "pending", "satisfied", "violated", "expired", "cancelled", "released"]>;
2528
+ debtor: z.ZodString;
2529
+ creditor: z.ZodString;
2530
+ log: z.ZodDefault<z.ZodArray<z.ZodObject<{
2531
+ op: z.ZodEnum<["create", "detach", "discharge", "cancel", "release", "delegate", "assign"]>;
2532
+ by: z.ZodOptional<z.ZodEnum<["debtor", "creditor"]>>;
2533
+ residual_debtor: z.ZodOptional<z.ZodString>;
2534
+ }, "strict", z.ZodTypeAny, {
2535
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2536
+ by?: "debtor" | "creditor" | undefined;
2537
+ residual_debtor?: string | undefined;
2538
+ }, {
2539
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2540
+ by?: "debtor" | "creditor" | undefined;
2541
+ residual_debtor?: string | undefined;
2542
+ }>, "many">>;
2543
+ }, "strict", z.ZodTypeAny, {
2544
+ debtor: string;
2545
+ creditor: string;
2546
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2547
+ log: {
2548
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2549
+ by?: "debtor" | "creditor" | undefined;
2550
+ residual_debtor?: string | undefined;
2551
+ }[];
2552
+ }, {
2553
+ debtor: string;
2554
+ creditor: string;
2555
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2556
+ log?: {
2557
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2558
+ by?: "debtor" | "creditor" | undefined;
2559
+ residual_debtor?: string | undefined;
2560
+ }[] | undefined;
2561
+ }>;
2562
+ settled_gig_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2563
+ antecedent: z.ZodOptional<z.ZodObject<{
2564
+ /** A normalized, serializable predicate (e.g. an s-expression) an evaluator invokes. */
2565
+ predicate: z.ZodString;
2566
+ /** The typed inputs the predicate reads: input name → its type name. */
2567
+ inputs: z.ZodRecord<z.ZodString, z.ZodString>;
2568
+ }, "strict", z.ZodTypeAny, {
2569
+ predicate: string;
2570
+ inputs: Record<string, string>;
2571
+ }, {
2572
+ predicate: string;
2573
+ inputs: Record<string, string>;
2574
+ }>>;
2575
+ }, "strict", z.ZodTypeAny, {
2576
+ slug: string;
2577
+ aim: string;
2578
+ lifecycle: {
2579
+ debtor: string;
2580
+ creditor: string;
2581
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2582
+ log: {
2583
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2584
+ by?: "debtor" | "creditor" | undefined;
2585
+ residual_debtor?: string | undefined;
2586
+ }[];
2587
+ };
2588
+ period: string;
2589
+ accountable_office: string;
2590
+ acceptance: {
2591
+ predicate: string;
2592
+ inputs: Record<string, string>;
2593
+ };
2594
+ draws: {
2595
+ quantity: number;
2596
+ resource_slug: string;
2597
+ unit: string;
2598
+ }[];
2599
+ served_northstars: string[];
2600
+ tier?: "declared" | "enforced" | undefined;
2601
+ amount?: number | undefined;
2602
+ settled_gig_ids?: string[] | undefined;
2603
+ antecedent?: {
2604
+ predicate: string;
2605
+ inputs: Record<string, string>;
2606
+ } | undefined;
2607
+ }, {
2608
+ slug: string;
2609
+ aim: string;
2610
+ lifecycle: {
2611
+ debtor: string;
2612
+ creditor: string;
2613
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2614
+ log?: {
2615
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2616
+ by?: "debtor" | "creditor" | undefined;
2617
+ residual_debtor?: string | undefined;
2618
+ }[] | undefined;
2619
+ };
2620
+ period: string;
2621
+ accountable_office: string;
2622
+ acceptance: {
2623
+ predicate: string;
2624
+ inputs: Record<string, string>;
2625
+ };
2626
+ tier?: "declared" | "enforced" | undefined;
2627
+ amount?: number | undefined;
2628
+ draws?: {
2629
+ quantity: number;
2630
+ resource_slug: string;
2631
+ unit: string;
2632
+ }[] | undefined;
2633
+ served_northstars?: string[] | undefined;
2634
+ settled_gig_ids?: string[] | undefined;
2635
+ antecedent?: {
2636
+ predicate: string;
2637
+ inputs: Record<string, string>;
2638
+ } | undefined;
2639
+ }>;
2640
+ /** The institution-visible aggregation — it REFERENCES an institution (the constraint) and an
2641
+ * organization (the accountable player) by slug; it does NOT live inside InstitutionSchema. */
2642
+ export declare const TourSchema: z.ZodObject<{
2643
+ slug: z.ZodString;
2644
+ institution_slug: z.ZodString;
2645
+ org_slug: z.ZodString;
2646
+ responsible_chair: z.ZodString;
2647
+ period: z.ZodString;
2648
+ northstar_slugs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2649
+ bookings: z.ZodDefault<z.ZodArray<z.ZodObject<{
2650
+ slug: z.ZodString;
2651
+ aim: z.ZodString;
2652
+ amount: z.ZodOptional<z.ZodNumber>;
2653
+ period: z.ZodString;
2654
+ accountable_office: z.ZodString;
2655
+ acceptance: z.ZodObject<{
2656
+ /** A normalized, serializable predicate (e.g. an s-expression) an evaluator invokes. */
2657
+ predicate: z.ZodString;
2658
+ /** The typed inputs the predicate reads: input name → its type name. */
2659
+ inputs: z.ZodRecord<z.ZodString, z.ZodString>;
2660
+ }, "strict", z.ZodTypeAny, {
2661
+ predicate: string;
2662
+ inputs: Record<string, string>;
2663
+ }, {
2664
+ predicate: string;
2665
+ inputs: Record<string, string>;
2666
+ }>;
2667
+ draws: z.ZodDefault<z.ZodArray<z.ZodObject<{
2668
+ resource_slug: z.ZodString;
2669
+ unit: z.ZodString;
2670
+ quantity: z.ZodNumber;
2671
+ }, "strict", z.ZodTypeAny, {
2672
+ quantity: number;
2673
+ resource_slug: string;
2674
+ unit: string;
2675
+ }, {
2676
+ quantity: number;
2677
+ resource_slug: string;
2678
+ unit: string;
2679
+ }>, "many">>;
2680
+ served_northstars: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2681
+ tier: z.ZodOptional<z.ZodEnum<["declared", "enforced"]>>;
2682
+ lifecycle: z.ZodObject<{
2683
+ state: z.ZodEnum<["conditional", "active", "pending", "satisfied", "violated", "expired", "cancelled", "released"]>;
2684
+ debtor: z.ZodString;
2685
+ creditor: z.ZodString;
2686
+ log: z.ZodDefault<z.ZodArray<z.ZodObject<{
2687
+ op: z.ZodEnum<["create", "detach", "discharge", "cancel", "release", "delegate", "assign"]>;
2688
+ by: z.ZodOptional<z.ZodEnum<["debtor", "creditor"]>>;
2689
+ residual_debtor: z.ZodOptional<z.ZodString>;
2690
+ }, "strict", z.ZodTypeAny, {
2691
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2692
+ by?: "debtor" | "creditor" | undefined;
2693
+ residual_debtor?: string | undefined;
2694
+ }, {
2695
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2696
+ by?: "debtor" | "creditor" | undefined;
2697
+ residual_debtor?: string | undefined;
2698
+ }>, "many">>;
2699
+ }, "strict", z.ZodTypeAny, {
2700
+ debtor: string;
2701
+ creditor: string;
2702
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2703
+ log: {
2704
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2705
+ by?: "debtor" | "creditor" | undefined;
2706
+ residual_debtor?: string | undefined;
2707
+ }[];
2708
+ }, {
2709
+ debtor: string;
2710
+ creditor: string;
2711
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2712
+ log?: {
2713
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2714
+ by?: "debtor" | "creditor" | undefined;
2715
+ residual_debtor?: string | undefined;
2716
+ }[] | undefined;
2717
+ }>;
2718
+ settled_gig_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2719
+ antecedent: z.ZodOptional<z.ZodObject<{
2720
+ /** A normalized, serializable predicate (e.g. an s-expression) an evaluator invokes. */
2721
+ predicate: z.ZodString;
2722
+ /** The typed inputs the predicate reads: input name → its type name. */
2723
+ inputs: z.ZodRecord<z.ZodString, z.ZodString>;
2724
+ }, "strict", z.ZodTypeAny, {
2725
+ predicate: string;
2726
+ inputs: Record<string, string>;
2727
+ }, {
2728
+ predicate: string;
2729
+ inputs: Record<string, string>;
2730
+ }>>;
2731
+ }, "strict", z.ZodTypeAny, {
2732
+ slug: string;
2733
+ aim: string;
2734
+ lifecycle: {
2735
+ debtor: string;
2736
+ creditor: string;
2737
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2738
+ log: {
2739
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2740
+ by?: "debtor" | "creditor" | undefined;
2741
+ residual_debtor?: string | undefined;
2742
+ }[];
2743
+ };
2744
+ period: string;
2745
+ accountable_office: string;
2746
+ acceptance: {
2747
+ predicate: string;
2748
+ inputs: Record<string, string>;
2749
+ };
2750
+ draws: {
2751
+ quantity: number;
2752
+ resource_slug: string;
2753
+ unit: string;
2754
+ }[];
2755
+ served_northstars: string[];
2756
+ tier?: "declared" | "enforced" | undefined;
2757
+ amount?: number | undefined;
2758
+ settled_gig_ids?: string[] | undefined;
2759
+ antecedent?: {
2760
+ predicate: string;
2761
+ inputs: Record<string, string>;
2762
+ } | undefined;
2763
+ }, {
2764
+ slug: string;
2765
+ aim: string;
2766
+ lifecycle: {
2767
+ debtor: string;
2768
+ creditor: string;
2769
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2770
+ log?: {
2771
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2772
+ by?: "debtor" | "creditor" | undefined;
2773
+ residual_debtor?: string | undefined;
2774
+ }[] | undefined;
2775
+ };
2776
+ period: string;
2777
+ accountable_office: string;
2778
+ acceptance: {
2779
+ predicate: string;
2780
+ inputs: Record<string, string>;
2781
+ };
2782
+ tier?: "declared" | "enforced" | undefined;
2783
+ amount?: number | undefined;
2784
+ draws?: {
2785
+ quantity: number;
2786
+ resource_slug: string;
2787
+ unit: string;
2788
+ }[] | undefined;
2789
+ served_northstars?: string[] | undefined;
2790
+ settled_gig_ids?: string[] | undefined;
2791
+ antecedent?: {
2792
+ predicate: string;
2793
+ inputs: Record<string, string>;
2794
+ } | undefined;
2795
+ }>, "many">>;
2796
+ }, "strict", z.ZodTypeAny, {
2797
+ slug: string;
2798
+ org_slug: string;
2799
+ institution_slug: string;
2800
+ responsible_chair: string;
2801
+ period: string;
2802
+ northstar_slugs: string[];
2803
+ bookings: {
2804
+ slug: string;
2805
+ aim: string;
2806
+ lifecycle: {
2807
+ debtor: string;
2808
+ creditor: string;
2809
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2810
+ log: {
2811
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2812
+ by?: "debtor" | "creditor" | undefined;
2813
+ residual_debtor?: string | undefined;
2814
+ }[];
2815
+ };
2816
+ period: string;
2817
+ accountable_office: string;
2818
+ acceptance: {
2819
+ predicate: string;
2820
+ inputs: Record<string, string>;
2821
+ };
2822
+ draws: {
2823
+ quantity: number;
2824
+ resource_slug: string;
2825
+ unit: string;
2826
+ }[];
2827
+ served_northstars: string[];
2828
+ tier?: "declared" | "enforced" | undefined;
2829
+ amount?: number | undefined;
2830
+ settled_gig_ids?: string[] | undefined;
2831
+ antecedent?: {
2832
+ predicate: string;
2833
+ inputs: Record<string, string>;
2834
+ } | undefined;
2835
+ }[];
2836
+ }, {
2837
+ slug: string;
2838
+ org_slug: string;
2839
+ institution_slug: string;
2840
+ responsible_chair: string;
2841
+ period: string;
2842
+ northstar_slugs?: string[] | undefined;
2843
+ bookings?: {
2844
+ slug: string;
2845
+ aim: string;
2846
+ lifecycle: {
2847
+ debtor: string;
2848
+ creditor: string;
2849
+ state: "active" | "conditional" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
2850
+ log?: {
2851
+ op: "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
2852
+ by?: "debtor" | "creditor" | undefined;
2853
+ residual_debtor?: string | undefined;
2854
+ }[] | undefined;
2855
+ };
2856
+ period: string;
2857
+ accountable_office: string;
2858
+ acceptance: {
2859
+ predicate: string;
2860
+ inputs: Record<string, string>;
2861
+ };
2862
+ tier?: "declared" | "enforced" | undefined;
2863
+ amount?: number | undefined;
2864
+ draws?: {
2865
+ quantity: number;
2866
+ resource_slug: string;
2867
+ unit: string;
2868
+ }[] | undefined;
2869
+ served_northstars?: string[] | undefined;
2870
+ settled_gig_ids?: string[] | undefined;
2871
+ antecedent?: {
2872
+ predicate: string;
2873
+ inputs: Record<string, string>;
2874
+ } | undefined;
2875
+ }[] | undefined;
2876
+ }>;
2877
+ export type ReplenishmentOutput = z.output<typeof ReplenishmentSchema>;
2878
+ export type DrawOutput = z.output<typeof DrawSchema>;
2879
+ export type ResourceOutput = z.output<typeof ResourceSchema>;
2880
+ export type BookingOutput = z.output<typeof BookingSchema>;
2881
+ export type TourOutput = z.output<typeof TourSchema>;
2380
2882
  export {};