@ggui-ai/dev-stack 0.3.0-rc.0 → 0.4.0-rc.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/dist/hub-preview/client.js +32 -3
- package/package.json +8 -8
|
@@ -32833,7 +32833,7 @@ config(en_default());
|
|
|
32833
32833
|
|
|
32834
32834
|
// ../protocol/dist/gadgets/stdlib-gadgets.js
|
|
32835
32835
|
var STDLIB_GADGETS_PACKAGE = "@ggui-ai/gadgets";
|
|
32836
|
-
var STDLIB_GADGETS_VERSION = "0.
|
|
32836
|
+
var STDLIB_GADGETS_VERSION = "0.4.0-rc.0";
|
|
32837
32837
|
var STDLIB_GADGETS = [
|
|
32838
32838
|
{
|
|
32839
32839
|
package: STDLIB_GADGETS_PACKAGE,
|
|
@@ -33446,6 +33446,16 @@ var renderCacheMarkerSchema = external_exports.object({
|
|
|
33446
33446
|
kind: external_exports.enum(["full-template", "cold"]).optional().describe("full-template = a whole stored component was served; cold = freshly generated."),
|
|
33447
33447
|
reason: external_exports.string().optional().describe("Compact human-readable explanation of the cache outcome \u2014 why this render reused a stored component or generated cold. Diagnostic; default-available without the verbose env-gated trace.")
|
|
33448
33448
|
});
|
|
33449
|
+
var renderErrorCodeSchema = external_exports.enum([
|
|
33450
|
+
"PRODUCTION_FAILED",
|
|
33451
|
+
"VALIDATION_ERROR",
|
|
33452
|
+
"NO_PLATFORM_KEY",
|
|
33453
|
+
"NO_CREDENTIALS"
|
|
33454
|
+
]);
|
|
33455
|
+
var renderErrorSchema = external_exports.object({
|
|
33456
|
+
code: renderErrorCodeSchema.describe("Canonical failure class. PRODUCTION_FAILED: generation did not produce a component. VALIDATION_ERROR: a server-side precondition rejected the render before generation. NO_PLATFORM_KEY: the server's managed provider-key configuration has no key for the resolved route. NO_CREDENTIALS: no generation credentials are configured on the server."),
|
|
33457
|
+
message: external_exports.string().describe("Human-readable failure detail \u2014 fold into the next attempt or surface to the operator.")
|
|
33458
|
+
});
|
|
33449
33459
|
var renderOutputSchema = external_exports.object({
|
|
33450
33460
|
sessionId: external_exports.string(),
|
|
33451
33461
|
/**
|
|
@@ -33455,13 +33465,24 @@ var renderOutputSchema = external_exports.object({
|
|
|
33455
33465
|
* tool_results (OpenAI Agents SDK, Google ADK) reach the mount URI;
|
|
33456
33466
|
* SDKs that preserve `_meta` see the same value on both fields.
|
|
33457
33467
|
* Mirrors the `resourceUri` field on `ggui_update`'s output.
|
|
33468
|
+
*
|
|
33469
|
+
* OPTIONAL — present iff the render is mountable. Absent on the
|
|
33470
|
+
* failure envelope (`error` present): a failed render commits an
|
|
33471
|
+
* error GguiSession but exposes no mount affordance.
|
|
33458
33472
|
*/
|
|
33459
|
-
resourceUri: external_exports.string(),
|
|
33473
|
+
resourceUri: external_exports.string().optional().describe("MCP-Apps mount URI (ui://ggui/render/{id}). Present iff the render is mountable; absent on a failed render."),
|
|
33460
33474
|
action: external_exports.enum(["create", "reuse", "update", "replace", "declined"]),
|
|
33461
33475
|
contractHash: external_exports.string().describe("Canonical hash of the rendered data contract (shape only \u2014 fields, types, specs). Same hash \u27FA same data flow."),
|
|
33462
33476
|
blueprintId: external_exports.string().describe("Opaque id of the materialised component for this render. On the handshake-decided reuse paths (accept a cache-origin proposal, or a variance re-aim that resolves to an existing variant) it is the stored id \u2014 equal ids across renders mean the same stored component. override.contract always generates cold and mints a fresh id, even for an identical contract."),
|
|
33463
33477
|
variantKey: external_exports.string().describe("Canonical hash of the design-time variance (persona, aesthetic, seed prompt, context). With contractHash it forms the reuse key: the same pair reuses one component; a different variant of the same contract gets its own."),
|
|
33464
33478
|
cache: renderCacheMarkerSchema.describe("Reuse outcome for this render: whether a stored component was served, its similarity, the matched component id, and how many generation calls that avoided."),
|
|
33479
|
+
/**
|
|
33480
|
+
* In-result failure marker — present iff the tool result is
|
|
33481
|
+
* `isError: true`. The structuredContent stays schema-conformant on
|
|
33482
|
+
* failures; this field carries the canonical `{code, message}`
|
|
33483
|
+
* classification. Absent on every successful render.
|
|
33484
|
+
*/
|
|
33485
|
+
error: renderErrorSchema.optional().describe("Present iff the tool result is isError \u2014 canonical {code, message} for a failed/rejected generation. Absent on success."),
|
|
33465
33486
|
/**
|
|
33466
33487
|
* Wire-shape recovery hint for the next call. Emitted ONLY when the
|
|
33467
33488
|
* rendered contract has a non-empty `actionSpec` — i.e. the agent will
|
|
@@ -33497,7 +33518,15 @@ var updateInputSchema = external_exports.discriminatedUnion("kind", [
|
|
|
33497
33518
|
]);
|
|
33498
33519
|
var updateOutputSchema = external_exports.object({
|
|
33499
33520
|
sessionId: external_exports.string(),
|
|
33500
|
-
updated: external_exports.boolean()
|
|
33521
|
+
updated: external_exports.boolean(),
|
|
33522
|
+
/**
|
|
33523
|
+
* Unchanged from the initial render — the same `ui://ggui/render/{id}`
|
|
33524
|
+
* URI the mount stamped. Mirrored on the LLM-visible structuredContent
|
|
33525
|
+
* so SDKs that strip `_meta` from tool_results can still reach the
|
|
33526
|
+
* mount URI. Kept in sync with the update handler's wire shape —
|
|
33527
|
+
* this export and the handler's inline schema must not drift.
|
|
33528
|
+
*/
|
|
33529
|
+
resourceUri: external_exports.string()
|
|
33501
33530
|
});
|
|
33502
33531
|
var declareToolCatalogInputSchema = external_exports.object({
|
|
33503
33532
|
toolCatalog: external_exports.record(external_exports.string(), external_exports.object({ name: external_exports.string(), version: external_exports.string().optional() }).strict()).describe("Per-app canonical tool identities: bare tool name -> its server's initialize-declared serverInfo. Host/library-supplied; not an agent action.")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ggui-ai/dev-stack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-rc.0",
|
|
4
4
|
"description": "Shared local dev engine for the ggui protocol: local UI registry discovery, compile-on-demand, filesystem watcher with SSE, and a read-only HTTP surface for dev tooling. Framework-neutral — agent runtime supervision plugs in via an adapter seam, so no agent SDK is hardcoded.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ggui",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"chokidar": "^4.0.3",
|
|
30
30
|
"esbuild": "^0.25.12",
|
|
31
|
-
"@ggui-ai/
|
|
32
|
-
"@ggui-ai/
|
|
33
|
-
"@ggui-ai/ui-registry": "0.
|
|
31
|
+
"@ggui-ai/project-config": "0.4.0-rc.0",
|
|
32
|
+
"@ggui-ai/agent-runtime": "0.4.0-rc.0",
|
|
33
|
+
"@ggui-ai/ui-registry": "0.4.0-rc.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^24.0.0",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"react": "^19.0.0",
|
|
40
40
|
"react-dom": "^19.0.0",
|
|
41
41
|
"typescript": "^5.0.0",
|
|
42
|
-
"vitest": "^3.
|
|
43
|
-
"@ggui-ai/design": "0.
|
|
44
|
-
"@ggui-ai/
|
|
45
|
-
"@ggui-ai/
|
|
42
|
+
"vitest": "^3.2.6",
|
|
43
|
+
"@ggui-ai/design": "0.4.0-rc.0",
|
|
44
|
+
"@ggui-ai/wire": "0.4.0-rc.0",
|
|
45
|
+
"@ggui-ai/react": "0.4.0-rc.0"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|