{"_id":"@bernierllc/nevar-engine","_rev":"5-713e95eb0ce50a5f965de2e185d2d51d","name":"@bernierllc/nevar-engine","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"@bernierllc/nevar-engine","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@bernierllc/nevar-engine@0.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"0b82fa1756cc6424830fa3769c5c256f53a1c962","tarball":"https://registry.npmjs.org/@bernierllc/nevar-engine/-/nevar-engine-0.0.1.tgz","fileCount":2,"integrity":"sha512-XpH1Hb2nXD+smZFebcJO5aL1tPFWx/3+396msMdi+6jvhTM+gZJS2jUz9LKIxjKYnCRuPP2qeVpuGdUkVJRBoA==","signatures":[{"sig":"MEQCIEktpYNu/bBOqUPk9g6bT9vicp+glv3V9uVCqAwGYchHAiBndNpQ7KYnSat4ih+x7dzwsXrD7CN6RvhuxvK1GRzXSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2059},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_npmVersion":"11.11.0","description":"OIDC trusted publishing setup package for @bernierllc/nevar-engine","directories":{},"_nodeVersion":"25.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nevar-engine_0.0.1_1774655915204_0.9033189425004151","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bernierllc/nevar-engine","version":"0.1.0","keywords":["nevar","rules-engine","engine","orchestration","emit","pipeline","bernierllc","service"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/nevar-engine@0.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"9b2dd75662be53aefb54e4b51cc6504b315fe6b6","tarball":"https://registry.npmjs.org/@bernierllc/nevar-engine/-/nevar-engine-0.1.0.tgz","fileCount":13,"integrity":"sha512-oldNN5SEgLKuN2UYuYmoFXh0j9OID8yggC8cF4AtZZ303FIK3SW8VR1wlOz+EkCC6hg4Llv5ZzNrDu222fQAhQ==","signatures":[{"sig":"MEUCIFwHwHhUKHX0p3nF1Yo+2ZrmQVqtMUjT4JKsRXnbf80ZAiEAyle/TATBSgmnbLkumCqgkQjCQGmmEfElgmMLe7AQbE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44481},"main":"dist/index.js","_from":"file:bernierllc-nevar-engine-0.1.0.tgz","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02f9bf86-debf-4d87-9d24-4e6f98b1cd13"}},"_resolved":"/home/runner/work/tools/tools/packages/service/nevar-engine/bernierllc-nevar-engine-0.1.0.tgz","_integrity":"sha512-oldNN5SEgLKuN2UYuYmoFXh0j9OID8yggC8cF4AtZZ303FIK3SW8VR1wlOz+EkCC6hg4Llv5ZzNrDu222fQAhQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/nevar-engine"},"_npmVersion":"11.12.1","description":"Central orchestration engine for the Nevar rules engine suite — emit, preview, pipeline, rule CRUD","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@bernierllc/nevar-types":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nevar-engine_0.1.0_1774898602282_0.8860339235438994","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bernierllc/nevar-engine","version":"0.2.0","keywords":["nevar","rules-engine","engine","orchestration","emit","pipeline","bernierllc","service"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/nevar-engine@0.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"583dc390a2c595cfd1571b58be215270e1047051","tarball":"https://registry.npmjs.org/@bernierllc/nevar-engine/-/nevar-engine-0.2.0.tgz","fileCount":13,"integrity":"sha512-bKkprjp+woLTZCBthvkmcQYyoo2OGOkiWBbqYebT7jBaQiJpOvIQ83pDJFOf7iwIEliPj4gS2h770Tma2DM03Q==","signatures":[{"sig":"MEQCIFqDGoCIvNd6XeddmtvUIrOoki1rzZ364XrQD5crUAbvAiAOcRFBjeIvqXXVi8d9CvCFIODC5yb6SqUfnoXj7qMCjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44481},"main":"dist/index.js","_from":"file:bernierllc-nevar-engine-0.2.0.tgz","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02f9bf86-debf-4d87-9d24-4e6f98b1cd13"}},"_resolved":"/home/runner/work/tools/tools/packages/service/nevar-engine/bernierllc-nevar-engine-0.2.0.tgz","_integrity":"sha512-bKkprjp+woLTZCBthvkmcQYyoo2OGOkiWBbqYebT7jBaQiJpOvIQ83pDJFOf7iwIEliPj4gS2h770Tma2DM03Q==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/nevar-engine"},"_npmVersion":"11.14.1","description":"Central orchestration engine for the Nevar rules engine suite — emit, preview, pipeline, rule CRUD","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/nevar-types":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nevar-engine_0.2.0_1779133866461_0.9036162359837716","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bernierllc/nevar-engine","version":"0.3.0","keywords":["nevar","rules-engine","engine","orchestration","emit","pipeline","bernierllc","service"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/nevar-engine@0.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"1351e6baecdf6371923fe100d420414a6babd5c5","tarball":"https://registry.npmjs.org/@bernierllc/nevar-engine/-/nevar-engine-0.3.0.tgz","fileCount":13,"integrity":"sha512-104odpA8VzQ8165uDooGQ8JhPBeWbfLJll1p8dou8ffexO2i1dtc2mWT0WFxO597DdC/2o69ojP6TjG3fMQr5Q==","signatures":[{"sig":"MEQCIBlHzeo2mt8ya16THz9XYm2lGrmFLR8qG6KlorDMY22jAiBbwTqeyXHrSN8EVTGfST9hEQ4tf/P/Mz7ux5Z52XqQKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44481},"main":"dist/index.js","_from":"file:bernierllc-nevar-engine-0.3.0.tgz","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02f9bf86-debf-4d87-9d24-4e6f98b1cd13"}},"_resolved":"/home/runner/work/tools/tools/packages/service/nevar-engine/bernierllc-nevar-engine-0.3.0.tgz","_integrity":"sha512-104odpA8VzQ8165uDooGQ8JhPBeWbfLJll1p8dou8ffexO2i1dtc2mWT0WFxO597DdC/2o69ojP6TjG3fMQr5Q==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/nevar-engine"},"_npmVersion":"11.14.1","description":"Central orchestration engine for the Nevar rules engine suite — emit, preview, pipeline, rule CRUD","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/nevar-types":"0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nevar-engine_0.3.0_1779241772157_0.7947204967213413","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bernierllc/nevar-engine","version":"0.4.0","description":"Central orchestration engine for the Nevar rules engine suite — emit, preview, pipeline, rule CRUD","main":"dist/index.js","types":"dist/index.d.ts","keywords":["nevar","rules-engine","engine","orchestration","emit","pipeline","bernierllc","service"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","dependencies":{"@bernierllc/nevar-types":"0.4.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.5.0","rimraf":"^5.0.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"engines":{"node":">=16.0.0"},"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/service/nevar-engine"},"scripts":{"build":"tsc","prebuild":"npm run clean","clean":"rimraf dist","test":"jest","test:run":"jest","test:coverage":"jest --coverage","lint":"eslint src __tests__ --ext .ts"},"_id":"@bernierllc/nevar-engine@0.4.0","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"homepage":"https://github.com/bernierllc/tools#readme","_integrity":"sha512-UT1oQ6zd6EchJro06hQzdV7pK5SaLtZPxXWuzmmd7quds6REzMK+M7yISM3vGNqGIemjBcBBEywIT64zqxXGMA==","_resolved":"/home/runner/work/tools/tools/packages/service/nevar-engine/bernierllc-nevar-engine-0.4.0.tgz","_from":"file:bernierllc-nevar-engine-0.4.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-UT1oQ6zd6EchJro06hQzdV7pK5SaLtZPxXWuzmmd7quds6REzMK+M7yISM3vGNqGIemjBcBBEywIT64zqxXGMA==","shasum":"eb2088d502cc70674c63ca16042790b3c2704d43","tarball":"https://registry.npmjs.org/@bernierllc/nevar-engine/-/nevar-engine-0.4.0.tgz","fileCount":13,"unpackedSize":44481,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhUKbPfF5QvnfxTZhG7H8qPAhZDzZat/2kop47axXn9wIhAKb6HFI5AhbQYX/Ne0sYE59re0qWQmzXH6NJLIBnvkqW"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02f9bf86-debf-4d87-9d24-4e6f98b1cd13"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nevar-engine_0.4.0_1779250519695_0.11341268417886341"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T23:58:35.107Z","modified":"2026-05-20T04:15:20.303Z","0.0.1":"2026-03-27T23:58:35.345Z","0.1.0":"2026-03-30T19:23:22.420Z","0.2.0":"2026-05-18T19:51:06.605Z","0.3.0":"2026-05-20T01:49:32.284Z","0.4.0":"2026-05-20T04:15:19.851Z"},"bugs":{"url":"https://github.com/bernierllc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/bernierllc/tools#readme","keywords":["nevar","rules-engine","engine","orchestration","emit","pipeline","bernierllc","service"],"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/service/nevar-engine"},"description":"Central orchestration engine for the Nevar rules engine suite — emit, preview, pipeline, rule CRUD","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/nevar-engine\n\nCentral orchestration engine for the Nevar rules engine suite. Provides `createNevar()`, `emit()`, `preview()`, pipeline orchestration, rule CRUD with validation, and registration delegation.\n\n## Installation\n\n```bash\nnpm install @bernierllc/nevar-engine\n```\n\n## Usage\n\n```typescript\nimport { createNevar } from '@bernierllc/nevar-engine';\n\nconst engine = createNevar({\n  storage: myStorageAdapter,\n  failureMode: 'fail-fast',\n});\n\n// Register operators, triggers, actions, and context providers\nengine.registerOperator('equals', {\n  label: 'Equals',\n  category: 'comparison',\n  evaluate: (a, b) => a === b,\n  schema: {},\n});\n\nengine.registerTrigger('user.created', {\n  payloadSchema: {},\n  description: 'Fired when a new user is created',\n});\n\nengine.registerAction('send-email', {\n  label: 'Send Email',\n  category: 'notification',\n  configSchema: {},\n  canDefer: false,\n  handler: async (config, context) => {\n    // send email logic\n    return { sent: true };\n  },\n});\n\n// Emit a trigger\nconst result = await engine.emit('user.created', { email: 'user@example.com' });\n\n// Preview without executing actions\nconst preview = await engine.preview('user.created', { email: 'user@example.com' });\n\n// Rule CRUD (validates before writing to storage)\nconst rule = await engine.createRule({ /* ... */ });\nawait engine.updateRule(rule.id, { name: 'Updated Rule' });\nawait engine.deleteRule(rule.id);\n```\n\n## API\n\n### `createNevar(config: NevarConfig): Nevar`\n\nFactory function to create a new engine instance.\n\n### Registration\n\n- `registerOperator(name, definition)` - Register a condition operator\n- `registerTrigger(key, definition)` - Register a trigger type\n- `registerAction(actionType, definition)` - Register an action handler\n- `registerContextProvider(prefix, provider)` - Register a context enrichment provider\n\n### Core\n\n- `emit(triggerKey, payload, groupId?)` - Emit a trigger and execute matching rules\n- `preview(triggerKey, payload, groupId?)` - Preview without executing actions\n\n### Rule CRUD\n\n- `createRule(rule)` - Create with validation\n- `updateRule(id, patch)` - Update with conditional re-validation\n- `deleteRule(id)` - Delete a rule\n\n### Discovery\n\n- `operators.list()` / `operators.get(name)`\n- `triggers.list()` / `triggers.get(key)`\n- `actions.list()` / `actions.get(type)`\n- `loops.list()` / `loops.inspect(id)` / `loops.kill(id)` / `loops.pause(id)` / `loops.resume(id)`\n\n## Integration Documentation\n\n### Logger Integration\n\nThis package integrates with `@bernierllc/logger` for structured logging. The engine logs pipeline execution stages, rule evaluation results, action outcomes, and error chains. Use logger's context-level switching to control verbosity per trigger or rule at runtime.\n\n### NeverHub Integration\n\nThis package integrates with `@bernierllc/neverhub-adapter`. When NeverHub is available, the engine registers itself for discovery and monitoring, exposing operator/trigger/action registrations and pipeline health metrics. Graceful degradation is supported when NeverHub is not present -- all core engine functionality works regardless.\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n","readmeFilename":"README.md"}