{"_id":"@capgo/capacitor-widget-kit","_rev":"12-6383eec2d98533881bebc1001b1dd497","name":"@capgo/capacitor-widget-kit","dist-tags":{"latest":"8.1.10"},"versions":{"8.1.0":{"name":"@capgo/capacitor-widget-kit","version":"8.1.0","keywords":["capacitor","plugin","widgetkit","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.0","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"9a088038d383036e2e0f2a19adb0ff55ec036035","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.0.tgz","fileCount":54,"integrity":"sha512-HJ5HXLUxYlaJ3JEHc+12VRP+Vsr6uK55LQVHkoRlxj+qj4KLIDj13ebG3BmU3I2btko3gZXfw3IgXWZUPtXb3w==","signatures":[{"sig":"MEYCIQCS8TYRWiPZ0EdwdMCCMdDPYiEuG2lHrMveNpK7Dn8FLAIhAOtuAr1g3HynJQncDn4j5A5Jqcg9L1txfEKuuNZ9+EUO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":864482},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"beda535edd9d6f802c203bb90b924601afc86505","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.12.1","description":"Capacitor plugin for generic iOS WidgetKit and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.15.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.0_1779294814260_0.299634939924426","host":"s3://npm-registry-packages-npm-production"}},"8.1.1":{"name":"@capgo/capacitor-widget-kit","version":"8.1.1","keywords":["capacitor","plugin","widgetkit","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"9e2c4975fe520c23cfd7d3890740f1e09b984017","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.1.tgz","fileCount":54,"integrity":"sha512-pISCAujgififAZLtYbroRoSE5YFjnlVhPoVtBd+Ccta093C+EEAV4xuKIWd4ZU10JXwOR+hUYRSxQPFmHI+9pQ==","signatures":[{"sig":"MEUCIGxxbz0EoIGuSPEK96hYF2ymZLi7yAxMdcdG0P0tR4Z7AiEAgDGJuNpWgH0a+ydbncqlvBnqYRfABnuf41IaQ6kH54o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":864482},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"b32525ef1aabb3aab8181b8662a6da238dc64945","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.12.1","description":"Capacitor plugin for generic iOS WidgetKit and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.15.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.1_1779295151627_0.06917730754473173","host":"s3://npm-registry-packages-npm-production"}},"8.1.2":{"name":"@capgo/capacitor-widget-kit","version":"8.1.2","keywords":["capacitor","plugin","widgetkit","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"67ad7a85a7e0f3b892900ea67c8edd365860e1b3","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.2.tgz","fileCount":54,"integrity":"sha512-6Y7GOoY09iCTRyWNFbXSRkE9thfVnTn2aVMxAoLHwZZKILtHZcR9yGjwJilMJn/Xem4AF/Y6tx8LvKayFHBXGg==","signatures":[{"sig":"MEYCIQDBP2yhDu6zJq/ta1I3ezj5erjxA4UFDQdaH7GY1WAHgQIhANALNKH2TY+7hpXhcaUQboMkIosPn4B4kNGgwdpU1a08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":864580},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"d68db5ae392e8877667ff73e3760d2a7d5e53ec2","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.12.1","description":"Capacitor plugin for generic iOS WidgetKit and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.15.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.2_1779368523388_0.15547795295890054","host":"s3://npm-registry-packages-npm-production"}},"8.1.3":{"name":"@capgo/capacitor-widget-kit","version":"8.1.3","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.3","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"3017571c55efa94832453b4cdae6fe4736a09e46","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.3.tgz","fileCount":56,"integrity":"sha512-JsxgkC/KcIeV5aKDLzXA40VLxuGnXuwT22NrqemueExLHVJldsuHEVo2uRCFiblMJ25M4QFUzQac9f4wOid6hg==","signatures":[{"sig":"MEYCIQCzgA8Hvy7OqjsX6jT642DF+l2KYibuLZIArYR+/PC5YAIhAMlaMKlt+ZES4hDW06OsTWMWEbWJmGgXbbqvuCQkiemW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":910704},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"57336f6a6ce1d1b406e7a88195c9dc98f5f7fce6","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.12.1","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.15.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.3_1779400227529_0.3232893403184878","host":"s3://npm-registry-packages-npm-production"}},"8.1.4":{"name":"@capgo/capacitor-widget-kit","version":"8.1.4","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.4","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"382665eb84f8d086053b26840de21220caeb2b8b","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.4.tgz","fileCount":56,"integrity":"sha512-o8lHwO0TZdRg0j3ulOOZcDgzPgnGD91wKSVd9yTBRQbFb4kGnukW0Q9mAJdtpGMKMDMeijQgvxBPQJLNzQbmDQ==","signatures":[{"sig":"MEQCIEgzUbWdQgzgfTkDP2T8Wt3QdhEHCjchkhc0TSEBfUMtAiBZ/sNQ63m9AALNNNlwBBB3KPehSvyArFuHm5fbCxNLyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":910704},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"7ba301cb258f56c4e345bbccef05bd34b99eb184","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.4_1780564568229_0.9742544788949017","host":"s3://npm-registry-packages-npm-production"}},"8.1.5":{"name":"@capgo/capacitor-widget-kit","version":"8.1.5","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.5","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"79e0a73df9b1c6ee8567f14c20103bac65c0b16f","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.5.tgz","fileCount":56,"integrity":"sha512-1e4qk+ZX1/wF3Y05yK2vaajtO6R2ZYZAgqOcTO1DRhh292WLF0VNMeJStKr6RIoqNDqBk803T2aRvxBRQcF9Jw==","signatures":[{"sig":"MEUCIDutEP6OlGjnE5ZjfkYQV6sW7VBP5sWI6FbUHGw+0Yt0AiEAk1oyWjLh60PUBUb1sL0H/NfO4gnFKajgaLFM9BdRxrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":910977},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"b169ce812d987fdbb7423746c0c63004a1c8cead","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.5_1781559456814_0.7700965910282564","host":"s3://npm-registry-packages-npm-production"}},"8.1.6":{"name":"@capgo/capacitor-widget-kit","version":"8.1.6","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.6","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"408a2df913d3bf97ff764d99c971410c673655e7","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.6.tgz","fileCount":56,"integrity":"sha512-lPqxljAHayMLRzk4UV5svRgOdpbtxB4IpCB+63QaorUNcCZkINR4oR7e1f0rH5U4mj7zV5SfDnbEr94pTe5nQA==","signatures":[{"sig":"MEYCIQCdjUrxbBxP4juWrSadda1DCC4fAAGWapCNJ2ui88cIiQIhAL807y9UbLQGBgeX4MNnENNXw3+j4fCqhyt5QWGiIrkY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":911510},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"62243822a8fc4f9ee777d5275cc8eab08ed99eaa","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.6_1781603870319_0.34903083509150523","host":"s3://npm-registry-packages-npm-production"}},"8.1.7":{"name":"@capgo/capacitor-widget-kit","version":"8.1.7","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.7","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"fb3dfe8adf9309d0a333ab2044034e553b104be7","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.7.tgz","fileCount":56,"integrity":"sha512-rJOHMsJ6BHMRTBwpRkU+eThM0Rc3V6R1TnOlCgfzWvuXWg4RLPYdF/JGp8ha38xgiONeHnFWvloEtytWCqeGiw==","signatures":[{"sig":"MEQCIFLLs9/DmjWw6slwa5w24wZqa2fzljfpL1SKI6C3HiRdAiAW0jEdbE/WLnGH/rsqZtcl/XlLs60XfFTzQLNvevptug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":911510},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"65af93b67f6488e7b88ff4fdf088bab3182886f6","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","example:capgo:deploy":"bun run example:build && bun scripts/deploy-example-capgo.mjs","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.7_1781627022113_0.4922724118830646","host":"s3://npm-registry-packages-npm-production"}},"8.1.8":{"name":"@capgo/capacitor-widget-kit","version":"8.1.8","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.8","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"5d3edb109d3d63c4839941f25919f969a99806d6","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.8.tgz","fileCount":56,"integrity":"sha512-UHxE1a+1OhhcUOoCWr3zJ3GyvYqbYLq1bVNyzEHtG85T8hw9MoDfxCkYSy3qDp5Bfp4yn9H9GYx1LVlRb5P4jw==","signatures":[{"sig":"MEYCIQC+Mah0YlgujjlXi38PzphErMBBXSZxRH4aN5Yrt8qvUwIhANZbg/IpzTl2ej9wicW7xcr8Ex/KY+sd7jQ5Z2F8qO2/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":911417},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"40fa291aa3f1333836fbb7a5343e1cc58a1cf1f0","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.8_1781872231631_0.26032163838788214","host":"s3://npm-registry-packages-npm-production"}},"8.1.9":{"name":"@capgo/capacitor-widget-kit","version":"8.1.9","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-widget-kit@8.1.9","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/widget-kit/","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"26e7a4f6c5d0f5da329621503c68b3722e011c2c","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.9.tgz","fileCount":56,"integrity":"sha512-sFev9tswYvGDmztFrKCwGLMh9Yhamd+431eItPiEkmoE0y4TqZDJaDLR/A+W/dgCCUMJZqOnyU8Guu+GVdikyQ==","signatures":[{"sig":"MEYCIQDHYmUWv6glbS9yd4oB6FQ9KCtxqM2tyV+Zs2WZ/axtqwIhAIrB1Hf6hz6X/Ag9OSkwyBEazSG7XEH9PjmF45G6KhQX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":909991},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"6dc2d445de7fe47daccf807272e346abd482f8aa","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android"},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"_nodeVersion":"24.17.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-widget-kit_8.1.9_1782404755589_0.5005015310943324","host":"s3://npm-registry-packages-npm-production"}},"8.1.10":{"_id":"@capgo/capacitor-widget-kit@8.1.10","bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"dist":{"shasum":"2c2841ecfd05be1a8d324776c246fa9c2f6951a6","tarball":"https://registry.npmjs.org/@capgo/capacitor-widget-kit/-/capacitor-widget-kit-8.1.10.tgz","integrity":"sha512-LFmxW1DA460/h4BG5rzP5iE88oOu8sQSgYDIzk8sdarbxFAOb1vBvWox3QlbBnKgATL+1UBnx2Cy1djnuzSQCA==","fileCount":56,"unpackedSize":911101,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-widget-kit@8.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCIm/4wJko9ulxkCuXAb8mH/k67i652teilGjzwcKNXoQIhANHyHeMa8sh8PbomGaI+krRbPtK7rGB/T93KtJz7qXVL"}]},"main":"dist/plugin.cjs.js","name":"@capgo/capacitor-widget-kit","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"module":"dist/esm/index.js","gitHead":"24278425e84d928fc748a52330af18a2a22e1b42","license":"MPL-2.0","private":false,"scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"rimraf ./build/example-ios && bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api CapgoWidgetKitPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:package","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,json,java,mjs}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorWidgetKit -destination generic/platform=iOS","changelog:ai":"node scripts/generate-ai-changelog.mjs","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","test:maestro":"./scripts/run-maestro-native.sh ios","example:build":"bun run build && cd example-app && bun install --frozen-lockfile && bun run build","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:package":"bun run build","example:install":"cd example-app && bun install --frozen-lockfile","test:maestro:ios":"./scripts/run-maestro-native.sh ios","test:maestro:android":"./scripts/run-maestro-native.sh android","check:cap9-deprecated":"bun scripts/check-cap9-deprecated.mjs"},"version":"8.1.10","_npmUser":{"name":"torichancapgo","email":"tori@capgo.app","approver":{"name":"torichancapgo","email":"tori@capgo.app"}},"homepage":"https://capgo.app/docs/plugins/widget-kit/","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"_npmVersion":"11.19.1","description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","directories":{},"maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"_nodeVersion":"24.20.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"devDependencies":{"eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-widget-kit_8.1.10_1789604573930_0.44428363333443976"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T16:33:34.067Z","modified":"2026-09-17T00:22:54.354Z","8.1.0":"2026-05-20T16:33:34.510Z","8.1.1":"2026-05-20T16:39:11.835Z","8.1.2":"2026-05-21T13:02:03.668Z","8.1.3":"2026-05-21T21:50:27.750Z","8.1.4":"2026-06-04T09:16:08.413Z","8.1.5":"2026-06-15T21:37:37.052Z","8.1.6":"2026-06-16T09:57:50.467Z","8.1.7":"2026-06-16T16:23:42.330Z","8.1.8":"2026-06-19T12:30:31.820Z","8.1.9":"2026-06-25T16:25:55.780Z","8.1.10":"2026-09-17T00:22:54.049Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-widget-kit/issues"},"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","homepage":"https://capgo.app/docs/plugins/widget-kit/","keywords":["capacitor","plugin","widgetkit","home-screen-widgets","live-activities","activitykit","ios"],"repository":{"url":"git+ssh://git@github.com/Cap-go/capacitor-widget-kit.git","type":"git"},"description":"Capacitor plugin for generic iOS Home Screen widgets, WidgetKit, and Live Activities using SVG templates, declarative actions, and shared App Group persistence.","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"readme":"# @capgo/capacitor-widget-kit\n<a href=\"https://capgo.app/\"><img src=\"https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-widget-kit\" alt=\"Capgo - Instant updates for Capacitor\" /></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin_widget_kit\"> ➡️ Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin_widget_kit\"> Missing a feature? We’ll build the plugin for you 💪</a></h2>\n</div>\n\nCreate Home Screen WidgetKit, ActivityKit, and Android widget experiences from Capacitor without forcing one rendering model.\n\n## Demo\n\n<img src=\"./docs/demo.webp\" alt=\"Demo of capacitor-widget-kit in action\" width=\"300\" />\n\n## Widget Screenshots\n\n<table>\n  <tr>\n    <td align=\"center\">\n      <img src=\"./docs/screenshots/lock-screen-live-activity.webp\" alt=\"iOS Lock Screen Live Activity widget screenshot\" width=\"260\" />\n      <br />\n      <sub>iOS Lock Screen / Live Activity</sub>\n    </td>\n    <td align=\"center\">\n      <img src=\"./docs/screenshots/dynamic-island-widget.webp\" alt=\"iOS Dynamic Island widget screenshot\" width=\"260\" />\n      <br />\n      <sub>iOS Dynamic Island</sub>\n    </td>\n  </tr>\n</table>\n\nThe plugin has two implementation paths:\n\n- SVG template widgets: store Home Screen, Lock Screen, Dynamic Island, and Android layouts with optional named frames, hotspots, declarative state patches, pause/resume timers, and interaction events. Use this when your widget can be driven by resolved SVG output.\n- Full-native widget sessions: store shared JSON state for native widget code and queue app-to-widget or widget-to-app messages. Use this when you want to render the widget fully in Swift/Kotlin/Java but still need Capacitor to start, stop, sync, or process async work.\n\nThe included workout flow is only an example helper built on top of the generic SVG abstraction.\n\n## Install\n\nYou can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:\n\n```bash\nnpx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```text\nUse the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-widget-kit` plugin in my project.\n```\n\nIf you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nbun add file:../capacitor-widget-kit\nbunx cap sync ios\nbunx cap sync android\n```\n\n## iOS Requirements\n\n- Add a Widget Extension target for Home Screen / SpringBoard widgets.\n- iOS 17+ is recommended for interactive Home Screen widget and Live Activity buttons.\n- Add `NSSupportsLiveActivities` to the app `Info.plist` when using ActivityKit.\n- Add the same App Group to the app target and the widget extension target.\n- Set `CapgoWidgetKitAppGroup` in both `Info.plist` files to the shared App Group identifier.\n\nExample App Group:\n\n```xml\n<key>CapgoWidgetKitAppGroup</key>\n<string>group.app.capgo.widgetkit.exampleapp.widgetkit</string>\n```\n\n## Native Widget Code\n\nThe plugin ships the native pieces a widget extension or Android widget can use:\n\n- `CapgoTemplateActivityAttributes` for the iOS Live Activity bridge\n- `CapgoTemplateActionIntent` for interactive iOS template buttons\n- `CapgoTemplateWidgetTimelineProvider` and `CapgoTemplateHomeWidgetView` for real iOS Home Screen / SpringBoard widgets backed by WidgetKit timelines\n- `CapgoTemplateWidgetBridge` to load a stored SVG activity and resolve one surface into `svg + width/height + frameId + hotspots + metadata`\n- `CapgoTemplateSurfaceView`, `CapgoTemplateWidgetSurface`, and `CapgoTemplateLatestWidgetSurface` to place a rendered SVG view under native hotspot buttons in SwiftUI\n- `CapgoNativeWidgetBridge` to load full-native widget sessions and exchange async messages without using SVG templates\n- `CapgoTemplateActionReceiver` and `CapgoTemplateWidgetBridge` for Android template widgets\n\nIn your iOS widget extension bundle:\n\n```swift\nimport ActivityKit\nimport SwiftUI\nimport WidgetKit\nimport CapgoWidgetKitShared\n\n@main\nstruct ExampleWidgetBundle: WidgetBundle {\n    var body: some Widget {\n        ExampleTemplateHomeWidget()\n\n        if #available(iOS 16.2, *) {\n            ExampleTemplateLiveActivityWidget()\n        }\n    }\n}\n\nstruct ExampleTemplateHomeWidget: Widget {\n    private let kind = \"ExampleTemplateHomeWidget\"\n\n    var body: some WidgetConfiguration {\n        StaticConfiguration(kind: kind, provider: CapgoTemplateWidgetTimelineProvider()) { entry in\n            CapgoTemplateHomeWidgetView(entry: entry) { layout in\n                MySvgRenderer(svg: layout.svg)\n            } placeholder: {\n                Text(\"No active widget\")\n            }\n        }\n        .configurationDisplayName(\"Capgo Template\")\n        .description(\"Home Screen widget rendered from the shared Capgo SVG template store.\")\n        .supportedFamilies([.systemSmall, .systemMedium, .systemLarge])\n    }\n}\n```\n\nUse the SwiftUI surface helpers when a custom WidgetKit view should be designed from JS but rendered by native widget code:\n\n```swift\nCapgoTemplateLatestWidgetSurface {\n    layout in\n    MySvgRenderer(svg: layout.svg)\n} placeholder: {\n    Text(\"No active widget\")\n}\n```\n\nThe helper positions `CapgoTemplateActionIntent` buttons over the resolved SVG hotspots on iOS 17+. See `example-app/widget-extension/ExampleWidgetBundle.swift` for a complete Home Screen widget and Live Activity scaffold.\n\n## SVG Template Usage\n\nThis mode is for Home Screen, Lock Screen, Dynamic Island, and Android widgets that can render resolved SVG. Hotspot actions can switch frames, mutate state, pause/play timers, and emit events for the app to process later.\n\n```ts\nimport { CapgoWidgetKit } from '@capgo/capacitor-widget-kit';\n\nconst { activity } = await CapgoWidgetKit.startTemplateWidget({\n  activityId: 'session-1',\n  openUrl: 'widgetkitdemo://session/session-1',\n  state: {\n    title: 'Chest Day',\n    frame: 'summary',\n    restDurationMs: 90000,\n  },\n  definition: {\n    id: 'generic-session-card',\n    timers: [{ id: 'rest', durationPath: 'state.restDurationMs' }],\n    actions: [\n      {\n        id: 'next-frame',\n        eventName: 'widget.frame.changed',\n        frameMutations: [{ op: 'next', path: 'frame', surface: 'homeScreen' }],\n      },\n      {\n        id: 'toggle-rest',\n        eventName: 'widget.timer.toggled',\n        timerMutations: [{ op: 'toggle', timerId: 'rest' }],\n      },\n    ],\n    layouts: {\n      homeScreen: {\n        width: 100,\n        height: 40,\n        frameIdPath: 'state.frame',\n        frames: [\n          {\n            id: 'summary',\n            hotspots: [{ id: 'switch', actionId: 'next-frame', x: 0, y: 0, width: 100, height: 40 }],\n            svg: `<svg viewBox=\"0 0 100 40\"><text x=\"6\" y=\"20\">{{state.title}}</text></svg>`,\n          },\n          {\n            id: 'timer',\n            hotspots: [{ id: 'pause-play', actionId: 'toggle-rest', x: 0, y: 0, width: 100, height: 40 }],\n            svg: `<svg viewBox=\"0 0 100 40\"><text x=\"6\" y=\"20\">{{timers.rest.remainingText}}</text></svg>`,\n          },\n        ],\n      },\n    },\n  },\n});\n\nawait CapgoWidgetKit.performTemplateAction({\n  activityId: activity.activityId,\n  actionId: 'toggle-rest',\n  sourceId: 'app-pause-play-button',\n});\n\nconst pendingEvents = await CapgoWidgetKit.listTemplateEvents({\n  activityId: activity.activityId,\n  unacknowledgedOnly: true,\n});\n```\n\n## Full-Native Widget Usage\n\nThis mode is for widgets rendered in native code. The app keeps a shared session state for sync reads/writes, and messages cover async jobs that need a later response.\n\n```ts\nconst { session } = await CapgoWidgetKit.startWidgetSession({\n  widgetId: 'native-session-1',\n  kind: 'workout-controls',\n  state: { isRunning: true, selectedSetId: 'set-1' },\n  metadata: { accent: '#00d69c' },\n});\n\nawait CapgoWidgetKit.updateWidgetSession({\n  widgetId: session.widgetId,\n  merge: true,\n  state: { isRunning: false },\n});\n\nconst { message } = await CapgoWidgetKit.sendWidgetMessage({\n  widgetId: session.widgetId,\n  direction: 'widgetToApp',\n  name: 'syncWorkoutSet',\n  payload: { setId: 'set-1' },\n  expectsResponse: true,\n});\n\nawait CapgoWidgetKit.completeWidgetMessage({\n  messageId: message.messageId,\n  response: { synced: true },\n});\n\nawait CapgoWidgetKit.stopWidgetSession({ widgetId: session.widgetId });\n```\n\n## Example App\n\nThe `example-app/` folder is a lightweight Vite demo for the generic template flow. It runs in the browser using the preview store and demonstrates:\n\n- starting one SVG template widget for the Home Screen surface\n- resolving the Home Screen surface\n- running an action from the app and from a hotspot overlay\n- reading the stored widget template back\n- reading and acknowledging the event log\n- ending the stored template\n\nThe workout helper is only used there as an example template factory.\n\n## API\n\n<docgen-index>\n\n* [`areActivitiesSupported()`](#areactivitiessupported)\n* [`startTemplateActivity(...)`](#starttemplateactivity)\n* [`startTemplateWidget(...)`](#starttemplatewidget)\n* [`updateTemplateActivity(...)`](#updatetemplateactivity)\n* [`endTemplateActivity(...)`](#endtemplateactivity)\n* [`performTemplateAction(...)`](#performtemplateaction)\n* [`getTemplateActivity(...)`](#gettemplateactivity)\n* [`listTemplateActivities()`](#listtemplateactivities)\n* [`listTemplateEvents(...)`](#listtemplateevents)\n* [`acknowledgeTemplateEvents(...)`](#acknowledgetemplateevents)\n* [`startWidgetSession(...)`](#startwidgetsession)\n* [`updateWidgetSession(...)`](#updatewidgetsession)\n* [`stopWidgetSession(...)`](#stopwidgetsession)\n* [`getWidgetSession(...)`](#getwidgetsession)\n* [`listWidgetSessions()`](#listwidgetsessions)\n* [`sendWidgetMessage(...)`](#sendwidgetmessage)\n* [`listWidgetMessages(...)`](#listwidgetmessages)\n* [`acknowledgeWidgetMessages(...)`](#acknowledgewidgetmessages)\n* [`completeWidgetMessage(...)`](#completewidgetmessage)\n* [`reloadWidgets(...)`](#reloadwidgets)\n* [`getPluginVersion()`](#getpluginversion)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\nCapacitor bridge for an iOS-first WidgetKit / Live Activities plugin.\n\nThe core abstraction is a generic SVG template record:\n- raw SVG templates with binding placeholders\n- declarative action patches\n- timer bindings exposed to the template scope\n- event logging so the host app can process button results later\n\nThe plugin owns shared persistence, declarative action execution, and event retrieval.\nThe host widget extension keeps full freedom over actual WidgetKit rendering, including\nHome Screen / SpringBoard widgets backed by WidgetKit timelines.\n\nFull-native widgets can use widget sessions for synchronous shared state and widget messages\nfor asynchronous app/widget jobs without adopting the SVG template renderer.\n\n### areActivitiesSupported()\n\n```typescript\nareActivitiesSupported() => Promise<ActivitiesSupportedResult>\n```\n\nCheck whether the native template activity bridge can run on the current device.\n\n**Returns:** <code>Promise&lt;<a href=\"#activitiessupportedresult\">ActivitiesSupportedResult</a>&gt;</code>\n\n--------------------\n\n\n### startTemplateActivity(...)\n\n```typescript\nstartTemplateActivity(options: StartTemplateActivityOptions) => Promise<StartTemplateActivityResult>\n```\n\nPersist a generic SVG template activity and start the matching native Live Activity bridge.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#starttemplateactivityoptions\">StartTemplateActivityOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#starttemplateactivityresult\">StartTemplateActivityResult</a>&gt;</code>\n\n--------------------\n\n\n### startTemplateWidget(...)\n\n```typescript\nstartTemplateWidget(options: StartTemplateWidgetOptions) => Promise<StartTemplateActivityResult>\n```\n\nPersist a generic SVG template for Home Screen / SpringBoard widgets without starting a Live Activity.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#starttemplatewidgetoptions\">StartTemplateWidgetOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#starttemplateactivityresult\">StartTemplateActivityResult</a>&gt;</code>\n\n--------------------\n\n\n### updateTemplateActivity(...)\n\n```typescript\nupdateTemplateActivity(options: UpdateTemplateActivityOptions) => Promise<TemplateActivityResult>\n```\n\nReplace part or all of the stored activity definition/state.\n\n| Param         | Type                                                                                    |\n| ------------- | --------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatetemplateactivityoptions\">UpdateTemplateActivityOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#templateactivityresult\">TemplateActivityResult</a>&gt;</code>\n\n--------------------\n\n\n### endTemplateActivity(...)\n\n```typescript\nendTemplateActivity(options: EndTemplateActivityOptions) => Promise<void>\n```\n\nEnd a running activity while optionally persisting one last state snapshot.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#endtemplateactivityoptions\">EndTemplateActivityOptions</a></code> |\n\n--------------------\n\n\n### performTemplateAction(...)\n\n```typescript\nperformTemplateAction(options: PerformTemplateActionOptions) => Promise<PerformTemplateActionResult>\n```\n\nExecute one declarative action and record the resulting event.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#performtemplateactionoptions\">PerformTemplateActionOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#performtemplateactionresult\">PerformTemplateActionResult</a>&gt;</code>\n\n--------------------\n\n\n### getTemplateActivity(...)\n\n```typescript\ngetTemplateActivity(options: GetTemplateActivityOptions) => Promise<TemplateActivityResult>\n```\n\nRead one activity back from the shared store.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#gettemplateactivityoptions\">GetTemplateActivityOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#templateactivityresult\">TemplateActivityResult</a>&gt;</code>\n\n--------------------\n\n\n### listTemplateActivities()\n\n```typescript\nlistTemplateActivities() => Promise<ListTemplateActivitiesResult>\n```\n\nList every activity currently known by the plugin.\n\n**Returns:** <code>Promise&lt;<a href=\"#listtemplateactivitiesresult\">ListTemplateActivitiesResult</a>&gt;</code>\n\n--------------------\n\n\n### listTemplateEvents(...)\n\n```typescript\nlistTemplateEvents(options?: ListTemplateEventsOptions | undefined) => Promise<ListTemplateEventsResult>\n```\n\nList stored action events so the app can react to widget interactions later.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#listtemplateeventsoptions\">ListTemplateEventsOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#listtemplateeventsresult\">ListTemplateEventsResult</a>&gt;</code>\n\n--------------------\n\n\n### acknowledgeTemplateEvents(...)\n\n```typescript\nacknowledgeTemplateEvents(options: AcknowledgeTemplateEventsOptions) => Promise<void>\n```\n\nMark previously processed events as acknowledged.\n\n| Param         | Type                                                                                          |\n| ------------- | --------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#acknowledgetemplateeventsoptions\">AcknowledgeTemplateEventsOptions</a></code> |\n\n--------------------\n\n\n### startWidgetSession(...)\n\n```typescript\nstartWidgetSession(options: StartWidgetSessionOptions) => Promise<StartWidgetSessionResult>\n```\n\nStart a full-native widget session backed by shared JSON state.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#startwidgetsessionoptions\">StartWidgetSessionOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#startwidgetsessionresult\">StartWidgetSessionResult</a>&gt;</code>\n\n--------------------\n\n\n### updateWidgetSession(...)\n\n```typescript\nupdateWidgetSession(options: UpdateWidgetSessionOptions) => Promise<WidgetSessionResult>\n```\n\nUpdate a full-native widget session.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatewidgetsessionoptions\">UpdateWidgetSessionOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#widgetsessionresult\">WidgetSessionResult</a>&gt;</code>\n\n--------------------\n\n\n### stopWidgetSession(...)\n\n```typescript\nstopWidgetSession(options: StopWidgetSessionOptions) => Promise<void>\n```\n\nStop a full-native widget session.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#stopwidgetsessionoptions\">StopWidgetSessionOptions</a></code> |\n\n--------------------\n\n\n### getWidgetSession(...)\n\n```typescript\ngetWidgetSession(options: GetWidgetSessionOptions) => Promise<WidgetSessionResult>\n```\n\nRead one full-native widget session.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getwidgetsessionoptions\">GetWidgetSessionOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#widgetsessionresult\">WidgetSessionResult</a>&gt;</code>\n\n--------------------\n\n\n### listWidgetSessions()\n\n```typescript\nlistWidgetSessions() => Promise<ListWidgetSessionsResult>\n```\n\nList every full-native widget session currently known by the plugin.\n\n**Returns:** <code>Promise&lt;<a href=\"#listwidgetsessionsresult\">ListWidgetSessionsResult</a>&gt;</code>\n\n--------------------\n\n\n### sendWidgetMessage(...)\n\n```typescript\nsendWidgetMessage(options: SendWidgetMessageOptions) => Promise<SendWidgetMessageResult>\n```\n\nQueue a message between the app and native widget code.\n\n| Param         | Type                                                                          |\n| ------------- | ----------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#sendwidgetmessageoptions\">SendWidgetMessageOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#sendwidgetmessageresult\">SendWidgetMessageResult</a>&gt;</code>\n\n--------------------\n\n\n### listWidgetMessages(...)\n\n```typescript\nlistWidgetMessages(options?: ListWidgetMessagesOptions | undefined) => Promise<ListWidgetMessagesResult>\n```\n\nList queued full-native widget bridge messages.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#listwidgetmessagesoptions\">ListWidgetMessagesOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#listwidgetmessagesresult\">ListWidgetMessagesResult</a>&gt;</code>\n\n--------------------\n\n\n### acknowledgeWidgetMessages(...)\n\n```typescript\nacknowledgeWidgetMessages(options: AcknowledgeWidgetMessagesOptions) => Promise<void>\n```\n\nMark widget bridge messages as acknowledged after processing.\n\n| Param         | Type                                                                                          |\n| ------------- | --------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#acknowledgewidgetmessagesoptions\">AcknowledgeWidgetMessagesOptions</a></code> |\n\n--------------------\n\n\n### completeWidgetMessage(...)\n\n```typescript\ncompleteWidgetMessage(options: CompleteWidgetMessageOptions) => Promise<WidgetMessageResult>\n```\n\nComplete or fail an async widget bridge message.\n\n| Param         | Type                                                                                  |\n| ------------- | ------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#completewidgetmessageoptions\">CompleteWidgetMessageOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#widgetmessageresult\">WidgetMessageResult</a>&gt;</code>\n\n--------------------\n\n\n### reloadWidgets(...)\n\n```typescript\nreloadWidgets(options?: ReloadWidgetsOptions | undefined) => Promise<void>\n```\n\nAsk native widgets to reload after external app state changes.\n\n| Param         | Type                                                                  |\n| ------------- | --------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#reloadwidgetsoptions\">ReloadWidgetsOptions</a></code> |\n\n--------------------\n\n\n### getPluginVersion()\n\n```typescript\ngetPluginVersion() => Promise<PluginVersionResult>\n```\n\nReturn the platform implementation version marker.\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginversionresult\">PluginVersionResult</a>&gt;</code>\n\n--------------------\n\n\n### Interfaces\n\n\n#### ActivitiesSupportedResult\n\nResult of a Live Activities capability check.\n\n| Prop            | Type                 | Description                                                                         |\n| --------------- | -------------------- | ----------------------------------------------------------------------------------- |\n| **`supported`** | <code>boolean</code> | Whether the current device and runtime can run the native template activity bridge. |\n| **`reason`**    | <code>string</code>  | Human-readable reason when support is unavailable.                                  |\n\n\n#### StartTemplateActivityResult\n\nResult when starting a generic template activity.\n\n| Prop           | Type                                                                            | Description               |\n| -------------- | ------------------------------------------------------------------------------- | ------------------------- |\n| **`activity`** | <code><a href=\"#svgtemplateactivityrecord\">SvgTemplateActivityRecord</a></code> | Stored activity snapshot. |\n\n\n#### SvgTemplateActivityRecord\n\nStored activity snapshot returned by the plugin.\n\n| Prop             | Type                                                                                                                | Description                                               |\n| ---------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |\n| **`activityId`** | <code>string</code>                                                                                                 | Stable plugin activity identifier.                        |\n| **`definition`** | <code><a href=\"#svgtemplatedefinition\">SvgTemplateDefinition</a></code>                                             | Full template definition.                                 |\n| **`state`**      | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code>                                                       | Persisted JSON state.                                     |\n| **`timers`**     | <code><a href=\"#record\">Record</a>&lt;string, <a href=\"#svgtemplatetimerstate\">SvgTemplateTimerState</a>&gt;</code> | Timer runtime state keyed by timer id.                    |\n| **`status`**     | <code>'active' \\| 'ended'</code>                                                                                    | Current lifecycle status.                                 |\n| **`openUrl`**    | <code>string</code>                                                                                                 | Optional deep link opened when the widget body is tapped. |\n| **`updatedAt`**  | <code>number</code>                                                                                                 | Last update timestamp.                                    |\n| **`revision`**   | <code>number</code>                                                                                                 | Monotonic revision incremented on every state change.     |\n\n\n#### SvgTemplateDefinition\n\nGeneric SVG template definition stored by the plugin.\n\n| Prop           | Type                                                              | Description                                                                 |\n| -------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------- |\n| **`id`**       | <code>string</code>                                               | Stable template identifier.                                                 |\n| **`version`**  | <code>string</code>                                               | Optional version marker for migrations.                                     |\n| **`layouts`**  | <code><a href=\"#svgtemplatelayouts\">SvgTemplateLayouts</a></code> | Available WidgetKit layouts.                                                |\n| **`actions`**  | <code>SvgTemplateActionDefinition[]</code>                        | Optional declarative actions.                                               |\n| **`timers`**   | <code>SvgTemplateTimerDefinition[]</code>                         | Optional timer definitions exposed to the template runtime.                 |\n| **`metadata`** | <code><a href=\"#jsonobject\">JsonObject</a></code>                 | Optional JSON metadata mirrored in the runtime scope under `meta.template`. |\n\n\n#### SvgTemplateLayouts\n\nBundle of optional WidgetKit surface layouts.\n\n| Prop                               | Type                                                            | Description                                                                                                               |\n| ---------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |\n| **`homeScreen`**                   | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional Home Screen / SpringBoard widget layout. When omitted, native Home Screen widgets may fall back to `lockScreen`. |\n| **`lockScreen`**                   | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional lock-screen / Live Activity banner layout.                                                                       |\n| **`dynamicIslandExpanded`**        | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional expanded Dynamic Island layout.                                                                                  |\n| **`dynamicIslandCompactLeading`**  | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional compact leading Dynamic Island layout.                                                                           |\n| **`dynamicIslandCompactTrailing`** | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional compact trailing Dynamic Island layout.                                                                          |\n| **`dynamicIslandMinimal`**         | <code><a href=\"#svgtemplatelayout\">SvgTemplateLayout</a></code> | Optional minimal Dynamic Island layout.                                                                                   |\n\n\n#### SvgTemplateLayoutWithSvg\n\nSVG layout variant backed by a base SVG string.\n\n| Prop                 | Type                              | Description                                                                                                                                                   |\n| -------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`svg`**            | <code>string</code>               | Raw SVG template string used when no frame is selected. The runtime resolves `{{state.*}}`, `{{timers.*}}`, and `{{meta.*}}` placeholders before rendering.   |\n| **`frames`**         | <code>SvgTemplateFrame[]</code>   | Optional named SVG frames for click-driven or timer-driven frame changes.                                                                                     |\n| **`frameIdPath`**    | <code>string</code>               | Optional state/runtime path that resolves to the active frame id. Examples: `state.frame`, `state.widgets.{{state.activeIndex}}.frame`, or `{{state.frame}}`. |\n| **`defaultFrameId`** | <code>string</code>               | Frame id used when `frameIdPath` is missing or resolves to an unknown frame.                                                                                  |\n| **`width`**          | <code>number</code>               | Nominal SVG width used for scaling hotspots.                                                                                                                  |\n| **`height`**         | <code>number</code>               | Nominal SVG height used for scaling hotspots.                                                                                                                 |\n| **`hotspots`**       | <code>SvgTemplateHotspot[]</code> | Interactive overlay regions.                                                                                                                                  |\n\n\n#### SvgTemplateFrame\n\nNamed SVG frame that can be selected by activity state.\n\n| Prop           | Type                              | Description                                                                                                                                 |\n| -------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`id`**       | <code>string</code>               | Stable frame identifier.                                                                                                                    |\n| **`svg`**      | <code>string</code>               | Raw SVG template string for this frame. The runtime resolves `{{state.*}}`, `{{timers.*}}`, and `{{meta.*}}` placeholders before rendering. |\n| **`hotspots`** | <code>SvgTemplateHotspot[]</code> | Optional frame-specific interactive regions. When omitted, the parent layout hotspots are used.                                             |\n\n\n#### SvgTemplateHotspot\n\nInteractive region overlaid on top of a rendered SVG layout.\n\n| Prop           | Type                                              | Description                                                             |\n| -------------- | ------------------------------------------------- | ----------------------------------------------------------------------- |\n| **`id`**       | <code>string</code>                               | Stable hotspot identifier.                                              |\n| **`actionId`** | <code>string</code>                               | Action identifier executed when the region is tapped.                   |\n| **`x`**        | <code>number</code>                               | X position in the SVG coordinate space.                                 |\n| **`y`**        | <code>number</code>                               | Y position in the SVG coordinate space.                                 |\n| **`width`**    | <code>number</code>                               | Hotspot width in the SVG coordinate space.                              |\n| **`height`**   | <code>number</code>                               | Hotspot height in the SVG coordinate space.                             |\n| **`label`**    | <code>string</code>                               | Optional accessibility label for the interactive region.                |\n| **`role`**     | <code>'button' \\| 'link'</code>                   | Optional semantic role.                                                 |\n| **`payload`**  | <code><a href=\"#jsonobject\">JsonObject</a></code> | Optional static payload forwarded when the hotspot triggers its action. |\n\n\n#### JsonObject\n\nJSON-safe object used as activity state.\n\n\n#### SvgTemplateLayoutWithFrames\n\nSVG layout variant backed by named SVG frames.\n\n| Prop                 | Type                              | Description                                                                                                                                                   |\n| -------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`svg`**            | <code>string</code>               | Raw SVG template string used when no frame is selected. The runtime resolves `{{state.*}}`, `{{timers.*}}`, and `{{meta.*}}` placeholders before rendering.   |\n| **`frames`**         | <code>SvgTemplateFrame[]</code>   | Named SVG frames for click-driven or timer-driven frame changes.                                                                                              |\n| **`frameIdPath`**    | <code>string</code>               | Optional state/runtime path that resolves to the active frame id. Examples: `state.frame`, `state.widgets.{{state.activeIndex}}.frame`, or `{{state.frame}}`. |\n| **`defaultFrameId`** | <code>string</code>               | Frame id used when `frameIdPath` is missing or resolves to an unknown frame.                                                                                  |\n| **`width`**          | <code>number</code>               | Nominal SVG width used for scaling hotspots.                                                                                                                  |\n| **`height`**         | <code>number</code>               | Nominal SVG height used for scaling hotspots.                                                                                                                 |\n| **`hotspots`**       | <code>SvgTemplateHotspot[]</code> | Interactive overlay regions.                                                                                                                                  |\n\n\n#### SvgTemplateActionDefinition\n\nDeclarative action attached to one or more hotspots.\n\n| Prop                 | Type                                    | Description                                                        |\n| -------------------- | --------------------------------------- | ------------------------------------------------------------------ |\n| **`id`**             | <code>string</code>                     | Stable action identifier.                                          |\n| **`eventName`**      | <code>string</code>                     | Optional event name used in the action log.                        |\n| **`label`**          | <code>string</code>                     | Optional UI label.                                                 |\n| **`patches`**        | <code>SvgTemplateStatePatch[]</code>    | Ordered state mutations executed when the action runs.             |\n| **`timerMutations`** | <code>SvgTemplateTimerMutation[]</code> | Ordered timer mutations executed when the action runs.             |\n| **`frameMutations`** | <code>SvgTemplateFrameMutation[]</code> | Ordered frame mutations executed when the action runs.             |\n| **`openUrl`**        | <code>string</code>                     | Optional deep link opened by the host widget when the action runs. |\n\n\n#### SvgTemplateStatePatch\n\nDeclarative mutation applied to the stored activity state.\n\n| Prop                | Type                                                                    | Description                                                                                                                                                    |\n| ------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`op`**            | <code>'set' \\| 'increment' \\| 'toggle' \\| 'unset' \\| 'timestamp'</code> | Mutation operation.                                                                                                                                            |\n| **`path`**          | <code>string</code>                                                     | Destination state path. The path may itself contain `{{...}}` placeholders.                                                                                    |\n| **`value`**         | <code><a href=\"#jsonvalue\">JsonValue</a></code>                         | Optional literal value used by the mutation.                                                                                                                   |\n| **`valuePath`**     | <code>string</code>                                                     | Optional source path used to copy a value from the current runtime scope. The path may itself contain `{{...}}` placeholders.                                  |\n| **`valueTemplate`** | <code>string</code>                                                     | Optional template-resolved value. If the string is a single `{{...}}` token, the raw referenced JSON value is copied. Otherwise the resolved string is stored. |\n| **`amount`**        | <code>number</code>                                                     | Increment amount for `increment`.                                                                                                                              |\n\n\n#### SvgTemplateTimerMutation\n\nDeclarative timer mutation triggered by an action.\n\n| Prop               | Type                                                                                                       | Description                                                                                                             |\n| ------------------ | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |\n| **`op`**           | <code>'toggle' \\| 'start' \\| 'stop' \\| 'restart' \\| 'pause' \\| 'resume' \\| 'reset' \\| 'setDuration'</code> | Mutation operation.                                                                                                     |\n| **`timerId`**      | <code>string</code>                                                                                        | Target timer identifier.                                                                                                |\n| **`durationMs`**   | <code>number</code>                                                                                        | Optional fixed duration override in milliseconds.                                                                       |\n| **`durationPath`** | <code>string</code>                                                                                        | Optional path that resolves to a duration override in milliseconds. The path may itself contain `{{...}}` placeholders. |\n\n\n#### SvgTemplateFrameMutation\n\nDeclarative frame mutation triggered by an action.\n\n| Prop           | Type                                                              | Description                                                                                                                                 |\n| -------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`op`**       | <code>'set' \\| 'toggle' \\| 'next' \\| 'previous'</code>            | Mutation operation.                                                                                                                         |\n| **`path`**     | <code>string</code>                                               | Destination state path that stores the active frame id. The path may itself contain `{{...}}` placeholders.                                 |\n| **`frameId`**  | <code>string</code>                                               | Frame id used by `set`, or the alternate frame id used by `toggle`. The value may contain `{{...}}` placeholders.                           |\n| **`frameIds`** | <code>string[]</code>                                             | Ordered frame ids used by `next`, `previous`, and `toggle`. When omitted, `surface` can be used to read frame ids from a layout definition. |\n| **`surface`**  | <code><a href=\"#svgtemplatesurface\">SvgTemplateSurface</a></code> | Optional surface whose layout frames should be used when `frameIds` is omitted.                                                             |\n| **`wrap`**     | <code>boolean</code>                                              | Whether `next` and `previous` wrap at the ends. Defaults to `true`.                                                                         |\n\n\n#### SvgTemplateTimerDefinition\n\nTimer binding exposed to SVG templates.\n\n| Prop               | Type                 | Description                                                                                                                         |\n| ------------------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| **`id`**           | <code>string</code>  | Stable timer identifier.                                                                                                            |\n| **`durationMs`**   | <code>number</code>  | Optional fixed duration in milliseconds.                                                                                            |\n| **`durationPath`** | <code>string</code>  | Optional state path that resolves to a duration in milliseconds. The path may itself contain `{{...}}` placeholders.                |\n| **`startAtPath`**  | <code>string</code>  | Optional state path that resolves to the timer start timestamp in milliseconds. The path may itself contain `{{...}}` placeholders. |\n| **`autoStart`**    | <code>boolean</code> | When true, the timer starts automatically when the activity is created.                                                             |\n\n\n#### SvgTemplateTimerState\n\nPersisted timer runtime state.\n\n| Prop             | Type                                                                    | Description                                                                                                            |\n| ---------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| **`id`**         | <code>string</code>                                                     | Timer identifier.                                                                                                      |\n| **`startedAt`**  | <code>number \\| null</code>                                             | Start timestamp in milliseconds, or `null` when the timer is idle.                                                     |\n| **`elapsedMs`**  | <code>number</code>                                                     | Elapsed milliseconds already accumulated before the current run. This is used to preserve timer progress while paused. |\n| **`durationMs`** | <code>number</code>                                                     | Current timer duration in milliseconds.                                                                                |\n| **`status`**     | <code>'idle' \\| 'running' \\| 'paused' \\| 'finished' \\| 'stopped'</code> | Current timer status.                                                                                                  |\n| **`updatedAt`**  | <code>number</code>                                                     | Last update timestamp.                                                                                                 |\n\n\n#### StartTemplateActivityOptions\n\nOptions for starting a generic SVG template activity.\n\n| Prop                    | Type                                                                    | Description                                                                                                                                                                       |\n| ----------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`activityId`**        | <code>string</code>                                                     | Optional explicit activity identifier. When omitted, the native runtime creates one.                                                                                              |\n| **`definition`**        | <code><a href=\"#svgtemplatedefinition\">SvgTemplateDefinition</a></code> | Generic SVG template definition.                                                                                                                                                  |\n| **`state`**             | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code>           | Initial JSON state exposed under `state.*`.                                                                                                                                       |\n| **`openUrl`**           | <code>string</code>                                                     | Optional deep link used when the widget body is tapped.                                                                                                                           |\n| **`startLiveActivity`** | <code>boolean</code>                                                    | Whether iOS should also start a native Live Activity. Defaults to `true`. Set to `false` when the same SVG template should only back a home-screen or lock-screen widget surface. |\n\n\n#### StartTemplateWidgetOptions\n\nOptions for starting or replacing a Home Screen / SpringBoard widget template.\n\nThis persists the same SVG template record as `startTemplateActivity`, but native iOS\nimplementations do not start an ActivityKit Live Activity.\n\n| Prop             | Type                                                                    | Description                                                                          |\n| ---------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |\n| **`activityId`** | <code>string</code>                                                     | Optional explicit activity identifier. When omitted, the native runtime creates one. |\n| **`definition`** | <code><a href=\"#svgtemplatedefinition\">SvgTemplateDefinition</a></code> | Generic SVG template definition.                                                     |\n| **`state`**      | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code>           | Initial JSON state exposed under `state.*`.                                          |\n| **`openUrl`**    | <code>string</code>                                                     | Optional deep link used when the widget body is tapped.                              |\n\n\n#### TemplateActivityResult\n\nResult when reading or updating a single activity.\n\n| Prop           | Type                                                                                    | Description                                         |\n| -------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------- |\n| **`activity`** | <code><a href=\"#svgtemplateactivityrecord\">SvgTemplateActivityRecord</a> \\| null</code> | Stored activity snapshot, or `null` when not found. |\n\n\n#### UpdateTemplateActivityOptions\n\nOptions for updating an existing template activity.\n\n| Prop             | Type                                                                    | Description                                              |\n| ---------------- | ----------------------------------------------------------------------- | -------------------------------------------------------- |\n| **`activityId`** | <code>string</code>                                                     | Activity identifier returned by `startTemplateActivity`. |\n| **`definition`** | <code><a href=\"#svgtemplatedefinition\">SvgTemplateDefinition</a></code> | Optional replacement definition.                         |\n| **`state`**      | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code>           | Optional replacement state.                              |\n| **`openUrl`**    | <code>string</code>                                                     | Optional replacement deep link.                          |\n\n\n#### EndTemplateActivityOptions\n\nOptions for ending a template activity.\n\n| Prop             | Type                                                          | Description                                              |\n| ---------------- | ------------------------------------------------------------- | -------------------------------------------------------- |\n| **`activityId`** | <code>string</code>                                           | Activity identifier returned by `startTemplateActivity`. |\n| **`state`**      | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code> | Optional final state persisted before ending.            |\n\n\n#### PerformTemplateActionResult\n\nResult after executing an action.\n\n| Prop           | Type                                                                            | Description                          |\n| -------------- | ------------------------------------------------------------------------------- | ------------------------------------ |\n| **`activity`** | <code><a href=\"#svgtemplateactivityrecord\">SvgTemplateActivityRecord</a></code> | Updated activity snapshot.           |\n| **`event`**    | <code><a href=\"#svgtemplateactionevent\">SvgTemplateActionEvent</a></code>       | Action event emitted by the runtime. |\n\n\n#### SvgTemplateActionEvent\n\nEvent emitted whenever a declarative action is executed.\n\n| Prop                 | Type                                                                                                                | Description                                                                     |\n| -------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |\n| **`eventId`**        | <code>string</code>                                                                                                 | Stable event identifier.                                                        |\n| **`activityId`**     | <code>string</code>                                                                                                 | Activity identifier associated with the event.                                  |\n| **`actionId`**       | <code>string</code>                                                                                                 | Action identifier that produced the event.                                      |\n| **`eventName`**      | <code>string</code>                                                                                                 | Optional event name copied from the action definition.                          |\n| **`sourceId`**       | <code>string</code>                                                                                                 | Optional source identifier, typically the hotspot id that triggered the action. |\n| **`createdAt`**      | <code>number</code>                                                                                                 | Event creation timestamp in milliseconds.                                       |\n| **`acknowledgedAt`** | <code>number \\| null</code>                                                                                         | Timestamp in milliseconds when the app acknowledged the event.                  |\n| **`payload`**        | <code><a href=\"#jsonobject\">JsonObject</a> \\| null</code>                                                           | Optional caller-provided payload.                                               |\n| **`state`**          | <code><a href=\"#svgtemplatestate\">SvgTemplateState</a></code>                                                       | State snapshot after the action was applied.                                    |\n| **`timers`**         | <code><a href=\"#record\">Record</a>&lt;string, <a href=\"#svgtemplatetimerstate\">SvgTemplateTimerState</a>&gt;</code> | Timer snapshot after the action was applied.                                    |\n\n\n#### PerformTemplateActionOptions\n\nOptions for executing a declarative action.\n\n| Prop             | Type                                              | Description                                                                                                     |\n| ---------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| **`activityId`** | <code>string</code>                               | Activity identifier returned by `startTemplateActivity`.                                                        |\n| **`actionId`**   | <code>string</code>                               | Action identifier declared in the template definition.                                                          |\n| **`sourceId`**   | <code>string</code>                               | Optional source identifier, typically the hotspot id that triggered the action.                                 |\n| **`payload`**    | <code><a href=\"#jsonobject\">JsonObject</a></code> | Optional payload stored with the emitted event and exposed to declarative patches under `{{action.payload.*}}`. |\n\n\n#### GetTemplateActivityOptions\n\nOptions for reading one stored activity.\n\n| Prop             | Type                | Description                  |\n| ---------------- | ------------------- | ---------------------------- |\n| **`activityId`** | <code>string</code> | Activity identifier to load. |\n\n\n#### ListTemplateActivitiesResult\n\nResult when listing stored activities.\n\n| Prop             | Type                                     | Description                |\n| ---------------- | ---------------------------------------- | -------------------------- |\n| **`activities`** | <code>SvgTemplateActivityRecord[]</code> | Stored activity snapshots. |\n\n\n#### ListTemplateEventsResult\n\nResult when listing action events.\n\n| Prop         | Type                                  | Description             |\n| ------------ | ------------------------------------- | ----------------------- |\n| **`events`** | <code>SvgTemplateActionEvent[]</code> | Matching action events. |\n\n\n#### ListTemplateEventsOptions\n\nOptions when listing action events.\n\n| Prop                     | Type                 | Description                                         |\n| ------------------------ | -------------------- | --------------------------------------------------- |\n| **`activityId`**         | <code>string</code>  | Optional activity filter.                           |\n| **`unacknowledgedOnly`** | <code>boolean</code> | When true, only unacknowledged events are returned. |\n\n\n#### AcknowledgeTemplateEventsOptions\n\nOptions for acknowledging events after the host app processes them.\n\n| Prop             | Type                  | Description                                                                   |\n| ---------------- | --------------------- | ----------------------------------------------------------------------------- |\n| **`eventIds`**   | <code>string[]</code> | Optional explicit event ids to acknowledge.                                   |\n| **`activityId`** | <code>string</code>   | Optional activity id shortcut that acknowledges every event for the activity. |\n\n\n#### StartWidgetSessionResult\n\nResult when starting a full-native widget session.\n\n| Prop          | Type                                                                | Description              |\n| ------------- | ------------------------------------------------------------------- | ------------------------ |\n| **`session`** | <code><a href=\"#widgetsessionrecord\">WidgetSessionRecord</a></code> | Stored session snapshot. |\n\n\n#### WidgetSessionRecord\n\nStored full-native widget session.\n\n| Prop            | Type                                              | Description                                                             |\n| --------------- | ------------------------------------------------- | ----------------------------------------------------------------------- |\n| **`widgetId`**  | <code>string</code>                               | Stable widget/session identifier.                                       |\n| **`kind`**      | <code>string</code>                               | Optional product-defined session kind.                                  |\n| **`state`**     | <code><a href=\"#jsonobject\">JsonObject</a></code> | JSON state shared synchronously between the app and native widget code. |\n| **`metadata`**  | <code><a href=\"#jsonobject\">JsonObject</a></code> | Optional JSON metadata for native widget code.                          |\n| **`status`**    | <code>'active' \\| 'stopped'</code>                | Current session status.                                                 |\n| **`createdAt`** | <code>number</code>                               | Creation timestamp.                                                     |\n| **`updatedAt`** | <code>number</code>                               | Last update timestamp.                                                  |\n| **`revision`**  | <code>number</code>                               | Monotonic revision incremented on every session state change.           |\n\n\n#### StartWidgetSessionOptions\n\nOptions for starting a full-native widget session.\n\n| Prop           | Type                                              | Description                                                                                |\n| -------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------ |\n| **`widgetId`** | <code>string</code>                               | Optional explicit widget/session identifier. When omitted, the native runtime creates one. |\n| **`kind`**     | <code>string</code>                               | Optional product-defined session kind.                                                     |\n| **`state`**    | <code><a href=\"#jsonobject\">JsonObject</a></code> | Initial shared state.                                                                      |\n| **`metadata`** | <code><a href=\"#jsonobject\">JsonObject</a></code> | Optional metadata for native widget code.                                                  |\n\n\n#### WidgetSessionResult\n\nResult when reading or updating one full-native widget session.\n\n| Prop          | Type                                                                        | Description                                        |\n| ------------- | --------------------------------------------------------------------------- | -------------------------------------------------- |\n| **`session`** | <code><a href=\"#widgetsessionrecord\">WidgetSessionRecord</a> \\| null</code> | Stored session snapshot, or `null` when not found. |\n\n\n#### UpdateWidgetSessionOptions\n\nOptions for updating a full-native widget session.\n\n| Prop           | Type                                              | Description                                                   |\n| -------------- | ------------------------------------------------- | ------------------------------------------------------------- |\n| **`widgetId`** | <code>string</code>                               | Widget/session identifier returned by `startWidgetSession`.   |\n| **`state`**    | <code><a href=\"#jsonobject\">JsonObject</a></code> | Replacement or merge patch for shared state.                  |\n| **`metadata`** | <code><a href=\"#jsonobject\">JsonObject</a></code> | Replacement or merge patch for metadata.                      |\n| **`merge`**    | <code>boolean</code>                              | When true, object values are deep-merged instead of replaced. |\n\n\n#### StopWidgetSessionOptions\n\nOptions for stopping a full-native widget session.\n\n| Prop           | Type                                              | Description                                                 |\n| -------------- | ------------------------------------------------- | ----------------------------------------------------------- |\n| **`widgetId`** | <code>string</code>                               | Widget/session identifier returned by `startWidgetSession`. |\n| **`state`**    | <code><a href=\"#jsonobject\">JsonObject</a></code> | Optional final shared state.                                |\n\n\n#### GetWidgetSessionOptions\n\nOptions for reading one full-native widget session.\n\n| Prop           | Type                | Description                        |\n| -------------- | ------------------- | ---------------------------------- |\n| **`widgetId`** | <code>string</code> | Widget/session identifier to load. |\n\n\n#### ListWidgetSessionsResult\n\nResult when listing full-native widget sessions.\n\n| Prop           | Type                               | Description               |\n| -------------- | ---------------------------------- | ------------------------- |\n| **`sessions`** | <code>WidgetSessionRecord[]</code> | Stored session snapshots. |\n\n\n#### SendWidgetMessageResult\n\nResult after sending a widget bridge message.\n\n| Prop          | Type                                                                | Description              |\n| ------------- | ------------------------------------------------------------------- | ------------------------ |\n| **`message`** | <code><a href=\"#widgetbridgemessage\">WidgetBridgeMessage</a></code> | Stored message snapshot. |\n\n\n#### WidgetBridgeMessage\n\nQueued message used for async app/widget jobs.\n\n| Prop                  | Type                                                                      | Description                                                           |\n| --------------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------- |\n| **`messageId`**       | <code>string</code>                                                       | Stable message identifier.                                            |\n| **`widgetId`**        | <code>string</code>                                                       | Widget/session identifier associated with the message.                |\n| **`direction`**       | <code><a href=\"#widgetmessagedirection\">WidgetMessageDirection</a></code> | Message direction.                                                    |\n| **`name`**            | <code>string</code>                          ","readmeFilename":"README.md"}