@astrale-domains/services 0.4.6 → 0.4.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.
Files changed (76) hide show
  1. package/README.md +595 -43
  2. package/dist/schema/index.d.ts +2 -2
  3. package/dist/schema/index.js +1 -1
  4. package/dist/schema/modules/deployment/classes/cloudflare-deployment.d.ts +366 -0
  5. package/dist/schema/modules/deployment/classes/cloudflare-deployment.js +20 -0
  6. package/dist/schema/modules/deployment/classes/deployment.d.ts +93 -2
  7. package/dist/schema/modules/deployment/classes/deployment.js +27 -3
  8. package/dist/schema/modules/deployment/errors/deployment-hosting-unavailable.d.ts +7 -0
  9. package/dist/schema/modules/deployment/errors/deployment-hosting-unavailable.js +8 -0
  10. package/dist/schema/modules/deployment/errors/deployment-label-not-found.d.ts +12 -0
  11. package/dist/schema/modules/deployment/errors/deployment-label-not-found.js +11 -0
  12. package/dist/schema/modules/deployment/errors/deployment-not-found.d.ts +10 -0
  13. package/dist/schema/modules/deployment/errors/deployment-not-found.js +11 -0
  14. package/dist/schema/modules/deployment/errors/deployment-registry-only.d.ts +11 -0
  15. package/dist/schema/modules/deployment/errors/deployment-registry-only.js +12 -0
  16. package/dist/schema/modules/deployment/errors/index.d.ts +4 -0
  17. package/dist/schema/modules/deployment/errors/index.js +4 -0
  18. package/dist/schema/modules/deployment/functions/deploy-cloudflare-deployment.d.ts +170 -0
  19. package/dist/schema/modules/deployment/functions/deploy-cloudflare-deployment.js +14 -0
  20. package/dist/schema/modules/deployment/functions/describe-deployment-hosting.d.ts +8 -0
  21. package/dist/schema/modules/deployment/functions/describe-deployment-hosting.js +11 -0
  22. package/dist/schema/modules/deployment/functions/expire-deployment-previews.d.ts +16 -0
  23. package/dist/schema/modules/deployment/functions/expire-deployment-previews.js +14 -0
  24. package/dist/schema/modules/deployment/functions/index.d.ts +11 -0
  25. package/dist/schema/modules/deployment/functions/index.js +11 -0
  26. package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.d.ts +5 -0
  27. package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.js +4 -0
  28. package/dist/schema/modules/deployment/functions/list-cloudflare-deployments.d.ts +58 -0
  29. package/dist/schema/modules/deployment/functions/list-cloudflare-deployments.js +10 -0
  30. package/dist/schema/modules/deployment/functions/list-deployment-secret-names.d.ts +4 -0
  31. package/dist/schema/modules/deployment/functions/list-deployment-secret-names.js +6 -0
  32. package/dist/schema/modules/deployment/functions/read-deployment-last-calls.d.ts +10 -0
  33. package/dist/schema/modules/deployment/functions/read-deployment-last-calls.js +13 -0
  34. package/dist/schema/modules/deployment/functions/retain-deployment.d.ts +12 -0
  35. package/dist/schema/modules/deployment/functions/retain-deployment.js +13 -0
  36. package/dist/schema/modules/deployment/functions/retire-deployment.d.ts +23 -0
  37. package/dist/schema/modules/deployment/functions/retire-deployment.js +17 -0
  38. package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.d.ts +18 -0
  39. package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.js +7 -0
  40. package/dist/schema/modules/deployment/functions/set-deployment-secret.d.ts +14 -0
  41. package/dist/schema/modules/deployment/functions/set-deployment-secret.js +3 -0
  42. package/dist/schema/modules/deployment/index.d.ts +5 -3
  43. package/dist/schema/modules/deployment/index.js +4 -2
  44. package/dist/schema/modules/deployment/policies/act-for-organization.d.ts +6 -0
  45. package/dist/schema/modules/deployment/policies/act-for-organization.js +10 -0
  46. package/dist/schema/modules/deployment/policies/index.d.ts +1 -0
  47. package/dist/schema/modules/deployment/policies/index.js +1 -0
  48. package/dist/schema/modules/deployment/states/deployment-lifecycle.d.ts +6 -3
  49. package/dist/schema/modules/deployment/states/deployment-lifecycle.js +6 -4
  50. package/dist/schema/modules/deployment/types/deployment-hosting.d.ts +94 -0
  51. package/dist/schema/modules/deployment/types/deployment-hosting.js +19 -0
  52. package/dist/schema/modules/deployment/types/deployment-request.d.ts +161 -0
  53. package/dist/schema/modules/deployment/types/deployment-request.js +40 -0
  54. package/dist/schema/modules/deployment/types/deployment-response.d.ts +109 -0
  55. package/dist/schema/modules/deployment/types/deployment-response.js +36 -0
  56. package/dist/schema/modules/deployment/types/deployment-retention.d.ts +37 -1
  57. package/dist/schema/modules/deployment/types/deployment-retention.js +41 -1
  58. package/dist/schema/modules/deployment/types/deployment-retire.d.ts +30 -0
  59. package/dist/schema/modules/deployment/types/deployment-retire.js +18 -0
  60. package/dist/schema/modules/deployment/types/deployment-secret-digest.d.ts +17 -0
  61. package/dist/schema/modules/deployment/types/deployment-secret-digest.js +14 -0
  62. package/dist/schema/modules/deployment/types/deployment-secret.d.ts +59 -0
  63. package/dist/schema/modules/deployment/types/deployment-secret.js +52 -0
  64. package/dist/schema/modules/deployment/types/deployment-summary.d.ts +165 -0
  65. package/dist/schema/modules/deployment/types/deployment-summary.js +38 -0
  66. package/dist/schema/modules/deployment/types/frozen-configuration.d.ts +52 -0
  67. package/dist/schema/modules/deployment/types/frozen-configuration.js +55 -0
  68. package/dist/schema/modules/deployment/types/index.d.ts +18 -2
  69. package/dist/schema/modules/deployment/types/index.js +9 -1
  70. package/dist/schema/modules/service/classes/cloudflare-worker.d.ts +4 -4
  71. package/dist/schema/modules/service/classes/service.d.ts +2 -2
  72. package/dist/schema/modules/service/functions/set-worker-secret.d.ts +2 -2
  73. package/dist/schema/modules/service/types/legacy/service-deployment-content.js +8 -1
  74. package/dist/schema/schema.d.ts +456 -12
  75. package/dist/schema/schema.js +2 -1
  76. package/package.json +10 -6
@@ -61,10 +61,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
61
61
  }, {
62
62
  readonly mode: 'value';
63
63
  readonly value: {
64
- name: string;
65
- } | {
66
64
  kind: "rejected";
67
65
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
66
+ } | {
67
+ name: string;
68
68
  };
69
69
  }, "authorized", false, true, undefined>>;
70
70
  deleteSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -72,10 +72,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
72
72
  }, {
73
73
  readonly mode: 'value';
74
74
  readonly value: {
75
+ ok: true;
76
+ } | {
75
77
  kind: "rejected";
76
78
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
77
- } | {
78
- ok: true;
79
79
  };
80
80
  }, "authorized", false, true, undefined>>;
81
81
  secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
@@ -182,10 +182,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
182
182
  }, {
183
183
  readonly mode: 'value';
184
184
  readonly value: {
185
- name: string;
186
- } | {
187
185
  kind: "rejected";
188
186
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
187
+ } | {
188
+ name: string;
189
189
  };
190
190
  }, "authorized", false, true, undefined>>;
191
191
  deleteSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -193,10 +193,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
193
193
  }, {
194
194
  readonly mode: 'value';
195
195
  readonly value: {
196
+ ok: true;
197
+ } | {
196
198
  kind: "rejected";
197
199
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
198
- } | {
199
- ok: true;
200
200
  };
201
201
  }, "authorized", false, true, undefined>>;
202
202
  secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
@@ -409,10 +409,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
409
409
  }, {
410
410
  readonly mode: 'value';
411
411
  readonly value: {
412
- name: string;
413
- } | {
414
412
  kind: "rejected";
415
413
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
414
+ } | {
415
+ name: string;
416
416
  };
417
417
  }, "authorized", false, false, undefined>>;
418
418
  deleteSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
@@ -420,10 +420,10 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
420
420
  }, {
421
421
  readonly mode: 'value';
422
422
  readonly value: {
423
+ ok: true;
424
+ } | {
423
425
  kind: "rejected";
424
426
  reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
425
- } | {
426
- ok: true;
427
427
  };
428
428
  }, "authorized", false, false, undefined>>;
429
429
  secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
@@ -525,6 +525,7 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
525
525
  };
526
526
  readonly failed: {
527
527
  readonly retry: "deploying";
528
+ readonly retire: "retiring";
528
529
  };
529
530
  }, "deploying">, {
530
531
  required?: boolean;
@@ -553,9 +554,65 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
553
554
  }, import("zod/v4/core").$strict>>;
554
555
  }, import("zod/v4/core").$strict>>;
555
556
  }, import("zod/v4/core").$strict>;
557
+ configuration: import("zod").ZodObject<{
558
+ format: import("zod").ZodLiteral<"astrale.deployment.configuration">;
559
+ version: import("zod").ZodLiteral<1>;
560
+ vars: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
561
+ settings: import("zod").ZodObject<{
562
+ maximumRequestBytes: import("zod").ZodNumber;
563
+ invocationTimeoutMs: import("zod").ZodNumber;
564
+ tokenExchange: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
565
+ maximumLifetimeSeconds: import("zod").ZodNumber;
566
+ }, import("zod/v4/core").$strict>]>;
567
+ durableOptions: import("zod").ZodOptional<import("zod").ZodObject<{
568
+ retentionMs: import("zod").ZodOptional<import("zod").ZodNumber>;
569
+ retry: import("zod").ZodOptional<import("zod").ZodObject<{
570
+ initialIntervalMs: import("zod").ZodOptional<import("zod").ZodNumber>;
571
+ maxAttempts: import("zod").ZodOptional<import("zod").ZodNumber>;
572
+ maxIntervalMs: import("zod").ZodOptional<import("zod").ZodNumber>;
573
+ }, import("zod/v4/core").$strict>>;
574
+ stepTimeoutMs: import("zod").ZodOptional<import("zod").ZodNumber>;
575
+ }, import("zod/v4/core").$strict>>;
576
+ }, import("zod/v4/core").$strict>;
577
+ runtime: import("zod").ZodObject<{
578
+ compatibilityDate: import("zod").ZodString;
579
+ compatibilityFlags: import("zod").ZodArray<import("zod").ZodString>;
580
+ }, import("zod/v4/core").$strict>;
581
+ bindings: import("zod").ZodObject<{
582
+ services: import("zod").ZodArray<import("zod").ZodObject<{
583
+ name: import("zod").ZodString;
584
+ service: import("zod").ZodString;
585
+ }, import("zod/v4/core").$strict>>;
586
+ dispatchNamespaces: import("zod").ZodArray<import("zod").ZodObject<{
587
+ name: import("zod").ZodString;
588
+ namespace: import("zod").ZodString;
589
+ }, import("zod/v4/core").$strict>>;
590
+ secrets: import("zod").ZodArray<import("zod").ZodString>;
591
+ }, import("zod/v4/core").$strict>;
592
+ router: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
593
+ service: import("zod").ZodString;
594
+ hostSuffix: import("zod").ZodString;
595
+ minLabels: import("zod").ZodNumber;
596
+ }, import("zod/v4/core").$strict>]>;
597
+ }, import("zod/v4/core").$strict>;
598
+ secretDigests: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodArray<import("zod").ZodObject<{
599
+ name: import("zod").ZodString;
600
+ digest: import("zod").ZodString;
601
+ }, import("zod/v4/core").$strict>>, {
602
+ readonly required: false;
603
+ }>;
604
+ scriptEtag: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodString, {
605
+ readonly required: false;
606
+ }>;
556
607
  signingKeyId: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodString, {
557
608
  readonly required: false;
558
609
  }>;
610
+ activatedAt: import("@astrale-os/sdk/schema").AuthoredProperty<Readonly<{
611
+ readonly type: 'string';
612
+ readonly 'x-astrale-value-kind': 'instant';
613
+ }>, {
614
+ readonly required: false;
615
+ }>;
559
616
  lastCallAt: import("@astrale-os/sdk/schema").AuthoredProperty<Readonly<{
560
617
  readonly type: 'string';
561
618
  readonly 'x-astrale-value-kind': 'instant';
@@ -590,6 +647,26 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
590
647
  readonly required: false;
591
648
  }>;
592
649
  };
650
+ readonly methods: {
651
+ setSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
652
+ name: string;
653
+ value: string;
654
+ }, {
655
+ readonly mode: 'value';
656
+ readonly value: {
657
+ name: string;
658
+ } | {
659
+ kind: "rejected";
660
+ reason: "secret-undeclared" | "service-unavailable";
661
+ message: string;
662
+ retryAfter?: string | undefined;
663
+ };
664
+ }, "authenticated", false, true, undefined>>;
665
+ secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
666
+ readonly mode: 'value';
667
+ readonly value: string[];
668
+ }, "authenticated", false, true, undefined>>;
669
+ };
593
670
  }>;
594
671
  readonly CloudflareDeployment: import("@astrale-os/sdk/schema").AuthoredNodeClass<{
595
672
  readonly description: "One Deployment uploaded as the Workers for Platforms script its label names.";
@@ -618,6 +695,7 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
618
695
  };
619
696
  readonly failed: {
620
697
  readonly retry: "deploying";
698
+ readonly retire: "retiring";
621
699
  };
622
700
  }, "deploying">, {
623
701
  required?: boolean;
@@ -646,9 +724,65 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
646
724
  }, import("zod/v4/core").$strict>>;
647
725
  }, import("zod/v4/core").$strict>>;
648
726
  }, import("zod/v4/core").$strict>;
727
+ configuration: import("zod").ZodObject<{
728
+ format: import("zod").ZodLiteral<"astrale.deployment.configuration">;
729
+ version: import("zod").ZodLiteral<1>;
730
+ vars: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
731
+ settings: import("zod").ZodObject<{
732
+ maximumRequestBytes: import("zod").ZodNumber;
733
+ invocationTimeoutMs: import("zod").ZodNumber;
734
+ tokenExchange: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
735
+ maximumLifetimeSeconds: import("zod").ZodNumber;
736
+ }, import("zod/v4/core").$strict>]>;
737
+ durableOptions: import("zod").ZodOptional<import("zod").ZodObject<{
738
+ retentionMs: import("zod").ZodOptional<import("zod").ZodNumber>;
739
+ retry: import("zod").ZodOptional<import("zod").ZodObject<{
740
+ initialIntervalMs: import("zod").ZodOptional<import("zod").ZodNumber>;
741
+ maxAttempts: import("zod").ZodOptional<import("zod").ZodNumber>;
742
+ maxIntervalMs: import("zod").ZodOptional<import("zod").ZodNumber>;
743
+ }, import("zod/v4/core").$strict>>;
744
+ stepTimeoutMs: import("zod").ZodOptional<import("zod").ZodNumber>;
745
+ }, import("zod/v4/core").$strict>>;
746
+ }, import("zod/v4/core").$strict>;
747
+ runtime: import("zod").ZodObject<{
748
+ compatibilityDate: import("zod").ZodString;
749
+ compatibilityFlags: import("zod").ZodArray<import("zod").ZodString>;
750
+ }, import("zod/v4/core").$strict>;
751
+ bindings: import("zod").ZodObject<{
752
+ services: import("zod").ZodArray<import("zod").ZodObject<{
753
+ name: import("zod").ZodString;
754
+ service: import("zod").ZodString;
755
+ }, import("zod/v4/core").$strict>>;
756
+ dispatchNamespaces: import("zod").ZodArray<import("zod").ZodObject<{
757
+ name: import("zod").ZodString;
758
+ namespace: import("zod").ZodString;
759
+ }, import("zod/v4/core").$strict>>;
760
+ secrets: import("zod").ZodArray<import("zod").ZodString>;
761
+ }, import("zod/v4/core").$strict>;
762
+ router: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
763
+ service: import("zod").ZodString;
764
+ hostSuffix: import("zod").ZodString;
765
+ minLabels: import("zod").ZodNumber;
766
+ }, import("zod/v4/core").$strict>]>;
767
+ }, import("zod/v4/core").$strict>;
768
+ secretDigests: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodArray<import("zod").ZodObject<{
769
+ name: import("zod").ZodString;
770
+ digest: import("zod").ZodString;
771
+ }, import("zod/v4/core").$strict>>, {
772
+ readonly required: false;
773
+ }>;
774
+ scriptEtag: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodString, {
775
+ readonly required: false;
776
+ }>;
649
777
  signingKeyId: import("@astrale-os/sdk/schema").AuthoredProperty<import("zod").ZodString, {
650
778
  readonly required: false;
651
779
  }>;
780
+ activatedAt: import("@astrale-os/sdk/schema").AuthoredProperty<Readonly<{
781
+ readonly type: 'string';
782
+ readonly 'x-astrale-value-kind': 'instant';
783
+ }>, {
784
+ readonly required: false;
785
+ }>;
652
786
  lastCallAt: import("@astrale-os/sdk/schema").AuthoredProperty<Readonly<{
653
787
  readonly type: 'string';
654
788
  readonly 'x-astrale-value-kind': 'instant';
@@ -683,7 +817,316 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
683
817
  readonly required: false;
684
818
  }>;
685
819
  };
820
+ readonly methods: {
821
+ setSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
822
+ name: string;
823
+ value: string;
824
+ }, {
825
+ readonly mode: 'value';
826
+ readonly value: {
827
+ name: string;
828
+ } | {
829
+ kind: "rejected";
830
+ reason: "secret-undeclared" | "service-unavailable";
831
+ message: string;
832
+ retryAfter?: string | undefined;
833
+ };
834
+ }, "authenticated", false, true, undefined>>;
835
+ secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
836
+ readonly mode: 'value';
837
+ readonly value: string[];
838
+ }, "authenticated", false, true, undefined>>;
839
+ };
686
840
  }>];
841
+ readonly methods: {
842
+ deploy: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
843
+ format: "astrale.services.deployment-request";
844
+ version: 1;
845
+ organization?: string | undefined;
846
+ origin: string;
847
+ environment: string;
848
+ addressing: "opaque" | "readable";
849
+ label: string;
850
+ buildDigest: string;
851
+ configuration: {
852
+ format: "astrale.deployment.configuration";
853
+ version: 1;
854
+ vars: Record<string, string>;
855
+ settings: {
856
+ maximumRequestBytes: number;
857
+ invocationTimeoutMs: number;
858
+ tokenExchange: false | {
859
+ maximumLifetimeSeconds: number;
860
+ };
861
+ durableOptions?: {
862
+ retentionMs?: number | undefined;
863
+ retry?: {
864
+ initialIntervalMs?: number | undefined;
865
+ maxAttempts?: number | undefined;
866
+ maxIntervalMs?: number | undefined;
867
+ } | undefined;
868
+ stepTimeoutMs?: number | undefined;
869
+ } | undefined;
870
+ };
871
+ runtime: {
872
+ compatibilityDate: string;
873
+ compatibilityFlags: string[];
874
+ };
875
+ bindings: {
876
+ services: {
877
+ name: string;
878
+ service: string;
879
+ }[];
880
+ dispatchNamespaces: {
881
+ name: string;
882
+ namespace: string;
883
+ }[];
884
+ secrets: string[];
885
+ };
886
+ router: false | {
887
+ service: string;
888
+ hostSuffix: string;
889
+ minLabels: number;
890
+ };
891
+ };
892
+ record: {
893
+ releaseDigest: string;
894
+ schemaRevision: string;
895
+ schemaBundle: string;
896
+ commit: {
897
+ sha: string;
898
+ dirty: boolean;
899
+ base?: {
900
+ version: string;
901
+ distance: number;
902
+ } | undefined;
903
+ } | null;
904
+ };
905
+ bundle: {
906
+ entrypoint: string;
907
+ modules: ({
908
+ name: string;
909
+ kind?: "data" | "esm" | "text" | "wasm" | undefined;
910
+ content: {
911
+ encoding: "gzip" | "identity";
912
+ decodedSize: number;
913
+ contentBase64: string;
914
+ } | {
915
+ encoding: "gzip" | "identity";
916
+ decodedSize: number;
917
+ contentBase64Chunks: string[];
918
+ };
919
+ } | {
920
+ contentBase64: string;
921
+ name: string;
922
+ kind?: "data" | "esm" | "text" | "wasm" | undefined;
923
+ } | {
924
+ contentBase64Chunks: string[];
925
+ name: string;
926
+ kind?: "data" | "esm" | "text" | "wasm" | undefined;
927
+ })[];
928
+ assets?: {
929
+ files: ({
930
+ path: string;
931
+ contentType?: string | undefined;
932
+ content: {
933
+ encoding: "gzip" | "identity";
934
+ decodedSize: number;
935
+ contentBase64: string;
936
+ } | {
937
+ encoding: "gzip" | "identity";
938
+ decodedSize: number;
939
+ contentBase64Chunks: string[];
940
+ };
941
+ } | {
942
+ contentBase64: string;
943
+ path: string;
944
+ contentType?: string | undefined;
945
+ } | {
946
+ contentBase64Chunks: string[];
947
+ path: string;
948
+ contentType?: string | undefined;
949
+ })[];
950
+ notFound?: "404-page" | "none" | "single-page-application" | undefined;
951
+ runWorkerFirst?: boolean | undefined;
952
+ htmlHandling?: "none" | undefined;
953
+ } | undefined;
954
+ };
955
+ secrets: Record<string, string>;
956
+ readiness?: {
957
+ paths: string[];
958
+ } | undefined;
959
+ }, {
960
+ readonly mode: 'value';
961
+ readonly value: {
962
+ kind: "rejected";
963
+ reason: "address-mismatch" | "build-mismatch" | "deployment-conflict" | "deployment-retired" | "hosting-unavailable" | "invalid-deployment" | "line-owned-elsewhere" | "service-unavailable";
964
+ message: string;
965
+ retryAfter?: string | undefined;
966
+ } | {
967
+ kind: "deployed";
968
+ state: "created" | "reused";
969
+ secrets: {
970
+ state: "bound" | "unchanged" | "updated";
971
+ };
972
+ deployment: {
973
+ id: string;
974
+ url: string;
975
+ label: string;
976
+ line: string;
977
+ owner: string;
978
+ state: "active" | "deploying" | "failed" | "retired" | "retiring";
979
+ retention: "preview" | "published";
980
+ createdAt: string;
981
+ lastCallAt?: string | undefined;
982
+ expiresAt?: string | undefined;
983
+ retiredAt?: string | undefined;
984
+ retirement?: "expired" | "withdrawn" | undefined;
985
+ signingKeyId: string;
986
+ record: {
987
+ format: "astrale.deployment-record";
988
+ version: 1;
989
+ origin: string;
990
+ environment: string;
991
+ releaseDigest: string;
992
+ buildDigest: string;
993
+ schemaRevision: string;
994
+ configuration: string;
995
+ providerScript: string;
996
+ commit: {
997
+ sha: string;
998
+ dirty: boolean;
999
+ base?: {
1000
+ version: string;
1001
+ distance: number;
1002
+ } | undefined;
1003
+ } | null;
1004
+ };
1005
+ };
1006
+ };
1007
+ }, "authenticated", true, false, undefined>>;
1008
+ hosting: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
1009
+ readonly mode: 'value';
1010
+ readonly value: {
1011
+ routingDomain: string;
1012
+ addressing: "opaque" | "readable";
1013
+ };
1014
+ }, "authenticated", true, false, undefined>>;
1015
+ list: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1016
+ origin?: string | undefined;
1017
+ environment?: string | undefined;
1018
+ }, {
1019
+ readonly mode: 'value';
1020
+ readonly value: {
1021
+ deployments: ({
1022
+ id: string;
1023
+ url: string;
1024
+ label: string;
1025
+ line: string;
1026
+ owner: string;
1027
+ state: "active" | "deploying" | "failed" | "retired" | "retiring";
1028
+ retention: "preview" | "published";
1029
+ createdAt: string;
1030
+ lastCallAt?: string | undefined;
1031
+ expiresAt?: string | undefined;
1032
+ retiredAt?: string | undefined;
1033
+ retirement?: "expired" | "withdrawn" | undefined;
1034
+ signingKeyId: string;
1035
+ record: {
1036
+ format: "astrale.deployment-record";
1037
+ version: 1;
1038
+ origin: string;
1039
+ environment: string;
1040
+ releaseDigest: string;
1041
+ buildDigest: string;
1042
+ schemaRevision: string;
1043
+ configuration: string;
1044
+ providerScript: string;
1045
+ commit: {
1046
+ sha: string;
1047
+ dirty: boolean;
1048
+ base?: {
1049
+ version: string;
1050
+ distance: number;
1051
+ } | undefined;
1052
+ } | null;
1053
+ };
1054
+ } | {
1055
+ id: string;
1056
+ url: string;
1057
+ label: string;
1058
+ line: string;
1059
+ owner: string;
1060
+ state: "active" | "deploying" | "failed" | "retired" | "retiring";
1061
+ retention: "preview" | "published";
1062
+ createdAt: string;
1063
+ lastCallAt?: string | undefined;
1064
+ expiresAt?: string | undefined;
1065
+ retiredAt?: string | undefined;
1066
+ retirement?: "expired" | "withdrawn" | undefined;
1067
+ signingKeyId: string;
1068
+ record: unknown;
1069
+ })[];
1070
+ };
1071
+ }, "authenticated", true, false, undefined>>;
1072
+ setSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1073
+ name: string;
1074
+ value: string;
1075
+ }, {
1076
+ readonly mode: 'value';
1077
+ readonly value: {
1078
+ name: string;
1079
+ } | {
1080
+ kind: "rejected";
1081
+ reason: "secret-undeclared" | "service-unavailable";
1082
+ message: string;
1083
+ retryAfter?: string | undefined;
1084
+ };
1085
+ }, "authenticated", false, false, undefined>>;
1086
+ secrets: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
1087
+ readonly mode: 'value';
1088
+ readonly value: string[];
1089
+ }, "authenticated", false, false, undefined>>;
1090
+ lastCalls: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1091
+ labels: string[];
1092
+ }, {
1093
+ readonly mode: 'value';
1094
+ readonly value: Record<string, string | null>;
1095
+ }, "authenticated", true, false, undefined>>;
1096
+ expirePreviews: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1097
+ limit?: number | undefined;
1098
+ apply?: boolean | undefined;
1099
+ }, {
1100
+ readonly mode: 'value';
1101
+ readonly value: {
1102
+ planned: string[];
1103
+ retired: string[];
1104
+ pending: string[];
1105
+ };
1106
+ }, "authenticated", true, false, undefined>>;
1107
+ retain: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
1108
+ label: string;
1109
+ }, {
1110
+ readonly mode: 'value';
1111
+ readonly value: {
1112
+ retention: "published";
1113
+ };
1114
+ }, "authenticated", true, false, undefined>>;
1115
+ retire: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
1116
+ readonly mode: 'value';
1117
+ readonly value: {
1118
+ kind: "retired";
1119
+ } | {
1120
+ kind: "retiring";
1121
+ retryAfterMs: number;
1122
+ } | {
1123
+ kind: "rejected";
1124
+ reason: "address-mismatch" | "build-mismatch" | "deployment-conflict" | "deployment-retired" | "hosting-unavailable" | "invalid-deployment" | "line-owned-elsewhere" | "service-unavailable";
1125
+ message: string;
1126
+ retryAfter?: string | undefined;
1127
+ };
1128
+ }, "authenticated", false, false, undefined>>;
1129
+ };
687
1130
  readonly policies: {
688
1131
  read: () => import("@astrale-os/sdk/schema").Policy;
689
1132
  };
@@ -726,6 +1169,7 @@ export declare const schema: import("@astrale-os/sdk/schema").AuthoredSchema<"se
726
1169
  readonly TraverseOwnedService: import("@astrale-os/sdk/schema").Policy;
727
1170
  readonly OwnLine: import("@astrale-os/sdk/schema").Policy;
728
1171
  readonly OwnDeployment: import("@astrale-os/sdk/schema").Policy;
1172
+ readonly ActForOrganization: import("@astrale-os/sdk/schema").Policy;
729
1173
  readonly TraverseOwnedLine: import("@astrale-os/sdk/schema").Policy;
730
1174
  readonly TraverseOwnedLineDeployment: import("@astrale-os/sdk/schema").Policy;
731
1175
  };
@@ -1,5 +1,5 @@
1
1
  import { KernelSchema, defineSchema, view } from '@astrale-os/sdk/schema';
2
- import { CloudflareDeployment, Deployment, DeploymentLine, OwnDeployment, OwnLine, TraverseOwnedLine, TraverseOwnedLineDeployment, deployment_on_line, line_owned_by, } from './modules/deployment/index.js';
2
+ import { ActForOrganization, CloudflareDeployment, Deployment, DeploymentLine, OwnDeployment, OwnLine, TraverseOwnedLine, TraverseOwnedLineDeployment, deployment_on_line, line_owned_by, } from './modules/deployment/index.js';
3
3
  import { CloudflareWorker, OwnService, Service, TraverseOwnedService, service_owned_by, } from './modules/service/index.js';
4
4
  const origin = 'services.astrale.ai';
5
5
  const classes = {
@@ -17,6 +17,7 @@ const policies = {
17
17
  TraverseOwnedService,
18
18
  OwnLine,
19
19
  OwnDeployment,
20
+ ActForOrganization,
20
21
  TraverseOwnedLine,
21
22
  TraverseOwnedLineDeployment,
22
23
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-domains/services",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/astrale-os/domains.git",
@@ -31,14 +31,14 @@
31
31
  "registry": "https://registry.npmjs.org/"
32
32
  },
33
33
  "dependencies": {
34
- "@astrale-os/sdk": "0.6.0-beta.11",
34
+ "@astrale-os/sdk": "0.6.0-beta.14",
35
35
  "zod": "4.4.3"
36
36
  },
37
37
  "devDependencies": {
38
- "@astrale-os/adapter-cloudflare": "0.5.0-beta.166",
38
+ "@astrale-os/adapter-cloudflare": "0.5.0-beta.169",
39
39
  "@astrale-os/ox": ">=0.1.4 <1.0.0",
40
- "@astrale-os/shell": "0.6.0-beta.7",
41
- "@astrale-os/shell-react": "0.5.0-beta.7",
40
+ "@astrale-os/shell": "0.6.0-beta.8",
41
+ "@astrale-os/shell-react": "0.5.0-beta.8",
42
42
  "@astrale-os/ui": "0.3.0-beta.32",
43
43
  "@cloudflare/workers-types": "5.20260821.1",
44
44
  "@tailwindcss/vite": "^4.3.3",
@@ -71,15 +71,19 @@
71
71
  "workerd"
72
72
  ],
73
73
  "scripts": {
74
- "dev": "astrale-domain dev",
75
74
  "deploy": "astrale-domain deploy",
76
75
  "build": "astrale-domain build",
77
76
  "lint": "astrale-domain lint",
78
77
  "lint:fix": "astrale-domain lint --fix",
79
78
  "package": "astrale-domain package && node tooling/package-scaffolder.mjs",
80
79
  "provider:bootstrap": "bun providers/cloudflare/operator/provision/bootstrap.ts",
80
+ "provider:deployment-audit": "bun providers/cloudflare/operator/maintenance/deployment-audit.ts",
81
81
  "provider:doctor": "bun providers/cloudflare/operator/maintenance/doctor.ts",
82
82
  "provider:orphan-audit": "bun providers/cloudflare/operator/maintenance/orphan-audit.ts",
83
+ "provider:platform-bootstrap": "bun providers/cloudflare/operator/platform-namespace/bootstrap.ts",
84
+ "provider:platform-expiry": "bun scripts/platform-namespace/expiry.ts",
85
+ "provider:platform-retire": "bun scripts/platform-namespace/retire.ts",
86
+ "provider:platform-secret": "bun providers/cloudflare/operator/platform-namespace/secret.ts",
83
87
  "provider:reclaim-service": "bun providers/cloudflare/operator/maintenance/reclaim-service.ts",
84
88
  "provider:route-wildcard": "bun providers/cloudflare/operator/routing/wildcard.ts",
85
89
  "provider:route-tenant": "bun providers/cloudflare/operator/routing/tenant.ts",