@krantho/config 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/defaults.d.ts +15 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +148 -0
- package/dist/defaults.js.map +1 -0
- package/dist/define.d.ts +11 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +12 -0
- package/dist/define.js.map +1 -0
- package/dist/derive.d.ts +12 -0
- package/dist/derive.d.ts.map +1 -0
- package/dist/derive.js +90 -0
- package/dist/derive.js.map +1 -0
- package/dist/env.d.ts +19 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +89 -0
- package/dist/env.js.map +1 -0
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +11 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/leaves.d.ts +34 -0
- package/dist/leaves.d.ts.map +1 -0
- package/dist/leaves.js +724 -0
- package/dist/leaves.js.map +1 -0
- package/dist/llm-providers.d.ts +25 -0
- package/dist/llm-providers.d.ts.map +1 -0
- package/dist/llm-providers.js +41 -0
- package/dist/llm-providers.js.map +1 -0
- package/dist/node/index.d.ts +9 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +4 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/load.d.ts +20 -0
- package/dist/node/load.d.ts.map +1 -0
- package/dist/node/load.js +48 -0
- package/dist/node/load.js.map +1 -0
- package/dist/node/route-slug.d.ts +9 -0
- package/dist/node/route-slug.d.ts.map +1 -0
- package/dist/node/route-slug.js +23 -0
- package/dist/node/route-slug.js.map +1 -0
- package/dist/node/seo-definitions.d.ts +8 -0
- package/dist/node/seo-definitions.d.ts.map +1 -0
- package/dist/node/seo-definitions.js +124 -0
- package/dist/node/seo-definitions.js.map +1 -0
- package/dist/object-path.d.ts +17 -0
- package/dist/object-path.d.ts.map +1 -0
- package/dist/object-path.js +75 -0
- package/dist/object-path.js.map +1 -0
- package/dist/production.d.ts +9 -0
- package/dist/production.d.ts.map +1 -0
- package/dist/production.js +22 -0
- package/dist/production.js.map +1 -0
- package/dist/public.d.ts +61 -0
- package/dist/public.d.ts.map +1 -0
- package/dist/public.js +65 -0
- package/dist/public.js.map +1 -0
- package/dist/reference.d.ts +8 -0
- package/dist/reference.d.ts.map +1 -0
- package/dist/reference.js +117 -0
- package/dist/reference.js.map +1 -0
- package/dist/resolve.d.ts +27 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +87 -0
- package/dist/resolve.js.map +1 -0
- package/dist/schema.d.ts +437 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +420 -0
- package/dist/schema.js.map +1 -0
- package/dist/sources.d.ts +10 -0
- package/dist/sources.d.ts.map +1 -0
- package/dist/sources.js +17 -0
- package/dist/sources.js.map +1 -0
- package/dist/types.d.ts +413 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/webhook-events.d.ts +3 -0
- package/dist/webhook-events.d.ts.map +1 -0
- package/dist/webhook-events.js +3 -0
- package/dist/webhook-events.js.map +1 -0
- package/package.json +47 -3
- package/README.md +0 -3
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The resolved krantho configuration tree.
|
|
3
|
+
*
|
|
4
|
+
* Every leaf has a value after {@link resolveConfig} runs — optional leaves are
|
|
5
|
+
* the ones that are genuinely absent by default (a secret nobody set, a limit
|
|
6
|
+
* nobody imposed). Defaults reproduce the values the code used before the tree
|
|
7
|
+
* existed.
|
|
8
|
+
*/
|
|
9
|
+
import type { LlmProviderName } from './llm-providers.js';
|
|
10
|
+
import type { WEBHOOK_EVENTS } from './webhook-events.js';
|
|
11
|
+
/** Persistence backend selector */
|
|
12
|
+
export type PersistenceProvider = 'sqlite' | 'postgres' | 'filesystem';
|
|
13
|
+
/**
|
|
14
|
+
* How rendered pages are cached: `none` renders every request; `next-isr`
|
|
15
|
+
* keeps each Next.js page until a content change invalidates it; `cdn` sends
|
|
16
|
+
* CDN cache headers with each page and purges the CDN when content changes
|
|
17
|
+
*/
|
|
18
|
+
export type PageCacheStrategy = 'none' | 'next-isr' | 'cdn';
|
|
19
|
+
/** The CDN in front of the site, purged when content changes — `none` purges nothing */
|
|
20
|
+
export type CacheCdnProvider = 'none' | 'vercel' | 'cloudfront' | 'gcp';
|
|
21
|
+
/** Where Next.js keeps its cache: `none` per instance, `database` shared through persistence */
|
|
22
|
+
export type SharedCacheStrategy = 'none' | 'database';
|
|
23
|
+
/** Authentication mode */
|
|
24
|
+
export type AuthMode = 'none' | 'token' | 'oidc';
|
|
25
|
+
/** Whether OIDC first-time logins create a user */
|
|
26
|
+
export type SignupMode = 'open' | 'closed';
|
|
27
|
+
/** How /studio treats a visitor without a session */
|
|
28
|
+
export type StudioEntry = 'login' | 'redirect';
|
|
29
|
+
/** Cookie `Secure` policy — `auto` derives it from the request protocol */
|
|
30
|
+
export type CookieSecurePolicy = 'auto' | 'always' | 'never';
|
|
31
|
+
/** Cookie `SameSite` policy */
|
|
32
|
+
export type CookieSameSite = 'lax' | 'strict' | 'none';
|
|
33
|
+
/** SEO seed behaviour — `seed` preserves existing rows, `overwrite` replaces them */
|
|
34
|
+
export type SeedMode = 'seed' | 'overwrite';
|
|
35
|
+
/** A Schema.org entity with its properties, as stored in the SEO config */
|
|
36
|
+
export interface SeoEntityConfig {
|
|
37
|
+
'@type': string;
|
|
38
|
+
'@id'?: string | undefined;
|
|
39
|
+
role?: string | undefined;
|
|
40
|
+
properties: Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
/** Rich SEO configuration for one scope (site, collection or route) */
|
|
43
|
+
export interface SeoScopeConfig {
|
|
44
|
+
entities: SeoEntityConfig[];
|
|
45
|
+
fieldMappings?: Record<string, string> | undefined;
|
|
46
|
+
/** The page structure the scope's pages get when their template states none */
|
|
47
|
+
structure?: SeoStructureConfig | undefined;
|
|
48
|
+
}
|
|
49
|
+
/** A scope's page structure: the trail above its pages, root first, and their kind */
|
|
50
|
+
export interface SeoStructureConfig {
|
|
51
|
+
trail?: Array<{
|
|
52
|
+
name: string;
|
|
53
|
+
url?: string | undefined;
|
|
54
|
+
}> | undefined;
|
|
55
|
+
kind?: string | undefined;
|
|
56
|
+
}
|
|
57
|
+
/** The SEO definition files of `seo.configDir`, parsed and checked */
|
|
58
|
+
export interface SeoDefinitions {
|
|
59
|
+
site: SeoScopeConfig | null;
|
|
60
|
+
/** Keyed by collection name */
|
|
61
|
+
collections: Record<string, SeoScopeConfig>;
|
|
62
|
+
/** Keyed by URL pattern */
|
|
63
|
+
routes: Record<string, SeoScopeConfig>;
|
|
64
|
+
}
|
|
65
|
+
/** Site identity — the only section that must be supplied */
|
|
66
|
+
export interface SiteSection {
|
|
67
|
+
domain: string;
|
|
68
|
+
name: string;
|
|
69
|
+
language: string;
|
|
70
|
+
baseUrl: string;
|
|
71
|
+
supportedLocales: string[];
|
|
72
|
+
defaultLocale: string;
|
|
73
|
+
/** The site's or its organization's logo, an absolute URL */
|
|
74
|
+
logo?: string | undefined;
|
|
75
|
+
/** What the site or its organization is, in a sentence */
|
|
76
|
+
description?: string | undefined;
|
|
77
|
+
/** Another name the site or organization is known by */
|
|
78
|
+
alternateName?: string | undefined;
|
|
79
|
+
/** Profile pages that identify the organization — social, registry, code hosting */
|
|
80
|
+
sameAs: string[];
|
|
81
|
+
}
|
|
82
|
+
/** Filesystem and URL locations */
|
|
83
|
+
export interface PathsSection {
|
|
84
|
+
dataDir: string;
|
|
85
|
+
contentDir: string;
|
|
86
|
+
seoGeneratedDir: string;
|
|
87
|
+
}
|
|
88
|
+
export interface SqlitePersistenceSection {
|
|
89
|
+
path: string;
|
|
90
|
+
busyTimeoutMs: number;
|
|
91
|
+
walRetries: number;
|
|
92
|
+
walRetryDelayMs: number;
|
|
93
|
+
}
|
|
94
|
+
export interface PostgresPersistenceSection {
|
|
95
|
+
url?: string | undefined;
|
|
96
|
+
maxConnections?: number | undefined;
|
|
97
|
+
prepare?: boolean | undefined;
|
|
98
|
+
idleTimeoutSec?: number | undefined;
|
|
99
|
+
}
|
|
100
|
+
export interface FilesystemPersistenceSection {
|
|
101
|
+
contentPath: string;
|
|
102
|
+
}
|
|
103
|
+
export interface PersistenceSection {
|
|
104
|
+
provider: PersistenceProvider;
|
|
105
|
+
sqlite: SqlitePersistenceSection;
|
|
106
|
+
postgres: PostgresPersistenceSection;
|
|
107
|
+
filesystem: FilesystemPersistenceSection;
|
|
108
|
+
}
|
|
109
|
+
export interface ContentSection {
|
|
110
|
+
cache: {
|
|
111
|
+
enabled: boolean;
|
|
112
|
+
ttlMs: number;
|
|
113
|
+
maxEntries: number;
|
|
114
|
+
};
|
|
115
|
+
atNotation: boolean;
|
|
116
|
+
watch: boolean;
|
|
117
|
+
defaultStatus: {
|
|
118
|
+
filesystem: string;
|
|
119
|
+
};
|
|
120
|
+
list: {
|
|
121
|
+
maxLimit?: number | undefined;
|
|
122
|
+
};
|
|
123
|
+
search: {
|
|
124
|
+
minQueryLength: number;
|
|
125
|
+
defaultLimit: number;
|
|
126
|
+
maxLimit: number;
|
|
127
|
+
};
|
|
128
|
+
versions: {
|
|
129
|
+
keep: number;
|
|
130
|
+
};
|
|
131
|
+
lock: {
|
|
132
|
+
leaseMs: number;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export interface CdnSection {
|
|
136
|
+
provider: CacheCdnProvider;
|
|
137
|
+
sMaxAgeSec: number;
|
|
138
|
+
staleWhileRevalidateSec: number;
|
|
139
|
+
/** Response header carrying the cache tags — CloudFront only */
|
|
140
|
+
tagHeader: string;
|
|
141
|
+
cloudfront: {
|
|
142
|
+
distributionId?: string | undefined;
|
|
143
|
+
};
|
|
144
|
+
gcp: {
|
|
145
|
+
project?: string | undefined;
|
|
146
|
+
urlMap?: string | undefined;
|
|
147
|
+
accessToken?: string | undefined;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
export interface CacheSection {
|
|
151
|
+
pages: PageCacheStrategy;
|
|
152
|
+
cdn: CdnSection;
|
|
153
|
+
shared: SharedCacheStrategy;
|
|
154
|
+
}
|
|
155
|
+
export interface AuthSection {
|
|
156
|
+
mode: AuthMode;
|
|
157
|
+
requireAuthForReads: boolean;
|
|
158
|
+
token: {
|
|
159
|
+
secret?: string | undefined;
|
|
160
|
+
email: string;
|
|
161
|
+
role: string;
|
|
162
|
+
};
|
|
163
|
+
jwtSecret?: string | undefined;
|
|
164
|
+
oidc: {
|
|
165
|
+
issuer?: string | undefined;
|
|
166
|
+
clientId?: string | undefined;
|
|
167
|
+
clientSecret?: string | undefined;
|
|
168
|
+
redirectUri?: string | undefined;
|
|
169
|
+
postLogoutUri: string;
|
|
170
|
+
scopes: string[];
|
|
171
|
+
signup: SignupMode;
|
|
172
|
+
studioEntry: StudioEntry;
|
|
173
|
+
adminEmails: string[];
|
|
174
|
+
newUserRole: string;
|
|
175
|
+
};
|
|
176
|
+
/** A CI platform's workload identity: all three leaves set turns it on, none leaves it off */
|
|
177
|
+
workload: {
|
|
178
|
+
issuer?: string | undefined;
|
|
179
|
+
audience?: string | undefined;
|
|
180
|
+
subjects: string[];
|
|
181
|
+
};
|
|
182
|
+
session: {
|
|
183
|
+
accessTtlSec: number;
|
|
184
|
+
refreshTtlSec: number;
|
|
185
|
+
cookiePrefix: string;
|
|
186
|
+
secure: CookieSecurePolicy;
|
|
187
|
+
sameSite: CookieSameSite;
|
|
188
|
+
};
|
|
189
|
+
trustProxy: boolean;
|
|
190
|
+
}
|
|
191
|
+
/** Where media file bytes are stored; unset means media is off */
|
|
192
|
+
export type MediaProvider = 'local' | 'vercel-blob' | 's3' | 'gcs';
|
|
193
|
+
/** Local-disk file store */
|
|
194
|
+
export interface LocalMediaSection {
|
|
195
|
+
/** Directory files are written to; the host framework serves it at `urlPrefix` */
|
|
196
|
+
dir: string;
|
|
197
|
+
urlPrefix: string;
|
|
198
|
+
}
|
|
199
|
+
/** Vercel Blob file store */
|
|
200
|
+
export interface VercelBlobMediaSection {
|
|
201
|
+
token?: string | undefined;
|
|
202
|
+
}
|
|
203
|
+
/** S3-compatible file store */
|
|
204
|
+
export interface S3MediaSection {
|
|
205
|
+
bucket?: string | undefined;
|
|
206
|
+
region?: string | undefined;
|
|
207
|
+
endpoint?: string | undefined;
|
|
208
|
+
forcePathStyle: boolean;
|
|
209
|
+
publicUrl?: string | undefined;
|
|
210
|
+
accessKeyId?: string | undefined;
|
|
211
|
+
secretAccessKey?: string | undefined;
|
|
212
|
+
}
|
|
213
|
+
/** Google Cloud Storage file store */
|
|
214
|
+
export interface GcsMediaSection {
|
|
215
|
+
bucket?: string | undefined;
|
|
216
|
+
publicUrl?: string | undefined;
|
|
217
|
+
/** Service-account key JSON; unset uses the metadata server */
|
|
218
|
+
credentials?: string | undefined;
|
|
219
|
+
}
|
|
220
|
+
export interface MediaSection {
|
|
221
|
+
provider?: MediaProvider | undefined;
|
|
222
|
+
local: LocalMediaSection;
|
|
223
|
+
vercelBlob: VercelBlobMediaSection;
|
|
224
|
+
s3: S3MediaSection;
|
|
225
|
+
gcs: GcsMediaSection;
|
|
226
|
+
maxFileSize: number;
|
|
227
|
+
allowedMimeTypes: string[];
|
|
228
|
+
image: {
|
|
229
|
+
maxWidth: number;
|
|
230
|
+
quality: {
|
|
231
|
+
jpeg: number;
|
|
232
|
+
webp: number;
|
|
233
|
+
avif: number;
|
|
234
|
+
normalize: number;
|
|
235
|
+
};
|
|
236
|
+
presets: Record<string, number | null>;
|
|
237
|
+
cache: {
|
|
238
|
+
maxEntries: number;
|
|
239
|
+
maxMb: number;
|
|
240
|
+
ttiSec: number;
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/** Where secrets the site stores (a pasted LLM key) are encrypted: the vault that holds the key */
|
|
245
|
+
export type SecretsProvider = 'local';
|
|
246
|
+
/** Vault that encrypts the secrets a site stores in its database */
|
|
247
|
+
export interface SecretsSection {
|
|
248
|
+
provider: SecretsProvider;
|
|
249
|
+
local: {
|
|
250
|
+
/** Key the local vault derives its encryption key from; unset falls back to `auth.jwtSecret` */
|
|
251
|
+
key?: string | undefined;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
export interface LlmSection {
|
|
255
|
+
provider: string;
|
|
256
|
+
model?: string | undefined;
|
|
257
|
+
baseUrl?: string | undefined;
|
|
258
|
+
/** One credential per provider; ollama needs none */
|
|
259
|
+
anthropic: {
|
|
260
|
+
apiKey?: string | undefined;
|
|
261
|
+
};
|
|
262
|
+
openai: {
|
|
263
|
+
apiKey?: string | undefined;
|
|
264
|
+
};
|
|
265
|
+
gemini: {
|
|
266
|
+
apiKey?: string | undefined;
|
|
267
|
+
};
|
|
268
|
+
openrouter: {
|
|
269
|
+
apiKey?: string | undefined;
|
|
270
|
+
};
|
|
271
|
+
/** Claude subscription token for the `claude-code` provider — development only, never stored */
|
|
272
|
+
claudeCode: {
|
|
273
|
+
authToken?: string | undefined;
|
|
274
|
+
};
|
|
275
|
+
/** Per-model request settings over the defaults, by model id */
|
|
276
|
+
profiles: Record<string, LlmModelProfile>;
|
|
277
|
+
}
|
|
278
|
+
/** How requests to one model are shaped, over the default for that model */
|
|
279
|
+
export interface LlmModelProfile {
|
|
280
|
+
/** `reasoning_effort` to ask for, or `default` to leave it to the model; not read by the Anthropic providers */
|
|
281
|
+
reasoningEffort?: 'default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | undefined;
|
|
282
|
+
/** Output tokens added to a request's cap for the thinking a model does before it answers */
|
|
283
|
+
reasoningHeadroom?: number | undefined;
|
|
284
|
+
/** Sampling temperature to send; unset sends none */
|
|
285
|
+
temperature?: number | undefined;
|
|
286
|
+
}
|
|
287
|
+
/** The lowest role that may use the Studio assistant */
|
|
288
|
+
export type AssistantRole = 'admin' | 'editor' | 'viewer';
|
|
289
|
+
/** The Studio assistant — off unless enabled */
|
|
290
|
+
export interface AssistantSection {
|
|
291
|
+
enabled: boolean;
|
|
292
|
+
/** Provider for the assistant, with that provider's own credential; unset uses the provider in Setup › AI provider */
|
|
293
|
+
provider?: LlmProviderName | undefined;
|
|
294
|
+
/** Model for the assistant; unset uses the model in Setup › AI provider, or the provider's default when `provider` is set */
|
|
295
|
+
model?: string | undefined;
|
|
296
|
+
/** The lowest role that may use the assistant */
|
|
297
|
+
role: AssistantRole;
|
|
298
|
+
/** How long a proposed action can be confirmed, in seconds */
|
|
299
|
+
confirmTtlSec: number;
|
|
300
|
+
limits: {
|
|
301
|
+
/** Model calls per chat request */
|
|
302
|
+
maxTurns: number;
|
|
303
|
+
/** Tool executions per chat request */
|
|
304
|
+
maxToolCalls: number;
|
|
305
|
+
/** Output token cap per model call */
|
|
306
|
+
maxTokens: number;
|
|
307
|
+
/** Input plus output tokens across all model calls of one chat request */
|
|
308
|
+
maxRequestTokens: number;
|
|
309
|
+
/** Conversation messages accepted from the client */
|
|
310
|
+
maxHistoryMessages: number;
|
|
311
|
+
/** Characters accepted from the client across the conversation */
|
|
312
|
+
maxInputChars: number;
|
|
313
|
+
/** Characters of one tool result sent to the model */
|
|
314
|
+
toolResultChars: number;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
export interface SeoSection {
|
|
318
|
+
identity?: string | undefined;
|
|
319
|
+
collections: Record<string, string[]>;
|
|
320
|
+
routes: Record<string, string[]>;
|
|
321
|
+
site?: SeoScopeConfig | undefined;
|
|
322
|
+
richCollections: Record<string, SeoScopeConfig>;
|
|
323
|
+
richRoutes: Record<string, SeoScopeConfig>;
|
|
324
|
+
seedMode: SeedMode;
|
|
325
|
+
/** Readers whose published rules the structured data is checked against, by profile id */
|
|
326
|
+
readers: string[];
|
|
327
|
+
configDir?: string | undefined;
|
|
328
|
+
/**
|
|
329
|
+
* The definition files of `configDir`. Read by `loadConfig` from
|
|
330
|
+
* `@krantho/config/node`; empty from the pure `resolveConfig`, which reads
|
|
331
|
+
* no files.
|
|
332
|
+
*/
|
|
333
|
+
definitions: SeoDefinitions;
|
|
334
|
+
/** IndexNow (Bing and other participating engines): the site's key, served at `/<key>.txt` */
|
|
335
|
+
indexNow: {
|
|
336
|
+
key?: string | undefined;
|
|
337
|
+
};
|
|
338
|
+
enrichment: {
|
|
339
|
+
meta: {
|
|
340
|
+
minChars: number;
|
|
341
|
+
maxChars: number;
|
|
342
|
+
contentCap: number;
|
|
343
|
+
maxTokens: number;
|
|
344
|
+
};
|
|
345
|
+
title: {
|
|
346
|
+
maxChars: number;
|
|
347
|
+
};
|
|
348
|
+
archetype: {
|
|
349
|
+
contentCap: number;
|
|
350
|
+
maxTokens: number;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/** A content event a webhook can subscribe to */
|
|
355
|
+
export type WebhookEvent = (typeof WEBHOOK_EVENTS)[number];
|
|
356
|
+
/** One outgoing webhook: where to POST, for which events, and how to sign it */
|
|
357
|
+
export interface WebhookTarget {
|
|
358
|
+
/** Absolute http(s) URL the payload is POSTed to */
|
|
359
|
+
url: string;
|
|
360
|
+
/** Events that trigger the webhook; at least one */
|
|
361
|
+
events: WebhookEvent[];
|
|
362
|
+
/** Signs each delivery with HMAC-SHA256 in the `X-Webhook-Signature` header */
|
|
363
|
+
secret?: string | undefined;
|
|
364
|
+
}
|
|
365
|
+
export interface ToolsSection {
|
|
366
|
+
concurrency: number;
|
|
367
|
+
enrich: {
|
|
368
|
+
serviceCap: number;
|
|
369
|
+
llmsDescriptionCap: number;
|
|
370
|
+
faqMinPerRoute: number;
|
|
371
|
+
/** Frontmatter fields left out of the text sent to the model; a trailing `*` matches a prefix */
|
|
372
|
+
skipFields: string[];
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
/** The configuration sections, without the resolution metadata */
|
|
376
|
+
export interface KranthoConfigTree {
|
|
377
|
+
site: SiteSection;
|
|
378
|
+
paths: PathsSection;
|
|
379
|
+
persistence: PersistenceSection;
|
|
380
|
+
content: ContentSection;
|
|
381
|
+
cache: CacheSection;
|
|
382
|
+
auth: AuthSection;
|
|
383
|
+
media: MediaSection;
|
|
384
|
+
secrets: SecretsSection;
|
|
385
|
+
llm: LlmSection;
|
|
386
|
+
assistant: AssistantSection;
|
|
387
|
+
seo: SeoSection;
|
|
388
|
+
webhooks: WebhookTarget[];
|
|
389
|
+
tools: ToolsSection;
|
|
390
|
+
}
|
|
391
|
+
/** Recursively optional view of a type — arrays and primitives are kept whole */
|
|
392
|
+
export type DeepPartial<T> = T extends readonly unknown[] ? T : T extends object ? {
|
|
393
|
+
[K in keyof T]?: DeepPartial<T[K]> | undefined;
|
|
394
|
+
} : T;
|
|
395
|
+
/** What a developer writes in `krantho.config.ts` */
|
|
396
|
+
export type KranthoConfigInput = DeepPartial<KranthoConfigTree>;
|
|
397
|
+
/** Where a resolved leaf's value came from */
|
|
398
|
+
export type ConfigSource = 'default' | 'code' | 'env' | 'file';
|
|
399
|
+
/** Dotted leaf path to the layer that supplied its value */
|
|
400
|
+
export type ConfigSources = ReadonlyMap<string, ConfigSource>;
|
|
401
|
+
/**
|
|
402
|
+
* The resolved configuration tree handed to the server and the tools.
|
|
403
|
+
*
|
|
404
|
+
* `sources` records which layer supplied each leaf, so a settings screen can
|
|
405
|
+
* say whether a value came from the environment, from code, or from the
|
|
406
|
+
* shipped default.
|
|
407
|
+
*/
|
|
408
|
+
export interface KranthoConfig extends KranthoConfigTree {
|
|
409
|
+
readonly sources: ConfigSources;
|
|
410
|
+
}
|
|
411
|
+
/** Only the server may hold secret leaves — the browser gets `PublicConfig` */
|
|
412
|
+
export type ServerConfig = KranthoConfig;
|
|
413
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The resolved krantho configuration tree.
|
|
3
|
+
*
|
|
4
|
+
* Every leaf has a value after {@link resolveConfig} runs — optional leaves are
|
|
5
|
+
* the ones that are genuinely absent by default (a secret nobody set, a limit
|
|
6
|
+
* nobody imposed). Defaults reproduce the values the code used before the tree
|
|
7
|
+
* existed.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-events.d.ts","sourceRoot":"","sources":["../src/webhook-events.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,cAAc,oDAAqD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-events.js","sourceRoot":"","sources":["../src/webhook-events.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krantho/config",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"homepage": "https://krantho.com",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/descoped/krantho.git",
|
|
9
|
+
"directory": "packages/config"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/descoped/krantho/issues"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"require": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./public": {
|
|
22
|
+
"types": "./dist/public.d.ts",
|
|
23
|
+
"import": "./dist/public.js",
|
|
24
|
+
"require": "./dist/public.js"
|
|
25
|
+
},
|
|
26
|
+
"./node": {
|
|
27
|
+
"types": "./dist/node/index.d.ts",
|
|
28
|
+
"import": "./dist/node/index.js",
|
|
29
|
+
"require": "./dist/node/index.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"zod": "^4.4.3",
|
|
37
|
+
"yaml": "^2.9.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/node": "^25.9.9",
|
|
41
|
+
"typescript": "^6.0.3"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "tsc",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"clean": "rm -rf dist",
|
|
47
|
+
"reference": "tsx scripts/write-reference.ts",
|
|
48
|
+
"test:bundle": "node test/bundle-boundary.mjs"
|
|
49
|
+
}
|
|
6
50
|
}
|
package/README.md
DELETED