{"_id":"@aivue/predictive-input","_rev":"5-dd98b63d144730a4b396b20d8a31d675","name":"@aivue/predictive-input","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@aivue/predictive-input","version":"1.0.1","keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aivue/predictive-input@1.0.1","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"homepage":"https://github.com/reachbrt/vueai#readme","bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"dist":{"shasum":"538c86db7ad5231628c89e8cde3592e196c55c62","tarball":"https://registry.npmjs.org/@aivue/predictive-input/-/predictive-input-1.0.1.tgz","fileCount":26,"integrity":"sha512-U/gVT2MlnuGaixQ12VTxswBIj5zdfVaqxVTbmZdVOYYCtLcw4aWcHxDVSWbUbkOSwvbUiEz8b2kkuN9qST+gmw==","signatures":[{"sig":"MEUCIFJAqUB8Lci0YMMeL27MJkspuX6YyiAjVTYz83SnP0aLAiEAtS9qg3MD4caaIOr54CyZI5tDWjXzWeMXKDofaXhaPaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117942},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./style.css":"./dist/predictive-input.css","./components/*":{"import":"./dist/components/*","require":"./dist/components/*"}},"gitHead":"6707349145ca865849403aeeb8b7241ca5fc5713","scripts":{"dev":"vite --watch","lint":"eslint \"src/**/*.{ts,vue}\"","test":"vitest run","build":"npm run clean && vite build && npm run postbuild","clean":"rm -rf dist","postbuild":"cp -r src/components dist/components && cp -r src/composables dist/composables && cp -r src/utils dist/utils && cp README.md dist/ && cp CHANGELOG.md dist/ 2>/dev/null || true","test:watch":"vitest"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"repository":{"url":"git+https://github.com/reachbrt/vueai.git","type":"git","directory":"packages/predictive-input"},"_npmVersion":"10.9.2","description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","directories":{},"_nodeVersion":"22.14.0","dependencies":{"natural":"^6.10.0","compromise":"^14.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","tsup":"^8.0.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.16.0","vite-plugin-dts":"^3.7.0","@vitejs/plugin-vue":"^5.0.0"},"peerDependencies":{"vue":"^2.6.0 || ^3.0.0","@aivue/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/predictive-input_1.0.1_1764897185299_0.33038846875514016","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aivue/predictive-input","version":"1.0.2","keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aivue/predictive-input@1.0.2","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"homepage":"https://github.com/reachbrt/vueai#readme","bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"dist":{"shasum":"5985ef39026e6978444aa88c5d4d529fd36c87cb","tarball":"https://registry.npmjs.org/@aivue/predictive-input/-/predictive-input-1.0.2.tgz","fileCount":26,"integrity":"sha512-IaNRr4r8r+4NFooMG5qpF+r2MImjbjcqKE6GVFj+/tbZTLrqmc5exvi2DvQ3/o9qLCNbgM1bNEZfaoc3MI0lXQ==","signatures":[{"sig":"MEQCIGQkZC9l3ra8j161u8z7w2YVoDnLWTG7smyUlVwdLAkSAiABXaBf+5re8yitVGpX1pHrTIiljG6/XvbNODmO8glG3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118008},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./style.css":"./dist/predictive-input.css","./components/*":{"import":"./dist/components/*","require":"./dist/components/*"},"./dist/predictive-input.css":"./dist/predictive-input.css"},"gitHead":"6707349145ca865849403aeeb8b7241ca5fc5713","scripts":{"dev":"vite --watch","lint":"eslint \"src/**/*.{ts,vue}\"","test":"vitest run","build":"npm run clean && vite build && npm run postbuild","clean":"rm -rf dist","postbuild":"cp -r src/components dist/components && cp -r src/composables dist/composables && cp -r src/utils dist/utils && cp README.md dist/ && cp CHANGELOG.md dist/ 2>/dev/null || true","test:watch":"vitest"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"repository":{"url":"git+https://github.com/reachbrt/vueai.git","type":"git","directory":"packages/predictive-input"},"_npmVersion":"10.9.2","description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","directories":{},"_nodeVersion":"22.14.0","dependencies":{"natural":"^6.10.0","compromise":"^14.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","tsup":"^8.0.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.16.0","vite-plugin-dts":"^3.7.0","@vitejs/plugin-vue":"^5.0.0"},"peerDependencies":{"vue":"^2.6.0 || ^3.0.0","@aivue/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/predictive-input_1.0.2_1764899856553_0.1342762582646695","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aivue/predictive-input","version":"1.0.3","keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aivue/predictive-input@1.0.3","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"homepage":"https://github.com/reachbrt/vueai#readme","bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"dist":{"shasum":"a21b2415f62bf741951a2b9fd1dbc6f172342ab4","tarball":"https://registry.npmjs.org/@aivue/predictive-input/-/predictive-input-1.0.3.tgz","fileCount":26,"integrity":"sha512-/iCIjRH/xIoAwBLL9UCMnJsS3d8mo7Xx5uMHy6S8cDb6iyDrbiDo/2+LUz9vwuCQABTe1IGJxlpu1nVvFRiJvA==","signatures":[{"sig":"MEQCICCRJ5LMCj6UM81Zelr04b46zUigyPId3qyDCrwL8uxGAiB2HqyntVgPoQkSumDybKsirMV3psdve4GPKdAeJSprgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119396},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./style.css":"./dist/predictive-input.css","./components/*":{"import":"./dist/components/*","require":"./dist/components/*"},"./dist/predictive-input.css":"./dist/predictive-input.css"},"gitHead":"c3a2b65fec27d25b9f1287eadf3f18abfc6e225e","scripts":{"dev":"vite --watch","lint":"eslint \"src/**/*.{ts,vue}\"","test":"vitest run","build":"npm run clean && vite build && npm run postbuild","clean":"rm -rf dist","postbuild":"cp -r src/components dist/components && cp -r src/composables dist/composables && cp -r src/utils dist/utils && cp README.md dist/ && cp CHANGELOG.md dist/ 2>/dev/null || true","test:watch":"vitest"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"repository":{"url":"git+https://github.com/reachbrt/vueai.git","type":"git","directory":"packages/predictive-input"},"_npmVersion":"10.9.2","description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","directories":{},"_nodeVersion":"22.14.0","dependencies":{"natural":"^6.10.0","compromise":"^14.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","tsup":"^8.0.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.16.0","vite-plugin-dts":"^3.7.0","@vitejs/plugin-vue":"^5.0.0"},"peerDependencies":{"vue":"^2.6.0 || ^3.0.0","@aivue/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/predictive-input_1.0.3_1764907564147_0.3628319591181699","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aivue/predictive-input","version":"1.0.4","keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aivue/predictive-input@1.0.4","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"homepage":"https://github.com/reachbrt/vueai#readme","bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"dist":{"shasum":"9d53773ae835b916c6de4de23a26bd0d7696472f","tarball":"https://registry.npmjs.org/@aivue/predictive-input/-/predictive-input-1.0.4.tgz","fileCount":26,"integrity":"sha512-nqRUT3xqIVVc+Bc8N6s1VAN/5q3nhzlPtnEs+f1nRKonu/myJwPB3Efkp+CDqnwVh0xbD+QfGty9BK8FKDh8ew==","signatures":[{"sig":"MEQCIC9sie+3Pndm8dW3Ug6y+5ucnxxTbvyVcAerQwRDvsIpAiAilVmh4trda5qYj2QDnC4eGKy3g1pOVUa+MlZUeoN8yQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120839},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./style.css":"./dist/predictive-input.css","./components/*":{"import":"./dist/components/*","require":"./dist/components/*"},"./dist/predictive-input.css":"./dist/predictive-input.css"},"gitHead":"2567f0769c449fe4333ccc807a82444957dc0cd3","scripts":{"dev":"vite --watch","lint":"eslint \"src/**/*.{ts,vue}\"","test":"vitest run","build":"npm run clean && vite build && npm run postbuild","clean":"rm -rf dist","postbuild":"cp -r src/components dist/components && cp -r src/composables dist/composables && cp -r src/utils dist/utils && cp README.md dist/ && cp CHANGELOG.md dist/ 2>/dev/null || true","test:watch":"vitest"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"repository":{"url":"git+https://github.com/reachbrt/vueai.git","type":"git","directory":"packages/predictive-input"},"_npmVersion":"10.9.2","description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","directories":{},"_nodeVersion":"22.14.0","dependencies":{"natural":"^6.10.0","compromise":"^14.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","tsup":"^8.0.0","eslint":"^8.56.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.16.0","vite-plugin-dts":"^3.7.0","@vitejs/plugin-vue":"^5.0.0"},"peerDependencies":{"vue":"^2.6.0 || ^3.0.0","@aivue/core":"^1.3.2"},"_npmOperationalInternal":{"tmp":"tmp/predictive-input_1.0.4_1765265290296_0.36104334726417786","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@aivue/predictive-input","version":"1.0.5","description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./style.css":"./dist/predictive-input.css","./dist/predictive-input.css":"./dist/predictive-input.css","./components/*":{"import":"./dist/components/*","require":"./dist/components/*"}},"scripts":{"build":"npm run clean && vite build && npm run postbuild","dev":"vite --watch","lint":"eslint \"src/**/*.{ts,vue}\"","clean":"rm -rf dist","test":"vitest run","test:watch":"vitest","postbuild":"cp -r src/components dist/components && cp -r src/composables dist/composables && cp -r src/utils dist/utils && cp README.md dist/ && cp CHANGELOG.md dist/ 2>/dev/null || true"},"keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"author":{"name":"reachbrt"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/reachbrt/vueai.git","directory":"packages/predictive-input"},"homepage":"https://github.com/reachbrt/vueai#readme","bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"publishConfig":{"access":"public"},"dependencies":{"compromise":"^14.10.0","natural":"^6.10.0"},"peerDependencies":{"@aivue/core":"^1.3.2","vue":"^2.6.0 || ^3.0.0"},"devDependencies":{"@types/node":"^20.16.0","@vitejs/plugin-vue":"^5.0.0","eslint":"^8.56.0","tsup":"^8.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0","vitest":"^1.0.0","vue":"^3.5.0"},"_id":"@aivue/predictive-input@1.0.5","gitHead":"c54d7def7f2bad63a3e63881dd7ac15ba3e957a4","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gV36WkgCvLPx+d7OhBxnIeVxqFKyxXTiriZTB7zSa9jaPPUsKi41K1lx4tGRaKPuc5Gb55LseGeMJi+MJgkcQA==","shasum":"e16b60a18f274943f545d3730a5d930c410eff17","tarball":"https://registry.npmjs.org/@aivue/predictive-input/-/predictive-input-1.0.5.tgz","fileCount":25,"unpackedSize":92622,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCNHcOkfYJCCGr0OYm/8tSHImYjeiTeEUw82aETT9a3lAIgcCWGQcndFdBoiam8U3AJR6xoLSBRjLBg1HnFzhtwd+8="}]},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"directories":{},"maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/predictive-input_1.0.5_1768404850525_0.22321138374309446"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-05T01:13:05.182Z","modified":"2026-01-14T15:34:10.764Z","1.0.1":"2025-12-05T01:13:05.465Z","1.0.2":"2025-12-05T01:57:36.706Z","1.0.3":"2025-12-05T04:06:04.278Z","1.0.4":"2025-12-09T07:28:10.440Z","1.0.5":"2026-01-14T15:34:10.651Z"},"bugs":{"url":"https://github.com/reachbrt/vueai/issues"},"author":{"name":"reachbrt"},"license":"MIT","homepage":"https://github.com/reachbrt/vueai#readme","keywords":["vue","ai","predictive-text","autocomplete","text-prediction","machine-learning","nlp","natural-language","sentence-completion","writing-assistant","smart-input","context-aware","multi-language","offline-ml","privacy-focused","ui","components"],"repository":{"type":"git","url":"git+https://github.com/reachbrt/vueai.git","directory":"packages/predictive-input"},"description":"AI-powered predictive text input for Vue 3 - Learns writing patterns, suggests complete sentences with context-aware predictions and multi-language support","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"readme":"# 🧠 @aivue/predictive-input\n\n### AI-Powered Predictive Text Input for Vue 3\n\nTransform your text inputs with intelligent, AI-powered predictions. Get smart text completions and suggestions powered by your AI provider.\n\n[![npm version](https://img.shields.io/npm/v/@aivue/predictive-input.svg)](https://www.npmjs.com/package/@aivue/predictive-input)\n[![npm downloads](https://img.shields.io/badge/downloads-283%2Fmonth-CB3837?style=flat-square&logo=npm)](https://www.npmjs.com/package/@aivue/predictive-input)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n---\n\n## ✨ Features\n\n### 🎯 **Smart Predictions**\n- **AI-Powered** - Uses AI to generate intelligent text predictions\n- **Context-Aware** - Understands context for better predictions\n- **Text Completion** - Suggests complete thoughts and phrases\n- **Confidence Scoring** - Shows prediction reliability\n\n### 🤖 **AI Integration**\n- **Multiple Providers** - Works with OpenAI, Claude, Gemini, and more\n- **Flexible** - Use any AI client from @aivue/core\n- **Customizable** - Configure prediction behavior\n- **Real-time** - Get predictions as you type\n\n### ⚡ **Performance**\n- **Lightweight** - Minimal bundle size\n- **Fast** - Real-time predictions with debouncing\n- **Responsive** - Smooth user experience\n- **Keyboard Navigation** - Full keyboard support\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install @aivue/predictive-input\n```\n\n---\n\n## 🚀 Quick Start\n\n### Basic Usage\n\n```vue\n<template>\n  <div>\n    <PredictiveInput\n      v-model=\"text\"\n      :client=\"aiClient\"\n      placeholder=\"Start typing...\"\n      @prediction-selected=\"handlePrediction\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { PredictiveInput } from '@aivue/predictive-input';\nimport { createOpenAIClient } from '@aivue/core';\nimport '@aivue/predictive-input/dist/predictive-input.css';\n\nconst text = ref('');\n\n// Create AI client\nconst aiClient = createOpenAIClient({\n  apiKey: import.meta.env.VITE_OPENAI_API_KEY\n});\n\nconst handlePrediction = (prediction) => {\n  console.log('Selected:', prediction.text, 'Confidence:', prediction.confidence);\n};\n</script>\n```\n\n---\n\n## 📖 Components\n\n### PredictiveInput\n\nMain input component with AI-powered predictions.\n\n#### Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `modelValue` | `string` | `''` | Input value (v-model) |\n| `placeholder` | `string` | `'Start typing...'` | Placeholder text |\n| `disabled` | `boolean` | `false` | Disable input |\n| `multiline` | `boolean` | `false` | Use textarea instead of input |\n| `rows` | `number` | `3` | Rows for textarea |\n| `type` | `string` | `'text'` | Input type |\n| `maxPredictions` | `number` | `5` | Maximum predictions to show |\n| `minConfidence` | `number` | `0.1` | Minimum confidence threshold |\n| `suggestionsPosition` | `'above' \\| 'below'` | `'below'` | Position of suggestions |\n| `enableTraining` | `boolean` | `true` | Auto-train on input |\n| `storageKey` | `string` | `'aivue_predictive_input'` | LocalStorage key |\n\n#### Events\n\n| Event | Payload | Description |\n|-------|---------|-------------|\n| `update:modelValue` | `string` | Emitted when value changes |\n| `prediction-accepted` | `Prediction` | Emitted when prediction is accepted |\n| `training-complete` | - | Emitted when training completes |\n\n#### Keyboard Shortcuts\n\n- **↑/↓** - Navigate predictions\n- **Tab/Enter** - Accept selected prediction\n- **Esc** - Close suggestions\n\n### TrainingPanel\n\nPanel for training the AI model with custom text.\n\n#### Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `storageKey` | `string` | `'aivue_predictive_input'` | LocalStorage key |\n\n#### Events\n\n| Event | Description |\n|-------|-------------|\n| `training-complete` | Emitted when training completes |\n| `data-cleared` | Emitted when data is cleared |\n| `data-imported` | Emitted when data is imported |\n\n---\n\n## 🎨 Composable API\n\n### usePredictiveInput\n\n```typescript\nimport { usePredictiveInput } from '@aivue/predictive-input';\n\nconst {\n  predictions,\n  isTraining,\n  isTrained,\n  train,\n  getPredictions,\n  updatePredictions,\n  clearData,\n  exportData,\n  importData,\n  getStats\n} = usePredictiveInput({\n  storageKey: 'my_app_predictions',\n  autoSave: true,\n  enableOffline: true,\n  defaultLanguage: 'en'\n});\n```\n\n---\n\n## 🔧 Advanced Usage\n\n### Custom Training\n\n```typescript\nimport { usePredictiveInput } from '@aivue/predictive-input';\n\nconst { train, isTrained } = usePredictiveInput();\n\n// Train with custom text\nconst trainingText = `\n  Your writing samples here...\n  Emails, documents, notes, etc.\n`;\n\nawait train(trainingText);\nconsole.log('Training complete:', isTrained.value);\n```\n\n### Manual Predictions\n\n```typescript\nconst { getPredictions } = usePredictiveInput();\n\nconst context = {\n  previousText: 'Hello, how are',\n  currentWord: 'you',\n  cursorPosition: 15,\n  timestamp: Date.now()\n};\n\nconst predictions = getPredictions(context);\npredictions.forEach(pred => {\n  console.log(pred.text, pred.confidence);\n});\n```\n\n### Data Management\n\n```typescript\nconst { exportData, importData, clearData } = usePredictiveInput();\n\n// Export training data\nawait exportData('my-predictions.json');\n\n// Import from file\nconst file = event.target.files[0];\nawait importData(file);\n\n// Clear all data\nawait clearData();\n```\n\n---\n\n## 🎯 Use Cases\n\n### 📧 **Email Composition**\n- Learn from past emails\n- Suggest common phrases\n- Speed up writing\n\n### 📝 **Note Taking**\n- Personal writing style\n- Context-aware suggestions\n- Faster documentation\n\n### 💬 **Chat Applications**\n- Quick responses\n- Consistent tone\n- Reduced typing\n\n### 📄 **Form Filling**\n- Common responses\n- Address completion\n- Repeated information\n\n---\n\n## 🌟 Why Choose This Package?\n\n| Feature | @aivue/predictive-input | Traditional Autocomplete |\n|---------|------------------------|-------------------------|\n| **Learning** | ✅ Learns your style | ❌ Static dictionary |\n| **Context** | ✅ Context-aware | ❌ Word-based only |\n| **Sentences** | ✅ Full sentences | ❌ Single words |\n| **Privacy** | ✅ 100% local | ⚠️ Often server-based |\n| **Offline** | ✅ Works offline | ❌ Needs connection |\n| **Languages** | ✅ 6 languages | ⚠️ Limited |\n\n---\n\n## 📊 Technical Details\n\n### N-Gram Model\n- Unigrams, bigrams, and trigrams\n- Probability-based predictions\n- Efficient pattern matching\n\n### Pattern Learning\n- Phrase extraction (2-5 words)\n- Frequency tracking\n- Context association\n- Recency weighting\n\n### Storage\n- LocalStorage-based\n- Automatic compression\n- Export/import support\n- Privacy-focused\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n---\n\n## 📦 Related Packages\n\nExplore the complete @aivue ecosystem:\n\n### 🧠 [@aivue/core](https://www.npmjs.com/package/@aivue/core)\nCore AI functionality for Vue.js components\n\n### 💬 [@aivue/chatbot](https://www.npmjs.com/package/@aivue/chatbot)\nAI-powered chat components for Vue.js\n\n### ✨ [@aivue/autosuggest](https://www.npmjs.com/package/@aivue/autosuggest)\nAI-powered suggestion components for Vue.js\n\n### 📝 [@aivue/smartform](https://www.npmjs.com/package/@aivue/smartform)\nAI-powered form validation for Vue.js\n\n### 🎭 [@aivue/emotion-ui](https://www.npmjs.com/package/@aivue/emotion-ui)\nEmotion-aware UI components with sentiment analysis\n\n### 📄 [@aivue/doc-intelligence](https://www.npmjs.com/package/@aivue/doc-intelligence)\nDocument processing and OCR with AI\n\n### 🔔 [@aivue/smart-notify](https://www.npmjs.com/package/@aivue/smart-notify)\nIntelligent notification system\n\n### 🎤 [@aivue/voice-actions](https://www.npmjs.com/package/@aivue/voice-actions)\nVoice command integration\n\n### 📋 [@aivue/smart-datatable](https://www.npmjs.com/package/@aivue/smart-datatable)\nAdvanced data table components\n\n### 🖼️ [@aivue/image-caption](https://www.npmjs.com/package/@aivue/image-caption)\nAI-powered image captioning with OpenAI Vision models\n\n### 📊 [@aivue/analytics](https://www.npmjs.com/package/@aivue/analytics)\nAI-powered analytics and insights\n\n---\n\n## 📄 License\n\nMIT © [reachbrt](https://github.com/reachbrt)\n\n---\n\n## 🔗 Links\n\n- [GitHub Repository](https://github.com/reachbrt/vueai)\n- [npm Package](https://www.npmjs.com/package/@aivue/predictive-input)\n- [Demo](https://aivue.netlify.app/)\n- [Report Issues](https://github.com/reachbrt/vueai/issues)\n\n---\n\n## 🙏 Acknowledgments\n\nBuilt with ❤️ using:\n- Vue 3\n- TypeScript\n- Natural (NLP library)\n- Compromise (NLP library)\n\n---\n\n**Made with 🧠 by the @aivue team**\n\n\n\n","readmeFilename":"README.md"}