@rizom/brain 0.2.0-alpha.46 → 0.2.0-alpha.48
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/brain.js +800 -800
- package/dist/deploy.d.ts +17 -26
- package/dist/entities.d.ts +509 -142
- package/dist/entities.js +2 -2
- package/dist/entities.js.map +6 -6
- package/dist/index.d.ts +60 -46
- package/dist/index.js +2 -501
- package/dist/index.js.map +4 -579
- package/dist/interfaces.d.ts +908 -112
- package/dist/interfaces.js +145 -145
- package/dist/interfaces.js.map +7 -83
- package/dist/plugins.d.ts +1097 -364
- package/dist/plugins.js +139 -139
- package/dist/plugins.js.map +30 -41
- package/dist/services.d.ts +551 -105
- package/dist/services.js +136 -136
- package/dist/services.js.map +40 -88
- package/dist/site.d.ts +56 -157
- package/dist/site.js +285 -285
- package/dist/site.js.map +47 -35
- package/dist/templates.d.ts +292 -52
- package/dist/themes.d.ts +5 -44
- package/package.json +3 -5
- package/dist/utils.d.ts +0 -133
- package/dist/utils.js +0 -174
- package/dist/utils.js.map +0 -211
package/dist/templates.d.ts
CHANGED
|
@@ -1,62 +1,302 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { VNode } from 'preact';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Progress notification for long-running operations
|
|
6
|
+
*/
|
|
7
|
+
interface ProgressNotification {
|
|
8
|
+
progress: number;
|
|
9
|
+
total?: number;
|
|
10
|
+
message?: string;
|
|
11
|
+
rate?: number;
|
|
12
|
+
eta?: number;
|
|
8
13
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Progress callback type
|
|
16
|
+
*/
|
|
17
|
+
type ProgressCallback = (notification: ProgressNotification) => Promise<void>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Interface for content formatters (human-editable content formatting)
|
|
21
|
+
*
|
|
22
|
+
* ContentFormatters handle bidirectional transformation between structured data
|
|
23
|
+
* and human-editable markdown templates. Unlike SchemaFormatters which are for
|
|
24
|
+
* one-way API response formatting, ContentFormatters support parsing edited
|
|
25
|
+
* content back into structured data.
|
|
26
|
+
*/
|
|
27
|
+
interface ContentFormatter<T = unknown> {
|
|
28
|
+
/**
|
|
29
|
+
* Format structured data into human-editable markdown
|
|
30
|
+
* @param data - The structured data to format
|
|
31
|
+
* @returns Human-editable markdown representation
|
|
32
|
+
*/
|
|
33
|
+
format(data: T): string;
|
|
34
|
+
/**
|
|
35
|
+
* Parse human-editable markdown back into structured data
|
|
36
|
+
* @param content - The markdown content to parse
|
|
37
|
+
* @returns Structured data parsed from the markdown
|
|
38
|
+
* @throws Error if the content cannot be parsed
|
|
39
|
+
*/
|
|
40
|
+
parse(content: string): T;
|
|
19
41
|
}
|
|
20
|
-
export const TemplateSchema: z.ZodSchema<Template>;
|
|
21
|
-
export function createTemplate<T = unknown>(
|
|
22
|
-
input: TemplateInput<T>,
|
|
23
|
-
): Template<T>;
|
|
24
|
-
export function createTypedComponent<P>(
|
|
25
|
-
component: ComponentType<P>,
|
|
26
|
-
): ComponentType<P>;
|
|
27
42
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Component type for layouts - using Preact
|
|
45
|
+
* Returns a Preact VNode
|
|
46
|
+
*/
|
|
47
|
+
type ComponentType<P = unknown> = (props: P) => VNode;
|
|
48
|
+
/**
|
|
49
|
+
* A runtime script that a template depends on. Site-builder collects
|
|
50
|
+
* these per route across all templates rendered on the page, dedupes
|
|
51
|
+
* by `src`, and injects them as <script> tags.
|
|
52
|
+
*
|
|
53
|
+
* Use this for non-hydration runtime scripts (background canvases,
|
|
54
|
+
* scroll observers, decorative animations) that should ONLY load on
|
|
55
|
+
* pages where the template actually renders — unlike the plugin-level
|
|
56
|
+
* head-script registration which fires on every page.
|
|
57
|
+
*/
|
|
58
|
+
interface RuntimeScript {
|
|
59
|
+
src: string;
|
|
60
|
+
defer?: boolean;
|
|
61
|
+
module?: boolean;
|
|
38
62
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Helper function to create a type-safe component that automatically parses props
|
|
65
|
+
* using the provided Zod schema
|
|
66
|
+
*
|
|
67
|
+
* Supports transformation between schema type and component type (e.g., enrichment)
|
|
68
|
+
* @param TSchema - Type validated by schema (e.g., with optional url/typeLabel)
|
|
69
|
+
* @param TComponent - Type expected by component (e.g., with required url/typeLabel)
|
|
70
|
+
*/
|
|
71
|
+
declare function createTypedComponent<TSchema, TComponent = TSchema>(schema: z.ZodType<TSchema>, component: ComponentType<TComponent>): ComponentType<unknown>;
|
|
72
|
+
/**
|
|
73
|
+
* Unified template interface that bundles content generation and view rendering
|
|
74
|
+
* This is the single source of truth for what constitutes a template
|
|
75
|
+
*/
|
|
76
|
+
interface Template extends Omit<z.infer<typeof TemplateSchema>, "schema" | "layout" | "formatter"> {
|
|
77
|
+
schema: z.ZodSchema;
|
|
78
|
+
layout?: {
|
|
79
|
+
component?: ComponentType<unknown>;
|
|
80
|
+
fullscreen?: boolean;
|
|
81
|
+
};
|
|
82
|
+
formatter?: ContentFormatter<unknown>;
|
|
83
|
+
/**
|
|
84
|
+
* Whether to retrieve relevant entities from the knowledge base
|
|
85
|
+
* and inject them as context before AI generation. Default: false.
|
|
86
|
+
*/
|
|
87
|
+
useKnowledgeContext?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Runtime script dependencies. Loaded only on routes where this
|
|
90
|
+
* template actually renders — site-builder collects from all
|
|
91
|
+
* templates on a route, dedupes by src, and injects into <head>.
|
|
92
|
+
*/
|
|
93
|
+
runtimeScripts?: RuntimeScript[];
|
|
42
94
|
}
|
|
43
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Helper to create a template with automatic component wrapping
|
|
97
|
+
*
|
|
98
|
+
* Supports transformation between schema type and component type (e.g., enrichment)
|
|
99
|
+
* @param TSchema - Type validated by schema (datasource output)
|
|
100
|
+
* @param TComponent - Type expected by component (after enrichment)
|
|
101
|
+
*/
|
|
102
|
+
declare function createTemplate<TSchema = unknown, TComponent = TSchema>(template: Omit<Template, "layout" | "schema"> & {
|
|
103
|
+
schema: z.ZodType<TSchema>;
|
|
104
|
+
layout?: {
|
|
105
|
+
component?: ComponentType<TComponent>;
|
|
106
|
+
fullscreen?: boolean;
|
|
107
|
+
};
|
|
108
|
+
runtimeScripts?: RuntimeScript[];
|
|
109
|
+
}): Template;
|
|
110
|
+
/**
|
|
111
|
+
* Template schema for validation
|
|
112
|
+
*/
|
|
113
|
+
declare const TemplateSchema: z.ZodObject<{
|
|
114
|
+
name: z.ZodString;
|
|
115
|
+
description: z.ZodString;
|
|
116
|
+
schema: z.ZodAny;
|
|
117
|
+
basePrompt: z.ZodOptional<z.ZodString>;
|
|
118
|
+
useKnowledgeContext: z.ZodOptional<z.ZodBoolean>;
|
|
119
|
+
requiredPermission: z.ZodEnum<["anchor", "trusted", "public"]>;
|
|
120
|
+
formatter: z.ZodOptional<z.ZodAny>;
|
|
121
|
+
layout: z.ZodOptional<z.ZodObject<{
|
|
122
|
+
component: z.ZodAny;
|
|
123
|
+
fullscreen: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
component?: any;
|
|
126
|
+
fullscreen?: boolean | undefined;
|
|
127
|
+
}, {
|
|
128
|
+
component?: any;
|
|
129
|
+
fullscreen?: boolean | undefined;
|
|
130
|
+
}>>;
|
|
131
|
+
dataSourceId: z.ZodOptional<z.ZodString>;
|
|
132
|
+
}, "strip", z.ZodTypeAny, {
|
|
133
|
+
name: string;
|
|
134
|
+
description: string;
|
|
135
|
+
requiredPermission: "anchor" | "trusted" | "public";
|
|
136
|
+
schema?: any;
|
|
137
|
+
basePrompt?: string | undefined;
|
|
138
|
+
useKnowledgeContext?: boolean | undefined;
|
|
139
|
+
formatter?: any;
|
|
140
|
+
layout?: {
|
|
141
|
+
component?: any;
|
|
142
|
+
fullscreen?: boolean | undefined;
|
|
143
|
+
} | undefined;
|
|
144
|
+
dataSourceId?: string | undefined;
|
|
145
|
+
}, {
|
|
146
|
+
name: string;
|
|
147
|
+
description: string;
|
|
148
|
+
requiredPermission: "anchor" | "trusted" | "public";
|
|
149
|
+
schema?: any;
|
|
150
|
+
basePrompt?: string | undefined;
|
|
151
|
+
useKnowledgeContext?: boolean | undefined;
|
|
152
|
+
formatter?: any;
|
|
153
|
+
layout?: {
|
|
154
|
+
component?: any;
|
|
155
|
+
fullscreen?: boolean | undefined;
|
|
156
|
+
} | undefined;
|
|
157
|
+
dataSourceId?: string | undefined;
|
|
158
|
+
}>;
|
|
159
|
+
type TemplateInput = z.infer<typeof TemplateSchema>;
|
|
44
160
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Site content entity types
|
|
163
|
+
*/
|
|
164
|
+
declare const SiteContentEntityTypeSchema: z.ZodEnum<["site-content-preview", "site-content-production"]>;
|
|
165
|
+
type SiteContentEntityType = z.infer<typeof SiteContentEntityTypeSchema>;
|
|
166
|
+
/**
|
|
167
|
+
* View template schema
|
|
168
|
+
*/
|
|
169
|
+
declare const ViewTemplateSchema: z.ZodObject<{
|
|
170
|
+
name: z.ZodString;
|
|
171
|
+
schema: z.ZodAny;
|
|
172
|
+
description: z.ZodOptional<z.ZodString>;
|
|
173
|
+
pluginId: z.ZodString;
|
|
174
|
+
renderers: z.ZodObject<{
|
|
175
|
+
web: z.ZodOptional<z.ZodUnion<[z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>, z.ZodString]>>;
|
|
176
|
+
}, "strip", z.ZodTypeAny, {
|
|
177
|
+
web?: string | ((...args: unknown[]) => unknown) | undefined;
|
|
178
|
+
}, {
|
|
179
|
+
web?: string | ((...args: unknown[]) => unknown) | undefined;
|
|
180
|
+
}>;
|
|
181
|
+
}, "strip", z.ZodTypeAny, {
|
|
182
|
+
name: string;
|
|
183
|
+
pluginId: string;
|
|
184
|
+
renderers: {
|
|
185
|
+
web?: string | ((...args: unknown[]) => unknown) | undefined;
|
|
186
|
+
};
|
|
187
|
+
description?: string | undefined;
|
|
188
|
+
schema?: any;
|
|
189
|
+
}, {
|
|
190
|
+
name: string;
|
|
191
|
+
pluginId: string;
|
|
192
|
+
renderers: {
|
|
193
|
+
web?: string | ((...args: unknown[]) => unknown) | undefined;
|
|
194
|
+
};
|
|
195
|
+
description?: string | undefined;
|
|
196
|
+
schema?: any;
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* Renderer types for different output formats
|
|
200
|
+
*/
|
|
201
|
+
type WebRenderer<T = unknown> = ComponentType<T> | string;
|
|
202
|
+
/**
|
|
203
|
+
* Output format types
|
|
204
|
+
*/
|
|
205
|
+
type OutputFormat = "web";
|
|
206
|
+
/**
|
|
207
|
+
* View template with support for multiple output formats
|
|
208
|
+
*/
|
|
209
|
+
interface ViewTemplate<T = unknown> {
|
|
210
|
+
name: string;
|
|
211
|
+
schema: z.ZodType<T>;
|
|
212
|
+
description?: string;
|
|
213
|
+
pluginId: string;
|
|
214
|
+
renderers: {
|
|
215
|
+
web?: WebRenderer<T>;
|
|
216
|
+
};
|
|
217
|
+
fullscreen?: boolean;
|
|
218
|
+
providerId?: string;
|
|
219
|
+
formatter?: ContentFormatter<T>;
|
|
220
|
+
/** Runtime script dependencies (see Template.runtimeScripts). */
|
|
221
|
+
runtimeScripts?: RuntimeScript[];
|
|
49
222
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
223
|
+
/**
|
|
224
|
+
* View template registry interface
|
|
225
|
+
*/
|
|
226
|
+
interface ViewTemplateRegistry {
|
|
227
|
+
get(name: string): ViewTemplate<unknown> | undefined;
|
|
228
|
+
list(): ViewTemplate<unknown>[];
|
|
229
|
+
validate(templateName: string, content: unknown): boolean;
|
|
55
230
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
231
|
+
/**
|
|
232
|
+
* Site builder options
|
|
233
|
+
*/
|
|
234
|
+
declare const SiteBuilderOptionsSchema: z.ZodObject<{
|
|
235
|
+
enableContentGeneration: z.ZodDefault<z.ZodBoolean>;
|
|
236
|
+
outputDir: z.ZodString;
|
|
237
|
+
workingDir: z.ZodOptional<z.ZodString>;
|
|
238
|
+
environment: z.ZodDefault<z.ZodEnum<["preview", "production"]>>;
|
|
239
|
+
siteConfig: z.ZodOptional<z.ZodObject<{
|
|
240
|
+
title: z.ZodString;
|
|
241
|
+
description: z.ZodString;
|
|
242
|
+
url: z.ZodOptional<z.ZodString>;
|
|
243
|
+
}, "strip", z.ZodTypeAny, {
|
|
244
|
+
description: string;
|
|
245
|
+
title: string;
|
|
246
|
+
url?: string | undefined;
|
|
247
|
+
}, {
|
|
248
|
+
description: string;
|
|
249
|
+
title: string;
|
|
250
|
+
url?: string | undefined;
|
|
251
|
+
}>>;
|
|
252
|
+
}, "strip", z.ZodTypeAny, {
|
|
253
|
+
enableContentGeneration: boolean;
|
|
254
|
+
outputDir: string;
|
|
255
|
+
environment: "preview" | "production";
|
|
256
|
+
workingDir?: string | undefined;
|
|
257
|
+
siteConfig?: {
|
|
258
|
+
description: string;
|
|
259
|
+
title: string;
|
|
260
|
+
url?: string | undefined;
|
|
261
|
+
} | undefined;
|
|
262
|
+
}, {
|
|
263
|
+
outputDir: string;
|
|
264
|
+
enableContentGeneration?: boolean | undefined;
|
|
265
|
+
workingDir?: string | undefined;
|
|
266
|
+
environment?: "preview" | "production" | undefined;
|
|
267
|
+
siteConfig?: {
|
|
268
|
+
description: string;
|
|
269
|
+
title: string;
|
|
270
|
+
url?: string | undefined;
|
|
271
|
+
} | undefined;
|
|
272
|
+
}>;
|
|
273
|
+
type SiteBuilderOptions = z.infer<typeof SiteBuilderOptionsSchema>;
|
|
274
|
+
/**
|
|
275
|
+
* Build result schema
|
|
276
|
+
*/
|
|
277
|
+
declare const BuildResultSchema: z.ZodObject<{
|
|
278
|
+
success: z.ZodBoolean;
|
|
279
|
+
routesBuilt: z.ZodNumber;
|
|
280
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
281
|
+
warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
282
|
+
}, "strip", z.ZodTypeAny, {
|
|
283
|
+
success: boolean;
|
|
284
|
+
routesBuilt: number;
|
|
285
|
+
errors?: string[] | undefined;
|
|
286
|
+
warnings?: string[] | undefined;
|
|
287
|
+
}, {
|
|
288
|
+
success: boolean;
|
|
289
|
+
routesBuilt: number;
|
|
290
|
+
errors?: string[] | undefined;
|
|
291
|
+
warnings?: string[] | undefined;
|
|
292
|
+
}>;
|
|
293
|
+
type BuildResult = z.infer<typeof BuildResultSchema>;
|
|
294
|
+
/**
|
|
295
|
+
* Site builder interface
|
|
296
|
+
*/
|
|
297
|
+
interface SiteBuilder {
|
|
298
|
+
build(options: SiteBuilderOptions, progress?: ProgressCallback): Promise<BuildResult>;
|
|
59
299
|
}
|
|
60
|
-
|
|
61
|
-
export
|
|
62
|
-
export
|
|
300
|
+
|
|
301
|
+
export { BuildResultSchema, SiteBuilderOptionsSchema, SiteContentEntityTypeSchema, TemplateSchema, ViewTemplateSchema, createTemplate, createTypedComponent };
|
|
302
|
+
export type { BuildResult, ComponentType, OutputFormat, RuntimeScript, SiteBuilder, SiteBuilderOptions, SiteContentEntityType, Template, TemplateInput, ViewTemplate, ViewTemplateRegistry, WebRenderer };
|
package/dist/themes.d.ts
CHANGED
|
@@ -1,48 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Compose a complete theme by prepending shared base utilities.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* edge cases of the `@brains/*` type graph. See
|
|
7
|
-
* `docs/plans/external-plugin-api.md` for the replacement plan.
|
|
8
|
-
*
|
|
9
|
-
* **Sync rules:**
|
|
10
|
-
* - When `composeTheme`'s signature changes in `@brains/theme-base`,
|
|
11
|
-
* update this file in the same commit.
|
|
12
|
-
* - The runtime side (`../entries/themes.ts`) re-exports the real
|
|
13
|
-
* implementation from `@brains/theme-base`. The .js bundle
|
|
14
|
-
* produced by `scripts/build.ts` is what consumers execute.
|
|
15
|
-
* This .d.ts file is what their tsc sees.
|
|
4
|
+
* Base utilities live in @layer theme-base; theme-specific styles
|
|
5
|
+
* should use @layer theme-override to guarantee correct cascade order.
|
|
16
6
|
*/
|
|
7
|
+
declare function composeTheme(themeCSS: string): string;
|
|
17
8
|
|
|
18
|
-
|
|
19
|
-
* Prepend the shared base theme utilities to a raw theme CSS string
|
|
20
|
-
* and return the combined result.
|
|
21
|
-
*
|
|
22
|
-
* The base utilities layer contains:
|
|
23
|
-
*
|
|
24
|
-
* - Palette tokens (`--palette-*`) for neutral colors, status colors,
|
|
25
|
-
* and universal UI signals
|
|
26
|
-
* - `@theme inline` declarations that expose the semantic color
|
|
27
|
-
* tokens (`--color-brand`, `--color-bg`, `--color-text`, etc.) to
|
|
28
|
-
* Tailwind v4's JIT so utilities like `bg-brand`, `text-brand`,
|
|
29
|
-
* `border-brand`, `focus-visible:ring-brand` auto-generate
|
|
30
|
-
* - Layer ordering (`@layer theme-base, theme-override`) so theme
|
|
31
|
-
* overrides cascade correctly regardless of concat order
|
|
32
|
-
* - Universal gradient, status, selection, and warning utilities
|
|
33
|
-
* - Prose color slots for `@tailwindcss/typography`
|
|
34
|
-
*
|
|
35
|
-
* The framework resolver uses this helper when it loads a raw theme
|
|
36
|
-
* package or inline theme CSS. Advanced consumers can use the same
|
|
37
|
-
* helper when they need a fully composed CSS string outside the
|
|
38
|
-
* resolver.
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```ts
|
|
42
|
-
* import { composeTheme } from "@rizom/brain/themes";
|
|
43
|
-
* import themeCSS from "./theme.css" with { type: "text" };
|
|
44
|
-
*
|
|
45
|
-
* const fullThemeCSS = composeTheme(themeCSS);
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export function composeTheme(themeCSS: string): string;
|
|
9
|
+
export { composeTheme };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rizom/brain",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.48",
|
|
4
4
|
"description": "Brain runtime + CLI — scaffold, run, and manage AI brain instances",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -32,10 +32,6 @@
|
|
|
32
32
|
"types": "./dist/templates.d.ts",
|
|
33
33
|
"import": "./dist/templates.js"
|
|
34
34
|
},
|
|
35
|
-
"./utils": {
|
|
36
|
-
"types": "./dist/utils.d.ts",
|
|
37
|
-
"import": "./dist/utils.js"
|
|
38
|
-
},
|
|
39
35
|
"./site": {
|
|
40
36
|
"types": "./dist/site.d.ts",
|
|
41
37
|
"import": "./dist/site.js"
|
|
@@ -99,6 +95,8 @@
|
|
|
99
95
|
"@brains/typescript-config": "workspace:*",
|
|
100
96
|
"@brains/utils": "workspace:*",
|
|
101
97
|
"@types/bun": "latest",
|
|
98
|
+
"rollup": "^4.60.2",
|
|
99
|
+
"rollup-plugin-dts": "^6.4.1",
|
|
102
100
|
"typescript": "^5.3.3"
|
|
103
101
|
},
|
|
104
102
|
"publishConfig": {
|
package/dist/utils.d.ts
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
export namespace z {
|
|
2
|
-
export interface SafeParseSuccess<T> {
|
|
3
|
-
success: true;
|
|
4
|
-
data: T;
|
|
5
|
-
}
|
|
6
|
-
export interface SafeParseError {
|
|
7
|
-
success: false;
|
|
8
|
-
error: ZodError;
|
|
9
|
-
}
|
|
10
|
-
export type SafeParseReturnType<T> = SafeParseSuccess<T> | SafeParseError;
|
|
11
|
-
export interface ZodType<T = unknown> {
|
|
12
|
-
parse(data: unknown): T;
|
|
13
|
-
safeParse(data: unknown): SafeParseReturnType<T>;
|
|
14
|
-
}
|
|
15
|
-
export type ZodSchema<T = unknown> = ZodType<T>;
|
|
16
|
-
export type ZodTypeAny = ZodType<unknown>;
|
|
17
|
-
export type ZodRawShape = Record<string, ZodTypeAny>;
|
|
18
|
-
export type infer<T extends ZodTypeAny> =
|
|
19
|
-
T extends ZodType<infer Output> ? Output : never;
|
|
20
|
-
export type input<T extends ZodTypeAny> =
|
|
21
|
-
T extends ZodType<infer Output> ? Output : never;
|
|
22
|
-
export type output<T extends ZodTypeAny> =
|
|
23
|
-
T extends ZodType<infer Output> ? Output : never;
|
|
24
|
-
export interface ZodObject<
|
|
25
|
-
TShape extends ZodRawShape = ZodRawShape,
|
|
26
|
-
> extends ZodType<Record<keyof TShape, unknown>> {
|
|
27
|
-
shape: TShape;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const z: {
|
|
32
|
-
object<TShape extends z.ZodRawShape>(shape: TShape): z.ZodObject<TShape>;
|
|
33
|
-
string(): z.ZodType<string>;
|
|
34
|
-
number(): z.ZodType<number>;
|
|
35
|
-
boolean(): z.ZodType<boolean>;
|
|
36
|
-
unknown(): z.ZodType<unknown>;
|
|
37
|
-
array<T extends z.ZodTypeAny>(schema: T): z.ZodType<Array<z.infer<T>>>;
|
|
38
|
-
record<T extends z.ZodTypeAny>(
|
|
39
|
-
schema: T,
|
|
40
|
-
): z.ZodType<Record<string, z.infer<T>>>;
|
|
41
|
-
enum<T extends readonly [string, ...string[]]>(
|
|
42
|
-
values: T,
|
|
43
|
-
): z.ZodType<T[number]>;
|
|
44
|
-
optional<T extends z.ZodTypeAny>(
|
|
45
|
-
schema: T,
|
|
46
|
-
): z.ZodType<z.infer<T> | undefined>;
|
|
47
|
-
};
|
|
48
|
-
export class ZodError extends Error {}
|
|
49
|
-
export type ZodType<T = unknown> = z.ZodType<T>;
|
|
50
|
-
export type ZodSchema<T = unknown> = z.ZodSchema<T>;
|
|
51
|
-
export type ZodRawShape = z.ZodRawShape;
|
|
52
|
-
export type ZodTypeAny = z.ZodTypeAny;
|
|
53
|
-
export type ZodInfer<T extends z.ZodTypeAny> = z.infer<T>;
|
|
54
|
-
export type ZodInput<T extends z.ZodTypeAny> = z.input<T>;
|
|
55
|
-
export type ZodOutput<T extends z.ZodTypeAny> = z.output<T>;
|
|
56
|
-
|
|
57
|
-
export enum LogLevel {
|
|
58
|
-
DEBUG = "debug",
|
|
59
|
-
INFO = "info",
|
|
60
|
-
WARN = "warn",
|
|
61
|
-
ERROR = "error",
|
|
62
|
-
}
|
|
63
|
-
export type LogFormat = "pretty" | "json";
|
|
64
|
-
export interface LoggerOptions {
|
|
65
|
-
context?: string;
|
|
66
|
-
level?: LogLevel | string;
|
|
67
|
-
format?: LogFormat;
|
|
68
|
-
}
|
|
69
|
-
export class Logger {
|
|
70
|
-
static createFresh(options?: LoggerOptions): Logger;
|
|
71
|
-
debug(message: string, data?: unknown): void;
|
|
72
|
-
info(message: string, data?: unknown): void;
|
|
73
|
-
warn(message: string, data?: unknown): void;
|
|
74
|
-
error(message: string, data?: unknown): void;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export function getErrorMessage(error: unknown): string;
|
|
78
|
-
export function toError(error: unknown): Error;
|
|
79
|
-
export function createId(): string;
|
|
80
|
-
export function createPrefixedId(prefix: string): string;
|
|
81
|
-
export function createBatchId(): string;
|
|
82
|
-
export function slugify(text: string): string;
|
|
83
|
-
export function generateIdFromText(text: string): string;
|
|
84
|
-
export function pluralize(word: string): string;
|
|
85
|
-
export function toDisplayName(value: string): string;
|
|
86
|
-
export function formatLabel(value: string): string;
|
|
87
|
-
export function truncateText(text: string, maxLength: number): string;
|
|
88
|
-
export function calculateReadingTime(text: string): number;
|
|
89
|
-
export function interpolateEnvVar(
|
|
90
|
-
value: string,
|
|
91
|
-
env?: Record<string, string | undefined>,
|
|
92
|
-
): string;
|
|
93
|
-
export function interpolateEnv<T>(
|
|
94
|
-
value: T,
|
|
95
|
-
env?: Record<string, string | undefined>,
|
|
96
|
-
): T;
|
|
97
|
-
|
|
98
|
-
export interface ParsedMarkdown {
|
|
99
|
-
content: string;
|
|
100
|
-
data: Record<string, unknown>;
|
|
101
|
-
}
|
|
102
|
-
export function parseMarkdown(markdown: string): ParsedMarkdown;
|
|
103
|
-
export function generateMarkdown(
|
|
104
|
-
content: string,
|
|
105
|
-
data?: Record<string, unknown>,
|
|
106
|
-
): string;
|
|
107
|
-
export function extractTitle(markdown: string): string | undefined;
|
|
108
|
-
export function markdownToHtml(markdown: string): string | Promise<string>;
|
|
109
|
-
export function stripMarkdown(markdown: string): string;
|
|
110
|
-
export function toYaml(value: unknown): string;
|
|
111
|
-
export function fromYaml<T = unknown>(yaml: string): T;
|
|
112
|
-
export function isValidYaml(yaml: string): boolean;
|
|
113
|
-
export function parseYamlDocument<T = unknown>(yaml: string): T;
|
|
114
|
-
|
|
115
|
-
export interface ProgressNotification {
|
|
116
|
-
progress?: number;
|
|
117
|
-
total?: number;
|
|
118
|
-
message?: string;
|
|
119
|
-
}
|
|
120
|
-
export type ProgressCallback = (
|
|
121
|
-
notification: ProgressNotification,
|
|
122
|
-
) => void | Promise<void>;
|
|
123
|
-
export interface IJobProgressMonitor {
|
|
124
|
-
report(notification: ProgressNotification): Promise<void>;
|
|
125
|
-
}
|
|
126
|
-
export class ProgressReporter {
|
|
127
|
-
static from(callback: ProgressCallback): ProgressReporter;
|
|
128
|
-
report(notification: ProgressNotification): Promise<void>;
|
|
129
|
-
}
|
|
130
|
-
export class JobResult {
|
|
131
|
-
static success<T = unknown>(data?: T): T;
|
|
132
|
-
static failure(message: string): never;
|
|
133
|
-
}
|