@mulmoclaude/core 0.13.1 → 0.15.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.
Files changed (59) hide show
  1. package/assets/helps/billing-clients-worklog.md +15 -12
  2. package/assets/helps/collection-skills.md +67 -22
  3. package/assets/helps/todo-collection.md +13 -7
  4. package/dist/{deriveAll-BQ_p5HSB.cjs → calendarGrid-CaR-q36Y.js} +352 -74
  5. package/dist/calendarGrid-CaR-q36Y.js.map +1 -0
  6. package/dist/calendarGrid-gN4sei7s.cjs +1070 -0
  7. package/dist/calendarGrid-gN4sei7s.cjs.map +1 -0
  8. package/dist/collection/core/backlinks.d.ts +20 -0
  9. package/dist/collection/core/ids.d.ts +12 -0
  10. package/dist/collection/core/recordZ.d.ts +23 -0
  11. package/dist/collection/core/schema.d.ts +72 -418
  12. package/dist/collection/core/schemaZ.d.ts +878 -0
  13. package/dist/collection/core/templatePath.d.ts +34 -0
  14. package/dist/collection/core/uiTypes.d.ts +22 -0
  15. package/dist/collection/core/where.d.ts +9 -15
  16. package/dist/collection/index.cjs +50 -330
  17. package/dist/collection/index.cjs.map +1 -1
  18. package/dist/collection/index.d.ts +2 -0
  19. package/dist/collection/index.js +14 -301
  20. package/dist/collection/index.js.map +1 -1
  21. package/dist/collection/paths.cjs +1 -1
  22. package/dist/collection/paths.cjs.map +1 -1
  23. package/dist/collection/paths.js +1 -1
  24. package/dist/collection/paths.js.map +1 -1
  25. package/dist/collection/registry/server/index.cjs +1 -1
  26. package/dist/collection/registry/server/index.js +1 -1
  27. package/dist/collection/server/discovery.d.ts +2 -244
  28. package/dist/collection/server/index.cjs +8 -2
  29. package/dist/collection/server/index.d.ts +1 -0
  30. package/dist/collection/server/index.js +3 -2
  31. package/dist/collection/server/io.d.ts +9 -0
  32. package/dist/collection/server/ontology.d.ts +35 -0
  33. package/dist/collection/server/templatePath.d.ts +1 -34
  34. package/dist/collection/server/validate.d.ts +11 -7
  35. package/dist/collection-watchers/index.cjs +5 -4
  36. package/dist/collection-watchers/index.cjs.map +1 -1
  37. package/dist/collection-watchers/index.js +3 -2
  38. package/dist/collection-watchers/index.js.map +1 -1
  39. package/dist/feeds/index.cjs +4 -4
  40. package/dist/feeds/index.js +2 -2
  41. package/dist/feeds/ingestTypes.d.ts +15 -40
  42. package/dist/feeds/server/index.cjs +5 -5
  43. package/dist/feeds/server/index.js +3 -3
  44. package/dist/{ingestTypes-C7EheYZX.cjs → ingestTypes-DG8RExWt.cjs} +3 -3
  45. package/dist/ingestTypes-DG8RExWt.cjs.map +1 -0
  46. package/dist/{ingestTypes-CmJeOUJc.js → ingestTypes-V4upKeBx.js} +2 -2
  47. package/dist/ingestTypes-V4upKeBx.js.map +1 -0
  48. package/dist/{server-DKXXFTbw.js → server-BNTR7ySK.js} +531 -196
  49. package/dist/server-BNTR7ySK.js.map +1 -0
  50. package/dist/{server-G6GtOdaW.cjs → server-bsNrf2yW.cjs} +572 -213
  51. package/dist/server-bsNrf2yW.cjs.map +1 -0
  52. package/package.json +1 -1
  53. package/dist/deriveAll-BQ_p5HSB.cjs.map +0 -1
  54. package/dist/deriveAll-CMFXDQ_G.js +0 -506
  55. package/dist/deriveAll-CMFXDQ_G.js.map +0 -1
  56. package/dist/ingestTypes-C7EheYZX.cjs.map +0 -1
  57. package/dist/ingestTypes-CmJeOUJc.js.map +0 -1
  58. package/dist/server-DKXXFTbw.js.map +0 -1
  59. package/dist/server-G6GtOdaW.cjs.map +0 -1
@@ -0,0 +1,878 @@
1
+ import { z } from 'zod';
2
+ /** Optional visibility predicate shared by actions and fields: the target
3
+ * shows only when the open record's `field` (stringified) is one of `in`.
4
+ * Domain-free — `field` is any non-empty key, `in` a non-empty array of
5
+ * non-empty values; the host never interprets the meaning.
6
+ *
7
+ * `trim().min(1)` rather than bare `min(1)` so a whitespace-only string
8
+ * (" ") fails validation — otherwise the cell formatter / dropdown would
9
+ * render visual blanks that look like missing data. Applied consistently to
10
+ * every "non-empty string" slot in this file (CodeRabbit PR #1497). */
11
+ export declare const WhenZ: z.ZodObject<{
12
+ field: z.ZodString;
13
+ in: z.ZodArray<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ export declare const SubFieldSpecZ: z.ZodDiscriminatedUnion<[z.ZodObject<{
16
+ label: z.ZodString;
17
+ required: z.ZodOptional<z.ZodBoolean>;
18
+ type: z.ZodEnum<{
19
+ string: "string";
20
+ number: "number";
21
+ boolean: "boolean";
22
+ date: "date";
23
+ text: "text";
24
+ email: "email";
25
+ datetime: "datetime";
26
+ markdown: "markdown";
27
+ }>;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ to: z.ZodString;
30
+ label: z.ZodString;
31
+ required: z.ZodOptional<z.ZodBoolean>;
32
+ type: z.ZodLiteral<"ref">;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ currency: z.ZodOptional<z.ZodString>;
35
+ currencyField: z.ZodOptional<z.ZodString>;
36
+ label: z.ZodString;
37
+ required: z.ZodOptional<z.ZodBoolean>;
38
+ type: z.ZodLiteral<"money">;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ values: z.ZodArray<z.ZodString>;
41
+ label: z.ZodString;
42
+ required: z.ZodOptional<z.ZodBoolean>;
43
+ type: z.ZodLiteral<"enum">;
44
+ }, z.core.$strip>], "type">;
45
+ export declare const FieldSpecZ: z.ZodDiscriminatedUnion<[z.ZodObject<{
46
+ label: z.ZodString;
47
+ primary: z.ZodOptional<z.ZodBoolean>;
48
+ required: z.ZodOptional<z.ZodBoolean>;
49
+ when: z.ZodOptional<z.ZodObject<{
50
+ field: z.ZodString;
51
+ in: z.ZodArray<z.ZodString>;
52
+ }, z.core.$strip>>;
53
+ type: z.ZodEnum<{
54
+ string: "string";
55
+ number: "number";
56
+ boolean: "boolean";
57
+ date: "date";
58
+ file: "file";
59
+ text: "text";
60
+ email: "email";
61
+ datetime: "datetime";
62
+ markdown: "markdown";
63
+ image: "image";
64
+ }>;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ to: z.ZodString;
67
+ label: z.ZodString;
68
+ primary: z.ZodOptional<z.ZodBoolean>;
69
+ required: z.ZodOptional<z.ZodBoolean>;
70
+ when: z.ZodOptional<z.ZodObject<{
71
+ field: z.ZodString;
72
+ in: z.ZodArray<z.ZodString>;
73
+ }, z.core.$strip>>;
74
+ type: z.ZodLiteral<"ref">;
75
+ }, z.core.$strip>, z.ZodObject<{
76
+ currency: z.ZodOptional<z.ZodString>;
77
+ currencyField: z.ZodOptional<z.ZodString>;
78
+ label: z.ZodString;
79
+ primary: z.ZodOptional<z.ZodBoolean>;
80
+ required: z.ZodOptional<z.ZodBoolean>;
81
+ when: z.ZodOptional<z.ZodObject<{
82
+ field: z.ZodString;
83
+ in: z.ZodArray<z.ZodString>;
84
+ }, z.core.$strip>>;
85
+ type: z.ZodLiteral<"money">;
86
+ }, z.core.$strip>, z.ZodObject<{
87
+ values: z.ZodArray<z.ZodString>;
88
+ label: z.ZodString;
89
+ primary: z.ZodOptional<z.ZodBoolean>;
90
+ required: z.ZodOptional<z.ZodBoolean>;
91
+ when: z.ZodOptional<z.ZodObject<{
92
+ field: z.ZodString;
93
+ in: z.ZodArray<z.ZodString>;
94
+ }, z.core.$strip>>;
95
+ type: z.ZodLiteral<"enum">;
96
+ }, z.core.$strip>, z.ZodObject<{
97
+ of: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
98
+ label: z.ZodString;
99
+ required: z.ZodOptional<z.ZodBoolean>;
100
+ type: z.ZodEnum<{
101
+ string: "string";
102
+ number: "number";
103
+ boolean: "boolean";
104
+ date: "date";
105
+ text: "text";
106
+ email: "email";
107
+ datetime: "datetime";
108
+ markdown: "markdown";
109
+ }>;
110
+ }, z.core.$strip>, z.ZodObject<{
111
+ to: z.ZodString;
112
+ label: z.ZodString;
113
+ required: z.ZodOptional<z.ZodBoolean>;
114
+ type: z.ZodLiteral<"ref">;
115
+ }, z.core.$strip>, z.ZodObject<{
116
+ currency: z.ZodOptional<z.ZodString>;
117
+ currencyField: z.ZodOptional<z.ZodString>;
118
+ label: z.ZodString;
119
+ required: z.ZodOptional<z.ZodBoolean>;
120
+ type: z.ZodLiteral<"money">;
121
+ }, z.core.$strip>, z.ZodObject<{
122
+ values: z.ZodArray<z.ZodString>;
123
+ label: z.ZodString;
124
+ required: z.ZodOptional<z.ZodBoolean>;
125
+ type: z.ZodLiteral<"enum">;
126
+ }, z.core.$strip>], "type">>;
127
+ label: z.ZodString;
128
+ primary: z.ZodOptional<z.ZodBoolean>;
129
+ required: z.ZodOptional<z.ZodBoolean>;
130
+ when: z.ZodOptional<z.ZodObject<{
131
+ field: z.ZodString;
132
+ in: z.ZodArray<z.ZodString>;
133
+ }, z.core.$strip>>;
134
+ type: z.ZodLiteral<"table">;
135
+ }, z.core.$strip>, z.ZodObject<{
136
+ currency: z.ZodOptional<z.ZodString>;
137
+ currencyField: z.ZodOptional<z.ZodString>;
138
+ formula: z.ZodString;
139
+ display: z.ZodOptional<z.ZodEnum<{
140
+ string: "string";
141
+ number: "number";
142
+ date: "date";
143
+ money: "money";
144
+ }>>;
145
+ label: z.ZodString;
146
+ primary: z.ZodOptional<z.ZodBoolean>;
147
+ required: z.ZodOptional<z.ZodBoolean>;
148
+ when: z.ZodOptional<z.ZodObject<{
149
+ field: z.ZodString;
150
+ in: z.ZodArray<z.ZodString>;
151
+ }, z.core.$strip>>;
152
+ type: z.ZodLiteral<"derived">;
153
+ }, z.core.$strip>, z.ZodObject<{
154
+ to: z.ZodString;
155
+ id: z.ZodOptional<z.ZodString>;
156
+ idField: z.ZodOptional<z.ZodString>;
157
+ label: z.ZodString;
158
+ primary: z.ZodOptional<z.ZodBoolean>;
159
+ required: z.ZodOptional<z.ZodBoolean>;
160
+ when: z.ZodOptional<z.ZodObject<{
161
+ field: z.ZodString;
162
+ in: z.ZodArray<z.ZodString>;
163
+ }, z.core.$strip>>;
164
+ type: z.ZodLiteral<"embed">;
165
+ }, z.core.$strip>, z.ZodObject<{
166
+ from: z.ZodString;
167
+ via: z.ZodString;
168
+ display: z.ZodArray<z.ZodString>;
169
+ filter: z.ZodOptional<z.ZodObject<{
170
+ field: z.ZodString;
171
+ in: z.ZodArray<z.ZodString>;
172
+ }, z.core.$strip>>;
173
+ label: z.ZodString;
174
+ primary: z.ZodOptional<z.ZodBoolean>;
175
+ required: z.ZodOptional<z.ZodBoolean>;
176
+ when: z.ZodOptional<z.ZodObject<{
177
+ field: z.ZodString;
178
+ in: z.ZodArray<z.ZodString>;
179
+ }, z.core.$strip>>;
180
+ type: z.ZodLiteral<"backlinks">;
181
+ }, z.core.$strip>, z.ZodObject<{
182
+ field: z.ZodString;
183
+ onValue: z.ZodString;
184
+ offValue: z.ZodString;
185
+ label: z.ZodString;
186
+ primary: z.ZodOptional<z.ZodBoolean>;
187
+ required: z.ZodOptional<z.ZodBoolean>;
188
+ when: z.ZodOptional<z.ZodObject<{
189
+ field: z.ZodString;
190
+ in: z.ZodArray<z.ZodString>;
191
+ }, z.core.$strip>>;
192
+ type: z.ZodLiteral<"toggle">;
193
+ }, z.core.$strip>], "type">;
194
+ /** A schema-declared record action, rendered as a button in the read-only
195
+ * detail view. Domain-free: the host validates the shape; the meaning
196
+ * (which role, which template) is data. v1 ships only `kind: "chat"` —
197
+ * start a new chat in `role` with a templated seed prompt; the enum
198
+ * reserves room for a future `"mutate"` (status transitions) without
199
+ * another schema-shape change. */
200
+ export declare const ActionSpecZ: z.ZodObject<{
201
+ id: z.ZodString;
202
+ label: z.ZodString;
203
+ icon: z.ZodOptional<z.ZodString>;
204
+ kind: z.ZodEnum<{
205
+ chat: "chat";
206
+ }>;
207
+ role: z.ZodString;
208
+ template: z.ZodString;
209
+ when: z.ZodOptional<z.ZodObject<{
210
+ field: z.ZodString;
211
+ in: z.ZodArray<z.ZodString>;
212
+ }, z.core.$strip>>;
213
+ }, z.core.$strip>;
214
+ /** A custom (LLM-authored) HTML view registration. Domain-free: the host
215
+ * validates the shape; the view's behaviour lives in the HTML file. `file`
216
+ * is constrained to `views/*.html` (path-safe) so the view-file reader can
217
+ * never reach the data folder or the schema/template files. `id` is
218
+ * validated to be a real slug + unique by schema-level refines below. */
219
+ export declare const CustomViewZ: z.ZodObject<{
220
+ id: z.ZodString;
221
+ label: z.ZodString;
222
+ icon: z.ZodOptional<z.ZodString>;
223
+ target: z.ZodOptional<z.ZodEnum<{
224
+ desktop: "desktop";
225
+ mobile: "mobile";
226
+ }>>;
227
+ file: z.ZodString;
228
+ i18n: z.ZodOptional<z.ZodString>;
229
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
230
+ read: "read";
231
+ write: "write";
232
+ }>>>;
233
+ editableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
+ allowDelete: z.ZodOptional<z.ZodBoolean>;
235
+ imageFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
236
+ imageMaxEdge: z.ZodOptional<z.ZodNumber>;
237
+ }, z.core.$strip>;
238
+ /** Recurrence advance for `spawn.every`. `interval` is a positive integer
239
+ * count of `unit`s (`interval: 3` + `unit: "month"` = quarterly);
240
+ * `dayOfMonth` (month/year only) is the CANONICAL day-of-month anchor
241
+ * (1-31, read from the rule and clamped per-month at compute time so "31st
242
+ * of every month" never drifts) or the `"last"` sentinel for end-of-month.
243
+ * `.strict()` so the union below cleanly rejects an object carrying BOTH
244
+ * `unit` and `fromField` (it fails this arm on the unknown `fromField`). */
245
+ export declare const EveryLiteralZ: z.ZodObject<{
246
+ unit: z.ZodEnum<{
247
+ day: "day";
248
+ week: "week";
249
+ month: "month";
250
+ year: "year";
251
+ }>;
252
+ interval: z.ZodNumber;
253
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
254
+ }, z.core.$strict>;
255
+ /** Field-driven recurrence: pick the interval per-record by an `enum`
256
+ * field's value — one collection can mix daily / weekly / monthly
257
+ * obligations in a single list. `map` keys are validated to exactly cover
258
+ * that field's `values` by a `CollectionSchemaZ` refine (which can see the
259
+ * sibling `fields`); here each map value just has to be a well-formed
260
+ * literal `every`. `.strict()` mirrors the literal arm so a both-keys
261
+ * object fails this arm too. */
262
+ export declare const EveryFieldDrivenZ: z.ZodObject<{
263
+ fromField: z.ZodString;
264
+ map: z.ZodRecord<z.ZodString, z.ZodObject<{
265
+ unit: z.ZodEnum<{
266
+ day: "day";
267
+ week: "week";
268
+ month: "month";
269
+ year: "year";
270
+ }>;
271
+ interval: z.ZodNumber;
272
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
273
+ }, z.core.$strict>>;
274
+ }, z.core.$strict>;
275
+ /** Either a single literal interval (applied to every record) or the
276
+ * field-driven map. Two `.strict()` arms mean "both keys" and "neither
277
+ * key" both fail validation, with no extra refine. */
278
+ export declare const EveryZ: z.ZodUnion<readonly [z.ZodObject<{
279
+ unit: z.ZodEnum<{
280
+ day: "day";
281
+ week: "week";
282
+ month: "month";
283
+ year: "year";
284
+ }>;
285
+ interval: z.ZodNumber;
286
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
287
+ }, z.core.$strict>, z.ZodObject<{
288
+ fromField: z.ZodString;
289
+ map: z.ZodRecord<z.ZodString, z.ZodObject<{
290
+ unit: z.ZodEnum<{
291
+ day: "day";
292
+ week: "week";
293
+ month: "month";
294
+ year: "year";
295
+ }>;
296
+ interval: z.ZodNumber;
297
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
298
+ }, z.core.$strict>>;
299
+ }, z.core.$strict>]>;
300
+ /** Host-driven recurrence: when a record satisfies `when` (default:
301
+ * "`completionField` value ∈ `completionDoneValues`"), the host creates the
302
+ * next record with a forward-advanced `triggerField` date. `carry` copies
303
+ * record fields verbatim onto the successor; `set` forces fixed values
304
+ * (typically resetting the status field to its pending value). The
305
+ * successor's id and contents are a pure function of (source record, this
306
+ * rule); creation is create-if-absent, so the mechanism stays convergent. */
307
+ export declare const SpawnZ: z.ZodObject<{
308
+ when: z.ZodOptional<z.ZodObject<{
309
+ field: z.ZodString;
310
+ in: z.ZodArray<z.ZodString>;
311
+ }, z.core.$strip>>;
312
+ every: z.ZodUnion<readonly [z.ZodObject<{
313
+ unit: z.ZodEnum<{
314
+ day: "day";
315
+ week: "week";
316
+ month: "month";
317
+ year: "year";
318
+ }>;
319
+ interval: z.ZodNumber;
320
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
321
+ }, z.core.$strict>, z.ZodObject<{
322
+ fromField: z.ZodString;
323
+ map: z.ZodRecord<z.ZodString, z.ZodObject<{
324
+ unit: z.ZodEnum<{
325
+ day: "day";
326
+ week: "week";
327
+ month: "month";
328
+ year: "year";
329
+ }>;
330
+ interval: z.ZodNumber;
331
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
332
+ }, z.core.$strict>>;
333
+ }, z.core.$strict>]>;
334
+ carry: z.ZodOptional<z.ZodArray<z.ZodString>>;
335
+ set: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
336
+ }, z.core.$strip>;
337
+ /** Declarative retrieval config for a Feed (a collection that refills itself
338
+ * from the internet). `http-json` needs `itemsAt` (a path to the items
339
+ * array) only when the response body isn't itself the array; rss/atom yield
340
+ * items natively and ignore it — so no kind-specific requirement here. */
341
+ export declare const DeclarativeIngestZ: z.ZodObject<{
342
+ kind: z.ZodEnum<{
343
+ rss: "rss";
344
+ atom: "atom";
345
+ "http-json": "http-json";
346
+ }>;
347
+ url: z.ZodString;
348
+ schedule: z.ZodEnum<{
349
+ hourly: "hourly";
350
+ daily: "daily";
351
+ weekly: "weekly";
352
+ "on-demand": "on-demand";
353
+ }>;
354
+ atHour: z.ZodOptional<z.ZodNumber>;
355
+ itemsAt: z.ZodOptional<z.ZodString>;
356
+ map: z.ZodRecord<z.ZodString, z.ZodString>;
357
+ idFrom: z.ZodOptional<z.ZodString>;
358
+ maxItems: z.ZodOptional<z.ZodNumber>;
359
+ }, z.core.$strip>;
360
+ /** Agent-performed retrieval. Valid on any collection (the primary consumer
361
+ * is skill-backed collections — feeds keep their declarative kinds). No
362
+ * `url`/`map`: the worker owns retrieval and record shape, seeded by
363
+ * `template` + a summary of every record, run in `role`. `template` is
364
+ * validated the SAME way an action's template is (safe path under
365
+ * `templates/`), so the skill-bridge mirrors it identically. */
366
+ export declare const AgentIngestZ: z.ZodObject<{
367
+ kind: z.ZodLiteral<"agent">;
368
+ schedule: z.ZodEnum<{
369
+ hourly: "hourly";
370
+ daily: "daily";
371
+ weekly: "weekly";
372
+ "on-demand": "on-demand";
373
+ }>;
374
+ atHour: z.ZodOptional<z.ZodNumber>;
375
+ role: z.ZodString;
376
+ template: z.ZodString;
377
+ }, z.core.$strip>;
378
+ /** `ingest` is a discriminated union on `kind`: the three declarative
379
+ * retrievers fetch-and-map; `agent` dispatches a hidden worker. Optional on
380
+ * every schema — skill-backed collections usually omit it; only feeds
381
+ * discovered from `<workspace>/feeds/` are REQUIRED to carry it (gated by
382
+ * `acceptParsedSchema`). */
383
+ export declare const IngestZ: z.ZodDiscriminatedUnion<[z.ZodObject<{
384
+ kind: z.ZodEnum<{
385
+ rss: "rss";
386
+ atom: "atom";
387
+ "http-json": "http-json";
388
+ }>;
389
+ url: z.ZodString;
390
+ schedule: z.ZodEnum<{
391
+ hourly: "hourly";
392
+ daily: "daily";
393
+ weekly: "weekly";
394
+ "on-demand": "on-demand";
395
+ }>;
396
+ atHour: z.ZodOptional<z.ZodNumber>;
397
+ itemsAt: z.ZodOptional<z.ZodString>;
398
+ map: z.ZodRecord<z.ZodString, z.ZodString>;
399
+ idFrom: z.ZodOptional<z.ZodString>;
400
+ maxItems: z.ZodOptional<z.ZodNumber>;
401
+ }, z.core.$strip>, z.ZodObject<{
402
+ kind: z.ZodLiteral<"agent">;
403
+ schedule: z.ZodEnum<{
404
+ hourly: "hourly";
405
+ daily: "daily";
406
+ weekly: "weekly";
407
+ "on-demand": "on-demand";
408
+ }>;
409
+ atHour: z.ZodOptional<z.ZodNumber>;
410
+ role: z.ZodString;
411
+ template: z.ZodString;
412
+ }, z.core.$strip>], "kind">;
413
+ export declare const ValueRefZ: z.ZodObject<{
414
+ record: z.ZodOptional<z.ZodString>;
415
+ field: z.ZodString;
416
+ }, z.core.$strip>;
417
+ export declare const WhereCondZ: z.ZodObject<{
418
+ field: z.ZodString;
419
+ op: z.ZodEnum<{
420
+ in: "in";
421
+ eq: "eq";
422
+ ne: "ne";
423
+ gt: "gt";
424
+ gte: "gte";
425
+ lt: "lt";
426
+ lte: "lte";
427
+ contains: "contains";
428
+ }>;
429
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
430
+ valueFrom: z.ZodOptional<z.ZodObject<{
431
+ record: z.ZodOptional<z.ZodString>;
432
+ field: z.ZodString;
433
+ }, z.core.$strip>>;
434
+ }, z.core.$strip>;
435
+ export declare const WhereZ: z.ZodArray<z.ZodObject<{
436
+ field: z.ZodString;
437
+ op: z.ZodEnum<{
438
+ in: "in";
439
+ eq: "eq";
440
+ ne: "ne";
441
+ gt: "gt";
442
+ gte: "gte";
443
+ lt: "lt";
444
+ lte: "lte";
445
+ contains: "contains";
446
+ }>;
447
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
448
+ valueFrom: z.ZodOptional<z.ZodObject<{
449
+ record: z.ZodOptional<z.ZodString>;
450
+ field: z.ZodString;
451
+ }, z.core.$strip>>;
452
+ }, z.core.$strip>>;
453
+ export declare const DynamicIconSourceZ: z.ZodObject<{
454
+ collection: z.ZodString;
455
+ from: z.ZodOptional<z.ZodEnum<{
456
+ when: "when";
457
+ latest: "latest";
458
+ first: "first";
459
+ }>>;
460
+ orderBy: z.ZodOptional<z.ZodString>;
461
+ where: z.ZodOptional<z.ZodArray<z.ZodObject<{
462
+ field: z.ZodString;
463
+ op: z.ZodEnum<{
464
+ in: "in";
465
+ eq: "eq";
466
+ ne: "ne";
467
+ gt: "gt";
468
+ gte: "gte";
469
+ lt: "lt";
470
+ lte: "lte";
471
+ contains: "contains";
472
+ }>;
473
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
474
+ valueFrom: z.ZodOptional<z.ZodObject<{
475
+ record: z.ZodOptional<z.ZodString>;
476
+ field: z.ZodString;
477
+ }, z.core.$strip>>;
478
+ }, z.core.$strip>>>;
479
+ }, z.core.$strip>;
480
+ export declare const DynamicIconRuleZ: z.ZodObject<{
481
+ where: z.ZodArray<z.ZodObject<{
482
+ field: z.ZodString;
483
+ op: z.ZodEnum<{
484
+ in: "in";
485
+ eq: "eq";
486
+ ne: "ne";
487
+ gt: "gt";
488
+ gte: "gte";
489
+ lt: "lt";
490
+ lte: "lte";
491
+ contains: "contains";
492
+ }>;
493
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
494
+ valueFrom: z.ZodOptional<z.ZodObject<{
495
+ record: z.ZodOptional<z.ZodString>;
496
+ field: z.ZodString;
497
+ }, z.core.$strip>>;
498
+ }, z.core.$strip>>;
499
+ icon: z.ZodString;
500
+ }, z.core.$strip>;
501
+ export declare const DynamicIconSpecZ: z.ZodObject<{
502
+ source: z.ZodObject<{
503
+ collection: z.ZodString;
504
+ from: z.ZodOptional<z.ZodEnum<{
505
+ when: "when";
506
+ latest: "latest";
507
+ first: "first";
508
+ }>>;
509
+ orderBy: z.ZodOptional<z.ZodString>;
510
+ where: z.ZodOptional<z.ZodArray<z.ZodObject<{
511
+ field: z.ZodString;
512
+ op: z.ZodEnum<{
513
+ in: "in";
514
+ eq: "eq";
515
+ ne: "ne";
516
+ gt: "gt";
517
+ gte: "gte";
518
+ lt: "lt";
519
+ lte: "lte";
520
+ contains: "contains";
521
+ }>;
522
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
523
+ valueFrom: z.ZodOptional<z.ZodObject<{
524
+ record: z.ZodOptional<z.ZodString>;
525
+ field: z.ZodString;
526
+ }, z.core.$strip>>;
527
+ }, z.core.$strip>>>;
528
+ }, z.core.$strip>;
529
+ rules: z.ZodArray<z.ZodObject<{
530
+ where: z.ZodArray<z.ZodObject<{
531
+ field: z.ZodString;
532
+ op: z.ZodEnum<{
533
+ in: "in";
534
+ eq: "eq";
535
+ ne: "ne";
536
+ gt: "gt";
537
+ gte: "gte";
538
+ lt: "lt";
539
+ lte: "lte";
540
+ contains: "contains";
541
+ }>;
542
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
543
+ valueFrom: z.ZodOptional<z.ZodObject<{
544
+ record: z.ZodOptional<z.ZodString>;
545
+ field: z.ZodString;
546
+ }, z.core.$strip>>;
547
+ }, z.core.$strip>>;
548
+ icon: z.ZodString;
549
+ }, z.core.$strip>>;
550
+ fallback: z.ZodOptional<z.ZodString>;
551
+ }, z.core.$strip>;
552
+ export declare const CollectionSchemaZ: z.ZodObject<{
553
+ title: z.ZodString;
554
+ icon: z.ZodString;
555
+ dataPath: z.ZodString;
556
+ primaryKey: z.ZodString;
557
+ singleton: z.ZodOptional<z.ZodString>;
558
+ fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
559
+ label: z.ZodString;
560
+ primary: z.ZodOptional<z.ZodBoolean>;
561
+ required: z.ZodOptional<z.ZodBoolean>;
562
+ when: z.ZodOptional<z.ZodObject<{
563
+ field: z.ZodString;
564
+ in: z.ZodArray<z.ZodString>;
565
+ }, z.core.$strip>>;
566
+ type: z.ZodEnum<{
567
+ string: "string";
568
+ number: "number";
569
+ boolean: "boolean";
570
+ date: "date";
571
+ file: "file";
572
+ text: "text";
573
+ email: "email";
574
+ datetime: "datetime";
575
+ markdown: "markdown";
576
+ image: "image";
577
+ }>;
578
+ }, z.core.$strip>, z.ZodObject<{
579
+ to: z.ZodString;
580
+ label: z.ZodString;
581
+ primary: z.ZodOptional<z.ZodBoolean>;
582
+ required: z.ZodOptional<z.ZodBoolean>;
583
+ when: z.ZodOptional<z.ZodObject<{
584
+ field: z.ZodString;
585
+ in: z.ZodArray<z.ZodString>;
586
+ }, z.core.$strip>>;
587
+ type: z.ZodLiteral<"ref">;
588
+ }, z.core.$strip>, z.ZodObject<{
589
+ currency: z.ZodOptional<z.ZodString>;
590
+ currencyField: z.ZodOptional<z.ZodString>;
591
+ label: z.ZodString;
592
+ primary: z.ZodOptional<z.ZodBoolean>;
593
+ required: z.ZodOptional<z.ZodBoolean>;
594
+ when: z.ZodOptional<z.ZodObject<{
595
+ field: z.ZodString;
596
+ in: z.ZodArray<z.ZodString>;
597
+ }, z.core.$strip>>;
598
+ type: z.ZodLiteral<"money">;
599
+ }, z.core.$strip>, z.ZodObject<{
600
+ values: z.ZodArray<z.ZodString>;
601
+ label: z.ZodString;
602
+ primary: z.ZodOptional<z.ZodBoolean>;
603
+ required: z.ZodOptional<z.ZodBoolean>;
604
+ when: z.ZodOptional<z.ZodObject<{
605
+ field: z.ZodString;
606
+ in: z.ZodArray<z.ZodString>;
607
+ }, z.core.$strip>>;
608
+ type: z.ZodLiteral<"enum">;
609
+ }, z.core.$strip>, z.ZodObject<{
610
+ of: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
611
+ label: z.ZodString;
612
+ required: z.ZodOptional<z.ZodBoolean>;
613
+ type: z.ZodEnum<{
614
+ string: "string";
615
+ number: "number";
616
+ boolean: "boolean";
617
+ date: "date";
618
+ text: "text";
619
+ email: "email";
620
+ datetime: "datetime";
621
+ markdown: "markdown";
622
+ }>;
623
+ }, z.core.$strip>, z.ZodObject<{
624
+ to: z.ZodString;
625
+ label: z.ZodString;
626
+ required: z.ZodOptional<z.ZodBoolean>;
627
+ type: z.ZodLiteral<"ref">;
628
+ }, z.core.$strip>, z.ZodObject<{
629
+ currency: z.ZodOptional<z.ZodString>;
630
+ currencyField: z.ZodOptional<z.ZodString>;
631
+ label: z.ZodString;
632
+ required: z.ZodOptional<z.ZodBoolean>;
633
+ type: z.ZodLiteral<"money">;
634
+ }, z.core.$strip>, z.ZodObject<{
635
+ values: z.ZodArray<z.ZodString>;
636
+ label: z.ZodString;
637
+ required: z.ZodOptional<z.ZodBoolean>;
638
+ type: z.ZodLiteral<"enum">;
639
+ }, z.core.$strip>], "type">>;
640
+ label: z.ZodString;
641
+ primary: z.ZodOptional<z.ZodBoolean>;
642
+ required: z.ZodOptional<z.ZodBoolean>;
643
+ when: z.ZodOptional<z.ZodObject<{
644
+ field: z.ZodString;
645
+ in: z.ZodArray<z.ZodString>;
646
+ }, z.core.$strip>>;
647
+ type: z.ZodLiteral<"table">;
648
+ }, z.core.$strip>, z.ZodObject<{
649
+ currency: z.ZodOptional<z.ZodString>;
650
+ currencyField: z.ZodOptional<z.ZodString>;
651
+ formula: z.ZodString;
652
+ display: z.ZodOptional<z.ZodEnum<{
653
+ string: "string";
654
+ number: "number";
655
+ date: "date";
656
+ money: "money";
657
+ }>>;
658
+ label: z.ZodString;
659
+ primary: z.ZodOptional<z.ZodBoolean>;
660
+ required: z.ZodOptional<z.ZodBoolean>;
661
+ when: z.ZodOptional<z.ZodObject<{
662
+ field: z.ZodString;
663
+ in: z.ZodArray<z.ZodString>;
664
+ }, z.core.$strip>>;
665
+ type: z.ZodLiteral<"derived">;
666
+ }, z.core.$strip>, z.ZodObject<{
667
+ to: z.ZodString;
668
+ id: z.ZodOptional<z.ZodString>;
669
+ idField: z.ZodOptional<z.ZodString>;
670
+ label: z.ZodString;
671
+ primary: z.ZodOptional<z.ZodBoolean>;
672
+ required: z.ZodOptional<z.ZodBoolean>;
673
+ when: z.ZodOptional<z.ZodObject<{
674
+ field: z.ZodString;
675
+ in: z.ZodArray<z.ZodString>;
676
+ }, z.core.$strip>>;
677
+ type: z.ZodLiteral<"embed">;
678
+ }, z.core.$strip>, z.ZodObject<{
679
+ from: z.ZodString;
680
+ via: z.ZodString;
681
+ display: z.ZodArray<z.ZodString>;
682
+ filter: z.ZodOptional<z.ZodObject<{
683
+ field: z.ZodString;
684
+ in: z.ZodArray<z.ZodString>;
685
+ }, z.core.$strip>>;
686
+ label: z.ZodString;
687
+ primary: z.ZodOptional<z.ZodBoolean>;
688
+ required: z.ZodOptional<z.ZodBoolean>;
689
+ when: z.ZodOptional<z.ZodObject<{
690
+ field: z.ZodString;
691
+ in: z.ZodArray<z.ZodString>;
692
+ }, z.core.$strip>>;
693
+ type: z.ZodLiteral<"backlinks">;
694
+ }, z.core.$strip>, z.ZodObject<{
695
+ field: z.ZodString;
696
+ onValue: z.ZodString;
697
+ offValue: z.ZodString;
698
+ label: z.ZodString;
699
+ primary: z.ZodOptional<z.ZodBoolean>;
700
+ required: z.ZodOptional<z.ZodBoolean>;
701
+ when: z.ZodOptional<z.ZodObject<{
702
+ field: z.ZodString;
703
+ in: z.ZodArray<z.ZodString>;
704
+ }, z.core.$strip>>;
705
+ type: z.ZodLiteral<"toggle">;
706
+ }, z.core.$strip>], "type">>;
707
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
708
+ id: z.ZodString;
709
+ label: z.ZodString;
710
+ icon: z.ZodOptional<z.ZodString>;
711
+ kind: z.ZodEnum<{
712
+ chat: "chat";
713
+ }>;
714
+ role: z.ZodString;
715
+ template: z.ZodString;
716
+ when: z.ZodOptional<z.ZodObject<{
717
+ field: z.ZodString;
718
+ in: z.ZodArray<z.ZodString>;
719
+ }, z.core.$strip>>;
720
+ }, z.core.$strip>>>;
721
+ collectionActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
722
+ id: z.ZodString;
723
+ label: z.ZodString;
724
+ icon: z.ZodOptional<z.ZodString>;
725
+ kind: z.ZodEnum<{
726
+ chat: "chat";
727
+ }>;
728
+ role: z.ZodString;
729
+ template: z.ZodString;
730
+ when: z.ZodOptional<z.ZodObject<{
731
+ field: z.ZodString;
732
+ in: z.ZodArray<z.ZodString>;
733
+ }, z.core.$strip>>;
734
+ }, z.core.$strip>>>;
735
+ completionField: z.ZodOptional<z.ZodString>;
736
+ completionDoneValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
737
+ displayField: z.ZodOptional<z.ZodString>;
738
+ triggerField: z.ZodOptional<z.ZodString>;
739
+ triggerLeadDays: z.ZodOptional<z.ZodNumber>;
740
+ spawn: z.ZodOptional<z.ZodObject<{
741
+ when: z.ZodOptional<z.ZodObject<{
742
+ field: z.ZodString;
743
+ in: z.ZodArray<z.ZodString>;
744
+ }, z.core.$strip>>;
745
+ every: z.ZodUnion<readonly [z.ZodObject<{
746
+ unit: z.ZodEnum<{
747
+ day: "day";
748
+ week: "week";
749
+ month: "month";
750
+ year: "year";
751
+ }>;
752
+ interval: z.ZodNumber;
753
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
754
+ }, z.core.$strict>, z.ZodObject<{
755
+ fromField: z.ZodString;
756
+ map: z.ZodRecord<z.ZodString, z.ZodObject<{
757
+ unit: z.ZodEnum<{
758
+ day: "day";
759
+ week: "week";
760
+ month: "month";
761
+ year: "year";
762
+ }>;
763
+ interval: z.ZodNumber;
764
+ dayOfMonth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"last">]>>;
765
+ }, z.core.$strict>>;
766
+ }, z.core.$strict>]>;
767
+ carry: z.ZodOptional<z.ZodArray<z.ZodString>>;
768
+ set: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
769
+ }, z.core.$strip>>;
770
+ calendarField: z.ZodOptional<z.ZodString>;
771
+ calendarEndField: z.ZodOptional<z.ZodString>;
772
+ calendarTimeField: z.ZodOptional<z.ZodString>;
773
+ kanbanField: z.ZodOptional<z.ZodString>;
774
+ views: z.ZodOptional<z.ZodArray<z.ZodObject<{
775
+ id: z.ZodString;
776
+ label: z.ZodString;
777
+ icon: z.ZodOptional<z.ZodString>;
778
+ target: z.ZodOptional<z.ZodEnum<{
779
+ desktop: "desktop";
780
+ mobile: "mobile";
781
+ }>>;
782
+ file: z.ZodString;
783
+ i18n: z.ZodOptional<z.ZodString>;
784
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
785
+ read: "read";
786
+ write: "write";
787
+ }>>>;
788
+ editableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
789
+ allowDelete: z.ZodOptional<z.ZodBoolean>;
790
+ imageFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
791
+ imageMaxEdge: z.ZodOptional<z.ZodNumber>;
792
+ }, z.core.$strip>>>;
793
+ notifyWhen: z.ZodOptional<z.ZodObject<{
794
+ field: z.ZodString;
795
+ in: z.ZodArray<z.ZodString>;
796
+ }, z.core.$strip>>;
797
+ ingest: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
798
+ kind: z.ZodEnum<{
799
+ rss: "rss";
800
+ atom: "atom";
801
+ "http-json": "http-json";
802
+ }>;
803
+ url: z.ZodString;
804
+ schedule: z.ZodEnum<{
805
+ hourly: "hourly";
806
+ daily: "daily";
807
+ weekly: "weekly";
808
+ "on-demand": "on-demand";
809
+ }>;
810
+ atHour: z.ZodOptional<z.ZodNumber>;
811
+ itemsAt: z.ZodOptional<z.ZodString>;
812
+ map: z.ZodRecord<z.ZodString, z.ZodString>;
813
+ idFrom: z.ZodOptional<z.ZodString>;
814
+ maxItems: z.ZodOptional<z.ZodNumber>;
815
+ }, z.core.$strip>, z.ZodObject<{
816
+ kind: z.ZodLiteral<"agent">;
817
+ schedule: z.ZodEnum<{
818
+ hourly: "hourly";
819
+ daily: "daily";
820
+ weekly: "weekly";
821
+ "on-demand": "on-demand";
822
+ }>;
823
+ atHour: z.ZodOptional<z.ZodNumber>;
824
+ role: z.ZodString;
825
+ template: z.ZodString;
826
+ }, z.core.$strip>], "kind">>;
827
+ dynamicIcon: z.ZodOptional<z.ZodObject<{
828
+ source: z.ZodObject<{
829
+ collection: z.ZodString;
830
+ from: z.ZodOptional<z.ZodEnum<{
831
+ when: "when";
832
+ latest: "latest";
833
+ first: "first";
834
+ }>>;
835
+ orderBy: z.ZodOptional<z.ZodString>;
836
+ where: z.ZodOptional<z.ZodArray<z.ZodObject<{
837
+ field: z.ZodString;
838
+ op: z.ZodEnum<{
839
+ in: "in";
840
+ eq: "eq";
841
+ ne: "ne";
842
+ gt: "gt";
843
+ gte: "gte";
844
+ lt: "lt";
845
+ lte: "lte";
846
+ contains: "contains";
847
+ }>;
848
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
849
+ valueFrom: z.ZodOptional<z.ZodObject<{
850
+ record: z.ZodOptional<z.ZodString>;
851
+ field: z.ZodString;
852
+ }, z.core.$strip>>;
853
+ }, z.core.$strip>>>;
854
+ }, z.core.$strip>;
855
+ rules: z.ZodArray<z.ZodObject<{
856
+ where: z.ZodArray<z.ZodObject<{
857
+ field: z.ZodString;
858
+ op: z.ZodEnum<{
859
+ in: "in";
860
+ eq: "eq";
861
+ ne: "ne";
862
+ gt: "gt";
863
+ gte: "gte";
864
+ lt: "lt";
865
+ lte: "lte";
866
+ contains: "contains";
867
+ }>;
868
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
869
+ valueFrom: z.ZodOptional<z.ZodObject<{
870
+ record: z.ZodOptional<z.ZodString>;
871
+ field: z.ZodString;
872
+ }, z.core.$strip>>;
873
+ }, z.core.$strip>>;
874
+ icon: z.ZodString;
875
+ }, z.core.$strip>>;
876
+ fallback: z.ZodOptional<z.ZodString>;
877
+ }, z.core.$strip>>;
878
+ }, z.core.$strip>;