-
{meta.title ?? fieldKey}
-
Unsupported schema type: {meta.type}
+
+ {meta.title ?? fieldKey}
+ Unsupported schema type: {meta.type}
)
diff --git a/packages/@overeng/effect-schema-form-aria/src/mod.ts b/packages/@overeng/effect-schema-form-aria/src/mod.ts
index af9da6bc83..6541d95325 100644
--- a/packages/@overeng/effect-schema-form-aria/src/mod.ts
+++ b/packages/@overeng/effect-schema-form-aria/src/mod.ts
@@ -13,5 +13,7 @@ export { NumberField, type NumberFieldProps } from './components/NumberField.tsx
/** Styled components for building custom field renderers */
export { TextField, type TextFieldProps } from './components/TextField.tsx'
export { UnknownField, type UnknownFieldProps } from './components/UnknownField.tsx'
+/** Semantic design tokens (StyleX vars) */
+export { tokens } from './tokens.stylex.ts'
/** Field renderers for use with SchemaFormProvider */
export { ariaRenderers } from './renderers.tsx'
diff --git a/packages/@overeng/effect-schema-form-aria/src/mod.unit.test.tsx b/packages/@overeng/effect-schema-form-aria/src/mod.unit.test.tsx
index c7535da34a..0ac5c4b646 100644
--- a/packages/@overeng/effect-schema-form-aria/src/mod.unit.test.tsx
+++ b/packages/@overeng/effect-schema-form-aria/src/mod.unit.test.tsx
@@ -43,7 +43,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
"`,
+ `"
"`,
)
})
@@ -76,7 +76,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
"`,
+ `"
"`,
)
})
@@ -94,7 +94,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
"`,
+ `"
"`,
)
})
@@ -113,7 +113,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
ChooseChoose "`,
+ `"
ChooseChoose "`,
)
})
@@ -137,7 +137,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
itemsUnsupported schema type: unknown
No additional options
"`,
+ `"
itemsUnsupported schema type: unknown
No additional options
"`,
)
})
@@ -166,7 +166,7 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
)
expect(html).toMatchInlineSnapshot(
- `"
mode itemsUnsupported schema type: unknown
"`,
+ `"
mode itemsUnsupported schema type: unknown
"`,
)
})
@@ -179,6 +179,6 @@ describe('effect-schema-form-aria baselines (cross-major invariant)', () => {
/>,
)
- expect(html).toMatchInlineSnapshot(`"
"`)
+ expect(html).toMatchInlineSnapshot(`"
"`)
})
})
diff --git a/packages/@overeng/effect-schema-form-aria/src/styles.css b/packages/@overeng/effect-schema-form-aria/src/styles.css
index cd71c8f5bc..5c08577d14 100644
--- a/packages/@overeng/effect-schema-form-aria/src/styles.css
+++ b/packages/@overeng/effect-schema-form-aria/src/styles.css
@@ -1,25 +1,53 @@
-@import 'tailwindcss';
+/* Base/reset layer. Component styling lives in StyleX (tokens.stylex.ts +
+ * per-component stylex.create calls); this file carries only what Tailwind's
+ * preflight used to provide implicitly. It also gives bundlers a CSS asset
+ * for StyleX CSS aggregation.
+ *
+ * Subset of Tailwind v4 preflight (MIT, tailwindlabs/tailwindcss) required
+ * for pixel parity of migrated components. If another package adopts StyleX,
+ * reuse or import this instead of re-deriving it. */
+*,
+::after,
+::before,
+::backdrop,
+::file-selector-button {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ border: 0 solid;
+}
+
+html,
+:host {
+ line-height: 1.5;
+ -webkit-text-size-adjust: 100%;
+ tab-size: 4;
+ font-family:
+ ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
+ 'Noto Color Emoji';
+}
+
+body {
+ line-height: inherit;
+}
-:root {
- --color-ink: #1a1a1a;
- --color-subtle-ink: #6b7280;
- --color-muted-ink: #9ca3af;
- --color-border: #e5e7eb;
- --color-input: #ffffff;
- --color-surface: #f9fafb;
- --color-surface-raised: #f3f4f6;
- --color-primary: #3b82f6;
- --color-accent: #3b82f6;
+button,
+input,
+optgroup,
+select,
+textarea {
+ font: inherit;
+ font-feature-settings: inherit;
+ font-variation-settings: inherit;
+ letter-spacing: inherit;
+ color: inherit;
+ opacity: 1;
+ background-color: transparent;
+ border-radius: 0;
}
-@theme {
- --color-ink: var(--color-ink);
- --color-subtle-ink: var(--color-subtle-ink);
- --color-muted-ink: var(--color-muted-ink);
- --color-border: var(--color-border);
- --color-input: var(--color-input);
- --color-surface: var(--color-surface);
- --color-surface-raised: var(--color-surface-raised);
- --color-primary: var(--color-primary);
- --color-accent: var(--color-accent);
+button,
+input:where([type='button'], [type='reset'], [type='submit']),
+::file-selector-button {
+ appearance: button;
}
diff --git a/packages/@overeng/effect-schema-form-aria/src/tokens.stylex.ts b/packages/@overeng/effect-schema-form-aria/src/tokens.stylex.ts
new file mode 100644
index 0000000000..e90d1b6815
--- /dev/null
+++ b/packages/@overeng/effect-schema-form-aria/src/tokens.stylex.ts
@@ -0,0 +1,21 @@
+import * as stylex from '@stylexjs/stylex'
+
+/**
+ * Semantic design tokens for effect-schema-form-aria.
+ *
+ * Components consume only these semantic names — never raw colors or sizes.
+ * Raw scales (spacing, radii, fontSizes) come from tailwind-stylex; re-anchoring
+ * these defaults onto named scale steps is a follow-up design decision that
+ * must not require component changes.
+ */
+export const tokens = stylex.defineVars({
+ ink: '#1a1a1a',
+ 'subtle-ink': '#6b7280',
+ 'muted-ink': '#9ca3af',
+ border: '#e5e7eb',
+ input: '#ffffff',
+ surface: '#f9fafb',
+ 'surface-raised': '#f3f4f6',
+ primary: '#3b82f6',
+ accent: '#3b82f6',
+})
diff --git a/packages/@overeng/effect-schema-form-aria/tsconfig.json b/packages/@overeng/effect-schema-form-aria/tsconfig.json
index db8e55ede3..7537451b98 100644
--- a/packages/@overeng/effect-schema-form-aria/tsconfig.json
+++ b/packages/@overeng/effect-schema-form-aria/tsconfig.json
@@ -42,7 +42,7 @@
}
],
"composite": true,
- "rootDir": ".",
+ "rootDir": "./src",
"tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo",
"jsx": "react-jsx"
},
diff --git a/packages/@overeng/effect-schema-form-aria/tsconfig.json.genie.ts b/packages/@overeng/effect-schema-form-aria/tsconfig.json.genie.ts
index 2f9a3d4585..d259e12cbb 100644
--- a/packages/@overeng/effect-schema-form-aria/tsconfig.json.genie.ts
+++ b/packages/@overeng/effect-schema-form-aria/tsconfig.json.genie.ts
@@ -11,6 +11,7 @@ export default tsconfigJson({
...baseTsconfigCompilerOptions,
...packageTsconfigCompilerOptions,
...reactJsx,
+ rootDir: './src',
lib: [...domLib],
},
include: ['src/**/*'],
diff --git a/packages/@overeng/effect-schema-form-aria/vite.config.ts b/packages/@overeng/effect-schema-form-aria/vite.config.ts
index 888ede1123..429028c870 100644
--- a/packages/@overeng/effect-schema-form-aria/vite.config.ts
+++ b/packages/@overeng/effect-schema-form-aria/vite.config.ts
@@ -1,7 +1,44 @@
-import tailwindcss from '@tailwindcss/vite'
+import { unplugin as stylex } from '@stylexjs/unplugin'
import react from '@vitejs/plugin-react'
-import { defineConfig } from 'vite'
+import { defineConfig, type Plugin } from 'vite'
+
+const publicationEntry = new URL('./src/mod.ts', import.meta.url).pathname
+const resetStylesheet = new URL('./src/styles.css', import.meta.url).pathname
+
+const includePublicationReset = {
+ name: 'effect-schema-form-aria:publication-reset',
+ apply: 'build',
+ enforce: 'pre',
+ // oxlint-disable-next-line overeng/named-args -- Vite's Plugin transform hook has a fixed positional signature.
+ transform: (code, id) =>
+ id === publicationEntry
+ ? { code: `import ${JSON.stringify(resetStylesheet)}\n${code}`, map: null }
+ : undefined,
+} satisfies Plugin
export default defineConfig({
- plugins: [react(), tailwindcss()],
+ plugins: [
+ includePublicationReset,
+ stylex.vite({ externalPackages: ['tailwind-stylex'] }),
+ react(),
+ ],
+ build: {
+ emptyOutDir: false,
+ lib: {
+ entry: publicationEntry,
+ formats: ['es'],
+ fileName: 'mod',
+ cssFileName: 'styles',
+ },
+ rollupOptions: {
+ external: [
+ /^@overeng\/effect-schema-form(?:\/|$)/,
+ /^@stylexjs\/stylex(?:\/|$)/,
+ /^effect(?:\/|$)/,
+ /^react(?:\/|$)/,
+ /^react-aria-components(?:\/|$)/,
+ ],
+ },
+ sourcemap: true,
+ },
})
diff --git a/packages/@overeng/effect-schema-form-aria/vitest.config.ts b/packages/@overeng/effect-schema-form-aria/vitest.config.ts
index 6b501f392c..53bb265e15 100644
--- a/packages/@overeng/effect-schema-form-aria/vitest.config.ts
+++ b/packages/@overeng/effect-schema-form-aria/vitest.config.ts
@@ -1,8 +1,16 @@
+import { unplugin as stylex } from '@stylexjs/unplugin'
+import react from '@vitejs/plugin-react'
import { defineConfig } from 'vitest/config'
-// The root project config does not resolve correctly from this package task's cwd.
+// StyleX styles are compiled away at build time, so unit tests that render
+// components need the same transform the bundler applies. The token package
+// ships uncompiled StyleX source and must be inlined so the plugin can
+// transform it.
export default defineConfig({
+ plugins: [stylex.vite({ externalPackages: ['tailwind-stylex'] }), react()],
+ ssr: { noExternal: ['tailwind-stylex'] },
test: {
- include: ['src/**/*.unit.test.ts', 'src/**/*.unit.test.tsx'],
+ exclude: ['**/dist/**', '**/node_modules/**'],
+ server: { deps: { inline: ['@effect/vitest'] } },
},
})
diff --git a/packages/@overeng/genie/nix/build.nix b/packages/@overeng/genie/nix/build.nix
index 117a1c71f0..26b0b99e91 100644
--- a/packages/@overeng/genie/nix/build.nix
+++ b/packages/@overeng/genie/nix/build.nix
@@ -26,7 +26,7 @@ let
workspaceRoot = src;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-J0yUHnU6yMx4qPOvmJUdI18dfF8BBJ3nJqcGw/4lH54=";
+ "." = mkSharedHash "sha256-sszG2PkPQLyYX7o5EJPnH7mPUvMqDrSglVMx9BtwOM4=";
};
nativeNodePackages = opentuiCoreNative.packages;
inherit gitRev commitTs dirty;
diff --git a/packages/@overeng/megarepo/nix/build.nix b/packages/@overeng/megarepo/nix/build.nix
index e847d51b08..9b66092668 100644
--- a/packages/@overeng/megarepo/nix/build.nix
+++ b/packages/@overeng/megarepo/nix/build.nix
@@ -24,7 +24,7 @@ let
workspaceRoot = src;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-JJJ+hhyzFMNd5wKyALJQBVXngk2Ylfy6DLlBvmCyE2o=";
+ "." = mkSharedHash "sha256-VeOwCek8452/uHVBRt2BF/fmUamfQtpoEnJ8HP137IU=";
};
nativeNodePackages = opentuiCoreNative.packages;
smokeTestArgs = [ "--help" ];
diff --git a/packages/@overeng/notion-cli/nix/build.nix b/packages/@overeng/notion-cli/nix/build.nix
index f2b77906a8..361e05fe77 100644
--- a/packages/@overeng/notion-cli/nix/build.nix
+++ b/packages/@overeng/notion-cli/nix/build.nix
@@ -33,7 +33,7 @@ let
installRuntimeWorkspace = true;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-aAe1XrnUtBQ2nHwkyHQP4NtMGTot3zPnCw+pWMA6VXw=";
+ "." = mkSharedHash "sha256-S5vHlu4oebOos4rD6Hn9skWl/Fs4bmZtoIAuqVUaDTY=";
};
nativeNodePackages = opentuiCoreNative.packages;
inherit gitRev commitTs dirty;
diff --git a/packages/@overeng/notion-md/nix/build.nix b/packages/@overeng/notion-md/nix/build.nix
index f2f2349a5c..140f966598 100644
--- a/packages/@overeng/notion-md/nix/build.nix
+++ b/packages/@overeng/notion-md/nix/build.nix
@@ -20,7 +20,7 @@ let
workspaceRoot = src;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-r7cRvEZXiiMF0keqA/SL5mKMxU8fPmIM6Q3tpbNJTRI=";
+ "." = mkSharedHash "sha256-4Q4C7/D14vwwxkhi6RELaDwkEiPY8cSLEb1Cw4/weD4=";
};
smokeTestArgs = [ "--help" ];
inherit gitRev commitTs dirty;
diff --git a/packages/@overeng/npm-release/nix/build.nix b/packages/@overeng/npm-release/nix/build.nix
index 22fd24e5dc..b641f9e952 100644
--- a/packages/@overeng/npm-release/nix/build.nix
+++ b/packages/@overeng/npm-release/nix/build.nix
@@ -20,7 +20,7 @@ let
workspaceRoot = src;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-sVdFxuhHf+CAUvCEE0jLxzI2scjS54zVXBzYXcflm2Y=";
+ "." = mkSharedHash "sha256-LnpxdiPD0Yju+14FFlhi7BwziMO3ly1V8gTI3WeGd90=";
};
smokeTestArgs = [ "--help" ];
inherit gitRev commitTs dirty;
diff --git a/packages/@overeng/tui-stories/nix/build.nix b/packages/@overeng/tui-stories/nix/build.nix
index 4e1b549149..db64990c1a 100644
--- a/packages/@overeng/tui-stories/nix/build.nix
+++ b/packages/@overeng/tui-stories/nix/build.nix
@@ -21,7 +21,7 @@ let
workspaceRoot = src;
# Managed by the repo FOD refresh workflow — do not edit manually.
depsBuilds = {
- "." = mkSharedHash "sha256-b3oG3HSzjSaCGLFJuVS5/AbO1WiM9rYoiQEW3uvd+W8=";
+ "." = mkSharedHash "sha256-WhGtQktuPZ25tySU4NhAmA2pKGAmnVY2kQrjUvjJpXE=";
};
nativeNodePackages = opentuiCoreNative.packages;
inherit gitRev commitTs dirty;
diff --git a/packages/@overeng/utils/package.json b/packages/@overeng/utils/package.json
index 3824710c0c..65ef734f97 100644
--- a/packages/@overeng/utils/package.json
+++ b/packages/@overeng/utils/package.json
@@ -52,6 +52,7 @@
"@opentelemetry/api": "1.9.1",
"@overeng/effect-distributed-lock": "workspace:^",
"@overeng/otel-contract": "workspace:^",
+ "@stylexjs/unplugin": "0.19.0",
"effect": "4.0.0-rc.111",
"vitest": "4.1.9"
},
diff --git a/packages/@overeng/utils/package.json.genie.ts b/packages/@overeng/utils/package.json.genie.ts
index eb3074f38c..001806db02 100644
--- a/packages/@overeng/utils/package.json.genie.ts
+++ b/packages/@overeng/utils/package.json.genie.ts
@@ -24,7 +24,7 @@ const runtimeDeps = catalog.compose({
workspace: workspaceMember({ memberPath: 'packages/@overeng/utils' }),
dependencies: {
workspace: [effectDistributedLockPkg, otelContractPkg],
- external: catalog.pick('@noble/hashes', '@opentelemetry/api'),
+ external: catalog.pick('@noble/hashes', '@opentelemetry/api', '@stylexjs/unplugin'),
},
devDependencies: {
workspace: [utilsDevPkg],
diff --git a/packages/@overeng/utils/src/node/storybook/config/mod.ts b/packages/@overeng/utils/src/node/storybook/config/mod.ts
index 8e0d7615df..3f19ef9528 100644
--- a/packages/@overeng/utils/src/node/storybook/config/mod.ts
+++ b/packages/@overeng/utils/src/node/storybook/config/mod.ts
@@ -9,6 +9,7 @@
*/
import type { StorybookConfig } from '@storybook/react-vite'
+import { unplugin as stylex } from '@stylexjs/unplugin'
import type { InlineConfig } from 'vite'
type StorybookViteFinal
= (config: TConfig) => TConfig | Promise
@@ -21,6 +22,8 @@ export interface DomStorybookConfigOptions {
addons?: StorybookConfig['addons']
/** Disable minification (useful for react-inspector to preserve function names) */
disableMinify?: boolean
+ /** Enable the StyleX Vite plugin (`@stylexjs/unplugin`) for StyleX-based styling */
+ stylex?: boolean
}
/** Use when the consuming workspace needs its own local Vite config type for `viteFinal`. */
@@ -108,6 +111,7 @@ export const createDomStorybookConfig: CreateDomStorybookConfig = [0]
+ typedConfig.plugins = [stylex.vite(stylexOptions), ...(typedConfig.plugins ?? [])]
+ }
+
return callUserViteFinal({ config: typedConfig, viteFinal })
},
} satisfies StorybookConfig
diff --git a/packages/@overeng/utils/src/node/storybook/config/mod.unit.test.ts b/packages/@overeng/utils/src/node/storybook/config/mod.unit.test.ts
new file mode 100644
index 0000000000..51b920021d
--- /dev/null
+++ b/packages/@overeng/utils/src/node/storybook/config/mod.unit.test.ts
@@ -0,0 +1,36 @@
+import { expect } from 'vitest'
+
+import { Vitest } from '@overeng/utils-dev/node-vitest'
+
+import { shouldNeverHappen } from '../../../isomorphic/core.ts'
+import { createDomStorybookConfig } from './mod.ts'
+
+const runViteFinal = async (stylex: boolean) => {
+ const existingPlugin = { name: 'existing' }
+ const viteFinal = createDomStorybookConfig({ stylex }).viteFinal
+
+ if (viteFinal === undefined) {
+ return shouldNeverHappen('Expected createDomStorybookConfig to define viteFinal')
+ }
+
+ const config = { plugins: [existingPlugin] } as Parameters[0]
+ const options = {} as Parameters[1]
+ const result = await viteFinal(config, options)
+
+ return { existingPlugin, result }
+}
+
+Vitest.describe('createDomStorybookConfig', () => {
+ Vitest.it('leaves the plugin list unchanged when StyleX is disabled', async () => {
+ const { existingPlugin, result } = await runViteFinal(false)
+
+ expect(result.plugins).toEqual([existingPlugin])
+ })
+
+ Vitest.it('prepends the StyleX plugin when explicitly enabled', async () => {
+ const { existingPlugin, result } = await runViteFinal(true)
+
+ expect(result.plugins).toHaveLength(2)
+ expect(result.plugins?.[1]).toBe(existingPlugin)
+ })
+})
diff --git a/pnpm-install-contract.json b/pnpm-install-contract.json
index c67d06f50a..f6498548ac 100644
--- a/pnpm-install-contract.json
+++ b/pnpm-install-contract.json
@@ -27,6 +27,7 @@
"ignoreScripts": true,
"minimumReleaseAgeExclude": [
"@types/node",
+ "tailwind-stylex",
"effect",
"@effect/platform-node",
"@effect/vitest",
@@ -48,6 +49,7 @@
"allowedVersions": {
"eslint": ">=10.0.0",
"typescript": ">=6.0.0",
+ "unplugin": ">=3.0.0",
"vitest": ">=4.0.0"
}
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6afb591c68..95e084dfcf 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -37,7 +37,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
effect:
specifier: 4.0.0-rc.111
version: 4.0.0-rc.111
@@ -377,6 +377,21 @@ importers:
'@overeng/effect-schema-form':
specifier: workspace:^
version: link:../effect-schema-form
+ '@stylexjs/stylex':
+ specifier: 0.19.0
+ version: 0.19.0
+ react:
+ specifier: ^19.2.7
+ version: 19.2.7
+ react-aria-components:
+ specifier: ^1.19.0
+ version: 1.19.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react-dom:
+ specifier: ^19.2.7
+ version: 19.2.7(react@19.2.7)
+ tailwind-stylex:
+ specifier: 0.1.1
+ version: 0.1.1(@stylexjs/stylex@0.19.0)
devDependencies:
'@overeng/utils':
specifier: workspace:^
@@ -387,9 +402,9 @@ importers:
'@storybook/react-vite':
specifier: 10.4.6
version: 10.4.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(esbuild@0.27.7)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.4.6(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(prettier@3.8.4)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(typescript@6.0.3)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
- '@tailwindcss/vite':
- specifier: 4.3.1
- version: 4.3.1(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
+ '@stylexjs/unplugin':
+ specifier: 0.19.0
+ version: 0.19.0(unplugin@3.0.0)
'@types/react':
specifier: 19.2.17
version: 19.2.17
@@ -402,21 +417,9 @@ importers:
effect:
specifier: 4.0.0-rc.111
version: 4.0.0-rc.111
- react:
- specifier: 19.2.7
- version: 19.2.7
- react-aria-components:
- specifier: 1.19.0
- version: 1.19.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- react-dom:
- specifier: 19.2.7
- version: 19.2.7(react@19.2.7)
storybook:
specifier: 10.4.6
version: 10.4.6(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(prettier@3.8.4)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
- tailwindcss:
- specifier: 4.3.1
- version: 4.3.1
typescript:
specifier: 6.0.3
version: 6.0.3
@@ -446,7 +449,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/otel-contract':
specifier: workspace:^
version: link:../otel-contract
@@ -577,7 +580,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/effect-path':
specifier: workspace:^
version: link:../effect-path
@@ -680,7 +683,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/effect-path':
specifier: workspace:^
version: link:../effect-path
@@ -832,7 +835,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@playwright/test':
specifier: 1.61.0
version: 1.61.0
@@ -1003,7 +1006,7 @@ importers:
version: 4.0.0-rc.111(effect@4.0.0-rc.111)(vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.0)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))
'@overeng/tui-react':
specifier: workspace:^
- version: file:packages/@overeng/tui-react(780db229a3bf93ba66453f6aa9187305)
+ version: link:../tui-react
'@overeng/utils-dev':
specifier: workspace:^
version: link:../utils-dev
@@ -1097,7 +1100,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/notion-effect-client':
specifier: workspace:^
version: link:../notion-effect-client
@@ -1466,7 +1469,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/utils-dev':
specifier: workspace:^
version: link:../utils-dev
@@ -1526,7 +1529,7 @@ importers:
version: 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
'@opentui/react':
specifier: 0.4.1
- version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)
+ version: 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
'@overeng/tui-core':
specifier: workspace:^
version: link:../tui-core
@@ -1609,6 +1612,9 @@ importers:
'@overeng/otel-contract':
specifier: workspace:^
version: link:../otel-contract
+ '@stylexjs/unplugin':
+ specifier: 0.19.0
+ version: 0.19.0(unplugin@3.0.0)
effect:
specifier: 4.0.0-rc.111
version: 4.0.0-rc.111
@@ -1726,6 +1732,10 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
+ '@babel/helper-plugin-utils@7.29.7':
+ resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-string-parser@7.27.1':
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
@@ -1747,6 +1757,24 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/plugin-syntax-flow@7.29.7':
+ resolution: {integrity: sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.29.7':
+ resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.29.7':
+ resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/runtime@7.29.2':
resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
@@ -1763,6 +1791,9 @@ packages:
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@dual-bundle/import-meta-resolve@4.2.1':
+ resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==}
+
'@effect/atom-react@4.0.0-rc.111':
resolution: {integrity: sha512-MQgX2+ayms/J686g19vV2AkLSocMaubZmFf2VFrWN3fwPg60XXsaPtlQKdcsIy/McxVGZYgYUPXBVVtcmUjjSA==}
peerDependencies:
@@ -2259,45 +2290,6 @@ packages:
react-devtools-core: ^7.0.1
ws: ^8.18.0
- '@overeng/content-address@file:packages/@overeng/content-address':
- resolution: {directory: packages/@overeng/content-address, type: directory}
-
- '@overeng/effect-distributed-lock@file:packages/@overeng/effect-distributed-lock':
- resolution: {directory: packages/@overeng/effect-distributed-lock, type: directory}
- peerDependencies:
- effect: ^4.0.0-rc.111
-
- '@overeng/otel-contract@file:packages/@overeng/otel-contract':
- resolution: {directory: packages/@overeng/otel-contract, type: directory}
- peerDependencies:
- effect: ^4.0.0-rc.111
-
- '@overeng/tui-core@file:packages/@overeng/tui-core':
- resolution: {directory: packages/@overeng/tui-core, type: directory}
-
- '@overeng/tui-react@file:packages/@overeng/tui-react':
- resolution: {directory: packages/@overeng/tui-react, type: directory}
- peerDependencies:
- '@effect/atom-react': ^4.0.0-rc.111
- '@effect/platform-node': ^4.0.0-rc.111
- '@opentui/core': ^0.4.1
- '@opentui/react': ^0.4.1
- '@storybook/react': ^10.4.6
- '@types/react': ^19.2.17
- '@types/react-reconciler': ^0.33.0
- effect: ^4.0.0-rc.111
- react: ^19.2.7
- react-dom: ^19.2.7
- react-reconciler: ^0.33.0
-
- '@overeng/utils@file:packages/@overeng/utils':
- resolution: {directory: packages/@overeng/utils, type: directory}
- peerDependencies:
- '@effect/opentelemetry': ^4.0.0-rc.111
- '@effect/platform-node': ^4.0.0-rc.111
- '@playwright/test': ^1.61.0
- effect: ^4.0.0-rc.111
-
'@oxc-parser/binding-android-arm-eabi@0.127.0':
resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2842,102 +2834,22 @@ packages:
typescript:
optional: true
- '@swc/helpers@0.5.21':
- resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==}
+ '@stylexjs/babel-plugin@0.19.0':
+ resolution: {integrity: sha512-2SnVZIl047TtqKW0nRTn7Irz0kmoot1bxdGDE/HwfwfF7dJYHqwkIFg92s87v3hj7zxJobrHWwDx1p3qvQXW4g==}
- '@tailwindcss/node@4.3.1':
- resolution: {integrity: sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==}
-
- '@tailwindcss/oxide-android-arm64@4.3.1':
- resolution: {integrity: sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==}
- engines: {node: '>= 20'}
- cpu: [arm64]
- os: [android]
+ '@stylexjs/shared@0.19.0':
+ resolution: {integrity: sha512-7Yym70cQH5sPzJHgzJX3FkL9ZCptbC3IbiRijN9YLYU/5OywB/3c519Xv1DOzvxqjv8urSxh98/9HxLaPG7sDg==}
- '@tailwindcss/oxide-darwin-arm64@4.3.1':
- resolution: {integrity: sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==}
- engines: {node: '>= 20'}
- cpu: [arm64]
- os: [darwin]
+ '@stylexjs/stylex@0.19.0':
+ resolution: {integrity: sha512-CnUFp7YMaDLDeemsWOfJgoC/gKM5P/yBNMcpJaE6ChJmXr7s0DJwSeGTTlHJcqqwN9OW1qGtmARWLFhGZN1pTA==}
- '@tailwindcss/oxide-darwin-x64@4.3.1':
- resolution: {integrity: sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==}
- engines: {node: '>= 20'}
- cpu: [x64]
- os: [darwin]
-
- '@tailwindcss/oxide-freebsd-x64@4.3.1':
- resolution: {integrity: sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==}
- engines: {node: '>= 20'}
- cpu: [x64]
- os: [freebsd]
-
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1':
- resolution: {integrity: sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==}
- engines: {node: '>= 20'}
- cpu: [arm]
- os: [linux]
-
- '@tailwindcss/oxide-linux-arm64-gnu@4.3.1':
- resolution: {integrity: sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==}
- engines: {node: '>= 20'}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@tailwindcss/oxide-linux-arm64-musl@4.3.1':
- resolution: {integrity: sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==}
- engines: {node: '>= 20'}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@tailwindcss/oxide-linux-x64-gnu@4.3.1':
- resolution: {integrity: sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==}
- engines: {node: '>= 20'}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@tailwindcss/oxide-linux-x64-musl@4.3.1':
- resolution: {integrity: sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==}
- engines: {node: '>= 20'}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@tailwindcss/oxide-wasm32-wasi@4.3.1':
- resolution: {integrity: sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==}
- engines: {node: '>=14.0.0'}
- cpu: [wasm32]
- bundledDependencies:
- - '@napi-rs/wasm-runtime'
- - '@emnapi/core'
- - '@emnapi/runtime'
- - '@tybys/wasm-util'
- - '@emnapi/wasi-threads'
- - tslib
-
- '@tailwindcss/oxide-win32-arm64-msvc@4.3.1':
- resolution: {integrity: sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==}
- engines: {node: '>= 20'}
- cpu: [arm64]
- os: [win32]
-
- '@tailwindcss/oxide-win32-x64-msvc@4.3.1':
- resolution: {integrity: sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==}
- engines: {node: '>= 20'}
- cpu: [x64]
- os: [win32]
-
- '@tailwindcss/oxide@4.3.1':
- resolution: {integrity: sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==}
- engines: {node: '>= 20'}
-
- '@tailwindcss/vite@4.3.1':
- resolution: {integrity: sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==}
+ '@stylexjs/unplugin@0.19.0':
+ resolution: {integrity: sha512-2QwNYovSwarC/M8DLD78857F6MEi4eQ3UYzgdmyg/K7562M/rV1KWptiATxcKgujlUT6ToNy778SOXf4bGK+Bw==}
peerDependencies:
- vite: ^5.2.0 || ^6 || ^7 || ^8
+ unplugin: ^2.3.11
+
+ '@swc/helpers@0.5.21':
+ resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==}
'@tanstack/history@1.162.0':
resolution: {integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==}
@@ -3474,6 +3386,9 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
+ css-mediaquery@0.1.2:
+ resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==}
+
css.escape@1.5.1:
resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
@@ -3553,10 +3468,6 @@ packages:
resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
engines: {node: '>=14'}
- enhanced-resolve@5.21.6:
- resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
- engines: {node: '>=10.13.0'}
-
entities@7.0.1:
resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
engines: {node: '>=0.12'}
@@ -3713,9 +3624,6 @@ packages:
resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
engines: {node: 18 || 20 || >=22}
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
h3@2.0.1-rc.20:
resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==}
engines: {node: '>=20.11.1'}
@@ -3755,6 +3663,9 @@ packages:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
@@ -3930,6 +3841,10 @@ packages:
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
loupe@3.2.1:
resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
@@ -4178,6 +4093,9 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
postcss@8.5.15:
resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
engines: {node: ^10 || ^12 || >=14}
@@ -4421,16 +4339,18 @@ packages:
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
+ styleq@0.2.1:
+ resolution: {integrity: sha512-L0TR0NQb+X4/ktDEKmjWyp27gla+LUYi/by5k5SjKXf6/pvZP7wbwEB5J+tqxdFVPgzbsuz+d4RTScO/QZquBw==}
+
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- tailwindcss@4.3.1:
- resolution: {integrity: sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==}
-
- tapable@2.3.3:
- resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
- engines: {node: '>=6'}
+ tailwind-stylex@0.1.1:
+ resolution: {integrity: sha512-BNzbag4sUQ+d212HkAebjVYpdFGajfnBb4HnC/NwtCZnkqw0pfUbFFOee1NcsS2m9ZCpyK6qvHlv4D6ydePwJw==}
+ engines: {node: '>=22'}
+ peerDependencies:
+ '@stylexjs/stylex': '>=0.15.0'
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -4804,6 +4724,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-plugin-utils@7.29.7': {}
+
'@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
@@ -4819,6 +4741,21 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
+ '@babel/plugin-syntax-flow@7.29.7(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.29.7
+
'@babel/runtime@7.29.2': {}
'@babel/template@7.28.6':
@@ -4844,6 +4781,8 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@dual-bundle/import-meta-resolve@4.2.1': {}
+
'@effect/atom-react@4.0.0-rc.111(effect@4.0.0-rc.111)(react@19.2.7)(scheduler@0.27.0)':
dependencies:
effect: 4.0.0-rc.111
@@ -5262,17 +5201,6 @@ snapshots:
transitivePeerDependencies:
- typescript
- '@opentui/react@0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.0)':
- dependencies:
- '@opentui/core': 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
- react: 19.2.7
- react-devtools-core: 7.0.1
- react-reconciler: 0.33.0(react@19.2.7)
- ws: 8.21.0
- transitivePeerDependencies:
- - typescript
- - web-tree-sitter
-
'@opentui/react@0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)':
dependencies:
'@opentui/core': 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
@@ -5284,97 +5212,6 @@ snapshots:
- typescript
- web-tree-sitter
- '@overeng/content-address@file:packages/@overeng/content-address':
- dependencies:
- '@noble/hashes': 2.2.0
- effect: 4.0.0-rc.111
-
- '@overeng/effect-distributed-lock@file:packages/@overeng/effect-distributed-lock(effect@4.0.0-rc.111)':
- dependencies:
- effect: 4.0.0-rc.111
-
- '@overeng/otel-contract@file:packages/@overeng/otel-contract(effect@4.0.0-rc.111)':
- dependencies:
- '@overeng/content-address': file:packages/@overeng/content-address
- effect: 4.0.0-rc.111
-
- '@overeng/tui-core@file:packages/@overeng/tui-core': {}
-
- '@overeng/tui-react@file:packages/@overeng/tui-react(780db229a3bf93ba66453f6aa9187305)':
- dependencies:
- '@effect/atom-react': 4.0.0-rc.111(effect@4.0.0-rc.111)(react@19.2.7)(scheduler@0.27.0)
- '@effect/opentelemetry': 4.0.0-rc.111(@opentelemetry/api-logs@0.219.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-web@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)(effect@4.0.0-rc.111)
- '@effect/platform-node': 4.0.0-rc.111(effect@4.0.0-rc.111)(redis@6.2.1(@opentelemetry/api@1.9.1))
- '@effect/vitest': 4.0.0-rc.111(effect@4.0.0-rc.111)(vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.0)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))
- '@opentui/core': 0.4.1(typescript@6.0.3)(web-tree-sitter@0.25.10)
- '@opentui/react': 0.4.1(react-devtools-core@7.0.1)(react@19.2.7)(typescript@6.0.3)(web-tree-sitter@0.25.10)(ws@8.21.3)
- '@overeng/tui-core': file:packages/@overeng/tui-core
- '@overeng/utils': file:packages/@overeng/utils(@effect/opentelemetry@4.0.0-rc.111(@opentelemetry/api-logs@0.219.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-web@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)(effect@4.0.0-rc.111))(@effect/platform-node@4.0.0-rc.111(effect@4.0.0-rc.111)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@playwright/test@1.61.0)(@types/node@26.0.0)(effect@4.0.0-rc.111)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
- '@playwright/test': 1.61.0
- '@storybook/react': 10.4.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@10.4.6(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(prettier@3.8.4)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))(typescript@6.0.3)
- '@types/react': 19.2.17
- '@types/react-reconciler': 0.33.0(@types/react@19.2.17)
- '@xterm/addon-fit': 0.11.0
- '@xterm/addon-webgl': 0.19.0
- '@xterm/headless': 6.0.0
- '@xterm/xterm': 6.0.0
- cli-truncate: 6.0.0
- effect: 4.0.0-rc.111
- react: 19.2.7
- react-dom: 19.2.7(react@19.2.7)
- react-reconciler: 0.33.0(react@19.2.7)
- string-width: 8.2.1
- vitest: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.0)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
- yoga-layout: 3.2.1
- transitivePeerDependencies:
- - '@edge-runtime/vm'
- - '@opentelemetry/api'
- - '@opentelemetry/api-logs'
- - '@opentelemetry/resources'
- - '@opentelemetry/sdk-logs'
- - '@opentelemetry/sdk-metrics'
- - '@opentelemetry/sdk-trace-base'
- - '@opentelemetry/sdk-trace-node'
- - '@opentelemetry/sdk-trace-web'
- - '@opentelemetry/semantic-conventions'
- - '@types/node'
- - '@vitest/browser-playwright'
- - '@vitest/browser-preview'
- - '@vitest/browser-webdriverio'
- - '@vitest/coverage-istanbul'
- - '@vitest/coverage-v8'
- - '@vitest/ui'
- - happy-dom
- - jsdom
- - msw
- - vite
-
- '@overeng/utils@file:packages/@overeng/utils(@effect/opentelemetry@4.0.0-rc.111(@opentelemetry/api-logs@0.219.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-web@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)(effect@4.0.0-rc.111))(@effect/platform-node@4.0.0-rc.111(effect@4.0.0-rc.111)(redis@6.2.1(@opentelemetry/api@1.9.1)))(@playwright/test@1.61.0)(@types/node@26.0.0)(effect@4.0.0-rc.111)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))':
- dependencies:
- '@effect/opentelemetry': 4.0.0-rc.111(@opentelemetry/api-logs@0.219.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-web@2.8.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.41.1)(effect@4.0.0-rc.111)
- '@effect/platform-node': 4.0.0-rc.111(effect@4.0.0-rc.111)(redis@6.2.1(@opentelemetry/api@1.9.1))
- '@effect/vitest': 4.0.0-rc.111(effect@4.0.0-rc.111)(vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.0)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)))
- '@noble/hashes': 2.2.0
- '@opentelemetry/api': 1.9.1
- '@overeng/effect-distributed-lock': file:packages/@overeng/effect-distributed-lock(effect@4.0.0-rc.111)
- '@overeng/otel-contract': file:packages/@overeng/otel-contract(effect@4.0.0-rc.111)
- '@playwright/test': 1.61.0
- effect: 4.0.0-rc.111
- vitest: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.0)(happy-dom@20.10.6)(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))
- transitivePeerDependencies:
- - '@edge-runtime/vm'
- - '@types/node'
- - '@vitest/browser-playwright'
- - '@vitest/browser-preview'
- - '@vitest/browser-webdriverio'
- - '@vitest/coverage-istanbul'
- - '@vitest/coverage-v8'
- - '@vitest/ui'
- - happy-dom
- - jsdom
- - msw
- - vite
-
'@oxc-parser/binding-android-arm-eabi@0.127.0':
optional: true
@@ -5744,77 +5581,43 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@swc/helpers@0.5.21':
- dependencies:
- tslib: 2.8.1
-
- '@tailwindcss/node@4.3.1':
+ '@stylexjs/babel-plugin@0.19.0':
dependencies:
- '@jridgewell/remapping': 2.3.5
- enhanced-resolve: 5.21.6
- jiti: 2.7.0
- lightningcss: 1.32.0
- magic-string: 0.30.21
- source-map-js: 1.2.1
- tailwindcss: 4.3.1
-
- '@tailwindcss/oxide-android-arm64@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-darwin-arm64@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-darwin-x64@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-freebsd-x64@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-linux-arm64-gnu@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-linux-arm64-musl@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-linux-x64-gnu@4.3.1':
- optional: true
-
- '@tailwindcss/oxide-linux-x64-musl@4.3.1':
- optional: true
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@dual-bundle/import-meta-resolve': 4.2.1
+ '@stylexjs/shared': 0.19.0
+ '@stylexjs/stylex': 0.19.0
+ postcss-value-parser: 4.2.0
+ transitivePeerDependencies:
+ - supports-color
- '@tailwindcss/oxide-wasm32-wasi@4.3.1':
- optional: true
+ '@stylexjs/shared@0.19.0': {}
- '@tailwindcss/oxide-win32-arm64-msvc@4.3.1':
- optional: true
+ '@stylexjs/stylex@0.19.0':
+ dependencies:
+ css-mediaquery: 0.1.2
+ invariant: 2.2.4
+ styleq: 0.2.1
- '@tailwindcss/oxide-win32-x64-msvc@4.3.1':
- optional: true
+ '@stylexjs/unplugin@0.19.0(unplugin@3.0.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.0)
+ '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.0)
+ '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.0)
+ '@stylexjs/babel-plugin': 0.19.0
+ browserslist: 4.28.2
+ lightningcss: 1.32.0
+ unplugin: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
- '@tailwindcss/oxide@4.3.1':
- optionalDependencies:
- '@tailwindcss/oxide-android-arm64': 4.3.1
- '@tailwindcss/oxide-darwin-arm64': 4.3.1
- '@tailwindcss/oxide-darwin-x64': 4.3.1
- '@tailwindcss/oxide-freebsd-x64': 4.3.1
- '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.1
- '@tailwindcss/oxide-linux-arm64-gnu': 4.3.1
- '@tailwindcss/oxide-linux-arm64-musl': 4.3.1
- '@tailwindcss/oxide-linux-x64-gnu': 4.3.1
- '@tailwindcss/oxide-linux-x64-musl': 4.3.1
- '@tailwindcss/oxide-wasm32-wasi': 4.3.1
- '@tailwindcss/oxide-win32-arm64-msvc': 4.3.1
- '@tailwindcss/oxide-win32-x64-msvc': 4.3.1
-
- '@tailwindcss/vite@4.3.1(vite@8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0))':
- dependencies:
- '@tailwindcss/node': 4.3.1
- '@tailwindcss/oxide': 4.3.1
- tailwindcss: 4.3.1
- vite: 8.0.16(@types/node@26.0.0)(esbuild@0.27.7)(jiti@2.7.0)(yaml@2.9.0)
+ '@swc/helpers@0.5.21':
+ dependencies:
+ tslib: 2.8.1
'@tanstack/history@1.162.0': {}
@@ -6430,6 +6233,8 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ css-mediaquery@0.1.2: {}
+
css.escape@1.5.1: {}
csstype@3.2.3: {}
@@ -6487,11 +6292,6 @@ snapshots:
empathic@2.0.0: {}
- enhanced-resolve@5.21.6:
- dependencies:
- graceful-fs: 4.2.11
- tapable: 2.3.3
-
entities@7.0.1: {}
es-errors@1.3.0: {}
@@ -6665,8 +6465,6 @@ snapshots:
minipass: 7.1.3
path-scurry: 2.0.2
- graceful-fs@4.2.11: {}
-
h3@2.0.1-rc.20:
dependencies:
rou3: 0.8.1
@@ -6715,6 +6513,10 @@ snapshots:
indent-string@4.0.0: {}
+ invariant@2.2.4:
+ dependencies:
+ loose-envify: 1.4.0
+
is-core-module@2.16.1:
dependencies:
hasown: 2.0.3
@@ -6842,6 +6644,10 @@ snapshots:
longest-streak@3.1.0: {}
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
loupe@3.2.1: {}
lru-cache@11.3.5: {}
@@ -7259,6 +7065,8 @@ snapshots:
optionalDependencies:
fsevents: 2.3.2
+ postcss-value-parser@4.2.0: {}
+
postcss@8.5.15:
dependencies:
nanoid: 3.3.13
@@ -7560,11 +7368,13 @@ snapshots:
strip-indent@4.1.1: {}
- supports-preserve-symlinks-flag@1.0.0: {}
+ styleq@0.2.1: {}
- tailwindcss@4.3.1: {}
+ supports-preserve-symlinks-flag@1.0.0: {}
- tapable@2.3.3: {}
+ tailwind-stylex@0.1.1(@stylexjs/stylex@0.19.0):
+ dependencies:
+ '@stylexjs/stylex': 0.19.0
tiny-invariant@1.3.3: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index cf947059ed..f59ba84aef 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -54,6 +54,7 @@ peerDependencyRules:
typescript: '>=6.0.0'
eslint: '>=10.0.0'
vitest: '>=4.0.0'
+ unplugin: '>=3.0.0'
allowBuilds:
'@myobie/pty': false
@@ -66,6 +67,7 @@ allowBuilds:
minimumReleaseAgeExclude:
- '@types/node'
+ - tailwind-stylex
- effect
- '@effect/platform-node'
- '@effect/vitest'