@cat-factory/contracts 0.43.3 → 0.45.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.
- package/dist/accountSettings.d.ts +164 -9
- package/dist/accountSettings.d.ts.map +1 -1
- package/dist/accountSettings.js +75 -7
- package/dist/accountSettings.js.map +1 -1
- package/dist/environments.d.ts +32 -0
- package/dist/environments.d.ts.map +1 -1
- package/dist/environments.js +30 -0
- package/dist/environments.js.map +1 -1
- package/dist/provider-config.d.ts +83 -0
- package/dist/provider-config.d.ts.map +1 -1
- package/dist/provider-config.js +40 -0
- package/dist/provider-config.js.map +1 -1
- package/dist/routes/accounts.d.ts +69 -3
- package/dist/routes/accounts.d.ts.map +1 -1
- package/dist/routes/auth.d.ts +79 -0
- package/dist/routes/auth.d.ts.map +1 -1
- package/dist/routes/auth.js +35 -0
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/environments.d.ts +107 -0
- package/dist/routes/environments.d.ts.map +1 -1
- package/dist/routes/environments.js +18 -2
- package/dist/routes/environments.js.map +1 -1
- package/dist/routes/runners.d.ts +16 -0
- package/dist/routes/runners.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,71 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Where an account's binary artifacts (UI screenshots + reference designs) are stored.
|
|
4
|
+
* `off` disables storage (the visual-confirmation gate passes through). `fs`/`s3`/`db` are
|
|
5
|
+
* Node/local only (S3 is deliberately not offered on the Worker — the AWS SDK does not belong
|
|
6
|
+
* in the Worker bundle); `r2` is Cloudflare only. Which of these a runtime actually supports
|
|
7
|
+
* is surfaced to the UI via {@link contentStorageCapabilitySchema}.
|
|
6
8
|
*/
|
|
7
|
-
export declare const
|
|
9
|
+
export declare const contentStorageBackendSchema: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
10
|
+
export type ContentStorageBackend = v.InferOutput<typeof contentStorageBackendSchema>;
|
|
11
|
+
/** Non-secret S3 connection settings (the access keys live in the sealed secrets blob). */
|
|
12
|
+
export declare const contentStorageS3ConfigSchema: v.ObjectSchema<{
|
|
13
|
+
readonly region: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
14
|
+
readonly bucket: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
15
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
16
|
+
readonly prefix: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
17
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
18
|
+
readonly endpoint: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
19
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
20
|
+
readonly forcePathStyle: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
21
|
+
}, undefined>;
|
|
22
|
+
export type ContentStorageS3Config = v.InferOutput<typeof contentStorageS3ConfigSchema>;
|
|
23
|
+
/** Filesystem (Node/local) settings — just the base directory (defaults to `.file-storage`). */
|
|
24
|
+
export declare const contentStorageFsConfigSchema: v.ObjectSchema<{
|
|
25
|
+
readonly basePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 1024, undefined>]>, undefined>;
|
|
26
|
+
}, undefined>;
|
|
27
|
+
export type ContentStorageFsConfig = v.InferOutput<typeof contentStorageFsConfigSchema>;
|
|
28
|
+
/** Non-secret content-storage config: which backend + its non-secret connection settings. */
|
|
29
|
+
export declare const contentStorageConfigSchema: v.ObjectSchema<{
|
|
30
|
+
readonly backend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
31
|
+
readonly fs: v.OptionalSchema<v.ObjectSchema<{
|
|
32
|
+
readonly basePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 1024, undefined>]>, undefined>;
|
|
33
|
+
}, undefined>, undefined>;
|
|
34
|
+
readonly s3: v.OptionalSchema<v.ObjectSchema<{
|
|
35
|
+
readonly region: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
36
|
+
readonly bucket: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
37
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
38
|
+
readonly prefix: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
39
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
40
|
+
readonly endpoint: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
41
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
42
|
+
readonly forcePathStyle: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
43
|
+
}, undefined>, undefined>;
|
|
44
|
+
}, undefined>;
|
|
45
|
+
export type ContentStorageConfig = v.InferOutput<typeof contentStorageConfigSchema>;
|
|
46
|
+
/**
|
|
47
|
+
* Non-secret per-account config. Holds the content-storage backend selection (the S3 access
|
|
48
|
+
* keys live in the sealed secrets blob). Retained as an object so forward-compatible
|
|
49
|
+
* non-secret tuning can be added without a migration.
|
|
50
|
+
*/
|
|
51
|
+
export declare const accountSettingsConfigSchema: v.ObjectSchema<{
|
|
52
|
+
readonly contentStorage: v.OptionalSchema<v.ObjectSchema<{
|
|
53
|
+
readonly backend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
54
|
+
readonly fs: v.OptionalSchema<v.ObjectSchema<{
|
|
55
|
+
readonly basePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 1024, undefined>]>, undefined>;
|
|
56
|
+
}, undefined>, undefined>;
|
|
57
|
+
readonly s3: v.OptionalSchema<v.ObjectSchema<{
|
|
58
|
+
readonly region: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
59
|
+
readonly bucket: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
60
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
61
|
+
readonly prefix: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
62
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
63
|
+
readonly endpoint: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
64
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
65
|
+
readonly forcePathStyle: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
66
|
+
}, undefined>, undefined>;
|
|
67
|
+
}, undefined>, undefined>;
|
|
68
|
+
}, undefined>;
|
|
8
69
|
export type AccountSettingsConfig = v.InferOutput<typeof accountSettingsConfigSchema>;
|
|
9
70
|
/** Built-in config used when an account has no row yet. */
|
|
10
71
|
export declare const DEFAULT_ACCOUNT_SETTINGS_CONFIG: AccountSettingsConfig;
|
|
@@ -27,6 +88,12 @@ export declare const webSearchSecretSchema: v.ObjectSchema<{
|
|
|
27
88
|
readonly searxngApiKey: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
28
89
|
}, undefined>;
|
|
29
90
|
export type WebSearchSecret = v.InferOutput<typeof webSearchSecretSchema>;
|
|
91
|
+
/** S3 (or S3-compatible) access keys for the content-storage `s3` backend. */
|
|
92
|
+
export declare const s3CredentialsSecretSchema: v.ObjectSchema<{
|
|
93
|
+
readonly accessKeyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
94
|
+
readonly secretAccessKey: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
95
|
+
}, undefined>;
|
|
96
|
+
export type S3CredentialsSecret = v.InferOutput<typeof s3CredentialsSecretSchema>;
|
|
30
97
|
/** The decrypted secrets blob (every group optional). */
|
|
31
98
|
export declare const accountSettingsSecretsSchema: v.ObjectSchema<{
|
|
32
99
|
readonly slackOAuth: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -39,6 +106,10 @@ export declare const accountSettingsSecretsSchema: v.ObjectSchema<{
|
|
|
39
106
|
readonly searxngUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>]>, undefined>;
|
|
40
107
|
readonly searxngApiKey: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
41
108
|
}, undefined>, undefined>;
|
|
109
|
+
readonly s3: v.OptionalSchema<v.ObjectSchema<{
|
|
110
|
+
readonly accessKeyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
111
|
+
readonly secretAccessKey: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
112
|
+
}, undefined>, undefined>;
|
|
42
113
|
}, undefined>;
|
|
43
114
|
export type AccountSettingsSecrets = v.InferOutput<typeof accountSettingsSecretsSchema>;
|
|
44
115
|
/** Validate a decrypted secrets blob at the read boundary. */
|
|
@@ -48,7 +119,24 @@ export declare function parseAccountSettingsSecrets(raw: unknown): AccountSettin
|
|
|
48
119
|
* Each secrets group: absent ⇒ leave unchanged, `null` ⇒ clear, value ⇒ set.
|
|
49
120
|
*/
|
|
50
121
|
export declare const updateAccountSettingsSchema: v.ObjectSchema<{
|
|
51
|
-
readonly config: v.OptionalSchema<v.ObjectSchema<{
|
|
122
|
+
readonly config: v.OptionalSchema<v.ObjectSchema<{
|
|
123
|
+
readonly contentStorage: v.OptionalSchema<v.ObjectSchema<{
|
|
124
|
+
readonly backend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
125
|
+
readonly fs: v.OptionalSchema<v.ObjectSchema<{
|
|
126
|
+
readonly basePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 1024, undefined>]>, undefined>;
|
|
127
|
+
}, undefined>, undefined>;
|
|
128
|
+
readonly s3: v.OptionalSchema<v.ObjectSchema<{
|
|
129
|
+
readonly region: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
130
|
+
readonly bucket: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
131
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
132
|
+
readonly prefix: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
133
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
134
|
+
readonly endpoint: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
135
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
136
|
+
readonly forcePathStyle: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
137
|
+
}, undefined>, undefined>;
|
|
138
|
+
}, undefined>, undefined>;
|
|
139
|
+
}, undefined>, undefined>;
|
|
52
140
|
readonly secrets: v.OptionalSchema<v.ObjectSchema<{
|
|
53
141
|
readonly slackOAuth: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
54
142
|
readonly clientId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
@@ -60,24 +148,91 @@ export declare const updateAccountSettingsSchema: v.ObjectSchema<{
|
|
|
60
148
|
readonly searxngUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>]>, undefined>;
|
|
61
149
|
readonly searxngApiKey: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
62
150
|
}, undefined>, undefined>, undefined>;
|
|
151
|
+
readonly s3: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
152
|
+
readonly accessKeyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
153
|
+
readonly secretAccessKey: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
154
|
+
}, undefined>, undefined>, undefined>;
|
|
63
155
|
}, undefined>, undefined>;
|
|
64
156
|
}, undefined>;
|
|
65
157
|
export type UpdateAccountSettingsInput = v.InferOutput<typeof updateAccountSettingsSchema>;
|
|
158
|
+
/** Non-secret content-storage presence/status for display — NEVER secret values. */
|
|
159
|
+
export declare const contentStorageSummarySchema: v.ObjectSchema<{
|
|
160
|
+
/** The explicitly-selected backend, or null when the account uses the runtime default. */
|
|
161
|
+
readonly backend: v.NullableSchema<v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>, undefined>;
|
|
162
|
+
/** Configured S3 bucket (non-secret), when the s3 backend is selected. */
|
|
163
|
+
readonly bucket: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
164
|
+
/** Configured filesystem base path (non-secret), when the fs backend is selected. */
|
|
165
|
+
readonly basePath: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
166
|
+
/** Whether S3 access keys are stored (the keys themselves are never returned). */
|
|
167
|
+
readonly s3CredentialsConfigured: v.BooleanSchema<undefined>;
|
|
168
|
+
}, undefined>;
|
|
169
|
+
export type ContentStorageSummary = v.InferOutput<typeof contentStorageSummarySchema>;
|
|
66
170
|
/** Non-secret presence/status for display — NEVER secret values. */
|
|
67
171
|
export declare const accountSettingsSummarySchema: v.ObjectSchema<{
|
|
68
172
|
readonly slackOAuthConfigured: v.BooleanSchema<undefined>;
|
|
69
173
|
readonly webSearch: v.NullableSchema<v.PicklistSchema<["brave", "searxng"], undefined>, undefined>;
|
|
174
|
+
readonly contentStorage: v.ObjectSchema<{
|
|
175
|
+
/** The explicitly-selected backend, or null when the account uses the runtime default. */
|
|
176
|
+
readonly backend: v.NullableSchema<v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>, undefined>;
|
|
177
|
+
/** Configured S3 bucket (non-secret), when the s3 backend is selected. */
|
|
178
|
+
readonly bucket: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
179
|
+
/** Configured filesystem base path (non-secret), when the fs backend is selected. */
|
|
180
|
+
readonly basePath: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
181
|
+
/** Whether S3 access keys are stored (the keys themselves are never returned). */
|
|
182
|
+
readonly s3CredentialsConfigured: v.BooleanSchema<undefined>;
|
|
183
|
+
}, undefined>;
|
|
70
184
|
}, undefined>;
|
|
71
185
|
export type AccountSettingsSummary = v.InferOutput<typeof accountSettingsSummarySchema>;
|
|
72
|
-
/**
|
|
186
|
+
/**
|
|
187
|
+
* Which content-storage backends THIS runtime can serve + its default when an account has
|
|
188
|
+
* nothing configured. Supplied by the facade so the UI only offers valid options (e.g. `fs`
|
|
189
|
+
* on Node/local, `r2` on Cloudflare) and shows the effective default.
|
|
190
|
+
*/
|
|
191
|
+
export declare const contentStorageCapabilitySchema: v.ObjectSchema<{
|
|
192
|
+
readonly supportedBackends: v.ArraySchema<v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>, undefined>;
|
|
193
|
+
readonly defaultBackend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
194
|
+
}, undefined>;
|
|
195
|
+
export type ContentStorageCapability = v.InferOutput<typeof contentStorageCapabilitySchema>;
|
|
196
|
+
/** What `GET /accounts/:id/settings` returns — config + summary + runtime capability, never secrets. */
|
|
73
197
|
export declare const accountSettingsViewSchema: v.ObjectSchema<{
|
|
74
|
-
readonly config: v.ObjectSchema<{
|
|
198
|
+
readonly config: v.ObjectSchema<{
|
|
199
|
+
readonly contentStorage: v.OptionalSchema<v.ObjectSchema<{
|
|
200
|
+
readonly backend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
201
|
+
readonly fs: v.OptionalSchema<v.ObjectSchema<{
|
|
202
|
+
readonly basePath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 1024, undefined>]>, undefined>;
|
|
203
|
+
}, undefined>, undefined>;
|
|
204
|
+
readonly s3: v.OptionalSchema<v.ObjectSchema<{
|
|
205
|
+
readonly region: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
206
|
+
readonly bucket: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
|
|
207
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
208
|
+
readonly prefix: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
209
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
210
|
+
readonly endpoint: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.UrlAction<string, undefined>, v.MaxLengthAction<string, 255, undefined>]>, undefined>;
|
|
211
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
212
|
+
readonly forcePathStyle: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
213
|
+
}, undefined>, undefined>;
|
|
214
|
+
}, undefined>, undefined>;
|
|
215
|
+
}, undefined>;
|
|
75
216
|
readonly summary: v.ObjectSchema<{
|
|
76
217
|
readonly slackOAuthConfigured: v.BooleanSchema<undefined>;
|
|
77
218
|
readonly webSearch: v.NullableSchema<v.PicklistSchema<["brave", "searxng"], undefined>, undefined>;
|
|
219
|
+
readonly contentStorage: v.ObjectSchema<{
|
|
220
|
+
/** The explicitly-selected backend, or null when the account uses the runtime default. */
|
|
221
|
+
readonly backend: v.NullableSchema<v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>, undefined>;
|
|
222
|
+
/** Configured S3 bucket (non-secret), when the s3 backend is selected. */
|
|
223
|
+
readonly bucket: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
224
|
+
/** Configured filesystem base path (non-secret), when the fs backend is selected. */
|
|
225
|
+
readonly basePath: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
226
|
+
/** Whether S3 access keys are stored (the keys themselves are never returned). */
|
|
227
|
+
readonly s3CredentialsConfigured: v.BooleanSchema<undefined>;
|
|
228
|
+
}, undefined>;
|
|
229
|
+
}, undefined>;
|
|
230
|
+
readonly contentStorageCapability: v.ObjectSchema<{
|
|
231
|
+
readonly supportedBackends: v.ArraySchema<v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>, undefined>;
|
|
232
|
+
readonly defaultBackend: v.PicklistSchema<["off", "fs", "s3", "r2", "db"], undefined>;
|
|
78
233
|
}, undefined>;
|
|
79
234
|
}, undefined>;
|
|
80
235
|
export type AccountSettingsView = v.InferOutput<typeof accountSettingsViewSchema>;
|
|
81
|
-
/** Derive the non-secret summary from the secrets blob. */
|
|
82
|
-
export declare function accountSettingsSummary(secrets: AccountSettingsSecrets): AccountSettingsSummary;
|
|
236
|
+
/** Derive the non-secret summary from the secrets blob + the non-secret config. */
|
|
237
|
+
export declare function accountSettingsSummary(secrets: AccountSettingsSecrets, config?: AccountSettingsConfig): AccountSettingsSummary;
|
|
83
238
|
//# sourceMappingURL=accountSettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSettings.d.ts","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSettings.d.ts","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,8DAA8C,CAAA;AACtF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,2FAA2F;AAC3F,eAAO,MAAM,4BAA4B;;;IAGvC,8CAA8C;;IAE9C,gFAAgF;;IAEhF,yEAAyE;;aAEzE,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF,gGAAgG;AAChG,eAAO,MAAM,4BAA4B;;aAEvC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B;;;;;;;;QAhBrC,8CAA8C;;QAE9C,gFAAgF;;QAEhF,yEAAyE;;;aAgBzE,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;YA5BtC,8CAA8C;;YAE9C,gFAAgF;;YAEhF,yEAAyE;;;;aA0BzE,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,2DAA2D;AAC3D,eAAO,MAAM,+BAA+B,EAAE,qBAG7C,CAAA;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAE9E;AAID,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB;;;;aAIjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;aAIhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB;;;aAGpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,yDAAyD;AACzD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;aAIvC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF,8DAA8D;AAC9D,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAEhF;AAID;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;gBA3FtC,8CAA8C;;gBAE9C,gFAAgF;;gBAEhF,yEAAyE;;;;;;;;;;;;;;;;;;;;;aAgGzE,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE1F,oFAAoF;AACpF,eAAO,MAAM,2BAA2B;IACtC,0FAA0F;;IAE1F,0EAA0E;;IAE1E,qFAAqF;;IAErF,kFAAkF;;aAElF,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,oEAAoE;AACpE,eAAO,MAAM,4BAA4B;;;;QAZvC,0FAA0F;;QAE1F,0EAA0E;;QAE1E,qFAAqF;;QAErF,kFAAkF;;;aAUlF,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;aAGzC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,wGAAwG;AACxG,eAAO,MAAM,yBAAyB;;;;;;;;;;gBAxIpC,8CAA8C;;gBAE9C,gFAAgF;;gBAEhF,yEAAyE;;;;;;;;;YAqGzE,0FAA0F;;YAE1F,0EAA0E;;YAE1E,qFAAqF;;YAErF,kFAAkF;;;;;;;;aA6BlF,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,mFAAmF;AACnF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,sBAAsB,CAiBxB"}
|
package/dist/accountSettings.js
CHANGED
|
@@ -7,12 +7,44 @@ import * as v from 'valibot';
|
|
|
7
7
|
// Secrets are write-only — `GET` returns only the derived `summary`. DB is the source of
|
|
8
8
|
// truth (no env fallback). An integration is "on" for an account when its creds exist.
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
10
|
+
// ---- Content (binary-artifact) storage -------------------------------------
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* Where an account's binary artifacts (UI screenshots + reference designs) are stored.
|
|
13
|
+
* `off` disables storage (the visual-confirmation gate passes through). `fs`/`s3`/`db` are
|
|
14
|
+
* Node/local only (S3 is deliberately not offered on the Worker — the AWS SDK does not belong
|
|
15
|
+
* in the Worker bundle); `r2` is Cloudflare only. Which of these a runtime actually supports
|
|
16
|
+
* is surfaced to the UI via {@link contentStorageCapabilitySchema}.
|
|
14
17
|
*/
|
|
15
|
-
export const
|
|
18
|
+
export const contentStorageBackendSchema = v.picklist(['off', 'fs', 's3', 'r2', 'db']);
|
|
19
|
+
/** Non-secret S3 connection settings (the access keys live in the sealed secrets blob). */
|
|
20
|
+
export const contentStorageS3ConfigSchema = v.object({
|
|
21
|
+
region: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(120)),
|
|
22
|
+
bucket: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(255)),
|
|
23
|
+
/** Optional key prefix, e.g. `artifacts/`. */
|
|
24
|
+
prefix: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(255))),
|
|
25
|
+
/** Optional custom endpoint (S3-compatible stores: MinIO, R2-over-S3, etc.). */
|
|
26
|
+
endpoint: v.optional(v.pipe(v.string(), v.trim(), v.url(), v.maxLength(255))),
|
|
27
|
+
/** Force path-style addressing (needed by most S3-compatible stores). */
|
|
28
|
+
forcePathStyle: v.optional(v.boolean()),
|
|
29
|
+
});
|
|
30
|
+
/** Filesystem (Node/local) settings — just the base directory (defaults to `.file-storage`). */
|
|
31
|
+
export const contentStorageFsConfigSchema = v.object({
|
|
32
|
+
basePath: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(1024))),
|
|
33
|
+
});
|
|
34
|
+
/** Non-secret content-storage config: which backend + its non-secret connection settings. */
|
|
35
|
+
export const contentStorageConfigSchema = v.object({
|
|
36
|
+
backend: contentStorageBackendSchema,
|
|
37
|
+
fs: v.optional(contentStorageFsConfigSchema),
|
|
38
|
+
s3: v.optional(contentStorageS3ConfigSchema),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Non-secret per-account config. Holds the content-storage backend selection (the S3 access
|
|
42
|
+
* keys live in the sealed secrets blob). Retained as an object so forward-compatible
|
|
43
|
+
* non-secret tuning can be added without a migration.
|
|
44
|
+
*/
|
|
45
|
+
export const accountSettingsConfigSchema = v.object({
|
|
46
|
+
contentStorage: v.optional(contentStorageConfigSchema),
|
|
47
|
+
});
|
|
16
48
|
/** Built-in config used when an account has no row yet. */
|
|
17
49
|
export const DEFAULT_ACCOUNT_SETTINGS_CONFIG = v.parse(accountSettingsConfigSchema, {});
|
|
18
50
|
/** Parse + fully-default a (possibly partial/legacy) stored config blob. */
|
|
@@ -35,10 +67,16 @@ export const webSearchSecretSchema = v.object({
|
|
|
35
67
|
searxngUrl: v.optional(v.pipe(v.string(), v.trim(), v.url())),
|
|
36
68
|
searxngApiKey: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),
|
|
37
69
|
});
|
|
70
|
+
/** S3 (or S3-compatible) access keys for the content-storage `s3` backend. */
|
|
71
|
+
export const s3CredentialsSecretSchema = v.object({
|
|
72
|
+
accessKeyId: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(255)),
|
|
73
|
+
secretAccessKey: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(255)),
|
|
74
|
+
});
|
|
38
75
|
/** The decrypted secrets blob (every group optional). */
|
|
39
76
|
export const accountSettingsSecretsSchema = v.object({
|
|
40
77
|
slackOAuth: v.optional(slackOAuthSecretSchema),
|
|
41
78
|
webSearch: v.optional(webSearchSecretSchema),
|
|
79
|
+
s3: v.optional(s3CredentialsSecretSchema),
|
|
42
80
|
});
|
|
43
81
|
/** Validate a decrypted secrets blob at the read boundary. */
|
|
44
82
|
export function parseAccountSettingsSecrets(raw) {
|
|
@@ -54,28 +92,58 @@ export const updateAccountSettingsSchema = v.object({
|
|
|
54
92
|
secrets: v.optional(v.object({
|
|
55
93
|
slackOAuth: v.optional(v.nullable(slackOAuthSecretSchema)),
|
|
56
94
|
webSearch: v.optional(v.nullable(webSearchSecretSchema)),
|
|
95
|
+
s3: v.optional(v.nullable(s3CredentialsSecretSchema)),
|
|
57
96
|
})),
|
|
58
97
|
});
|
|
98
|
+
/** Non-secret content-storage presence/status for display — NEVER secret values. */
|
|
99
|
+
export const contentStorageSummarySchema = v.object({
|
|
100
|
+
/** The explicitly-selected backend, or null when the account uses the runtime default. */
|
|
101
|
+
backend: v.nullable(contentStorageBackendSchema),
|
|
102
|
+
/** Configured S3 bucket (non-secret), when the s3 backend is selected. */
|
|
103
|
+
bucket: v.nullable(v.string()),
|
|
104
|
+
/** Configured filesystem base path (non-secret), when the fs backend is selected. */
|
|
105
|
+
basePath: v.nullable(v.string()),
|
|
106
|
+
/** Whether S3 access keys are stored (the keys themselves are never returned). */
|
|
107
|
+
s3CredentialsConfigured: v.boolean(),
|
|
108
|
+
});
|
|
59
109
|
/** Non-secret presence/status for display — NEVER secret values. */
|
|
60
110
|
export const accountSettingsSummarySchema = v.object({
|
|
61
111
|
slackOAuthConfigured: v.boolean(),
|
|
62
112
|
webSearch: v.nullable(v.picklist(['brave', 'searxng'])),
|
|
113
|
+
contentStorage: contentStorageSummarySchema,
|
|
114
|
+
});
|
|
115
|
+
/**
|
|
116
|
+
* Which content-storage backends THIS runtime can serve + its default when an account has
|
|
117
|
+
* nothing configured. Supplied by the facade so the UI only offers valid options (e.g. `fs`
|
|
118
|
+
* on Node/local, `r2` on Cloudflare) and shows the effective default.
|
|
119
|
+
*/
|
|
120
|
+
export const contentStorageCapabilitySchema = v.object({
|
|
121
|
+
supportedBackends: v.array(contentStorageBackendSchema),
|
|
122
|
+
defaultBackend: contentStorageBackendSchema,
|
|
63
123
|
});
|
|
64
|
-
/** What `GET /accounts/:id/settings` returns — config + summary, never secrets. */
|
|
124
|
+
/** What `GET /accounts/:id/settings` returns — config + summary + runtime capability, never secrets. */
|
|
65
125
|
export const accountSettingsViewSchema = v.object({
|
|
66
126
|
config: accountSettingsConfigSchema,
|
|
67
127
|
summary: accountSettingsSummarySchema,
|
|
128
|
+
contentStorageCapability: contentStorageCapabilitySchema,
|
|
68
129
|
});
|
|
69
|
-
/** Derive the non-secret summary from the secrets blob. */
|
|
70
|
-
export function accountSettingsSummary(secrets) {
|
|
130
|
+
/** Derive the non-secret summary from the secrets blob + the non-secret config. */
|
|
131
|
+
export function accountSettingsSummary(secrets, config) {
|
|
71
132
|
const webSearch = secrets.webSearch?.braveApiKey
|
|
72
133
|
? 'brave'
|
|
73
134
|
: secrets.webSearch?.searxngUrl
|
|
74
135
|
? 'searxng'
|
|
75
136
|
: null;
|
|
137
|
+
const cs = config?.contentStorage;
|
|
76
138
|
return {
|
|
77
139
|
slackOAuthConfigured: Boolean(secrets.slackOAuth),
|
|
78
140
|
webSearch,
|
|
141
|
+
contentStorage: {
|
|
142
|
+
backend: cs?.backend ?? null,
|
|
143
|
+
bucket: cs?.s3?.bucket ?? null,
|
|
144
|
+
basePath: cs?.fs?.basePath ?? null,
|
|
145
|
+
s3CredentialsConfigured: Boolean(secrets.s3),
|
|
146
|
+
},
|
|
79
147
|
};
|
|
80
148
|
}
|
|
81
149
|
//# sourceMappingURL=accountSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSettings.js","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,mFAAmF;AACnF,wFAAwF;AACxF,oFAAoF;AACpF,sFAAsF;AACtF,yFAAyF;AACzF,uFAAuF;AACvF,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"accountSettings.js","sourceRoot":"","sources":["../src/accountSettings.ts"],"names":[],"mappings":"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"}
|
package/dist/environments.d.ts
CHANGED
|
@@ -584,6 +584,38 @@ export declare const testEnvironmentConnectionSchema: v.ObjectSchema<{
|
|
|
584
584
|
readonly secrets: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
585
585
|
}, undefined>;
|
|
586
586
|
export type TestEnvironmentConnectionInput = v.InferOutput<typeof testEnvironmentConnectionSchema>;
|
|
587
|
+
/**
|
|
588
|
+
* Validate a target repo against the provider's expectations on demand (no block
|
|
589
|
+
* context). The operator supplies the repo coordinates + ref; nothing is persisted.
|
|
590
|
+
*/
|
|
591
|
+
export declare const validateEnvironmentRepoSchema: v.ObjectSchema<{
|
|
592
|
+
readonly owner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
593
|
+
readonly repo: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
594
|
+
/** Branch/tag/sha to read at; absent ⇒ the repo's default branch. */
|
|
595
|
+
readonly gitRef: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
596
|
+
/** Optional VCS provider hint; absent ⇒ the workspace's connected provider. */
|
|
597
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
598
|
+
}, undefined>;
|
|
599
|
+
export type ValidateEnvironmentRepoInput = v.InferOutput<typeof validateEnvironmentRepoSchema>;
|
|
600
|
+
/**
|
|
601
|
+
* Mechanically bootstrap the provider's config file into a target repo from the
|
|
602
|
+
* variables the bootstrap form collected, optionally opening a PR and/or allowing the
|
|
603
|
+
* agent-repair fallback when mechanical generation can't produce a valid config.
|
|
604
|
+
*/
|
|
605
|
+
export declare const bootstrapEnvironmentRepoSchema: v.ObjectSchema<{
|
|
606
|
+
readonly owner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
607
|
+
readonly repo: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
608
|
+
/** Branch to write to; absent ⇒ the repo's default branch (the ref the provider reads). */
|
|
609
|
+
readonly gitRef: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
610
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["github", "gitlab"], undefined>, undefined>;
|
|
611
|
+
/** Variables collected by the bootstrap form (keyed by `describeBootstrapInputs`). */
|
|
612
|
+
readonly inputs: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
|
|
613
|
+
/** Open a PR instead of committing straight to the branch. */
|
|
614
|
+
readonly openPr: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
615
|
+
/** Allow dispatching the repair agent when mechanical bootstrap can't do it. */
|
|
616
|
+
readonly allowAgentFallback: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
617
|
+
}, undefined>;
|
|
618
|
+
export type BootstrapEnvironmentRepoInput = v.InferOutput<typeof bootstrapEnvironmentRepoSchema>;
|
|
587
619
|
/** Manually provision an environment (outside a pipeline run). */
|
|
588
620
|
export declare const provisionEnvironmentSchema: v.ObjectSchema<{
|
|
589
621
|
readonly blockId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqB5B;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;aAErC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAKnF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;IAMpC,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAqBtE,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,eAAO,MAAM,2BAA2B,wEAAwD,CAAA;AAChG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;IAM3C,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,0GAOlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,6BAA6B,2EAKxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;aAOzC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;aAO3C,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F,iFAAiF;AACjF,eAAO,MAAM,yBAAyB;;;IAGpC,+EAA+E;;;;;;;;;;QAlG7E,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwCtE,uEAAuE;;;IA8DvE,+DAA+D;;;;;;;;;;;;;QA9D/D,uEAAuE;;;IAgEvE,6EAA6E;;;;;;;;;;;;;QAhE7E,uEAAuE;;;;;;;;;;;;;;;;;;;;;IAmEvE,sEAAsE;;IAEtE;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,kFAAkF;AAClF,eAAO,MAAM,6BAA6B;;;;;;;aAOxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;;;;;;;;;IASlC,wEAAwE;;;;;;;;;;;;aAKxE,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,2BAA2B;;;;;IAKtC,+EAA+E;;aAE/E,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAIrF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC;;;;QA/E5C,+EAA+E;;;;;;;;;;YAlG7E,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAwCtE,uEAAuE;;;QA8DvE,+DAA+D;;;;;;;;;;;;;YA9D/D,uEAAuE;;;QAgEvE,6EAA6E;;;;;;;;;;;;;YAhE7E,uEAAuE;;;;;;;;;;;;;;;;;;;;;QAmEvE,sEAAsE;;QAEtE;;;;;;;;;;WAUG;;;;aA6DH,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,WAAW,CAC1D,OAAO,iCAAiC,CACzC,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,8BAA8B;;aAEzC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAEhG;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;;;;QAlG1C,+EAA+E;;;;;;;;;;YAlG7E,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAwCtE,uEAAuE;;;QA8DvE,+DAA+D;;;;;;;;;;;;;YA9D/D,uEAAuE;;;QAgEvE,6EAA6E;;;;;;;;;;;;;YAhE7E,uEAAuE;;;;;;;;;;;;;;;;;;;;;QAmEvE,sEAAsE;;QAEtE;;;;;;;;;;WAUG;;;;;aAiFH,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAElG,kEAAkE;AAClE,eAAO,MAAM,0BAA0B;;;aAGrC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"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"}
|
package/dist/environments.js
CHANGED
|
@@ -209,6 +209,36 @@ export const testEnvironmentConnectionSchema = v.object({
|
|
|
209
209
|
config: v.optional(v.record(v.string(), v.string())),
|
|
210
210
|
secrets: v.optional(v.record(v.string(), v.string())),
|
|
211
211
|
});
|
|
212
|
+
/**
|
|
213
|
+
* Validate a target repo against the provider's expectations on demand (no block
|
|
214
|
+
* context). The operator supplies the repo coordinates + ref; nothing is persisted.
|
|
215
|
+
*/
|
|
216
|
+
export const validateEnvironmentRepoSchema = v.object({
|
|
217
|
+
owner: v.pipe(v.string(), v.minLength(1)),
|
|
218
|
+
repo: v.pipe(v.string(), v.minLength(1)),
|
|
219
|
+
/** Branch/tag/sha to read at; absent ⇒ the repo's default branch. */
|
|
220
|
+
gitRef: v.optional(v.pipe(v.string(), v.minLength(1))),
|
|
221
|
+
/** Optional VCS provider hint; absent ⇒ the workspace's connected provider. */
|
|
222
|
+
provider: v.optional(v.picklist(['github', 'gitlab'])),
|
|
223
|
+
});
|
|
224
|
+
/**
|
|
225
|
+
* Mechanically bootstrap the provider's config file into a target repo from the
|
|
226
|
+
* variables the bootstrap form collected, optionally opening a PR and/or allowing the
|
|
227
|
+
* agent-repair fallback when mechanical generation can't produce a valid config.
|
|
228
|
+
*/
|
|
229
|
+
export const bootstrapEnvironmentRepoSchema = v.object({
|
|
230
|
+
owner: v.pipe(v.string(), v.minLength(1)),
|
|
231
|
+
repo: v.pipe(v.string(), v.minLength(1)),
|
|
232
|
+
/** Branch to write to; absent ⇒ the repo's default branch (the ref the provider reads). */
|
|
233
|
+
gitRef: v.optional(v.pipe(v.string(), v.minLength(1))),
|
|
234
|
+
provider: v.optional(v.picklist(['github', 'gitlab'])),
|
|
235
|
+
/** Variables collected by the bootstrap form (keyed by `describeBootstrapInputs`). */
|
|
236
|
+
inputs: v.record(v.string(), v.string()),
|
|
237
|
+
/** Open a PR instead of committing straight to the branch. */
|
|
238
|
+
openPr: v.optional(v.boolean()),
|
|
239
|
+
/** Allow dispatching the repair agent when mechanical bootstrap can't do it. */
|
|
240
|
+
allowAgentFallback: v.optional(v.boolean()),
|
|
241
|
+
});
|
|
212
242
|
/** Manually provision an environment (outside a pipeline run). */
|
|
213
243
|
export const provisionEnvironmentSchema = v.object({
|
|
214
244
|
blockId: v.optional(v.pipe(v.string(), v.minLength(1))),
|
package/dist/environments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../src/environments.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,47 @@ export declare const providerDescriptorSchema: v.ObjectSchema<{
|
|
|
86
86
|
* and the register-time validation all read one source of truth.
|
|
87
87
|
*/
|
|
88
88
|
readonly missingRequired: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the provider implements a mechanical repo-config validation the UI can
|
|
91
|
+
* call ("validate repo" button) and the engine runs as a provision pre-flight.
|
|
92
|
+
*/
|
|
93
|
+
readonly supportsRepoValidation: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Whether the provider can mechanically bootstrap its config file into a repo
|
|
96
|
+
* ("set up config" flow). When true, `bootstrapInputs` carries the form fields.
|
|
97
|
+
*/
|
|
98
|
+
readonly supportsRepoBootstrap: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
99
|
+
/** The variables the bootstrap form should collect (empty unless `supportsRepoBootstrap`). */
|
|
100
|
+
readonly bootstrapInputs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
101
|
+
/** Stable key the value is stored/sent under (e.g. `apiToken`, `PROJECT_ID`). */
|
|
102
|
+
readonly key: v.StringSchema<undefined>;
|
|
103
|
+
/** Human label for the form field. */
|
|
104
|
+
readonly label: v.StringSchema<undefined>;
|
|
105
|
+
/** Optional helper text shown under the field. */
|
|
106
|
+
readonly help: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
107
|
+
/** Optional input placeholder. */
|
|
108
|
+
readonly placeholder: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
109
|
+
/** Render as a password input and never echo the value back. */
|
|
110
|
+
readonly secret: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
111
|
+
/** Whether the value is required to connect (absent ⇒ optional). */
|
|
112
|
+
readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
113
|
+
/** Field type; absent is treated as `text`. */
|
|
114
|
+
readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select"], undefined>, undefined>;
|
|
115
|
+
/** Choices for a `select` field. */
|
|
116
|
+
readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
117
|
+
readonly value: v.StringSchema<undefined>;
|
|
118
|
+
readonly label: v.StringSchema<undefined>;
|
|
119
|
+
}, undefined>, undefined>, undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* The provider/manifest's default for this field. When present, the value is
|
|
122
|
+
* optional in practice: leaving the form field blank falls back to this default
|
|
123
|
+
* (so the UI shows an empty input with a "defaulted to …" hint, and clearing an
|
|
124
|
+
* override reverts to it). Never set for secrets — those have no default and must
|
|
125
|
+
* be supplied explicitly. A `required` field WITHOUT a default is what drives the
|
|
126
|
+
* unconfigured-provider banner (see {@link ProviderDescriptor.missingRequired}).
|
|
127
|
+
*/
|
|
128
|
+
readonly default: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
129
|
+
}, undefined>, undefined>, undefined>;
|
|
89
130
|
/**
|
|
90
131
|
* For a NATIVE provider: the base manifest the SPA overlays the flat `configFields`
|
|
91
132
|
* values onto before POSTing (so the connect form is flat fields but storage stays a
|
|
@@ -115,4 +156,46 @@ export declare const connectionTestResultSchema: v.ObjectSchema<{
|
|
|
115
156
|
readonly message: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
116
157
|
}, undefined>;
|
|
117
158
|
export type ConnectionTestResult = v.InferOutput<typeof connectionTestResultSchema>;
|
|
159
|
+
/** Severity of a single repo-config validation finding. */
|
|
160
|
+
export declare const repoValidationSeveritySchema: v.PicklistSchema<["error", "warning"], undefined>;
|
|
161
|
+
export type RepoValidationSeverity = v.InferOutput<typeof repoValidationSeveritySchema>;
|
|
162
|
+
/** One finding from a provider repo-config validation. */
|
|
163
|
+
export declare const repoValidationIssueSchema: v.ObjectSchema<{
|
|
164
|
+
readonly severity: v.PicklistSchema<["error", "warning"], undefined>;
|
|
165
|
+
readonly message: v.StringSchema<undefined>;
|
|
166
|
+
/** The repo-relative path the issue concerns, when applicable (e.g. `.kargo.yml`). */
|
|
167
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
168
|
+
}, undefined>;
|
|
169
|
+
export type RepoValidationIssue = v.InferOutput<typeof repoValidationIssueSchema>;
|
|
170
|
+
/** The outcome of a provider's repo-config validation (never throws to the client). */
|
|
171
|
+
export declare const repoValidationResultSchema: v.ObjectSchema<{
|
|
172
|
+
readonly ok: v.BooleanSchema<undefined>;
|
|
173
|
+
readonly issues: v.ArraySchema<v.ObjectSchema<{
|
|
174
|
+
readonly severity: v.PicklistSchema<["error", "warning"], undefined>;
|
|
175
|
+
readonly message: v.StringSchema<undefined>;
|
|
176
|
+
/** The repo-relative path the issue concerns, when applicable (e.g. `.kargo.yml`). */
|
|
177
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
178
|
+
}, undefined>, undefined>;
|
|
179
|
+
}, undefined>;
|
|
180
|
+
export type RepoValidationResult = v.InferOutput<typeof repoValidationResultSchema>;
|
|
181
|
+
/**
|
|
182
|
+
* The outcome of a "bootstrap provider config in repo" operation: whether the repo
|
|
183
|
+
* now satisfies the provider (`ok`), whether anything was written (`committed`), where
|
|
184
|
+
* (`branch`/`prUrl`), whether the agent fallback ran (`usedAgent`), and any residual
|
|
185
|
+
* issues. Never throws to the client.
|
|
186
|
+
*/
|
|
187
|
+
export declare const bootstrapRepoResultSchema: v.ObjectSchema<{
|
|
188
|
+
readonly ok: v.BooleanSchema<undefined>;
|
|
189
|
+
readonly committed: v.BooleanSchema<undefined>;
|
|
190
|
+
readonly branch: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
191
|
+
readonly prUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
192
|
+
readonly usedAgent: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
193
|
+
readonly issues: v.ArraySchema<v.ObjectSchema<{
|
|
194
|
+
readonly severity: v.PicklistSchema<["error", "warning"], undefined>;
|
|
195
|
+
readonly message: v.StringSchema<undefined>;
|
|
196
|
+
/** The repo-relative path the issue concerns, when applicable (e.g. `.kargo.yml`). */
|
|
197
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
198
|
+
}, undefined>, undefined>;
|
|
199
|
+
}, undefined>;
|
|
200
|
+
export type BootstrapRepoResult = v.InferOutput<typeof bootstrapRepoResultSchema>;
|
|
118
201
|
//# sourceMappingURL=provider-config.d.ts.map
|