@treeseed/sdk 0.13.0-rc.103 → 0.13.0-rc.104

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.
@@ -1 +1 @@
1
- {"completedAt":"2026-09-09T06:37:08.486Z"}
1
+ {"completedAt":"2026-09-09T07:10:39.587Z"}
@@ -2731,6 +2731,57 @@ export declare const packageRuntimeSchema: z.ZodEffects<z.ZodObject<{
2731
2731
  extensions: string[];
2732
2732
  runtimeConnectionLimit: number;
2733
2733
  }>, "many">>;
2734
+ postgresLifecycle: z.ZodOptional<z.ZodArray<z.ZodObject<{
2735
+ requirementId: z.ZodString;
2736
+ credentialOwner: z.ZodObject<{
2737
+ uid: z.ZodNumber;
2738
+ gid: z.ZodNumber;
2739
+ }, "strict", z.ZodTypeAny, {
2740
+ uid: number;
2741
+ gid: number;
2742
+ }, {
2743
+ uid: number;
2744
+ gid: number;
2745
+ }>;
2746
+ migration: z.ZodObject<{
2747
+ composeService: z.ZodString;
2748
+ completion: z.ZodEnum<["exit-zero", "healthy-stop"]>;
2749
+ timeoutSeconds: z.ZodNumber;
2750
+ }, "strict", z.ZodTypeAny, {
2751
+ timeoutSeconds: number;
2752
+ composeService: string;
2753
+ completion: "exit-zero" | "healthy-stop";
2754
+ }, {
2755
+ timeoutSeconds: number;
2756
+ composeService: string;
2757
+ completion: "exit-zero" | "healthy-stop";
2758
+ }>;
2759
+ runtimeServices: z.ZodArray<z.ZodString, "many">;
2760
+ }, "strict", z.ZodTypeAny, {
2761
+ requirementId: string;
2762
+ credentialOwner: {
2763
+ uid: number;
2764
+ gid: number;
2765
+ };
2766
+ migration: {
2767
+ timeoutSeconds: number;
2768
+ composeService: string;
2769
+ completion: "exit-zero" | "healthy-stop";
2770
+ };
2771
+ runtimeServices: string[];
2772
+ }, {
2773
+ requirementId: string;
2774
+ credentialOwner: {
2775
+ uid: number;
2776
+ gid: number;
2777
+ };
2778
+ migration: {
2779
+ timeoutSeconds: number;
2780
+ composeService: string;
2781
+ completion: "exit-zero" | "healthy-stop";
2782
+ };
2783
+ runtimeServices: string[];
2784
+ }>, "many">>;
2734
2785
  services: z.ZodArray<z.ZodObject<{
2735
2786
  id: z.ZodString;
2736
2787
  composeService: z.ZodString;
@@ -3044,6 +3095,19 @@ export declare const packageRuntimeSchema: z.ZodEffects<z.ZodObject<{
3044
3095
  extensions: string[];
3045
3096
  runtimeConnectionLimit: number;
3046
3097
  }[] | undefined;
3098
+ postgresLifecycle?: {
3099
+ requirementId: string;
3100
+ credentialOwner: {
3101
+ uid: number;
3102
+ gid: number;
3103
+ };
3104
+ migration: {
3105
+ timeoutSeconds: number;
3106
+ composeService: string;
3107
+ completion: "exit-zero" | "healthy-stop";
3108
+ };
3109
+ runtimeServices: string[];
3110
+ }[] | undefined;
3047
3111
  modeControl?: {
3048
3112
  resource: "ai-gpu";
3049
3113
  role: "inference" | "training" | "controller";
@@ -3139,6 +3203,19 @@ export declare const packageRuntimeSchema: z.ZodEffects<z.ZodObject<{
3139
3203
  extensions: string[];
3140
3204
  runtimeConnectionLimit: number;
3141
3205
  }[] | undefined;
3206
+ postgresLifecycle?: {
3207
+ requirementId: string;
3208
+ credentialOwner: {
3209
+ uid: number;
3210
+ gid: number;
3211
+ };
3212
+ migration: {
3213
+ timeoutSeconds: number;
3214
+ composeService: string;
3215
+ completion: "exit-zero" | "healthy-stop";
3216
+ };
3217
+ runtimeServices: string[];
3218
+ }[] | undefined;
3142
3219
  modeControl?: {
3143
3220
  resource: "ai-gpu";
3144
3221
  role: "inference" | "training" | "controller";
@@ -3234,6 +3311,19 @@ export declare const packageRuntimeSchema: z.ZodEffects<z.ZodObject<{
3234
3311
  extensions: string[];
3235
3312
  runtimeConnectionLimit: number;
3236
3313
  }[] | undefined;
3314
+ postgresLifecycle?: {
3315
+ requirementId: string;
3316
+ credentialOwner: {
3317
+ uid: number;
3318
+ gid: number;
3319
+ };
3320
+ migration: {
3321
+ timeoutSeconds: number;
3322
+ composeService: string;
3323
+ completion: "exit-zero" | "healthy-stop";
3324
+ };
3325
+ runtimeServices: string[];
3326
+ }[] | undefined;
3237
3327
  modeControl?: {
3238
3328
  resource: "ai-gpu";
3239
3329
  role: "inference" | "training" | "controller";
@@ -3329,6 +3419,19 @@ export declare const packageRuntimeSchema: z.ZodEffects<z.ZodObject<{
3329
3419
  extensions: string[];
3330
3420
  runtimeConnectionLimit: number;
3331
3421
  }[] | undefined;
3422
+ postgresLifecycle?: {
3423
+ requirementId: string;
3424
+ credentialOwner: {
3425
+ uid: number;
3426
+ gid: number;
3427
+ };
3428
+ migration: {
3429
+ timeoutSeconds: number;
3430
+ composeService: string;
3431
+ completion: "exit-zero" | "healthy-stop";
3432
+ };
3433
+ runtimeServices: string[];
3434
+ }[] | undefined;
3332
3435
  modeControl?: {
3333
3436
  resource: "ai-gpu";
3334
3437
  role: "inference" | "training" | "controller";
@@ -3637,6 +3740,57 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
3637
3740
  extensions: string[];
3638
3741
  runtimeConnectionLimit: number;
3639
3742
  }>, "many">>;
3743
+ postgresLifecycle: z.ZodOptional<z.ZodArray<z.ZodObject<{
3744
+ requirementId: z.ZodString;
3745
+ credentialOwner: z.ZodObject<{
3746
+ uid: z.ZodNumber;
3747
+ gid: z.ZodNumber;
3748
+ }, "strict", z.ZodTypeAny, {
3749
+ uid: number;
3750
+ gid: number;
3751
+ }, {
3752
+ uid: number;
3753
+ gid: number;
3754
+ }>;
3755
+ migration: z.ZodObject<{
3756
+ composeService: z.ZodString;
3757
+ completion: z.ZodEnum<["exit-zero", "healthy-stop"]>;
3758
+ timeoutSeconds: z.ZodNumber;
3759
+ }, "strict", z.ZodTypeAny, {
3760
+ timeoutSeconds: number;
3761
+ composeService: string;
3762
+ completion: "exit-zero" | "healthy-stop";
3763
+ }, {
3764
+ timeoutSeconds: number;
3765
+ composeService: string;
3766
+ completion: "exit-zero" | "healthy-stop";
3767
+ }>;
3768
+ runtimeServices: z.ZodArray<z.ZodString, "many">;
3769
+ }, "strict", z.ZodTypeAny, {
3770
+ requirementId: string;
3771
+ credentialOwner: {
3772
+ uid: number;
3773
+ gid: number;
3774
+ };
3775
+ migration: {
3776
+ timeoutSeconds: number;
3777
+ composeService: string;
3778
+ completion: "exit-zero" | "healthy-stop";
3779
+ };
3780
+ runtimeServices: string[];
3781
+ }, {
3782
+ requirementId: string;
3783
+ credentialOwner: {
3784
+ uid: number;
3785
+ gid: number;
3786
+ };
3787
+ migration: {
3788
+ timeoutSeconds: number;
3789
+ composeService: string;
3790
+ completion: "exit-zero" | "healthy-stop";
3791
+ };
3792
+ runtimeServices: string[];
3793
+ }>, "many">>;
3640
3794
  services: z.ZodArray<z.ZodObject<{
3641
3795
  id: z.ZodString;
3642
3796
  composeService: z.ZodString;
@@ -3950,6 +4104,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
3950
4104
  extensions: string[];
3951
4105
  runtimeConnectionLimit: number;
3952
4106
  }[] | undefined;
4107
+ postgresLifecycle?: {
4108
+ requirementId: string;
4109
+ credentialOwner: {
4110
+ uid: number;
4111
+ gid: number;
4112
+ };
4113
+ migration: {
4114
+ timeoutSeconds: number;
4115
+ composeService: string;
4116
+ completion: "exit-zero" | "healthy-stop";
4117
+ };
4118
+ runtimeServices: string[];
4119
+ }[] | undefined;
3953
4120
  modeControl?: {
3954
4121
  resource: "ai-gpu";
3955
4122
  role: "inference" | "training" | "controller";
@@ -4045,6 +4212,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4045
4212
  extensions: string[];
4046
4213
  runtimeConnectionLimit: number;
4047
4214
  }[] | undefined;
4215
+ postgresLifecycle?: {
4216
+ requirementId: string;
4217
+ credentialOwner: {
4218
+ uid: number;
4219
+ gid: number;
4220
+ };
4221
+ migration: {
4222
+ timeoutSeconds: number;
4223
+ composeService: string;
4224
+ completion: "exit-zero" | "healthy-stop";
4225
+ };
4226
+ runtimeServices: string[];
4227
+ }[] | undefined;
4048
4228
  modeControl?: {
4049
4229
  resource: "ai-gpu";
4050
4230
  role: "inference" | "training" | "controller";
@@ -4140,6 +4320,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4140
4320
  extensions: string[];
4141
4321
  runtimeConnectionLimit: number;
4142
4322
  }[] | undefined;
4323
+ postgresLifecycle?: {
4324
+ requirementId: string;
4325
+ credentialOwner: {
4326
+ uid: number;
4327
+ gid: number;
4328
+ };
4329
+ migration: {
4330
+ timeoutSeconds: number;
4331
+ composeService: string;
4332
+ completion: "exit-zero" | "healthy-stop";
4333
+ };
4334
+ runtimeServices: string[];
4335
+ }[] | undefined;
4143
4336
  modeControl?: {
4144
4337
  resource: "ai-gpu";
4145
4338
  role: "inference" | "training" | "controller";
@@ -4235,6 +4428,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4235
4428
  extensions: string[];
4236
4429
  runtimeConnectionLimit: number;
4237
4430
  }[] | undefined;
4431
+ postgresLifecycle?: {
4432
+ requirementId: string;
4433
+ credentialOwner: {
4434
+ uid: number;
4435
+ gid: number;
4436
+ };
4437
+ migration: {
4438
+ timeoutSeconds: number;
4439
+ composeService: string;
4440
+ completion: "exit-zero" | "healthy-stop";
4441
+ };
4442
+ runtimeServices: string[];
4443
+ }[] | undefined;
4238
4444
  modeControl?: {
4239
4445
  resource: "ai-gpu";
4240
4446
  role: "inference" | "training" | "controller";
@@ -4357,6 +4563,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4357
4563
  extensions: string[];
4358
4564
  runtimeConnectionLimit: number;
4359
4565
  }[] | undefined;
4566
+ postgresLifecycle?: {
4567
+ requirementId: string;
4568
+ credentialOwner: {
4569
+ uid: number;
4570
+ gid: number;
4571
+ };
4572
+ migration: {
4573
+ timeoutSeconds: number;
4574
+ composeService: string;
4575
+ completion: "exit-zero" | "healthy-stop";
4576
+ };
4577
+ runtimeServices: string[];
4578
+ }[] | undefined;
4360
4579
  modeControl?: {
4361
4580
  resource: "ai-gpu";
4362
4581
  role: "inference" | "training" | "controller";
@@ -4493,6 +4712,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4493
4712
  extensions: string[];
4494
4713
  runtimeConnectionLimit: number;
4495
4714
  }[] | undefined;
4715
+ postgresLifecycle?: {
4716
+ requirementId: string;
4717
+ credentialOwner: {
4718
+ uid: number;
4719
+ gid: number;
4720
+ };
4721
+ migration: {
4722
+ timeoutSeconds: number;
4723
+ composeService: string;
4724
+ completion: "exit-zero" | "healthy-stop";
4725
+ };
4726
+ runtimeServices: string[];
4727
+ }[] | undefined;
4496
4728
  modeControl?: {
4497
4729
  resource: "ai-gpu";
4498
4730
  role: "inference" | "training" | "controller";
@@ -4629,6 +4861,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4629
4861
  extensions: string[];
4630
4862
  runtimeConnectionLimit: number;
4631
4863
  }[] | undefined;
4864
+ postgresLifecycle?: {
4865
+ requirementId: string;
4866
+ credentialOwner: {
4867
+ uid: number;
4868
+ gid: number;
4869
+ };
4870
+ migration: {
4871
+ timeoutSeconds: number;
4872
+ composeService: string;
4873
+ completion: "exit-zero" | "healthy-stop";
4874
+ };
4875
+ runtimeServices: string[];
4876
+ }[] | undefined;
4632
4877
  modeControl?: {
4633
4878
  resource: "ai-gpu";
4634
4879
  role: "inference" | "training" | "controller";
@@ -4765,6 +5010,19 @@ export declare const componentReleaseSchema: z.ZodEffects<z.ZodObject<{
4765
5010
  extensions: string[];
4766
5011
  runtimeConnectionLimit: number;
4767
5012
  }[] | undefined;
5013
+ postgresLifecycle?: {
5014
+ requirementId: string;
5015
+ credentialOwner: {
5016
+ uid: number;
5017
+ gid: number;
5018
+ };
5019
+ migration: {
5020
+ timeoutSeconds: number;
5021
+ composeService: string;
5022
+ completion: "exit-zero" | "healthy-stop";
5023
+ };
5024
+ runtimeServices: string[];
5025
+ }[] | undefined;
4768
5026
  modeControl?: {
4769
5027
  resource: "ai-gpu";
4770
5028
  role: "inference" | "training" | "controller";
@@ -5582,6 +5840,57 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
5582
5840
  extensions: string[];
5583
5841
  runtimeConnectionLimit: number;
5584
5842
  }>, "many">>;
5843
+ postgresLifecycle: z.ZodOptional<z.ZodArray<z.ZodObject<{
5844
+ requirementId: z.ZodString;
5845
+ credentialOwner: z.ZodObject<{
5846
+ uid: z.ZodNumber;
5847
+ gid: z.ZodNumber;
5848
+ }, "strict", z.ZodTypeAny, {
5849
+ uid: number;
5850
+ gid: number;
5851
+ }, {
5852
+ uid: number;
5853
+ gid: number;
5854
+ }>;
5855
+ migration: z.ZodObject<{
5856
+ composeService: z.ZodString;
5857
+ completion: z.ZodEnum<["exit-zero", "healthy-stop"]>;
5858
+ timeoutSeconds: z.ZodNumber;
5859
+ }, "strict", z.ZodTypeAny, {
5860
+ timeoutSeconds: number;
5861
+ composeService: string;
5862
+ completion: "exit-zero" | "healthy-stop";
5863
+ }, {
5864
+ timeoutSeconds: number;
5865
+ composeService: string;
5866
+ completion: "exit-zero" | "healthy-stop";
5867
+ }>;
5868
+ runtimeServices: z.ZodArray<z.ZodString, "many">;
5869
+ }, "strict", z.ZodTypeAny, {
5870
+ requirementId: string;
5871
+ credentialOwner: {
5872
+ uid: number;
5873
+ gid: number;
5874
+ };
5875
+ migration: {
5876
+ timeoutSeconds: number;
5877
+ composeService: string;
5878
+ completion: "exit-zero" | "healthy-stop";
5879
+ };
5880
+ runtimeServices: string[];
5881
+ }, {
5882
+ requirementId: string;
5883
+ credentialOwner: {
5884
+ uid: number;
5885
+ gid: number;
5886
+ };
5887
+ migration: {
5888
+ timeoutSeconds: number;
5889
+ composeService: string;
5890
+ completion: "exit-zero" | "healthy-stop";
5891
+ };
5892
+ runtimeServices: string[];
5893
+ }>, "many">>;
5585
5894
  services: z.ZodArray<z.ZodObject<{
5586
5895
  id: z.ZodString;
5587
5896
  composeService: z.ZodString;
@@ -5895,6 +6204,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
5895
6204
  extensions: string[];
5896
6205
  runtimeConnectionLimit: number;
5897
6206
  }[] | undefined;
6207
+ postgresLifecycle?: {
6208
+ requirementId: string;
6209
+ credentialOwner: {
6210
+ uid: number;
6211
+ gid: number;
6212
+ };
6213
+ migration: {
6214
+ timeoutSeconds: number;
6215
+ composeService: string;
6216
+ completion: "exit-zero" | "healthy-stop";
6217
+ };
6218
+ runtimeServices: string[];
6219
+ }[] | undefined;
5898
6220
  modeControl?: {
5899
6221
  resource: "ai-gpu";
5900
6222
  role: "inference" | "training" | "controller";
@@ -5990,6 +6312,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
5990
6312
  extensions: string[];
5991
6313
  runtimeConnectionLimit: number;
5992
6314
  }[] | undefined;
6315
+ postgresLifecycle?: {
6316
+ requirementId: string;
6317
+ credentialOwner: {
6318
+ uid: number;
6319
+ gid: number;
6320
+ };
6321
+ migration: {
6322
+ timeoutSeconds: number;
6323
+ composeService: string;
6324
+ completion: "exit-zero" | "healthy-stop";
6325
+ };
6326
+ runtimeServices: string[];
6327
+ }[] | undefined;
5993
6328
  modeControl?: {
5994
6329
  resource: "ai-gpu";
5995
6330
  role: "inference" | "training" | "controller";
@@ -6085,6 +6420,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6085
6420
  extensions: string[];
6086
6421
  runtimeConnectionLimit: number;
6087
6422
  }[] | undefined;
6423
+ postgresLifecycle?: {
6424
+ requirementId: string;
6425
+ credentialOwner: {
6426
+ uid: number;
6427
+ gid: number;
6428
+ };
6429
+ migration: {
6430
+ timeoutSeconds: number;
6431
+ composeService: string;
6432
+ completion: "exit-zero" | "healthy-stop";
6433
+ };
6434
+ runtimeServices: string[];
6435
+ }[] | undefined;
6088
6436
  modeControl?: {
6089
6437
  resource: "ai-gpu";
6090
6438
  role: "inference" | "training" | "controller";
@@ -6180,6 +6528,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6180
6528
  extensions: string[];
6181
6529
  runtimeConnectionLimit: number;
6182
6530
  }[] | undefined;
6531
+ postgresLifecycle?: {
6532
+ requirementId: string;
6533
+ credentialOwner: {
6534
+ uid: number;
6535
+ gid: number;
6536
+ };
6537
+ migration: {
6538
+ timeoutSeconds: number;
6539
+ composeService: string;
6540
+ completion: "exit-zero" | "healthy-stop";
6541
+ };
6542
+ runtimeServices: string[];
6543
+ }[] | undefined;
6183
6544
  modeControl?: {
6184
6545
  resource: "ai-gpu";
6185
6546
  role: "inference" | "training" | "controller";
@@ -6302,6 +6663,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6302
6663
  extensions: string[];
6303
6664
  runtimeConnectionLimit: number;
6304
6665
  }[] | undefined;
6666
+ postgresLifecycle?: {
6667
+ requirementId: string;
6668
+ credentialOwner: {
6669
+ uid: number;
6670
+ gid: number;
6671
+ };
6672
+ migration: {
6673
+ timeoutSeconds: number;
6674
+ composeService: string;
6675
+ completion: "exit-zero" | "healthy-stop";
6676
+ };
6677
+ runtimeServices: string[];
6678
+ }[] | undefined;
6305
6679
  modeControl?: {
6306
6680
  resource: "ai-gpu";
6307
6681
  role: "inference" | "training" | "controller";
@@ -6438,6 +6812,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6438
6812
  extensions: string[];
6439
6813
  runtimeConnectionLimit: number;
6440
6814
  }[] | undefined;
6815
+ postgresLifecycle?: {
6816
+ requirementId: string;
6817
+ credentialOwner: {
6818
+ uid: number;
6819
+ gid: number;
6820
+ };
6821
+ migration: {
6822
+ timeoutSeconds: number;
6823
+ composeService: string;
6824
+ completion: "exit-zero" | "healthy-stop";
6825
+ };
6826
+ runtimeServices: string[];
6827
+ }[] | undefined;
6441
6828
  modeControl?: {
6442
6829
  resource: "ai-gpu";
6443
6830
  role: "inference" | "training" | "controller";
@@ -6574,6 +6961,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6574
6961
  extensions: string[];
6575
6962
  runtimeConnectionLimit: number;
6576
6963
  }[] | undefined;
6964
+ postgresLifecycle?: {
6965
+ requirementId: string;
6966
+ credentialOwner: {
6967
+ uid: number;
6968
+ gid: number;
6969
+ };
6970
+ migration: {
6971
+ timeoutSeconds: number;
6972
+ composeService: string;
6973
+ completion: "exit-zero" | "healthy-stop";
6974
+ };
6975
+ runtimeServices: string[];
6976
+ }[] | undefined;
6577
6977
  modeControl?: {
6578
6978
  resource: "ai-gpu";
6579
6979
  role: "inference" | "training" | "controller";
@@ -6710,6 +7110,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6710
7110
  extensions: string[];
6711
7111
  runtimeConnectionLimit: number;
6712
7112
  }[] | undefined;
7113
+ postgresLifecycle?: {
7114
+ requirementId: string;
7115
+ credentialOwner: {
7116
+ uid: number;
7117
+ gid: number;
7118
+ };
7119
+ migration: {
7120
+ timeoutSeconds: number;
7121
+ composeService: string;
7122
+ completion: "exit-zero" | "healthy-stop";
7123
+ };
7124
+ runtimeServices: string[];
7125
+ }[] | undefined;
6713
7126
  modeControl?: {
6714
7127
  resource: "ai-gpu";
6715
7128
  role: "inference" | "training" | "controller";
@@ -6962,6 +7375,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
6962
7375
  extensions: string[];
6963
7376
  runtimeConnectionLimit: number;
6964
7377
  }[] | undefined;
7378
+ postgresLifecycle?: {
7379
+ requirementId: string;
7380
+ credentialOwner: {
7381
+ uid: number;
7382
+ gid: number;
7383
+ };
7384
+ migration: {
7385
+ timeoutSeconds: number;
7386
+ composeService: string;
7387
+ completion: "exit-zero" | "healthy-stop";
7388
+ };
7389
+ runtimeServices: string[];
7390
+ }[] | undefined;
6965
7391
  modeControl?: {
6966
7392
  resource: "ai-gpu";
6967
7393
  role: "inference" | "training" | "controller";
@@ -7130,6 +7556,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
7130
7556
  extensions: string[];
7131
7557
  runtimeConnectionLimit: number;
7132
7558
  }[] | undefined;
7559
+ postgresLifecycle?: {
7560
+ requirementId: string;
7561
+ credentialOwner: {
7562
+ uid: number;
7563
+ gid: number;
7564
+ };
7565
+ migration: {
7566
+ timeoutSeconds: number;
7567
+ composeService: string;
7568
+ completion: "exit-zero" | "healthy-stop";
7569
+ };
7570
+ runtimeServices: string[];
7571
+ }[] | undefined;
7133
7572
  modeControl?: {
7134
7573
  resource: "ai-gpu";
7135
7574
  role: "inference" | "training" | "controller";
@@ -7298,6 +7737,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
7298
7737
  extensions: string[];
7299
7738
  runtimeConnectionLimit: number;
7300
7739
  }[] | undefined;
7740
+ postgresLifecycle?: {
7741
+ requirementId: string;
7742
+ credentialOwner: {
7743
+ uid: number;
7744
+ gid: number;
7745
+ };
7746
+ migration: {
7747
+ timeoutSeconds: number;
7748
+ composeService: string;
7749
+ completion: "exit-zero" | "healthy-stop";
7750
+ };
7751
+ runtimeServices: string[];
7752
+ }[] | undefined;
7301
7753
  modeControl?: {
7302
7754
  resource: "ai-gpu";
7303
7755
  role: "inference" | "training" | "controller";
@@ -7466,6 +7918,19 @@ export declare const releaseCatalogSchema: z.ZodEffects<z.ZodObject<{
7466
7918
  extensions: string[];
7467
7919
  runtimeConnectionLimit: number;
7468
7920
  }[] | undefined;
7921
+ postgresLifecycle?: {
7922
+ requirementId: string;
7923
+ credentialOwner: {
7924
+ uid: number;
7925
+ gid: number;
7926
+ };
7927
+ migration: {
7928
+ timeoutSeconds: number;
7929
+ composeService: string;
7930
+ completion: "exit-zero" | "healthy-stop";
7931
+ };
7932
+ runtimeServices: string[];
7933
+ }[] | undefined;
7469
7934
  modeControl?: {
7470
7935
  resource: "ai-gpu";
7471
7936
  role: "inference" | "training" | "controller";
@@ -220,6 +220,12 @@ const packageRuntimeSchema = z.object({
220
220
  configuration: componentRuntimeConfigurationSchema,
221
221
  // Optional without a default: parsing published artifacts must not change their digest.
222
222
  postgresRequirements: z.array(postgresComponentRequirementSchema).max(32).optional(),
223
+ postgresLifecycle: z.array(z.object({
224
+ requirementId: identifier,
225
+ credentialOwner: z.object({ uid: z.number().int().min(0).max(65535), gid: z.number().int().min(0).max(65535) }).strict(),
226
+ migration: z.object({ composeService: identifier, completion: z.enum(["exit-zero", "healthy-stop"]), timeoutSeconds: z.number().int().min(1).max(3600) }).strict(),
227
+ runtimeServices: z.array(identifier).min(1).max(128)
228
+ }).strict()).max(32).optional(),
223
229
  services: z.array(z.object({ id: identifier, composeService: identifier, endpoints: z.array(packageEndpointSchema) }).strict()).min(1),
224
230
  stateVolumes: z.array(z.object({ id: identifier, volume: z.string().min(1), backup: z.enum(["required", "optional", "none"]) }).strict()),
225
231
  migrations: z.array(z.object({ id: identifier, order: z.number().int().nonnegative(), backupRequired: z.boolean() }).strict()),
@@ -251,6 +257,15 @@ const packageRuntimeSchema = z.object({
251
257
  }).strict().superRefine((runtime, context) => {
252
258
  const requirements = runtime.postgresRequirements ?? [];
253
259
  if (new Set(requirements.map(({ id }) => id)).size !== requirements.length) context.addIssue({ code: z.ZodIssueCode.custom, path: ["postgresRequirements"], message: "PostgreSQL requirement identities must be unique within a component." });
260
+ const lifecycles = runtime.postgresLifecycle ?? [];
261
+ const lifecycleFailure = () => context.addIssue({ code: z.ZodIssueCode.custom, path: ["postgresLifecycle"], message: "Each database requirement needs a distinct declared migration service and explicit runtime services." });
262
+ if (lifecycles.length !== requirements.length || new Set(lifecycles.map((item) => item.requirementId)).size !== lifecycles.length) lifecycleFailure();
263
+ const composeServices = new Set(runtime.services.map((item) => item.composeService));
264
+ const migrationServices = new Set(lifecycles.map((item) => item.migration.composeService));
265
+ if (migrationServices.size !== lifecycles.length) lifecycleFailure();
266
+ for (const item of lifecycles) {
267
+ if (!requirements.some((requirement) => requirement.id === item.requirementId) || !composeServices.has(item.migration.composeService) || new Set(item.runtimeServices).size !== item.runtimeServices.length || item.runtimeServices.some((service) => !composeServices.has(service) || migrationServices.has(service))) lifecycleFailure();
268
+ }
254
269
  const endpointIds = runtime.services.flatMap((service) => service.endpoints.map((endpoint) => `${service.id}.${endpoint.id}`));
255
270
  if (new Set(endpointIds).size !== endpointIds.length) context.addIssue({ code: z.ZodIssueCode.custom, path: ["services"], message: "Endpoint identities must be unique within a component." });
256
271
  for (const file of runtime.configuration.files) if (!file.path.startsWith(`/etc/treeseed/components/${runtime.componentId}/`)) context.addIssue({ code: z.ZodIssueCode.custom, path: ["configuration", "files"], message: `Configuration file ${file.id} is outside component ${runtime.componentId} custody.` });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/sdk",
3
- "version": "0.13.0-rc.103",
3
+ "version": "0.13.0-rc.104",
4
4
  "description": "Portable TreeSeed contracts, standards, and typed remote control-plane clients.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {