llama-cpp-capacitor
Version:
A native Capacitor plugin that embeds llama.cpp directly into mobile apps, enabling offline AI inference with chat-first API design. Complete iOS and Android support: text generation, chat, multimodal, TTS, LoRA, embeddings, and more.
123 lines (122 loc) • 4.2 kB
JSON
{
"name": "llama-cpp-capacitor",
"version": "0.1.5",
"description": "A native Capacitor plugin that embeds llama.cpp directly into mobile apps, enabling offline AI inference with chat-first API design. Complete iOS and Android support: text generation, chat, multimodal, TTS, LoRA, embeddings, and more.",
"main": "dist/plugin.cjs.js",
"type": "module",
"module": "dist/esm/index.js",
"types": "types/llama-cpp-capacitor.d.ts",
"unpkg": "dist/plugin.js",
"files": [
"android/src/main/",
"android/build.gradle",
"build-native.sh",
"cpp/",
"dist/",
"ios/CMakeLists.txt",
"ios/CMakeLists-arm64.txt",
"ios/CMakeLists-x86_64.txt",
"ios/Sources",
"ios/Frameworks",
"Package.swift",
"LlamaCpp.podspec",
"LlamaCppCapacitor.podspec",
"types/"
],
"author": "Mr. Yakub Mohammad <yakub@annadata.ai> (yakub@arusatech.com, yakub@arusallc.com)",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/arusatech/llama-cpp.git"
},
"bugs": {
"url": "https://github.com/arusatech/llama-cpp/issues"
},
"homepage": "https://github.com/arusatech/llama-cpp#readme",
"keywords": [
"capacitor",
"plugin",
"native",
"ios",
"android",
"llama",
"llama.cpp",
"ai",
"machine-learning",
"offline-ai",
"text-generation",
"multimodal",
"tts",
"text-to-speech",
"lora",
"embeddings",
"reranking",
"chat-completion",
"gguf",
"large-language-model",
"llm"
],
"scripts": {
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
"verify:ios": "xcodebuild -scheme LlamaCpp -destination generic/platform=iOS",
"verify:android": "cd android && gradlew.bat clean build test && cd ..",
"verify:web": "npm run build",
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
"eslint": "eslint . --ext ts",
"prettier": "prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java",
"swiftlint": "node-swiftlint",
"docgen": "npx docgen --api LlamaCppPlugin --output-readme README.md --output-json dist/docs.json",
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",
"build:native": "./build-native.sh",
"build:all": "npm run build && npm run build:native",
"build:ios": "cd ios && cmake -B build -S . && cmake --build build --config Release",
"build:android": "cd android && gradlew.bat assembleRelease",
"prepack": "npm run build:native",
"pack": "npm run build && npm pack --dry-run",
"pack:full": "npm run build:all && npm pack --dry-run",
"test": "jest",
"test:integration": "./scripts/test-integration.sh",
"test:integration:jest": "jest --config test/jest.integration.config.js",
"test:integration:custom": "ts-node test/integration/test-runner.ts",
"test:unit": "jest --testPathIgnorePatterns=test/integration",
"test:coverage": "jest --coverage",
"clean": "rimraf ./dist",
"clean:native": "rimraf ios/build ios/Frameworks android/build android/src/main/jniLibs",
"clean:test": "rimraf test/output test/coverage",
"watch": "tsc --watch",
"prepublishOnly": "npm run build && npm run build:native"
},
"devDependencies": {
"@capacitor/android": "^8.0.0",
"@capacitor/core": "^8.0.0",
"@capacitor/docgen": "^0.3.0",
"@capacitor/ios": "^8.0.0",
"@ionic/eslint-config": "^0.4.0",
"@ionic/prettier-config": "^4.0.0",
"@ionic/swiftlint-config": "^2.0.0",
"eslint": "^8.57.0",
"prettier": "^3.4.2",
"prettier-plugin-java": "^2.6.6",
"rimraf": "^6.0.1",
"rollup": "^4.30.1",
"swiftlint": "^2.0.0",
"typescript": "^5.0.0"
},
"peerDependencies": {
"@capacitor/core": ">=8.0.0"
},
"prettier": "@ionic/prettier-config",
"swiftlint": "@ionic/swiftlint-config",
"eslintConfig": {
"extends": "@ionic/eslint-config/recommended"
},
"capacitor": {
"ios": {
"src": "ios"
},
"android": {
"src": "android"
}
}
}