@ggui-ai/project-config 0.5.0-rc.2 → 0.6.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.
@@ -50,35 +50,11 @@ import { z } from 'zod';
50
50
  * source was resolved through an npm specifier.
51
51
  */
52
52
  export declare const PrimitivesManifestV1: z.ZodObject<{
53
- /** File-format version — always `"1"` for v1. */
54
53
  schema: z.ZodLiteral<"1">;
55
- /**
56
- * The specifier consumers import from. For npm-distributed
57
- * primitive packages this is the same string the app lists in
58
- * `ggui.json#primitives.packages` (e.g.
59
- * `@ggui-ai/design/primitives`). For in-project local primitives
60
- * it is the path consumers import from (e.g.
61
- * `./src/ui/primitives/index.js`).
62
- */
63
54
  import: z.ZodString;
64
- /**
65
- * List of primitive components this source exports. At least one
66
- * entry — a manifest that declares zero primitives is always a
67
- * mistake.
68
- */
69
55
  primitives: z.ZodArray<z.ZodObject<{
70
56
  name: z.ZodString;
71
57
  }, z.core.$strict>>;
72
- /**
73
- * Optional path to a pre-generated LLM docs blob the generator
74
- * can inject into the system prompt. Resolved relative to this
75
- * manifest's directory at load time (not parse time).
76
- *
77
- * Absent → the server falls back to a names-only doc block and
78
- * emits a boot warning (not fatal). The package's own build
79
- * pipeline is responsible for emitting the file; ggui tooling
80
- * never writes it.
81
- */
82
58
  docs: z.ZodOptional<z.ZodString>;
83
59
  }, z.core.$strict>;
84
60
  /** Static TypeScript type derived from the v1 schema. */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives-manifest.d.ts","sourceRoot":"","sources":["../src/primitives-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;IAE7B,iDAAiD;;IAGjD;;;;;;;OAOG;;IAGH;;;;OAIG;;;;IASH;;;;;;;;;OASG;;kBAEH,CAAC;AAEL,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAExE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAEnD"}
1
+ {"version":3,"file":"primitives-manifest.d.ts","sourceRoot":"","sources":["../src/primitives-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiCxB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;kBAuC7B,CAAC;AAEL,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAExE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAEnD"}
package/dist/schema.d.ts CHANGED
@@ -62,20 +62,9 @@ import { z } from 'zod';
62
62
  * - Not user/builder identity (those are MCP-pairing concerns)
63
63
  */
64
64
  declare const OperatorSchema: z.ZodObject<{
65
- /** Display name shown on the welcome page. e.g. "Wanseob Lim" or
66
- * "Loqu Inc.". Free-form — no slug constraint. */
67
65
  name: z.ZodOptional<z.ZodString>;
68
- /** Operator's homepage / brand URL. Linkified on the welcome page
69
- * if set. Must be a valid http(s) URL. */
70
66
  url: z.ZodOptional<z.ZodURL>;
71
- /** One-line description shown under the operator name. e.g.
72
- * "personal ggui server — tinkering only" or "Loqu's hosted ggui
73
- * for friends + family". Plain text, no markup. */
74
67
  tagline: z.ZodOptional<z.ZodString>;
75
- /** mailto-eligible contact address. Linkified as `mailto:` on the
76
- * welcome page if set. Operators uncomfortable putting this on a
77
- * public page should leave it unset — `name` and `url` carry the
78
- * "how to reach me" load just as well. */
79
68
  contact: z.ZodOptional<z.ZodEmail>;
80
69
  }, z.core.$strict>;
81
70
  /** Public type alias for the operator block. */
@@ -117,48 +106,25 @@ declare const StorageSurfaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
117
106
  driver: z.ZodLiteral<"memory">;
118
107
  }, z.core.$strict>, z.ZodObject<{
119
108
  driver: z.ZodLiteral<"sqlite">;
120
- /** Filesystem path to the SQLite database file. Relative paths
121
- * resolve from the ggui.json directory at adapter-instantiation
122
- * time. Empty strings are rejected at parse. */
123
109
  path: z.ZodString;
124
110
  }, z.core.$strict>], "driver">;
125
111
  declare const StorageSchema: z.ZodObject<{
126
- /** Render persistence (events + identity). Absent = in-memory
127
- * (renders reset on restart). */
128
112
  renders: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
129
113
  driver: z.ZodLiteral<"memory">;
130
114
  }, z.core.$strict>, z.ZodObject<{
131
115
  driver: z.ZodLiteral<"sqlite">;
132
- /** Filesystem path to the SQLite database file. Relative paths
133
- * resolve from the ggui.json directory at adapter-instantiation
134
- * time. Empty strings are rejected at parse. */
135
116
  path: z.ZodString;
136
117
  }, z.core.$strict>], "driver">>;
137
- /** Vector index persistence (RAG, blueprint embeddings). Absent =
138
- * in-memory (index rebuilds on restart). */
139
118
  vectors: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
140
119
  driver: z.ZodLiteral<"memory">;
141
120
  }, z.core.$strict>, z.ZodObject<{
142
121
  driver: z.ZodLiteral<"sqlite">;
143
- /** Filesystem path to the SQLite database file. Relative paths
144
- * resolve from the ggui.json directory at adapter-instantiation
145
- * time. Empty strings are rejected at parse. */
146
122
  path: z.ZodString;
147
123
  }, z.core.$strict>], "driver">>;
148
- /** Persistent-chat thread + message persistence. Absent = in-memory
149
- * (threads vanish on restart — correct for dev, unsafe for any
150
- * deployment Portal's self-hosted flow talks to). Pair with
151
- * `driver: 'sqlite'` + a `path` for durable local storage; the
152
- * `@ggui-ai/mcp-server-core/sqlite#SqliteThreadStore` reference
153
- * impl consumes the same file-per-surface layout the renders/
154
- * vectors drivers already use. */
155
124
  threads: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
156
125
  driver: z.ZodLiteral<"memory">;
157
126
  }, z.core.$strict>, z.ZodObject<{
158
127
  driver: z.ZodLiteral<"sqlite">;
159
- /** Filesystem path to the SQLite database file. Relative paths
160
- * resolve from the ggui.json directory at adapter-instantiation
161
- * time. Empty strings are rejected at parse. */
162
128
  path: z.ZodString;
163
129
  }, z.core.$strict>], "driver">>;
164
130
  }, z.core.$strict>;
@@ -185,11 +151,6 @@ export type StorageConfig = z.infer<typeof StorageSchema>;
185
151
  * threading through the dispatch path).
186
152
  */
187
153
  declare const GenerationSchema: z.ZodObject<{
188
- /**
189
- * Typed LLM route — `(provider, model)` parsed at the schema
190
- * boundary into a discriminated `LlmRoute`. See
191
- * `docs/principles/model-string-convention.md`.
192
- */
193
154
  model: z.ZodPipe<z.ZodString, z.ZodTransform<{
194
155
  provider: "anthropic";
195
156
  model: "claude-fable-5" | "claude-opus-5" | "claude-sonnet-5" | "claude-haiku-4-5-20251001" | "claude-sonnet-4-6" | "claude-opus-4-7" | "claude-opus-4-6";
@@ -206,19 +167,6 @@ declare const GenerationSchema: z.ZodObject<{
206
167
  provider: "openrouter";
207
168
  model: (string & {}) | "anthropic/claude-fable-5" | "anthropic/claude-opus-5" | "anthropic/claude-sonnet-5" | "anthropic/claude-haiku-4.5" | "anthropic/claude-sonnet-4.6" | "anthropic/claude-opus-4.7" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-5.6-luna" | "openai/gpt-5.5" | "openai/gpt-5.5-pro" | "openai/gpt-5.4-mini" | "openai/gpt-5.4-nano" | "google/gemini-3.6-flash" | "google/gemini-3.5-flash" | "google/gemini-3.5-flash-lite" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-flash-lite" | "x-ai/grok-4.3" | "meta-llama/llama-4-maverick" | "meta-llama/llama-3.3-70b-instruct" | "deepseek/deepseek-v4-pro" | "deepseek/deepseek-r1-0528" | "qwen/qwen3.7-max" | "qwen/qwen3-coder" | "mistralai/mistral-large-2512" | "openai/gpt-oss-120b";
208
169
  }, string>>;
209
- /**
210
- * Which API key UI generation runs against.
211
- *
212
- * - `'own'` — your own configured provider key (e.g. an env var
213
- * or secrets manager entry you supply); the server uses whatever
214
- * key the configured `generation.model` provider resolves.
215
- * - `'managed'` — your hosting provider supplies the key; you do
216
- * not need to configure a provider key yourself.
217
- *
218
- * Absent (the default) means the server resolves the key from the
219
- * environment via the standard provider-key lookup chain. Self-host
220
- * deployments always use `'own'`.
221
- */
222
170
  keySource: z.ZodOptional<z.ZodEnum<{
223
171
  own: "own";
224
172
  managed: "managed";
@@ -256,31 +204,11 @@ export type ThemeConfig = z.infer<typeof ThemeConfigSchema>;
256
204
  * **Strict root:** unknown top-level keys are rejected.
257
205
  */
258
206
  export declare const GguiJsonV1: z.ZodObject<{
259
- /** File-format version — always `"1"` for v1. Distinct from
260
- * `protocol` (which versions the wire contract the app speaks). */
261
207
  schema: z.ZodLiteral<"1">;
262
- /** ggui wire protocol version the app speaks. */
263
208
  protocol: z.ZodString;
264
- /** App identity. */
265
209
  app: z.ZodObject<{
266
210
  slug: z.ZodString;
267
211
  name: z.ZodString;
268
- /**
269
- * Per-app gadget catalog. The CLI
270
- * passes these through to `InMemoryAppMetadataStore` so the
271
- * handshake / push / ops handlers can validate every
272
- * `clientCapabilities.gadgets[*]` ref against the registered
273
- * set's package identity + export names. Each entry is a gadget
274
- * PACKAGE and MUST satisfy the strict
275
- * `strictGadgetDescriptorSchema` from `@ggui-ai/protocol`
276
- * (a non-empty `exports[]` array, each export carrying required
277
- * description / usage / example).
278
- *
279
- * Omitting this field falls back to the protocol's
280
- * `STDLIB_GADGETS` defaults (the 7 first-party hooks).
281
- * Declared 3rd-party wrappers (Leaflet, Mapbox, Stripe, …) land
282
- * here.
283
- */
284
212
  gadgets: z.ZodOptional<z.ZodArray<z.ZodObject<{
285
213
  exports: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
286
214
  description: z.ZodString;
@@ -342,100 +270,26 @@ export declare const GguiJsonV1: z.ZodObject<{
342
270
  typesUrl: z.ZodOptional<z.ZodURL>;
343
271
  typesSri: z.ZodOptional<z.ZodString>;
344
272
  }, z.core.$strict>>>;
345
- /**
346
- * Public env channel. Operator-stamped key→value map that
347
- * the server projects (filtered to declared wrappers' `requires`)
348
- * onto `globalThis.__ggui__.publicEnv` so wrapper hooks can read
349
- * values via `getPublicEnv(key)`.
350
- *
351
- * Keys MUST match `GGUI_PUBLIC_APP_[A-Z0-9_]+` — the `GGUI_PUBLIC_USER_`
352
- * namespace is reserved for a future per-user channel. Values are
353
- * arbitrary strings; the server projects only keys whose values are
354
- * declared in some registered wrapper's `requires`. Operators who
355
- * declare a key without a value can use the empty string (the
356
- * Mapbox SDK will surface "Invalid token" on first request rather
357
- * than a missing-key error from the render gate).
358
- *
359
- * Omitting this field is equivalent to `{}` — wrappers without
360
- * `requires` work unchanged; wrappers that declare `requires` will
361
- * fail at render-gate validation if their required keys are missing.
362
- */
363
273
  publicEnv: z.ZodOptional<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodString>>>;
364
- /**
365
- * App-default display-mode hint stamped on every `ggui_render` from
366
- * this app via `_meta.ui.displayMode`. Spec-aligned with MCP App
367
- * display literals (`'inline' | 'fullscreen' | 'pip'`).
368
- *
369
- * Honored by hosts as a PRESENTATION preference — `'fullscreen'`
370
- * says "render as a main view"; `'inline'` says "stack vertically in
371
- * the chat log"; `'pip'` says "render as picture-in-picture overlay".
372
- * The wire mechanism is identical regardless of mode (every render
373
- * stamps its own `_meta.ui.resourceUri` and every iframe goes
374
- * through the same runtime mount path); display mode controls ONLY
375
- * how the host arranges the iframes it mounts. Agents can override
376
- * per render via `ggui_render.input.displayMode`.
377
- *
378
- * Absent ⇒ no per-render hint stamped (host falls back to its own
379
- * default, typically `'inline'`).
380
- */
381
274
  defaultDisplayMode: z.ZodOptional<z.ZodEnum<{
382
275
  inline: "inline";
383
276
  fullscreen: "fullscreen";
384
277
  pip: "pip";
385
278
  }>>;
386
279
  }, z.core.$strict>;
387
- /** Operator identity — who's running this server. Optional;
388
- * surfaced on the public welcome page at `/` when set. Privacy-
389
- * first: nothing renders when nothing is set, no "anonymous"
390
- * placeholder. See {@link OperatorConfig}. */
391
280
  operator: z.ZodOptional<z.ZodObject<{
392
- /** Display name shown on the welcome page. e.g. "Wanseob Lim" or
393
- * "Loqu Inc.". Free-form — no slug constraint. */
394
281
  name: z.ZodOptional<z.ZodString>;
395
- /** Operator's homepage / brand URL. Linkified on the welcome page
396
- * if set. Must be a valid http(s) URL. */
397
282
  url: z.ZodOptional<z.ZodURL>;
398
- /** One-line description shown under the operator name. e.g.
399
- * "personal ggui server — tinkering only" or "Loqu's hosted ggui
400
- * for friends + family". Plain text, no markup. */
401
283
  tagline: z.ZodOptional<z.ZodString>;
402
- /** mailto-eligible contact address. Linkified as `mailto:` on the
403
- * welcome page if set. Operators uncomfortable putting this on a
404
- * public page should leave it unset — `name` and `url` carry the
405
- * "how to reach me" load just as well. */
406
284
  contact: z.ZodOptional<z.ZodEmail>;
407
285
  }, z.core.$strict>>;
408
- /** Blueprint discovery. Defaults to no custom UIs declared. */
409
286
  blueprints: z.ZodDefault<z.ZodObject<{
410
- /** Glob patterns relative to the `ggui.json` directory. Each match
411
- * should resolve to a `ggui.ui.json` file. */
412
287
  include: z.ZodDefault<z.ZodArray<z.ZodString>>;
413
288
  }, z.core.$strict>>;
414
- /** Primitive discovery. Defaults to the shipped
415
- * `@ggui-ai/design/primitives` package + no local primitives. */
416
289
  primitives: z.ZodDefault<z.ZodObject<{
417
290
  packages: z.ZodDefault<z.ZodArray<z.ZodString>>;
418
291
  local: z.ZodDefault<z.ZodArray<z.ZodString>>;
419
292
  }, z.core.$strict>>;
420
- /**
421
- * Theme selection. Three accepted shapes:
422
- *
423
- * - **Shorthand string** — `theme: "claudic"`. Picks a preset from
424
- * the `@ggui-ai/design` registry. Default mode is `'light'`.
425
- * - **Preset object** — `theme: { preset: "claudic", mode: "dark",
426
- * overrides: { "color.primary.500": "#cc785c" } }`. Picks a
427
- * registered preset, optional explicit mode, optional flat
428
- * dot-path token overrides applied on top of the preset's
429
- * tokens before CSS emission.
430
- * - **File object** — `theme: { file: "./theme.json", mode: "dark" }`.
431
- * Loads tokens from a project-relative DTCG JSON file. The
432
- * `mode` is metadata only — the file's tokens are the resolved
433
- * theme; mode propagates to consumers that vary based on it
434
- * (e.g. `color-scheme: dark` injection).
435
- *
436
- * Absent (`theme: undefined`) means use the shipped default tokens
437
- * from `@ggui-ai/design` (currently `lightTheme`).
438
- */
439
293
  theme: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
440
294
  preset: z.ZodString;
441
295
  mode: z.ZodOptional<z.ZodEnum<{
@@ -450,79 +304,30 @@ export declare const GguiJsonV1: z.ZodObject<{
450
304
  dark: "dark";
451
305
  }>>;
452
306
  }, z.core.$strict>]>>;
453
- /** Agent-runtime config for `ggui serve`. Absent means the
454
- * command boots MCP-only (no agent loop attached). */
455
307
  agent: z.ZodOptional<z.ZodObject<{
456
- /** Path to the agent's entry file, relative to the ggui.json
457
- * directory. Supported extensions: .js, .mjs, .cjs, .ts, .tsx,
458
- * .mts. Validation of extension happens at `ggui serve` time —
459
- * the schema stays permissive so malformed entries surface with
460
- * the CLI's error message (which can list supported extensions +
461
- * remediation), not a zod issue trace. */
462
308
  entry: z.ZodString;
463
309
  }, z.core.$strict>>;
464
- /** Explicit storage adapter declarations. Absent means every
465
- * persistence surface stays in-memory (the zero-config OSS
466
- * default). Present means the operator has opted in per surface
467
- * — no surface silently creates a file on disk. See
468
- * {@link StorageConfig}. */
469
310
  storage: z.ZodOptional<z.ZodObject<{
470
- /** Render persistence (events + identity). Absent = in-memory
471
- * (renders reset on restart). */
472
311
  renders: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
473
312
  driver: z.ZodLiteral<"memory">;
474
313
  }, z.core.$strict>, z.ZodObject<{
475
314
  driver: z.ZodLiteral<"sqlite">;
476
- /** Filesystem path to the SQLite database file. Relative paths
477
- * resolve from the ggui.json directory at adapter-instantiation
478
- * time. Empty strings are rejected at parse. */
479
315
  path: z.ZodString;
480
316
  }, z.core.$strict>], "driver">>;
481
- /** Vector index persistence (RAG, blueprint embeddings). Absent =
482
- * in-memory (index rebuilds on restart). */
483
317
  vectors: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
484
318
  driver: z.ZodLiteral<"memory">;
485
319
  }, z.core.$strict>, z.ZodObject<{
486
320
  driver: z.ZodLiteral<"sqlite">;
487
- /** Filesystem path to the SQLite database file. Relative paths
488
- * resolve from the ggui.json directory at adapter-instantiation
489
- * time. Empty strings are rejected at parse. */
490
321
  path: z.ZodString;
491
322
  }, z.core.$strict>], "driver">>;
492
- /** Persistent-chat thread + message persistence. Absent = in-memory
493
- * (threads vanish on restart — correct for dev, unsafe for any
494
- * deployment Portal's self-hosted flow talks to). Pair with
495
- * `driver: 'sqlite'` + a `path` for durable local storage; the
496
- * `@ggui-ai/mcp-server-core/sqlite#SqliteThreadStore` reference
497
- * impl consumes the same file-per-surface layout the renders/
498
- * vectors drivers already use. */
499
323
  threads: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
500
324
  driver: z.ZodLiteral<"memory">;
501
325
  }, z.core.$strict>, z.ZodObject<{
502
326
  driver: z.ZodLiteral<"sqlite">;
503
- /** Filesystem path to the SQLite database file. Relative paths
504
- * resolve from the ggui.json directory at adapter-instantiation
505
- * time. Empty strings are rejected at parse. */
506
327
  path: z.ZodString;
507
328
  }, z.core.$strict>], "driver">>;
508
329
  }, z.core.$strict>>;
509
- /**
510
- * Explicit UI-generation LLM route. Absent + a boot-time provider
511
- * key resolves → `ggui serve` hard-fails with an actionable error
512
- * pointing here. Absent + no key → graceful boot (the
513
- * Connect-Claude card flow handles per-user keys at request time).
514
- * Present → use this route verbatim; the schema-side
515
- * `parseAnyLlmRoute` transform yields a typed `LlmRoute` so the
516
- * dispatch path never sees a string.
517
- *
518
- * See {@link GenerationConfig}.
519
- */
520
330
  generation: z.ZodOptional<z.ZodObject<{
521
- /**
522
- * Typed LLM route — `(provider, model)` parsed at the schema
523
- * boundary into a discriminated `LlmRoute`. See
524
- * `docs/principles/model-string-convention.md`.
525
- */
526
331
  model: z.ZodPipe<z.ZodString, z.ZodTransform<{
527
332
  provider: "anthropic";
528
333
  model: "claude-fable-5" | "claude-opus-5" | "claude-sonnet-5" | "claude-haiku-4-5-20251001" | "claude-sonnet-4-6" | "claude-opus-4-7" | "claude-opus-4-6";
@@ -539,77 +344,12 @@ export declare const GguiJsonV1: z.ZodObject<{
539
344
  provider: "openrouter";
540
345
  model: (string & {}) | "anthropic/claude-fable-5" | "anthropic/claude-opus-5" | "anthropic/claude-sonnet-5" | "anthropic/claude-haiku-4.5" | "anthropic/claude-sonnet-4.6" | "anthropic/claude-opus-4.7" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-5.6-luna" | "openai/gpt-5.5" | "openai/gpt-5.5-pro" | "openai/gpt-5.4-mini" | "openai/gpt-5.4-nano" | "google/gemini-3.6-flash" | "google/gemini-3.5-flash" | "google/gemini-3.5-flash-lite" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-flash-lite" | "x-ai/grok-4.3" | "meta-llama/llama-4-maverick" | "meta-llama/llama-3.3-70b-instruct" | "deepseek/deepseek-v4-pro" | "deepseek/deepseek-r1-0528" | "qwen/qwen3.7-max" | "qwen/qwen3-coder" | "mistralai/mistral-large-2512" | "openai/gpt-oss-120b";
541
346
  }, string>>;
542
- /**
543
- * Which API key UI generation runs against.
544
- *
545
- * - `'own'` — your own configured provider key (e.g. an env var
546
- * or secrets manager entry you supply); the server uses whatever
547
- * key the configured `generation.model` provider resolves.
548
- * - `'managed'` — your hosting provider supplies the key; you do
549
- * not need to configure a provider key yourself.
550
- *
551
- * Absent (the default) means the server resolves the key from the
552
- * environment via the standard provider-key lookup chain. Self-host
553
- * deployments always use `'own'`.
554
- */
555
347
  keySource: z.ZodOptional<z.ZodEnum<{
556
348
  own: "own";
557
349
  managed: "managed";
558
350
  }>>;
559
351
  }, z.core.$strict>>;
560
- /**
561
- * Default plugin-registry URL for this app.
562
- *
563
- * When the user runs `ggui install <scope/name@version>` or `ggui
564
- * publish` from this project, the CLI resolves the target registry
565
- * via a three-layer chain (highest priority wins):
566
- *
567
- * 1. Explicit `--registry=<url>` flag passed to the CLI.
568
- * 2. `GGUI_REGISTRY` environment variable.
569
- * 3. This `registry` field in `ggui.json`.
570
- * 4. (none → error) The CLI ships with NO hard-coded default;
571
- * operators MUST pick a registry per app.
572
- *
573
- * Mirrors the npm `--registry` / `npm_config_registry` / `.npmrc`
574
- * resolution pattern but anchored on `ggui.json` for the project-
575
- * local layer (instead of a dotfile) — the same file that holds
576
- * `app.gadgets` is the natural place to declare which
577
- * marketplace those libraries come from.
578
- *
579
- * Validated as a URL at schema-parse time; the CLI does not
580
- * second-guess scheme / host beyond URL-shape (HTTPS recommendation
581
- * is enforced at install-time, not here, so dev fixtures pointing
582
- * at `http://localhost:<port>` parse cleanly).
583
- *
584
- * Absent = no project-local default; the CLI falls through to env
585
- * var or flag, and errors if neither is set.
586
- */
587
352
  registry: z.ZodOptional<z.ZodURL>;
588
- /**
589
- * Local MCP tool mounts — the operator-facing seam for declaring
590
- * additional tool surfaces that aggregate onto `/mcp` alongside
591
- * ggui-native tools (`ggui_render`, etc.). Each entry is a module
592
- * specifier:
593
- *
594
- * - Relative paths (`./path/to/mount.js`, `../local/mcp.mjs`)
595
- * resolve against the directory containing `ggui.json`. Must
596
- * include the file extension — we do not guess `.js` vs
597
- * `.mjs`. File must exist.
598
- * - Bare npm specifiers (`@my-org/mcp-mount`, `some-pkg/entry`)
599
- * resolve through Node's module resolver anchored at the
600
- * project root.
601
- *
602
- * Each resolved module must export a `createGguiMcpMount` function
603
- * (or a default export) returning `{ name: string; handlers:
604
- * SharedHandler[] }` — i.e., an `McpServerMount` from
605
- * `@ggui-ai/mcp-server`. The factory owns its own state (backing
606
- * store, seed, etc.). Zero-argument today; arguments are a future
607
- * additive (widen the entry to `string | { module, options? }`).
608
- *
609
- * Default: `[]` (no mounts). Collisions between mount tool names
610
- * and ggui-native tool names (or between two mounts) are rejected
611
- * at `createGguiServer` composition time, not silently — see
612
- * `packages/mcp-server/src/mcp-mounts.ts::composeHandlersWithMounts`. */
613
353
  mcpMounts: z.ZodDefault<z.ZodArray<z.ZodString>>;
614
354
  }, z.core.$strict>;
615
355
  /** Static TypeScript type derived from the v1 schema. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmHxB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,cAAc;;;;;kBAoBlB,CAAC;AAEH,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA+H5D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;oBAI5B,CAAC;AAqEH;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;8BAGxB,CAAC;AAEH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;kBAejB,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,oDAAoD;AACpD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;kBA6CpB,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiKrB,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,CAEzC"}
package/dist/theme.d.ts CHANGED
@@ -97,25 +97,15 @@ import { z } from 'zod';
97
97
  * slices add new fields here under `schema: '1'`.
98
98
  */
99
99
  export declare const ThemeDocumentV1: z.ZodObject<{
100
- /** Optional DTCG spec URL. Not validated — the spec hasn't frozen
101
- * a canonical URL and hand-authored themes often omit it. */
102
100
  $schema: z.ZodOptional<z.ZodString>;
103
- /** Optional author-declared version. Not validated — string-form. */
104
101
  $version: z.ZodOptional<z.ZodString>;
105
- /** Optional human-readable theme name. DTCG metadata; mirrors
106
- * `DtcgTheme.$name`. */
107
102
  $name: z.ZodOptional<z.ZodString>;
108
- /** Optional human-readable theme description. DTCG metadata;
109
- * mirrors `DtcgTheme.$description`. */
110
103
  $description: z.ZodOptional<z.ZodString>;
111
- /** Optional metadata bag — font fallback, hosting-philosophy notes,
112
- * etc. Mirrors `DtcgTheme.$metadata`. */
113
104
  $metadata: z.ZodOptional<z.ZodObject<{
114
105
  font: z.ZodOptional<z.ZodString>;
115
106
  fontUrl: z.ZodOptional<z.ZodString>;
116
107
  philosophy: z.ZodOptional<z.ZodString>;
117
108
  }, z.core.$strict>>;
118
- /** Color tokens — palettes + semantic roles. Required. */
119
109
  color: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
120
110
  $type: z.ZodLiteral<"color">;
121
111
  $value: z.ZodString;
@@ -125,13 +115,11 @@ export declare const ThemeDocumentV1: z.ZodObject<{
125
115
  $value: z.ZodString;
126
116
  $description: z.ZodOptional<z.ZodString>;
127
117
  }, z.core.$strict>>]>>;
128
- /** Spacing scale. Required. */
129
118
  spacing: z.ZodRecord<z.ZodString, z.ZodObject<{
130
119
  $type: z.ZodLiteral<"dimension">;
131
120
  $value: z.ZodString;
132
121
  $description: z.ZodOptional<z.ZodString>;
133
122
  }, z.core.$strict>>;
134
- /** Font tokens — `family` / `size` / `weight` / `lineHeight`. Required. */
135
123
  font: z.ZodObject<{
136
124
  family: z.ZodIntersection<z.ZodRecord<z.ZodString, z.ZodObject<{
137
125
  $type: z.ZodLiteral<"fontFamily">;
@@ -164,7 +152,6 @@ export declare const ThemeDocumentV1: z.ZodObject<{
164
152
  $description: z.ZodOptional<z.ZodString>;
165
153
  }, z.core.$strict>]>>;
166
154
  }, z.core.$strict>;
167
- /** Shape tokens — `radius` + `shadow`. Required. */
168
155
  shape: z.ZodObject<{
169
156
  radius: z.ZodRecord<z.ZodString, z.ZodObject<{
170
157
  $type: z.ZodLiteral<"dimension">;
@@ -183,8 +170,6 @@ export declare const ThemeDocumentV1: z.ZodObject<{
183
170
  $description: z.ZodOptional<z.ZodString>;
184
171
  }, z.core.$strict>>;
185
172
  }, z.core.$strict>;
186
- /** Motion tokens — `duration` + `transition` (required sub-records),
187
- * `easing` + `keyframes` (optional sub-records). Optional. */
188
173
  motion: z.ZodOptional<z.ZodObject<{
189
174
  duration: z.ZodRecord<z.ZodString, z.ZodObject<{
190
175
  $type: z.ZodLiteral<"duration">;
@@ -211,8 +196,6 @@ export declare const ThemeDocumentV1: z.ZodObject<{
211
196
  $description: z.ZodOptional<z.ZodString>;
212
197
  }, z.core.$strict>>>;
213
198
  }, z.core.$strict>>;
214
- /** Accessibility tokens (focus ring, reduced motion, high contrast).
215
- * Optional. */
216
199
  accessibility: z.ZodOptional<z.ZodObject<{
217
200
  focusRing: z.ZodOptional<z.ZodObject<{
218
201
  color: z.ZodObject<{
@@ -261,7 +244,6 @@ export declare const ThemeDocumentV1: z.ZodObject<{
261
244
  }, z.core.$strict>;
262
245
  }, z.core.$strict>>;
263
246
  }, z.core.$strict>>;
264
- /** Z-index scale. Optional. */
265
247
  zIndex: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
266
248
  $type: z.ZodLiteral<"number">;
267
249
  $value: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4OxB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe;IAC1B;kEAC8D;;IAG9D,qEAAqE;;IAGrE;6BACyB;;IAGzB;4CACwC;;IAGxC;8CAC0C;;;;;;IAG1C,0DAA0D;;;;;;;;;;IAG1D,+BAA+B;;;;;;IAG/B,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG3E,oDAAoD;;;;;;;;;;;;;;;;;;;IAGpD;mEAC+D;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG/D;oBACgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGhB,+BAA+B;;;;;;kBAE/B,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAE9C"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4OxB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0C1B,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAE9C"}
@@ -41,30 +41,17 @@ import type { DataContract } from '@ggui-ai/protocol';
41
41
  * fail parse. Additive fields land as coordinated schema changes.
42
42
  */
43
43
  export declare const UiManifestV1: z.ZodObject<{
44
- /** Stable identity. See identity rules in module docstring. */
45
44
  id: z.ZodString;
46
- /** Human-readable name (e.g., "Weather Card", "Kanban Board"). */
47
45
  name: z.ZodString;
48
- /** One-line description of what this UI does. */
49
46
  description: z.ZodOptional<z.ZodString>;
50
- /** Data contract: propsSpec, actionSpec, streamSpec, contextSpec, agentCapabilities/clientCapabilities. */
51
47
  contract: z.ZodCustom<DataContract, DataContract>;
52
- /** Category for browsing/filtering (e.g., "dashboard", "form", "data-viz"). */
53
48
  category: z.ZodOptional<z.ZodString>;
54
- /** Phrases that help blueprint-first matching find this UI. */
55
49
  matchPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
- /** MCP tool names this UI is designed for. Used for discovery-layer matching. */
57
50
  mcpTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
58
- /** MCP server name this UI is optimized for (e.g., "github", "stripe"). */
59
51
  mcpServer: z.ZodOptional<z.ZodString>;
60
- /** UI class: sandboxed (portable) or fullstack (requires client bundle). */
61
52
  uiClass: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"sandboxed">, z.ZodLiteral<"fullstack">]>>;
62
- /** Content hash of the compiled ESM output — versions the artifact.
63
- * Derived, not authored. NOT the identity (see `id`). */
64
53
  contentHash: z.ZodOptional<z.ZodString>;
65
- /** Parent content hash (for exported → modified → re-registered lineage). */
66
54
  parentHash: z.ZodOptional<z.ZodString>;
67
- /** Source entry point relative to project root (e.g., "src/component.tsx"). */
68
55
  entryPoint: z.ZodOptional<z.ZodString>;
69
56
  }, z.core.$strict>;
70
57
  /** Static TypeScript type derived from the v1 schema. */
@@ -1 +1 @@
1
- {"version":3,"file":"ui-manifest.d.ts","sourceRoot":"","sources":["../src/ui-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4BtD;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,+DAA+D;;IAG/D,kEAAkE;;IAGlE,iDAAiD;;IAGjD,2GAA2G;;IAG3G,+EAA+E;;IAG/E,+DAA+D;;IAK/D,iFAAiF;;IAGjF,2EAA2E;;IAK3E,4EAA4E;;IAG5E;6DACyD;;IAGzD,6EAA6E;;IAG7E,+EAA+E;;kBAE/E,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAExD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAE3C"}
1
+ {"version":3,"file":"ui-manifest.d.ts","sourceRoot":"","sources":["../src/ui-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4BtD;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;kBAyCvB,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAExD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAE3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ggui-ai/project-config",
3
- "version": "0.5.0-rc.2",
3
+ "version": "0.6.0",
4
4
  "description": "Schema and loader for `ggui.json` — the portable app/agent manifest for the ggui protocol. Vendor-neutral. Consumed by the `ggui` CLI and any host that reconstitutes an agent from the manifest.",
5
5
  "keywords": [
6
6
  "ggui",
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "tinyglobby": "^0.2.16",
35
35
  "zod": "^4.3.6",
36
- "@ggui-ai/design": "0.5.0-rc.2",
37
- "@ggui-ai/protocol": "0.5.0-rc.2"
36
+ "@ggui-ai/design": "0.6.0",
37
+ "@ggui-ai/protocol": "0.6.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^24.0.0",