{"_id":"@aimform/core","_rev":"5-d8ddd466b8c6978d1e7cf4a2db189a7f","name":"@aimform/core","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@aimform/core","version":"0.1.0","keywords":["aimform","core","permissions","adapter","change-events"],"author":{"name":"Universal Reason LLC"},"license":"MIT","_id":"@aimform/core@0.1.0","maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"homepage":"https://aimform.com","bugs":{"url":"https://github.com/aimform/core/issues"},"dist":{"shasum":"744a3612caa2094865a44b6f06ba9d9f958277fa","tarball":"https://registry.npmjs.org/@aimform/core/-/core-0.1.0.tgz","fileCount":7,"integrity":"sha512-mxmebHk9hWsLFtYU48Mj398plUDU03+NbYlJ7bQ1lYT5pAsrgOB1iqCO0e36XyTJ11FZt/0cIoj512q1zVNBIA==","signatures":[{"sig":"MEQCIC65WMsZ/3UYKh7L39lAfKb+VNyZ7Ct6M6ZLjSeUusavAiA4SJ42E7T01/i/+942KnbqehbXloob5FFKmoKjU59N/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16856},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"gitHead":"2107bbe5e915dafb078d7c07123d157d99d513b8","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"adamhalasz","email":"mail@adamhalasz.com"},"repository":{"url":"git+https://github.com/aimform/core.git","type":"git"},"_npmVersion":"11.8.0","description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@vitest/coverage-istanbul":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1785277507807_0.49917403854135123","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aimform/core","version":"0.1.1","keywords":["aimform","core","permissions","adapter","change-events"],"author":{"name":"Universal Reason LLC"},"license":"MIT","_id":"@aimform/core@0.1.1","maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"homepage":"https://aimform.com","bugs":{"url":"https://github.com/aimform/core/issues"},"dist":{"shasum":"c156fe3b4811a2c8f0cb01801cf21ac69a852db3","tarball":"https://registry.npmjs.org/@aimform/core/-/core-0.1.1.tgz","fileCount":7,"integrity":"sha512-5F+YbtPloBmcxbcEV4ESPXouZy09gKskz0h/TDwu/1O7N/JnY44cO8mecHW6KOmykewSUL9pL5mZsSFpfBzIqw==","signatures":[{"sig":"MEYCIQDEW+if9kulkqOe6XFRxlEb/IZ5nUBqebEFLgkjw8rROwIhAPOZM4So7xSUG/cmamosvuKkzFdOePQszjpYfaO+5uOS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17793},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"gitHead":"a8f71e711cbc9d426e3bf740afefdc4090599f51","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"adamhalasz","email":"mail@adamhalasz.com"},"repository":{"url":"git+https://github.com/aimform/core.git","type":"git"},"_npmVersion":"11.8.0","description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@vitest/coverage-istanbul":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.1_1785277685303_0.2968034379576985","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aimform/core","version":"0.1.2","keywords":["aimform","core","permissions","adapter","change-events"],"author":{"name":"Universal Reason LLC"},"license":"MIT","_id":"@aimform/core@0.1.2","maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"homepage":"https://aimform.com","bugs":{"url":"https://github.com/aimform/core/issues"},"dist":{"shasum":"7d0a796ef81d2808b308bcca0691039080bdceb7","tarball":"https://registry.npmjs.org/@aimform/core/-/core-0.1.2.tgz","fileCount":7,"integrity":"sha512-FyI4QYFlUgPUymxn8WwwbwYUC2EazyGgjRPrCDWa9SLmajFrAn7xGkFbYa5Rx+75F8BRQbcFF61DtSus9Jbz8A==","signatures":[{"sig":"MEQCIHgo+pA2ST/FcrjtqjBuPvxaAY8N3W+G8JFwcRUHfrTjAiBqsZ3pgoogpp3ZtAYVHEARtek6QrM1QSSWgUzL864IUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17793},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"gitHead":"a8f71e711cbc9d426e3bf740afefdc4090599f51","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"adamhalasz","email":"mail@adamhalasz.com"},"repository":{"url":"git+https://github.com/aimform/core.git","type":"git"},"_npmVersion":"11.8.0","description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@vitest/coverage-istanbul":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.2_1785277802753_0.3440468329248212","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aimform/core","version":"0.3.0","keywords":["aimform","core","permissions","adapter","change-events"],"author":{"name":"Universal Reason LLC"},"license":"MIT","_id":"@aimform/core@0.3.0","maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"homepage":"https://aimform.com","bugs":{"url":"https://github.com/aimform/core/issues"},"dist":{"shasum":"937b140debb50f0f6fb3438f3e76c577e25935d9","tarball":"https://registry.npmjs.org/@aimform/core/-/core-0.3.0.tgz","fileCount":11,"integrity":"sha512-qoDehAmcfT6usDs5zkX5QI6wiVx0OsrUB7AR/iljfxVmi09C6eDYy7fwmS8C8pC3ah0lJg/2djvVT72fXjZzKg==","signatures":[{"sig":"MEQCIH0IjONpNS4GVCEJ1OIGlnozqToxBHxx7nnjs9JhNy+WAiBnvyxRqyfJcesvRnLFw7jDZnCkP8uHKIAaTxCDOh/08Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22299},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"gitHead":"9da481a9176c36912e7b0cfa95230c6ace726062","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"adamhalasz","email":"mail@adamhalasz.com"},"repository":{"url":"git+https://github.com/aimform/core.git","type":"git"},"_npmVersion":"11.8.0","description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.7.0","@vitest/coverage-istanbul":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.0_1785278532033_0.7791014573025887","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aimform/core","version":"0.3.1","description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","type":"module","license":"MIT","sideEffects":false,"exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"},"./adapters":{"types":"./src/adapters/index.ts","import":"./src/adapters/index.ts"}},"scripts":{"typecheck":"tsc --noEmit","test":"vitest run","test:coverage":"vitest run --coverage"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"devDependencies":{"typescript":"^5.7.0","vitest":"^3.0.0","@vitest/coverage-istanbul":"^3.0.0","@types/react":"^19.0.0","@cloudflare/workers-types":"^4.20250224.0"},"repository":{"type":"git","url":"git+https://github.com/aimform/core.git"},"keywords":["aimform","core","permissions","adapter","change-events"],"author":{"name":"Universal Reason LLC"},"homepage":"https://aimform.com","gitHead":"010d7441245b0e4f87a601969d9d0ba06d81624c","_id":"@aimform/core@0.3.1","bugs":{"url":"https://github.com/aimform/core/issues"},"_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-vx47g3MqCAlNIL47n0HqxJib/pYwwF4CTpNUfLf2ny81lxIqa7LlfUmTZjvvzY6wKtM7Aa86j+r8qKFHlMJ4sQ==","shasum":"d72a1140098fcbf422b65b48e3458eb671cdec55","tarball":"https://registry.npmjs.org/@aimform/core/-/core-0.3.1.tgz","fileCount":31,"unpackedSize":60539,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDsD05JT3d0RTxOEEopevLMcS/xeJhfhc0wCreEuUJj0wIhAJZFoOyEfGzNwNuT0Irg981MX58cejqhnStmrHW1jFoe"}]},"_npmUser":{"name":"adamhalasz","email":"mail@adamhalasz.com"},"directories":{},"maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.3.1_1785342975083_0.8056084870345608"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T22:25:07.621Z","modified":"2026-07-29T16:36:15.403Z","0.1.0":"2026-07-28T22:25:07.955Z","0.1.1":"2026-07-28T22:28:05.457Z","0.1.2":"2026-07-28T22:30:02.912Z","0.3.0":"2026-07-28T22:42:12.186Z","0.3.1":"2026-07-29T16:36:15.237Z"},"bugs":{"url":"https://github.com/aimform/core/issues"},"author":{"name":"Universal Reason LLC"},"license":"MIT","homepage":"https://aimform.com","keywords":["aimform","core","permissions","adapter","change-events"],"repository":{"type":"git","url":"git+https://github.com/aimform/core.git"},"description":"Aimform Core — trust-boundary primitives: property-level permissions, change events, and adapter interfaces for the Aimform platform.","maintainers":[{"name":"adamhalasz","email":"mail@adamhalasz.com"}],"readme":"# @aimform/core\n\n> Trust-boundary primitives — adapter interfaces, permission resolution, change events, and `createAimform()`.\n\n## Install\n\n```sh\nnpm install @aimform/core\n```\n\n## Usage\n\n```ts\nimport { createAimform } from \"@aimform/core\";\n\n// Default — everything via api.aimform.com\nconst aimform = createAimform({ apiKey: \"af_xxx\" });\n\n// BYO database\nimport { D1DatabaseAdapter } from \"@aimform/core/adapters\";\nconst aimform = createAimform({\n  apiKey: \"af_xxx\",\n  providers: { database: new D1DatabaseAdapter(env.DB) },\n});\n```\n\n### Database, storage, cache\n\n```ts\nawait aimform.database.query(\"SELECT * FROM organizations WHERE plan_tier = ?1\", [\"paid\"]);\nawait aimform.storage.put(\"reports/q4.pdf\", fileBuffer);\nawait aimform.cache.set(\"session:abc\", { userId: \"u1\" }, 3600);\nawait aimform.embeddings.embed(\"What is Aimform?\");\n```\n\n### Permissions\n\n```ts\nimport { resolveFieldAccess } from \"@aimform/core\";\nconst result = await resolveFieldAccess(\n  { profileId: \"p1\", orgId: \"o1\", role: \"admin\" },\n  \"entity\", [\"title\", \"status\"],\n  { spaceId: \"s1\", entityId: \"e1\" }, database,\n);\n```\n\n### Events, shares\n\n```ts\nawait aimform.events.emit({ orgId: \"o1\", entityType: \"page\", entityId: \"e1\", action: \"created\", actorProfileId: \"p1\", actorType: \"human\" });\nconst link = await aimform.shares.create({ resourceType: \"space\", resourceId: \"s1\", access: \"read\", createdByProfileId: \"p1\" });\n```\n\n→ [createAimform docs](./docs/create-aimform.md)\n→ [Permission resolution docs](./docs/permissions.md)\n→ [Adapters docs](./docs/adapters.md)\n→ [AimformClient docs](./docs/client.md)\n\n## Package ecosystem\n\n```ts\nimport { Auth, Profiles } from \"@aimform/auth\";\nimport { Spaces, Entities } from \"@aimform/spaces\";\nimport { Search } from \"@aimform/search\";\nimport { Compute } from \"@aimform/compute\";\n\n// All share the same config pattern\nconst auth = new Auth({ database: db });\nconst spaces = new Spaces({ database: db });\nconst search = new Search({ database: db });\nconst compute = new Compute({ database: db });\n```\n\n→ [Creating custom adapters](./docs/custom-adapters.md)\n","readmeFilename":"README.md"}