@brydio/manifest 0.1.0-alpha.5 → 0.1.0-alpha.50
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/README.md +1 -1
- package/package.json +2 -2
- package/src/anonymous.d.ts +42 -0
- package/src/anonymous.js +86 -0
- package/src/base.d.ts +17 -1
- package/src/base.js +13 -1
- package/src/bundle.d.ts +8 -1
- package/src/bundle.js +28 -3
- package/src/confirm-email.d.ts +40 -0
- package/src/confirm-email.js +78 -0
- package/src/define.d.ts +1 -1
- package/src/define.js +1 -1
- package/src/field-types.d.ts +40 -4
- package/src/field-types.js +59 -9
- package/src/grants.d.ts +12 -2
- package/src/grants.js +28 -2
- package/src/index.d.ts +10 -5
- package/src/index.js +10 -5
- package/src/migrations.d.ts +1 -1
- package/src/migrations.js +29 -0
- package/src/open-schema.d.ts +128 -0
- package/src/open-schema.js +444 -0
- package/src/readers.d.ts +54 -0
- package/src/readers.js +96 -0
- package/src/requirements.d.ts +122 -0
- package/src/requirements.js +692 -0
- package/src/schema.d.ts +539 -8
- package/src/schema.js +440 -27
- package/src/secrets.d.ts +14 -0
- package/src/secrets.js +38 -5
- package/src/validate.d.ts +8 -2
- package/src/validate.js +7 -5
package/src/schema.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { FieldTypeInvalid, type FieldType } from './field-types.js';
|
|
3
|
+
import { type OpenProblemCode } from './open-schema.js';
|
|
4
|
+
import { type ConfirmProblemCode } from './confirm-email.js';
|
|
5
|
+
import { type AnonymousProblemCode, type AnonymousSpec } from './anonymous.js';
|
|
6
|
+
import { type EditorsProblemCode, type ReadersProblemCode } from './readers.js';
|
|
3
7
|
export { COLOUR_TOKENS, FIELD_LIMITS, parseFieldType, RESERVED_FIELDS, structuredFields, type FieldKind, type FieldType, } from './field-types.js';
|
|
4
8
|
/**
|
|
5
9
|
* What an app adds to `.brydio/app.json` to be more than a bundle of servers
|
|
@@ -26,6 +30,25 @@ declare const placementSettingSchema: z.ZodObject<{
|
|
|
26
30
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
27
31
|
}, z.core.$strip>;
|
|
28
32
|
export type PlacementSettingSpec = z.infer<typeof placementSettingSchema>;
|
|
33
|
+
/**
|
|
34
|
+
* How deep a folder's rows may nest, counting its own rows as the first
|
|
35
|
+
* level (ADR-A21): Issues → sprints → issues is two. Each level is listed
|
|
36
|
+
* only when a person opens its parent, so depth costs nothing while closed;
|
|
37
|
+
* the limit is for the sidebar's width and a person's patience.
|
|
38
|
+
*/
|
|
39
|
+
export declare const MAX_FOLDER_DEPTH = 4;
|
|
40
|
+
/** The sizes a Home card or a project widget can be drawn at (CC11-F10). */
|
|
41
|
+
export declare const HOME_CARD_SIZES: readonly ["small", "medium", "large"];
|
|
42
|
+
export type HomeCardSize = (typeof HOME_CARD_SIZES)[number];
|
|
43
|
+
/** The kinds drawn as a card, which say the sizes they draw well at. */
|
|
44
|
+
export declare const SIZED_PLACEMENT_KINDS: readonly ["home", "project-widget"];
|
|
45
|
+
/** A stable identity for one independently addable placement offering. */
|
|
46
|
+
export declare const PLACEMENT_KEY: RegExp;
|
|
47
|
+
export declare function effectivePlacementKey(one: {
|
|
48
|
+
key?: string;
|
|
49
|
+
kind: string;
|
|
50
|
+
screen: string;
|
|
51
|
+
}): string;
|
|
29
52
|
/** Most custom tools one app may declare (A3-F08). */
|
|
30
53
|
export declare const MAX_CUSTOM_TOOLS = 20;
|
|
31
54
|
/** A tool name the model and a policy row can both use as it is. */
|
|
@@ -41,16 +64,56 @@ declare const customToolSchema: z.ZodObject<{
|
|
|
41
64
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
42
65
|
write: z.ZodOptional<z.ZodBoolean>;
|
|
43
66
|
collection: z.ZodOptional<z.ZodString>;
|
|
67
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
44
68
|
}, z.core.$strip>;
|
|
45
69
|
export type CustomToolSpec = z.infer<typeof customToolSchema>;
|
|
70
|
+
/** Most secrets one app may declare (ADR-A24). */
|
|
71
|
+
export declare const MAX_APP_SECRETS = 20;
|
|
72
|
+
/** The longest value one secret may hold, in characters. */
|
|
73
|
+
export declare const MAX_SECRET_CHARS: number;
|
|
74
|
+
/** A secret's name, as a handler asks for it: `api_key`. */
|
|
75
|
+
export declare const SECRET_NAME: RegExp;
|
|
76
|
+
/**
|
|
77
|
+
* A secret the app needs (ADR-A24): named here, never valued here. The value
|
|
78
|
+
* is entered in the app's settings by an administrator, or stored by the
|
|
79
|
+
* app's own handler with `secrets.set`, and only that app's handlers can read
|
|
80
|
+
* it, with `secrets.get`. A screen never can.
|
|
81
|
+
*
|
|
82
|
+
* `install` (the default) is one value for the whole install; `instance` is
|
|
83
|
+
* one per instance.
|
|
84
|
+
*/
|
|
85
|
+
declare const secretSchema: z.ZodObject<{
|
|
86
|
+
name: z.ZodString;
|
|
87
|
+
label: z.ZodString;
|
|
88
|
+
description: z.ZodOptional<z.ZodString>;
|
|
89
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
90
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
91
|
+
instance: "instance";
|
|
92
|
+
install: "install";
|
|
93
|
+
}>>;
|
|
94
|
+
}, z.core.$strip>;
|
|
95
|
+
export type SecretSpec = z.infer<typeof secretSchema>;
|
|
96
|
+
/** The `instances` rules an app may declare (CA10). */
|
|
97
|
+
export declare const INSTANCE_RULES: readonly ["one-per-workspace"];
|
|
98
|
+
export type InstanceRule = (typeof INSTANCE_RULES)[number];
|
|
46
99
|
declare const extensionShape: {
|
|
47
100
|
placements: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
101
|
+
key: z.ZodOptional<z.ZodString>;
|
|
48
102
|
kind: z.ZodEnum<{
|
|
103
|
+
home: "home";
|
|
104
|
+
"project-widget": "project-widget";
|
|
49
105
|
"project-tab": "project-tab";
|
|
50
106
|
"project-sidebar": "project-sidebar";
|
|
51
107
|
"workspace-sidebar": "workspace-sidebar";
|
|
108
|
+
"public-page": "public-page";
|
|
109
|
+
"chat-card": "chat-card";
|
|
52
110
|
}>;
|
|
53
111
|
screen: z.ZodString;
|
|
112
|
+
sizes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
113
|
+
small: "small";
|
|
114
|
+
medium: "medium";
|
|
115
|
+
large: "large";
|
|
116
|
+
}>>>;
|
|
54
117
|
label: z.ZodOptional<z.ZodString>;
|
|
55
118
|
icon: z.ZodOptional<z.ZodString>;
|
|
56
119
|
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -62,14 +125,53 @@ declare const extensionShape: {
|
|
|
62
125
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
63
126
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
64
127
|
}, z.core.$strip>>>;
|
|
128
|
+
children: z.ZodOptional<z.ZodObject<{
|
|
129
|
+
tool: z.ZodString;
|
|
130
|
+
refreshSeconds: z.ZodOptional<z.ZodNumber>;
|
|
131
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
133
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
134
|
+
tool: z.ZodString;
|
|
135
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
136
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
137
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
138
|
+
}, z.core.$strip>>;
|
|
139
|
+
nested: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
140
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
141
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
142
|
+
tool: z.ZodString;
|
|
143
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
144
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
145
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
146
|
+
}, z.core.$strip>>;
|
|
147
|
+
}, z.core.$strip>>>;
|
|
148
|
+
}, z.core.$strip>>;
|
|
65
149
|
}, z.core.$strip>>>;
|
|
66
150
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
67
151
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
68
152
|
search: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
153
|
label: z.ZodOptional<z.ZodString>;
|
|
154
|
+
openSchema: z.ZodOptional<z.ZodObject<{
|
|
155
|
+
fields: z.ZodString;
|
|
156
|
+
table: z.ZodOptional<z.ZodString>;
|
|
157
|
+
}, z.core.$strict>>;
|
|
158
|
+
publicRead: z.ZodOptional<z.ZodBoolean>;
|
|
159
|
+
publicSubmit: z.ZodOptional<z.ZodBoolean>;
|
|
160
|
+
confirmEmail: z.ZodOptional<z.ZodObject<{
|
|
161
|
+
field: z.ZodString;
|
|
162
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
163
|
+
message: z.ZodOptional<z.ZodString>;
|
|
164
|
+
link: z.ZodOptional<z.ZodBoolean>;
|
|
165
|
+
}, z.core.$strict>>;
|
|
166
|
+
anonymous: z.ZodOptional<z.ZodObject<{
|
|
167
|
+
group: z.ZodString;
|
|
168
|
+
minimum: z.ZodOptional<z.ZodNumber>;
|
|
169
|
+
}, z.core.$strict>>;
|
|
170
|
+
readers: z.ZodOptional<z.ZodString>;
|
|
171
|
+
editors: z.ZodOptional<z.ZodString>;
|
|
70
172
|
}, z.core.$strip>>>;
|
|
71
173
|
tools: z.ZodOptional<z.ZodObject<{
|
|
72
|
-
generated: z.ZodOptional<z.ZodBoolean
|
|
174
|
+
generated: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"read">]>>;
|
|
73
175
|
custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
74
176
|
name: z.ZodString;
|
|
75
177
|
description: z.ZodString;
|
|
@@ -77,6 +179,7 @@ declare const extensionShape: {
|
|
|
77
179
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
78
180
|
write: z.ZodOptional<z.ZodBoolean>;
|
|
79
181
|
collection: z.ZodOptional<z.ZodString>;
|
|
182
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
80
183
|
}, z.core.$strip>>>;
|
|
81
184
|
}, z.core.$strip>>;
|
|
82
185
|
screens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -87,6 +190,26 @@ declare const extensionShape: {
|
|
|
87
190
|
collections: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
88
191
|
host: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
89
192
|
}, z.core.$strip>>;
|
|
193
|
+
/** The secrets its handlers read (ADR-A24): names only, never values. */
|
|
194
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
195
|
+
name: z.ZodString;
|
|
196
|
+
label: z.ZodString;
|
|
197
|
+
description: z.ZodOptional<z.ZodString>;
|
|
198
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
199
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
200
|
+
instance: "instance";
|
|
201
|
+
install: "install";
|
|
202
|
+
}>>;
|
|
203
|
+
}, z.core.$strip>>>;
|
|
204
|
+
/**
|
|
205
|
+
* How many instances a workspace may keep (CA10). `"one-per-workspace"`:
|
|
206
|
+
* a single workspace instance, shown in the sidebar and on any project as
|
|
207
|
+
* a view of that project's records; never a project's or a person's own.
|
|
208
|
+
* Left out, as many as people make.
|
|
209
|
+
*/
|
|
210
|
+
instances: z.ZodOptional<z.ZodEnum<{
|
|
211
|
+
"one-per-workspace": "one-per-workspace";
|
|
212
|
+
}>>;
|
|
90
213
|
/**
|
|
91
214
|
* How records move when the schema changes between versions (A3-F07).
|
|
92
215
|
* Checked against the previous version when a version is published, and
|
|
@@ -133,7 +256,7 @@ export interface DataProblem {
|
|
|
133
256
|
field?: string;
|
|
134
257
|
message: string;
|
|
135
258
|
}
|
|
136
|
-
export type DataProblemCode = FieldTypeInvalid['code'] | 'data_too_many_collections' | 'data_too_many_fields' | 'data_collection_name_format' | 'data_field_name_format' | 'data_field_reserved' | 'data_label_format' | 'data_label_taken' | 'data_project_field_twice' | 'data_search_unknown_field' | 'data_search_not_text' | 'grant_collection_missing' | 'grant_tool_missing' | 'custom_name_taken' | 'custom_collection_unknown' | 'custom_input_invalid' | 'placement_screen_unknown';
|
|
259
|
+
export type DataProblemCode = FieldTypeInvalid['code'] | OpenProblemCode | ConfirmProblemCode | AnonymousProblemCode | ReadersProblemCode | EditorsProblemCode | 'data_too_many_collections' | 'data_too_many_fields' | 'data_collection_name_format' | 'data_field_name_format' | 'data_field_reserved' | 'data_label_format' | 'data_label_taken' | 'data_project_field_twice' | 'data_search_unknown_field' | 'data_search_not_text' | 'grant_collection_missing' | 'grant_tool_missing' | 'custom_name_taken' | 'custom_collection_unknown' | 'custom_input_invalid' | 'placement_key_taken' | 'placement_screen_unknown' | 'placement_home_sizes' | 'placement_sizes_not_home' | 'placement_widget_sizes' | 'placement_tab_retired' | 'placement_public_shape' | 'placement_public_nothing' | 'placement_chat_card_shape' | 'grant_tool_cross_app_self' | 'placement_children_too_deep' | 'placement_create_tool_unknown' | 'placement_create_not_write' | 'secret_name_taken' | 'grant_secrets_missing' | 'instances_needs_sidebar';
|
|
137
260
|
type Additions = z.infer<z.ZodObject<typeof extensionShape>>;
|
|
138
261
|
/**
|
|
139
262
|
* Everything wrong with an app's additions that a type cannot say.
|
|
@@ -142,18 +265,43 @@ type Additions = z.infer<z.ZodObject<typeof extensionShape>>;
|
|
|
142
265
|
* report; the zod schemas below run it too, so a parse never accepts what
|
|
143
266
|
* this refuses.
|
|
144
267
|
*/
|
|
145
|
-
export
|
|
268
|
+
export interface DataProblemOptions {
|
|
269
|
+
/** Off where the grants are the install's record, not the manifest's. */
|
|
146
270
|
grants?: boolean;
|
|
147
|
-
|
|
271
|
+
/** On for a manifest being written now: refuses kinds that are retired, such as `project-tab`. */
|
|
272
|
+
retired?: boolean;
|
|
273
|
+
}
|
|
274
|
+
export declare function dataProblems(additions: Additions, options?: DataProblemOptions): DataProblem[];
|
|
275
|
+
/**
|
|
276
|
+
* Another installed app's tool, as `grants.tools` names it (FO07): the name
|
|
277
|
+
* the assistant knows it by, `<slug>__<tool>`. Null for anything else.
|
|
278
|
+
* A handler calls it with `tools.call('<slug>__<tool>', input)`.
|
|
279
|
+
*/
|
|
280
|
+
export declare function crossAppTool(name: string): {
|
|
281
|
+
app: string;
|
|
282
|
+
tool: string;
|
|
283
|
+
} | null;
|
|
284
|
+
/** An app's name as the front of its tools' assistant names: `issue-tracker` → `issue_tracker`. */
|
|
285
|
+
export declare const appToolPrefix: (name: string) => string;
|
|
148
286
|
/** The additions alone, for code that has the rest of the manifest already. */
|
|
149
287
|
export declare const manifestExtensionsSchema: z.ZodObject<{
|
|
150
288
|
placements: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
289
|
+
key: z.ZodOptional<z.ZodString>;
|
|
151
290
|
kind: z.ZodEnum<{
|
|
291
|
+
home: "home";
|
|
292
|
+
"project-widget": "project-widget";
|
|
152
293
|
"project-tab": "project-tab";
|
|
153
294
|
"project-sidebar": "project-sidebar";
|
|
154
295
|
"workspace-sidebar": "workspace-sidebar";
|
|
296
|
+
"public-page": "public-page";
|
|
297
|
+
"chat-card": "chat-card";
|
|
155
298
|
}>;
|
|
156
299
|
screen: z.ZodString;
|
|
300
|
+
sizes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
301
|
+
small: "small";
|
|
302
|
+
medium: "medium";
|
|
303
|
+
large: "large";
|
|
304
|
+
}>>>;
|
|
157
305
|
label: z.ZodOptional<z.ZodString>;
|
|
158
306
|
icon: z.ZodOptional<z.ZodString>;
|
|
159
307
|
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -165,14 +313,53 @@ export declare const manifestExtensionsSchema: z.ZodObject<{
|
|
|
165
313
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
166
314
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
167
315
|
}, z.core.$strip>>>;
|
|
316
|
+
children: z.ZodOptional<z.ZodObject<{
|
|
317
|
+
tool: z.ZodString;
|
|
318
|
+
refreshSeconds: z.ZodOptional<z.ZodNumber>;
|
|
319
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
320
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
321
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
322
|
+
tool: z.ZodString;
|
|
323
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
324
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
325
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
326
|
+
}, z.core.$strip>>;
|
|
327
|
+
nested: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
328
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
329
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
330
|
+
tool: z.ZodString;
|
|
331
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
332
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
333
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
334
|
+
}, z.core.$strip>>;
|
|
335
|
+
}, z.core.$strip>>>;
|
|
336
|
+
}, z.core.$strip>>;
|
|
168
337
|
}, z.core.$strip>>>;
|
|
169
338
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
170
339
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
171
340
|
search: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
172
341
|
label: z.ZodOptional<z.ZodString>;
|
|
342
|
+
openSchema: z.ZodOptional<z.ZodObject<{
|
|
343
|
+
fields: z.ZodString;
|
|
344
|
+
table: z.ZodOptional<z.ZodString>;
|
|
345
|
+
}, z.core.$strict>>;
|
|
346
|
+
publicRead: z.ZodOptional<z.ZodBoolean>;
|
|
347
|
+
publicSubmit: z.ZodOptional<z.ZodBoolean>;
|
|
348
|
+
confirmEmail: z.ZodOptional<z.ZodObject<{
|
|
349
|
+
field: z.ZodString;
|
|
350
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
351
|
+
message: z.ZodOptional<z.ZodString>;
|
|
352
|
+
link: z.ZodOptional<z.ZodBoolean>;
|
|
353
|
+
}, z.core.$strict>>;
|
|
354
|
+
anonymous: z.ZodOptional<z.ZodObject<{
|
|
355
|
+
group: z.ZodString;
|
|
356
|
+
minimum: z.ZodOptional<z.ZodNumber>;
|
|
357
|
+
}, z.core.$strict>>;
|
|
358
|
+
readers: z.ZodOptional<z.ZodString>;
|
|
359
|
+
editors: z.ZodOptional<z.ZodString>;
|
|
173
360
|
}, z.core.$strip>>>;
|
|
174
361
|
tools: z.ZodOptional<z.ZodObject<{
|
|
175
|
-
generated: z.ZodOptional<z.ZodBoolean
|
|
362
|
+
generated: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"read">]>>;
|
|
176
363
|
custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
177
364
|
name: z.ZodString;
|
|
178
365
|
description: z.ZodString;
|
|
@@ -180,6 +367,7 @@ export declare const manifestExtensionsSchema: z.ZodObject<{
|
|
|
180
367
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
181
368
|
write: z.ZodOptional<z.ZodBoolean>;
|
|
182
369
|
collection: z.ZodOptional<z.ZodString>;
|
|
370
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
183
371
|
}, z.core.$strip>>>;
|
|
184
372
|
}, z.core.$strip>>;
|
|
185
373
|
screens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -190,6 +378,19 @@ export declare const manifestExtensionsSchema: z.ZodObject<{
|
|
|
190
378
|
collections: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
191
379
|
host: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
192
380
|
}, z.core.$strip>>;
|
|
381
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
382
|
+
name: z.ZodString;
|
|
383
|
+
label: z.ZodString;
|
|
384
|
+
description: z.ZodOptional<z.ZodString>;
|
|
385
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
386
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
387
|
+
instance: "instance";
|
|
388
|
+
install: "install";
|
|
389
|
+
}>>;
|
|
390
|
+
}, z.core.$strip>>>;
|
|
391
|
+
instances: z.ZodOptional<z.ZodEnum<{
|
|
392
|
+
"one-per-workspace": "one-per-workspace";
|
|
393
|
+
}>>;
|
|
193
394
|
migrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
194
395
|
version: z.ZodString;
|
|
195
396
|
steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -226,12 +427,22 @@ export declare const manifestExtensionsSchema: z.ZodObject<{
|
|
|
226
427
|
*/
|
|
227
428
|
export declare const storedExtensionsSchema: z.ZodObject<{
|
|
228
429
|
placements: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
430
|
+
key: z.ZodOptional<z.ZodString>;
|
|
229
431
|
kind: z.ZodEnum<{
|
|
432
|
+
home: "home";
|
|
433
|
+
"project-widget": "project-widget";
|
|
230
434
|
"project-tab": "project-tab";
|
|
231
435
|
"project-sidebar": "project-sidebar";
|
|
232
436
|
"workspace-sidebar": "workspace-sidebar";
|
|
437
|
+
"public-page": "public-page";
|
|
438
|
+
"chat-card": "chat-card";
|
|
233
439
|
}>;
|
|
234
440
|
screen: z.ZodString;
|
|
441
|
+
sizes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
442
|
+
small: "small";
|
|
443
|
+
medium: "medium";
|
|
444
|
+
large: "large";
|
|
445
|
+
}>>>;
|
|
235
446
|
label: z.ZodOptional<z.ZodString>;
|
|
236
447
|
icon: z.ZodOptional<z.ZodString>;
|
|
237
448
|
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -243,14 +454,53 @@ export declare const storedExtensionsSchema: z.ZodObject<{
|
|
|
243
454
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
244
455
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
245
456
|
}, z.core.$strip>>>;
|
|
457
|
+
children: z.ZodOptional<z.ZodObject<{
|
|
458
|
+
tool: z.ZodString;
|
|
459
|
+
refreshSeconds: z.ZodOptional<z.ZodNumber>;
|
|
460
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
461
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
462
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
463
|
+
tool: z.ZodString;
|
|
464
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
465
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
466
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
467
|
+
}, z.core.$strip>>;
|
|
468
|
+
nested: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
469
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
470
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
471
|
+
tool: z.ZodString;
|
|
472
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
473
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
474
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
475
|
+
}, z.core.$strip>>;
|
|
476
|
+
}, z.core.$strip>>>;
|
|
477
|
+
}, z.core.$strip>>;
|
|
246
478
|
}, z.core.$strip>>>;
|
|
247
479
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
248
480
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
249
481
|
search: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
250
482
|
label: z.ZodOptional<z.ZodString>;
|
|
483
|
+
openSchema: z.ZodOptional<z.ZodObject<{
|
|
484
|
+
fields: z.ZodString;
|
|
485
|
+
table: z.ZodOptional<z.ZodString>;
|
|
486
|
+
}, z.core.$strict>>;
|
|
487
|
+
publicRead: z.ZodOptional<z.ZodBoolean>;
|
|
488
|
+
publicSubmit: z.ZodOptional<z.ZodBoolean>;
|
|
489
|
+
confirmEmail: z.ZodOptional<z.ZodObject<{
|
|
490
|
+
field: z.ZodString;
|
|
491
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
492
|
+
message: z.ZodOptional<z.ZodString>;
|
|
493
|
+
link: z.ZodOptional<z.ZodBoolean>;
|
|
494
|
+
}, z.core.$strict>>;
|
|
495
|
+
anonymous: z.ZodOptional<z.ZodObject<{
|
|
496
|
+
group: z.ZodString;
|
|
497
|
+
minimum: z.ZodOptional<z.ZodNumber>;
|
|
498
|
+
}, z.core.$strict>>;
|
|
499
|
+
readers: z.ZodOptional<z.ZodString>;
|
|
500
|
+
editors: z.ZodOptional<z.ZodString>;
|
|
251
501
|
}, z.core.$strip>>>;
|
|
252
502
|
tools: z.ZodOptional<z.ZodObject<{
|
|
253
|
-
generated: z.ZodOptional<z.ZodBoolean
|
|
503
|
+
generated: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"read">]>>;
|
|
254
504
|
custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
255
505
|
name: z.ZodString;
|
|
256
506
|
description: z.ZodString;
|
|
@@ -258,6 +508,7 @@ export declare const storedExtensionsSchema: z.ZodObject<{
|
|
|
258
508
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
259
509
|
write: z.ZodOptional<z.ZodBoolean>;
|
|
260
510
|
collection: z.ZodOptional<z.ZodString>;
|
|
511
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
261
512
|
}, z.core.$strip>>>;
|
|
262
513
|
}, z.core.$strip>>;
|
|
263
514
|
screens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -268,6 +519,19 @@ export declare const storedExtensionsSchema: z.ZodObject<{
|
|
|
268
519
|
collections: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
269
520
|
host: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
270
521
|
}, z.core.$strip>>;
|
|
522
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
523
|
+
name: z.ZodString;
|
|
524
|
+
label: z.ZodString;
|
|
525
|
+
description: z.ZodOptional<z.ZodString>;
|
|
526
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
527
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
528
|
+
instance: "instance";
|
|
529
|
+
install: "install";
|
|
530
|
+
}>>;
|
|
531
|
+
}, z.core.$strip>>>;
|
|
532
|
+
instances: z.ZodOptional<z.ZodEnum<{
|
|
533
|
+
"one-per-workspace": "one-per-workspace";
|
|
534
|
+
}>>;
|
|
271
535
|
migrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
272
536
|
version: z.ZodString;
|
|
273
537
|
steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -318,7 +582,194 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
318
582
|
terms: z.ZodOptional<z.ZodString>;
|
|
319
583
|
support: z.ZodOptional<z.ZodString>;
|
|
320
584
|
}, z.core.$strip>>;
|
|
321
|
-
|
|
585
|
+
logo: z.ZodOptional<z.ZodObject<{
|
|
586
|
+
color: z.ZodString;
|
|
587
|
+
mono: z.ZodString;
|
|
588
|
+
}, z.core.$strip>>;
|
|
589
|
+
icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
590
|
+
color: z.ZodString;
|
|
591
|
+
mono: z.ZodString;
|
|
592
|
+
}, z.core.$strip>]>>;
|
|
593
|
+
brandColor: z.ZodOptional<z.ZodString>;
|
|
594
|
+
brandColorDark: z.ZodOptional<z.ZodString>;
|
|
595
|
+
defaultPrompts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
596
|
+
skills: z.ZodOptional<z.ZodString>;
|
|
597
|
+
servers: z.ZodOptional<z.ZodString>;
|
|
598
|
+
integrations: z.ZodOptional<z.ZodString>;
|
|
599
|
+
requires: z.ZodOptional<z.ZodObject<{
|
|
600
|
+
servers: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
601
|
+
integrations: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
602
|
+
builtin: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
603
|
+
}, z.core.$strip>>;
|
|
604
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
605
|
+
placements: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
606
|
+
key: z.ZodOptional<z.ZodString>;
|
|
607
|
+
kind: z.ZodEnum<{
|
|
608
|
+
home: "home";
|
|
609
|
+
"project-widget": "project-widget";
|
|
610
|
+
"project-tab": "project-tab";
|
|
611
|
+
"project-sidebar": "project-sidebar";
|
|
612
|
+
"workspace-sidebar": "workspace-sidebar";
|
|
613
|
+
"public-page": "public-page";
|
|
614
|
+
"chat-card": "chat-card";
|
|
615
|
+
}>;
|
|
616
|
+
screen: z.ZodString;
|
|
617
|
+
sizes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
618
|
+
small: "small";
|
|
619
|
+
medium: "medium";
|
|
620
|
+
large: "large";
|
|
621
|
+
}>>>;
|
|
622
|
+
label: z.ZodOptional<z.ZodString>;
|
|
623
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
624
|
+
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
625
|
+
type: z.ZodEnum<{
|
|
626
|
+
string: "string";
|
|
627
|
+
url: "url";
|
|
628
|
+
}>;
|
|
629
|
+
label: z.ZodString;
|
|
630
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
631
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
632
|
+
}, z.core.$strip>>>;
|
|
633
|
+
children: z.ZodOptional<z.ZodObject<{
|
|
634
|
+
tool: z.ZodString;
|
|
635
|
+
refreshSeconds: z.ZodOptional<z.ZodNumber>;
|
|
636
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
637
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
638
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
639
|
+
tool: z.ZodString;
|
|
640
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
641
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
642
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
643
|
+
}, z.core.$strip>>;
|
|
644
|
+
nested: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
645
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
646
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
647
|
+
tool: z.ZodString;
|
|
648
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
649
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
650
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
651
|
+
}, z.core.$strip>>;
|
|
652
|
+
}, z.core.$strip>>>;
|
|
653
|
+
}, z.core.$strip>>;
|
|
654
|
+
}, z.core.$strip>>>;
|
|
655
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
656
|
+
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
657
|
+
search: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
658
|
+
label: z.ZodOptional<z.ZodString>;
|
|
659
|
+
openSchema: z.ZodOptional<z.ZodObject<{
|
|
660
|
+
fields: z.ZodString;
|
|
661
|
+
table: z.ZodOptional<z.ZodString>;
|
|
662
|
+
}, z.core.$strict>>;
|
|
663
|
+
publicRead: z.ZodOptional<z.ZodBoolean>;
|
|
664
|
+
publicSubmit: z.ZodOptional<z.ZodBoolean>;
|
|
665
|
+
confirmEmail: z.ZodOptional<z.ZodObject<{
|
|
666
|
+
field: z.ZodString;
|
|
667
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
668
|
+
message: z.ZodOptional<z.ZodString>;
|
|
669
|
+
link: z.ZodOptional<z.ZodBoolean>;
|
|
670
|
+
}, z.core.$strict>>;
|
|
671
|
+
anonymous: z.ZodOptional<z.ZodObject<{
|
|
672
|
+
group: z.ZodString;
|
|
673
|
+
minimum: z.ZodOptional<z.ZodNumber>;
|
|
674
|
+
}, z.core.$strict>>;
|
|
675
|
+
readers: z.ZodOptional<z.ZodString>;
|
|
676
|
+
editors: z.ZodOptional<z.ZodString>;
|
|
677
|
+
}, z.core.$strip>>>;
|
|
678
|
+
tools: z.ZodOptional<z.ZodObject<{
|
|
679
|
+
generated: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"read">]>>;
|
|
680
|
+
custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
681
|
+
name: z.ZodString;
|
|
682
|
+
description: z.ZodString;
|
|
683
|
+
handler: z.ZodString;
|
|
684
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
685
|
+
write: z.ZodOptional<z.ZodBoolean>;
|
|
686
|
+
collection: z.ZodOptional<z.ZodString>;
|
|
687
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
688
|
+
}, z.core.$strip>>>;
|
|
689
|
+
}, z.core.$strip>>;
|
|
690
|
+
screens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
691
|
+
entry: z.ZodString;
|
|
692
|
+
}, z.core.$strip>>>;
|
|
693
|
+
grants: z.ZodOptional<z.ZodObject<{
|
|
694
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
695
|
+
collections: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
696
|
+
host: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
697
|
+
}, z.core.$strip>>;
|
|
698
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
699
|
+
name: z.ZodString;
|
|
700
|
+
label: z.ZodString;
|
|
701
|
+
description: z.ZodOptional<z.ZodString>;
|
|
702
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
703
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
704
|
+
instance: "instance";
|
|
705
|
+
install: "install";
|
|
706
|
+
}>>;
|
|
707
|
+
}, z.core.$strip>>>;
|
|
708
|
+
instances: z.ZodOptional<z.ZodEnum<{
|
|
709
|
+
"one-per-workspace": "one-per-workspace";
|
|
710
|
+
}>>;
|
|
711
|
+
migrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
712
|
+
version: z.ZodString;
|
|
713
|
+
steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
714
|
+
op: z.ZodLiteral<"add">;
|
|
715
|
+
collection: z.ZodString;
|
|
716
|
+
field: z.ZodString;
|
|
717
|
+
default: z.ZodOptional<z.ZodUnknown>;
|
|
718
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
719
|
+
op: z.ZodLiteral<"rename">;
|
|
720
|
+
collection: z.ZodString;
|
|
721
|
+
from: z.ZodString;
|
|
722
|
+
to: z.ZodString;
|
|
723
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
724
|
+
op: z.ZodLiteral<"drop">;
|
|
725
|
+
collection: z.ZodString;
|
|
726
|
+
field: z.ZodString;
|
|
727
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
728
|
+
op: z.ZodLiteral<"dropCollection">;
|
|
729
|
+
collection: z.ZodString;
|
|
730
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
731
|
+
op: z.ZodLiteral<"replace">;
|
|
732
|
+
collection: z.ZodString;
|
|
733
|
+
field: z.ZodString;
|
|
734
|
+
from: z.ZodString;
|
|
735
|
+
to: z.ZodString;
|
|
736
|
+
}, z.core.$strip>], "op">>;
|
|
737
|
+
}, z.core.$strip>>>;
|
|
738
|
+
sdk: z.ZodOptional<z.ZodString>;
|
|
739
|
+
}, z.core.$strip>;
|
|
740
|
+
/**
|
|
741
|
+
* A manifest being written now, as `brydio validate`, `build` and `dev` read
|
|
742
|
+
* it: the same, and nothing retired (`placement_tab_retired`) — which a
|
|
743
|
+
* published version may still hold.
|
|
744
|
+
*/
|
|
745
|
+
export declare const newAppManifestSchema: z.ZodObject<{
|
|
746
|
+
name: z.ZodString;
|
|
747
|
+
version: z.ZodString;
|
|
748
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
749
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
750
|
+
description: z.ZodOptional<z.ZodString>;
|
|
751
|
+
author: z.ZodOptional<z.ZodObject<{
|
|
752
|
+
name: z.ZodString;
|
|
753
|
+
email: z.ZodOptional<z.ZodString>;
|
|
754
|
+
url: z.ZodOptional<z.ZodString>;
|
|
755
|
+
}, z.core.$strip>>;
|
|
756
|
+
homepage: z.ZodOptional<z.ZodString>;
|
|
757
|
+
repository: z.ZodOptional<z.ZodString>;
|
|
758
|
+
license: z.ZodOptional<z.ZodString>;
|
|
759
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
760
|
+
links: z.ZodOptional<z.ZodObject<{
|
|
761
|
+
privacy: z.ZodOptional<z.ZodString>;
|
|
762
|
+
terms: z.ZodOptional<z.ZodString>;
|
|
763
|
+
support: z.ZodOptional<z.ZodString>;
|
|
764
|
+
}, z.core.$strip>>;
|
|
765
|
+
logo: z.ZodOptional<z.ZodObject<{
|
|
766
|
+
color: z.ZodString;
|
|
767
|
+
mono: z.ZodString;
|
|
768
|
+
}, z.core.$strip>>;
|
|
769
|
+
icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
770
|
+
color: z.ZodString;
|
|
771
|
+
mono: z.ZodString;
|
|
772
|
+
}, z.core.$strip>]>>;
|
|
322
773
|
brandColor: z.ZodOptional<z.ZodString>;
|
|
323
774
|
brandColorDark: z.ZodOptional<z.ZodString>;
|
|
324
775
|
defaultPrompts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -332,12 +783,22 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
332
783
|
}, z.core.$strip>>;
|
|
333
784
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
334
785
|
placements: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
786
|
+
key: z.ZodOptional<z.ZodString>;
|
|
335
787
|
kind: z.ZodEnum<{
|
|
788
|
+
home: "home";
|
|
789
|
+
"project-widget": "project-widget";
|
|
336
790
|
"project-tab": "project-tab";
|
|
337
791
|
"project-sidebar": "project-sidebar";
|
|
338
792
|
"workspace-sidebar": "workspace-sidebar";
|
|
793
|
+
"public-page": "public-page";
|
|
794
|
+
"chat-card": "chat-card";
|
|
339
795
|
}>;
|
|
340
796
|
screen: z.ZodString;
|
|
797
|
+
sizes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
798
|
+
small: "small";
|
|
799
|
+
medium: "medium";
|
|
800
|
+
large: "large";
|
|
801
|
+
}>>>;
|
|
341
802
|
label: z.ZodOptional<z.ZodString>;
|
|
342
803
|
icon: z.ZodOptional<z.ZodString>;
|
|
343
804
|
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -349,14 +810,53 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
349
810
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
350
811
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
351
812
|
}, z.core.$strip>>>;
|
|
813
|
+
children: z.ZodOptional<z.ZodObject<{
|
|
814
|
+
tool: z.ZodString;
|
|
815
|
+
refreshSeconds: z.ZodOptional<z.ZodNumber>;
|
|
816
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
817
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
818
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
819
|
+
tool: z.ZodString;
|
|
820
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
821
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
822
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
823
|
+
}, z.core.$strip>>;
|
|
824
|
+
nested: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
825
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
826
|
+
create: z.ZodOptional<z.ZodObject<{
|
|
827
|
+
tool: z.ZodString;
|
|
828
|
+
noun: z.ZodOptional<z.ZodString>;
|
|
829
|
+
titleField: z.ZodOptional<z.ZodString>;
|
|
830
|
+
parentField: z.ZodOptional<z.ZodString>;
|
|
831
|
+
}, z.core.$strip>>;
|
|
832
|
+
}, z.core.$strip>>>;
|
|
833
|
+
}, z.core.$strip>>;
|
|
352
834
|
}, z.core.$strip>>>;
|
|
353
835
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
354
836
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
355
837
|
search: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
356
838
|
label: z.ZodOptional<z.ZodString>;
|
|
839
|
+
openSchema: z.ZodOptional<z.ZodObject<{
|
|
840
|
+
fields: z.ZodString;
|
|
841
|
+
table: z.ZodOptional<z.ZodString>;
|
|
842
|
+
}, z.core.$strict>>;
|
|
843
|
+
publicRead: z.ZodOptional<z.ZodBoolean>;
|
|
844
|
+
publicSubmit: z.ZodOptional<z.ZodBoolean>;
|
|
845
|
+
confirmEmail: z.ZodOptional<z.ZodObject<{
|
|
846
|
+
field: z.ZodString;
|
|
847
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
848
|
+
message: z.ZodOptional<z.ZodString>;
|
|
849
|
+
link: z.ZodOptional<z.ZodBoolean>;
|
|
850
|
+
}, z.core.$strict>>;
|
|
851
|
+
anonymous: z.ZodOptional<z.ZodObject<{
|
|
852
|
+
group: z.ZodString;
|
|
853
|
+
minimum: z.ZodOptional<z.ZodNumber>;
|
|
854
|
+
}, z.core.$strict>>;
|
|
855
|
+
readers: z.ZodOptional<z.ZodString>;
|
|
856
|
+
editors: z.ZodOptional<z.ZodString>;
|
|
357
857
|
}, z.core.$strip>>>;
|
|
358
858
|
tools: z.ZodOptional<z.ZodObject<{
|
|
359
|
-
generated: z.ZodOptional<z.ZodBoolean
|
|
859
|
+
generated: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"read">]>>;
|
|
360
860
|
custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
361
861
|
name: z.ZodString;
|
|
362
862
|
description: z.ZodString;
|
|
@@ -364,6 +864,7 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
364
864
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
365
865
|
write: z.ZodOptional<z.ZodBoolean>;
|
|
366
866
|
collection: z.ZodOptional<z.ZodString>;
|
|
867
|
+
public: z.ZodOptional<z.ZodBoolean>;
|
|
367
868
|
}, z.core.$strip>>>;
|
|
368
869
|
}, z.core.$strip>>;
|
|
369
870
|
screens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -374,6 +875,19 @@ export declare const appManifestSchema: z.ZodObject<{
|
|
|
374
875
|
collections: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
375
876
|
host: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
376
877
|
}, z.core.$strip>>;
|
|
878
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
879
|
+
name: z.ZodString;
|
|
880
|
+
label: z.ZodString;
|
|
881
|
+
description: z.ZodOptional<z.ZodString>;
|
|
882
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
883
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
884
|
+
instance: "instance";
|
|
885
|
+
install: "install";
|
|
886
|
+
}>>;
|
|
887
|
+
}, z.core.$strip>>>;
|
|
888
|
+
instances: z.ZodOptional<z.ZodEnum<{
|
|
889
|
+
"one-per-workspace": "one-per-workspace";
|
|
890
|
+
}>>;
|
|
377
891
|
migrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
378
892
|
version: z.ZodString;
|
|
379
893
|
steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -422,6 +936,23 @@ export interface CollectionSpec {
|
|
|
422
936
|
search: string[];
|
|
423
937
|
/** The one `project` field, whose value is copied to `app_document.project_id`. */
|
|
424
938
|
projectField: string | null;
|
|
939
|
+
/**
|
|
940
|
+
* Fields defined at runtime (P5): the companion collection, and the field
|
|
941
|
+
* naming a row's table (null: one table per instance). The store reads the
|
|
942
|
+
* live definitions; `fields` here holds only the manifest's own.
|
|
943
|
+
*/
|
|
944
|
+
openSchema?: {
|
|
945
|
+
fields: string;
|
|
946
|
+
table: string | null;
|
|
947
|
+
};
|
|
948
|
+
/** On a companion: the open collection whose fields its records define (P5). */
|
|
949
|
+
definesFieldsOf?: string;
|
|
950
|
+
/** Answers kept with no writer, read only a whole group of at least `minimum` at a time (P13). */
|
|
951
|
+
anonymous?: AnonymousSpec;
|
|
952
|
+
/** The string[] field naming who alone may read a record, when it names anyone (P16). */
|
|
953
|
+
readers?: string;
|
|
954
|
+
/** The string[] field naming who alone may change a record, when it names anyone (DW06). */
|
|
955
|
+
editors?: string;
|
|
425
956
|
}
|
|
426
957
|
/**
|
|
427
958
|
* The singular a collection's tools are named with: the manifest's, else the
|