@ggui-ai/dev-stack 0.11.0 → 0.13.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.
@@ -34212,7 +34212,7 @@ config(en_default());
34212
34212
 
34213
34213
  // ../protocol/dist/gadgets/stdlib-gadgets.js
34214
34214
  var STDLIB_GADGETS_PACKAGE = "@ggui-ai/gadgets";
34215
- var STDLIB_GADGETS_VERSION = "0.11.0";
34215
+ var STDLIB_GADGETS_VERSION = "0.13.0";
34216
34216
  var STDLIB_GADGETS = [
34217
34217
  {
34218
34218
  package: STDLIB_GADGETS_PACKAGE,
@@ -34976,14 +34976,29 @@ var updateOutputSchema = external_exports.object({
34976
34976
  * existing props back believing it changed the UI, and this field is
34977
34977
  * its feedback channel.
34978
34978
  */
34979
- warning: external_exports.string().optional()
34979
+ warning: external_exports.string().optional(),
34980
+ /**
34981
+ * Schema attestation (ggui#560): identity hash of the enforced props
34982
+ * schema this mutation was validated against — the same schema the
34983
+ * paired handshake disclosed. Present when the session declares a
34984
+ * `propsSpec`; equal to the handshake's `propsSchemaHash` under the
34985
+ * session-continuity guarantee, so a mismatch is the observable form
34986
+ * of a contract changing mid-session.
34987
+ */
34988
+ propsSchemaHash: external_exports.string().optional(),
34989
+ /** Present with `propsSchemaHash`; same profile classifier as the handshake's. */
34990
+ propsSchemaProfile: external_exports.string().optional()
34980
34991
  });
34981
34992
  var amendOutputSchema = external_exports.object({
34982
34993
  sessionId: external_exports.string(),
34983
34994
  updated: external_exports.boolean(),
34984
34995
  resourceUri: external_exports.string(),
34985
34996
  /** Same no-op feedback channel as ggui_update's `warning`. */
34986
- warning: external_exports.string().optional()
34997
+ warning: external_exports.string().optional(),
34998
+ /** Schema attestation (ggui#560) — same semantics as ggui_update's. */
34999
+ propsSchemaHash: external_exports.string().optional(),
35000
+ /** Present with `propsSchemaHash`. */
35001
+ propsSchemaProfile: external_exports.string().optional()
34987
35002
  });
34988
35003
  var declareToolCatalogInputSchema = external_exports.object({
34989
35004
  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.")
@@ -35147,10 +35162,27 @@ var invokeRequestSchema = external_exports.object({
35147
35162
  var GGUI_CSS_VAR_KEY_RE = /^--ggui-[a-zA-Z0-9-]+$/;
35148
35163
  var CSS_VALUE_SAFE_RE = /^[^;{}<>@]*$/;
35149
35164
  var cssValue = external_exports.string().min(1).max(256).regex(CSS_VALUE_SAFE_RE, "css value contains a disallowed character").refine((v) => !v.includes("/*"), "css value may not contain a comment");
35165
+ var cssVariableMap = external_exports.record(external_exports.string().regex(GGUI_CSS_VAR_KEY_RE, "css var key must be --ggui-*"), cssValue).refine((m) => Object.keys(m).length <= 200, "too many css variables (max 200)");
35150
35166
  var appThemeSchema = external_exports.object({
35151
35167
  mode: external_exports.enum(["light", "dark"]),
35152
- cssVariables: external_exports.record(external_exports.string().regex(GGUI_CSS_VAR_KEY_RE, "css var key must be --ggui-*"), cssValue).refine((m) => Object.keys(m).length <= 200, "too many css variables (max 200)"),
35153
- name: external_exports.string().min(1).max(64).optional()
35168
+ cssVariables: cssVariableMap,
35169
+ name: external_exports.string().min(1).max(64).optional(),
35170
+ /**
35171
+ * The REGISTERED base ladder, delivered (runtime theme
35172
+ * registration): both modes' resolved variable sets ride the
35173
+ * envelope so a mid-session mode switch is a local operation and
35174
+ * delivery never depends on the iframe being able to fetch. The
35175
+ * renderer injects the mode-selected set BELOW `cssVariables` (the
35176
+ * per-app overlay) in the documented precedence. `documentHash` is
35177
+ * the registration's identity: it joins painted ladders to
35178
+ * registration records, and a receiver holding the hash may be
35179
+ * served a future envelope without the variable sets.
35180
+ */
35181
+ base: external_exports.object({
35182
+ documentHash: external_exports.string().regex(/^[0-9a-f]{64}$/, "documentHash must be sha256 lowercase hex"),
35183
+ light: cssVariableMap,
35184
+ dark: cssVariableMap
35185
+ }).strict().optional()
35154
35186
  }).strict();
35155
35187
 
35156
35188
  // ../protocol/dist/registry/canonicalize-contract.js
@@ -36641,7 +36673,10 @@ var sizeStyles = {
36641
36673
  var variantStyles = {
36642
36674
  primary: {
36643
36675
  backgroundColor: "var(--ggui-color-primary-600, #0284c7)",
36644
- color: "#ffffff",
36676
+ // The on-accent PAIR, never a literal (ggui#589 round 7): a theme
36677
+ // whose primary is bright (slime) pairs dark ink via onPrimary —
36678
+ // hardcoded white was unreadable on it.
36679
+ color: "var(--ggui-color-onPrimary, #ffffff)",
36645
36680
  border: "none"
36646
36681
  },
36647
36682
  secondary: {
@@ -36661,7 +36696,7 @@ var variantStyles = {
36661
36696
  },
36662
36697
  danger: {
36663
36698
  backgroundColor: "var(--ggui-color-error-600, #dc2626)",
36664
- color: "#ffffff",
36699
+ color: "var(--ggui-color-onError, #ffffff)",
36665
36700
  border: "none"
36666
36701
  }
36667
36702
  };
@@ -36834,7 +36869,7 @@ function Checkbox({ label, checked, onChange, disabled, description, indetermina
36834
36869
  alignItems: "center",
36835
36870
  justifyContent: "center",
36836
36871
  transition: "all 0.2s"
36837
- }, children: (checked || indeterminate) && (0, import_jsx_runtime12.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", style: { color: "#ffffff" }, children: indeterminate ? (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6H9.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) : (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6L5 8.5L9.5 3.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), (label || description) && (0, import_jsx_runtime12.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "2px" }, children: [label && (0, import_jsx_runtime12.jsx)("span", { style: {
36872
+ }, children: (checked || indeterminate) && (0, import_jsx_runtime12.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", style: { color: "var(--ggui-color-onPrimary, #ffffff)" }, children: indeterminate ? (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6H9.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) : (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6L5 8.5L9.5 3.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), (label || description) && (0, import_jsx_runtime12.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "2px" }, children: [label && (0, import_jsx_runtime12.jsx)("span", { style: {
36838
36873
  fontSize: "var(--ggui-font-size-sm, 14px)",
36839
36874
  fontWeight: "var(--ggui-font-weight-medium, 500)",
36840
36875
  color: "var(--ggui-color-onSurfaceVariant, #52525b)"
@@ -41364,7 +41399,9 @@ function Tooltip({ children, content, position = "top", delay = 200, style, clas
41364
41399
  left: coords.left,
41365
41400
  transform: getTransform(),
41366
41401
  backgroundColor: "var(--ggui-color-onSurface, #18181b)",
41367
- color: "#ffffff",
41402
+ // Inverse pair: text on the inverted (onSurface) ground is
41403
+ // the surface color — white was only right for light themes.
41404
+ color: "var(--ggui-color-surface, #ffffff)",
41368
41405
  padding: "6px 10px",
41369
41406
  borderRadius: "var(--ggui-shape-radius-md, 8px)",
41370
41407
  fontSize: "var(--ggui-font-size-xs, 12px)",
@@ -41517,7 +41554,7 @@ function Tabs({ items, activeKey, onChange, variant = "line", size = "md", fullW
41517
41554
  if (variant === "pills") {
41518
41555
  return {
41519
41556
  ...base,
41520
- color: isActive ? "#ffffff" : "var(--ggui-color-onSurfaceVariant, #52525b)",
41557
+ color: isActive ? "var(--ggui-color-onPrimary, #ffffff)" : "var(--ggui-color-onSurfaceVariant, #52525b)",
41521
41558
  backgroundColor: isActive ? "var(--ggui-color-primary-600, #0284c7)" : "transparent",
41522
41559
  borderRadius: "var(--ggui-shape-radius-md, 6px)"
41523
41560
  };
@@ -43897,6 +43934,110 @@ ${cssKeyframes}` : cssVariables;
43897
43934
  css
43898
43935
  };
43899
43936
  }
43937
+ var consumed_tokens_manifest_default = {
43938
+ version: 1,
43939
+ tokens: [
43940
+ "--ggui-color-container",
43941
+ "--ggui-color-error-100",
43942
+ "--ggui-color-error-200",
43943
+ "--ggui-color-error-50",
43944
+ "--ggui-color-error-500",
43945
+ "--ggui-color-error-600",
43946
+ "--ggui-color-error-700",
43947
+ "--ggui-color-error-800",
43948
+ "--ggui-color-info-100",
43949
+ "--ggui-color-info-200",
43950
+ "--ggui-color-info-50",
43951
+ "--ggui-color-info-500",
43952
+ "--ggui-color-info-700",
43953
+ "--ggui-color-info-800",
43954
+ "--ggui-color-neutral-100",
43955
+ "--ggui-color-neutral-200",
43956
+ "--ggui-color-neutral-300",
43957
+ "--ggui-color-neutral-400",
43958
+ "--ggui-color-neutral-50",
43959
+ "--ggui-color-neutral-500",
43960
+ "--ggui-color-neutral-600",
43961
+ "--ggui-color-onContainer",
43962
+ "--ggui-color-onError",
43963
+ "--ggui-color-onPrimary",
43964
+ "--ggui-color-onSurface",
43965
+ "--ggui-color-onSurfaceVariant",
43966
+ "--ggui-color-outline",
43967
+ "--ggui-color-outlineVariant",
43968
+ "--ggui-color-primary",
43969
+ "--ggui-color-primary-100",
43970
+ "--ggui-color-primary-200",
43971
+ "--ggui-color-primary-300",
43972
+ "--ggui-color-primary-400",
43973
+ "--ggui-color-primary-50",
43974
+ "--ggui-color-primary-500",
43975
+ "--ggui-color-primary-600",
43976
+ "--ggui-color-primary-700",
43977
+ "--ggui-color-primary-800",
43978
+ "--ggui-color-primary-900",
43979
+ "--ggui-color-success-100",
43980
+ "--ggui-color-success-200",
43981
+ "--ggui-color-success-50",
43982
+ "--ggui-color-success-500",
43983
+ "--ggui-color-success-700",
43984
+ "--ggui-color-success-800",
43985
+ "--ggui-color-surface",
43986
+ "--ggui-color-surface-gradient",
43987
+ "--ggui-color-surface-subtle",
43988
+ "--ggui-color-surface-sunken",
43989
+ "--ggui-color-surfaceVariant",
43990
+ "--ggui-color-warning-100",
43991
+ "--ggui-color-warning-200",
43992
+ "--ggui-color-warning-50",
43993
+ "--ggui-color-warning-500",
43994
+ "--ggui-color-warning-700",
43995
+ "--ggui-color-warning-800",
43996
+ "--ggui-flash-color",
43997
+ "--ggui-font-family-mono",
43998
+ "--ggui-font-family-sans",
43999
+ "--ggui-font-lineHeight-normal",
44000
+ "--ggui-font-size-2xl",
44001
+ "--ggui-font-size-3xl",
44002
+ "--ggui-font-size-4xl",
44003
+ "--ggui-font-size-base",
44004
+ "--ggui-font-size-lg",
44005
+ "--ggui-font-size-sm",
44006
+ "--ggui-font-size-xl",
44007
+ "--ggui-font-size-xs",
44008
+ "--ggui-font-weight-bold",
44009
+ "--ggui-font-weight-medium",
44010
+ "--ggui-font-weight-normal",
44011
+ "--ggui-font-weight-semibold",
44012
+ "--ggui-radius-md",
44013
+ "--ggui-radius-sm",
44014
+ "--ggui-shape-radius-full",
44015
+ "--ggui-shape-radius-lg",
44016
+ "--ggui-shape-radius-md",
44017
+ "--ggui-shape-radius-sm",
44018
+ "--ggui-shape-radius-xl",
44019
+ "--ggui-shape-shadow-lg",
44020
+ "--ggui-shape-shadow-md",
44021
+ "--ggui-shape-shadow-sm",
44022
+ "--ggui-shape-shadow-xl",
44023
+ "--ggui-spacing-1",
44024
+ "--ggui-spacing-10",
44025
+ "--ggui-spacing-12",
44026
+ "--ggui-spacing-2",
44027
+ "--ggui-spacing-2xl",
44028
+ "--ggui-spacing-3",
44029
+ "--ggui-spacing-4",
44030
+ "--ggui-spacing-5",
44031
+ "--ggui-spacing-6",
44032
+ "--ggui-spacing-8",
44033
+ "--ggui-spacing-lg",
44034
+ "--ggui-spacing-md",
44035
+ "--ggui-spacing-sm",
44036
+ "--ggui-spacing-xl",
44037
+ "--ggui-spacing-xs"
44038
+ ]
44039
+ };
44040
+ var consumedTokenManifest = consumed_tokens_manifest_default.tokens;
43900
44041
  var standardSemanticScales = {
43901
44042
  light: {
43902
44043
  success: {
@@ -44242,7 +44383,7 @@ var gguiLight = {
44242
44383
  "50": { $value: "#fbf3e0", $type: "color" },
44243
44384
  "100": { $value: "#f3e1b0", $type: "color" },
44244
44385
  "200": { $value: "#e6c46e", $type: "color" },
44245
- "500": { $value: "#a87b0e", $type: "color" },
44386
+ "500": { $value: "#8e680c", $type: "color" },
44246
44387
  // draft
44247
44388
  "600": { $value: "#86620b", $type: "color" },
44248
44389
  "700": { $value: "#654a08", $type: "color" },
@@ -44252,7 +44393,7 @@ var gguiLight = {
44252
44393
  "50": { $value: "#fbe7e3", $type: "color" },
44253
44394
  "100": { $value: "#f4bbb1", $type: "color" },
44254
44395
  "200": { $value: "#ea8a7a", $type: "color" },
44255
- "500": { $value: "#d93822", $type: "color" },
44396
+ "500": { $value: "#cc3520", $type: "color" },
44256
44397
  // signal
44257
44398
  "600": { $value: "#ae2d1b", $type: "color" },
44258
44399
  "700": { $value: "#822214", $type: "color" },
@@ -44624,7 +44765,7 @@ var cyberpunkLight = {
44624
44765
  "400": { $value: "#22d3ee", $type: "color" },
44625
44766
  "500": { $value: "#06b6d4", $type: "color" },
44626
44767
  "600": { $value: "#0891b2", $type: "color" },
44627
- "700": { $value: "#0e7490", $type: "color" },
44768
+ "700": { $value: "#1085a5", $type: "color" },
44628
44769
  "800": { $value: "#155e75", $type: "color" },
44629
44770
  "900": { $value: "#164e63", $type: "color" }
44630
44771
  },
@@ -44634,7 +44775,7 @@ var cyberpunkLight = {
44634
44775
  "200": { $value: "#1a1a24", $type: "color" },
44635
44776
  "300": { $value: "#25252f", $type: "color" },
44636
44777
  "400": { $value: "#3a3a48", $type: "color" },
44637
- "500": { $value: "#55556a", $type: "color" },
44778
+ "500": { $value: "#5d5d74", $type: "color" },
44638
44779
  "600": { $value: "#8888a0", $type: "color" },
44639
44780
  "700": { $value: "#aaaabe", $type: "color" },
44640
44781
  "800": { $value: "#d0d0e0", $type: "color" },
@@ -44761,7 +44902,7 @@ var cyberpunkDark = {
44761
44902
  "200": { $value: "#111118", $type: "color" },
44762
44903
  "300": { $value: "#1a1a24", $type: "color" },
44763
44904
  "400": { $value: "#3a3a48", $type: "color" },
44764
- "500": { $value: "#55556a", $type: "color" },
44905
+ "500": { $value: "#5a5a70", $type: "color" },
44765
44906
  "600": { $value: "#8888a0", $type: "color" },
44766
44907
  "700": { $value: "#aaaabe", $type: "color" },
44767
44908
  "800": { $value: "#d0d0e0", $type: "color" },
@@ -44997,7 +45138,7 @@ var zenLight = {
44997
45138
  "200": { $value: "#e7e4de", $type: "color" },
44998
45139
  "300": { $value: "#d5d0c8", $type: "color" },
44999
45140
  "400": { $value: "#b8b0a4", $type: "color" },
45000
- "500": { $value: "#9a9084", $type: "color" },
45141
+ "500": { $value: "#988d81", $type: "color" },
45001
45142
  "600": { $value: "#7a7068", $type: "color" },
45002
45143
  "700": { $value: "#5e5650", $type: "color" },
45003
45144
  "800": { $value: "#3e3a36", $type: "color" },
@@ -45010,7 +45151,7 @@ var zenLight = {
45010
45151
  "50": { $type: "color", $value: "#f0f4ee" },
45011
45152
  "100": { $type: "color", $value: "#dde6d8" },
45012
45153
  "200": { $type: "color", $value: "#c6d4be" },
45013
- "500": { $type: "color", $value: "#6b8f5e" },
45154
+ "500": { $type: "color", $value: "#5b7950" },
45014
45155
  "600": { $type: "color", $value: "#58754d" },
45015
45156
  "700": { $type: "color", $value: "#43583a" },
45016
45157
  "800": { $type: "color", $value: "#2f3e29" }
@@ -45019,7 +45160,7 @@ var zenLight = {
45019
45160
  "50": { $type: "color", $value: "#faf6ea" },
45020
45161
  "100": { $type: "color", $value: "#f4ebcb" },
45021
45162
  "200": { $type: "color", $value: "#ecdda4" },
45022
- "500": { $type: "color", $value: "#c9a84c" },
45163
+ "500": { $type: "color", $value: "#886f29" },
45023
45164
  "600": { $type: "color", $value: "#a88a3a" },
45024
45165
  "700": { $type: "color", $value: "#7e672c" },
45025
45166
  "800": { $type: "color", $value: "#59481f" }
@@ -45147,7 +45288,7 @@ var zenDark = {
45147
45288
  "50": { $type: "color", $value: "#faeae9" },
45148
45289
  "100": { $type: "color", $value: "#f1cac8" },
45149
45290
  "200": { $type: "color", $value: "#e4a5a1" },
45150
- "500": { $type: "color", $value: "#cf6f6a" },
45291
+ "500": { $type: "color", $value: "#d17570" },
45151
45292
  "600": { $type: "color", $value: "#a85753" },
45152
45293
  "700": { $type: "color", $value: "#7d403c" },
45153
45294
  "800": { $type: "color", $value: "#552a27" }
@@ -45350,7 +45491,7 @@ var neonNoirLight = {
45350
45491
  "400": { $value: "#f472b6", $type: "color" },
45351
45492
  "500": { $value: "#ec4899", $type: "color" },
45352
45493
  "600": { $value: "#db2777", $type: "color" },
45353
- "700": { $value: "#be185d", $type: "color" },
45494
+ "700": { $value: "#e42574", $type: "color" },
45354
45495
  "800": { $value: "#9d174d", $type: "color" },
45355
45496
  "900": { $value: "#831843", $type: "color" }
45356
45497
  },
@@ -45360,7 +45501,7 @@ var neonNoirLight = {
45360
45501
  "200": { $value: "#19191e", $type: "color" },
45361
45502
  "300": { $value: "#232329", $type: "color" },
45362
45503
  "400": { $value: "#3b3b44", $type: "color" },
45363
- "500": { $value: "#5a5a68", $type: "color" },
45504
+ "500": { $value: "#5e5e6c", $type: "color" },
45364
45505
  "600": { $value: "#8a8a9a", $type: "color" },
45365
45506
  "700": { $value: "#b0b0be", $type: "color" },
45366
45507
  "800": { $value: "#d4d4de", $type: "color" },
@@ -45392,7 +45533,7 @@ var neonNoirLight = {
45392
45533
  outline: { $value: "#3b3b44", $type: "color" },
45393
45534
  outlineVariant: { $value: "#232329", $type: "color" },
45394
45535
  // Primary role pair — onPrimary is deep noir so hot pink CTAs pop.
45395
- onPrimary: { $value: "#09090b", $type: "color" },
45536
+ onPrimary: { $value: "#ffffff", $type: "color" },
45396
45537
  primaryContainer: { $value: "#9d174d", $type: "color" },
45397
45538
  // primary-800
45398
45539
  onPrimaryContainer: { $value: "#fce7f3", $type: "color" },
@@ -45654,15 +45795,31 @@ var botanicalLight = {
45654
45795
  "200": { $value: "#f8f0df", $type: "color" },
45655
45796
  "300": { $value: "#f0e4c9", $type: "color" },
45656
45797
  "400": { $value: "#dccba5", $type: "color" },
45657
- "500": { $value: "#bfaa80", $type: "color" },
45798
+ "500": { $value: "#aa8e56", $type: "color" },
45658
45799
  "600": { $value: "#9a8660", $type: "color" },
45659
45800
  "700": { $value: "#746448", $type: "color" },
45660
45801
  "800": { $value: "#504530", $type: "color" },
45661
45802
  "900": { $value: "#352e20", $type: "color" }
45662
45803
  },
45663
- success: standardSemanticScales.light.success,
45664
- warning: standardSemanticScales.light.warning,
45665
- error: standardSemanticScales.light.error,
45804
+ // #594 founder-approved light override (2026-08-22): shared success-500
45805
+ // is sub-AA as TEXT on botanical's warm paper — override the 500 stop
45806
+ // only, light only (same pattern as warning/error below).
45807
+ success: {
45808
+ ...standardSemanticScales.light.success,
45809
+ "500": { $type: "color", $value: "#17843f" }
45810
+ },
45811
+ // #594 founder-approved light overrides (2026-08-22): the shared
45812
+ // standardSemantic 500s are sub-AA as TEXT on botanical's warm paper
45813
+ // (#fefcf8) — override ONLY the 500 stop, only in light; the shared
45814
+ // scales stay untouched for every other theme and for dark.
45815
+ warning: {
45816
+ ...standardSemanticScales.light.warning,
45817
+ "500": { $type: "color", $value: "#a06707" }
45818
+ },
45819
+ error: {
45820
+ ...standardSemanticScales.light.error,
45821
+ "500": { $type: "color", $value: "#e51414" }
45822
+ },
45666
45823
  info: standardSemanticScales.light.info,
45667
45824
  // Semantic roles
45668
45825
  surface: { $value: "#fefcf8", $type: "color" },
@@ -45674,7 +45831,7 @@ var botanicalLight = {
45674
45831
  outline: { $value: "#f0e4c9", $type: "color" },
45675
45832
  outlineVariant: { $value: "#f8f0df", $type: "color" },
45676
45833
  // Primary role pair — onPrimary is cream for the leaf-green brand hex.
45677
- onPrimary: { $value: "#fefcf8", $type: "color" },
45834
+ onPrimary: { $value: "#332407", $type: "color" },
45678
45835
  primaryContainer: { $value: "#dcfce7", $type: "color" },
45679
45836
  // primary-100
45680
45837
  onPrimaryContainer: { $value: "#14532d", $type: "color" },
@@ -45973,7 +46130,7 @@ var claudicLight = {
45973
46130
  "50": { $value: "#f4f7ec", $type: "color" },
45974
46131
  "100": { $value: "#e3ecd0", $type: "color" },
45975
46132
  "200": { $value: "#c8d8a5", $type: "color" },
45976
- "500": { $value: "#6b8e3d", $type: "color" },
46133
+ "500": { $value: "#5c7a35", $type: "color" },
45977
46134
  // brand: olive
45978
46135
  "600": { $value: "#587634", $type: "color" },
45979
46136
  "700": { $value: "#465c29", $type: "color" },
@@ -45983,7 +46140,7 @@ var claudicLight = {
45983
46140
  "50": { $value: "#fbf3e3", $type: "color" },
45984
46141
  "100": { $value: "#f6e2bb", $type: "color" },
45985
46142
  "200": { $value: "#eac786", $type: "color" },
45986
- "500": { $value: "#c98e2e", $type: "color" },
46143
+ "500": { $value: "#956922", $type: "color" },
45987
46144
  // brand: amber-orange
45988
46145
  "600": { $value: "#a87725", $type: "color" },
45989
46146
  "700": { $value: "#825c1d", $type: "color" },
@@ -46023,7 +46180,7 @@ var claudicLight = {
46023
46180
  outline: { $value: "#dad8cc", $type: "color" },
46024
46181
  outlineVariant: { $value: "#ebe9df", $type: "color" },
46025
46182
  // Primary role pair — text on Crail CTAs is ivory, container is Crail-50.
46026
- onPrimary: { $value: "#faf9f5", $type: "color" },
46183
+ onPrimary: { $value: "#15130a", $type: "color" },
46027
46184
  // Ivory
46028
46185
  primaryContainer: { $value: "#fbf2ee", $type: "color" },
46029
46186
  // primary-50
@@ -46134,7 +46291,7 @@ var claudicDark = {
46134
46291
  "50": { $value: "#2a1410", $type: "color" },
46135
46292
  "100": { $value: "#52271f", $type: "color" },
46136
46293
  "200": { $value: "#7a3a2e", $type: "color" },
46137
- "500": { $value: "#d56b59", $type: "color" },
46294
+ "500": { $value: "#d7705f", $type: "color" },
46138
46295
  // brand: brick (lifted for dark)
46139
46296
  "600": { $value: "#df8576", $type: "color" },
46140
46297
  "700": { $value: "#e3a294", $type: "color" },
@@ -46383,7 +46540,7 @@ var indigoLight = {
46383
46540
  "50": { $value: "#ecfdf5", $type: "color" },
46384
46541
  "100": { $value: "#d1fae5", $type: "color" },
46385
46542
  "200": { $value: "#a7f3d0", $type: "color" },
46386
- "500": { $value: "#0e9d6e", $type: "color" },
46543
+ "500": { $value: "#0b815a", $type: "color" },
46387
46544
  // brand emerald
46388
46545
  "600": { $value: "#0b8259", $type: "color" },
46389
46546
  "700": { $value: "#086847", $type: "color" },
@@ -46393,7 +46550,7 @@ var indigoLight = {
46393
46550
  "50": { $value: "#fff8eb", $type: "color" },
46394
46551
  "100": { $value: "#fdecc8", $type: "color" },
46395
46552
  "200": { $value: "#fbd897", $type: "color" },
46396
- "500": { $value: "#e08515", $type: "color" },
46553
+ "500": { $value: "#a66210", $type: "color" },
46397
46554
  // brand amber
46398
46555
  "600": { $value: "#b86b0e", $type: "color" },
46399
46556
  "700": { $value: "#90530a", $type: "color" },
@@ -46504,7 +46661,7 @@ var indigoDark = {
46504
46661
  "300": { $value: "#2a2839", $type: "color" },
46505
46662
  // outline
46506
46663
  "400": { $value: "#3e3c50", $type: "color" },
46507
- "500": { $value: "#5e5c70", $type: "color" },
46664
+ "500": { $value: "#636176", $type: "color" },
46508
46665
  // muted
46509
46666
  "600": { $value: "#8b8898", $type: "color" },
46510
46667
  "700": { $value: "#b8b6c2", $type: "color" },
@@ -46881,7 +47038,8 @@ var guueyBrandLight = {
46881
47038
  "400": { $value: "#B8FF3A", $type: "color" },
46882
47039
  "500": { $value: "#9FE01C", $type: "color" },
46883
47040
  "600": { $value: "#7DB214", $type: "color" },
46884
- "700": { $value: "#5C850D", $type: "color" },
47041
+ // 700 is the 'emphasized' TEXT stop — AA on paper (round 7 sweep).
47042
+ "700": { $value: "#476809", $type: "color" },
46885
47043
  "800": { $value: "#3F5A11", $type: "color" },
46886
47044
  "900": { $value: "#28390B", $type: "color" }
46887
47045
  },
@@ -46897,41 +47055,44 @@ var guueyBrandLight = {
46897
47055
  "800": { $value: "#242938", $type: "color" },
46898
47056
  "900": { $value: "#1A1D24", $type: "color" }
46899
47057
  },
47058
+ // Semantic -500s are TEXT stops on paper ('success'/'warning'/…
47059
+ // tones + Alert) — every 500 below clears AA on #FFFFFF (round 7
47060
+ // sweep; the pre-sweep pastel values measured 2.5–4.3).
46900
47061
  success: {
46901
47062
  "50": { $value: "#F6FFE0", $type: "color" },
46902
47063
  "100": { $value: "#E9FFB8", $type: "color" },
46903
47064
  "200": { $value: "#DBFF8F", $type: "color" },
46904
- "500": { $value: "#7DB214", $type: "color" },
46905
- "600": { $value: "#5C850D", $type: "color" },
46906
- "700": { $value: "#476809", $type: "color" },
47065
+ "500": { $value: "#517709", $type: "color" },
47066
+ "600": { $value: "#476809", $type: "color" },
47067
+ "700": { $value: "#35510B", $type: "color" },
46907
47068
  "800": { $value: "#28390B", $type: "color" }
46908
47069
  },
46909
47070
  warning: {
46910
47071
  "50": { $value: "#FFF4DD", $type: "color" },
46911
47072
  "100": { $value: "#FFE5AE", $type: "color" },
46912
47073
  "200": { $value: "#FFD37D", $type: "color" },
46913
- "500": { $value: "#D98A0A", $type: "color" },
46914
- "600": { $value: "#A96A06", $type: "color" },
46915
- "700": { $value: "#7C4D04", $type: "color" },
46916
- "800": { $value: "#523203", $type: "color" }
47074
+ "500": { $value: "#9C6205", $type: "color" },
47075
+ "600": { $value: "#7C4D04", $type: "color" },
47076
+ "700": { $value: "#5E3A03", $type: "color" },
47077
+ "800": { $value: "#3F2702", $type: "color" }
46917
47078
  },
46918
47079
  error: {
46919
47080
  "50": { $value: "#FFE9E8", $type: "color" },
46920
47081
  "100": { $value: "#FFC3C0", $type: "color" },
46921
47082
  "200": { $value: "#FF9F9C", $type: "color" },
46922
- "500": { $value: "#E23B3B", $type: "color" },
46923
- "600": { $value: "#B62C2C", $type: "color" },
46924
- "700": { $value: "#8A1F1F", $type: "color" },
47083
+ "500": { $value: "#CC2F2F", $type: "color" },
47084
+ "600": { $value: "#A62626", $type: "color" },
47085
+ "700": { $value: "#7E1D1D", $type: "color" },
46925
47086
  "800": { $value: "#5E1F1B", $type: "color" }
46926
47087
  },
46927
47088
  info: {
46928
47089
  "50": { $value: "#E5F7FF", $type: "color" },
46929
47090
  "100": { $value: "#BFECFF", $type: "color" },
46930
47091
  "200": { $value: "#92E0FF", $type: "color" },
46931
- "500": { $value: "#0E93C9", $type: "color" },
46932
- "600": { $value: "#0B739E", $type: "color" },
46933
- "700": { $value: "#085572", $type: "color" },
46934
- "800": { $value: "#12455C", $type: "color" }
47092
+ "500": { $value: "#0B739E", $type: "color" },
47093
+ "600": { $value: "#085572", $type: "color" },
47094
+ "700": { $value: "#06455D", $type: "color" },
47095
+ "800": { $value: "#0A3346", $type: "color" }
46935
47096
  },
46936
47097
  surface: { $value: "#FFFFFF", $type: "color" },
46937
47098
  onSurface: { $value: "#1A1D24", $type: "color" },
@@ -47093,8 +47254,11 @@ function getScopedThemeCss(themeId, scopeClass, mode = "light") {
47093
47254
  ${baseInherits}
47094
47255
  ${gradientTokens}
47095
47256
  ${theme9.cssKeyframes}
47096
- .${scopeClass} *, .${scopeClass} *::before, .${scopeClass} *::after { box-sizing: border-box; }
47097
- .${scopeClass} h1, .${scopeClass} h2, .${scopeClass} h3, .${scopeClass} h4, .${scopeClass} h5, .${scopeClass} h6, .${scopeClass} button, .${scopeClass} input, .${scopeClass} textarea, .${scopeClass} select { font-family: inherit; }${framelessRule}`;
47257
+ ${structuralScaffolding(scopeClass)}${framelessRule}`;
47258
+ }
47259
+ function structuralScaffolding(scopeClass) {
47260
+ return `.${scopeClass} *, .${scopeClass} *::before, .${scopeClass} *::after { box-sizing: border-box; }
47261
+ .${scopeClass} h1, .${scopeClass} h2, .${scopeClass} h3, .${scopeClass} h4, .${scopeClass} h5, .${scopeClass} h6, .${scopeClass} button, .${scopeClass} input, .${scopeClass} textarea, .${scopeClass} select { font-family: inherit; }`;
47098
47262
  }
47099
47263
  function buildGradientTokens(scopeClass, primary500Hex) {
47100
47264
  const selector = `.${scopeClass}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ggui-ai/dev-stack",
3
- "version": "0.11.0",
3
+ "version": "0.13.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/agent-runtime": "0.11.0",
32
- "@ggui-ai/ui-registry": "0.11.0",
33
- "@ggui-ai/project-config": "0.11.0"
31
+ "@ggui-ai/ui-registry": "0.13.0",
32
+ "@ggui-ai/project-config": "0.13.0",
33
+ "@ggui-ai/agent-runtime": "0.13.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^24.0.0",
@@ -40,9 +40,9 @@
40
40
  "react-dom": "^19.0.0",
41
41
  "typescript": "^5.0.0",
42
42
  "vitest": "^3.2.6",
43
- "@ggui-ai/design": "0.11.0",
44
- "@ggui-ai/mcp-apps-react": "0.11.0",
45
- "@ggui-ai/wire": "0.11.0"
43
+ "@ggui-ai/design": "0.13.0",
44
+ "@ggui-ai/mcp-apps-react": "0.13.0",
45
+ "@ggui-ai/wire": "0.13.0"
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "author": "ggui contributors <hello@ggui.ai>",
63
63
  "scripts": {
64
- "build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/build-hub-preview.mjs",
64
+ "build": "rm -rf dist.staging && tsc -p tsconfig.build.json --outDir dist.staging && node ../scripts/atomic-swap.mjs dist.staging dist && node scripts/build-hub-preview.mjs",
65
65
  "build:hub-preview": "node scripts/build-hub-preview.mjs",
66
66
  "dev": "tsc --watch",
67
67
  "typecheck": "tsc --noEmit && tsc -p hub-preview-client/tsconfig.json --noEmit",