{"_id":"@bernierllc/construction-data-service","_rev":"15-6e5cb14d1173debfa19971c0f6f894e1","name":"@bernierllc/construction-data-service","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"@bernierllc/construction-data-service","version":"0.1.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@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":"6bd2b79c894cd81fef5bb5daffa53388edfcd9ee","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.1.0.tgz","fileCount":14,"integrity":"sha512-PKRMqcxyxfW33WNkw0KXcZUNvFbSuDCqPjrKinTwvXumfLrxcY0zOXQ1SDZekzy4yV6nSy2uLFJjnLwUWOnsww==","signatures":[{"sig":"MEQCIA8GJ81sKH8ec69lGhCVNn3/V5qhw7sE6ci2ohUpH4fxAiA8sBY5v7N92VGUubPfnVh333HMpfCxbkaz1f0VBtDnOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.1.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/tmp/f08c5e475e9c8a056e32c0b8efcbfc4b/bernierllc-construction-data-service-0.1.0.tgz","_integrity":"sha512-PKRMqcxyxfW33WNkw0KXcZUNvFbSuDCqPjrKinTwvXumfLrxcY0zOXQ1SDZekzy4yV6nSy2uLFJjnLwUWOnsww==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.7.0","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.3","@bernierllc/supabase-client":"1.0.2","@bernierllc/data-transformer":"0.1.0","@bernierllc/schema-validator":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.1.0_1766087460746_0.40856598070071093","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bernierllc/construction-data-service","version":"0.1.1","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.1.1","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":"3d160e7a5e2e5344ba30e5d64c11f188f1b97be4","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.1.1.tgz","fileCount":14,"integrity":"sha512-0ECvgOMQInXPeIm/4qRzOKf/SoKlPPjwzA4Bc1YV3ub4+6D8hL9NIVRWG2OHSuVvz4SRtgqYbjj2h28bEcU4fQ==","signatures":[{"sig":"MEQCIB/mXQllnHZStJrSFIBQMiyz8QTDAI+8XjFe+5huJxxXAiBxvnVMK5lw+RA0IdVBN6zx24bG5kH2QY4WN6rED1bxzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.1.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/tmp/4d8829f4247f906e2149e2fdd0977d7b/bernierllc-construction-data-service-0.1.1.tgz","_integrity":"sha512-0ECvgOMQInXPeIm/4qRzOKf/SoKlPPjwzA4Bc1YV3ub4+6D8hL9NIVRWG2OHSuVvz4SRtgqYbjj2h28bEcU4fQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.7.0","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.4","@bernierllc/supabase-client":"1.0.3","@bernierllc/data-transformer":"0.1.0","@bernierllc/schema-validator":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.1.1_1766437821315_0.893139444945414","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bernierllc/construction-data-service","version":"0.1.2","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.1.2","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":"0a42f94aad61fb2c865cf731a12eb4c1fd5850ac","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.1.2.tgz","fileCount":14,"integrity":"sha512-APk/SUnVKhFtS/3B+Qp/Q7U0MIbn8a1GZPPsz6gG1cbUS2SMuG8NDvI0aRyQksPq3dBhzRSQKgSGnaMrHcHt1Q==","signatures":[{"sig":"MEYCIQCWaieif8qBdWYkPdTvOvtdROfJ3PBmZ8bC9Y587Dj5WAIhANoY5nlD2UkP+Xh62CdYJtYP+29GOAd1jCDzsLI0iR/L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.1.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/tmp/575e7f7dbede3c9a63a48ef03b5ac1e0/bernierllc-construction-data-service-0.1.2.tgz","_integrity":"sha512-APk/SUnVKhFtS/3B+Qp/Q7U0MIbn8a1GZPPsz6gG1cbUS2SMuG8NDvI0aRyQksPq3dBhzRSQKgSGnaMrHcHt1Q==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.7.0","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.1.0","@bernierllc/supabase-client":"1.0.4","@bernierllc/data-transformer":"0.1.0","@bernierllc/schema-validator":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.1.2_1766454439781_0.4125625664702408","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bernierllc/construction-data-service","version":"0.3.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@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":"8acc2ff8727b8e9ee48f154dba201ef1ef690220","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.3.0.tgz","fileCount":14,"integrity":"sha512-3l5ULrkLXBWQJhh425SDPKkrgGNajpJrt5FiumSnM8ldiWvFjFg57JL+EG8rk1F7Kjog+Zh47oT2hI0Udx3cow==","signatures":[{"sig":"MEUCIE5jpwm7s0E8n2A2GNOqLTJG4kH4JdKvAIZzYfg1jin+AiEA2Ogeg/E45lnlwc0YxNjQnSZiI1MIkZT6UaaRXsKX7ac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22621},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.3.0","@bernierllc/supabase-client":"1.2.0","@bernierllc/data-transformer":"0.3.0","@bernierllc/schema-validator":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.3.0_1767642477889_0.11927834931376591","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bernierllc/construction-data-service","version":"0.3.2","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.3.2","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":"d28cd654436edec92cebd4aa543fd7c17d906b49","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.3.2.tgz","fileCount":14,"integrity":"sha512-L8DVvjNKIubRuTaTy53CNy1fKYKlUGjPWCB+fupBL1wZsJrPRekxyo67aZEwCFXVNMXNGzYUcjpJf6ifTy7uqQ==","signatures":[{"sig":"MEUCIHpVg6A228UsVIqIozh5tl1tjuv71Nrn6Q7OwMZ+RUTBAiEA+424LVYZHWigYXEQ9a3N3cV0jSjaiFpdIzopoinZEUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.3.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.3.2.tgz","_integrity":"sha512-L8DVvjNKIubRuTaTy53CNy1fKYKlUGjPWCB+fupBL1wZsJrPRekxyo67aZEwCFXVNMXNGzYUcjpJf6ifTy7uqQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.11.0","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/logger":"1.3.2","@bernierllc/supabase-client":"1.2.2","@bernierllc/data-transformer":"0.3.2","@bernierllc/schema-validator":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.3.2_1773163469863_0.7372575186574981","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@bernierllc/construction-data-service","version":"0.3.3","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.3.3","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":"3d1a354a10cdf44ff83f3469d9febde5d1578188","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.3.3.tgz","fileCount":14,"integrity":"sha512-96WkEG1HJDgCOUPyWVnpr5IyILD/56wYuN1Rrl0WSoQoRqxuhX7CbiYt22pSNqGANlU0sBz3SGZuv+yYz2NJ8A==","signatures":[{"sig":"MEQCIBCSzv5E13mHR88dQQbopT8xatQTFlwsX64myYB/Bd5LAiAlHMkg62SFeOywk+cZ5k+vN+A1nxIxbYR6R2bJd4h4EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.3.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.3.3.tgz","_integrity":"sha512-96WkEG1HJDgCOUPyWVnpr5IyILD/56wYuN1Rrl0WSoQoRqxuhX7CbiYt22pSNqGANlU0sBz3SGZuv+yYz2NJ8A==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.0","@bernierllc/supabase-client":"1.2.3","@bernierllc/data-transformer":"0.3.2","@bernierllc/schema-validator":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.3.3_1779133672358_0.8464025153741921","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@bernierllc/construction-data-service","version":"0.3.4","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.3.4","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":"8bee2aa7041aee674cc6ac4e8c1d2289d58128ac","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.3.4.tgz","fileCount":14,"integrity":"sha512-/zGY0RBDkXcSXzUYfeX4Fn+fHXdFttfl9R6gf0yuz+Jv7LJYSRlmDoFR4iWNCeraLmHDSWzkFOmljonWLaYIfg==","signatures":[{"sig":"MEUCIDbZ07NMcb9PjpZawG8296o8ocnHBZEIjUcklNYzXbycAiEAtGpHR53casohWCDJB8SRpZ/barmXgAc22Qr1M2rTCJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.3.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.3.4.tgz","_integrity":"sha512-/zGY0RBDkXcSXzUYfeX4Fn+fHXdFttfl9R6gf0yuz+Jv7LJYSRlmDoFR4iWNCeraLmHDSWzkFOmljonWLaYIfg==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.2","@bernierllc/supabase-client":"1.2.4","@bernierllc/data-transformer":"0.3.2","@bernierllc/schema-validator":"1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.3.4_1779157368322_0.8825534024489257","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@bernierllc/construction-data-service","version":"0.3.5","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.3.5","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":"726bcb8d512d7a7243026499d9608563430f31e3","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.3.5.tgz","fileCount":14,"integrity":"sha512-AUCrAT89COBcmAcvTwnmouxwa5SwYGEMWtW8XNuaVg6PvHpRzulEWf80thKannM+O15U7LuK30LFZP+vPJCE8g==","signatures":[{"sig":"MEUCIAf8sUdg42+lpnyh6SOeNP6nc/E9V6X568rdgTJZ2hEEAiEA3LMelKdPHkTqRcQZalU+GXSaTjJP1vPME93/rTAnPXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.3.5.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.3.5.tgz","_integrity":"sha512-AUCrAT89COBcmAcvTwnmouxwa5SwYGEMWtW8XNuaVg6PvHpRzulEWf80thKannM+O15U7LuK30LFZP+vPJCE8g==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.3","@bernierllc/supabase-client":"1.2.5","@bernierllc/data-transformer":"0.4.0","@bernierllc/schema-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.3.5_1779221515683_0.806747963766079","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bernierllc/construction-data-service","version":"0.4.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.4.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":"60c8687bfab890d61a1414f37be7f679014726b6","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.4.0.tgz","fileCount":14,"integrity":"sha512-0zwJnjed3f8RAoCgf6e5ygL5yQrix52R0x8VB3OquPxoPxE2NSKWd4zTvTKq+8e7gFsInfDqNPhRuXjnAp/wsA==","signatures":[{"sig":"MEUCIF9L3yEru4Rpkd/8Lzbu4JtWoU6l8krU/mX4cWZBAKLvAiEApRb1F/CR3ZsOPgeKOirAoNVsvxeddU6D0ujhmFud56o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.4.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.4.0.tgz","_integrity":"sha512-0zwJnjed3f8RAoCgf6e5ygL5yQrix52R0x8VB3OquPxoPxE2NSKWd4zTvTKq+8e7gFsInfDqNPhRuXjnAp/wsA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/supabase-client":"1.3.0","@bernierllc/data-transformer":"0.6.0","@bernierllc/schema-validator":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.4.0_1779241565233_0.6987097499630655","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@bernierllc/construction-data-service","version":"0.4.1","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.4.1","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":"44bbf34fdbf1a598a110b6fead9c68b3fe80e855","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.4.1.tgz","fileCount":14,"integrity":"sha512-7iotfOso2/HPxo/iWY5K3Egc/2V5C52agnYlWUW+K8zG5w8NiYMKx66W1dzbA2f4ffnswD11ZkIM7YXUH6v7Vw==","signatures":[{"sig":"MEQCIQCVw7E/NhQiAc7okDy1MTuWv+EEmtfA8K8xcjgDCiU4BQIfX22uTJ0KGBDBbtekYRisHKvAjmP4AeeyQ1LHRw4ncg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22563},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.4.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.4.1.tgz","_integrity":"sha512-7iotfOso2/HPxo/iWY5K3Egc/2V5C52agnYlWUW+K8zG5w8NiYMKx66W1dzbA2f4ffnswD11ZkIM7YXUH6v7Vw==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/supabase-client":"1.4.0","@bernierllc/data-transformer":"0.6.0","@bernierllc/schema-validator":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.4.1_1779243398043_0.9691495610348562","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bernierllc/construction-data-service","version":"0.5.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.5.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":"cb57e4f5ddcb90b383620e9baa1cd823e51b87c1","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.5.0.tgz","fileCount":18,"integrity":"sha512-q57ntYGOsq6IOEtAgGSOKMZgg6j+Qq+sgt7vwyRNK9VHfS0C8BNfJokgTOmCLZNZxME/HHa7ZVdESbhMbz38OQ==","signatures":[{"sig":"MEUCICVhuhMfRxDJ9OCG5sdmafs2nIsxAyiuK25ZC/lR/e28AiEAumHzh61KfD2FkYepfjBe3GhgBoLd9TOO8uhar8mY5H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25860},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.5.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.5.0.tgz","_integrity":"sha512-q57ntYGOsq6IOEtAgGSOKMZgg6j+Qq+sgt7vwyRNK9VHfS0C8BNfJokgTOmCLZNZxME/HHa7ZVdESbhMbz38OQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/supabase-client":"1.4.0","@bernierllc/data-transformer":"0.6.0","@bernierllc/schema-validator":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.5.0_1779244785982_0.9835727927003042","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bernierllc/construction-data-service","version":"0.6.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.6.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":"990c3183a4a2f738f644cb58b5b122ad68982e96","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.6.0.tgz","fileCount":18,"integrity":"sha512-S7bIf/olrI3iPpR4NobCctQ5K04pxE7jrm8zpbbrsf36Z/sYgmeX/wLFwV2ROgDJeAgKsuxmGnxrdUIDXmNtzA==","signatures":[{"sig":"MEQCIB+fTUNt4sOY2CQsQYrZ1RjZR7VPZtcZOHxp/Wd+Ppm3AiBonEO/4K1pZW88cFh5u027gwuzb+4oA6wCZZ44MwFOIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25860},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.6.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.6.0.tgz","_integrity":"sha512-S7bIf/olrI3iPpR4NobCctQ5K04pxE7jrm8zpbbrsf36Z/sYgmeX/wLFwV2ROgDJeAgKsuxmGnxrdUIDXmNtzA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/supabase-client":"1.4.0","@bernierllc/data-transformer":"0.6.0","@bernierllc/schema-validator":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.6.0_1779245912772_0.34202990007179923","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bernierllc/construction-data-service","version":"0.7.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.7.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":"48c7aed0f0fc4e5317197090298180561719f108","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.7.0.tgz","fileCount":18,"integrity":"sha512-/narVA2Enh98eZbvXM31XMc1gqi7GC1o3sR0X0DY8NC9wwSaemeg2Xo/cxEoN5eRiE6tbDvpG/A/1KtMwmt0Qw==","signatures":[{"sig":"MEQCIAaFVQI6++tYTU9mxMp/mAqr3zNqIh6/ZmITl0bDfDixAiBjPKbkivdw7GL8OAlZh1vreewivHtbe/XPBFofkggo4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25860},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.7.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.7.0.tgz","_integrity":"sha512-/narVA2Enh98eZbvXM31XMc1gqi7GC1o3sR0X0DY8NC9wwSaemeg2Xo/cxEoN5eRiE6tbDvpG/A/1KtMwmt0Qw==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/supabase-client":"1.5.0","@bernierllc/data-transformer":"0.7.0","@bernierllc/schema-validator":"1.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.7.0_1779250311397_0.668443833025909","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@bernierllc/construction-data-service","version":"0.8.0","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/construction-data-service@0.8.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":"3714847f958aa216723dbfb741e7302ac4f8c2e0","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.8.0.tgz","fileCount":18,"integrity":"sha512-JbXvmp6AwHMZUJrvXpeta98YXJ/7CLmv5Tegvz/bc9nH483pp05PHV7sX/JzkAJIVHcou1kv69wjux9SqDDHuQ==","signatures":[{"sig":"MEUCIBsz4A7kNYC48O3zMltkeWBJphcqlofznyScOCgkThhWAiEAg564SNqJgW6EzqI9LltxSJPcBXScqmBP+C4DOTt7ppY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25860},"main":"dist/index.js","type":"module","_from":"file:bernierllc-construction-data-service-0.8.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src __tests__ --ext .ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.8.0.tgz","_integrity":"sha512-JbXvmp6AwHMZUJrvXpeta98YXJ/7CLmv5Tegvz/bc9nH483pp05PHV7sX/JzkAJIVHcou1kv69wjux9SqDDHuQ==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/service/construction-data-service"},"_npmVersion":"11.14.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/supabase-client":"1.5.0","@bernierllc/data-transformer":"0.8.0","@bernierllc/schema-validator":"3.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/parser":"^7.13.0","@typescript-eslint/eslint-plugin":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/construction-data-service_0.8.0_1779307246196_0.8851405765624272","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@bernierllc/construction-data-service","version":"0.8.1","description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","main":"dist/index.js","types":"dist/index.d.ts","type":"module","keywords":["construction","data","merge","service","bernierllc"],"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/data-transformer":"0.8.0","@bernierllc/schema-validator":"3.0.0","@bernierllc/supabase-client":"1.5.1"},"devDependencies":{"@types/jest":"^29.5.12","@types/node":"^20.14.2","@typescript-eslint/eslint-plugin":"^7.13.0","@typescript-eslint/parser":"^7.13.0","eslint":"^8.57.0","jest":"^29.7.0","rimraf":"^5.0.5","ts-jest":"^29.1.4","typescript":"^5.4.5"},"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/service/construction-data-service"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","prebuild":"npm run clean","clean":"rimraf dist","test":"jest","test:run":"jest --passWithNoTests","test:coverage":"jest --coverage","lint":"eslint src __tests__ --ext .ts"},"_id":"@bernierllc/construction-data-service@0.8.1","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"homepage":"https://github.com/bernierllc/tools#readme","_integrity":"sha512-hOd/oBYGdp9kXxZaDkS4Zxo27wHysm0xwQzXjis4K+DUEnPDHbk3PNlzQHCPmSAUjiyKZpGYliV8LGEbHfW0pQ==","_resolved":"/home/runner/work/tools/tools/packages/service/construction-data-service/bernierllc-construction-data-service-0.8.1.tgz","_from":"file:bernierllc-construction-data-service-0.8.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-hOd/oBYGdp9kXxZaDkS4Zxo27wHysm0xwQzXjis4K+DUEnPDHbk3PNlzQHCPmSAUjiyKZpGYliV8LGEbHfW0pQ==","shasum":"10a1bf1a265157ec8037fa5b77e07e880729e2a5","tarball":"https://registry.npmjs.org/@bernierllc/construction-data-service/-/construction-data-service-0.8.1.tgz","fileCount":18,"unpackedSize":25860,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB8i1+xc5XEsdNHMFUhCfJ9fmfJLAot/J8tUf/EsvHcFAiBzbCxMYYL8zqgyNd80creSVUOfKvSxPNLy4o0828OLeA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f12a899c-02d8-4269-8a97-5ae8fdb8b33b"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/construction-data-service_0.8.1_1784015783981_0.7958340656558776"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T19:51:00.665Z","modified":"2026-07-14T07:56:24.273Z","0.1.0":"2025-12-18T19:51:00.908Z","0.1.1":"2025-12-22T21:10:21.455Z","0.1.2":"2025-12-23T01:47:19.933Z","0.3.0":"2026-01-05T19:47:58.043Z","0.3.2":"2026-03-10T17:24:30.013Z","0.3.3":"2026-05-18T19:47:52.497Z","0.3.4":"2026-05-19T02:22:48.470Z","0.3.5":"2026-05-19T20:11:55.862Z","0.4.0":"2026-05-20T01:46:05.381Z","0.4.1":"2026-05-20T02:16:38.208Z","0.5.0":"2026-05-20T02:39:46.156Z","0.6.0":"2026-05-20T02:58:32.926Z","0.7.0":"2026-05-20T04:11:51.540Z","0.8.0":"2026-05-20T20:00:46.411Z","0.8.1":"2026-07-14T07:56:24.119Z"},"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":["construction","data","merge","service","bernierllc"],"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/service/construction-data-service"},"description":"Construction data domain service providing merge strategies, normalization, and validation for collected permit/project data","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/construction-data-service\n\nConstruction data domain service providing merge strategies, normalization, and validation for collected permit/project data.\n\n## Overview\n\nThis service centralizes construction data domain logic for projects like the construction-data Next.js app:\n\n- Normalize connector output into `CollectedRecord` objects using `@bernierllc/data-transformer`\n- Apply merge strategies (`UPSERT`, `INSERT_IGNORE`, `APPEND`)\n- Validate records with `@bernierllc/schema-validator`\n- Optionally persist records via an injected callback (typically using `@bernierllc/supabase-client`)\n\n## Installation\n\n```bash\nnpm install @bernierllc/construction-data-service\n```\n\n## Usage\n\n```typescript\nimport { ConstructionDataService } from '@bernierllc/construction-data-service';\nimport type { CollectedRecord } from '@bernierllc/construction-data-service';\nimport type { SchemaMapping } from '@bernierllc/data-transformer';\n\nconst service = new ConstructionDataService({\n  persistRecord: async (record: CollectedRecord) => {\n    // Use @bernierllc/supabase-client or another data-access package here.\n  }\n});\n\nconst rawData = {\n  PROJECT_ID: '608923',\n  TOWN: 'BOSTON',\n  DESCRIPTION: 'RECONSTRUCTION ON COMM AVE'\n};\n\nconst mapping: SchemaMapping[] = [\n  { sourceField: 'PROJECT_ID', targetField: 'externalId', dataType: 'text' },\n  { sourceField: 'TOWN', targetField: 'address', dataType: 'text' },\n  { sourceField: 'DESCRIPTION', targetField: 'description', dataType: 'text' }\n];\n\nconst record = service.normalizeConstructionRecord(rawData, mapping, 'source-id-123');\nconst validation = service.validateConstructionData(record);\n\nif (!validation.isValid) {\n  throw new Error(validation.errors.join(', '));\n}\n\nconst result = await service.processBatch([record], 'UPSERT', async incoming => {\n  // Optional: look up existing record for UPSERT\n  return null;\n});\n```\n\n## API Surface\n\n- `normalizeConstructionRecord(rawData, mapping, sourceId): CollectedRecord`\n- `validateConstructionData(record): ValidationResult`\n- `mergeRecords(existing, incoming, strategy): { record, action }`\n- `processBatch(records, strategy, existingLookup?): Promise<MergeResult>`\n\n## Integration with construction-data\n\nThis package is designed to back the `pages/api/collected/index.ts` route in the construction-data app:\n\n- After connectors fetch raw data, use `@bernierllc/data-transformer` + this service to normalize records\n- Use `processBatch` to apply merge strategies before persisting data\n\nSee the construction-data project plans:\n\n- `plans/package-requests.md`\n- `plans/bernierllc-packages-migration.md`\n- `plans/packages-integration-plan.md`\n\nfor the original requirements this package implements.\n\n\n","readmeFilename":"README.md"}