{"id":"@lssm-tech/example.ai-chat-assistant","slug":"example.ai-chat-assistant","name":"@lssm-tech/example.ai-chat-assistant","version":"5.0.4","path":"examples/ai-chat-assistant","manifestPath":"examples/ai-chat-assistant/package.json","manifestBlobSha":"07d888fb60a16e5564a9105ddb3e0a4b7a2fce34","layer":"examples","physicalArea":null,"primaryArea":"examples-and-patterns","classification":{"privateDeclared":null,"catalogFamily":"solutions","catalogKind":"example","catalogStatus":"active","adoptionMode":"reference-only","stability":"stable"},"description":"Focused AI chat assistant template with MCP tools, reasoning, chain of thought, sources, and suggestions.","descriptionOrigin":"package.json","catalog":{"family":"solutions","kind":"example","status":"active","adoptionMode":"reference-only","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./ai-chat-assistant.feature","./contracts","./contracts/assistant.operation","./docs","./docs/ai-chat-assistant.docblock","./example","./handlers","./handlers/assistant.handlers","./ui","./ui/AiChatAssistantDashboard"],"documentation":[{"title":"Example Ai Chat Assistant documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fexample.ai-chat-assistant","kind":"readme"}],"examples":[],"replacements":[],"nonAdoptableRationale":"This example is published for reference and learning, not as a reusable library dependency.","visualTesting":{"status":"deferred","owner":"@contractspec-core","targetWave":"wave-3-react-packages","rationale":"Foundational Storybook adoption establishes shared catalogs and guardrails before this package migrates."}},"canonicalImports":[],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun run lint:fix","lint:fix":"node ../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../scripts/biome.cjs check --write .","lint:check":"node ../../scripts/biome.cjs check .","test":"bun test","smoke":"bun test src/example.smoke.test.ts","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.ai-agent":"workspace:^","@lssm-tech/lib.contracts-spec":"workspace:^","@lssm-tech/lib.design-system":"workspace:^","@lssm-tech/lib.schema":"workspace:^","@lssm-tech/module.ai-chat":"workspace:^","react":"catalog:","react-dom":"catalog:"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@types/react":"catalog:types","@types/react-dom":"catalog:types","@lssm-tech/tool.bun":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./ai-chat-assistant.feature":"./src/ai-chat-assistant.feature.ts","./contracts":"./src/contracts/index.ts","./contracts/assistant.operation":"./src/contracts/assistant.operation.ts","./docs":"./src/docs/index.ts","./docs/ai-chat-assistant.docblock":"./src/docs/index.ts","./example":"./src/example.ts","./handlers":"./src/handlers/index.ts","./handlers/assistant.handlers":"./src/handlers/assistant.handlers.ts","./ui":"./src/ui/index.ts","./ui/AiChatAssistantDashboard":"./src/ui/AiChatAssistantDashboard.tsx"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./ai-chat-assistant.feature":{"types":"./dist/ai-chat-assistant.feature.d.ts","browser":"./dist/browser/ai-chat-assistant.feature.js","bun":"./dist/ai-chat-assistant.feature.js","node":"./dist/node/ai-chat-assistant.feature.js","default":"./dist/ai-chat-assistant.feature.js"},"./contracts":{"types":"./dist/contracts/index.d.ts","browser":"./dist/browser/contracts/index.js","bun":"./dist/contracts/index.js","node":"./dist/node/contracts/index.js","default":"./dist/contracts/index.js"},"./contracts/assistant.operation":{"types":"./dist/contracts/assistant.operation.d.ts","browser":"./dist/browser/contracts/assistant.operation.js","bun":"./dist/contracts/assistant.operation.js","node":"./dist/node/contracts/assistant.operation.js","default":"./dist/contracts/assistant.operation.js"},"./docs":{"types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","default":"./dist/docs/index.js"},"./docs/ai-chat-assistant.docblock":{"types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","default":"./dist/docs/index.js"},"./example":{"types":"./dist/example.d.ts","browser":"./dist/browser/example.js","bun":"./dist/example.js","node":"./dist/node/example.js","default":"./dist/example.js"},"./handlers":{"types":"./dist/handlers/index.d.ts","browser":"./dist/browser/handlers/index.js","bun":"./dist/handlers/index.js","node":"./dist/node/handlers/index.js","default":"./dist/handlers/index.js"},"./handlers/assistant.handlers":{"types":"./dist/handlers/assistant.handlers.d.ts","browser":"./dist/browser/handlers/assistant.handlers.js","bun":"./dist/handlers/assistant.handlers.js","node":"./dist/node/handlers/assistant.handlers.js","default":"./dist/handlers/assistant.handlers.js"},"./ui":{"types":"./dist/ui/index.d.ts","browser":"./dist/browser/ui/index.js","bun":"./dist/ui/index.js","node":"./dist/node/ui/index.js","default":"./dist/ui/index.js"},"./ui/AiChatAssistantDashboard":{"types":"./dist/ui/AiChatAssistantDashboard.d.ts","browser":"./dist/browser/ui/AiChatAssistantDashboard.js","bun":"./dist/ui/AiChatAssistantDashboard.js","node":"./dist/node/ui/AiChatAssistantDashboard.js","default":"./dist/ui/AiChatAssistantDashboard.js"}},"types":"./dist/index.d.ts","files":["LICENSE","README.md","dist","!**/*.test.*","!**/*.spec.*","!**/*.tsbuildinfo"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/example.ai-chat-assistant","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"examples/ai-chat-assistant/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./ai-chat-assistant.feature","importPath":"@lssm-tech/example.ai-chat-assistant/ai-chat-assistant.feature","target":"./src/ai-chat-assistant.feature.ts","targets":[{"conditions":[],"target":"./src/ai-chat-assistant.feature.ts","sourcePath":"examples/ai-chat-assistant/src/ai-chat-assistant.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/ai-chat-assistant.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./contracts","importPath":"@lssm-tech/example.ai-chat-assistant/contracts","target":"./src/contracts/index.ts","targets":[{"conditions":[],"target":"./src/contracts/index.ts","sourcePath":"examples/ai-chat-assistant/src/contracts/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/contracts/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./contracts/assistant.operation","importPath":"@lssm-tech/example.ai-chat-assistant/contracts/assistant.operation","target":"./src/contracts/assistant.operation.ts","targets":[{"conditions":[],"target":"./src/contracts/assistant.operation.ts","sourcePath":"examples/ai-chat-assistant/src/contracts/assistant.operation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/contracts/assistant.operation.ts","sourceStatus":"verified source file"}]},{"subpath":"./docs","importPath":"@lssm-tech/example.ai-chat-assistant/docs","target":"./src/docs/index.ts","targets":[{"conditions":[],"target":"./src/docs/index.ts","sourcePath":"examples/ai-chat-assistant/src/docs/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/docs/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./docs/ai-chat-assistant.docblock","importPath":"@lssm-tech/example.ai-chat-assistant/docs/ai-chat-assistant.docblock","target":"./src/docs/index.ts","targets":[{"conditions":[],"target":"./src/docs/index.ts","sourcePath":"examples/ai-chat-assistant/src/docs/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/docs/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./example","importPath":"@lssm-tech/example.ai-chat-assistant/example","target":"./src/example.ts","targets":[{"conditions":[],"target":"./src/example.ts","sourcePath":"examples/ai-chat-assistant/src/example.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/example.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers","importPath":"@lssm-tech/example.ai-chat-assistant/handlers","target":"./src/handlers/index.ts","targets":[{"conditions":[],"target":"./src/handlers/index.ts","sourcePath":"examples/ai-chat-assistant/src/handlers/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/handlers/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers/assistant.handlers","importPath":"@lssm-tech/example.ai-chat-assistant/handlers/assistant.handlers","target":"./src/handlers/assistant.handlers.ts","targets":[{"conditions":[],"target":"./src/handlers/assistant.handlers.ts","sourcePath":"examples/ai-chat-assistant/src/handlers/assistant.handlers.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/handlers/assistant.handlers.ts","sourceStatus":"verified source file"}]},{"subpath":"./ui","importPath":"@lssm-tech/example.ai-chat-assistant/ui","target":"./src/ui/index.ts","targets":[{"conditions":[],"target":"./src/ui/index.ts","sourcePath":"examples/ai-chat-assistant/src/ui/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/ui/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./ui/AiChatAssistantDashboard","importPath":"@lssm-tech/example.ai-chat-assistant/ui/AiChatAssistantDashboard","target":"./src/ui/AiChatAssistantDashboard.tsx","targets":[{"conditions":[],"target":"./src/ui/AiChatAssistantDashboard.tsx","sourcePath":"examples/ai-chat-assistant/src/ui/AiChatAssistantDashboard.tsx","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/src/ui/AiChatAssistantDashboard.tsx","sourceStatus":"verified source file"}]}],"entryCount":11,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Example Ai Chat Assistant documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fexample.ai-chat-assistant","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/example.ai-chat-assistant.txt"},"readme":{"status":"available","body":"# @lssm-tech/example.ai-chat-assistant\n\nWebsite: https://contractspec.io\n\n**Focused AI chat assistant example with MCP tools, reasoning, sources, suggestions, and reusable dashboard UI.**\n\n## What This Demonstrates\n\n- Demonstrates how `@lssm-tech/module.ai-chat` can power a focused assistant experience.\n- Publishes feature, contracts, handlers, docs, example, and dashboard UI entrypoints.\n- Provides a search-backed, source-aware assistant template for example consumers and docs.\n- `src/contracts/` contains contract specs, operations, entities, and registry exports.\n- `src/docs/` contains docblocks and documentation-facing exports.\n- `src/handlers/` contains handlers or demo adapters wired to contract surfaces.\n\n## Running Locally\n\nFrom `examples/ai-chat-assistant`:\n- `bun run dev`\n- `bun run build`\n- `bun run test`\n- `bun run smoke`\n- `bun run typecheck`\n\n## Usage\n\nUse `@lssm-tech/example.ai-chat-assistant` as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.\n\n## Architecture\n\n- `src/ai-chat-assistant.feature.ts` defines the example feature surface.\n- `src/contracts/` contains the assistant operation contract exports.\n- `src/handlers/` contains the demo assistant handlers wired to the example feature.\n- `src/ui/` contains the packaged dashboard UI for embedding or demonstration.\n- `src/docs/` and `src/example.ts` provide docblock and runnable example entrypoints.\n- `src/index.ts` is the root public barrel and package entrypoint.\n\n## Public Entry Points\n\n- Exports the feature surface, contract barrels, handlers, docs entrypoints, runnable example, and dashboard UI.\n- Export `.` resolves through `./src/index.ts`.\n- Export `./ai-chat-assistant.feature` resolves through `./src/ai-chat-assistant.feature.ts`.\n- Export `./contracts` resolves through `./src/contracts/index.ts`.\n- Export `./contracts/assistant.operation` resolves through `./src/contracts/assistant.operation.ts`.\n- Export `./docs` resolves through `./src/docs/index.ts`.\n- Export `./docs/ai-chat-assistant.docblock` is an alias of `./docs` and resolves through `./src/docs/index.ts`.\n- Export `./example` resolves through `./src/example.ts`.\n- Export `./handlers` resolves through `./src/handlers/index.ts`.\n- Export `./handlers/assistant.handlers` resolves through `./src/handlers/assistant.handlers.ts`.\n- Export `./ui` resolves through `./src/ui/index.ts`.\n- The package publishes 11 total export subpaths; keep docs aligned with `package.json`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — contractspec-bun-build build\n- `bun run test` — bun test\n- `bun run smoke` — bun test src/example.smoke.test.ts\n- `bun run lint` — bun run lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsgo --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n- Stability.\n- Vnext ai-native.\n\n## Notes\n\n- Works alongside `@lssm-tech/lib.ai-agent`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/lib.schema`, `@lssm-tech/module.ai-chat`, `@lssm-tech/tool.bun`, ...\n","sourcePath":"examples/ai-chat-assistant/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/ai-chat-assistant/README.md","blobSha":"4ef8ced669e80430a2c0121b5df7bb1b3e7f858d","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"examples-and-patterns","areaTitle":"Examples and implementation patterns","displayName":"example.ai-chat-assistant","runtimes":["node"],"platforms":["server"],"kind":"example","scope":"Package manifest","canonicalRoute":"/docs/packages/example.ai-chat-assistant/","contextUrl":"/docs/packages/example.ai-chat-assistant.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}