{"_id":"@activitypods/refine-providers","_rev":"6-3660018134a7e0fae9cd58ca771b6afb","name":"@activitypods/refine-providers","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@activitypods/refine-providers","version":"0.1.0","license":"MIT/Apache-2.0","_id":"@activitypods/refine-providers@0.1.0","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"homepage":"https://github.com/activitypods/refine-providers#readme","bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"dist":{"shasum":"7d9a01adbf80518cfb425cc82afb90b76e8c046b","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.0.tgz","fileCount":21,"integrity":"sha512-x8mrXDDH9L29jKQIXY6CJrM6qmAvFK2spQw2t819ap+HnveB05Q9hkHJrKHc/L5OkvyICB4yIcfT1NCu9xzsIw==","signatures":[{"sig":"MEYCIQDEHIR+fqkEQ6krq/VetB6ElHFTwBcjWXq7LOjkw3GbSQIhAMNmrpe1HbT0WFntLXgmPbnuTwKBa/x1dGHjigrkWICG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377516},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","authors":["Sébastien Rosset"],"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"}},"gitHead":"3d407363248d26983e974d7b2d427d174cadf989","private":false,"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run build"},"targets":{"index":{"source":"src/index.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"utils":{"source":"src/utils.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"auth-provider":{"source":"src/auth-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"data-provider":{"source":"src/data-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"live-provider":{"source":"src/live-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"antd-auth-page":{"source":"src/antd-auth-page.tsx","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false}},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"repository":{"url":"git+https://github.com/activitypods/refine-providers.git","type":"git"},"_npmVersion":"11.3.0","description":"Refine data and auth providers for ActivityPods","directories":{},"_nodeVersion":"24.1.0","dependencies":{"jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0","http-link-header":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","react":"^19.1.0","parcel":"^2.16.4","typescript":"^5.8.3","@types/react":"^19.1.0","concurrently":"^10.0.3","react-router":"^7.0.2","@types/jsonld":"^1.5.14","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7"},"peerDependencies":{"antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1"},"peerDependenciesMeta":{"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true},"@ant-design/icons":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/refine-providers_0.1.0_1786008867925_0.18125037823858547","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@activitypods/refine-providers","version":"0.1.1","license":"MIT/Apache-2.0","_id":"@activitypods/refine-providers@0.1.1","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"homepage":"https://github.com/activitypods/refine-providers#readme","bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"dist":{"shasum":"988d6a9867871448c2065c8c21736a0d347550eb","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.1.tgz","fileCount":21,"integrity":"sha512-mOHB2hFP//+c46FsJCk5MUk22/Bdx5iE7VLoJ4IoZNtCZzLZ7s6ZDPWV5NEUNfJFBPXQ79r2xYCGy8oGwDGkIw==","signatures":[{"sig":"MEUCIQDLLCwlpVfyBv/WWgcFoFcJxhu1XfH1jbbpOnh4FhkoOQIgMBdH3crCyn0nksBZWM2lK2qE16Kz1DAkMgN28xUtX/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":374683},"main":"./dist/index.js","type":"module","_from":"file:activitypods-refine-providers-0.1.1.tgz","types":"./dist/index.d.ts","authors":["Sébastien Rosset"],"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"}},"private":false,"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch"},"targets":{"index":{"source":"src/index.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"utils":{"source":"src/utils.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"auth-provider":{"source":"src/auth-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"data-provider":{"source":"src/data-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"live-provider":{"source":"src/live-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"antd-auth-page":{"source":"src/antd-auth-page.tsx","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false}},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"_resolved":"/tmp/e1dd26a9e5f87bc6c20f8ca125d8d3af/activitypods-refine-providers-0.1.1.tgz","_integrity":"sha512-mOHB2hFP//+c46FsJCk5MUk22/Bdx5iE7VLoJ4IoZNtCZzLZ7s6ZDPWV5NEUNfJFBPXQ79r2xYCGy8oGwDGkIw==","repository":{"url":"git+https://github.com/activitypods/refine-providers.git","type":"git"},"_npmVersion":"11.3.0","description":"Refine data and auth providers for ActivityPods","directories":{},"_nodeVersion":"24.1.0","dependencies":{"jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0","http-link-header":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","react":"^19.1.0","parcel":"^2.16.4","typescript":"^5.8.3","@types/react":"^19.1.0","concurrently":"^10.0.3","react-router":"^7.0.2","@types/jsonld":"^1.5.14","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7"},"peerDependencies":{"antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1"},"peerDependenciesMeta":{"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true},"@ant-design/icons":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/refine-providers_0.1.1_1786705384429_0.9675049397535342","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@activitypods/refine-providers","version":"0.1.2","license":"MIT/Apache-2.0","_id":"@activitypods/refine-providers@0.1.2","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"homepage":"https://github.com/activitypods/refine-providers#readme","bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"dist":{"shasum":"5e7842511e60dbfc5886ce8551d13ece769d41cb","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.2.tgz","fileCount":21,"integrity":"sha512-W1WzJtJxk7zZyifUp8t0/NWCxL5hl5V+V/XOgGvObiw/XvPMJaymQcinsoWzM0DZH1jNT/qUNKEaAbv7nIrS4w==","signatures":[{"sig":"MEUCID1S3B71uvqKJItW/cqXvJwD2vueGWtuxZfZ6qCwwf9eAiEApIS9yMLPuTBdMtZ+V21yHfZzCBrD8AGYzfjUCrD+byE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376146},"main":"./dist/index.js","type":"module","_from":"file:activitypods-refine-providers-0.1.2.tgz","types":"./dist/index.d.ts","authors":["Sébastien Rosset"],"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"}},"private":false,"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch"},"targets":{"index":{"source":"src/index.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"utils":{"source":"src/utils.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"auth-provider":{"source":"src/auth-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"data-provider":{"source":"src/data-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"live-provider":{"source":"src/live-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"antd-auth-page":{"source":"src/antd-auth-page.tsx","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false}},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"_resolved":"/tmp/264a872e01a0f654e208cc7a8c5e500e/activitypods-refine-providers-0.1.2.tgz","_integrity":"sha512-W1WzJtJxk7zZyifUp8t0/NWCxL5hl5V+V/XOgGvObiw/XvPMJaymQcinsoWzM0DZH1jNT/qUNKEaAbv7nIrS4w==","repository":{"url":"git+https://github.com/activitypods/refine-providers.git","type":"git"},"_npmVersion":"11.3.0","description":"Refine data and auth providers for ActivityPods","directories":{},"_nodeVersion":"24.1.0","dependencies":{"jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0","http-link-header":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","react":"^19.1.0","parcel":"^2.16.4","typescript":"^5.8.3","@types/react":"^19.1.0","concurrently":"^10.0.3","react-router":"^7.0.2","@types/jsonld":"^1.5.14","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7"},"peerDependencies":{"antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1"},"peerDependenciesMeta":{"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true},"@ant-design/icons":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/refine-providers_0.1.2_1786722284993_0.1633460159668494","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@activitypods/refine-providers","version":"0.1.3","license":"MIT/Apache-2.0","_id":"@activitypods/refine-providers@0.1.3","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"homepage":"https://github.com/activitypods/refine-providers#readme","bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"dist":{"shasum":"13f2932b4e1a6aee45017fb5f1693cbffcc6bb82","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.3.tgz","fileCount":21,"integrity":"sha512-ljLyi9qmemwLHLBpIFa9r7JWfDLWoRKyUH2CdPaJr7Jd6VPDqRFumyDGhjdBsPHk9onAdOIY4/ax11qzv4uL1w==","signatures":[{"sig":"MEUCIQCkN9rr0IJVyXotPTkz9WkpO2TmYHaYj9r78HxcjHnQQQIgfj/dZpP/dGipZj2VdnP2ldttVnZE2WnRixMwTa+73HI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379755},"main":"./dist/index.js","type":"module","_from":"file:activitypods-refine-providers-0.1.3.tgz","types":"./dist/index.d.ts","authors":["Sébastien Rosset"],"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"}},"private":false,"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch"},"targets":{"index":{"source":"src/index.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"utils":{"source":"src/utils.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"auth-provider":{"source":"src/auth-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"data-provider":{"source":"src/data-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"live-provider":{"source":"src/live-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"antd-auth-page":{"source":"src/antd-auth-page.tsx","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false}},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"_resolved":"/tmp/4c5f03c23aac16a3124d6a4eb2a08630/activitypods-refine-providers-0.1.3.tgz","_integrity":"sha512-ljLyi9qmemwLHLBpIFa9r7JWfDLWoRKyUH2CdPaJr7Jd6VPDqRFumyDGhjdBsPHk9onAdOIY4/ax11qzv4uL1w==","repository":{"url":"git+https://github.com/activitypods/refine-providers.git","type":"git"},"_npmVersion":"11.3.0","description":"Refine data and auth providers for ActivityPods","directories":{},"_nodeVersion":"24.1.0","dependencies":{"jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0","http-link-header":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","react":"^19.1.0","parcel":"^2.16.4","typescript":"^5.8.3","@types/react":"^19.1.0","concurrently":"^10.0.3","react-router":"^7.0.2","@types/jsonld":"^1.5.14","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7"},"peerDependencies":{"antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1"},"peerDependenciesMeta":{"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true},"@ant-design/icons":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/refine-providers_0.1.3_1789042786829_0.17950170952036393","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@activitypods/refine-providers","version":"0.1.4","license":"MIT/Apache-2.0","_id":"@activitypods/refine-providers@0.1.4","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"homepage":"https://github.com/activitypods/refine-providers#readme","bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"dist":{"shasum":"444d7419978c27f451bd1af065b626fcd30d4a8c","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.4.tgz","fileCount":21,"integrity":"sha512-VQLv0Lr7O4KxMhevH0zXHaXygV/bzxE0to2AF2qX79TaB1qzzn8SX0uKwsfcShhMSxEVapWZr3n3fNRBPn7UUg==","signatures":[{"sig":"MEQCIDexqNIELUZ53gedLUlPOAKb2IUPXAS1qsdMFH1kK/HNAiBIuel76PVX5veXz2snB70syCRnbLNJKiFuCBoeavxGjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385534},"main":"./dist/index.js","type":"module","_from":"file:activitypods-refine-providers-0.1.4.tgz","types":"./dist/index.d.ts","authors":["Sébastien Rosset"],"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"}},"private":false,"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch"},"targets":{"index":{"source":"src/index.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"utils":{"source":"src/utils.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"auth-provider":{"source":"src/auth-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"data-provider":{"source":"src/data-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"live-provider":{"source":"src/live-provider.ts","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false},"antd-auth-page":{"source":"src/antd-auth-page.tsx","context":"browser","distDir":"dist","isLibrary":true,"sourceMap":true,"outputFormat":"esmodule","includeNodeModules":false}},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"_resolved":"/tmp/e1380e925558a2f75b928de4872ddfa5/activitypods-refine-providers-0.1.4.tgz","_integrity":"sha512-VQLv0Lr7O4KxMhevH0zXHaXygV/bzxE0to2AF2qX79TaB1qzzn8SX0uKwsfcShhMSxEVapWZr3n3fNRBPn7UUg==","repository":{"url":"git+https://github.com/activitypods/refine-providers.git","type":"git"},"_npmVersion":"11.3.0","description":"Refine data and auth providers for ActivityPods","directories":{},"_nodeVersion":"24.1.0","dependencies":{"jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0","http-link-header":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","react":"^19.1.0","parcel":"^2.16.4","typescript":"^5.8.3","@types/react":"^19.1.0","concurrently":"^10.0.3","react-router":"^7.0.2","@types/jsonld":"^1.5.14","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7"},"peerDependencies":{"antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2","@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1"},"peerDependenciesMeta":{"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true},"@ant-design/icons":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/refine-providers_0.1.4_1789137910515_0.36279646745537586","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@activitypods/refine-providers","version":"0.1.5","private":false,"type":"module","description":"Refine data and auth providers for ActivityPods","authors":["Sébastien Rosset"],"license":"MIT/Apache-2.0","repository":{"type":"git","url":"git+https://github.com/activitypods/refine-providers.git"},"bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"homepage":"https://github.com/activitypods/refine-providers#readme","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./auth-provider":{"types":"./dist/auth-provider.d.ts","default":"./dist/auth-provider.js"},"./antd-auth-page":{"types":"./dist/antd-auth-page.d.ts","default":"./dist/antd-auth-page.js"},"./antd-background-checks":{"types":"./dist/antd-background-checks.d.ts","default":"./dist/antd-background-checks.js"},"./data-provider":{"types":"./dist/data-provider.d.ts","default":"./dist/data-provider.js"},"./live-provider":{"types":"./dist/live-provider.d.ts","default":"./dist/live-provider.js"},"./types":{"types":"./dist/types.d.ts"},"./utils":{"types":"./dist/utils.d.ts","default":"./dist/utils.js"}},"targets":{"index":{"source":"src/index.ts","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"auth-provider":{"source":"src/auth-provider.ts","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"antd-auth-page":{"source":"src/antd-auth-page.tsx","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"antd-background-checks":{"source":"src/antd-background-checks.tsx","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"data-provider":{"source":"src/data-provider.ts","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"live-provider":{"source":"src/live-provider.ts","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true},"utils":{"source":"src/utils.ts","distDir":"dist","context":"browser","outputFormat":"esmodule","isLibrary":true,"includeNodeModules":false,"sourceMap":true}},"publishConfig":{"access":"public"},"dependencies":{"http-link-header":"^1.1.3","jsonld":"^8.0.0","jwt-decode":"^3.0.0","oauth4webapi":"^2.3.0"},"peerDependencies":{"@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","antd":"^5.23.0","react":"^18.0.0 || ^19.0.0","react-router":"^7.0.2"},"peerDependenciesMeta":{"@ant-design/icons":{"optional":true},"antd":{"optional":true},"react":{"optional":true},"react-router":{"optional":true}},"devDependencies":{"@refinedev/core":"^5.0.12","@ant-design/icons":"^5.5.1","@types/http-link-header":"^1.0.7","@types/jsonld":"^1.5.14","@types/react":"^19.1.0","antd":"^5.23.0","concurrently":"^10.0.3","parcel":"^2.16.4","react":"^19.1.0","react-router":"^7.0.2","typescript":"^5.8.3"},"scripts":{"build":"rm -rf dist .parcel-cache && parcel build && tsc -p tsconfig.build.json","watch":"concurrently -n parcel,tsc -c blue,yellow \"parcel watch --no-cache\" \"tsc -p tsconfig.build.json --watch --preserveWatchOutput\"","typecheck":"tsc --noEmit","release:patch":"npm version patch","release:minor":"npm version minor","release:major":"npm version major"},"_id":"@activitypods/refine-providers@0.1.5","_integrity":"sha512-X7BhJksOp4/6E1OnT+0RRxsnn6CUlx3rBoAuQHx5KmK5xa39Lr/teJTe2a3vATV1wAaRvpPpv9O0nUrh3rADHQ==","_resolved":"/tmp/0c7e0651de6ec45aa0f7127f426f81d3/activitypods-refine-providers-0.1.5.tgz","_from":"file:activitypods-refine-providers-0.1.5.tgz","_nodeVersion":"24.1.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-X7BhJksOp4/6E1OnT+0RRxsnn6CUlx3rBoAuQHx5KmK5xa39Lr/teJTe2a3vATV1wAaRvpPpv9O0nUrh3rADHQ==","shasum":"d6697e727722c7a2b5e81c1120fd1044911f5f07","tarball":"https://registry.npmjs.org/@activitypods/refine-providers/-/refine-providers-0.1.5.tgz","fileCount":24,"unpackedSize":477524,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCk+X9qna9ML6BdSrXT7Cxbb/qjbkFSWsmeEx+SlDl0nQIgeJgSRlzALQucO6ibYrvQwW3jarRh+bjQN/hBnjxrWXg="}]},"_npmUser":{"name":"srosset81","email":"srosset81@gmail.com"},"directories":{},"maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/refine-providers_0.1.5_1789374362845_0.1320114413761999"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T09:34:27.725Z","modified":"2026-09-14T08:26:03.164Z","0.1.0":"2026-08-06T09:34:28.094Z","0.1.1":"2026-08-14T11:03:04.571Z","0.1.2":"2026-08-14T15:44:45.142Z","0.1.3":"2026-09-10T12:19:47.000Z","0.1.4":"2026-09-11T14:45:10.649Z","0.1.5":"2026-09-14T08:26:02.998Z"},"bugs":{"url":"https://github.com/activitypods/refine-providers/issues"},"license":"MIT/Apache-2.0","homepage":"https://github.com/activitypods/refine-providers#readme","repository":{"type":"git","url":"git+https://github.com/activitypods/refine-providers.git"},"description":"Refine data and auth providers for ActivityPods","maintainers":[{"name":"srosset81","email":"srosset81@gmail.com"},{"name":"laurin5","email":"mail@laurinweger.de"}],"readme":"# Refine providers for ActivityPods\n\nData and auth providers that can be used in any [Refine](https://refine.dev/core/) application to connect to [ActivityPods](https://activitypods.org/) (2.x) Pods.\n\nThis package is the ActivityPods counterpart of [`@ng-org/refine-providers`](https://git.nextgraph.org/NextGraph/refine-providers) for NextGraph: same shape (a `dataProvider` and an `authProvider`, no framework lock-in), adapted to how ActivityPods actually works.\n\n> For a full working example (login, list/create/edit/show), have a look at [`examples/antd-app`](./examples/antd-app/).\n\n## Usage\n\n> **Requires ActivityPods v2.1.0+** on the Pod provider — that's when Data Registrations (and shape-tree-based access needs) were introduced.\n\n### 1. Register your app's access needs\n\nBefore your app can read or write anything, it must declare which shape trees it needs access to (see the [ActivityPods guide](https://activitypods.org/docs/guides/create-your-first-social-app/) and the [app boilerplate](https://github.com/activitypods/app-boilerplate)). Each declared shape tree gets its own Data Registration (and LDP container) on the user's Pod once they grant access.\n\n### 2. Configure the providers\n\n```tsx\nimport { authProvider, dataProvider } from \"@activitypods/refine-providers\";\n\nconst apAuthProvider = authProvider({\n  // The URI that identifies your app (usually its own backend/homepage URL)\n  clientId: \"https://myapp.example.com/app\",\n  // Optional, defaults to `${window.location.origin}/auth-callback`\n  redirectUri: \"https://myapp.example.com/auth-callback\"\n});\n\nconst apDataProvider = dataProvider({\n  authProvider: apAuthProvider,\n  resources: {\n  events: {\n    // Preferred: identifies exactly which Data Registration to use\n    shapeTreeUri: \"https://shapes.activitypods.org/shapetrees/as/Event\"\n  },\n  notes: {\n    // Fallback: resolved against the Data Registrations' shape trees\n    types: [\"as:Note\"]\n  }\n},\n  // Optional, defaults to the ActivityStreams 2 context. Add your app's own\n  // `.well-known/context.jsonld` here if you use custom ontologies / CURIEs.\n  jsonContext: [\"https://www.w3.org/ns/activitystreams\"]\n});\n\nconst App = () => (\n  <Refine authProvider={apAuthProvider} dataProvider={apDataProvider} ...>\n    ...\n  </Refine>\n);\n```\n\n### 3. Wire up the login flow\n\nThe Solid-OIDC + app-registration flow (pick a Pod provider → redirect there → come back with a code → exchange it → make sure the app is registered with the user's authorization agent) is more involved than a typical username/password form, so it ships as a ready-made `AntdAuthPage` component:\n\n```tsx\nimport { AntdAuthPage } from \"@activitypods/refine-providers/antd-auth-page\";\n\nconst MyLoginPage = () => <AntdAuthPage authProvider={apAuthProvider} />;\n```\n\n`AntdAuthPage` figures out which stage it's in from the URL's search params (see its docstring), so a single route handles login, the OAuth callback, and app registration:\n\n```tsx\n<Route path=\"/login\" element={<MyLoginPage />} />\n```\n\nBy default it fetches the public Pod providers list from `https://activitypods.org/data/pod-providers`, keeps the ones whose `apods:locales` match the app's current locale (from your `i18nProvider.getLocale()` — all of them if there is no `i18nProvider`), and lets the user pick one, the same way [`@activitypods/react`'s `LoginPage`](https://github.com/activitypods/activitypods) does. Pass `defaultPodProvider` to skip that list and offer a single URL instead — e.g. for a local dev Pod provider, read from an env var your bundler exposes:\n\n```tsx\n<AntdAuthPage authProvider={apAuthProvider} defaultPodProvider={import.meta.env.VITE_POD_PROVIDER_URL} />\n```\n\nOr pass `customPodProviders` (an array of `{ \"apods:baseUrl\", \"apods:area\"? }`) for a hand-picked list, and `text` to replace the sentence above it. Like the react-admin original, the page also honors a few search params: `?signup` (go through the provider's signup flow instead of login), `?iss=<url>` (the provider is already known: log in there straight away), `?logout` (log out immediately) and `?redirect=<path>` (where to land once done).\n\nThe strings it displays go through Refine's `useTranslate` with English defaults, so they can be overridden in your `i18nProvider` under `pages.login.choosePodProvider`, `pages.login.podProvidersNotLoaded` and `pages.login.backToLogin`.\n\nPrefer a different UI kit, or want to build your own? `AntdAuthPage`'s source (`src/antd-auth-page.tsx`) is a self-contained reference for the three stages — `login()`, `authProvider.handleCallback()`, `authProvider.registerApp()` — that you can reimplement with any component library.\n\n#### 3.1. Re-consent when access needs change\n\nIf the app is later changed to request a *new* access need (e.g. a resource added to `resources` in [§2](#2-configure-the-providers), with a matching entry added to the app's access-need group), existing users who already granted access before that change need to go through the consent screen again — the Pod provider grants exactly what was consented to, nothing more, so requests for the new resource will just 403 until then.\n\n`authProvider()` handles this on its own, no extra wiring needed: on top of the check `registerApp()` already does at login, it also polls `getAppStatus()` in the background (every 2 minutes by default, and on every tab-focus change — configurable via `appStatusCheckInterval`, or set to `false` to disable) and silently redirects to the consent screen the moment it reports `upgradeNeeded: true`. This is the minimal counterpart of [`@activitypods/react`'s `BackgroundChecks`](https://github.com/activitypods/activitypods) component; see [§3.2](#32-gate-the-app-behind-a-full-status-check) for the full one.\n\n**`upgradeNeeded` is computed by the Pod comparing your app description's `dc:modified` value** — a cached copy (from when the user last consented) against a fresh fetch of your `app.json`. This means:\n\n- Your `app.json` needs a `dc:modified` property (mapped to `http://purl.org/dc/terms/modified`) for this to work at all — without it, both sides compare as `undefined` and the Pod can never detect a change. See [`examples/antd-app/public/app.json`](./examples/antd-app/public/app.json).\n- Treat it as a hand-maintained version stamp, not a live timestamp: only bump it when you actually change something the Pod should reconcile (an access need, or `app.json`'s other declared properties) — regenerating it on every deploy would force *every* user through re-consent on *every* release, defeating the point.\n- Your context needs to type it explicitly — `\"dc:modified\": { \"@type\": \"xsd:dateTime\" }` — otherwise it's stored untyped, the Pod's comparison always sees mismatched types, and `upgradeNeeded` is permanently (not just occasionally) stuck `true`.\n- **Write the value in canonical XSD `dateTime` form: no fractional seconds if they'd be zero** (`2026-08-05T00:00:00Z`, not `2026-08-05T00:00:00.000Z`). The comparison is a plain string `!=`, not a datetime-aware one, and the triplestore canonicalizes `dateTime` literals on the way in/out — a `.000Z` you wrote will come back as `Z` after the round-trip, permanently mismatching the raw value in your file even though both represent the same instant.\n\n#### 3.2. Gate the app behind a full status check\n\nApps with their own backend usually want more than the silent re-consent above: to refuse to render while the backend is offline, and to make sure it has webhook channels on the URIs it needs to react to (typically the user's inbox and outbox). That's what `AntdBackgroundChecks` does, mirroring `@activitypods/react`'s `BackgroundChecks` — wrap the authenticated part of your app in it:\n\n```tsx\nimport { AntdBackgroundChecks } from \"@activitypods/refine-providers/antd-background-checks\";\n\n<Authenticated key=\"authenticated-routes\" fallback={<CatchAllNavigate to=\"/login\" />}>\n  <AntdBackgroundChecks authProvider={apAuthProvider} listeningTo={[inboxUri, outboxUri]}>\n    <ThemedLayout>\n      <Outlet />\n    </ThemedLayout>\n  </AntdBackgroundChecks>\n</Authenticated>\n```\n\nWhile logged in, it calls `getAppStatus()` right away, then every 2 minutes and on every tab-focus change (`checkInterval`, or `false` to check once), and shows a loader until the first check passes:\n\n- `onlineBackend: false` → an error block with **Refresh** / **Logout** buttons, instead of the app.\n- `installed: false` or `upgradeNeeded: true` → `registerApp()`, i.e. off to the consent screen. Before leaving it saves the current page, and brings the user back to it once the consent screen returns to the app.\n- One of the `listeningTo` URIs has no webhook channel yet → retried every second for 10s (channels are created right after registration), then the same error block.\n\nWhile logged out it renders `children` untouched. Since it covers everything the auth provider's own poll does, pass `appStatusCheckInterval: false` to `authProvider()` when using it. Its strings go through `useTranslate` with English defaults: `apods.error.app_offline`, `apods.error.app_not_listening` (with a `{{uri}}` placeholder), `apods.error.app_status_unavailable`, plus Refine's built-in `buttons.refresh` and `buttons.logout`.\n\n### 4. Use Refine's hooks as usual\n\n```tsx\nimport { useTable } from \"@refinedev/antd\";\nimport { Table } from \"antd\";\n\nexport const EventList = () => {\n  const { tableProps } = useTable({ resource: \"events\" });\n  return (\n    <Table {...tableProps} rowKey=\"id\">\n      <Table.Column dataIndex=\"id\" title=\"ID\" />\n      <Table.Column dataIndex={[\"as:name\"]} title=\"Name\" />\n    </Table>\n  );\n};\n```\n\n`getList` supports Refine's `filters` (`eq`, `contains`, `in`, `gte`/`lte`, `and`/`or`, ...), `sorters` and `pagination` out of the box.\n\n### 5. (Optional) Enable live updates\n\n> **⚠️ Currently blocked by an upstream bug in ActivityPods/SemApps.** The code below is\n> implemented and spec-correct, but subscribing will 403 on every Pod as of this writing. The\n> `/.notifications/WebhookChannel2023` and `/.notifications/WebSocketChannel2023` subscription\n> endpoints are registered (in `@semapps/solid`'s `notification-channel.mixin.js`, via the\n> generic `SpecialEndpointMixin`) with `authentication: false, authorization: false` — fine for\n> a read-only public document like `.well-known/solid`, but this mixin is also reused for the\n> channel's `POST` handler (`endpointPost`), which needs to know who's asking:\n>\n> ```js\n> const { webId } = ctx.meta; // never set: the route skips authentication entirely\n> const rights = await ctx.call('webacl.resource.hasRights', { resourceUri: topic, rights: { read: true }, webId });\n> if (!rights.read) throw new E.ForbiddenError('You need acl:Read rights on the resource');\n> ```\n>\n> Since the route never runs moleculer-web's authentication step, `ctx.meta.webId` is always\n> `undefined`, the ACL check runs as anonymous, and it fails unconditionally — regardless of a\n> valid Bearer token or of what access has actually been granted. The fix has to land upstream\n> (adding `authentication: true` — and probably `authorization: true` — to that route); nothing\n> on the client side can work around it. Once that's fixed, the code here should work as-is.\n\n```tsx\nimport { authProvider, dataProvider, liveProvider } from \"@activitypods/refine-providers\";\n\n// Reuse the same `resources` (and `jsonContext`, if set) as the data provider\nconst apLiveProvider = liveProvider({ authProvider: apAuthProvider, resources });\n\nconst App = () => (\n  <Refine\n    authProvider={apAuthProvider}\n    dataProvider={apDataProvider}\n    liveProvider={apLiveProvider}\n    options={{ liveMode: \"auto\", ... }}\n    ...\n  >\n    ...\n  </Refine>\n);\n```\n\nEach subscription opens one [`WebSocketChannel2023`](https://solidproject.org/TR/notifications-protocol) per watched **topic** — a single resource (for `useShow`/`useOne`/`useForm` on a specific record) or a container (for `useTable`/`useList`, watching the whole resource). Because of that:\n\n- Watching a specific record gets `updated`/`deleted` events for that record.\n- Watching a list gets `created`/`deleted` events (container membership changes) — **not** `updated`, since a container isn't notified when one of its existing members' own fields change. If you need a list to reflect an in-place edit live, also watch the individual record somewhere (e.g. a `useShow` on the same page), or refetch — this mirrors how Solid containers actually notify, not a limitation specific to this provider.\n\n## Not yet implemented\n\n- **Shared/cross-user data**: only the logged-in user's own type index (public + private) is read. Resources shared by other users through Access Grants (`interop:hasAccessGrant` on the AppRegistration) are not fetched.\n\n## Commands\n\n```bash\npnpm install\npnpm build\npnpm watch\npnpm publish\n```\n","readmeFilename":"README.md"}