@supacloud/cli 0.80.0 → 0.82.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.
@@ -40,6 +40,7 @@ export type MutationStatusReadback = {
40
40
  };
41
41
  export declare function isMutationId(candidate: unknown): candidate is string;
42
42
  export declare function mutationRequestFingerprint(normalizedRequest: unknown): string;
43
+ export declare function safeMutationStatus(candidate: unknown): SafeMutationStatus | null;
43
44
  export declare function mutationStatusPath(ref: string, mutationId: string): string;
44
45
  export declare function fetchMutationStatus(http: HttpTransport, ref: string, mutationId: string): Promise<MutationStatusReadback>;
45
46
  export declare function verifiedMutationReadback(http: HttpTransport, expectation: MutationExpectation): Promise<MutationStatusReadback>;
@@ -2,6 +2,16 @@ import { type ToolServer } from "../tool-server";
2
2
  import { type AppManifest } from "./app-tool-export";
3
3
  declare const REMOTE_APP_ACTIONS: {
4
4
  readonly upload: "upload_release";
5
+ readonly "transfer-plan": "get_release_transfer_plan";
6
+ readonly "promote-plan": "get_promotion_plan";
7
+ readonly "promote-status": "get_promotion_status";
8
+ readonly "promote-reconcile": "reconcile_promotion";
9
+ readonly "preview-plan": "get_preview_plan";
10
+ readonly "preview-list": "list_previews";
11
+ readonly "preview-create": "create_preview";
12
+ readonly "preview-status": "get_preview";
13
+ readonly "preview-cleanup": "cleanup_preview";
14
+ readonly transfer: "transfer_release";
5
15
  readonly configure: "put_configuration";
6
16
  readonly deploy: "deploy_release";
7
17
  readonly "deploy-plan": "get_deploy_plan";
@@ -13,11 +23,8 @@ declare const REMOTE_APP_ACTIONS: {
13
23
  readonly reconcile: "reconcile_activation";
14
24
  readonly retire: "retire_activation";
15
25
  readonly logs: "logs";
16
- readonly "preview-plan": "get_preview_plan";
17
26
  readonly preview: "create_preview";
18
27
  readonly previews: "list_previews";
19
- readonly "preview-status": "get_preview";
20
- readonly "preview-cleanup": "cleanup_preview";
21
28
  };
22
29
  export interface AppToolOptions {
23
30
  getApplications?: () => ((args: Record<string, unknown>) => Promise<ToolResult>) | undefined;
@@ -28,7 +35,7 @@ export interface AppToolOptions {
28
35
  onDevProgress?: (result: ToolResult) => void;
29
36
  }
30
37
  export interface AppToolArguments {
31
- action: "init" | "generate" | "dev" | "watch" | "verify-plan" | "compile" | "check" | "graph" | "explain" | "export-tools" | "context" | "doctor" | "fix" | "plan" | "build" | keyof typeof REMOTE_APP_ACTIONS;
38
+ action: "init" | "generate" | "dev" | "watch" | "verify-plan" | "compile" | "check" | "graph" | "explain" | "export-tools" | "context" | "doctor" | "fix" | "plan" | "build" | "promote" | keyof typeof REMOTE_APP_ACTIONS;
32
39
  ref?: string;
33
40
  id?: string;
34
41
  environment_id?: string;
@@ -38,12 +45,17 @@ export interface AppToolArguments {
38
45
  configuration_path?: string;
39
46
  manifest_path?: string;
40
47
  release_id?: string;
41
- cursor?: string;
42
- limit?: number;
43
- preview_id?: string;
48
+ source_ref?: string;
49
+ source_release_id?: string;
50
+ source_environment_id?: string;
51
+ mutation_id?: string;
52
+ approved_migration_digest?: string;
44
53
  branch_ref?: string;
45
54
  branch_name?: string;
46
55
  data_mode?: "schema_only" | "full_clone";
56
+ preview_id?: string;
57
+ cursor?: string;
58
+ limit?: number;
47
59
  ttl_seconds?: number;
48
60
  wait?: boolean;
49
61
  timeout_seconds?: number;
@@ -62,7 +74,7 @@ export interface AppToolArguments {
62
74
  out_dir?: string;
63
75
  strict?: boolean;
64
76
  format?: "text" | "json";
65
- json?: true;
77
+ json?: boolean;
66
78
  target?: string;
67
79
  fix?: string;
68
80
  write?: boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { HttpTransport } from "../transports/http";
2
+ export declare function applicationReleaseTransfer(http: HttpTransport, input: {
3
+ action: "get_release_transfer_plan" | "transfer_release";
4
+ ref: string;
5
+ id: string;
6
+ sourceRef: string;
7
+ sourceReleaseId: string;
8
+ }, project: string): Promise<import("./release-control-response").ReleaseControlToolResponse>;
@@ -90,3 +90,65 @@ export declare const ApplicationRollbackSnapshotSchema: import("typebox").TObjec
90
90
  }>, import("typebox").TNull]>;
91
91
  }>;
92
92
  export declare const ApplicationActivationHistoryCursorSchema: import("typebox").TString;
93
+ export declare const ApplicationPromotionPlanSchema: import("typebox").TObject<{
94
+ schema: import("typebox").TLiteral<"supacloud.application-promotion-plan.v1">;
95
+ project_ref: import("typebox").TString;
96
+ application_id: import("typebox").TString;
97
+ environment_id: import("typebox").TString;
98
+ manifest_sha256: import("typebox").TString;
99
+ plan_sha256: import("typebox").TString;
100
+ source: import("typebox").TObject<{
101
+ activation_id: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
102
+ receipt_confirmed: import("typebox").TBoolean;
103
+ ready: import("typebox").TBoolean;
104
+ smoke_verified: import("typebox").TBoolean;
105
+ evidence_sha256: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
106
+ migration_ledger_digest: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
107
+ project_ref: import("typebox").TString;
108
+ environment_id: import("typebox").TString;
109
+ release_id: import("typebox").TString;
110
+ }>;
111
+ target: import("typebox").TObject<{
112
+ activation_id: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
113
+ receipt_confirmed: import("typebox").TBoolean;
114
+ ready: import("typebox").TBoolean;
115
+ smoke_verified: import("typebox").TBoolean;
116
+ evidence_sha256: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
117
+ migration_ledger_digest: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
118
+ candidate_release_id: import("typebox").TString;
119
+ current_release_id: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
120
+ artifact_action: import("typebox").TUnion<[import("typebox").TLiteral<"materialize">, import("typebox").TLiteral<"reuse">]>;
121
+ configuration_id: import("typebox").TUnion<[import("typebox").TString, import("typebox").TNull]>;
122
+ configuration: import("typebox").TUnion<[import("typebox").TObject<{
123
+ schema: import("typebox").TLiteral<"supacloud.application-configuration.v1">;
124
+ project_ref: import("typebox").TString;
125
+ application_id: import("typebox").TString;
126
+ environment_id: import("typebox").TString;
127
+ configuration_id: import("typebox").TString;
128
+ created_at: import("typebox").TString;
129
+ bun_version: import("typebox").TString;
130
+ targets: import("typebox").TArray<import("typebox").TObject<{
131
+ name: import("typebox").TString;
132
+ kind: import("typebox").TUnion<[import("typebox").TLiteral<"http">, import("typebox").TLiteral<"worker">]>;
133
+ hosts: import("typebox").TArray<import("typebox").TString>;
134
+ environment_names: import("typebox").TArray<import("typebox").TString>;
135
+ }>>;
136
+ }>, import("typebox").TNull]>;
137
+ }>;
138
+ migrations: import("typebox").TObject<{
139
+ ledger_digest: import("typebox").TString;
140
+ ledger_compatible: import("typebox").TBoolean;
141
+ project_migrations_applied: import("typebox").TBoolean;
142
+ pending_versions: import("typebox").TArray<import("typebox").TString>;
143
+ operator_provisioning_required: import("typebox").TBoolean;
144
+ }>;
145
+ backup: import("typebox").TObject<{
146
+ required: import("typebox").TBoolean;
147
+ confirmed: import("typebox").TLiteral<false>;
148
+ }>;
149
+ action: import("typebox").TUnion<[import("typebox").TLiteral<"promote">, import("typebox").TLiteral<"no-op">, import("typebox").TLiteral<"blocked">]>;
150
+ blockers: import("typebox").TArray<import("typebox").TEnum<("SOURCE_NOT_ACTIVE" | "SOURCE_RECEIPT_UNCONFIRMED" | "SOURCE_NOT_READY" | "SOURCE_SMOKE_UNVERIFIED" | "TARGET_CONFIGURATION_MISSING" | "TARGET_CONFIGURATION_MISMATCH" | "MIGRATION_PENDING" | "MIGRATION_CONFLICT" | "OPERATOR_PROVISIONING_REQUIRED" | "BACKUP_REQUIRED")[]>>;
151
+ steps: import("typebox").TArray<import("typebox").TString>;
152
+ execution_performed: import("typebox").TLiteral<false>;
153
+ data_recovery: import("typebox").TLiteral<"separate-required">;
154
+ }>;
@@ -9,7 +9,7 @@ export declare const APPLICATION_TOOL_SCHEMA: {
9
9
  ttl_seconds: Type.TOptional<Type.TInteger>;
10
10
  wait: Type.TOptional<Type.TBoolean>;
11
11
  timeout_seconds: Type.TOptional<Type.TInteger>;
12
- action: Type.TEnum<("list_releases" | "get_release" | "upload_release" | "activate_release" | "logs" | "get_runtime" | "get_deployment_evidence" | "get_configuration" | "get_rollback_snapshot" | "get_history" | "get_deploy_plan" | "get_preview_plan" | "put_configuration" | "deploy_release" | "rollback_release" | "reconcile_activation" | "retire_activation" | "create_preview" | "list_previews" | "get_preview" | "cleanup_preview")[]>;
12
+ action: Type.TEnum<("list_releases" | "get_release" | "upload_release" | "activate_release" | "logs" | "get_runtime" | "get_deployment_evidence" | "get_configuration" | "get_release_transfer_plan" | "get_promotion_plan" | "get_rollback_snapshot" | "get_history" | "get_deploy_plan" | "get_promotion_status" | "get_preview_plan" | "put_configuration" | "transfer_release" | "promote_application" | "reconcile_promotion" | "create_preview" | "list_previews" | "get_preview" | "cleanup_preview" | "deploy_release" | "rollback_release" | "reconcile_activation" | "retire_activation")[]>;
13
13
  ref: Type.TString;
14
14
  id: Type.TString;
15
15
  environment_id: Type.TOptional<Type.TString>;
@@ -19,6 +19,73 @@ export declare const APPLICATION_TOOL_SCHEMA: {
19
19
  configuration_path: Type.TOptional<Type.TString>;
20
20
  manifest_path: Type.TOptional<Type.TString>;
21
21
  release_id: Type.TOptional<Type.TString>;
22
+ source_ref: Type.TOptional<Type.TString>;
23
+ source_release_id: Type.TOptional<Type.TString>;
24
+ source_environment_id: Type.TOptional<Type.TString>;
25
+ mutation_id: Type.TOptional<Type.TString>;
26
+ approved_migration_digest: Type.TOptional<Type.TString>;
27
+ plan: Type.TOptional<Type.TObject<{
28
+ schema: Type.TLiteral<"supacloud.application-promotion-plan.v1">;
29
+ project_ref: Type.TString;
30
+ application_id: Type.TString;
31
+ environment_id: Type.TString;
32
+ manifest_sha256: Type.TString;
33
+ plan_sha256: Type.TString;
34
+ source: Type.TObject<{
35
+ activation_id: Type.TUnion<[Type.TString, Type.TNull]>;
36
+ receipt_confirmed: Type.TBoolean;
37
+ ready: Type.TBoolean;
38
+ smoke_verified: Type.TBoolean;
39
+ evidence_sha256: Type.TUnion<[Type.TString, Type.TNull]>;
40
+ migration_ledger_digest: Type.TUnion<[Type.TString, Type.TNull]>;
41
+ project_ref: Type.TString;
42
+ environment_id: Type.TString;
43
+ release_id: Type.TString;
44
+ }>;
45
+ target: Type.TObject<{
46
+ activation_id: Type.TUnion<[Type.TString, Type.TNull]>;
47
+ receipt_confirmed: Type.TBoolean;
48
+ ready: Type.TBoolean;
49
+ smoke_verified: Type.TBoolean;
50
+ evidence_sha256: Type.TUnion<[Type.TString, Type.TNull]>;
51
+ migration_ledger_digest: Type.TUnion<[Type.TString, Type.TNull]>;
52
+ candidate_release_id: Type.TString;
53
+ current_release_id: Type.TUnion<[Type.TString, Type.TNull]>;
54
+ artifact_action: Type.TUnion<[Type.TLiteral<"materialize">, Type.TLiteral<"reuse">]>;
55
+ configuration_id: Type.TUnion<[Type.TString, Type.TNull]>;
56
+ configuration: Type.TUnion<[Type.TObject<{
57
+ schema: Type.TLiteral<"supacloud.application-configuration.v1">;
58
+ project_ref: Type.TString;
59
+ application_id: Type.TString;
60
+ environment_id: Type.TString;
61
+ configuration_id: Type.TString;
62
+ created_at: Type.TString;
63
+ bun_version: Type.TString;
64
+ targets: Type.TArray<Type.TObject<{
65
+ name: Type.TString;
66
+ kind: Type.TUnion<[Type.TLiteral<"http">, Type.TLiteral<"worker">]>;
67
+ hosts: Type.TArray<Type.TString>;
68
+ environment_names: Type.TArray<Type.TString>;
69
+ }>>;
70
+ }>, Type.TNull]>;
71
+ }>;
72
+ migrations: Type.TObject<{
73
+ ledger_digest: Type.TString;
74
+ ledger_compatible: Type.TBoolean;
75
+ project_migrations_applied: Type.TBoolean;
76
+ pending_versions: Type.TArray<Type.TString>;
77
+ operator_provisioning_required: Type.TBoolean;
78
+ }>;
79
+ backup: Type.TObject<{
80
+ required: Type.TBoolean;
81
+ confirmed: Type.TLiteral<false>;
82
+ }>;
83
+ action: Type.TUnion<[Type.TLiteral<"promote">, Type.TLiteral<"no-op">, Type.TLiteral<"blocked">]>;
84
+ blockers: Type.TArray<Type.TEnum<("SOURCE_NOT_ACTIVE" | "SOURCE_RECEIPT_UNCONFIRMED" | "SOURCE_NOT_READY" | "SOURCE_SMOKE_UNVERIFIED" | "TARGET_CONFIGURATION_MISSING" | "TARGET_CONFIGURATION_MISMATCH" | "MIGRATION_PENDING" | "MIGRATION_CONFLICT" | "OPERATOR_PROVISIONING_REQUIRED" | "BACKUP_REQUIRED")[]>>;
85
+ steps: Type.TArray<Type.TString>;
86
+ execution_performed: Type.TLiteral<false>;
87
+ data_recovery: Type.TLiteral<"separate-required">;
88
+ }>>;
22
89
  cursor: Type.TOptional<Type.TUnion<[Type.TString, Type.TString]>>;
23
90
  limit: Type.TOptional<Type.TInteger>;
24
91
  offset: Type.TOptional<Type.TInteger>;
@@ -0,0 +1,236 @@
1
+ import { Type } from "typebox";
2
+ export declare const ApplicationPromotionResultSchema: Type.TObject<{
3
+ mutation_id: Type.TString;
4
+ activation_id: Type.TString;
5
+ plan_sha256: Type.TString;
6
+ action: Type.TLiteral<"promote">;
7
+ replayed: Type.TBoolean;
8
+ project_ref: Type.TString;
9
+ application_id: Type.TString;
10
+ environment_id: Type.TString;
11
+ }>;
12
+ export declare const ApplicationPromotionStatusSchema: Type.TObject<{
13
+ mutation: Type.TUnknown;
14
+ promotion: Type.TObject<{
15
+ phase: Type.TUnion<[Type.TLiteral<"prepared">, Type.TLiteral<"transferring">, Type.TLiteral<"migrating">, Type.TLiteral<"activating">, Type.TLiteral<"verifying">, Type.TNull]>;
16
+ plan_sha256: Type.TUnion<[Type.TString, Type.TNull]>;
17
+ activation_id: Type.TUnion<[Type.TString, Type.TNull]>;
18
+ release_id: Type.TUnion<[Type.TString, Type.TNull]>;
19
+ configuration_id: Type.TUnion<[Type.TString, Type.TNull]>;
20
+ backup_id: Type.TUnion<[Type.TString, Type.TNull]>;
21
+ data_recovery: Type.TLiteral<"separate-required">;
22
+ }>;
23
+ project_ref: Type.TString;
24
+ application_id: Type.TString;
25
+ environment_id: Type.TString;
26
+ }>;
27
+ export declare const ApplicationPreviewReceiptSchema: Type.TObject<{
28
+ preview_id: Type.TString;
29
+ release_id: Type.TString;
30
+ expires_at: Type.TUnion<[Type.TString, Type.TNull]>;
31
+ status: Type.TUnion<[Type.TLiteral<"planned">, Type.TLiteral<"provisioning">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
32
+ resources: Type.TObject<{
33
+ build_artifact: Type.TObject<{
34
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
35
+ release_id: Type.TString;
36
+ }>;
37
+ database_branch: Type.TObject<{
38
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
39
+ branch_ref: Type.TString;
40
+ data_mode: Type.TUnion<[Type.TLiteral<"schema_only">, Type.TLiteral<"full_clone">]>;
41
+ }>;
42
+ queue_namespace: Type.TObject<{
43
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
44
+ namespace: Type.TString;
45
+ }>;
46
+ storage_namespace: Type.TObject<{
47
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
48
+ namespace: Type.TString;
49
+ }>;
50
+ test_secret: Type.TObject<{
51
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
52
+ name: Type.TString;
53
+ value_issued: Type.TLiteral<false>;
54
+ }>;
55
+ configuration_revision: Type.TObject<{
56
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
57
+ configuration_id: Type.TUnion<[Type.TString, Type.TNull]>;
58
+ }>;
59
+ application_activation: Type.TObject<{
60
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
61
+ activation_id: Type.TUnion<[Type.TString, Type.TNull]>;
62
+ }>;
63
+ smoke_test: Type.TObject<{
64
+ status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"ready">, Type.TLiteral<"failed">, Type.TLiteral<"cleaned">]>;
65
+ checks: Type.TArray<Type.TString>;
66
+ passed: Type.TArray<Type.TString>;
67
+ failed: Type.TArray<Type.TString>;
68
+ }>;
69
+ }>;
70
+ cleanup: Type.TObject<{
71
+ required: Type.TBoolean;
72
+ completed: Type.TBoolean;
73
+ error: Type.TUnion<[Type.TString, Type.TNull]>;
74
+ }>;
75
+ branch_name: Type.TOptional<Type.TString>;
76
+ queue_name: Type.TOptional<Type.TString>;
77
+ test_secret_name: Type.TOptional<Type.TString>;
78
+ source_configuration_id: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>;
79
+ created_at: Type.TOptional<Type.TString>;
80
+ updated_at: Type.TOptional<Type.TString>;
81
+ project_ref: Type.TString;
82
+ application_id: Type.TString;
83
+ environment_id: Type.TString;
84
+ schema: Type.TLiteral<"supacloud.application-preview.v1">;
85
+ }>;
86
+ export interface ApplicationWorkflowScope {
87
+ project_ref: string;
88
+ application_id: string;
89
+ environment_id: string;
90
+ }
91
+ export declare function parsePromotionStatus(value: unknown, identity: ApplicationWorkflowScope & {
92
+ mutation_id: string;
93
+ }): {
94
+ mutation: import("../mutation-protocol").SafeMutationStatus;
95
+ project_ref: string;
96
+ application_id: string;
97
+ environment_id: string;
98
+ promotion: {
99
+ backup_id: string | null;
100
+ activation_id: string | null;
101
+ release_id: string | null;
102
+ configuration_id: string | null;
103
+ plan_sha256: string | null;
104
+ data_recovery: "separate-required";
105
+ phase: "prepared" | "transferring" | "migrating" | "activating" | "verifying" | null;
106
+ };
107
+ };
108
+ export declare function parsePreviewReceipt(value: unknown, identity: ApplicationWorkflowScope & {
109
+ preview_id?: string;
110
+ release_id?: string;
111
+ branch_ref?: string;
112
+ data_mode?: string;
113
+ configuration_id?: string;
114
+ }): {
115
+ created_at?: string | undefined;
116
+ updated_at?: string | undefined;
117
+ branch_name?: string | undefined;
118
+ queue_name?: string | undefined;
119
+ test_secret_name?: string | undefined;
120
+ source_configuration_id?: string | null | undefined;
121
+ project_ref: string;
122
+ application_id: string;
123
+ environment_id: string;
124
+ status: "failed" | "ready" | "planned" | "cleaned" | "provisioning";
125
+ schema: "supacloud.application-preview.v1";
126
+ resources: {
127
+ build_artifact: {
128
+ status: "pending" | "failed" | "ready" | "cleaned";
129
+ release_id: string;
130
+ };
131
+ database_branch: {
132
+ status: "pending" | "failed" | "ready" | "cleaned";
133
+ branch_ref: string;
134
+ data_mode: "schema_only" | "full_clone";
135
+ };
136
+ queue_namespace: {
137
+ status: "pending" | "failed" | "ready" | "cleaned";
138
+ namespace: string;
139
+ };
140
+ storage_namespace: {
141
+ status: "pending" | "failed" | "ready" | "cleaned";
142
+ namespace: string;
143
+ };
144
+ test_secret: {
145
+ name: string;
146
+ status: "pending" | "failed" | "ready" | "cleaned";
147
+ value_issued: false;
148
+ };
149
+ configuration_revision: {
150
+ status: "pending" | "failed" | "ready" | "cleaned";
151
+ configuration_id: string | null;
152
+ };
153
+ application_activation: {
154
+ status: "pending" | "failed" | "ready" | "cleaned";
155
+ activation_id: string | null;
156
+ };
157
+ smoke_test: {
158
+ status: "pending" | "failed" | "ready" | "cleaned";
159
+ checks: string[];
160
+ failed: string[];
161
+ passed: string[];
162
+ };
163
+ };
164
+ release_id: string;
165
+ expires_at: string | null;
166
+ preview_id: string;
167
+ cleanup: {
168
+ required: boolean;
169
+ error: string | null;
170
+ completed: boolean;
171
+ };
172
+ };
173
+ export declare function parsePreviewList(value: unknown, identity: ApplicationWorkflowScope): {
174
+ project_ref: string;
175
+ application_id: string;
176
+ environment_id: string;
177
+ previews: {
178
+ created_at?: string | undefined;
179
+ updated_at?: string | undefined;
180
+ branch_name?: string | undefined;
181
+ queue_name?: string | undefined;
182
+ test_secret_name?: string | undefined;
183
+ source_configuration_id?: string | null | undefined;
184
+ project_ref: string;
185
+ application_id: string;
186
+ environment_id: string;
187
+ status: "failed" | "ready" | "planned" | "cleaned" | "provisioning";
188
+ schema: "supacloud.application-preview.v1";
189
+ resources: {
190
+ build_artifact: {
191
+ status: "pending" | "failed" | "ready" | "cleaned";
192
+ release_id: string;
193
+ };
194
+ database_branch: {
195
+ status: "pending" | "failed" | "ready" | "cleaned";
196
+ branch_ref: string;
197
+ data_mode: "schema_only" | "full_clone";
198
+ };
199
+ queue_namespace: {
200
+ status: "pending" | "failed" | "ready" | "cleaned";
201
+ namespace: string;
202
+ };
203
+ storage_namespace: {
204
+ status: "pending" | "failed" | "ready" | "cleaned";
205
+ namespace: string;
206
+ };
207
+ test_secret: {
208
+ name: string;
209
+ status: "pending" | "failed" | "ready" | "cleaned";
210
+ value_issued: false;
211
+ };
212
+ configuration_revision: {
213
+ status: "pending" | "failed" | "ready" | "cleaned";
214
+ configuration_id: string | null;
215
+ };
216
+ application_activation: {
217
+ status: "pending" | "failed" | "ready" | "cleaned";
218
+ activation_id: string | null;
219
+ };
220
+ smoke_test: {
221
+ status: "pending" | "failed" | "ready" | "cleaned";
222
+ checks: string[];
223
+ failed: string[];
224
+ passed: string[];
225
+ };
226
+ };
227
+ release_id: string;
228
+ expires_at: string | null;
229
+ preview_id: string;
230
+ cleanup: {
231
+ required: boolean;
232
+ error: string | null;
233
+ completed: boolean;
234
+ };
235
+ }[];
236
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supacloud/cli",
3
- "version": "0.80.0",
3
+ "version": "0.82.0",
4
4
  "description": "Project-scoped CLI for SupaCloud users",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -52,14 +52,14 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@supacloud/compiler": "^0.43.0",
55
- "@supacloud/delivery": "0.10.0",
55
+ "@supacloud/delivery": "0.11.0",
56
56
  "@supacloud/db": "0.16.0",
57
57
  "fflate": "^0.8.3",
58
58
  "typebox": "1.3.34"
59
59
  },
60
60
  "overrides": {
61
61
  "@supacloud/contracts": "0.8.0",
62
- "@supacloud/delivery": "0.10.0",
62
+ "@supacloud/delivery": "0.11.0",
63
63
  "@graphql-tools/utils": "^12.0.3"
64
64
  },
65
65
  "devDependencies": {