{"_id":"@agent-ix/ix-ui-semantic","_rev":"2-46d8143cf88c028ef2dd8e66b6b671aa","name":"@agent-ix/ix-ui-semantic","dist-tags":{"latest":"0.4.10"},"versions":{"0.4.7":{"name":"@agent-ix/ix-ui-semantic","version":"0.4.7","license":"MIT","_id":"@agent-ix/ix-ui-semantic@0.4.7","maintainers":[{"name":"agent-ix","email":"peter@agent-ix.ai"}],"homepage":"https://github.com/agent-ix/ix-ui#readme","bugs":{"url":"https://github.com/agent-ix/ix-ui/issues"},"dist":{"shasum":"eec3dd93948a5f2f3f4aebfe9eda490347aabf05","tarball":"https://registry.npmjs.org/@agent-ix/ix-ui-semantic/-/ix-ui-semantic-0.4.7.tgz","fileCount":12,"integrity":"sha512-S8Dc7q2noq4kLhKzY3a5lvUhrIzcjQUxIdOlSrb7YFz7RUm9+ItE4amJJoPZA+iQASYD8oFj19r8xFyUypOiaA==","signatures":[{"sig":"MEUCIQDPFcOl1GeEWSBPlilzC96vrqEpS90NXDdCXCY5Vd2RXAIgH556DL1zyu3MZ6pMlsxB1NV8TSM3U3cPOS9Z4Tv1+U4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9641},"main":"dist/index.js","type":"module","_from":"file:agent-ix-ix-ui-semantic-0.4.7.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" && pnpm run format:check","test":"vitest run","build":"vite build","clean":"rm -rf dist coverage","format":"prettier --write .","test:json":"vitest run --reporter=json --outputFile=report.json || true","format:check":"prettier --check ."},"_npmUser":{"name":"agent-ix","email":"peter@agent-ix.ai"},"_resolved":"/tmp/209f9ed4e8ac5e0c08b2354af44c1a08/agent-ix-ix-ui-semantic-0.4.7.tgz","_integrity":"sha512-S8Dc7q2noq4kLhKzY3a5lvUhrIzcjQUxIdOlSrb7YFz7RUm9+ItE4amJJoPZA+iQASYD8oFj19r8xFyUypOiaA==","repository":{"url":"git+https://github.com/agent-ix/ix-ui.git","type":"git"},"_npmVersion":"10.9.2","description":"Platform-agnostic state types and glyph vocabulary for the Agent IX design system.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=6.3.4","vitest":">=3.1.2","vite-plugin-dts":">=4.5.3"},"_npmOperationalInternal":{"tmp":"tmp/ix-ui-semantic_0.4.7_1781880818111_0.036815305871610526","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@agent-ix/ix-ui-semantic","description":"Platform-agnostic state types and glyph vocabulary for the Agent IX design system.","version":"0.4.10","license":"MIT","type":"module","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"packageManager":"pnpm@10.10.0","scripts":{"test":"vitest run","test:json":"vitest run --reporter=json --outputFile=report.json || true","lint":"eslint \"src/**/*.ts\" \"tests/**/*.ts\" && pnpm run format:check","format":"prettier --write .","format:check":"prettier --check .","build":"vite build","clean":"rm -rf dist coverage"},"repository":{"type":"git","url":"git+https://github.com/agent-ix/ix-ui.git"},"devDependencies":{"vite":">=6.3.4","vite-plugin-dts":">=4.5.3","vitest":">=3.1.2"},"gitHead":"f19dbdfb2e3b131c999d885434f14eb4c13b4b48","_id":"@agent-ix/ix-ui-semantic@0.4.10","bugs":{"url":"https://github.com/agent-ix/ix-ui/issues"},"homepage":"https://github.com/agent-ix/ix-ui#readme","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-kjDiorrEnWRJlSrQvLiNC+wblBwwZtXcesBD/9KhtOAMGt6WBHMjTr2Ae8iepzcZ6lqsPk1m3EY5YQmoOeVurw==","shasum":"02e91f67d3cf0ae8cb2662e0dc760b88815b0ed3","tarball":"https://registry.npmjs.org/@agent-ix/ix-ui-semantic/-/ix-ui-semantic-0.4.10.tgz","fileCount":12,"unpackedSize":10237,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent-ix%2fix-ui-semantic@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEpQw9UoCBKqHquI6oWVwHi1LDGJGuXkKixyQIIfcZAJAiB7yHatj/PUZQP00FFe+wmqdXraqRd9Mq9CczVAtAz0aA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ed259e3c-4699-41cb-a265-57f2bfd1d791"}},"directories":{},"maintainers":[{"name":"agent-ix","email":"peter@agent-ix.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ix-ui-semantic_0.4.10_1781912347190_0.9420161676811574"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-19T14:53:37.958Z","modified":"2026-06-19T23:39:07.637Z","0.4.7":"2026-06-19T14:53:38.253Z","0.4.10":"2026-06-19T23:39:07.332Z"},"bugs":{"url":"https://github.com/agent-ix/ix-ui/issues"},"license":"MIT","homepage":"https://github.com/agent-ix/ix-ui#readme","repository":{"type":"git","url":"git+https://github.com/agent-ix/ix-ui.git"},"description":"Platform-agnostic state types and glyph vocabulary for the Agent IX design system.","maintainers":[{"name":"agent-ix","email":"peter@agent-ix.ai"}],"readme":"# @agent-ix/ix-ui-semantic\n\nPlatform-agnostic state types and glyph vocabulary for the Agent IX design system.\n\n## What this is\n\n`@agent-ix/ix-ui-semantic` is the shared, render-agnostic vocabulary for the\nAgent IX design system. It defines the semantic state types (phase states),\nthe glyph map those states resolve to, and the spinner/animation definitions —\nbut it does **not** render anything itself.\n\nBoth the terminal renderer\n([`@agent-ix/ix-ui-cli`](https://github.com/agent-ix/ix-ui)) and web renderers\nconsume this package so they share one semantic model: a `running` phase means\nthe same thing everywhere, and each renderer maps the abstract glyph to a\nconcrete symbol/color for its target. This is a dependency-free leaf package\nwith **zero runtime dependencies**.\n\n## Install\n\nPublished on the public npm registry under the `@agent-ix` scope:\n\n```bash\nnpm install @agent-ix/ix-ui-semantic\n```\n\n## Usage\n\nImport a state type and look up its glyph:\n\n```ts\nimport {\n  PHASE_GLYPHS,\n  type PhaseState,\n  type PhaseGlyph,\n} from \"@agent-ix/ix-ui-semantic\";\n\nconst state: PhaseState = \"running\";\nconst glyph: PhaseGlyph = PHASE_GLYPHS[state];\n\n// Pick the right symbol for your renderer:\nconst symbol = supportsTty ? glyph.tty : glyph.nonTty; // \"⟳\" or \"running\"\nif (glyph.animated) {\n  // drive a spinner while this phase is active\n}\n```\n\nCompact status dots:\n\n```ts\nimport { STATUS_DOTS } from \"@agent-ix/ix-ui-semantic\";\n\nSTATUS_DOTS.done; // \"•\"\nSTATUS_DOTS.failed; // \"○\"\nSTATUS_DOTS.pending; // \"·\"\n```\n\nSpinners — cycle frames at your own interval:\n\n```ts\nimport { BRAILLE_SPINNER, HEADER_SPINNER } from \"@agent-ix/ix-ui-semantic\";\n\nconst frame = BRAILLE_SPINNER[tick % BRAILLE_SPINNER.length];\n```\n\nThe orbit spinner carries per-cell tone information so renderers can color each\nglyph by depth. Use `orbitFrameGlyphs` to flatten a frame to a plain string for\nlogs and tests:\n\n```ts\nimport {\n  ORBIT_SPINNER,\n  orbitFrameGlyphs,\n  type OrbitFrame,\n  type OrbitCell,\n  type OrbitTone,\n} from \"@agent-ix/ix-ui-semantic\";\n\nconst frame: OrbitFrame = ORBIT_SPINNER[tick % ORBIT_SPINNER.length];\norbitFrameGlyphs(frame); // e.g. \"⋅⊙∘\"\n```\n\n## Exports\n\n### Types\n\n| Export       | Description                                                                                  |\n| ------------ | -------------------------------------------------------------------------------------------- |\n| `PhaseState` | Union of phase states: `\"pending\" \\| \"queued\" \\| \"running\" \\| \"done\" \\| \"failed\"`.           |\n| `PhaseGlyph` | Glyph descriptor: `{ tty: string; nonTty: string; animated: boolean }`.                      |\n| `OrbitTone`  | Depth/brightness tone for an orbit cell: `\"gray\" \\| \"dim\" \\| \"medDim\" \\| \"med\" \\| \"bright\"`. |\n| `OrbitCell`  | A single orbit-spinner cell: `\" \"` (blank) or `{ glyph: string; tone: OrbitTone }`.          |\n| `OrbitFrame` | One frame of the orbit spinner: an array of `OrbitCell`.                                     |\n\n### Glyphs\n\n| Export         | Description                                                                                           |\n| -------------- | ----------------------------------------------------------------------------------------------------- |\n| `PHASE_GLYPHS` | `Record<PhaseState, PhaseGlyph>` mapping each phase state to its tty/non-tty glyph and animated flag. |\n| `STATUS_DOTS`  | Compact status dot symbols for `done` (`•`), `failed` (`○`), and `pending` (`·`).                     |\n\n### Spinners\n\n| Export             | Description                                                                   |\n| ------------------ | ----------------------------------------------------------------------------- |\n| `BRAILLE_SPINNER`  | 10-frame braille spinner (`string[]`).                                        |\n| `HEADER_SPINNER`   | 4-frame header spinner (`string[]`).                                          |\n| `ORBIT_SPINNER`    | 10-frame orbit spinner (`OrbitFrame[]`), each cell carrying glyph + tone.     |\n| `orbitFrameGlyphs` | Flattens an `OrbitFrame` to a plain glyph string — useful for tests and logs. |\n\n## Development\n\nPart of the [`ix-ui`](https://github.com/agent-ix/ix-ui) pnpm monorepo. From the\nrepository root:\n\n```bash\nmake build   # build all packages\nmake test    # test all packages\nmake lint    # eslint + prettier check\n```\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}