open-multi-agent-kit 0.78.5 → 0.78.7
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/AGENTS.md +1 -1
- package/CHANGELOG.md +64 -0
- package/MATURITY.md +2 -2
- package/README.md +20 -5
- package/dist/brand/night-city.theme.json +80 -0
- package/dist/brand/palette.d.ts +73 -177
- package/dist/brand/palette.js +115 -39
- package/dist/brand/rust-forge.theme.json +216 -0
- package/dist/brand/theme-compiled.d.ts +61 -0
- package/dist/brand/theme-compiled.js +241 -0
- package/dist/brand/theme.js +50 -37
- package/dist/cli/release-promotion-gate.d.ts +8 -1
- package/dist/cli/release-promotion-gate.js +23 -11
- package/dist/cli/root.d.ts +1 -0
- package/dist/cli/root.js +2 -1
- package/dist/cli/theme/index.d.ts +11 -2
- package/dist/cli/theme/index.js +6 -1
- package/dist/cli/theme/oklab-quantize.d.ts +29 -0
- package/dist/cli/theme/oklab-quantize.js +105 -0
- package/dist/cli/theme/render-table.d.ts +59 -0
- package/dist/cli/theme/render-table.js +112 -0
- package/dist/cli/theme/status-frame.d.ts +10 -0
- package/dist/cli/theme/status-frame.js +22 -0
- package/dist/cli/theme/terminal-capability.d.ts +6 -1
- package/dist/cli/theme/terminal-capability.js +20 -4
- package/dist/cli/theme/theme-doc.d.ts +22 -0
- package/dist/cli/theme/theme-doc.js +97 -0
- package/dist/cli/theme/theme-registry.js +39 -18
- package/dist/cli/theme/tier-explain.d.ts +21 -0
- package/dist/cli/theme/tier-explain.js +60 -0
- package/dist/cli/ui/green-rain-renderer.js +3 -2
- package/dist/cli/ui/neon-grid-renderer.js +4 -3
- package/dist/cli/ui/rust-forge-renderer.js +17 -3
- package/dist/cli/ui/system24-renderer.d.ts +18 -1
- package/dist/cli/ui/system24-renderer.js +39 -16
- package/dist/cli/v2/chat-repl.js +3 -1
- package/dist/cli/v2/cli-v2-skeleton.d.ts +6 -0
- package/dist/cli/v2/cli-v2-skeleton.js +121 -9
- package/dist/cli/v2/interactive-prompt.d.ts +1 -0
- package/dist/cli/v2/interactive-prompt.js +6 -2
- package/dist/commands/chat/core.js +2 -2
- package/dist/commands/chat/runtime.js +2 -0
- package/dist/commands/chat/utils.js +12 -4
- package/dist/commands/cockpit/render.js +102 -64
- package/dist/commands/cockpit/utils.d.ts +2 -0
- package/dist/commands/design.js +18 -16
- package/dist/commands/doctor/checks.d.ts +0 -1
- package/dist/commands/doctor/checks.js +1 -36
- package/dist/commands/doctor/report.js +0 -11
- package/dist/commands/init/content.d.ts +1 -1
- package/dist/commands/init/content.js +3 -11
- package/dist/commands/init.js +2 -2
- package/dist/commands/mcp/config.d.ts +32 -0
- package/dist/commands/mcp/config.js +264 -0
- package/dist/commands/mcp/doctor-fix.d.ts +12 -0
- package/dist/commands/mcp/doctor-fix.js +261 -0
- package/dist/commands/mcp/doctor.d.ts +55 -0
- package/dist/commands/mcp/doctor.js +401 -0
- package/dist/commands/mcp/list.d.ts +1 -0
- package/dist/commands/mcp/list.js +56 -0
- package/dist/commands/mcp/shared.d.ts +47 -0
- package/dist/commands/mcp/shared.js +192 -0
- package/dist/commands/mcp/test.d.ts +5 -0
- package/dist/commands/mcp/test.js +457 -0
- package/dist/commands/mcp.d.ts +8 -104
- package/dist/commands/mcp.js +5 -1603
- package/dist/contracts/proof.d.ts +1 -1
- package/dist/goal/control-loop.d.ts +15 -0
- package/dist/goal/control-loop.js +39 -5
- package/dist/hud/render.d.ts +2 -0
- package/dist/hud/render.js +7 -1
- package/dist/mcp/secret-scanner.d.ts +6 -0
- package/dist/mcp/secret-scanner.js +44 -11
- package/dist/memory/graph-delta-log.d.ts +137 -0
- package/dist/memory/graph-delta-log.js +650 -0
- package/dist/memory/graph-viewer.js +13 -32
- package/dist/memory/local-graph-memory-store.d.ts +36 -3
- package/dist/memory/local-graph-memory-store.js +255 -10
- package/dist/orchestration/log-streamer.js +13 -8
- package/dist/orchestration/routing.d.ts +4 -0
- package/dist/orchestration/routing.js +28 -3
- package/dist/orchestration/state-persister.js +8 -1
- package/dist/providers/anthropic-messages-runner.d.ts +17 -0
- package/dist/providers/anthropic-messages-runner.js +197 -0
- package/dist/providers/model-registry.d.ts +1 -1
- package/dist/providers/model-registry.js +37 -3
- package/dist/providers/provider-runtime.js +27 -11
- package/dist/providers/thinking-levels.js +4 -1
- package/dist/providers/types.d.ts +3 -3
- package/dist/runtime/contracts/weakness-remediation.d.ts +11 -1
- package/dist/runtime/contracts/weakness-remediation.js +9 -1
- package/dist/runtime/router-v2-scoring.d.ts +8 -3
- package/dist/runtime/router-v2-scoring.js +27 -22
- package/dist/runtime/runtime-router.d.ts +5 -0
- package/dist/runtime/runtime-router.js +40 -8
- package/dist/runtime/sandbox-profile.d.ts +29 -0
- package/dist/runtime/sandbox-profile.js +101 -0
- package/dist/runtime/slash-commands.js +300 -2
- package/dist/runtime/tool-dispatch-contracts.d.ts +15 -0
- package/dist/runtime/tool-dispatch-contracts.js +12 -0
- package/dist/runtime/weights-config.d.ts +90 -0
- package/dist/runtime/weights-config.js +249 -0
- package/dist/schema/envelope.schema.d.ts +18 -18
- package/dist/schema/evidence.schema.d.ts +2 -2
- package/dist/schema/proof-bundle.schema.d.ts +6 -6
- package/dist/schema/proof-bundle.schema.js +0 -1
- package/dist/schema/provider.schema.d.ts +2 -2
- package/dist/schema/run-manifest.schema.d.ts +16 -16
- package/dist/theme/ansi.js +9 -2
- package/dist/theme/extended-palette.d.ts +85 -0
- package/dist/theme/extended-palette.js +108 -0
- package/dist/theme/layout.js +29 -8
- package/dist/theme/metrics.js +5 -5
- package/dist/theme/parallel.js +25 -15
- package/dist/ui/omk-sigil.js +5 -14
- package/dist/ui/omk-working-sweep.js +5 -15
- package/dist/util/chat-agent-mode.d.ts +11 -0
- package/dist/util/chat-agent-mode.js +41 -8
- package/dist/util/chat-cockpit.d.ts +9 -0
- package/dist/util/chat-cockpit.js +77 -20
- package/dist/util/fs/core.d.ts +5 -0
- package/dist/util/fs/core.js +35 -0
- package/dist/util/fs/internal.d.ts +14 -0
- package/dist/util/fs/internal.js +169 -0
- package/dist/util/fs/kimi-sync.d.ts +41 -0
- package/dist/util/fs/kimi-sync.js +495 -0
- package/dist/util/fs/logo.d.ts +2 -0
- package/dist/util/fs/logo.js +78 -0
- package/dist/util/fs/manifest.d.ts +6 -0
- package/dist/util/fs/manifest.js +40 -0
- package/dist/util/fs/mcp-diagnose.d.ts +15 -0
- package/dist/util/fs/mcp-diagnose.js +204 -0
- package/dist/util/fs/mcp-runtime-config.d.ts +23 -0
- package/dist/util/fs/mcp-runtime-config.js +412 -0
- package/dist/util/fs/paths.d.ts +13 -0
- package/dist/util/fs/paths.js +82 -0
- package/dist/util/fs/preflight.d.ts +27 -0
- package/dist/util/fs/preflight.js +271 -0
- package/dist/util/fs.d.ts +8 -128
- package/dist/util/fs.js +8 -1757
- package/dist/util/terminal-layout.js +5 -1
- package/dist/util/version.js +2 -1
- package/docs/2026-06-10/critical-issues.md +20 -0
- package/docs/2026-06-10/improvements.md +14 -0
- package/docs/2026-06-10/init-checklist.md +25 -0
- package/docs/2026-06-10/plan.md +20 -0
- package/docs/2026-06-11/critical-issues.md +20 -0
- package/docs/2026-06-11/improvements.md +14 -0
- package/docs/2026-06-11/init-checklist.md +25 -0
- package/docs/2026-06-11/plan.md +20 -0
- package/docs/ARCHITECTURE_ANALYSIS_CODEGRAPH.md +223 -0
- package/docs/adr/0001-no-native-rust-lane.md +52 -0
- package/docs/codex-oauth-setup.md +14 -0
- package/docs/decisions/2026-06-10-git-history-bloat.md +61 -0
- package/docs/decisions/ADR-theme-dark-only-assets.md +43 -0
- package/docs/getting-started.md +1 -1
- package/docs/headroom-omk-final-summary.md +188 -0
- package/docs/headroom-omk-integration.md +394 -0
- package/docs/headroom-omk-setup-guide.md +422 -0
- package/docs/headroom-omk-usage-examples.md +371 -0
- package/docs/provider-maturity.md +1 -1
- package/docs/versioning.md +3 -3
- package/package.json +10 -10
- package/readmeasset/.npmignore +2 -0
- package/readmeasset/ASSET_INDEX.md +7 -5
- package/readmeasset/ASSET_PROVENANCE.md +21 -5
- package/readmeasset/omk-control-surfaces.svg +55 -0
- package/readmeasset/omk-core-loop.svg +1 -0
- package/readmeasset/omk-logo-mark.svg +1 -0
- package/readmeasset/omk-release-assertions.svg +51 -0
- package/dist/native/linux-x64/omk-safety +0 -0
- package/dist/util/native-safety.d.ts +0 -28
- package/dist/util/native-safety.js +0 -118
- package/templates/skills/agents/omk-adaptorch-orchestration-review/SKILL.md +0 -52
- package/templates/skills/kimi/mcp-install/SKILL.md +0 -66
- package/templates/skills/kimi/omk-adaptorch-orchestration-review/SKILL.md +0 -52
package/dist/brand/palette.js
CHANGED
|
@@ -1,44 +1,120 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OMK brand color palette
|
|
2
|
+
* OMK brand color palette -- compiled from active omk.theme.v1 documents
|
|
3
|
+
* (theme contract T5b) plus conversion helpers.
|
|
4
|
+
*
|
|
5
|
+
* P and BRAND_HEX keep their public object shapes, but shared brand slots are
|
|
6
|
+
* updated in place when setBrandPaletteTheme() switches the live brand theme.
|
|
7
|
+
* Night-city remains the default and preserves the legacy RGB/HEX bytes.
|
|
3
8
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
9
|
+
import { activeThemeHexByPrimitive, activeThemeHexByRole, activeThemeRgbByRole, getActiveBrandThemeName, rgbToHex, setActiveBrandTheme, } from "./theme-compiled.js";
|
|
10
|
+
const rgb = (r, g, b) => ({ r, g, b });
|
|
11
|
+
function rgbByPrimitive(primitive) {
|
|
12
|
+
const parsed = hexToRgb(activeThemeHexByPrimitive(primitive));
|
|
13
|
+
if (parsed === null) {
|
|
14
|
+
throw new Error(`brand palette: active primitive "${primitive}" did not resolve to RGB`);
|
|
15
|
+
}
|
|
16
|
+
return parsed;
|
|
17
|
+
}
|
|
18
|
+
function isRustForgeActive() {
|
|
19
|
+
return getActiveBrandThemeName() === "rust-forge";
|
|
20
|
+
}
|
|
21
|
+
export function buildBrandPalette() {
|
|
22
|
+
const rustForge = isRustForgeActive();
|
|
23
|
+
return {
|
|
24
|
+
// Shared brand slots driven by active theme semantics.
|
|
25
|
+
purple: activeThemeRgbByRole("control.accent"),
|
|
26
|
+
lightPurple: rustForge ? activeThemeRgbByRole("route.fallback") : rgb(214, 108, 255),
|
|
27
|
+
darkPurple: rustForge ? rgbByPrimitive("forge") : rgb(64, 18, 133),
|
|
28
|
+
pink: rgbByPrimitive("magenta"),
|
|
29
|
+
hotPink: rgbByPrimitive("magenta"),
|
|
30
|
+
mint: activeThemeRgbByRole("evidence.pass"),
|
|
31
|
+
darkMint: rgb(0, 196, 153),
|
|
32
|
+
orange: activeThemeRgbByRole("route.fallback"),
|
|
33
|
+
red: activeThemeRgbByRole("telemetry.error"),
|
|
34
|
+
blue: activeThemeRgbByRole("route.active"),
|
|
35
|
+
cream: activeThemeRgbByRole("control.fg"),
|
|
36
|
+
dark: activeThemeRgbByRole("control.bg"),
|
|
37
|
+
gray: activeThemeRgbByRole("control.dim"),
|
|
38
|
+
skin: rgb(255, 214, 102),
|
|
39
|
+
gridLine: rustForge ? rgbByPrimitive("slag") : rgb(34, 50, 74),
|
|
40
|
+
// Rust forge family. Defaults stay legacy for night-city parity.
|
|
41
|
+
rustOrange: rustForge ? activeThemeRgbByRole("route.active") : rgb(249, 115, 22),
|
|
42
|
+
rustOxide: rustForge ? activeThemeRgbByRole("route.fallback") : rgb(124, 45, 18),
|
|
43
|
+
rustEmber: rustForge ? activeThemeRgbByRole("telemetry.warn") : rgb(255, 122, 24),
|
|
44
|
+
rustCrimson: rustForge ? activeThemeRgbByRole("telemetry.error") : rgb(255, 49, 93),
|
|
45
|
+
cargoGreen: activeThemeRgbByRole("evidence.pass"),
|
|
46
|
+
// Matrix family: signal slots follow active success/warn semantics; rain constants stay iconic.
|
|
47
|
+
matrixGreen: activeThemeRgbByRole("evidence.pass"),
|
|
48
|
+
matrixDark: rgb(8, 39, 31),
|
|
49
|
+
matrixRainGreen: rgb(0, 255, 65),
|
|
50
|
+
matrixDeepBg: rgb(0, 8, 0),
|
|
51
|
+
matrixRainDim: rgb(0, 95, 25),
|
|
52
|
+
matrixWarningAmber: activeThemeRgbByRole("telemetry.warn"),
|
|
53
|
+
matrixErrorRed: rgb(255, 50, 50),
|
|
54
|
+
// Sparkle ramp accents (decorative highlight ramps).
|
|
55
|
+
sparkleWhite: rgb(244, 255, 255),
|
|
56
|
+
sparkleGold: rgb(255, 209, 102),
|
|
57
|
+
// Metrics theme constants (professional dashboard specialty palette).
|
|
58
|
+
metricsCyan: rgb(6, 182, 212),
|
|
59
|
+
metricsTeal: rgb(20, 184, 166),
|
|
60
|
+
metricsNavy: rgb(10, 25, 41),
|
|
61
|
+
metricsSlate: rgb(30, 41, 59),
|
|
62
|
+
metricsSilver: rgb(203, 213, 225),
|
|
63
|
+
metricsWhite: rgb(241, 245, 249),
|
|
64
|
+
metricsAmber: rgb(245, 158, 11),
|
|
65
|
+
metricsGreen: rgb(34, 197, 94),
|
|
66
|
+
metricsRed: rgb(239, 68, 68),
|
|
67
|
+
metricsBlue: rgb(59, 130, 246),
|
|
68
|
+
metricsViolet: rgb(139, 92, 246),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export function buildBrandHex(palette) {
|
|
72
|
+
return {
|
|
73
|
+
dark: activeThemeHexByRole("control.bg"),
|
|
74
|
+
surface: activeThemeHexByPrimitive("surface"),
|
|
75
|
+
cyan: activeThemeHexByRole("route.active"),
|
|
76
|
+
mint: activeThemeHexByRole("evidence.pass"),
|
|
77
|
+
magenta: activeThemeHexByPrimitive("magenta"),
|
|
78
|
+
purple: activeThemeHexByRole("control.accent"),
|
|
79
|
+
amber: activeThemeHexByRole("route.fallback"),
|
|
80
|
+
red: activeThemeHexByRole("telemetry.error"),
|
|
81
|
+
cream: activeThemeHexByRole("control.fg"),
|
|
82
|
+
muted: activeThemeHexByPrimitive("muted"),
|
|
83
|
+
gray: activeThemeHexByRole("control.dim"),
|
|
84
|
+
gridLine: rgbToHex(palette.gridLine),
|
|
85
|
+
sparkleWhite: rgbToHex(palette.sparkleWhite),
|
|
86
|
+
sparkleGold: rgbToHex(palette.sparkleGold),
|
|
87
|
+
rustEmber: rgbToHex(palette.rustEmber),
|
|
88
|
+
rustCrimson: rgbToHex(palette.rustCrimson),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export const P = buildBrandPalette();
|
|
92
|
+
export const BRAND_HEX = buildBrandHex(P);
|
|
93
|
+
function assignRgb(target, next) {
|
|
94
|
+
const mutable = target;
|
|
95
|
+
mutable.r = next.r;
|
|
96
|
+
mutable.g = next.g;
|
|
97
|
+
mutable.b = next.b;
|
|
98
|
+
}
|
|
99
|
+
function updatePaletteInPlace(target, next) {
|
|
100
|
+
for (const key of Object.keys(next)) {
|
|
101
|
+
assignRgb(target[key], next[key]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function updateHexInPlace(target, next) {
|
|
105
|
+
for (const key of Object.keys(next)) {
|
|
106
|
+
target[key] = next[key];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export function setBrandPaletteTheme(name) {
|
|
110
|
+
const resolved = setActiveBrandTheme(name);
|
|
111
|
+
updatePaletteInPlace(P, buildBrandPalette());
|
|
112
|
+
updateHexInPlace(BRAND_HEX, buildBrandHex(P));
|
|
113
|
+
return resolved;
|
|
114
|
+
}
|
|
115
|
+
export function resetBrandPaletteTheme() {
|
|
116
|
+
return setBrandPaletteTheme("night-city");
|
|
117
|
+
}
|
|
42
118
|
export function hexToRgb(hex) {
|
|
43
119
|
const normalized = hex.replace("#", "").trim();
|
|
44
120
|
const m = normalized.match(/^(?:[0-9a-fA-F]{3}){1,2}$/);
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../schemas/omk.theme.v1.schema.json",
|
|
3
|
+
"schemaVersion": "omk.theme.v1",
|
|
4
|
+
"name": "rust-forge",
|
|
5
|
+
"displayName": "OMK Rust Forge — Standalone Oxidized Forge Console",
|
|
6
|
+
"mode": "dark",
|
|
7
|
+
"primitives": {
|
|
8
|
+
"iron": "#0E0B09",
|
|
9
|
+
"coal": "#080605",
|
|
10
|
+
"forge": "#1A1310",
|
|
11
|
+
"anvil": "#241914",
|
|
12
|
+
"rust": "#FF6A3D",
|
|
13
|
+
"molten": "#FF7A4A",
|
|
14
|
+
"copper": "#E08A4B",
|
|
15
|
+
"ember": "#FFB454",
|
|
16
|
+
"oxide": "#4FB39B",
|
|
17
|
+
"quench": "#78E4C9",
|
|
18
|
+
"verdigris": "#6FD7B8",
|
|
19
|
+
"crimson": "#FF5468",
|
|
20
|
+
"steel": "#9FB0BD",
|
|
21
|
+
"scale": "#BFA08A",
|
|
22
|
+
"ash": "#C9B8A8",
|
|
23
|
+
"slag": "#8F7B6D",
|
|
24
|
+
"bone": "#F2E4D6"
|
|
25
|
+
},
|
|
26
|
+
"backgrounds": [
|
|
27
|
+
"iron",
|
|
28
|
+
"forge"
|
|
29
|
+
],
|
|
30
|
+
"semantics": {
|
|
31
|
+
"route.active": {
|
|
32
|
+
"color": "rust",
|
|
33
|
+
"glyph": "▸",
|
|
34
|
+
"usage": "text"
|
|
35
|
+
},
|
|
36
|
+
"route.fallback": {
|
|
37
|
+
"color": "copper",
|
|
38
|
+
"glyph": "↻",
|
|
39
|
+
"usage": "text"
|
|
40
|
+
},
|
|
41
|
+
"route.dead": {
|
|
42
|
+
"color": "crimson",
|
|
43
|
+
"glyph": "✕",
|
|
44
|
+
"usage": "text"
|
|
45
|
+
},
|
|
46
|
+
"evidence.pass": {
|
|
47
|
+
"color": "oxide",
|
|
48
|
+
"glyph": "✓",
|
|
49
|
+
"usage": "text"
|
|
50
|
+
},
|
|
51
|
+
"evidence.fail": {
|
|
52
|
+
"color": "crimson",
|
|
53
|
+
"glyph": "✗",
|
|
54
|
+
"usage": "text"
|
|
55
|
+
},
|
|
56
|
+
"evidence.pending": {
|
|
57
|
+
"color": "ember",
|
|
58
|
+
"glyph": "◐",
|
|
59
|
+
"usage": "text"
|
|
60
|
+
},
|
|
61
|
+
"dag.lane.running": {
|
|
62
|
+
"color": "rust",
|
|
63
|
+
"glyph": "▶",
|
|
64
|
+
"usage": "text"
|
|
65
|
+
},
|
|
66
|
+
"dag.lane.blocked": {
|
|
67
|
+
"color": "copper",
|
|
68
|
+
"glyph": "⏸",
|
|
69
|
+
"usage": "text"
|
|
70
|
+
},
|
|
71
|
+
"dag.lane.done": {
|
|
72
|
+
"color": "verdigris",
|
|
73
|
+
"glyph": "●",
|
|
74
|
+
"usage": "text"
|
|
75
|
+
},
|
|
76
|
+
"dag.lane.queued": {
|
|
77
|
+
"color": "slag",
|
|
78
|
+
"glyph": "◌",
|
|
79
|
+
"usage": "text",
|
|
80
|
+
"adjusted": {
|
|
81
|
+
"original": "#6E5B4E",
|
|
82
|
+
"crBefore": 2.86,
|
|
83
|
+
"crAfter": 4.56
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"telemetry.info": {
|
|
87
|
+
"color": "bone",
|
|
88
|
+
"glyph": "·",
|
|
89
|
+
"usage": "text"
|
|
90
|
+
},
|
|
91
|
+
"telemetry.warn": {
|
|
92
|
+
"color": "ember",
|
|
93
|
+
"glyph": "▲",
|
|
94
|
+
"usage": "text"
|
|
95
|
+
},
|
|
96
|
+
"telemetry.error": {
|
|
97
|
+
"color": "crimson",
|
|
98
|
+
"glyph": "✖",
|
|
99
|
+
"usage": "text"
|
|
100
|
+
},
|
|
101
|
+
"control.accent": {
|
|
102
|
+
"color": "rust",
|
|
103
|
+
"glyph": "◆",
|
|
104
|
+
"kind": "chrome",
|
|
105
|
+
"usage": "indicator"
|
|
106
|
+
},
|
|
107
|
+
"control.dim": {
|
|
108
|
+
"color": "steel",
|
|
109
|
+
"glyph": "┊",
|
|
110
|
+
"kind": "chrome",
|
|
111
|
+
"usage": "text"
|
|
112
|
+
},
|
|
113
|
+
"control.fg": {
|
|
114
|
+
"color": "bone",
|
|
115
|
+
"kind": "chrome",
|
|
116
|
+
"usage": "text"
|
|
117
|
+
},
|
|
118
|
+
"control.bg": {
|
|
119
|
+
"color": "iron",
|
|
120
|
+
"kind": "background",
|
|
121
|
+
"usage": "background"
|
|
122
|
+
},
|
|
123
|
+
"forge.heat": {
|
|
124
|
+
"color": "molten",
|
|
125
|
+
"glyph": "▰",
|
|
126
|
+
"usage": "text"
|
|
127
|
+
},
|
|
128
|
+
"forge.anvil": {
|
|
129
|
+
"color": "scale",
|
|
130
|
+
"glyph": "▣",
|
|
131
|
+
"usage": "text"
|
|
132
|
+
},
|
|
133
|
+
"forge.quench": {
|
|
134
|
+
"color": "quench",
|
|
135
|
+
"glyph": "◈",
|
|
136
|
+
"usage": "text"
|
|
137
|
+
},
|
|
138
|
+
"forge.slag": {
|
|
139
|
+
"color": "slag",
|
|
140
|
+
"glyph": "◌",
|
|
141
|
+
"usage": "text",
|
|
142
|
+
"adjusted": {
|
|
143
|
+
"original": "#6E5B4E",
|
|
144
|
+
"crBefore": 2.86,
|
|
145
|
+
"crAfter": 4.56
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"components": {
|
|
150
|
+
"statusCard": {
|
|
151
|
+
"border": "control.accent",
|
|
152
|
+
"title": "control.fg",
|
|
153
|
+
"body": "telemetry.info",
|
|
154
|
+
"meta": "control.dim"
|
|
155
|
+
},
|
|
156
|
+
"routerTable": {
|
|
157
|
+
"active": "route.active",
|
|
158
|
+
"fallback": "route.fallback",
|
|
159
|
+
"dead": "route.dead",
|
|
160
|
+
"header": "control.accent"
|
|
161
|
+
},
|
|
162
|
+
"evidenceGate": {
|
|
163
|
+
"pass": "evidence.pass",
|
|
164
|
+
"fail": "evidence.fail",
|
|
165
|
+
"pending": "evidence.pending"
|
|
166
|
+
},
|
|
167
|
+
"dagLanes": {
|
|
168
|
+
"running": "dag.lane.running",
|
|
169
|
+
"blocked": "dag.lane.blocked",
|
|
170
|
+
"done": "dag.lane.done",
|
|
171
|
+
"queued": "dag.lane.queued"
|
|
172
|
+
},
|
|
173
|
+
"logStream": {
|
|
174
|
+
"info": "telemetry.info",
|
|
175
|
+
"warn": "telemetry.warn",
|
|
176
|
+
"error": "telemetry.error",
|
|
177
|
+
"dim": "control.dim"
|
|
178
|
+
},
|
|
179
|
+
"forgeConsole": {
|
|
180
|
+
"heat": "forge.heat",
|
|
181
|
+
"anvil": "forge.anvil",
|
|
182
|
+
"quench": "forge.quench",
|
|
183
|
+
"slag": "forge.slag",
|
|
184
|
+
"title": "control.fg"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"fallback16": {
|
|
188
|
+
"route.active": "brightRed",
|
|
189
|
+
"route.fallback": "brightYellow",
|
|
190
|
+
"route.dead": "brightRed",
|
|
191
|
+
"evidence.pass": "brightGreen",
|
|
192
|
+
"evidence.fail": "brightRed",
|
|
193
|
+
"evidence.pending": "brightYellow",
|
|
194
|
+
"dag.lane.running": "brightRed",
|
|
195
|
+
"dag.lane.blocked": "brightYellow",
|
|
196
|
+
"dag.lane.done": "brightGreen",
|
|
197
|
+
"dag.lane.queued": "white",
|
|
198
|
+
"telemetry.info": "brightWhite",
|
|
199
|
+
"telemetry.warn": "brightYellow",
|
|
200
|
+
"telemetry.error": "brightRed",
|
|
201
|
+
"control.accent": "brightRed",
|
|
202
|
+
"control.dim": "white",
|
|
203
|
+
"control.fg": "brightWhite",
|
|
204
|
+
"control.bg": "black",
|
|
205
|
+
"forge.heat": "brightRed",
|
|
206
|
+
"forge.anvil": "white",
|
|
207
|
+
"forge.quench": "brightGreen",
|
|
208
|
+
"forge.slag": "white"
|
|
209
|
+
},
|
|
210
|
+
"meta": {
|
|
211
|
+
"provenance": "Standalone oxidized rust-forge palette for the OMK orchestration console. Warm coal/iron/anvil backgrounds, rust-orange + molten + copper + ember heat accents, oxide/quench/verdigris patina greens for pass/done, crimson for fail/dead, steel/scale/ash grays, and bone foreground. Forge-specific heat/anvil/quench semantics make OMK control surfaces distinct from provider branding while preserving NO_COLOR glyph safety.",
|
|
212
|
+
"tierAssumptions": "16-color tier gated against stock VGA/xterm ANSI values; terminals with remapped ANSI-16 palettes are outside the contract — glyphs are the safety net. NO_COLOR note: control.dim uses ┊ so logStream info (telemetry.info ·) and dim rows stay distinguishable without color.",
|
|
213
|
+
"omkVersion": "0.78.6",
|
|
214
|
+
"independence": "OMK is the control plane; providers and models are adapter lanes, never the product identity or final authority."
|
|
215
|
+
}
|
|
216
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OMK brand -- theme-compiled color source (theme contract T5b).
|
|
3
|
+
*
|
|
4
|
+
* Single bridge between canonical omk.theme.v1 documents and the brand
|
|
5
|
+
* palette/UI layers. Brand chrome defaults to night-city for byte parity, and
|
|
6
|
+
* can be switched at process edges to rust-forge without changing import shapes.
|
|
7
|
+
*
|
|
8
|
+
* Imports target the concrete src/cli/theme modules (render-table,
|
|
9
|
+
* terminal-capability, oklab-quantize) rather than the barrel to avoid a
|
|
10
|
+
* module cycle through theme-registry -> theme/colors -> brand/palette.
|
|
11
|
+
*/
|
|
12
|
+
import type { CompiledTheme, OmkThemeV1 } from "../cli/theme/render-table.js";
|
|
13
|
+
import type { ColorTier } from "../cli/theme/terminal-capability.js";
|
|
14
|
+
/** Plain 0-255 RGB triple used across the brand palette public API. */
|
|
15
|
+
export interface BrandRgb {
|
|
16
|
+
readonly r: number;
|
|
17
|
+
readonly g: number;
|
|
18
|
+
readonly b: number;
|
|
19
|
+
}
|
|
20
|
+
/** Primitive names the legacy brand palette requires from night-city. */
|
|
21
|
+
export type NightCityPrimitive = "dark" | "surface" | "cyan" | "mint" | "magenta" | "purple" | "amber" | "red" | "cream" | "muted" | "gray";
|
|
22
|
+
export type RustForgePrimitive = "iron" | "coal" | "forge" | "anvil" | "rust" | "molten" | "copper" | "ember" | "oxide" | "quench" | "verdigris" | "crimson" | "steel" | "scale" | "ash" | "slag" | "bone";
|
|
23
|
+
export type BrandThemeName = "night-city" | "rust-forge";
|
|
24
|
+
/** Validated night-city theme document (build-time snapshot of themes/). */
|
|
25
|
+
export declare const NIGHT_CITY_THEME: OmkThemeV1;
|
|
26
|
+
/** Validated rust-forge theme document (build-time snapshot of themes/). */
|
|
27
|
+
export declare const RUST_FORGE_THEME: OmkThemeV1;
|
|
28
|
+
export declare function resolveBrandThemeName(name: string | undefined): BrandThemeName;
|
|
29
|
+
export declare function setActiveBrandTheme(name: string | undefined): BrandThemeName;
|
|
30
|
+
export declare function getActiveBrandThemeName(): BrandThemeName;
|
|
31
|
+
export declare function getActiveBrandTheme(): OmkThemeV1;
|
|
32
|
+
export declare function activeThemeHexByRole(role: string): string;
|
|
33
|
+
export declare function brandThemeHexByRole(name: BrandThemeName, role: string): string;
|
|
34
|
+
export declare function brandThemeRgbByRole(name: BrandThemeName, role: string): BrandRgb;
|
|
35
|
+
export declare function activeThemeRgbByRole(role: string): BrandRgb;
|
|
36
|
+
export declare function activeThemeHexByPrimitive(primitive: string): string;
|
|
37
|
+
/** Canonical normalized uppercase hex string for a night-city primitive. */
|
|
38
|
+
export declare function nightCityHex(primitive: NightCityPrimitive): string;
|
|
39
|
+
/** 0-255 RGB triple for a night-city primitive. */
|
|
40
|
+
export declare function nightCityRgb(primitive: NightCityPrimitive): BrandRgb;
|
|
41
|
+
/** Convert an RGB triple to canonical uppercase hex (no literal hex in source). */
|
|
42
|
+
export declare function rgbToHex(color: BrandRgb): string;
|
|
43
|
+
/**
|
|
44
|
+
* Compiled active brand render table for the requested (default: detected)
|
|
45
|
+
* degradation tier. The cache key includes both theme name and tier.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getCompiledBrandTheme(tier?: ColorTier): CompiledTheme;
|
|
48
|
+
/** Paint text with an active-brand semantic token at the detected color tier. */
|
|
49
|
+
export declare function brandPaint(role: string, text: string): string;
|
|
50
|
+
export declare function getActiveBrandChromeLabel(): string;
|
|
51
|
+
export declare function getActiveBrandCockpitSubtitle(): string;
|
|
52
|
+
export declare function getActiveBrandCockpitDetail(): string;
|
|
53
|
+
export declare function getActiveBrandHudStatus(): string;
|
|
54
|
+
export declare function getActiveBrandConsoleLine(): string;
|
|
55
|
+
/**
|
|
56
|
+
* Unconditional truecolor SGR open sequence for a brand RGB value, produced
|
|
57
|
+
* through the theme compiler (single SGR factory -- no escape literals here).
|
|
58
|
+
* Brand theme constants intentionally stay truecolor for byte parity with the
|
|
59
|
+
* legacy palette; tier-aware rendering should use `getCompiledBrandTheme()`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function brandTruecolorSgr(color: BrandRgb): string;
|