{"_id":"@baguette-studios/kernl-ui-core","_rev":"4-353c0d5043f9d1bff3111d37e36be99d","name":"@baguette-studios/kernl-ui-core","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@baguette-studios/kernl-ui-core","version":"0.1.0","license":"ISC","_id":"@baguette-studios/kernl-ui-core@0.1.0","maintainers":[{"name":"baguette-studios","email":"astier.jules@gmail.com"}],"homepage":"https://github.com/Jules-Astier/agent-context#readme","bugs":{"url":"https://github.com/Jules-Astier/agent-context/issues"},"dist":{"shasum":"d1a71e92b89c006cb86d31e88ae0099228e75282","tarball":"https://registry.npmjs.org/@baguette-studios/kernl-ui-core/-/kernl-ui-core-0.1.0.tgz","fileCount":27,"integrity":"sha512-9wMBRL4MeI9VgM6WCcA+qi8CY2k1OAGE9rVLKkZxl0llIRkqPJCveswayFR46WHkfFx4hLHU2jrrtuFQUU6AJA==","signatures":[{"sig":"MEUCICKvz9l8hIn7ucwINoZU5qkTu7A4kKDeAIYdXJLPNGA0AiEAijtAWH60DHbEOqjfE+pUMptEM6exshgREmHJSFy4V0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155432},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js"},"./theme":{"types":"./dist/theme.d.ts","import":"./dist/theme.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.js"},"./derive":{"types":"./dist/derive.d.ts","import":"./dist/derive.js"},"./theme.css":"./dist/theme.css","./styles.css":"./dist/styles.css","./tailwind.css":"./dist/tailwind.css"},"gitHead":"8a1785f4716e17064cce879e285c95ef7b10d371","private":false,"scripts":{"test":"cd ../.. && vitest run packages/ui-core/src","build":"tsc -p tsconfig.json && cp src/styles.css src/theme.css src/tailwind.css dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"baguette-studios","email":"astier.jules@gmail.com"},"repository":{"url":"git+https://github.com/Jules-Astier/agent-context.git","type":"git","directory":"packages/ui-core"},"_npmVersion":"10.9.3","description":"Framework-neutral UI model, theme tokens, and shared styles for kernl.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"22.19.0","dependencies":{"@baguette-studios/kernl-core":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/kernl-ui-core_0.1.0_1784066863684_0.004889059883494307","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@baguette-studios/kernl-ui-core","version":"0.1.1","license":"ISC","_id":"@baguette-studios/kernl-ui-core@0.1.1","maintainers":[{"name":"baguette-studios","email":"astier.jules@gmail.com"}],"homepage":"https://github.com/Jules-Astier/agent-context#readme","bugs":{"url":"https://github.com/Jules-Astier/agent-context/issues"},"dist":{"shasum":"460f883cca2ffcd2341f7e3ae998c0e8fafa1f13","tarball":"https://registry.npmjs.org/@baguette-studios/kernl-ui-core/-/kernl-ui-core-0.1.1.tgz","fileCount":27,"integrity":"sha512-31hAY3w2PNGNhoYux9laN1/lX1IIq+9s25qJC3/2QyfifnBirerwkBexj85Iv3Dh+veva9ssxJskZXC0nlY0hA==","signatures":[{"sig":"MEUCIQCT+zc2Nmo9LR4ENvyWwfoflRbZha+FSH2WQ2BkPOvxqgIgTroBcjMd836Aqf7fE65lq+rrpRxthB1zGpqE1t/1Kus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155703},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js"},"./theme":{"types":"./dist/theme.d.ts","import":"./dist/theme.js","default":"./dist/theme.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","default":"./dist/types.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.js","default":"./dist/utils.js"},"./derive":{"types":"./dist/derive.d.ts","import":"./dist/derive.js","default":"./dist/derive.js"},"./theme.css":"./dist/theme.css","./styles.css":"./dist/styles.css","./tailwind.css":"./dist/tailwind.css"},"gitHead":"8a1785f4716e17064cce879e285c95ef7b10d371","private":false,"scripts":{"test":"cd ../.. && vitest run packages/ui-core/src","build":"tsc -p tsconfig.json && cp src/styles.css src/theme.css src/tailwind.css dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"baguette-studios","email":"astier.jules@gmail.com"},"repository":{"url":"git+https://github.com/Jules-Astier/agent-context.git","type":"git","directory":"packages/ui-core"},"_npmVersion":"10.9.3","description":"Framework-neutral UI model, theme tokens, and shared styles for kernl.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"22.19.0","dependencies":{"@baguette-studios/kernl-core":"0.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/kernl-ui-core_0.1.1_1784104270591_0.30525085971949606","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@baguette-studios/kernl-ui-core","version":"0.1.2","license":"ISC","_id":"@baguette-studios/kernl-ui-core@0.1.2","maintainers":[{"name":"baguette-studios","email":"astier.jules@gmail.com"}],"homepage":"https://github.com/Jules-Astier/agent-context#readme","bugs":{"url":"https://github.com/Jules-Astier/agent-context/issues"},"dist":{"shasum":"68aaff351543b6f84c36cfd3b515a930a25b80d9","tarball":"https://registry.npmjs.org/@baguette-studios/kernl-ui-core/-/kernl-ui-core-0.1.2.tgz","fileCount":27,"integrity":"sha512-WGS27E0El4aVcFELk6drHOilydhXbyC876U1h/tk1PxrFGsmzaxaJXdBIQyIC/mdu/4A76xGBF0l4RpE4J0j6A==","signatures":[{"sig":"MEQCIFRO5jLRUNexV7dSZuaUhkc48iHVof1YQWzudIf85xo6AiBw3m0aUgl+ijJzuwrkkVY1GaJ9zSkR8lOUvpDVzv0d1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155703},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js"},"./theme":{"types":"./dist/theme.d.ts","import":"./dist/theme.js","default":"./dist/theme.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","default":"./dist/types.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.js","default":"./dist/utils.js"},"./derive":{"types":"./dist/derive.d.ts","import":"./dist/derive.js","default":"./dist/derive.js"},"./theme.css":"./dist/theme.css","./styles.css":"./dist/styles.css","./tailwind.css":"./dist/tailwind.css"},"gitHead":"8a1785f4716e17064cce879e285c95ef7b10d371","private":false,"scripts":{"test":"cd ../.. && vitest run packages/ui-core/src","build":"tsc -p tsconfig.json && cp src/styles.css src/theme.css src/tailwind.css dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"baguette-studios","email":"astier.jules@gmail.com"},"repository":{"url":"git+https://github.com/Jules-Astier/agent-context.git","type":"git","directory":"packages/ui-core"},"_npmVersion":"10.9.8","description":"Framework-neutral UI model, theme tokens, and shared styles for kernl.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"22.23.1","dependencies":{"@baguette-studios/kernl-core":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/kernl-ui-core_0.1.2_1784114034994_0.8083330456700886","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@baguette-studios/kernl-ui-core","version":"0.2.0","type":"module","private":false,"description":"Framework-neutral UI model, theme tokens, and shared styles for kernl.","license":"ISC","repository":{"type":"git","url":"git+https://github.com/Jules-Astier/agent-context.git","directory":"packages/ui-core"},"homepage":"https://github.com/Jules-Astier/agent-context#readme","bugs":{"url":"https://github.com/Jules-Astier/agent-context/issues"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"sideEffects":["*.css","**/*.css"],"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme":{"types":"./dist/theme.d.ts","import":"./dist/theme.js","default":"./dist/theme.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js","default":"./dist/types.js"},"./derive":{"types":"./dist/derive.d.ts","import":"./dist/derive.js","default":"./dist/derive.js"},"./icons":{"types":"./dist/icons.d.ts","import":"./dist/icons.js","default":"./dist/icons.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.js","default":"./dist/utils.js"},"./preferences":{"types":"./dist/preferences.d.ts","import":"./dist/preferences.js","default":"./dist/preferences.js"},"./preferences-extension":{"types":"./dist/preferences-extension.d.ts","import":"./dist/preferences-extension.js","default":"./dist/preferences-extension.js"},"./parity":{"types":"./dist/parity.d.ts","import":"./dist/parity.js","default":"./dist/parity.js"},"./controller":{"types":"./dist/controller.d.ts","import":"./dist/controller.js","default":"./dist/controller.js"},"./rich-content":{"types":"./dist/rich-content.d.ts","import":"./dist/rich-content.js","default":"./dist/rich-content.js"},"./web-component":{"types":"./dist/web-component.d.ts","import":"./dist/web-component.js","default":"./dist/web-component.js"},"./screens":{"types":"./dist/screens.d.ts","import":"./dist/screens.js","default":"./dist/screens.js"},"./styles.css":"./dist/styles.css","./theme.css":"./dist/theme.css","./tailwind.css":"./dist/tailwind.css"},"scripts":{"build":"tsc -p tsconfig.json && cp src/styles.css src/theme.css src/tailwind.css dist/","typecheck":"tsc -p tsconfig.json --noEmit","test":"cd ../.. && vitest run packages/ui-core/src"},"dependencies":{"@baguette-studios/kernl-core":"0.2.0","micromark":"^4.0.2","micromark-extension-gfm":"^3.0.0"},"devDependencies":{"typescript":"^5.8.3","vitest":"^4.1.9"},"_id":"@baguette-studios/kernl-ui-core@0.2.0","gitHead":"d8fc5415769275ee958ad9ede38126edaba34a91","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-8Zej1Zd49d3PIEsRn6NUPd0Np6/O5rBbU+FevefoOU+hLVEpSBD0VwX+dIAtPwZ3PylyG6VElnLpMFIDd7HllQ==","shasum":"5261f92bf4d0405c963881d064cd0778ade3f80e","tarball":"https://registry.npmjs.org/@baguette-studios/kernl-ui-core/-/kernl-ui-core-0.2.0.tgz","fileCount":48,"unpackedSize":325537,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCUZLXX2vkodTruKbgp1tKx8JYSPswo8/IqoCWWRMQD2wIhANnGYXkUeZvErJW1i6H2N72Z8PJO5s5xiCHdYVFtRXwP"}]},"_npmUser":{"name":"baguette-studios","email":"astier.jules@gmail.com"},"directories":{},"maintainers":[{"name":"baguette-studios","email":"astier.jules@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kernl-ui-core_0.2.0_1784736184692_0.4286395035187085"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-14T22:07:43.497Z","modified":"2026-07-22T16:03:04.975Z","0.1.0":"2026-07-14T22:07:43.821Z","0.1.1":"2026-07-15T08:31:10.764Z","0.1.2":"2026-07-15T11:13:55.174Z","0.2.0":"2026-07-22T16:03:04.836Z"},"bugs":{"url":"https://github.com/Jules-Astier/agent-context/issues"},"license":"ISC","homepage":"https://github.com/Jules-Astier/agent-context#readme","repository":{"type":"git","url":"git+https://github.com/Jules-Astier/agent-context.git","directory":"packages/ui-core"},"description":"Framework-neutral UI model, theme tokens, and shared styles for kernl.","maintainers":[{"name":"baguette-studios","email":"astier.jules@gmail.com"}],"readme":"# @baguette-studios/kernl-ui-core\n\nFramework-neutral assistant UI state, theme tokens, icons, and shared styles for Kernl framework adapters.\n\n```bash\nnpm install @baguette-studios/kernl-ui-core\n```\n\nReact applications should normally install `@baguette-studios/kernl-ui`. Use this package directly when building a framework adapter or applying the shared CSS variable contract.\n\nAvailable styles include `@baguette-studios/kernl-ui-core/styles.css`, `@baguette-studios/kernl-ui-core/theme.css`, and `@baguette-studios/kernl-ui-core/tailwind.css`.\n\n## Cross-framework rich content\n\nThe package root intentionally stays dependency-light for Jest and other\ntooling that does not transform ESM-only dependencies. Controller behavior is\navailable from `@baguette-studios/kernl-ui-core/controller`, while React, Vue,\nSvelte, and Web Component adapters consume rich-content helpers from\n`@baguette-studios/kernl-ui-core/rich-content`. The rich-content entry point\ndefines the public behavior for safe GFM Markdown,\nnavigation and asset tokens, message attachments, upload policy filtering,\nbrowser `File` conversion, draft ordering/removal, and asset-only prompts.\nRaw Markdown HTML is omitted and executable link protocols are rejected.\nThe rich-content entry point also owns composer serialization: inline asset tokens\nrender as canonical non-editable chips and serialize back to their portable\ntoken form in React, Vue, and Svelte.\n\n`AgentFileUploadPolicy` is exported by `@baguette-studios/kernl-core` so every\nframework provider and nested boundary accepts the same policy shape. Uploads\nare enabled by default; use `fileUpload={false}` (or the framework equivalent)\non a provider or boundary to disable them.\n\n## UI preference stores\n\n`createLocalAgentUiPreferencesStore()` wraps the existing synchronous\n`loadAgentUiPreferences()` and `saveAgentUiPreferences()` helpers in a small\nasync/subscribable contract. The storage key and version 1 document remain\nunchanged.\n\n```ts\nimport {\n  createLocalAgentUiPreferencesStore,\n  type AgentUiPreferencesStore,\n} from \"@baguette-studios/kernl-ui-core/preferences\";\n\nconst store: AgentUiPreferencesStore = createLocalAgentUiPreferencesStore();\n```\n\nUse `createEnforcedAgentUiPreferencesStore(store, overrides)` when a host must\nlock a user-owned field. The wrapper applies the host value for that app but\npreserves the user's underlying shared value instead of writing host policy\ninto the cross-origin profile.\n\nOnly `closeOnOutsideClick`, `toggleShortcut`, and `newThreadShortcut` are user\npreferences in v1. Branding, placement, policy, approvals, identity, messages,\ncontext, and application data are outside this document.\n\nThe extension protocol is intentionally isolated in the\n`@baguette-studios/kernl-ui-core/preferences-extension` entry point. Default\nimports do not include extension bridge code.\n\nEach framework UI package exposes the same opt-in `./preferences-extension`\nsubpath. Those files are thin re-exports of this package's store and bridge;\nthere is no framework-specific extension protocol.\n","readmeFilename":"README.md"}